数据库实验报告课程学生选课系统的数据库SQLSERVER包含ER图与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)course 表: insert course values(1,'operating',48,8) insert course values(2,'computer',24,4) insert course values(3,'music',56,12) insert course values(4,'compile',48,8) insert course values(5,'oracle',32,6) insert course values(6,'sql',48,8)
insert student values(100011,'newstudent','f',24,40806)
东北大学秦皇岛分校电子信息系
第5页
指导教师:李佳音
三、 利用 SQL Server 2005 的 Management Studio 来创建表的关系图,创建好的关系 图如下所示:
东北大学秦皇岛分校电子信息系
数据库系统概论
实验报告
ห้องสมุดไป่ตู้
学 号: 姓 名: 提交日期: 成 绩:
2010-12-15
【实验名称】
学生选课系统的数据库设计与实现
【实验内容】
1、熟悉数据库设计方法;
2、熟悉 E-R 图到关系模式的转换;
3、掌握 SQL Server 2005 数据库的创建 SQL 语句,理解数据库文件组、文件逻辑名和物理名称
foreign key (courseNo) references course(courseNo)
alter table student add foreign key (classNo) references class(classNo)
3.记录插入语句:
(1)class 表: insert class values (40801,'yyy','os',35) insert class values (40802,'xx','ad',45) insert class values (40803,'rr','cs',36) insert class values (40804,'yy','os',35) insert class values (40805,'ee','ry',78) insert class values (40806,'yyy','os',35) insert class values (40807,'xg','ad',45) insert class values (40808,'ry','cs',36) insert class values (40809,'yd','os',65)
图(三)课程实体的分 ER 图
东北大学秦皇岛分校电子信息系
第1页
指导教师:李佳音
图(四)学生实体的 ER 图
将上述的 E-R 图转换为关系模型,关系的主键用下横线标出。
学生(学号,姓名,性别,年龄,班级号) 课程(课程号,课程名,课时 ,学分) 班级(班级号,班级名,人数,专业) 选课(课程号学号,成绩)
insert class values (40801,'yyy','os',35) insert class values (40802,'xx','ad',45) insert class values (40803,'rr','cs',36) insert class values (40804,'yy','os',35) insert class values (40805,'ee','ry',78) insert class values (40806,'yyy','os',35) insert class values (40807,'xg','ad',45) insert class values (40808,'ry','cs',36) insert class values (40809,'yd','os',65) insert class values (408010,'eg','ry',48)
alter table choice add foreign key (studentNo) references student(studentNo),
foreign key (courseNo) references course(courseNo)
alter table student add foreign key (classNo) references class(classNo)
4.选课表
create table choice (studentNo int, courseNo int。 result int, primary key(studentNo,courseNo))
2.说明外码语句
alter table choice add foreign key (studentNo) references student(studentNo),
二、 数据库的物理设计
1. 建表语句:
本数据库共创建了四张表,其建表语句如下
1.班级表 create table class (classNo int not null primary key,
className char(20), sdept char(20), number int)
东北大学秦皇岛分校电子信息系
create view Num as select classNo,number from class where number>50
查询语句 select * from Num
6.插入数据
插入数据:插入 student 表中一个学生,学生名为 newstudent,性别为女,年龄 34,班级号为 40806
(4)choice 表: insert choice values(10001,1,80) insert choice values(10001,2,85) insert choice values(10002,3,86) insert choice values(10002,5,45) insert choice values(10003,1,80) insert choice values(10004,2,87) insert choice values(10004,6,89) insert choice values(10005,1,90) insert choice values(10005,4,100) insert choice values(10006,1,60) insert choice values(10006,3,49) insert choice values(10007,5,70) insert choice values(10008,1,70) insert choice values(10008,6,78) insert choice values(10009,2,80) insert choice values(100010,3,78) insert choice values(100010,1,80) insert choice values(100010,2,78) insert choice values(100010,4,89) insert choice values(100010,5,45)
select * from student
东北大学秦皇岛分校电子信息系
第8页
指导教师:李佳音
第2页
指导教师:李佳音
2.学生表
create table student (studentNo int not null primary key, studentName char(20), sex char(20), age int, classNo int)
3.课程表
create table course (courseNo int not null primary key, courseName char(20), grade int)
在动手实验的过程中我遇到很多困难,比如如何删除表中的数据但不保留到日志文件中,数据的 不普遍性所造成的查询等操作的空表等等,但是正是这些问题才让我学到了更多,同时也享受到了解 决问题后的喜悦。更重要的是,我对数据库产生了浓厚的兴趣,相信以后会把学到的东西应用到实践 中去的。
东北大学秦皇岛分校电子信息系
4、查询记录: 1.选择输出学号、姓名满足性别为女,年龄小于 25
select studentNo,studentName
from student
东北大学秦皇岛分校电子信息系
第4页
指导教师:李佳音
where sex='f'and age<25
5.创建视图
创建视图 :选择班级人数>50 的班级输出其班级号和人数
东北大学秦皇岛分校电子信息系
第3页
指导教师:李佳音
insert class values (408010,'eg','ry',48) (2)student 表:
insert student values(10001,'aa','f',23,40801) insert student values(10002,'df','f',23,40802) insert student values(10003,'adf','f',22,40802) insert student values(10004,'gh','m',23,40803) insert student values(10005,'dc','f',24,40804) insert student values(10006,'sd','m',23,40802) insert student values(10007,'dfc','f',23,40803) insert student values(10008,'xc','m',25,40805) insert student values(10009,'sd','f',23,40806) insert student values(100010,'cv','f',27,40806)
第6页
指导教师:李佳音
四. 实验体会
通过这次实验,让我对 sql server2005 的使用更加熟悉了,同时也加深了我对课本上数据库 知识的理解,这次实验可以说是我第一次完成的一个整体的数据库实验。
此次实验中,我完成了从概念设计到逻辑设计,也就是完成了 ER 图的设计并完成了向关系模型 的转换,完成了数据库的建立、表的建立、视图的创建,最后还完成了表之间的关系图。一个数据库 的创建首先要对客户的需求进行充分的分析,找出创建数据库所需的实体和实体间的关系画出 E-R 图,确定要创建的表的数量和每张表的属性、主键和外键。
第7页
指导教师:李佳音
五. 附录(SQL 语句)
--班级表 create table class (classNo int not null primary key, className char(20), sdept char(20), number int)
----学生表 create table student (studentNo int not null primary key, studentName char(20), sex char(20), age int, classNo int)
的具体含义;
4、掌握 SQL Server 2005 中用 SQL 语句建立数据库表,设置数据库完整性约束;
5、掌握用 SQL Server 2005 建立表的关系图,清楚的表示各表之间的联系。
【实验步骤】
一、 数据库的逻辑设计
图(一)班级、学生、课程实体类型及联系型的 ER 图
图(二)班级实体的分 ER 图
create table course (courseNo int not null primary key, courseName char(20), courseTime int, grade int)
create table choice (studentNo int, courseNo int, result int, primary key(studentNo,courseNo))
相关文档
最新文档