数据库应用与设计 课后实验 实验一到实验五 代码加截图教材Word格式.docx

上传人:b****7 文档编号:22359320 上传时间:2023-02-03 格式:DOCX 页数:77 大小:2.95MB
下载 相关 举报
数据库应用与设计 课后实验 实验一到实验五 代码加截图教材Word格式.docx_第1页
第1页 / 共77页
数据库应用与设计 课后实验 实验一到实验五 代码加截图教材Word格式.docx_第2页
第2页 / 共77页
数据库应用与设计 课后实验 实验一到实验五 代码加截图教材Word格式.docx_第3页
第3页 / 共77页
数据库应用与设计 课后实验 实验一到实验五 代码加截图教材Word格式.docx_第4页
第4页 / 共77页
数据库应用与设计 课后实验 实验一到实验五 代码加截图教材Word格式.docx_第5页
第5页 / 共77页
点击查看更多>>
下载资源
资源描述

数据库应用与设计 课后实验 实验一到实验五 代码加截图教材Word格式.docx

《数据库应用与设计 课后实验 实验一到实验五 代码加截图教材Word格式.docx》由会员分享,可在线阅读,更多相关《数据库应用与设计 课后实验 实验一到实验五 代码加截图教材Word格式.docx(77页珍藏版)》请在冰豆网上搜索。

数据库应用与设计 课后实验 实验一到实验五 代码加截图教材Word格式.docx

|ADDLOGFILE<

|MODIFYFILE<

|MODIFYNAME=new_dbname

}

删除数据库的命令是DROPDATABASE,其格式是:

DROPDATABASEdatabase_name

实验操作:

 

1)代码:

createdatabasetest1

(name=test1,

FILENAME='

F:

\date\test1.mdf'

SIZE=10,

MAXSIZE=50,

FILEGROWTH=5)

LOGON

(NAME=test1_log,

E:

\date\test1.ldf'

SIZE=5MB,

MAXSIZE=25MB,

FILEGROwTH=5MB)

实验一1.1图

2)代码

createdatabasetest2

on

(name=dat11,

filename='

\date\dat11.mdf'

size=10mb,

maxsize=100mb,

filegrowth=10%),

(name=dat22,

\date\dat22.ndf'

(name=dat33,

\date\dat33.ndf'

filegrowth=10%)

logon

(name='

log1'

\date\log1.ldf'

filegrowth=5mb),

(name=log2,

\date\log2.ldf'

size=10mb,

实验一1.2图

maxsize=100mb,

(3)代码:

createdatabasetest3

onprimary

(name=dab1,

\data\dab1.mld'

size=5mb,

maxsize=10mb,

filegrowth=1mb),

filegroupfg11

(name=dab2,

\data\dab2.nld'

size=1mb,

filegroupfg22

(name=dat1,

\date\dat1.nld'

(name=dat2,

\date\dat2.nld'

size=1mb,

filegroupfg33

(name=da1,

G:

\data\da1.nld'

(name=da2,实验一1.3图

\data\da2.nld'

filegrowth=1mb)

2代码:

alterdatabasetest1

addfile

(name=te,

\data\te.mld'

filegrowth=5mb)

实验一2图

3代码:

alterdatabasetest2

modifyfile

\data\dat11.mid'

maxsize=105mb)

实验一3图

4:

代码:

drop databasetest1

实验一4图

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

建立模式、表和定义完整性约束

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

面积

图1订货数据库

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

表名

字段名

字段类型

关键字

约束说明

仓库

仓库号

6个字符

城市

10个字符

唯一,不允许空值

数值

大于等于50

职工

职工号

8个字符

主键不为空值

经理

参照仓库的仓库号,允许空值。

工资

货币

大于等于1000,小于等于10000

供应商

供应商号

4个字符

供应商名

16个字符

地址

30个字符

订购单

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

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

订购单号

订购日期

日期

默认是当前日期

金额

默认空值

订购单明细

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

序号

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)。

CREATESCHEMA命令的基本格式是(详细解释参见课文第3.3.1节):

CREATESCHEMAschema_name

CREATETABLE命令的基本格式是(详细解释参见课文第3.3.2节):

CREATETABLE[schema_name].table_name

({<

column_definition>

|<

computed_column_definition>

}

[<

table_constraint>

][,...n])

其中列定义(column_definition)的基本格式是:

Column_name<

data_type>

[NULL|NOTNULL]

[CONSTRAINTconstraint_name]

{{PRIMARYKEY|UNIQUE}|FOREIGNKEY(column[,...n])

REFERENCESreferenced_table_name[(ref_column[,...n])]

[ONDELETE{NOACTION|CASCADE|SETNULL|SETDEFAULT}]

[ONUPDATE{NOACTION|CASCADE|SETNULL|SETDEFAULT}]

|CHECK(logical_expression)

}

如果需要还可以定义计算列(computed_column_definition)和表级约束(table_constraint)。

ALTERTABLE命令的基本格式是(详细解释参见课文3.3.2节):

ALTERTABLE[schema_name.]table_name

{ALTERCOLUMNcolumn_name<

[NULL|NOTNULL]

|ADD<

|DROP[CONSTRAINT]constraint_name|COLUMNcolumn_name}

1代码:

createschemakun

1)createtablekun.仓库

(仓库号char(6)primarykey,

城市char(10),

面积char(10)check(面积in('

>

=50'

)))

2)createtablekun.职工

(职工号char(8)primarykey,

仓库号char(6)foreignkeyreferenceskun.仓库,

工资moneycheck(工资in('

between1000and10000'

)))

3)createtablekun.供应商

(供应商号char(4)primarykey,

供应商名char(16),

地址char(30))

4)createtablekun.订购单

