当前位置:文档之家› 数据库与信息系统实验

数据库与信息系统实验

目录实验一数据库表的创建 (1)实验二数据库表的查询 (7)实验三数据库模型设计 (12)实验四数据库设计 (15)实验一数据库表的创建1)启动SQL Server2008, “SQL Server Manange ment Studio”2)单击链接(C)打开“SQL Server Manange ment Studio”窗口,并在左边的目录树结构中选择“数据库”文件夹。

3) 单击右键,选择“新建数据库”命令,打开“新建数据库” 对话框,在“数据库名称”框内输入名称“教学管理系统”,注意数据文件和日志文件的属性设置4) 单击“确定”按钮,完成“教学管理系统”数据库的创建。

5)在左边的目录树中展开“数据库”下刚才创建的“教学管理系统” 文件夹,然后在“表”对象上单击右键,选择“新建表”,右边窗格中显示SQL Server 2008的表设计器。

学生学号char(7)学生身份证号char(18)学生姓名char(10)学生性别char(2)学生移动电话char(11)学生来自的城市char(10)学生主修专业char(20)学生院系char(20)学生累计修满的学分int6)设置主键在表设计器中选择“学生学号”,右击,选择“设置主键”,得到下图,主键设置成功7)展开表右击dbo.Student,选择编辑前200行,输入以下数据再新建查询输入语句select*from student得到结果:8)修改表可以按照展开表右击dbo.Student,选择编辑前200行,改第一行数据S060101 ******19880526*** 王东民男135***11 杭州计算机信息学院160改为:S060101 ******19880526*** 黄星星男135***11 随州电子信息信息学院160由结果知道修改成功9)删除表:再新建一个Course表在左边的资源管理器中右击Course表,选择删除单击确定,Course表删除。

