数据库实验报告讲解.docx

上传人:b****8 文档编号:23889911 上传时间:2023-05-21 格式:DOCX 页数:34 大小:1.14MB
下载 相关 举报
数据库实验报告讲解.docx_第1页
第1页 / 共34页
数据库实验报告讲解.docx_第2页
第2页 / 共34页
数据库实验报告讲解.docx_第3页
第3页 / 共34页
数据库实验报告讲解.docx_第4页
第4页 / 共34页
数据库实验报告讲解.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

数据库实验报告讲解.docx

《数据库实验报告讲解.docx》由会员分享,可在线阅读,更多相关《数据库实验报告讲解.docx(34页珍藏版)》请在冰豆网上搜索。

数据库实验报告讲解.docx

数据库实验报告讲解

实验1建立数据库

Ø实验名称:

建立数据库

Ø实验内容:

在SQLSever环境下建立数据库和维护数据库

Ø实验目的:

理解SQLSever数据库的存储结构,掌握SQLSever数据库的建立方法和维护方法。

Ø实验方法:

在SQLSever环境下用CREATEDATABASE命令建立数据库(注意:

需要是系统管理员用户,或者被指定dbcreator固定服务器角色的成员,或者被显式地授予CREATEDATABASE权限,有关权限的内容请参见第5.2节)

Ø实验要求:

1.根据具体要求创建如下3个数据库:

(1)创建数据库test1(使用一个数据文件和一个日志文件),要求制定一个数据文件、一个事务日志文件,并把它们安排在不同的硬盘上。

(2)创建数据库test2(使用多个数据文件和多个日志文件),要求使用3个数据文件和两个事务日志文件,主数据文件是列表中第一个文件或者用关键字PRIMARY指定(文件拓展名:

主数据文件使用.mdf,次数据文件使用.ndf,事务文件使用.ldf)。

(3)创建数据库test3(使用文件组),要求使用3个文件组(含住文件组,即默认的文件组),每个文件组包含两个数据文件,并且每个文件组要安排在不同的硬盘上。

2.修改建立的test1数据库,为之添加一个5MB大小的新数据文件。

3.修改建立的test2数据库,将其中的主数据文件增加5MB的存储空间

4.删除建立的数据库test1

Ø实验操作:

XXXXX

实验二建立表和定义完整性约束

实验名称:

建立模式

表和定义完整性约束

实验内容:

在实验一建立的数据库的基础上,参照下图和下表建立表并定义完整性约束。

订购单明细

图1订货数据库

表1订货数据库字段和约束说明

表名

字段名

字段类型

关键字

约束说明

仓库

仓库号

6个字符

前2们为英文大写字母,后4位为数字字符

城市

10个字符

唯一,不允许空值

面积

数值

大于等于50

职工

仓库号

6个字符

不是

前2们为英文大写字母,后4位为数字字符

职工号

参照职工号,说明该的经理是谁,允许空值。

工资

货币

大于等于1000,小于等于10000

供应商

供应商号

4个字符

首位为大写字母S,后3位为数字字符

供应商名

16个字符

地址

30个字符

订购单

职工号

参照职工表的职工号,不允许空值

供应商号

参照供应商表的供应商号,允许空值

订购单号

6个字符

前2位为英文大写字母OR,后4位为数字字符

订购日期

日期

默认是当前日期

金额

货币

默认空值

订购单明细

订购单号

参照订购单表的订购单号,不允许空值

序号

2位数字

产品名称

20个字符

单价

货币

大于0,默认空值

数量

整数

大于0,不允许空值

实验目的:

熟练掌握表的建立和数据完整性速描定义方法,实践DBMS提供的数据完整性功能,加深对数据完整性的理解。

实验方法:

在实验一建立数据库的基础上用CREATESCHEMA命令建立模式,用CREATETABLE命令建立表并定义数据完整性约束(注意:

需要有CREATESCHEMA和CREATETABLE的权限,或者其他具有相应权限的身份,有关权限的内容请参见课文5.2节),用ALTERTABLE命令修改表结构。

实验要求:

1、用CREATESCHEMA命令建立模式(自己命名模式名称)。

2、在定义的模式下参照图1和表1使用CREATETABLE命令建立表并定义完整性约束。

3、使用ALTERTABLE命令按如下要求修改表结构:

a)为订购单增加一个新的字段“完成日期”,类型为日期时间型,默认是空值。

b)为订单明细表的“数量”字段重新定义约束:

大于0、小于等于1000的正整数,不允许为空值。

c)将供应商表的供应商名字段的类型修改为varchar(30)。

实验步骤:

1.建立模式:

usetest2

go

createschematest2

2建表

(1)仓库表

usetest2

go

createtable仓库

仓库号char(6)primarykeycheck(仓库号like'[A-Z][A-Z][0-9][0-9][0-9][0-9]'collateChinese_PRC_BIN),

城市char(10)uniquenotnull,

面积numericcheck(面积>='50')

(2)职工表

usetest2

go

createtable职工

仓库号char(6)foreignkeyreferences仓库(仓库号)check(仓库号like'[A-Z][A-Z][0-9][0-9][0-9][0-9]'collateChinese_PRC_BIN),

职工号char(8)primarykeycheck(职工号like'[A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9]'collateChinese_PRC_BIN),

工资moneycheck(工资between1000and10000)null

