文档库 最新最全的文档下载
当前位置:文档库 › 数据库设计实验7

数据库设计实验7

数据库设计实验7
数据库设计实验7

云南大学软件学院

实验报告

姓名:学号:班级:2012级软件工程日期:2015-6-28成绩:

实验三高级数据库设计

一实验任务

1. 事务的隔离级

2. 并行调度

3. 锁

严格两阶段锁协议能带来什么好处?会产生哪些弊端?

二实验环境

Sql server2008

三实验结果记录

Serializable:一个调度的执行必须等价于一个串行调度的结果。

语句不能读取已由其他事务修改但尚未提交的数据。

其他事务都不能在当前事务完成之前修改由当前事务读取的数据。

在当前事务完成之前,其他事务不能使用当前事务中任何语句读取的键值插入新行。

Repeatable read:只允许读取已提交的记录,并要求一个事务对同一记录的两次读取之间,其他事物不能对该记录进行更新。指定语句不能读取已由其他事务修改但尚未提交的行,并且指定,其他任何事务都不能在当前事务完成之前修改由当前事务读取的数据

Read committed:只允许读取已提交的记录,但不要求可重复读。

Read uncommitted:允许读取未提交的事务。

(1)给出T2返回的sal1与sal2所有可能的值的情况,如

果T2运行的隔离性级别为serializable; read committed; read uncommitted

解答:所有可能共有六种情况,设事务的各个操作为T1(t11,t12);T2(t21,t22)操作系列及对应的(sal1,sal2)如下:

(1)t11,t12,t21,t22(40,40)

(2)t11,t21,t12,t22(35,40)

(3)t11,t21,t22,t12(35,35)

(4)t21,t11,t12,t22(25,40)

(5)t21,t11,t22,t12(25,35)

(6)t21,t22,t11,t12(25,25)

(2) 给出T2返回的sal1与sal2所有可能的值的情况,如果

T2运行的隔离性级别为

Serializable Repeatable read read committed read

uncommitted

解答:所有可能共有六种情况,设事务的各个操作为T1(t11,t12);T2(t21,t22)操作系列及对应的(sal1,sal2)如下:

(1)t11,t12,t21,t22(100,100)

(2)t11,t21,t12,t22(90,100)

(3)t11,t21,t22,t12(100,90)

(4)t21,t11,t12,t22(25,100)

(5)t21,t11,t22,t12(25,45)

(6)t21,t22,t11,t12(25,25)

注:事务T1与事务T2的执行顺序为

(2)该调度的优先图为:

根据调度优先图可知该调度是冲突可串行化的

该调度的等价的串行调度

(3) 严格两阶段锁协议能带来什么好处?会产生哪些弊端?

两阶段封锁协议实现了事务集的串行化调度,但同时,一个事务的失败可能会引起一连串事务的回滚。遵守两段锁协议的事务还可能发生死锁。

四实验总结

加深了对理论知识的理解,对数据库事务调度和恢复有了更加深刻的认识。

指导教师签名:

实验五 数据库系统设计

实验五数据库系统设计(上机时间6课时) 班级:通信1411 学号:141003410114姓名:李楠 合作成员刘蕾 1.实验目的:理要求学生掌握数据库设计的基本技术。熟悉数据库设计的每个步骤中的任务和实施方法, 并加深对数据库系统概念和特点的理解。 2.实验内容: 学生可根据自己熟悉的信息自选一个小型的数据库应用项目,进行系统分析和数据库设计。例如选择选修课管理系统、学生住宿管理系统、图书管理系统、材料管理系统或仓库管理系统等。 3.实验要求: ●要求起草数据库设计的关键步骤内容,至少包括: ?需求分析:分析用户种类及各自的功能要求;涉及主要数据实体及内容。系统设计的任务及主 要目标等。 ?完成实体建模并画出E-R图 ?起草数据字典 ?描述将关系表规范化至第三范式3NF的过程 ?构建并描述实体与实体关系 ●查阅有关书籍,熟悉MS SQL Server 2005,运用Microsoft SQL Server Management Studio Express在 MS SQL Server 2005上创建数据库。 ●运用Microsoft SQL Server Management Studio Express在MS SQL Server 2005上创建数据库基本表, 得到SQL脚本源码。(可以编写SQL DDL语句脚本源码,然后执行脚本创建基本表;也可以在Studio 中可视化创建基本表然后导出SQL脚本)。SQL脚本源码以文件名EXP5-1.sql存储上传。 ●运用Microsoft SQL Server Management Studio Express在编写SQL脚本,实现需求分析中各种用户需 要的数据库记录添加、记录修改、记录查询功能并将SQL脚本源码以文件名EXP5-2.sql存储上传。 将相应操作结果以文件名EXP5-3.txt存储上传。 ●允许有2人以内的小组合作,组与组之间数据字典、表名、属性名完全雷同视同抄袭;同学之间实 验运行结果完全雷同视同抄袭。 4.实验报告内容: 1.需求分析过程 流程:学生到学生选课系统进行选修课程,查看选修课程的课程信息,选课的老师信息,以及所选的课程号。如果学生要选某个课程,则要查询这门课程的教学老师以及它是否已经被选满;如果学生要查询所选课程的选课成绩,则要查询这门的教学老师;如果学生需要重新选课,则要求先退选所选的课程。 功能:实现学生的选课,重新退订选课,查询课程成绩。 2.E-R图

