7. 物理设计和实施
得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要确定数据库的存储路径、存储结构以及如何建立索引等,可以采用系统的默认设置。数据库实施主要包括在具体的DBMS中创建数据库和表的过程,有关创建数据库和关系表的SQL语句如下所示:
通过转换的规则,得出了关系模式。为了提高数据的可修改性,完整性和一致性,采用了关系数据的方法,尽可能简化数据存储的数据结构。
对关系模式进行关系规范化后得出以下表及相关字段:
/*==============================================================*/
/* DBMS name: Sybase AS Anywhere 9 */
/* Created on: 2008-4-17 19:55:57 */
/*==============================================================*/
/*==============================================================*/
/* Table: chengjibiao */
/*==============================================================*/
create table chengjibiao
(
lilunchengji integer,
shangchechengji integer,
jiazhao integer,
xuhao integer not null,
constraint PK_CHENGJIBIAO primary key (xuhao)
);
/*==============================================================*/
/* Index: chengjibiao_PK */
/*==============================================================*/
create unique index chengjibiao_PK on chengjibiao (
xuhao ASC
);
/*==============================================================*/
/* Table: cizhi */
/*==============================================================*/
create table cizhi
(
zhiwu char(10),
cizhibianhao integer not null,
constraint PK_CIZHI primary key (cizhibianhao)
);
/*==============================================================*/
/* Index: cizhi_PK */
/*==============================================================*/
create unique index cizhi_PK on cizhi (
cizhibianhao ASC
);
/*==============================================================*/
/* Table: cizhishu */
/*==============================================================*/
create table cizhishu
(
yuangonghao integer not null,
cizhibianhao integer not null,
constraint PK_CIZHISHU primary key clustered (yuangonghao, cizhibianhao)
);
/*==============================================================*/
/* Index: cizhishu_PK */
/*==============================================================*/
create unique index cizhishu_PK on cizhishu (
yuangonghao ASC,
cizhibianhao ASC
);
/*==============================================================*/
/* Index: cizhishu_FK */
/*==============================================================*/
create index cizhishu_FK on cizhishu (
yuangonghao ASC
);
/*==============================================================*/
/* Index: cizhishu2_FK */
/*==============================================================*/
create index cizhishu2_FK on cizhishu (
cizhibianhao ASC
);
/*==============================================================*/
/* Table: feiyong */
/*==============================================================*/
create table feiyong
(
bukaofei integer,
baomingfei integer,
jiluhao integer not null,
constraint PK_FEIYONG primary key (jiluhao)
);
/*==============================================================*/
/* Index: feiyong_PK */
/*==============================================================*/
create unique index feiyong_PK on feiyong (
jiluhao ASC
);
/*==============================================================*/
/* Table: jianli */
/*==============================================================*/
create table jianli
(
yuangonghao integer not null,
qiuzhibianhao integer not null,
constraint PK_JIANLI primary key clustered (yuangonghao, qiuzhibianhao)
);
/*==============================================================*/
/* Index: jianli_PK */
/*==============================================================*/
create unique index jianli_PK on jianli (
yuangonghao ASC,
qiuzhibianhao ASC
);
/*==============================================================*/
/* Index: jianli_FK */
/*==============================================================*/
create index jianli_FK on jianli (
yuangonghao ASC
);
/*==============================================================*/
/* Index: jianli2_FK */
/*==============================================================*/
create index jianli2_FK on jianli (
qiuzhibianhao ASC
);
/*==============================================================*/
/* Table: "jiao 、lian" */
/*==============================================================*/
create table "jiao 、lian"
(
xuehao integer not null,
yuangonghao integer not null,
constraint "PK_JIAO 、LIAN" primary key clustered (xuehao, yuangonghao)
);
/*==============================================================*/
/* Index: "jiao 、lian_PK" */
/*==============================================================*/
create unique index "jiao 、lian_PK" on "jiao 、lian" (
xuehao ASC,
yuangonghao ASC
);
/*==============================================================*/
/* Index: "jiao 、lian_FK" */
/*==============================================================*/
create index "jiao 、lian_FK" on "jiao 、lian" (
xuehao ASC
);
/*==============================================================*/
/* Index: "jiao 、lian2_FK" */
/*==============================================================*/
create index "jiao 、lian2_FK" on "jiao 、lian" (
yuangonghao ASC
);
/*==============================================================*/
/* Table: jiaofei */
/*==============================================================*/
create table jiaofei
(
xuehao integer not null,
jiluhao integer not null,
constraint PK_JIAOFEI primary key clustered (xuehao, jiluhao)
);
/*==============================================================*/
/* Index: jiaofei_PK */
/*==============================================================*/
create unique index jiaofei_PK on jiaofei (
xuehao ASC,
jiluhao ASC
);
/*==============================================================*/
/* Index: jiaofei_FK */
/*==============================================================*/
create index jiaofei_FK on jiaofei (
xuehao ASC
);
/*==============================================================*/
/* Index: jiaofei2_FK */
/*==============================================================*/
create index jiaofei2_FK on jiaofei (
jiluhao ASC
);
/*==============================================================*/
/* Table: jiaolian */
/*==============================================================*/
create table jiaolian
(
name char(8),
yuangonghao integer not null,
jiazhaoxinghao char(2),
gongling integer,
zhigongzhiwu char(10),
zaizhiqingkuang char(10),
constraint PK_JIAOLIAN primary key (yuangonghao)
);
/*==============================================================*/
/* Index: jiaolian_PK */
/*==============================================================*/
create unique index jiaolian_PK on jiaolian (
yuangonghao ASC
);
/*==============================================================*/
/* Table: kaoshi */
/*==============================================================*/
create table kaoshi
(
xuehao integer not null,
xuhao integer not null,
constraint PK_KAOSHI primary key clustered (xuehao, xuhao)
);
/*==============================================================*/
/* Index: kaoshi_PK */
/*==============================================================*/
create unique index kaoshi_PK on kaoshi (
xuehao ASC,
xuhao ASC
);
/*==============================================================*/
/* Index: kaoshi_FK */
/*==============================================================*/
create index kaoshi_FK on kaoshi (
xuehao ASC
);
/*==============================================================*/
/* Index: kaoshi2_FK */
/*==============================================================*/
create index kaoshi2_FK on kaoshi (
xuhao ASC
);
/*==============================================================*/
/* Table: qiuzhi */
/*==============================================================*/
create table qiuzhi
(
qiuzhibianhao integer not null,
zhiwu1 char(10),
xueyuanchehaofenpei char(20),
constraint PK_QIUZHI primary key (qiuzhibianhao)
);
/*==============================================================*/
/* Index: qiuzhi_PK */
/*==============================================================*/
create unique index qiuzhi_PK on qiuzhi (
qiuzhibianhao ASC
);
/*==============================================================*/
/* Table: xueyuan */
/*==============================================================*/
create table xueyuan
(
xuehao integer not null,
danganhao integer,
xingming char(8),
peixunqishu integer,
shenqingchexing char(4),
constraint PK_XUEYUAN primary key (xuehao)
);
/*==============================================================*/
/* Index: xueyuan_PK */
/*==============================================================*/
create unique index xueyuan_PK on xueyuan (
xuehao ASC
);
|