一、需求分析
某学校设计学生成绩管理系统。
学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号、名称和类别,一个专业属于一个学院,一个学院可以有若干个专业。
学院信息要存储学院号、学院名、院长。
教学管理还要管理课程表和学生成绩。
课程表包括课程号、课程名、学分,每门课程由一个学院开设。
学生选修的每门课程获得一个成绩。
还要管理教师教学安排,教师包括编号、姓名、年龄、职称,一个教师只能属于一个学院,一名教师可以上若干门课程,一门课程可以有多名老师来上,每个教师所上的每门课都有一个课堂号和课时数。
二、概念设计
●首先确定系统中的实体
●再确定系统中实体间的关系
●转化成E-R图
图一学生成绩管理系统ER图
三、逻辑设计
由ER模型转换的关系模型是:
学生(学号,姓名,性别,生日,民族,籍贯,专业号,简历,登记照)
专业(专业号,专业,专业类别,学院号)
学院(学院号,学院,院长)
课程(课程号,课程名,学分,学院号)
成绩(学号,课程号,成绩)
教师(编号,姓名,年龄,职称)
授课(课堂号,课时,课程号,编号)
分析:本题中有学生、专业、学院、课程、教师五个实体。
一个学生只有一个主修专业,学生与专业有多对一的联系;一个专业只由一个学院开设,一门课程只由一个学院开设,学院与专业、学院与课程都是一对多的联系;学生与课程有多对多的联系;一个教师只能属于一个学院,教师与学院是多对一的关系,一名教师可以上若干门课程,一门课程可以有多名老师来上,教师和课程是多对多的关系。
在转换为关系模型时,一对多的联系都在相应的多方实体的关系中增加一个外键。
用SQL语言实现结果是:
CREATE TABLE 学生表(
学号 char(8) Primary Key,
姓名 char(8),
性别 char(2),
生日 datetime,
民族 char(6),
籍贯 char(20),
专业号 char(6),
年级 int,
简历 text,
照片 image
CONSTRAINT chk_sex(性别=‘男’or 性别=‘女’))
四、物理设计
基于SQL SERVER2000的数据库结构设计如下。
指定数据库文件的名称,并为设计好的关系模型设计表结构。
数据库文件保存在“E:\学生成绩管理\”文件夹中,数据库文件名:学生成绩管理.MDF。
表包括:学院、专业、学生、课程、成绩、教师等。
部分对应表结构如表1-1至表1-5所示。
表1-1 学院
表1-2 专业
表1-3 学生
表1-4 课程
表1-5 成绩。