sqlserver数据库综合实验报告格式

华北科技学院计算机系综合性实验 实验报告 课程名称数据库原理与应用 实验学期 2009 至 2010 学年第一学期学生所在系部管理系 年级三年级专业班级商务B071班 学生姓名李荣妹学号 4121 任课教师郭红 实验成绩 计算机系制

《数据库原理与应用》课程综合性实验报告

(3)建表如下图: 图书表的结构 读者表的结构罚款表的结构 借阅表的结构密码表的结构 输入数据:图书 读者 S只学生,t指老师,1指没有超期,0表示超期 借阅 罚款

密码: (4)、创建视图。以sa的身份登录数据库,创建视图V1,V2,V3 create VIEW V1 create VIEW V2 create VIEW V3 AS AS AS select * from 图书 select * from 借阅 select * from 罚款 建立视图V5,查看在库的图书:create view V5 as select *from 图书 where 借阅状态=‘在库’ 建立已被借出去的图书视图 create view V6 as

select * from 图书 where 借阅状态='出库' 建立逾期未还的图书的学生视图: create view V7 as select * from 借阅 where datediff(day,convert(smalldatetime,借出日期),getdate())>’30’ and 借书证号 in(select 借书证号 from 读者,借阅 Where 借阅.借书证号=读者.借书证号 and 读者类别=‘s’ 四、物理设计和自定义完整性 建立索引:为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是表中建立索引的表项: 图书表(图书编号,条形码号)读者(借书证号)借阅(借书证号,条形码号)罚款表(借书证号,条形码号)密码(借书证号) (2)建立触发器 a.对已有借书证的读者进行查询借书是否超期(这里归定30天): create trigger T1 on 读者 for insert as select 借阅.借书证号,读者.读者姓名,图书.图书编号,图书.书名,借阅.借出日期 from 读者,借阅,图书 where 读者.借书证号=借阅.借书证号 and 图书.条形码号=借阅.条形码号 and 读者类别='s' and Datediff(day,convert(smalldatetime,借出日期),getdate())>=30 b.建立触发器T2(还书时): create trigger T2 on 借阅 for insert as begin update 图书 set 借阅状态='在库' where 条形码号=(select 条形码号 from inserted) update 借阅 set 归还日期=getdate(); update 读者 set 书数=书数-1 where 借书证号=(select 借书证号 from inserted) end c.建立触发器T3(借书书时): create trigger T3 on 借阅 for insert as begin update 图书 set 借阅状态='入库' where 条形码号=(select 条形码号 from inserted) update 借阅 set 借出日期=getdate(); update 读者 set 书数=书数+1 where 借书证号=(select 借书证号 from inserted) end d.建立触发器T4,实现超出借书数目时禁借(针对老师的): create trigger T4 on 读者 for insert

数据库实验报告七

学院计算机学院/软件学院 实验报告 专业软件工程班级软件2班焕荣学号 2 课程名称数据库原理与设计 学年2016—2017 学期 1□/ 2课程类别专业必修限选□任选□实践□评分:批阅老师: 2017年月日 实验七查询优化 ●实验目的 1. 了解DBMS对查询优化的处理过程。 2. 增强查询优化的实践能力。 3. 进一步提高编写复杂查询的SQL脚本的能力。 4. 巩固和加深理解查询相关理论。 ●实验容 针对数据库ShiYan,完成以下查询优化操作。 (1)查询P表中各零件编号、名称及重量按86%计算后的信息,其中重量按86%计算后的查询列名改为“零件净重”。 要求: 1) 考虑表扫描的情况。 2) 考虑建立适当索引的情况。 3) 考虑重写SQL脚本的情况。 4) 用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。 5) 记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。 (2)查询没有使用供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号JNO。 要求: 1) 考虑表扫描的情况。 2) 考虑建立适当索引的情况。 3) 考虑重写SQL脚本的情况。 4) 用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和

