数据库实验报告交通管理系统_第1页
数据库实验报告交通管理系统_第2页
数据库实验报告交通管理系统_第3页
数据库实验报告交通管理系统_第4页
数据库实验报告交通管理系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、键入文字数据库实验报告实验名称 交通管理系统 实验人学号 姓名 报告完成日期 2015年11月30日 教师评语:成绩:指导教师签字:评阅日期: 年 月 日目录第一部分 数据库设计3一、问题描述3二概念模型设计4三、创建数据字典5四、数据库逻辑设计7第二部分:实验内容8实验一: 数据库实施:创建数据库及其对象8实验二: 数据的增删改15实验三: 数据库查询21实验四: 创建和删除视图24第三部分:实验总体评价和体会25 第一部分 数据库设计一、问题描述系统对违章车辆、车主、违章信息、时间、惩处形式、执法民警等信息进行管理。违章车辆具有车牌号、车型、颜色三个属性车牌号为键码。车主有身份证号、手机号

2、、姓名三个属性身份证号为键码。违章信息有违章信息编号、地点、内容三个属性违章信息编号为键码。惩处形式具有费用、是否付、扣分、是否已扣、编号五个属性,编号为键码。执法民警具有民警编号、姓名、民警手机号三个属性,民警编号为键码。 车主拥有违章车辆,违章车辆具有违章信息,违章信息既包含惩处方式,执法民警执法违章车辆。具有有联系属性时间,执法有联系属性车辆个数。(2)功能设计此数据库可以实现查询:违章车辆信息查询车主信息、执法民警信息、违章时间、地点、违章内容惩处形式信息(费用是否付清、分数是否已经被扣二概念模型设计E-R图设计身份证号车牌号手机号车型颜色拥有车主姓名违章车辆民警编号执法民警执法姓名具

3、有时间车辆个数手机号违章编号地点违章信息内容包含惩处形式费用惩处编号分数是否付清是否已扣三、创建数据字典 违章车辆字段名数据类型长度约束描述carnumberchar8不空,键码车牌号cartypechar8可空车型colorchar8可空颜色车主字段名数据类型长度约束描述ownernamechar8不空姓名Idnumberchar20不空,键码(18位)身份证号phonenumberchar16可空(11位)手机号carnumber char 8 不空键码外码 车牌号执法民警字段名数据类型长度约束描述policernamechar8不空民警姓名policenumberchar2不空,键码民警

4、编号pphonenumberchar16可空(11位)民警手机号违章信息字段名数据类型长度约束描述wznumberint2不空,键码违章编号contentschar16不空内容placechar16不空地点惩处形式字段名数据类型长度约束描述ccnumberint2不空,键码惩处编号costint4不空,大于0费用ifpaychar2“是”或“否”是否付清scoreint2不空,整数大于0分数ifminuschar2“是”或“否”是否已扣执法字段名数据类型长度约束描述carnmuberchar8不空主键,外键车牌号policenumberchar2不空主键,外键民警编号carcountint2不

5、空车辆个数具有字段名数据类型长度约束描述carnumberchar8不空主键,外键车牌号wznumberint不空主键,外键违章编号wztimedatetime不空时间包含字段名数据类型长度约束描述wznumberint2不空主键,外键违章编号ccnumberint2不空主键,外键惩处编号四、数据库逻辑设计1.关系模式违章车辆(车牌号,车型,颜色);车主(身份证号,手机号,姓名,车牌号):执法民警(民警编号,民警手机号,民警姓名);违章信息(违章编号,内容,地点);惩处形式(惩处编号,费用,是否付清,分数,是否已扣);执法(车牌号,民警编号,车辆个数);(多对多)具有(车牌号,时间,违章编号)

6、;(多对多)包含(违章编号,惩处编号);(多对一)2、约束的设计(1)一个车主只拥有一辆违章车,一个违章车也归一位车主所有。(2)一个民警可以对多辆违章车进行执法,一辆违章车可能被多个民警执法(时间不同,地点不同)。(3)一辆违章车可能具有多个违章信息,一个违章信息可以对应多个违章车辆。(4)一个违章信息只能对应一个惩处形式,同一个惩处形式可能有多个违章发生,所以可以对应多个违章信息。3数据表设计 (与上面的数据字典内容相同故不再重复)第二部分:实验内容实验一: 数据库实施:创建数据库及其对象 一、实验目的1学习MS SQL SERVER2000的特点。2学习并掌握创建一个关系数据库的方法和相

7、关SQL语句的使用。3学习并掌握在数据库中创建基本表、修改表结构、删除基本表的方法和相关SQL语句的使用。4学习并掌握在数据库中创建、删除索引文件的方法和相关SQL语句的使用。5掌握实体完整性、参照完整性、用户定义完整性约束概念。二、实验内容 根据数据库设计方案:1使用CREATE DATABASE语句,在数据库服务器上创建一个关系数据库。2使用CREATE TABLE语句,以及ALTER、DROP语句创建基本表、修改表结构或删除基本表。3分析数据库的应用(可以模拟设定),并使用CREATE INDEX语句、DROP语句创建、删除索引文件。三、 实验要求1使用QUERY ANALYZER(查询

8、分析器),以交互方式完成创建数据库,创建基本表、修改基本表和删除基本表,以及创建、删除索引文件。2基本表的定义至少包括主码约束、外码约束、唯一性约束、检查约束、“空”约束和缺省值约束。四、 实验装置1服务器端:MS SQL SERVER 2000 Enterprise Edition / Professional Edition.2. 客户器端:Windows 2000 Server / Windows XP 五、 实验步骤1.创建数据库,包括数据文件和日志文件如下所示:成功创建数据库和日志文件2.创建基本表1“违章车辆”(create table)创建成功,在数据库db_s13070213的

9、filetable中出现名为“违章车辆”的基本表同上创建其他7个基本表,基本表2:惩处形式基本表3:执法民警基本表4:违章信息基本表5:车主基本表6:执法基本表7:具有基本表8:包含基本表创建成功:3.修改基本表:ALTER TABLE语句的使用:在“具有”表中的加“wztime”属性,语句如下所示:结果:ALTER TABLE语句的使用2,在“惩处形式“表中给ifminus加default 和check约束:结果:在约束里可以看到ifminus的default和check 约束。4.删除基本表 (drop table)执行drop table 语句后,表中名为“车主”的基本表就被删除了。5.

10、 创建非聚集索引文件 (create index)创建结果:索引文件中有一个名为wztime的非聚集索引文件6.删除索引文件执行drop index 语句后,名为wztime 的索引文件消失。六、 实验数据及处理实验中问题:第一次建立基本表的时候,我们没有有写“use db_s13070213”语句用我创建数据库,结果基本表全建在了系统的数据库中,后经过改正成功建在我自己的数据库里。七、思考题 1总结基本表的定义方法,以及三种数据完整性约束。 (1) Create table 基本表名称 ( 属性名 数据类型(长度)约束, 属性名 数据类型(长度)约束, ) (2)实体完整性约束就是主键约束;

11、参照完整性约束就是外键约束;用户自定义完整性约束一般认为是NULL,NOT NULL,CHECK主键约束:CONSTRAINT 约束名 primary key (做主键的属性名)外键约束:CONSTRAINT 约束名 foregin key (外键名称) reference 外键所在的基本表名称 (外键名称)NULL约束:属性名 数据类型(长度)NULLNOT NULL约束:属性名 数据类型(长度)NOT NULL 检查约束:CONSTRAINT 约束名 check (约束描述)2 理解索引文件的使用目的和它对数据库系统开销的影响。理解聚集索引的优缺点。(1)答:索引就是加快索引表中

12、数据的方法,不需要扫描整个数据库,对数据库系统开销减小。(2)优点:聚集索引能提高多行检索的速度,而非聚集索引对于单行的检索很快。缺点:创建索引和维护索引都需要耗费时间和物理空间,聚集索引会改变数据的物理排列。 实验二: 数据的增删改 一、实验目的1学习基本表数据更新(含:增、删、改)的方法及其SQL语句的使用。2为后续实验准备数据。二、实验内容1使用INSERT语句,向数据库插入数据。2使用UPDATE语句,修改数据库中已有数据的取值。3使用DELETE语句,从数据库中删去一些数据。三、实验要求 1使用QUERY ANALYZER(查询分析器),编写SQL语句,以交互方式完成数据库数据的更新

13、操作。2设计INSERT、UPDATE或DELETE语句时,要求用户能够观察到当插入或修改操作符合或者违背主码约束、外码约束、唯一性约束、检查约束、“空”约束或缺省值约束时,DBMS对数据约束的维护、监督作用。3一个UPDATE语句可以对两个以上的属性值,或者对多个元组进行修改。4数据库中必须保留足够的数据,以供后续实验使用。四、实验装置与实验一相同。五、实验步骤1根据实验一创建数据库及其对象,编写SQL语句,用于数据库数据的插入、修改、删除操作。(见实验一)2.用INSERT语句往每个表里添加数据,供使用。往表“违章车辆”里加数据如下:往表“车主”里加数据如下:往表“执法民警”里加数据如下:

14、往表“违章信息”里加数据如下:往表“惩处形式”里加数据如下:往表“执法”里加数据如下:往表“具有”里加数据如下:往表“包含”里加数据如下:用select* from 【表名】可以查询加入的数据,如下所示:“违章车辆”里数据为“车主”里数据为“执法民警”里数据为“违章信息”里数据为“惩处形式”里数据为“执法”里数据为“具有”里数据为“包含”里数据为3. 使用UPDATE语句,修改“车主”表中姓名为“赵前”的手机号码为身份证号修改前:修改语句为:修改后:“车主”表中姓名为“赵前”的手机号码被改为身份证号被改

15、4.使用DELETE语句,从数据库的“惩处形式“表中删除ccnumber为6的信息。删除前:删除语句:删除后:ccnumber为6的信息被删除。六、实验数据及处理 出现问题:有些属性被设置为NOT NULL 约束,当我没有输入这种属性的数据的时候,系统会自动提示错误。思考题1 在更新数据库数据过程中,RDBMS如何发挥数据库数据约束作用?答:在插入数据时,RDBMS按照实体完整性规则自动检查:主码值是否唯一,主码各属性是否为空。参照表插入元组,可能破坏被参照表完整性时被拒绝:参照表修改外码值,可能破坏参照表完整性时被拒绝,被参照表删除元组或修改主码值,可

16、能破坏参照表完整性时,拒绝或级联删除或设置为NULL。 2DELETE 语句与DROP TABLE语句的区别是什么?UPDATE语句与ALTER TABLE语句的区别什么? delete是删除表中某些项,drop table是删除整个表。UPDATE改数据,ALTER TABLE改字段 实验三: 数据库查询一、实验目的1学习SELECT语句的使用。二、实验内容1在实验一、二的基础上,使用QUERY ANALYZER,从数据库中查询并显示数据。三、实验要求 1所设计的SELECT语句应当具有以下语句成分: (1)SELECT子句包含*,表达式,DISTINCT,或者具体指定的属性名,并引入聚集函

17、数(SUM、COUNT、AVG、MAX、MIN)运算。 (2)FROM子句包含单个或多个表。 (3)WHERE子句的条件表达式应包含字符串、日期等类型变量或常量,可以实现多表的自然连接和一般条件连接。 (4)使用GROUP BY HAVING子句。 (5)使用ORDER BY子句。2设计具有以下结构的SELECT语句: (1)嵌套查询。包括引入IN、ALL、ANY(some)和EXISTS用法。 (2)集合查询。四、实验装置与实验一相同。五、实验步骤1单表的简单查询(含:select *from,group byhaving和order by子句):(1) SELECT DISTINCT查询违

18、章信息内容不一样的被查询到: SELECT 聚集函数运算(sum)查询在执法表中查询并进行“sum“计算得到民警编号为03一共执法的车辆数为9(2)select *from语句查询单表(3)where子句表示与(5)结合见(5) (4) group byhaving语句查询在违章车辆表中查询到颜色为黑色的车的车型,结果如下: (5) order by子句语句查询+where子句查询查询到违章车牌号,并按执法时间的升序排列输出2设计具有以下结构的SELECT语句: (1)嵌套查询,引入IN进行子查询。 In子查询结果(2)集合查询,UNION操作。六、实验数据及处理 实验过程中未出现问题。七、

19、思考题1 聚合函数的作用是什么?使用聚合函数应注意什么问题?(1)聚合函数能够对一组值进行计算,并返回一个单一值。(2)使用聚合函数必须给实体加上别名,如果不加别名聚合函数不会生效。查询出来的字段不能加别名。还应注意查询中语句的顺序及各个子句中的语法要求。 3总结查询语句的使用要点。 2总结EXISTS的用法特点。 答:EXISTS后面可以是整句的查询语句。如 EXISTS SELECT *FROM A EXISTS返回的是boolean值,对子查询进行loop循环,有值返回真,有数据。3.总结查询语句的使用要点。SELECT 属性名 FROM表名 WHERE 条件表达式 。Select后*显

20、示所有字段;使用distinct去掉重复元组;as进行换名;top n显示结果中的前n行数据;count函数用作计数器;max找出表中最大值;min找出表中最小值;avg算出某列的平均值;sum求出指定列的总和。 WHERE后使用逻辑运算符及关系运算符,或特殊运算符 如 like %。 ORDER BY对查询结果进行排序 GROUP BY对查询结果按照指定字段分组,值相等的分为一组 HAVING字句制定所筛选的条件,但作用对象是group by产生的组。实验四: 创建和删除视图一、实验目的1学习创建、删除视图的方法和相关SQL语句的使用。2学习查询视图的方法和相关SQL语句的使用,理解查询视图的执行过程。3理解使用视图的意义。二、实验内容1在实验一、二的基础上,使用CREATE VIEW语句和DROP VIEW语句,创建、删除视图表。2使用SELECT语句,从视图表和基本表中查询并显示数据。三、实验要求1CREATE VIEW语句中的查询子句必须包含聚集函数。2使用QUERY ANALYZER,创建、删除

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论