版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计 算 机 学 院实 验 报 告课程名称: 数据库原理 实验人学号:xx 姓名:xxx实验完成日期:2014年5月20日报告完成日期:2014年5月20日目录目录2实验准备3系统描述:3ER图:3关系模式:3字段类型设置:4业务需求:5实验一 数据库实施:创建数据库及其对象5一、实验目的5二、实验内容5三、实验要求6四、实验装置6五、实验步骤6六、个人实验过程:6七、思考题11实验二: 数据的增删改12一、实验目的12二、实验内容12三、实验要求12四、实验装置12五、实验步骤12六、思考题17实验三: 数据库查询18一、实验目的18二、实验内容18三、实验要求18四、实验装置18五、实验步骤
2、19六、思考题20实验四: 创建和删除视图21一、实验目的21二、实验内容21三、实验要求21四、实验装置21五、实验步骤21六、思考题23个人总结24实验准备系统描述:在医院服务管理系统中,需要对医生、病人、科室和病房进行管理。其中,一个科室有多个病房、管理多个医生;一个病房只能隶属一个科室;一个医生只能属于一个科室;一个医生可负责多个病人的诊治;一个病人的诊断也可以由多个医生共同完成;一个病房可以住多个病人,但一个病人只能住在一个病房。ER图:关系模式:医生(工作证号,科室名,姓名,性别,年龄,职称)病人(病历号,病房号,姓名,性别,年龄 看病花费,药品花费)科室(科室名,科室地址,电话,
3、主任姓名)病房(病房号,科室名)诊断(工作证号,病历号,挂号单号,诊断日期)字段类型设置:医生属性字段类型约束工作证号Int5位int,第一位不为0科室名char30以科室的科室名为参照姓名char30不为空性别charM or F年龄int0120职称char30不为空病人属性名字段类型约束病历号int4位int,第一位不为0姓名char30不为空性别charM or F年龄int0120病房号int以病房的病房号为参照看病花费int无药品花费int无科室属性名字段类型约束科室名char30不为空科室地址char30不为空主任姓名char30不为空电话int4位int,第一位不为0病房属性名
4、字段类型约束病房号Int3位int,第一位不为0科室名Char30以科室的科室名为参照诊断属性名字段类型约束挂号单号Int4位int,第一位不为0工作证号Int以医生的工作证号为参照病历号Int以病人的病历号为参照诊断日期Date无业务需求:查询:医生基本信息,病人基本信息,病房基本信息,科室基本信息;查询:病房的分配信息,科室对医生的管理信息,医生收入信息,科室收入信息,病人住院信息打印:病人的住院信息及诊断结果。实验一 数据库实施:创建数据库及其对象一、实验目的1学习 MS SQL SERVER2000 的特点。2学习并掌握创建一个关系数据库的方法和相关 SQL 语句的使用。3学习并掌握在
5、数据库中创建基本表、修改表结构、删除基本表的方法和相关 SQL 语句的使用。4学习并掌握在数据库中创建、删除索引文件的方法和相关 SQL 语句的使用。5掌握实体完整性、参照完整性、用户定义完整性约束概念。二、实验内容根据数据库设计方案:1使用 CREATE DATABASE 语句,在数据库服务器上创建一个关系数据库。2使用 CREATE TABLE 语句,以及 ALTER、DROP 语句创建基本表、修改表结构或删除基本表。3分析数据库的应用(可以模拟设定),并使用 CREATE INDEX 语句、DROP 语句创建、删除索引文件。三、实验要求1使用 QUERY ANALYZER(查询分析器),
6、以交互方式完成创建数据库,创建基本表、修改基本表和删除基本表,以及创建、删除索引文件。2基本表的定义至少包括主码约束、外码约束、唯一性约束、检查约束、“空”约束和缺省值约束。四、实验装置1服务器端:MS SQL SERVER 2000 Enterprise Edition / Professional Edition.2. 客户器端:Windows 2000 Server / Windows XP 五、实验步骤1根据数据库设计方案,编写创建数据库和基本表,修改、删除基本表,以及创建、删除索引文件的 SQL 语句。2上机编辑、调试并执行 SQL 语句。六、个人实验过程:(1)创建一个数据库,其数
7、据文件初始大小为6M、日志文件的初始大小为1M,数据文件最大允许增加到 50M,日志文件最大允许增加到3M。USE masterCreate database db_uON ( NAME = DB_student_DATA, FILENAME = D:DB1107db0322.mdf, SIZE = 6, MAXSIZE = 50, FILEGROWTH = 1)LOG ON ( NAME = DB_student_LOG, FILENAME = D:DB1107db0322.Ldf, SIZE = 1, MAXSIZE = 3, FILEGROWTH = 1)每次增量都为 1M。数据文件和日
8、志文件存放在 D:database 目录之下。(SQL2012 初始大小设置为 1M 时会提示错误,要求最小为 3M)如图,可在左侧栏见到创建的数据库db_u。(2)使用 CREATE TABLE 语句创建自己设计的基本表。-创建表use db_u;create table doctor ( 工作证号 int check(工作证号 = 10000 and 工作证号 = 0 and 年龄 = 1000 and 电话 = 100 and 病房号 = 1000 and 病历号 = 0 and 年龄 = 100 and 病房号 = 1000 and 挂号单号 = 10000 and 工作证号 = 10
9、00 and 病历号 100order by SUM(病人.看病花费 + 病人.药品花费) asc(3)嵌套查询及集合查询:嵌套查询:-嵌套查询-查询收入小于200的医生的工作证号select 工作证号from doctorwhere 工作证号 not in ( select 工作证号 from 医生收入状况 where 总收入 200)集合查询:-集合查询-查询除了眼科医生以外的医生名单-可以看到自动删除了重复元组齐医生(select 姓名 from doctor) except (select 姓名 from doctor where 科室名 = 眼科)六、思考题1聚合函数的作用是什么?使
10、用聚合函数应注意什么问题?count()求个数 sum() 求和 avg()求平均数 min()最小值 max()最大值。聚合函数一般与group by 语句使用,select 后面不在聚集函数中的属性必须出现在 group by 子句中。2总结 EXISTS 的用法特点。Exists为相关子查询,EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False,EXISTS 指定一个子查询,检测元组的存在。 实验四: 创建和删除视图Create and Drop Views实验学时:1 实验类型:SQL 语句的使用一、实验目的1学习创建、删除视
11、图的方法和相关 SQL 语句的使用。2学习查询视图的方法和相关 SQL 语句的使用,理解查询视图的执行过程。3理解使用视图的意义。二、实验内容1在实验一、二的基础上,使用 CREATE VIEW 语句和 DROP VIEW 语句,创建、删除视图表。2使用 SELECT 语句,从视图表和基本表中查询并显示数据。三、实验要求1CREATE VIEW 语句中的查询子句必须包含聚集函数。2使用 QUERY ANALYZER,创建、删除、查询视图表。四、实验装置与实验一相同。五、实验步骤1根据你模拟设定的数据库应用,为一些特定用户设计视图,并编写相应的 SQL 语句。2上机编辑、调试并执行 SQL 语句
12、,实现视图的创建、删除和查询创建和删除视图:use db_u;-测试:创建视图和删除视图(creat and drop views)create view 病人诊断日期 as ( select 诊断日期 from 诊断)drop view 病人诊断日期CREATE VIEW 语句中的查询子句包含聚集函数示例:-创建视图与视图查询2create view 医生收入状况 as ( select doctor.姓名 as 医生姓名, doctor.工作证号 as 工作证号, sum(病人.看病花费) as 总收入 from doctor, 病人, 诊断 where 病人.病历号 = 诊断.病历号 a
13、nd doctor.工作证号 = 诊断.工作证号 group by doctor.工作证号, doctor.姓名)创建视图结果:从视图和基本表中对比查询:-在视图中查询select 医生姓名, 总收入from 医生收入状况where 总收入 200-在基本表中查询(对比)select doctor.姓名 as 医生姓名,doctor.工作证号 as 工作证号, sum(病人.看病花费) as 总收入from doctor, 病人, 诊断where 病人.病历号 = 诊断.病历号 and doctor.工作证号 = 诊断.工作证号group by doctor.姓名,doctor.工作证号hav
14、ing sum(病人.看病花费) 200六、思考题1试比较视图与基本表的异同点。相同点:视图与表在基本查询方面的使用方法是一样的;不同点:(1)、视图是已经编译好的sql语句。而表不是 (2)、视图没有实际的物理记录。而表有。(3)、表是内容,视图是窗口(4)、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改(5)、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。(6)、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表
15、。 (7)、视图的建立和删除只影响视图本身,不影响对应的基本表。2你做过修改一个视图数据的试验吗?其结果是什么?做过。结果如下:个人总结通过这次的数据库实验,我实践了各类SQl语句的使用,在实验的过程中,遇到了许多问题,而最终得以顺利解决,也使我加深了对于数据库使用的理解。在最初的实验准备阶段,我选择了“医院服务管理系统”作为我的选题,在设计数据库的ER图的时候,一开始我的表达与前面描述的需求的表达不一致,主要是在一对多的联系上箭头全部写反了。在ER图转换成关系模式时,我把所有的联系集都转换成关系模式了。后来经过老师的指导,我重新复习了课件,最终正确的修改了选题阶段的各种错误。到了实践阶段,一开始的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业资金流动监控方案
- 磷矿开采项目经济效益和社会效益分析报告
- 可回收物预处理设施建设方案
- 建筑用凝灰岩矿开发利用项目运营管理方案
- 公司员工职业素养提升培训方案
- 高盐废水再生利用建设项目节能评估报告
- 工程项目管理软件应用方案
- 电化学储能设备采购与供应链管理方案
- 地下通道支护施工培训
- 储能电站施工现场管理技术方案
- 预防医学完整教案
- 《外科学》30骨盆髋臼骨折-课件
- 电解合成知识介绍
- DB-T 29-83-2024 天津市城市道路工程管网检查井综合设置技术规程
- 外贸跟单员用工合同
- 大数据与财务管理专业 人才培养方案-五年一贯制人培
- 婚前医学检查证明表
- 海报设计完整版教学课件
- 2023年05月四川大学全国干部教育培训基地公开招聘3人笔试题库含答案解析
- CIF贸易术语CIF术语价格构成
- 城市的辐射功能课件高中地理人教版(2019)选择性必修2
评论
0/150
提交评论