(3)供应商表

usetest2

go

createtable供应商

供应商号char(4)primarykeycheck(供应商号like'[S][0-9][0-9][0-9]'collateChinese_PRC_BIN),

供应商名char(16),

地址char(30)

(4)订购单表

usetest2

go

createtable订购单

职工号char(8)foreignkeyreferences职工(职工号)notnull,

供应商号char(4)foreignkeyreferences供应商(供应商号)null,

订购单号char(6)primarykeycheck(订购单号like'[O][R][0-9][0-9][0-9][0-9]'collateChinese_PRC_BIN),

订购日期datetimedefaultgetdate(),

金额moneydefaultnull

(5)订购单明细表

usetest2

go

createtable订购单明细

订购单号char(6)foreignkeyreferences订购单(订购单号),

序号char(6)primarykey,

产品名称char(20),

单价moneycheck(单价>'0')defaultnull,

数量intcheck(数量>'0')notnull

3.修改

(1)为订购单增加一个新的字段“完成日期”,类型为日期时间型,默认是空值

usetest2

go

altertable订购单

add完成日期datetimedefaultnull

(2)为订单明细表的“数量”字段重新定义约束:

大于0、小于等于1000的正整数,不允许为空值

usetest2

go

altertable订购单明细

addcheck(数量between0and1000)

(3)将供应商表的供应商名字段的类型修改为varchar(30)

usetest2

go

altertable供应商

altercolumn供应商名varchar(30)

 

实验3数据操作和完整性约束的作用

Ø实验名称:

数据操作和完整性约束的作用

Ø实验内容:

在实验2的基础上完成数据的插入操作,然后进行部分修改和删除操作,在这些操作中体会数据完整性约束的作用。

Ø实验目的:

熟练掌握表SQL的INSERT,UPDATE,DELETE命令,深刻理解数据完整性约束的作用以及约束时机。

Ø实验方法:

在实验2的基础上首先用INSERT命令插入各个表的记录,然后使用UPDATE和DELETE命令对部分记录进行修改和删除操作。

Ø实验要求:

1.读者自行设计各个表的记录,其中仓库表至少5条记录、职工表至少10条记录、供应商表至少5条记录、订购单至少20条记录、订购单明细表至少50条记录。

2.使用INSERT命令完成记录的插入操作,要求分别设计若干违反实体完整性、参照完整性和用户定义完整性约束的插入操作,并分析原因。

3.设计若干删除操作,体会执行删除操作时检查参照完整性规则的效果(要求设计拒绝删除、空值删除和级联删除等不同的处理方式。

4.设计若干更新操作,体会执行更新操作时候检查实体完整性规则、参照完整性规则和用户定义完整性规则的效果。

5.将x城市仓库的职工的工资提高10%。

6.用UPDATE语句完成订购单表金额字段的计算(提示:

某张订购单的金额为该订购单所有订购项目(订购单明细)单价乘以数量的总和)

7.设计2-3个删除操作,它需要另外一个表中的数据作为删除条件(例如,按指定的供应商名称删除订购单记录)。

8.在实验报告中给出具体的记录和设计的操作,并针对各种数据完整性检查,给出具体的分析和讨论。

实验操作:

实验步骤:

1.输入代码:

usetest2

go

insertinto仓库(仓库号,城市,面积)

values('AA0001','广州','60')

insertinto仓库

values('AA0002','贵州','60')

insertinto仓库

values('AA0003','深圳','60')

insertinto仓库

values('AA0004','桂林','60')

insertinto仓库

values('AA0005','青岛','60')

insertinto职工(仓库号,职工号,工资)

values('AA0001','AA000001','2000')

insertinto职工

values('AA0002','AA000002','2000')

insertinto职工

values('AA0002','AA000003','2000')

insertinto职工

values('AA0001','AA000004','2000')

insertinto职工

values('AA0003','AA000005','2000')

insertinto职工

values('AA0004','AA000006','2000')

insertinto职工

values('AA0005','AA000007','2000')

insertinto职工

values('AA0001','AA000008','2000')

insertinto职工

values('AA0001','AA000009','2000')

insertinto职工

values('AA0001','AA000010','2000')

insertinto供应商(供应商号,供应商名,地址)

values('S001','广药','龙洞')

insertinto供应商

values('S002','广药','龙洞')

insertinto供应商

values('S003','广药','龙洞')

insertinto供应商

values('S004','广药','龙洞')

insertinto供应商

values('S005','广药','龙洞')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0001','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0002','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0003','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0004','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0005','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0006','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0007','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0008','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0009','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0010','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0011','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0012','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0013','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0016','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0014','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0015','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0017','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0018','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0019','2013-12-25','20000','2013-12-25')

insertinto订购单(职工号,供应商号,订购单号,订购日期,金额,完成日期)

values('AA000001','S001','OR0020','2013-12-25','20000','2013-12-25')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000001','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000002','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000003','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000004','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000005','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000006','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000007','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000008','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000009','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000010','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000011','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000012','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000013','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000014','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000015','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000016','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000017','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000018','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000019','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000020','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000021','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000022','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000023','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000024','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000025','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000026','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000027','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000028','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000029','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000030','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数量)

values('OR0001','000031','脑白金','100','200')

insertinto订购单明细(订购单号,序号,产品名称,单价,数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1