据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定.数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表.
(3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性.
(4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全.
(5) 数据字典设计:用数据字典描述数据库的设计,便于维护和修改.
为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:
规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论.关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构.这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了. 建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构.
根据上面的E-R图,建立六张数据库表,其结构如下所示:
表4.1 学生个人信息表
Tab. 4.1 Imformation of Student
字段名 数据类型 是否为空 说 明 number varchar(20) not null (主码) name varchar(20) not null sex varchar(5) not null 性别 age bigint not null 年龄 department varchar(50) not null 专业 college varchar(50) not null phone varchar(20) not null 电话 address varchar(50) not null 地址 inTime varchar(50) not null 入学时间 outTime varchar(50) not null 毕业时间 pass
word varchar(20) not null 密码
表4.2 教师个人信息表
Tab.4.2 Imformation of Teacher
字段名 数据类型 是否为空 说 明 number varchar(20) not null 职工号(主码) name varchar(20) not null sex varchar(5) not null 性别 age bigint not null 年龄 department varchar(50) not null 部门 post varchar(20) not null 职称 remark varchar(100) not null 备注 password varchar(20) not null 密码
表4.3 课程信息表
Tab.4.3 Imfomation of Course
字段名 数据类型 是否为空 说 明 number varchar(20) not null 课程号(主码) name varchar(20) not null 课程名 credit bigint not null 学分 teacher varchar(20) not null 授课老师 time varchar(50) not null 上课时间 address varchar(50) not null 上课地点 type varchar(50) not null 课程类型
表4.4 学生成绩表
Tab.4.4 Preformence of Students
字段名 数据类型 是否为空 说 明 snumber varchar(20) not null 学生(外码) cnumber varchar(20) not null 课程号(外码) year varcha