客户统计信息。 5) 记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。 实验结果 (1) A.方法一:“表扫描” Sql语句如下: select PNO,PNAME,WEIGHT*0.86 零件净重 from P 实验结果截图:

B.方法二:“在P(PNO)上建立唯一索引” create unique index PNO_index on P(PNO) select PNO,PNAME,WEIGHT*0.86 零件净重 from P 实验结果截图: 由上可知,方法二相对最优。

《数据库系统设计与开发》模拟实习教学大纲

《数据库系统设计与开发》 模拟实习教学大纲 (Database System Design and Development) 制定单位:工学院计算机科学与技术系 制定人:课程组 编写时间:2016年01月06日

第一部分课程概述 一、基本信息 (一)课程代码 课程代码:07110640 (二)课程属性、学分、学时 计算机专业的专业模拟实习、独立实验、2学分、40学时 (三)适用对象 本课程适用的对象为计算机科学与技术专业的本科生 (四)先修课程与知识准备 《C/C++程序设计》,《数据库原理》,《.Net编程》,《软件工程》 二、实验简介 《数据库系统设计与开发》模拟实习以数据库应用系统的设计与开发为主要目标,结合本专业的多门专业课程:《程序设计》、《数据结构》、《数据库原理》、《面向对象程序设计》、《.Net编程》、《软件工程》等开展专业模拟实习。《数据库系统设计与开发》模拟实习将针对一个现有的数据库应用领域,遵照《软件工程》课程中的生命周期法和软件开发规范进行系统分析与设计,按照《数据库原理》中的关系规范化理论进行数据库的模式设计,并结合《.Net编程》所学基于C#语言及.Net集成开发环境进行系统编码与调试,完成一个小型数据库应用系统的开发任务。最后,通过提交实习报告,提高学生科技论文的撰写能力。通过这一完整的实践教学过程,将进一步加强学生实践和动手能力的培养,真正理解和掌握数据库系统设计和开发的方法,提高学习效果,使学生可以学以致用,成为具有专业技能并有一定实际经验的人才。

三、实验项目 实验一:系统需求分析(4学时) (一)实习(实验)类型 综合性实验。 (二)实习(实验)目的和要求 1.理解需求分析在软件工程应用中的重要性 2.熟悉数据库建模的方法 3.掌握如何将客户的实际需求转化为描述性设计语言 (三)实习(实验)内容 为将要开发的系统作出一份明确、详细的需求分析报告。需求分析报告至少应该包含以下几部分: 1.系统的名称; 2.系统概述; 3.系统要实现哪些功能,每个功能的具体描述。 (四)实习(实验)地点 竞秀楼或竞慧楼机房 实验二:系统设计(4学时) (一)实习(实验)类型 综合性实验。 (二)实习(实验)目的和要求 1.掌握SQL Server数据库管理软件的使用,学习CASE工具(Visio或SA2001)的使用,用信息系统开发工具(例如VS2008)设计一个实用的中小型管理信息系统2.掌握系统设计的基本方法,提高解决实际问题、开发信息系统的实践能力 (三)实习(实验)内容 用信息系统开发工具(例如VS2008)设计一个实用的中小型管理信息系统。 1.根据实验时间选择适当规模大小的设计课题 2.根据合理的进度安排,按照软件工程系统开发的流程及方法,进行实验 3.实验过程中,根据选题的具体需求,在开发各环节中撰写相关的技术文档,最后要

数据库原理及应用综合实验模版

数据库综合实验 题目:图书借阅管理系统 专业:计算机类班级: 姓名:学号: 指导教师:杨柯成绩: 完成日期:2016 年6月18 日

1.系统需求分析 图书借阅管理系统的具体要求如下所述: (1)图书信息的录入:要求能够将图书信息录入到数据库中。 (2)图书信息的修改:根据需要修改、删除图书信息。 (3)用户登录:根据用户权限登录此系统。 (4)系统用户管理:要求可以管理系统的用户,包括添加、修改和删除用户。 (5)借阅证件信息录入:可以输入不同类型的借阅者信息,并根据需要修改、删除借阅证信息。 (6)借阅证管理:包括借阅证丢失、过期等管理。 (7)借阅管理:包括借书、还书、过期还书与书籍丢失处罚等管理。 2.系统功能设计 图书借阅管理系统的功能基本结构图如图1所示: 图1 图书借阅管理系统功能结构图 (1)用户管理模块:主要用于录入用户的信息,显示用户名及类型,包括添加用户、删除用户、修改用户等功能。用户类型的设置使得只有超级用户才有权限访问此界面。 (2)重新登录模块:用于其他用户重新登录。 (3)图书分类管理模块:将图书分为二级分类进行管理,包括添加、删除、修改图书分