表的删除可以采用SQL语言:DROP TABLE Course运行程序后,数据表删除Course10)表的建立也可采用SQL 语言来建立采用SQL语言建立学生基本资料表STUDENT、课程基本资料表COURSE、教师基本资料表TEACHER、开课计划表OFFERING、注册选课表ENROLLMENTSQL语言:CREATE TABLE student(学生学号CHAR(7)PRIMARY KEY,学生身份证号CHAR(18),学生姓名CHAR(10),学生性别CHAR(2),学生移动电话CHAR(11),学生来自的城市CHAR(10),学生主修专业CHAR(20),学生院系CHAR(20),学生累计修满的学分INT,)CREATE TABLE course(课程编号CHAR(6)PRIMARY KEY,课程名称CHAR(20),所用教材名称CHAR(20),编著者CHAR(10),出版社CHAR(20),书的出版号CHAR(30),书的定价MONEY)CREATE TABLE teacher(教师编号CHAR(6)PRIMARY KEY,教师身份证号CHAR(18),教师姓名CHAR(6),教师性别CHAR(2),教师移动电话CHAR(11),教师来自的城市CHAR(10),教师所在院系CHAR(20),教师职称级别CHAR(10),院系负责人CHAR(6)FOREIGN KEY REFERENCES teacher(教师编号))CREATE TABLE offering(开课计划编号CHAR(6)PRIMARY KEY,课程编号CHAR(6)FOREIGN KEY REFERENCES course(课程编号),教师编号CHAR(6)FOREIGN KEY REFERENCES teacher(教师编号),开课地点CHAR(10),开课学年CHAR(9),开课学期CHAR(1),开课周数INT,开课时间CHAR(16),该课学分INT)CREATE TABLE enrollment(学生学号CHAR(7)FOREIGN KEY REFERENCES student(学生学号),开课计划编号CHAR(6)FOREIGN KEY REFERENCES offering(开课计划编号),考试成绩FLOAT,PRIMARY KEY (学生学号,开课计划编号))11)再往表里面插入数据最终得到表的所有内容为:学生基本资料表STUDENT:课程基本资料表COURSE:教师基本资料表TEACHER:开课计划表OFFERING:注册选课表ENROLLMENT实验二数据库表的查询一、单表查询:1)查询表STUDENT中“学生性别”为“女”或者“学生主修专业”为“电子信息”的学生全部信息SQL 代码:SELECT*FROM studentWHERE学生性别='女'OR学生主修专业='电子信息'运行后结果如图:2)查询表COURSE中“书的定价”为“NULL”的“课程名称”和“所用教材”,并按教材名称降序排列SQL 代码:SELECT课程名称,所用教材名称,书的定价FROM courseWHERE书的定价IS NULLORDER BY课程名称DESC运行后结果如图:3)查询表TEACHER中教师中姓黄的老师的全部信息SQL 代码:SELECT*FROM teacherWHERE教师姓名LIKE'黄%'运行后结果如图:4)查询表OFFERING中开课周数为18周且按教师编号分组排列,并按开课学年降序排列SQL 代码:SELECT*FROM offeringWHERE开课周数= 18ORDER BY教师编号,开课学年DESC运行后结果如图:5)查询表ENROLLMENT中“学生学号”为“S060101”学生的考试成绩不低于平均分的考试成绩SQL 代码:ELECT*FROM enrollmentWHERE考试成绩>=(SELECT AVG(考试成绩)FROM enrollment WHERE学生学号='S060101')AND学生学号='S060101'运行后结果如图:执行代码SELECT AVG(考试成绩)FROM enrollment WHERE学生学号='S060101'结果为:对比enrollment表可知结果正确二、多表查询:1)查询“学生学号”为“S060101”学生的学号,学生的姓名,课程名称及对应的课程开课学年,考试成绩,并按学生单个人的信息排列,成绩降序排列SQL 代码:SELECT student.学生学号,student.学生姓名,course.课程名称,offering.开课学年,enrollment.考试成绩FROM student,course,offering,enrollmentWHERE student.学生学号=enrollment.学生学号AND course.课程编号=offering.课程编号AND offering.开课计划编号=enrollment.开课计划编号ORDER BY student.学生学号,enrollment.考试成绩DESC运行后结果如图:2)用内连接实现多表查询教师姓名,教师所在院系及对应的教授课程,和课程对应开课地点,开课学年,开课学期,开课周数,开课时间,程开课学年,并按老师所在院系降序排列和个人的信息排列,SQL 代码:SELECT teacher.教师姓名,teacher.教师所在院系,course.课程名称,offering.开课地点,offering.开课学年,offering.开课学期,offering.开课周数,offering.开课时间FROM offeringINNER JOIN courseON offering.课程编号=course.课程编号INNER JOIN teacherON offering.教师编号=teacher.教师编号ORDER BY教师所在院系DESC,教师姓名运行后结果如图:3)多表实现查询与“黄星星”有关的所有信息SQL 代码:SELECT*FROM student,course,teacher,offering,enrollment WHERE student.学生姓名='黄星星'AND student.学生学号=enrollment.学生学号AND course.课程编号=offering.课程编号AND offering.开课计划编号=enrollment.开课计划编号AND offering.教师编号=teacher.教师编号运行后结果如图:三、扩展功能:实现对设定表的记录的添加、修改等功能。

未修改之前结果如图:SELECT*FROM student1)记录的添加添加学号,身份证号,姓名,性别,移动电话,来自城市,主修专业,院系,累计修满学分为S060100 ******19880526*** 曾小贤男135***11 上海电子信息信息学院160SQL 代码:INSERT INTO student VALUES('S060100','******19880526***','曾小贤','男', '135***11','上海','电子信息','信息学院','160')运行之后结果如图:SELECT*FROM student2)记录的修改将上述插入的数据中学生姓名“曾小贤”改为“张益达”SQL 代码:UPDATE studentSET学生姓名='张益达'WHERE学生姓名='曾小贤'运行之后结果如图:SELECT*FROM student实验三数据库模型设计一、教学管理系统的需求分析及主要任务系统的开发的总体任务是实现教学系统的系统化、规范化、和自动化。

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

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

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

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

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

相关主题