学生选课系统的数据库设计与实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数据库系统概论实验报告学号:姓名:提交日期:2010-12-15成绩:东北大学秦皇岛分校电子信息系第1页指导教师:李佳音【实验名称】学生选课系统的数据库设计与实现【实验内容】1、熟悉数据库设计方法;2、熟悉E-R图到关系模式的转换;3、掌握SQLServer2005数据库的创建SQL语句,理解数据库文件组、文件逻辑名和物理名称的具体含义;4、掌握SQLServer2005中用SQL语句建立数据库表,设置数据库完整性约束;5、掌握用SQLServer2005建立表的关系图,清楚的表示各表之间的联系。【实验步骤】一、数据库的逻辑设计图(一)班级、学生、课程实体类型及联系型的ER图图(二)班级实体的分ER图图(三)课程实体的分ER图东北大学秦皇岛分校电子信息系第2页指导教师:李佳音图(四)学生实体的ER图将上述的E-R图转换为关系模型,关系的主键用下横线标出。学生(学号,姓名,性别,年龄,班级号)课程(课程号,课程名,课时,学分)班级(班级号,班级名,人数,专业)选课(课程号学号,成绩)二、数据库的物理设计1.建表语句:本数据库共创建了四张表,其建表语句如下1.班级表createtableclass(classNointnotnullprimarykey,classNamechar(20),sdeptchar(20),numberint)东北大学秦皇岛分校电子信息系第3页指导教师:李佳音2.学生表createtablestudent(studentNointnotnullprimarykey,studentNamechar(20),sexchar(20),ageint,classNoint)3.课程表createtablecourse(courseNointnotnullprimarykey,courseNamechar(20),gradeint)4.选课表createtablechoice(studentNoint,courseNoint。resultint,primarykey(studentNo,courseNo))2.说明外码语句altertablechoiceaddforeignkey(studentNo)referencesstudent(studentNo),foreignkey(courseNo)referencescourse(courseNo)altertablestudentaddforeignkey(classNo)referencesclass(classNo)3.记录插入语句:(1)class表:insertclassvalues(40801,'yyy','os',35)insertclassvalues(40802,'xx','ad',45)insertclassvalues(40803,'rr','cs',36)insertclassvalues(40804,'yy','os',35)insertclassvalues(40805,'ee','ry',78)insertclassvalues(40806,'yyy','os',35)insertclassvalues(40807,'xg','ad',45)insertclassvalues(40808,'ry','cs',36)insertclassvalues(40809,'yd','os',65)东北大学秦皇岛分校电子信息系第4页指导教师:李佳音insertclassvalues(408010,'eg','ry',48)(2)student表:insertstudentvalues(10001,'aa','f',23,40801)insertstudentvalues(10002,'df','f',23,40802)insertstudentvalues(10003,'adf','f',22,40802)insertstudentvalues(10004,'gh','m',23,40803)insertstudentvalues(10005,'dc','f',24,40804)insertstudentvalues(10006,'sd','m',23,40802)insertstudentvalues(10007,'dfc','f',23,40803)insertstudentvalues(10008,'xc','m',25,40805)insertstudentvalues(10009,'sd','f',23,40806)insertstudentvalues(100010,'cv','f',27,40806)(3)course表:insertcoursevalues(1,'operating',48,8)insertcoursevalues(2,'computer',24,4)insertcoursevalues(3,'music',56,12)insertcoursevalues(4,'compile',48,8)insertcoursevalues(5,'oracle',32,6)insertcoursevalues(6,'sql',48,8)(4)choice表:insertchoicevalues(10001,1,80)insertchoicevalues(10001,2,85)insertchoicevalues(10002,3,86)insertchoicevalues(10002,5,45)insertchoicevalues(10003,1,80)insertchoicevalues(10004,2,87)insertchoicevalues(10004,6,89)insertchoicevalues(10005,1,90)insertchoicevalues(10005,4,100)insertchoicevalues(10006,1,60)insertchoicevalues(10006,3,49)insertchoicevalues(10007,5,70)insertchoicevalues(10008,1,70)insertchoicevalues(10008,6,78)insertchoicevalues(10009,2,80)insertchoicevalues(100010,3,78)insertchoicevalues(100010,1,80)insertchoicevalues(100010,2,78)insertchoicevalues(100010,4,89)insertchoicevalues(100010,5,45)4、查询记录:1.选择输出学号、姓名满足性别为女,年龄小于25selectstudentNo,studentNamefromstudent东北大学秦皇岛分校电子信息系第5页指导教师:李佳音wheresex='f'andage255.创建视图创建视图:选择班级人数50的班级输出其班级号和人数createviewNumasselectclassNo,numberfromclasswherenumber50查询语句select*fromNum6.插入数据插入数据:插入student表中一个学生,学生名为newstudent,性别为女,年龄34,班级号为40806insertstudentvalues(100011,'newstudent','f',24,40806)东北大学秦皇岛分校电子信息系第6页指导教师:李佳音三、利用SQLServer2005的ManagementStudio来创建表的关系图,创建好的关系图如下所示:东北大学秦皇岛分校电子信息系第7页指导教师:李佳音四.实验体会通过这次实验,让我对sqlserver2005的使用更加熟悉了,同时也加深了我对课本上数据库知识的理解,这次实验可以说是我第一次完成的一个整体的数据库实验。此次实验中,我完成了从概念设计到逻辑设计,也就是完成了ER图的设计并完成了向关系模型的转换,完成了数据库的建立、表的建立、视图的创建,最后还完成了表之间的关系图。一个数据库的创建首先要对客户的需求进行充分的分析,找出创建数据库所需的实体和实体间的关系画出E-R图,确定要创建的表的数量和每张表的属性、主键和外键。在动手实验的过程中我遇到很多困难,比如如何删除表中的数据但不保留到日志文件中,数据的不普遍性所造成的查询等操作的空表等等,但是正是这些问题才让我学到了更多,同时也享受到了解决问题后的喜悦。更重要的是,我对数据库产生了浓厚的兴趣,相信以后会把学到的东西应用到实践中去的。东北大学秦皇岛分校电子信息系第8页指导教师:李佳音五.附录(SQL语句)--班级表createtableclass(classNointnotnullprimarykey,classNamechar(20),sdeptchar(20),numberint)----学生表createtablestudent(studentNointnotnullprimarykey,studentNamechar(20),sexchar(20),ageint,classNoint)createtablecourse(courseNointnotnullprimarykey,courseNamechar(20),courseTimeint,gradeint)createtablechoice(studentNoint,courseNoint,resultint,primarykey(studentNo,courseNo))altertablechoiceaddforeignkey(studentNo)referencesstudent(studentNo),foreignkey(courseNo)referencescourse(courseNo)altertablestudentaddforeignkey(classNo)referencesclass(classNo)insertclassvalues(40801,'yyy','os',35)insertclassvalues(40802,'xx','ad',45)insertclassvalues(40803,'rr','cs',36)insertclassvalues(40804,'yy','os',35)insertclassvalues(40805,'ee','ry',78)insertclassvalues(40806,'yyy','os',35)insertclassvalues(40807,'xg','ad',45)insertclassvalues(40808,'ry','cs',36)insertclassvalues(40809,'yd','os',65)insertclassvalues(408010,'eg','ry',48)select*fromstudent东北大学秦皇岛分校电子信息系第9页指导教师:李佳音insertstudentvalues(10001,'aa','f',23,40801)insertstudentvalues(10002,'df','f',23,40802)insertstudentvalues(10003,'adf','f',22,40802)insertstudentvalues(10004,'gh','m',23,40803)insertstudentvalues(10005,'dc','f',24,40804)insertstudentvalues(10006,'sd','m',23,40802)insertstudentvalues(10007,'dfc','f',23,40803)insertstudentvalues(10008,'xc','m',25,40805)insertstudentvalues(10009,'sd','f',23,40806)insertstudent

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功