(职工号char(8)foreignkeyreferenceskun.职工,

供应商号char(4)foreignkeyreferenceskun.供应商,

订单号char(6)primarykey,

订购日期datetimedefault11/2/2013,

金额money)

5)

createtablekun.订购单明细

(订购单号char(6)foreignkeyreferenceskun.订购单,

序号char(4),

产品名称char(20),

单价moneycheck(单价>

0)null,

数量intcheck(数量>

0)notnull,

primarykey(订购单号,序号))

3:

代码

1)altertablekun.订购单

add完成日期datetimenull

2)altertablekun.订购单明细

addconstraint数量check(数量between0and1000)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL的插入语句是INSERT,常用格式如下:

INSERTINTO[schema_name.]table_name[(column_list)]

VALUES({expression|DEFAULT|NULL}[,...n])

SQL的删除语句是DELETE,常用格式如下:

DELETE[FROM][schema_name.]table_name

[WHERE<

search_condition>

]

SQL更新记录的语句是UPDATE,常用格式如下:

UPDATE[schema_name.]table_name

SETcolumn_name={expression|DEFAULT|NULL}[,...n]

[WHERE<

其中,DELETE和UPDATE语句的WHERE子句可以嵌套子查询,从而完成若干其他表中记录或字段值的条件的删除或修改操作。

1:

1)仓库记录:

insertintokun.仓库(仓库号,城市,面积)

values(0001,'

新圩'

500)

insertintokun.仓库(仓库号,城市,面积)values(0002,'

600)

insertintokun.仓库(仓库号,城市,面积)values(0003,'

700)

insertintokun.仓库(仓库号,城市,面积)values(0004,'

insertintokun.仓库(仓库号,城市,面积)values(0005,'

insertintokun.仓库(仓库号,城市,面积)values(0006,'

800)

2)职工记录:

insertintokun.职工(职工号,仓库号,工资)

values(99,1,2000)

insertintokun.职工(职工号,仓库号,工资)values(98,2,3000)

insertintokun.职工(职工号,仓库号,工资)values(97,3,3000)

insertintokun.职工(职工号,仓库号,工资)values(96,4,3000)

insertintokun.职工(职工号,仓库号,工资)values(95,5,3000)

insertintokun.职工(职工号,仓库号,工资)values(94,6,3000)

insertintokun.职工(职工号,仓库号,工资)values(93,7,3000)

insertintokun.职工(职工号,仓库号,工资)values(92,8,3000)

insertintokun.职工(职工号,仓库号,工资)values(91,9,3000)

insertintokun.职工(职工号,仓库号,工资)values(90,10,3000)

insertintokun.职工(职工号,仓库号,工资)values(89,11,3000)

3)供应商记录

insertintokun.供应商(供应商号,供应商名,地址)

values(10,'

梦华'

'

阿拉斯加'

insertintokun.供应商(供应商号,供应商名,地址)values(11,'

insertintokun.供应商(供应商号,供应商名,地址)values(12,'

insertintokun.供应商(供应商号,供应商名,地址)values(14,'

insertintokun.供应商(供应商号,供应商名,地址)values(15,'

insertintokun.供应商(供应商号,供应商名,地址)values(16,'

订购单记录

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

values(15,98,74,'

1/1/2013'

1000,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,97,98,'

2000,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,96,97,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,95,96,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,94,95,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,93,94,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,92,93,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,91,92,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,90,91,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,89,90,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,88,88,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,87,87,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,86,86,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,85,85,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,84,84,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,83,83,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,82,82,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,81,81,'

insertintokun.订购单(职工号,供应商号,订单号,订购日期,金额,完成日期)values(16,80,78,'

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

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

当前位置:首页 > 职业教育 > 中职中专

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

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