舰队管理系统分析与设计-舰队管理系统分析与设计(Oracle),功能需求,数据字典,软件工程

   

 

大型数据库技术项目

 

舰队管理系统分析与设计

 

             舰队管理系统

1

导弹巡洋舰

中国:无

美国:

护卫舰:

中国:

2. 舰艇信息管理

3. 兵官信息管理

4. 武器信息管理

同时在该四个系统中要分别进行插入,查询,修改等修改。

2.1 

(2) 一个舰队只能有一个舰队名称,一个舰队名称只能属于一个舰队;

(3) 一艘舰艇属于一支舰队;

(4) 一艘舰艇只能有一个舰艇编 ,一个舰艇编 只能属于一艘舰艇;

(5) 一艘舰艇可以安装多种武器;

(6) 一种武器可安装于多艘舰艇上;

(7) 一种武器只能有一个武器名称,一个武器名称只能属于一种武器;

(8) 一艘舰艇有多个官兵;

(9) 一个官兵只属于一艘舰艇;

(10) 一个官兵只有一个证 ,一个证 只属于一个官兵。

通过与用户的沟通,获得系统的数据存储需求如下:

舰队方面

舰队:舰队名称、基地地点、舰艇数量

舰艇:舰艇编 、舰艇名称、舰队名称、士兵数量、武器数量、舰艇功能

舰艇方面

舰艇:舰艇编 、舰艇名称、武器名称、士兵数量、武器数量、舰艇功能

武器:武器型 、武器名称、武器生产时间、武器功能、武器名称、武器价格

官兵:官兵证 、舰艇编 、官兵姓名、工资、家乡地、年龄、性别

3.1

数据项:舰艇数量

含义说明:舰艇的数量

别名:舰艇数

类型:数值型

长度:小数位数 

数据项:舰艇名称

含义说明:每艘舰艇的名称

别名:舰艇名

类型:字符型

长度:

数据项:武器生产时间

含义说明:每种武器的出厂日期

别名:武器出产日

类型:日期型

 

数据项:官兵证

含义说明:唯一标识每位官兵

别名:官兵

类型:字符型

 

3.2.2数据结构:

数据结构:舰队

含义说明:舰队管理系统的主体数据结构,定义一个舰队有关信息

组成:舰队名称、基地地点、舰艇数量

 

数据结构:舰艇

含义说明:舰队管理系统的主体数据结构,定义一个舰艇的有关信息

组成:舰艇编 、舰艇名称、舰队名称、士兵数量、武器数量、舰艇功能

 

数据结构:武器

含义说明:舰队管理系统的主体数据结构,定义一种武器的有关信息

组成:武器型 、武器名称、武器生产时间、武器功能、武器名称、武器价格

 

数据结构:官兵

含义说明:舰队管理系统的主体数据结构,定义一个官兵的有关信息

组成:官兵证 、舰艇编 、官兵姓名、工资、家乡地、年龄、性别

 

3.2.3数据流:

数据流:安装

说明:舰艇上安装武器

数据流去向:舰艇

组成:武器名称,舰艇编 ,安装时间

平均流量:……

高峰期流量:……

 

数据流:拥有

说明:舰队拥有舰艇的数量

数据流去向:舰队

组成:舰艇数量

平均流量:……

高峰期流量:……

 

数据流:属于

说明:舰艇上的官兵

数据流去向:舰艇

平均流量:……

高峰期流量:……

 

3.2.4数据存储:

数据存储:武器信息表

说明:记录武器的基本信息

流入数据流:……

流出数据流:舰艇

组成:武器型 、武器名称、武器生产时间、武器功能、武器名称、武器价格

数据量:……

存取方式:随机存取

 

数据存储:舰艇信息表

说明:记录舰艇的基本信息

流入数据流:……

流出数据流:舰队

组成:舰艇编 、舰艇名称、舰队名称、士兵数量、武器数量、舰艇功能

数据量:……

存取方式:随机存储

 

数据存储:官兵信息表

说明:记录官兵的基本信息

流入数据流:……

流出数据流:舰艇

组成:官兵证 、舰艇编 、官兵姓名、工资、家乡地、年龄、性别

数据量:……

存取方式:随机存取

 

数据存储:舰队信息表

说明:记录舰队基本信息

流入数据:舰艇

流出数据:……

组成:舰队名称、基地地点、舰艇数量

数据量:……

存取方式:随机存储

 

3.2.5处理过程:

处理过过程:武器对舰艇的安装

