数据库与信息系统实验Word格式.docx

上传人:b****6 文档编号:18816571 上传时间:2023-01-01 格式:DOCX 页数:19 大小:761.35KB
下载 相关 举报
数据库与信息系统实验Word格式.docx_第1页
第1页 / 共19页
数据库与信息系统实验Word格式.docx_第2页
第2页 / 共19页
数据库与信息系统实验Word格式.docx_第3页
第3页 / 共19页
数据库与信息系统实验Word格式.docx_第4页
第4页 / 共19页
数据库与信息系统实验Word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数据库与信息系统实验Word格式.docx

《数据库与信息系统实验Word格式.docx》由会员分享,可在线阅读,更多相关《数据库与信息系统实验Word格式.docx(19页珍藏版)》请在冰豆网上搜索。

数据库与信息系统实验Word格式.docx

7)展开表右击dbo.Student,选择编辑前200行,输入以下数据

再新建查询输入语句

select*fromstudent

得到结果:

8)修改表可以按照

展开表右击dbo.Student,选择编辑前200行,改第一行数据

S060101******19880526***王东民男135***11杭州计算机信息学院160

改为:

S060101******19880526***黄星星男135***11随州电子信息信息学院160

由结果知道修改成功

9)删除表:

再新建一个Course表

在左边的资源管理器中右击Course表,选择删除

单击确定,Course表删除。

表的删除可以采用SQL语言:

DROPTABLECourse

运行程序后,数据表删除Course

10)表的建立也可采用SQL语言来建立

采用SQL语言建立学生基本资料表STUDENT、课程基本资料表COURSE、教师基本资料表TEACHER、开课计划表OFFERING、注册选课表ENROLLMENT

SQL语言:

CREATETABLEstudent(

学生学号CHAR(7)PRIMARYKEY,学生身份证号CHAR(18),学生姓名CHAR(10),学生性别CHAR

(2),

学生移动电话CHAR(11),学生来自的城市CHAR(10),学生主修专业CHAR(20),学生院系CHAR(20),

学生累计修满的学分INT,

CREATETABLEcourse(

课程编号CHAR(6)PRIMARYKEY,课程名称CHAR(20),所用教材名称CHAR(20),

编著者CHAR(10),出版社CHAR(20),书的出版号CHAR(30),书的定价MONEY)

CREATETABLEteacher(

教师编号CHAR(6)PRIMARYKEY,教师身份证号CHAR(18),教师姓名CHAR(6),教师性别CHAR

(2),

教师移动电话CHAR(11),教师来自的城市CHAR(10),教师所在院系CHAR(20),教师职称级别CHAR(10),

院系负责人CHAR(6)FOREIGNKEYREFERENCESteacher(教师编号))

CREATETABLEoffering(

开课计划编号CHAR(6)PRIMARYKEY,

课程编号CHAR(6)FOREIGNKEYREFERENCEScourse(课程编号),

教师编号CHAR(6)FOREIGNKEYREFERENCESteacher(教师编号),

开课地点CHAR(10),开课学年CHAR(9),开课学期CHAR

(1),开课周数INT,

开课时间CHAR(16),该课学分INT)

CREATETABLEenrollment(

学生学号CHAR(7)FOREIGNKEYREFERENCESstudent(学生学号),

开课计划编号CHAR(6)FOREIGNKEYREFERENCESoffering(开课计划编号),

考试成绩FLOAT,PRIMARYKEY(学生学号,开课计划编号))

11)再往表里面插入数据

最终得到表的所有内容为:

学生基本资料表STUDENT:

课程基本资料表COURSE:

教师基本资料表TEACHER:

开课计划表OFFERING:

注册选课表ENROLLMENT

实验二数据库表的查询

一、单表查询:

1)查询表STUDENT中“学生性别”为“女”或者“学生主修专业”为“电子信息”的学生全部信息

SQL代码:

SELECT*FROMstudent

WHERE学生性别='

女'

OR学生主修专业='

电子信息'

运行后结果如图:

2)查询表COURSE中“书的定价”为“NULL”的“课程名称”和“所用教材”,并按教材名称降序排列

