当前位置:文档之家› 广工工业大学数据库实验指导及报告

广工工业大学数据库实验指导及报告

编号:2012版《数据库原理及应用》实验报告实验时间:2011-2012春季实验班级:自动化电气09级班实验报告总份(片)数:份(片)实验教师:鲍芳实验中心508 实验室广东工业大学实验报告(范本,非设计性实验)要求采用学校的实验报告书(16开)。

如打印也应采用实验报告书的版头(A4纸),不接受电子版!每份实验报告必须包含以下5项:一、实验目的与要求(按实验指导书“实验目的”填写)二、实验方案(按实验指导书“实验步骤”及本文档的实验内容要求填写)三、实验结果和数据处理(按实验操作结果记录填写)四、结论(可根据实验内容给出所对应数据库理论要点)五、问题与讨论(可回答思考题或实验中遇到的问题及解决方法)若在报告中描述你在实验中遇到的问题及解决方案,将有机会获得额外加分!广东工业大学实验报告____自动化______学院__11电气___专业__2__班成绩评定_______学号_3111001262_姓名_张锦淇_(合作者____号___ 教师签名_______实验一题目数据库系统设计第___周星期___第___节一、实验目的与要求掌握数据库的基本设计技术,熟悉数据库概念模型设计的每个任务步骤,并加深对关系数据库概念和特点的理解。

要求学生根据周围的实际情况自选一个小型的数据库应用项目并深入到应用项目的现实世界中进行系统分析和数据库设计,例如选择学生成绩管理系统、图书管理系统或仓库管理系统等。

学生成绩管理数据库的基本要求:1.能够记录学生的基本信息,包括学号、姓名、性别、出生日期及所属学院;2.能够记录课程的基本信息,包括课程号,课程名,先行课号;3.能够记录学生选课情况及选修课程的成绩;(学生成绩管理系统及图书管理系统数据库应用项目介绍可参见蔡延光《数据库原理及应用》第11章或苗雪兰《数据库原理及应用》第5章)。

二、实验方案利用数据库设计的5个步骤(识别实体、确定关系、列出属性、确定键及属性的域),对学生成绩管理系统(必选)、图书管理系统(可选)进行相关数据库的数据建模及设计。

●使用ChenERD或鸭脚模型表示所设计的概念模型;●给出各表的关系结构和表级约束;●给出各属性域的描述,包括物理描述和语义描述;三、实验结果和数据处理1.识别实体,确定关系:学生(学号、姓名、性别、出生日期、学院)课程(课程号、课程名、现行课号)选课(学号、课程号、成绩)说明:作为主键,学号必须存在学生表中、课程号必须存在课程表中。

2.列出属性及属性的域3.鸭脚模型课程4.关系结构和表级约束最大基数:学生与选课为M:N课程与选课为1:N最小基数:学生与选课为1-0关系课程与选课为1-0关系表级约束:1)性别只可以取‘‘男’’或‘‘女’’2)选课成绩依赖于课程号和学生号四、结论答:数据库不仅仅是保存数据,而且保存了数据之间的关系。

多表之间存在约束条件,由业务的规则设定,多表保证了信息的完整性,每个表都有自己的主键,表中的外键要参照完整性约束。

五、问题与讨论1.关系数据库中如何保存实体之间的关系?2.学生选课系统中属性学号、课程号及成绩采用哪种数据类型更好,数值型还是字符型?为什么?3.在所设计的数据模型中体现的业务规则是什么?1.答:通过表和表中放置外键来保存关联表之间的联系。

2.答:学号,课程号采用数值型的数据更好,可以防止学生在输入学号的时候出错。

3.答:体现出来的业务规则是:首先要有学生号和课程号,才能在选课表中生成一个记录(参照完整性约束)。

其次,一个学生可以选择多门课,也可以不选课;一门课可以被多个学生选择,也可以没有学生选择。

广东工业大学实验报告___自动化__学院_11电气__专业__2___班成绩评定_______学号_3111001262 姓名_张锦淇(合作者___号___)教师签名_______实验二题目数据库的定义实验第___周星期___第___节一、实验目的与要求要求熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server查询分析器接受SQL语句和进行结果分析。

二、实验方案1、在企业管理器中创建及打开数据库,在“新建数据库”时指明数据文件及事务日志的位置;2、在SQL Server查询分析器中用SQL语句实现以下各表:学生(学号,姓名,性别,出生日期,学院);课程(课程号,课程名,先行课号);选课(学号,课程号,成绩);3、建立库、表和表间的联系,选择合适的数据类型,定义必要的列级约束(包括性别约束和成绩约束)和表级约束。