说明:为每艘舰艇安装武器

输入:舰艇编 、武器名称

输出:武器安装

处理:一种武器可安装于多艘舰艇上,一种武器只能有一个武器名称,一个武器名称只能属于一种武器。

 

处理过程:舰艇对官兵的分配

说明:为每艘舰艇分配官兵

输入:官兵证 、姓名、舰艇编

输出:舰艇名

处理:一艘舰艇有多个官兵,一个官兵只能属于一艘舰艇。

 

处理过程:舰队对舰艇的分配

说明:为每支舰队分配舰艇

输入:舰艇编 、舰队名称

输出:舰队名称

处理:一支舰队有多艘舰艇,一艘舰艇只能属于一支舰队

 

4CDM:

 

 

 

4.2舰队实体

4.3

4.6 

(2) 使用所选的

      2)

      4)

6)

8)

10) 

 

 

 

5.4数据库模式的定义

舰队基本信息表

列名

数据类型

可否为空

说明

FLEET_NAME

CHAR(30)

NOT NULL

舰队名

WARSHIP_COUNT

NUMBER(38)

 

舰艇数量

BASE

CHAR(40)

NOY NULL

基地

 

舰艇基本信息表

列名

数据类型

可否为空

说明

WARSHIP_NUM

CHAR(30)

NOT NULL

舰艇编

FLEET_NAME

CHAR(30)

 

舰队名

WARSHIP_NAME

CHAR(30)

NOT NULL

舰艇名

SOLDIERS_COUNT

NUMBER(38)

 

士兵数量

WEAPON_COUNT

NUMBER(38)

 

武器数量

WARSHIP_FUNCTION

CHAR(50)

NOT NULL

舰艇功能

士兵基本信息表

列名

数据类型

可否为空

说明

SOLDIER_NUM

CHAR(30)

NOT NULL 

士兵名

WARSHIP_NUM

CHAR(30)

 

舰艇编

SOLDIERS_NAME

CHAR(20)

NOT NULL

士兵名

SOLDIERS_SEX

CHAR(2)

 

士兵性别

SOLDIERS_AGE

NUMBER(38)

 

士兵年龄

SOLDIERS_HOME

CHAR(50)

 

家乡地

SOLDIERS_SAL

NUMBER(38)

 

工资

 

 

武器基本信息表

列名

数据类型

可否为空

说明

WEAPON_NUM

CHAR(30)

NOT NULL

武器编

WEAPON_NAME

CHAR(50)

NOT NULL

武器名

WEAPON_DATE

DATE

 

生存日期

WEAPON_FUNCTION

CHAR(50)

NOT NULL

武器功能

WEAPON_PRICE

NUMBER(38)

 

价格

 

 

安装信息表

列名

数据类型

可否为空

说明

WAESHIP_NUM

CHAR(30)

NOT NULL

舰艇编

WEAPON_NUM

CHAR(30)

NOT NULL

武器编

INSTALL_DATE

DATE

NOT NULL

安装日期

 

 

六、数据库物理设计

数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。

6.1数据库物理设计的步骤

(1) 确定数据库的物理结构,在关系数据库中的主要指存储方法和存储结构。

(2) 对物理就够进行评价,评价的重点是时间效率。

如果评价的结果满足原设计的要求,则可进入物理实施阶段,否则需重新设计或修改物理结构,有时甚至应返回逻辑设计阶段,修改数据模型。

关系数据库物理设计的内容:为关系模型选择存取方法(建立存取路径);设计关系,索引等数据库文件的物理存储结构。

 

6.2索引已创建。

 

查找当舰艇名为两栖攻击舰时的舰艇编 和舰艇功能,就可以很快速的得到以下信息:

 

 (2)

 

 

6.3确定数据库的存储结构

主要是指确定数据的存放位置和存储结构,包括关系,索引,聚簇,日志,备份等的存储安排和存储结构:确定系统的配置等。确定数据的存放位置和存储结构要综合考虑存取时间,空间,维护代价三方面,这三方面常常是相互矛盾的,如消除一切冗余数据虽能够节约存储时间和减少维护代价,但往往会导致检索代价的增加,因此必须进行权衡,选择一个折中的方案。

