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

上传人:b****8 文档编号:30679632 上传时间:2023-08-19 格式:DOCX 页数:12 大小:109.03KB
下载 相关 举报
学生选课系统的数据库设计与实现.docx_第1页
第1页 / 共12页
学生选课系统的数据库设计与实现.docx_第2页
第2页 / 共12页
学生选课系统的数据库设计与实现.docx_第3页
第3页 / 共12页
学生选课系统的数据库设计与实现.docx_第4页
第4页 / 共12页
学生选课系统的数据库设计与实现.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

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

《学生选课系统的数据库设计与实现.docx》由会员分享,可在线阅读,更多相关《学生选课系统的数据库设计与实现.docx(12页珍藏版)》请在冰豆网上搜索。

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

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

 

数据库系统概论

实验报告

 

学号:

姓名:

提交日期:

2010-12-15

成绩:

 

 

【实验名称】

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

【实验内容】

1、熟悉数据库设计方法;

2、熟悉E-R图到关系模式的转换;

3、掌握SQLServer2005数据库的创建SQL语句,理解数据库文件组、文件逻辑名和物理名称的具体含义;

4、掌握SQLServer2005中用SQL语句建立数据库表,设置数据库完整性约束;

5、掌握用SQLServer2005建立表的关系图,清楚的表示各表之间的联系。

【实验步骤】

一、数据库的逻辑设计

(一)班级、学生、课程实体类型及联系型的ER图

(二)班级实体的分ER图

图(三)课程实体的分ER图

图(四)学生实体的ER图

将上述的E-R图转换为关系模型,关系的主键用下横线标出。

学生(学号,姓名,性别,年龄,班级号)

课程(课程号,课程名,课时,学分)

班级(班级号,班级名,人数,专业)

选课(课程号学号,成绩)

二、数据库的物理设计

1.建表语句:

本数据库共创建了四张表,其建表语句如下

1.班级表

createtableclass

(classNointnotnullprimarykey,

classNamechar(20),

sdeptchar(20),

numberint)

2.学生表

createtablestudent

(studentNointnotnullprimarykey,

studentNamechar(20),

sexchar(20),

ageint,

classNoint)

3.课程表

createtablecourse

(courseNointnotnullprimarykey,

courseNamechar(20),

gradeint)

4.选课表

createtablechoice

(studentNoint,

courseNoint。

resultint,

primarykey(studentNo,courseNo))

2.说明外码语句

altertablechoice

addforeignkey(studentNo)referencesstudent(studentNo),

foreignkey(courseNo)referencescourse(courseNo)

altertablestudent

addforeignkey(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)

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.选择输出学号、姓名满足性别为女,年龄小于25

selectstudentNo,studentName

fromstudent

wheresex='f'andage<25

5.创建视图

创建视图:

选择班级人数>50的班级输出其班级号和人数

createviewNum

as

selectclassNo,number

fromclass

wherenumber>50

查询语句

select*fromNum

6.插入数据

插入数据:

插入student表中一个学生,学生名为newstudent,性别为女,年龄34,班级号为40806

insertstudentvalues(100011,'newstudent','f',24,40806)

三、利用SQLServer2005的ManagementStudio来创建表的关系图,创建好的关系图如下所示:

 

 

四.实验体会

通过这次实验,让我对sqlserver2005的使用更加熟悉了,同时也加深了我对课本上数据库知识的理解,这次实验可以说是我第一次完成的一个整体的数据库实验。

此次实验中,我完成了从概念设计到逻辑设计,也就是完成了ER图的设计并完成了向关系模型的转换,完成了数据库的建立、表的建立、视图的创建,最后还完成了表之间的关系图。

一个数据库的创建首先要对客户的需求进行充分的分析,找出创建数据库所需的实体和实体间的关系画出E-R图,确定要创建的表的数量和每张表的属性、主键和外键。

在动手实验的过程中我遇到很多困难,比如如何删除表中的数据但不保留到日志文件中,数据的不普遍性所造成的查询等操作的空表等等,但是正是这些问题才让我学到了更多,同时也享受到了解决问题后的喜悦。

更重要的是,我对数据库产生了浓厚的兴趣,相信以后会把学到的东西应用到实践中去的。

五.附录(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))

altertablechoice

addforeignkey(studentNo)referencesstudent(studentNo),

foreignkey(courseNo)referencescourse(courseNo)

altertablestudent

addforeignkey(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

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)

 

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)

 

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)

select*fromstudent

select*fromchoice

select*fromclass

select*fromcourse

 

selectstudentNo,studentName

fromstudent

wheresex='f'andage<25

createviewNum

as

selectclassNo,number

fromclass

wherenumber>50

select*fromNum

select*fromstudent

insertstudentvalues(100011,'newstudent','f',24,40806)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1