
1.7 数据库设计的实例
以学生选课管理系统的数据库设计为例。其中对学生选课系统做了一定的简化,忽略了一些可能发生的异常情况,旨在重点阐述数据库设计步骤。
1. 基本需求分析
某学校需要开发一套学生选课管理系统。为了收集设计数据库需要的信息,设计人员通过交谈、填写调查表等方式对使用系统的相关人员进行了系统的需求调研,得出系统要实现的功能有:通过该系统学生可以查看所有选修课程的相关信息,包括课程名、学时、学分,然后选择选修的课程(一个学生可以选修多门课程,一门课程可以由多个学生选修);也可以查看相关授课老师的信息,包括教师姓名、性别、学历、职称。老师可以通过该系统查看选修自己课程的学生的信息,包括学号、姓名、性别、出生日期、班级(假定本校一个教师能教授多门课程,一门课程只能由一个教师任教)。在考试结束后,可以通过该系统录入学生的考试成绩,学生可以通过该系统查看自己的考试成绩。
2. 概念结构设计
(1)该系统中各实体以及实体的属性组成如图1.15所示。

图1.15 各实体的属性
(2)根据实体类型和联系画出局部E-R图如图1.16所示。

图1.16 各局部E-R图

图1.16 各局部E-R图(续)
(3)将各局部E-R图进行合并消除冗余后,形成基本E-R图,如图1.17所示。

图1.17 基本E-R图
3. 逻辑结构设计
由图1.17基本E-R图按规则转换、进行规范化处理并优化后的关系模式是:
学生(学号,姓名,性别,出生日期,班级);
教师(工号,姓名,性别,学历,职称);
课程(课程号,课程名,学时,学分,授课教师工号);
选课(学号,课程号,成绩)。
4. 数据库物理设计
通过以上步骤,结合SQL Server的特点,得到数据库物理结构设计,见本书4.2.4节。
数据库物理结构设计好后,即可在数据库系统中建立对应的库和表,填充一定的测试数据后就可以试运行应用程序,如无问题即可正式投入使用,后期只需做好更新和维护工作。