(1) 确定数据的存放位置:根据应用情况将数据的异变部分与稳定部分、经常存取部分与存取频率较低部分分开存放,以提高系统性能。例如,数据库数据备份、日志文件备等由于只在故障恢复时才使用,而且数据量很大,可以考虑存放在磁带上:如果计算机有多个磁盘,可以考虑将表和索引部分分别存放在不同的磁盘上,查询时由于两个磁盘在工作,因而可以保证物理读写速度比较快:可以将较大的表分别放在两个磁盘上,以加快存取速度,在多用户环境下特别有效:可以将日志文件与数据库对象(表和索引)放在不同的磁盘上以改进系统性能。

(2) 确定系统配置

2. 应用程序的编制与调试

7.2

(2) 数据库的安全性、完整性控制

(3) 数据库的监督、分析和改进

(4) 数据库的重组织和重构造

 

 

7.4创建表空间:

SQL>  create tablespace wqh_tablespace

  2   datafile ‘f:wqh_tablespace01.dbf’ size 100m

  3  extent management local

  4  segment space management auto;

表空间已创建。

 

为了防止在使用过程中表空间不足,则可以为它添加新的数据文件以增大表空间

已连接。

SQL> grant create view to wqh;

授权成功。

SQL> grant create synonym to wqh;

授权成功。

 

 

7.7创建用户配置文件:

创建一个名为

  2  sessions_per_user 5 connect_time 60

  3  idle_time 30 private_sga 100k

  4   cpu_per_call 100;

配置文件已创建

 

修改用户为用户指定概要文件:

SQL> alter user wqh profile res_profile;

用户已更改。

 

 

7.8从

(

   Fleet_name           char(30)                       not null,

   Warship_count        integer                        null,

   base                 char(40)                       not null,

   constraint PK_FLEET primary key (Fleet_name)

);

 

舰艇表:

create table Warship_ship 

(

   Warship_num          char(30)                       not null,

   Fleet_name           char(30)                       null,

   Warship_name         char(30)                       not null,

   Soldiers_count       numeric                        null,

   Weapon_count         numeric                        null,

   Warship_function     char(50)                       not null,

   constraint PK_WARSHIP_SHIP primary key (Warship_num)

);

为舰艇表添加Fleet_name外键

alter table Warship_ship

   add constraint FK_WARSHIP__HAVE_FLEET foreign key (Fleet_name)

      references Fleet (Fleet_name);

 

士兵表:

create table Soldiers 

(

   Soldier_num          char(30)                       not null,

   Warship_num          char(30)                       null,

   Soldiers_name        char(20)                       not null,

   Soldiers_sex         char(2)                        null,

   Soldiers_age         integer                        null,

   Soldiers_home        char(50)                       null,

   Soldiers_sal         numeric                        null,

   constraint PK_SOLDIERS primary key (Soldier_num)

);

为士兵表添加Warship_num外键

alter table Soldiers

   add constraint FK_SOLDIERS_BELONG_WARSHIP_ foreign key (Warship_num)

      references Warship_ship (Warship_num);

      

武器表:

create table Weapon 

(

   Weapon_num           char(30)                       not null,

   Weapon_name         char(50)                       not null,

   Weapon_date          date                           null,

   Weapon_function      char(50)                       not null,

   Weapon_price         numeric                        null,

   constraint PK_WEAPON primary key (Weapon_num)

);

 

安装表:

create table Install 

(

   Warship_num          char(30)                       not null,

   Weapon_num           char(30)                       not null,

   Install_date         date                           not null,

   constraint PK_INSTALL primary key (Warship_num, Weapon_num)

);

为安装表添加Weapon_num外键

alter table Install

   add constraint FK_INSTALL_IW_WEAPON foreign key (Weapon_num)

      references Weapon (Weapon_num);

      

为安装表添加Warship_num外键

alter table Install

   add constraint FK_INSTALL_WI_WARSHIP_ foreign key (Warship_num)

      references Warship_ship (Warship_num);

    

 

7.9在oracle数据库的wqh用户进行建表

如下:

创建舰队表

 

创建舰艇表:

 

 

为舰艇表添加

创建武器表:

 

 

 

创建安装表:

 

 

为安装表添加

 

 

 

7.10视图的创建

1. 创建一个视图,规定该视图中有士兵表中的士兵编 ,舰艇编 ,官兵姓名

 

 

 

2. 创建一个包含舰艇编 ,舰队名称,士兵数量,武器数量的视图。

 

 

 

 

3. 

From warship_ship,fleet

Where warship_ship.fleet_name=fleet.fleet_name;

 

查询结果如下:

 

4.创建一个视图,里面有信息:员工编 ,员工名

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年5月4日
下一篇 2015年5月5日

相关推荐