类等功能。 (4)图书基本信息管理模块:根据图书分类录入图书信息,对图书信息进行管理,其基本功能包括添加、删除、修改图书信息。 (5)借阅证件类型管理模块:用于管理借阅证件类型,根据借阅证件类型确定借阅图书的时间、续借时间、借阅图书的数目等,包括添加、删除、修改借阅证件类型信息等基本功能。 (6)借阅证件管理模块:根据借阅证件状态(有效、过期、挂失等)与证件类型对借阅证件信息进行管理,确定借阅者的单位、身份、借书天数、借书数目等信息,包括添加、删除、修改借阅证件信息等基本功能。 (7)图书借阅管理:为系统核心部分,他根据图书借阅状态(借阅、续借、过期)来管理图书的借阅操作,包括借阅、续借、归还、丢失图书等操作功能。 3.数据库概念结构设计 根据系统需求分析和功能设计,可以将数据规划为以下实体:图书实体、读者实体、借阅实体。它们之间的关系如图2所示: 图2 图书借阅管理系统E-R图 4.数据库逻辑结构设计 根据功能设计和E-R图,设计6个数据表如下: 表1 BookType 图书分类信息表

数据库上机实验7实验报告

上机实验七——视图的建立及操作 一、实习目的: 掌握创建、删除、和查询视图的方法,验证可更新视图和不可更新视图。 二、实习准备: 1.复习第三章3.6节视图 2. 完成习题三第16题中的各项操作的SQL语句。 3.了解可更新视图和不课更新视图 三、实习内容:验证习题三第16题中的各项操作的SQL语句。 ①建立01311班选修了1号课程的学生视图Stu_01311_1 CREATE VIEW Stu_01311_1 AS SELECT * FROM Grade WHERE Cno='1'AND Sno in( SELECT Sno FROM Student WHERE Clno='01311') WITH CHECK OPTION ②建立01311班选修了1号课程并且成绩不及格的学生视图Stu_01311_2 CREATE VIEW Stu_01311_2 AS SELECT * FROM Grade

WHERE Cno='1'AND Gmark<60 AND Sno in( SELECT Sno FROM Student WHERE Clno='01311') WITH CHECK OPTION ③建立视图Stu_year,由学生学号、姓名、出生年份组成 CREATE VIEW Stu_year AS SELECT Sno,Sname,year=2001-Sage FROM Student ④查询1990年以后出生的学生姓名 SELECT Sname FROM Student WHERE 2001-Sage<1990; ⑤查询01311班选修了1号课程并且成绩不及格的学生的学号、姓名、出生年份SELECT Sno,Sname,2014-Sage FROM Student WHERE Clno=01311 AND EXISTS(

数据库系统设计实验报告

数据库系统设计实验报告 ――教务管理系统 学院:计算机科学与技术 专业:软件工程 班级: 学号: 姓名: 指导老师:

一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:SQL Server 2008 二、需求分析 1、系统的概述 ?一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或 者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身 份证号、入学时间等属性。 ?每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这 个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置 有1个教务秘书,这些信息都由教务秘书进行输入。每个院系的课程都 有自己的唯一编码,比如计算机系上的C语言,和电子系上的C语言, 虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课 程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机 学院的07计算机科学专业都有C语言课程,这两门课程的课程代码是相 同的。 ?教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容 根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2 学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程 安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点 (理工楼234),有的课程是单周上,有的双周,也有是每周都上的。 ?在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择 的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能 给任何学生选择了。 ?学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户 名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多 个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考 试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。 ?为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而 是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成 绩表中。

数据库实验报告

数据库实验报告

武汉理工大学 学 生 实 验 报 告 书 实验课程名称 数据库系统概论 开 课 学 院 计算机科学与技术学院 指导老师姓名 学 生 姓 名 学生专业班级 学生学号 实验课成绩

2013 — 2014 学年第二学期实验课程名称:数据库系统概论 实验项目名称SQL SEVER 2000的系 统工具及用户管理 实验 成绩 实验者专业班 级 组别 同组者实验 日期 2014年4 月24日

第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000工具创建数据库、表、索引和修改表结构及向数据库输入数据、修改数据和删除数据的操作方法和步骤,掌握定义数据约束条件的操作。 二、实验基本原理与设计(包括实验方案设计,实 验手段的确定,试验步骤等,用硬件逻辑或者算法描述) 实验内容和步骤: (1)熟悉SQL SEVER 2000的界面和操作。 (2)创建数据库和查看数据库属性。 (3)创建表、确定表的主码和约束条件。 (4)查看和修改表的结构。 (5)向数据库输入数据,观察违反列级约束时出现的情况。 (6)修改数据。 (7)删除数据,观察违反表级约束时出现的情况。 三、主要仪器设备及耗材 Windows XP SQL SERVER 2000

第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录, 实验现象记录,实验过程发现的问题等) 没有错误 错误:未能建立与WORKEPLACE\XUMENGXING的链接SQL Server 不存在或访问被拒绝 原因:未启动数据库服务 二、实验结果及分析(包括结果描述、实验现象分 析、影响因素讨论、综合分析和结论等) 实验结果部分截图:

数据库实验3报告

实验三数据更新、视图、权限管理 实验3.1 数据更新 1 实验内容 (1) 使用INSERT INTO语句插入数据,包括插入一个元组或将子查询的结果插入到数据库中两种方式。 (2) 使用SELECT INTO语句,产生一个新表并插入数据。 (3) 使用UPDATE语句可以修改制定表中满足WHERE子句条件的元组,有三种修改的方式:修改某个元组的值;修改多个元组的值;带子查询的修改语句。 (4) 使用DELETE语句删除数据:删除某一个元组的值;删除多个元组的值;带子查询的删除语句。 2 实验步骤 在数据库School上按下列要求进行数据更新 可在SQL代码前加下面两句SQL语句,用于确保当前使用的是School数据库 Use School go (1)使用SQL语句向STUDENTS表中插入元组(编号:12345678 名字:LiMing EMAIL: LM@https://www.wendangku.net/doc/0116310776.html,年级:2002)。 Insert into STUDENTS values('12345678','LiMing','LM@https://www.wendangku.net/doc/0116310776.html,','2002') (2)对每个课程,求学生的选课人数和学生的最高成绩,并把结果存入数据库。使用SELECT INTO和INSERT INTO两种方法实现。 Insert into: create table Courses_maxScore(cid char(20),Count_courses int,maxScore int) insert into Courses_maxScore (cid,Count_courses,maxScore) select cid,count(*)as Count_courses,max(score)as maxScore from CHOICES group by cid select*from Courses_maxScore

数据库实验报告记录7

数据库实验报告记录7

————————————————————————————————作者:————————————————————————————————日期:

《数据库原理》实验报告 题目:实验七事务与并发控制学号姓名班级日期Xxxx Xx Xxx 2016.11.10 一. 实验内容、步骤以及结果 假设学校允许学生将银行卡和校园卡进行绑定,在 student 数据库中有如下的基本表,其中校园卡编号 cardid 即为学生的学号: icbc_card(studcardid,icbcid,balance) //校园卡 ID,工行卡 ID,银行卡余额 campus_card(studcardid,balance) //校园卡 ID,校园卡余额数据创建的代码:

1.编写一个事务处理(begin tran)实现如下的操作:某学号为20150032的学生要从银 行卡中转账200元到校园卡中,若中间出现故障则进行rollback。(15分) 修改后的结果: 2.针对本题的数据库和表,分别用具体的例子展现四种数据不一致问题:丢失修改、 读脏数据、不可重复读和幻读(删除和插入)。(40分,每种数据不一致10分) 丢失修改: --事务一: begin tran declare @balance decimal(10,2) select @balance=balance from campus_card where studcardid='20150033' waitfor delay'00:00:05' set @balance=@balance-10 update campus_card set balance=@balance where studcardid='20150033' commit tran go select balance from campus_card where studcardid='20150033'

数据库实验6数据库系统设计

实验报告 学院:计信学院专业:网络工程班级:091 姓名学号实验组实验时间2012-6-1 指导教师成绩实验项目名称实验六:数据库系统设计实 验目的 要求掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。 实 验 要 求 本实验属于设计型实验,通过实验,加强对课堂讲授知识的理解。 实验原理 必须按照数据库设计的四个阶段进行:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。概念模型设计时采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法;概念模型必须用E-R图进行表示。在逻辑设计阶段,将E-R图转换成关系模式,然后进行关系模式的规范化。在物理设计阶段,将关系模式转化成SQL Server中的具体的数据库表,并建立表间的关系,表的索引,及相关的约束。 实 验仪器(1)硬件条件:个人计算机。 (2)软件条件:Windows 2000NT Server; MS SQL Server 2000。 实验步骤1、完成系统需求分析报告 在系统需求分析报告中包括采用的设计方法、数据流图和数据字典。 2、完成数据库信息要求和关系数据模型设计 使用E-R图表示对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行

详细描述。详细描述系统需要的基本表及属性、视图和索引,对基本表的主码、候选码、外码及被参照表进行说明,对基本表中数据的约束条件进行说明。 3、完成数据库的操作和应用要求报告 在数据库的操作和应用要求报告中,详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能模块图。 4、在机器上完成整个数据库的设计。 实 验内容 要求根据周围的实际情况,自选一个自己熟悉的小型数据库应用项目,并深入到应用项目的现实世界中,进行系统分析和数据库设计。例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统等。 实验数据我设计的是车站售票管理系统,主要用于车站日常的票务处理。 一、需求分析 车站售票管理系统 员工 管理 模块 汽车 管理 模块 线路 管理 模块 车票 管理 模块 票务 信息 管理 模块 员 工 信 息 添 加 员 工 信 息 删 除 员 工 信 息 修 改 汽 车 信 息 添 加 汽 车 信 息 修 改 汽 车 信 息 删 除 线 路 信 息 添 加 线 路 信 息 修 改 线 路 信 息 删 除 添 加 车 票 删 除 车 票 查 询 车 票 信 息 购 买 / 预 订 车 票员 工 信 息 查 询 汽 车 信 息 查 询 线 路 信 息 查 询 车 票 信 息 查 询 功能模块图 1.员工管理模块: 员工有两种身份,售票员和系统管理员。系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。 2.线路信息管理模块:

数据库综合实验报告(学生成绩管理系统)

数据库综合实验报告 班级:计科*** 班 学号: **** 姓名: *** 2011年12月

数据库应用系统的初步开发 一、实验类别:综合型实验 二、实验目的 1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。 2.初步掌握基于C/S 的数据库应用系统分析、设计和实现方法。 3.进一步提高学生的知识综合运用能力。 三、实验内容 在SQL Server2000数据库管理系统上,利用 Microsoft Visual C++ 6.0开发工具开发一个学生成绩管理系统的数据库应用系统。 四、实验过程 (一.)系统需求说明 1 系统功能要求设计:此系统实现如下系统功能: (1)使得学生的成绩管理工作更加清晰、条理化、自动化。 (2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。 容易地完成学生信息的查询操作。 (3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。 2 系统模块设计 成绩管理系统大体可以分成二大模块如, 一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图: 登陆失败 退出系统 用户 验证 登陆成功

3 数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下: 数据库中用到的表: 数据库表名关系模式名称备注 Student 学生学生学籍信息表 Course 课程课程基本信息表 Score 成绩选课成绩信息表 Student基本情况数据表,结构如下: 字段名字段类型Not Null 说明 Student _sno Char Primary key 学号 Student _sn char Not Null 学生姓名 Student _sex char ‘男’或‘女’性别 Student _dept char 系别 Student_age char 年龄 Student_address char 地址 course数据表,结构如下: 字段名字段类型约束控制说明 course_cno char 主键(primary key)课程号 char not null 课程名称course_cnam e course_hour int not null 课时 course_score numeric(2,1) not null 学分 score情况数据表,结构如下: 字段名字段类型约束控制说明 score_id int not null 成绩记录号 course_cno char 外部键课程号 student_sno char 外部键学号 score int 成绩 (二)数据库结构设计 1.概念结构设计 由需求分析的结果可知,本系统设计的实体包括: (1)学生基本信息:学号,姓名,性别,地址,年龄,专业。 (2)课程基本信息:课程名,课程号,分数,学时,学分。

数据库实验报告(7个实验完整附截图)

福建农林大学计算机与信息学院 实验报告 课程名称:数据库原理及应用 姓名: 系:计算机科学与技术 专业:计算机科学与技术 年级:2012 级 学号: 指导教师:陈长江 2014 年5月18 日

实验项目列表 序号实验项目名称成绩指导教师 1 实验一数据库的定义实验(验证性) 2 实验二数据库的建立和维护实验(验 证性) 3 实验三数据库的查询实验(验证性) 4 实验四数据库的视图操作实验(验证 性) 5 实验五触发器、存储过程操作实验 (综合性) 实验一:数据库的定义实验 一、实验目的: 1、理解MySQL Server 6.0 服务器的安装过程和方法; 2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL 语句和进行结果分析。 二、实验环境: 硬件:PC机 软件:Windows操作系统、MySQL Server 6.0 和Navicat for MySQL 9.0

三、实验内容和原理: 1、安装MySQL以及相应的GUI工具 2、用SQL命令,建立学生-课程数据库基本表: 学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept); 课程Course(课程号Cno,课程名Cname,先行课Cpno,学分Ccredit); 选课SC(学号Sno,课程号Cno,成绩Grade); 要求: 1) 用SQL命令建库、建表和建立表间联系。 2) 选择合适的数据类型。 3) 定义必要的索引、列级约束和表级约束. 四、实验步骤: 1、运行Navicat for MySQL,然后进行数据库连接,进入到GUI界面; 2、利用图形界面建立基础表: student 表的信息: 字段名类型长度约束条件 Sno varchar9非空、主键 Sname varchar20 Ssex varchar2 Sage smallint 6 Sdept varchar20 course表的信息: 字段名类型长度约束条件 Cno varchar4非空、主键 Cname varchar40 Cpno varchar4与 course 表中 Cno 关联 Ccredit smallint 6