SELECT课程名称,所用教材名称,书的定价FROMcourse

WHERE书的定价ISNULL

ORDERBY课程名称DESC

3)查询表TEACHER中教师中姓黄的老师的全部信息

SELECT*FROMteacher

WHERE教师姓名LIKE'

黄%'

4)查询表OFFERING中开课周数为18周且按教师编号分组排列,并按开课学年降序排列

SELECT*FROMoffering

WHERE开课周数=18

ORDERBY教师编号,开课学年DESC

5)查询表ENROLLMENT中“学生学号”为“S060101”学生的考试成绩不低于平均分的考试成绩

ELECT*FROMenrollment

WHERE考试成绩>

=(SELECTAVG(考试成绩)FROMenrollmentWHERE学生学号='

S060101'

AND学生学号='

执行代码

SELECTAVG(考试成绩)FROMenrollmentWHERE学生学号='

结果为:

对比enrollment表可知结果正确

二、多表查询:

1)查询“学生学号”为“S060101”学生的学号,学生的姓名,课程名称及对应的课程开课学年,考试成绩,并按学生单个人的信息排列,成绩降序排列

SELECTstudent.学生学号,student.学生姓名,course.课程名称,offering.开课学年,enrollment.考试成绩

FROMstudent,course,offering,enrollment

WHEREstudent.学生学号=enrollment.学生学号

ANDcourse.课程编号=offering.课程编号

ANDoffering.开课计划编号=enrollment.开课计划编号

ORDERBYstudent.学生学号,enrollment.考试成绩DESC

2)用内连接实现多表查询教师姓名,教师所在院系及对应的教授课程,和课程对应开课地点,开课学年,开课学期,开课周数,开课时间,程开课学年,并按老师所在院系降序排列和个人的信息排列,

SELECTteacher.教师姓名,teacher.教师所在院系,

course.课程名称,

offering.开课地点,offering.开课学年,offering.开课学期,

offering.开课周数,offering.开课时间

FROMoffering

INNERJOINcourse

ONoffering.课程编号=course.课程编号

INNERJOINteacher

ONoffering.教师编号=teacher.教师编号

ORDERBY教师所在院系DESC,教师姓名

3)多表实现查询与“黄星星”有关的所有信息

SELECT*

FROMstudent,course,teacher,offering,enrollment

WHEREstudent.学生姓名='

黄星星'

ANDstudent.学生学号=enrollment.学生学号

ANDoffering.教师编号=teacher.教师编号

三、扩展功能:

实现对设定表的记录的添加、修改等功能。

未修改之前结果如图:

SELECT*FROMstudent

1)记录的添加

添加学号,身份证号,姓名,性别,移动电话,来自城市,主修专业,院系,累计修满学分为

S060100******19880526***曾小贤男135***11上海电子信息信息学院160

INSERTINTOstudentVALUES('

S060100'

'

******19880526***'

曾小贤'

男'

'

135***11'

上海'

信息学院'

160'

运行之后结果如图:

2)记录的修改

将上述插入的数据中学生姓名“曾小贤”改为“张益达”

UPDATEstudent

SET学生姓名='

张益达'

WHERE学生姓名='

实验三数据库模型设计

一、教学管理系统的需求分析及主要任务

系统的开发的总体任务是实现教学系统的系统化、规范化、和自动化。

需求分析是在系统总体开发任务的基础上完成的,设计数据库系统时应该充分了解用户的各方面的需求,包括目前及将来可能的拓展需求态势。

因而数据库结构势必需在充分满足各种信息的输入和输出。

因此可归纳出学生信息系统所需完成的主体任务。

教学管理系统的主要任务如下:

⑴学生基本资料表,记录学生的一些基本信息,包括学生学号,学生身份证号,学生姓名,学生性别,学生移动电话,学生来自的城市,学生主修专业,学生所在院系,学生累计修满学分。

⑵课程基本资料表,记录课程的一些基本信息,包括课程编号,课程名称,课程所用教材,教材编著者,出版社,书的出版号。

⑶教师基本资料表,记录教师的一些基本信息,包括教师编号,教师身份证号,教师姓名,教师性别,教师移动电话,教师来自的城市,教师所在院系,教师职称级别,院系负责人。

