将规范化以后的模型应用于物理设计。 4、根据局部应用的需要,设计用户外模式。
三、 物理设计: 1、 数据格式化:
根据逻辑设计的结果,得到适合SQL Server 2000的数据格式和类型。系统中具体的数据如下列表所示:
① Department: 列 名 Dno Dname DClassNumber Grademaster ② Class: 列 名 Clno Speciality Dno ③ Student: 列 名 Sno Sname Ssex Sbirthday Clno Splace Dno
④ Teacher: 列 名 Tno Tname Tsex TBirthday Tfunction ThomeTel 数据类型 Char(7) VarChar(20) Char(2) Datetime VarChar(30) Char(8) 约束 Primary key Not null In(‘男’,’女’),default(‘男’) ---- ---- Like ‘[0-9]’ 数据类型 Char(7) VarChar(20) Char(2) Datetime Char(7) VarChar(20) Char(7) 约束 Primary key Not null In(‘男’,’女’),default(‘男’) ---- Reference Class(Clno) ---- Primary key 数据类型 Char(7) VarChar(30) Char(7) 约束 Primary key Not null Reference Department(Dno) 数据类型 Char(7) VarChar(30) Smallint VarChar(30) 约束 Primary key Not null ---- Not null
⑤ Course: 列 名 Cno Cname Credit Ctime Ctype
⑥ Grade: 列 名 Sno Cno Gmark Credit ⑦ TC: 列 名 Tno Cno Clno 数据类型 Char(7) Char(2) Clno(7) 约束 Primary key,reference Teacher(Tno) Primary key,reference Course(Cno) Primary key,reference Class(Clno) 数据类型 Char(7) Char(2) Numeric(4,1) Smallint 约束 Primary key,reference Student(Sno) Primary key,reference Course(Cno) >=0 and <=100 ---- 数据类型 Char(2) VarChar(30) Smallint Integer Char(6) 约束 Primary key Not null ---- ---- In(’必修课’、’选修课’)、Default(’必修课’)
2、 表之间的联系:
III. 系统维护设计:
一、 安全性要求:
在这个系统中应该有三种用户:第一种是学生,这部分用户对系统中的数据只有查询的权限,没有任何修改的权限;第二种是教师。这部分用户对系统中的数据不仅有查询的权限,对有关其所涉及的课程的学生成绩还具有添加、修改、删除的功能;第三种用户是系统的管理员。他具有最高权限,可以对系统中的任何数据作任何操作。一般由学院的特定的人专门承担此任务。
二、 使用方式要求:
用户在可视化的环境中使用该系统,通过用户名和口令对用户的访问(及权限)进行限制。此系统平均应该能满足500人同时访问系统中的数据库,最高峰应能达到平均访问量得两倍。查询响应时间不应该对于3秒。
三、 可扩充性要求:
系统中的数据库可以随学院规模的变化进行动态的扩充或缩减。功能根据学院不同时期的不同要求做出适当的增删。
IV. SQL查询
一、 所有来自北京的男生: Select sname From student
Where ssex=’男’ and splace=’北京’;
二、 所有成绩>90的同学 Select Student.sno,sname From Student,Grade
Where Student.sno=Grade.sno And Grade.Gmark>90;
三、 教授数据库的老师 Select Teacher.Tno,Tname From Teacher,TC,Course Where Teacher.Tno=TC.Tno And TC.Cno=Course.Cno And Course.Cname=’DB’;
四、 03班年龄最大的5名同学
五、 某年以后出生的男同学
六、 选修某课程的学生及其成绩 七、 没有授课的教师 八、 某学生所选课程的总学分 九、 教授某学生必修课程的老师情况 十、 某学生选修了哪些系的课程 十一、 某系学生所学的所有课程
十二、 按总学分找出某系学习最好的5名同学 十三、 按总学分积找出某系学习最好的5名同学 十四、 可以毕业的学生
V. 参考文献
《数据库系统概论》高等教育出版社 王珊
《SQL Server 2000 上机实验指导》清华大学出版社 及其它相关参考书