数据库实验七实验报告

一.实验目的 熟练掌握SQL Server中变量、数据类型和表达式的定义和使用,掌握Transact—SQL中常用系统函数的使用,掌握流程控制语句和结构化程序设计方法,掌握分行处理表中记录机制以及利用游标对数据进行查询、修改和删除的方法。 二.实验准备 1.物理准备:安装了SQL sever的计算机一台,连接服务器;2.实验指导书:《数据库技术与应用》蓝皮书; 3.理论准备:掌握以下基础知识: (1)T ransact—SQL中变量、数据类型和表达式的使用。 (2)T ransact—SQL中常用系统函数的使用。 (3)利用程序控制语句实现结构化程序设计。 (4)利用游标分行处理机制实现数据的定位、查询、修改和删除三.实验题目 (1)定义局部变量@max,@min接收学生表studinfo中的最大出生日期和最小出生日期的查询结果。 实验过程:编写Transact—SQL语句 declare @max char(30),@min char(30) select @max=max(出生日期) , @min=min(出生日期) from student_xuesheng select @max as 最大,@min as 最小 运行结果:

(2)在学生表studinfo中增加一个字段,利用系统函数与出生日期信息计算每个同学的年龄。 实验过程:编写Transact—SQL语句 分析:先增加年龄字段,再将函数运算之后的年龄添加进去 --alter table student_xuesheng --add 年龄 int --GO if exists(select 出生日期 from student_xuesheng where 出生日期 is not null) begin update student_xuesheng set 年龄=year(getdate())-year(出生日期) end 运行结果:

数据库系统原理与设计(第二版)实验一至实验三

实验一 1-1.查询员工的姓名、职务和薪水 select employeeName,headShip,salary from employee 图1-1 2.查询名字中含有“有限”的客户姓名和所在地 select CustomerName,address from Customer where CustomerName like '%有限%'

3. 查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select * from employee where employeeName like '张%梅' 图1-3 4. 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示 SELECT employeeName,department,address, isnull (convert(char(10),birthday,120),'不详')出生日期, case sex when 'M'then '男' when 'F'then'女' end as 性别 from employee where (address like '%上海%'or address like '%南昌%')and sex='F'

5. 查询出职务为“职员”或职务为“科长”的女员工的信息 select * from employee where (headship='职员' or headship='科长') and sex='F' 图1-5 6. 选取编号不在“C20050001”和“C20050004”的客户编号、客户名称、客户地址。 Select * from Customer where CustomerNo not in ( 'C20050001' ,'C20050004')

数据库实验六-综合实验

实验六数据库原理综合实验 1实验目的 (1)运用所学的数据库设计技术,针对一个具体的应用系统,完成系统数据库的概念模型、逻辑模型和物理模型的设计。以巩固理论课程上所学的知识,更好地掌握数据库设计技术方法。(2)对前面章节所学的知识加以综合应用。 2实验内容 给定一个应用环境,如学生选课系统、超市管理系统、某企业库存管理系统、学校图书管理系统、学校综合积分管理系统等等。(同学们课从上述选定一个题目,也可以选取一个自己较熟悉的应用环境)。完成下面的工作 2.1 数据库概念模型设计 (1)进行需求分析。-对系统的语义进行描述(包括功能、所需的数据及他们之间的关系和处理方法) (2)识别系统中的实体及实体的属性,分析实体之间的联系。 (3)设计数据库概念模型,画出E-R图。 2.2 数据库逻辑模型设计 (1)根据数据库概念模型设计数据库的逻辑模型。-将E-R模型转化到逻辑模型 (2)根据应用需要和规范化理论对逻辑模型进行优化。 2.3 数据库物理模型设计 (1)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。(2)优化物理模型 (3)生成某种DBMS的SQL语句,创建数据库及其表。 2.4 装载数据 (1)收集真实数据或者生成模拟数据。 (2)批量加载数据到数据库中。 (3)设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,已测试数据库性能。 3实验要求 (1)可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。