⑷开课计划表,记录所开课程的一些基本信息,包括开课计划编号,课程编号,教师编号,开课地点,开课学年,开课学期,开课周数,开课时间,课的学分。

⑸注册选课表,记录学生所选课的一些基本信息,包括学生学号,开课计划编号,考试成绩)

二、教学管理数据库概念结构设计

概念设计就是E-R模型的分析与设计,它是整个数据库设计的关键。

下面使用实体联系图(E-R)模型来描述系统的概念结构,设计出满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。

这些实体包含各种具体的实际信息,通过相互之间的作用形成数据的流动。

本程序根据上面的设计规划出的实体有:

学生基本资料、课程基本资料、教师基本资料、开课计划、注册选课实体,它们的E-R图如下图所示。

三、教学管理数据库的逻辑结构设计

⑴学生基本资料表STUDENT(学生学号,学生身份证号,学生姓名,学生性别,学生移动电话,学生来自的城市,学生主修专业,学生所在院系,学生累计修满学分),PRIMARYKEY=学生学号。

⑵课程基本资料表COURSE(课程编号,课程名称,课程所用教材,教材编著者,出版社,书的出版号),PRIMARYKEY=课程编号。

⑶教师基本资料表TEACHER(教师编号,教师身份证号,教师姓名,教师性别,教师移动电话,教师来自的城市,教师所在院系,教师职称级别,院系负责人),PRIMARYKEY=教师编号,FOREIGNKEY=院系负责人(参考表为TEACHER)

⑷开课计划表OFFERING(开课计划编号,课程编号,教师编号,开课地点,开课学年,开课学期,开课周数,开课时间,课的学分),PRIMARYKEY=开课计划编号,FOREIGNKEY=课程编号(参考表为COURSE),FOREIGNKEY=教师编号(参考表为TEACHER)。

⑸注册选课表ENROLLMENT(学生学号,开课计划编号,考试成绩),PRIMARYKEY=(学生学号,开课计划编号),FOREIGNKEY=学生学号(参考表为STUDENT),FOREIGNKEY=开课计划编号(参考表为OFFERING)。

实验四数据库设计

一、数据库的物理结构设计

基于实验三的数据库概念结构和数据库的逻辑结构设计的结果,现在就可以实施将其转化为SQLServer2008数据库系统所支持的实际数据模型——数据表对象,并形成数据库中各个表格之间的关系。

教学管理系统数据库中各个表格的设计结果见表1-表5。

表1学生基本资料表STUDENT

列名(字段)

数据类型与长度

空否

说明

学生学号

char(7)

NotNull

主键

学生身份证号

char(18)

Null

学生姓名

char(10)

学生性别

char

(2)

学生移动电话

char(11)

学生来自的城市

学生主修专业

char(20)

学生院系

学生累计修满的学分

int

表2课程基本资料表COURSE

课程编号

char(6)

课程名称

所用教材名称

编著者

出版社

书的出版号

char(30)

书的定价

money

表3教师基本资料表TEACHER

教师编号

教师身份证号

教师姓名

教师性别

教师移动电话

教师来自的城市

教师所在院系

教师职称级别

院系负责人

外键(院系负责人)(参考表为TEACHER)

表4开课计划表OFFERING

开课计划编号

开课地点

开课学年

char(9)

开课学期

char

(1)

开课周数

开课时间

char(16)

该课学分

表5注册选课表ENROLLMENT

主键(学生学号,开课计划编号)

外键(学生学号)(参考表为STUDENT)

外键(开课计划编号)(参考表为OFFERING)

考试成绩

float

二、数据库的实现

经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。

现在就用SQLServer2008数据库系统中实现该逻辑结构。

利用数据库系统中的SQL查询分析器实现,具体语句如下:

(1)学生基本资料表STUDENT

(2)课程基本资料表COURSE

(3)教师基本资料表TEACHER

(4)开课计划表OFFERING

(5)注册选课表ENROLLMENT

二、教学管理系统数据库的关系图

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

当前位置:首页 > 经管营销

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

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