创建数据库中的表后,在查询分析器的对象浏览器中可见该表及其所拥有的约束:学生:2课程:1选课:4三、实验结果和数据处理create table 学生( 学号char(20) primary key ,姓名varchar(20) ,性别char(20) check (性别in ('男' ,'女') ),出生日期smalldatetime,学院varchar(20))create table 课程(课程号char (20) primary key ,课程名char (20),先行课号char(20))create table 选课( 学号char (20) foreign key (学号) references 学生(学号) ,课程号char(20) foreign key (课程号) references 课程(课程号),成绩int check (成绩>=0 and 成绩<=100)constraint C1 primary key (学号, 课程号))四、结论SQL的数据库定义的功能包括定于数据库、基本表、视图和索引,SQL一般不提供修改试图定义及修改索引定义的操作。

在定义基本表的同时,还可以定义与该表相关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中。

五、问题与讨论1、举例说明创建外键的SQL语句中的参照表和被参照表各指什么?ON DELETE CASCADE 关键字对删除记录有何影响?答:学生表(学号,姓名)、成绩表(学号,成绩),这两个表在学号上建立外键关系的话,学生表是被参照表,成绩表是参照表。

ON DELETE CASCADE 是级联删除,如果删除学生表里的b学号的记录,那成绩表里所有学号为b的记录也会同时被删除。

2、描述实验中遇到的问题及解决方法在实验中,我create了一个table学生,但是没设定学号是主键等,需要修改表,可以通过alter 语法进行修改或者删除表再重新输入。

需要注意的是,学生表中学生姓名不需要用unique类型,因为用学号做主键,学生姓名可以重复,并且如果搜索姓名相同的不同学号的学生的记录时,是不成功的。

另外出生年月需要用smalldatetime类型而不用char类型。

广东工业大学实验报告_自动化_学院__11电气__专业__2___班成绩评定_______学号_3111001262_姓名_张锦淇(合作者____号____)教师签名_______实验三题目数据库的建立和维护实验第___周星期___第___节一、实验目的与要求要求熟练掌握和使用SQL、SQL Server企业管理器向数据库输入数据、修改数据和删除数据操作。

二、实验方案通过SQL Server企业管理器或查询分析器实现对学生成绩管理数据库的数据增加、数据删除和数据修改操作。

要求每个表的记录在10行以上,可根据查询要求增加或完善表中记录;输入数据检验各数据约束的限制;数据更改和数据删除时检验外码约束;三、实验结果和数据处理数据输入:insert into 学生(学号,姓名,性别,出生日期,学院) values ('001','王鹏亮','男', '19920301','自动化') insert into 学生(学号,姓名,性别,出生日期,学院) values ('002','苏晓伟','男', '19910120','自动化') .insert into 课程( 课程号,课程名,先行课号) values ('001','高等数学','1')insert into 课程( 课程号,课程名,先行课号) values ('002','大学英语','2')insert into 选课(学号,课程号,成绩) values ('001','001','88')insert into 选课(学号,课程号,成绩) values ('001','002','83')insert into 选课(学号,课程号,成绩) values ('001','003','75').学生表课程表选课表数据更新update选课set 成绩='93'where学号='001'数据删除Delete from选课where学号='001'检验各数据约束的限制insert into学生(学号,姓名,性别,出生日期,学院)values('011','王晓晓','男性', '19920301','自动化')insert into选课(学号,课程号,成绩)values('010','15','108')四、结论在输入数据时,数据必须按照前面所指定的数据类型进行输入,超出数据类型输入无效。

可以通过用插入数据指令来实现对表格数据的输入,还可以通过使用查询分析器来达到显示和修改数据的目的。

五、问题与讨论1、举例说明如何在输入数据时检验各数据约束的限制?比如一个学生信息表中,会有性别列,而且性别只能是男或者女,这时候就可以使用检查约束,检查输入的值是否为男或者女,如果不是这两个值则会报错!2、举例说明如何在数据更改和数据删除时检验外码约束?举例说明创建外键时有无ON DELETECASCADE 关键字对删除记录有何影响?如果输入学生信息时,输入性别不是‘男’或‘女’,按执行后,信息不能成功输入,系统会自动报错,这是因为外码约束的作用,性别的值只能是‘男’或者‘女’。

学生表(学号,姓名)、成绩表(学号,成绩),如果把学生表中的学号删除了,那么成绩表中的成绩也会删除。

相关主题