(2)选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。 (3)要设计良好的数据库完整性约束。 (4)思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点? 4实验步骤 4.1 数据库概念模型设计 (1)进行需求分析。 (2)设计数据库概念模型,画出E-R图。 4.2 数据库逻辑模型设计 (3)根据数据库概念模型设计数据库的逻辑模型。 (4)对逻辑模型进行优化。 4.3 数据库物理模型设计 (5)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。(6)优化物理模型 (7)生成某种DBMS的SQL语句,创建数据库及其表。 4.4 装载数据 (8)收集真实数据或者生成模拟数据。 (9)批量加载数据到数据库中。

数据库实验报告

课程设计报告题目:数据库实验上机实验报告 专业班级:计算机科学与技术1210班 学号:U201215079 姓名:候宝峰 指导教师: 报告日期:2015-06-04 计算机科学与技术学院

目录 一、基本SQL操作(部分选做) (1) 1)数据定义 (1) 2)数据更新 (3) 3)用SQL语句完成下述查询需求: (4) 二、DBMS综合运用(部分选做) (8) 1)学习sqlserver的两种完全备份方式:数据和日志文件的脱机备份、系统的备份功能(选做)。 (8) 2)学习系统的身份、权限配置操作 (9) 3)了解SQLSERVER的存储过程、触发器、函数实现过程 (14) 三、实验总结 (17) 1)实验问题及解决 (17) 2)实验心得 (18)

一、基本SQL操作(部分选做) 1)数据定义 参照下面的内容建立自己实验所需的关系数据 创建三个关系: 商品表【商品名称、商品类型】 GOODS【GNAME char(20),GTYPE char(10)】 主关键字为(商品名称)。商品类型为(电器、文具、服装。。。) 商场【商场名称,所在地区】 PLAZA【PNAME char(20),PAREA c har(20)】 主关键字为商场名称。所在地区为(洪山、汉口、汉阳、武昌。。。) 销售价格表【商品名称、商场名称、当前销售价格、目前举办活动类型】 SALE【GNAME char(20),PNAME char(20),PRICE FLOAT,ATYPE c har(10)】 主关键字为(商品名称、商场名称)。举办活动类型为(送券、打折),也可为空值,表示当前未举办任何活动。表中记录如(‘哈森皮靴’,‘亚贸广场’,200,‘打折’),同一商场针对不同的商品可能采取不同的促销活动。 create table goods(gname char(20) primary key,gtype char(10)); create table plaza(pname char(20) primary key,parea char(20)); create table sale (gname char(20), pname char(20), price FLOAT, atype char(10)check (atype in('送券','打折','')), primary key(gname,pname), foreign key(gname)references goods(gname), foreign key(pname)references plaza(pname));

学生成绩管理数据库系统设计数据库实验大作业模板

学生成绩管理数据库系统设计数据库实验大作业

学生成绩管理数据库 系统设计 课程:数据库安全实验 姓名:吴双可 学院:计算机学院 专业:信息安全 学号: 一、需求分析

1.1 编写目的 本产品实现了一个基于mySQL数据库下的学生信息查询管理系统,而本需求分析报告的编写目的是为了提供一个由用户(学生、教师)和开发者双方共同确定的开发系统的业务需求目标,并对本系统所要实现的软件功能做一个全面的规格描述。 同时,在用户业务需求的基础上,经过需求分析和数据整理,以向整个开发期提供关于软件系统的业务和数据的技术信息和整体描述,做为软件开发的技术基础,也作为系统设计、实现的目标和测试以及维护阶段的依据。 本软件需求分析报告的适用读者为:软件用户(学生、教师)、软件需求分析人员、软件设计及开发者和相关的测试人员。 1.2 信息需求 随着科学技术的不断提高,计算机科学飞速发展,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,在学籍管理方面,各种学生信息管理系统也在不断的涌现出来,然而当前在中国仍有部分学校在应用一些旧的、功能单一而且效率低下的系统,甚至还有一些偏远学校的学生信息管理还在依靠人工进行管理和操作,这些管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件和数据,其中有些是冗余或者针对同一目的的数据不相

吻合,这对于查找、更新和维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求,严重影响了消息的传播速度。然而现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。 正因为如此,学生信息管理系统成为了教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,因此学生信息管理系统应该能够为用户提供充分的信息和快捷的查询手段。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点。例如:检索迅速。查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大的提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件,由此看来开发这样一套管理软件是很有必要的。 基于以上开发背景,我们小组设计了一个高效的学生成绩管理系统,能够储存历届学生的成绩、学生和老师的个人信息,而且能够实现管理员角色的管理(对于数据库中的数据进行增删改)。因此系统只需要几个管理人员登录系统录入成绩即可,老师和学生均能够方便的查询信息,节省了大量的人力而且保证了高效率和低出错率。

相关文档