数据库原理及应用崔巍书后Word文档下载推荐.docx

上传人:b****6 文档编号:20037924 上传时间:2023-01-16 格式:DOCX 页数:25 大小:170.05KB
下载 相关 举报
数据库原理及应用崔巍书后Word文档下载推荐.docx_第1页
第1页 / 共25页
数据库原理及应用崔巍书后Word文档下载推荐.docx_第2页
第2页 / 共25页
数据库原理及应用崔巍书后Word文档下载推荐.docx_第3页
第3页 / 共25页
数据库原理及应用崔巍书后Word文档下载推荐.docx_第4页
第4页 / 共25页
数据库原理及应用崔巍书后Word文档下载推荐.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

数据库原理及应用崔巍书后Word文档下载推荐.docx

《数据库原理及应用崔巍书后Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用崔巍书后Word文档下载推荐.docx(25页珍藏版)》请在冰豆网上搜索。

数据库原理及应用崔巍书后Word文档下载推荐.docx

\DB\data\test2log2.ldf'

--3

createdatabasetest3

(name=test3_dat1,

\DB\data\test3dat1.mdf'

(name=test3_dat2,

\DB\data\test3dat2.mdf'

filegroupg2

(name=test3_dat3,

d:

\DB\data\test3dat3.ndf'

(name=test3_dat4,

\DB\data\test3dat4.ndf'

filegroupg3

(name=test3_dat5,

e:

\DB\data\test3dat5.ndf'

(name=test3_dat6,

\DB\data\test3dat6.ndf'

(name=test3_log,

\DB\data\test3log.ldf'

--4

alterdatabasetest1

addfile

(name=test1new_dat,

\DB\data\test1newdat.ndf'

size=5MB)

--5

modifyfile

(name=test1_dat,

size=15MB)

--6

dropdatabasetest3

四、实验数据、结果分析:

若没有指定size,则默认为1MB,没有指定Maxsize,文件可以增长到磁盘满为止,没有指定Filegrowth,则默认为10%。

五、总结:

CREATEDATABASEdataname创建数据库

ALTERDATABASEdatabase修改数据库

DROPDATABASEdataname删除数据库

数据库系统及应用上机实验报告2

掌握表和索引的建立方法及表结构的修改方法,并实践DBMS提供的数据完整性功能,加深对数据完整性的理解。

建立表,修改表结构,建立索引,数据完整性描述。

三.、程序源代码:

createdatabase订单管理

createtable客户(

客户号char(8)primarykeycheck(客户号like'

[A-z]%'

客户名称varchar(40)notnull,

联系人char(8),

地址varchar(40),

邮政编码char(6)check(邮政编码like'

[0-9][0-9][0-9][0-9][0-9][0-9]'

电话char(12)check(电话like'

1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'

))

createtable产品(

产品号char(8)primarykeycheck(产品号like'

[A-Z][A-Z]%'

产品名称varchar(40),

规格说明char(40)constraintuniunique,

单价smallmoneyconstraintdjcheck(单价>

0))

createtable订购单(

客户referenceskeyforeigntnullnochar(8)客户号.

订单号char(8)primarykey,

订购日期datetimedefaultgetdate())

createtable订单名细(

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

序号tinyint,

产品号char(8)notnullforeignkeyreferences产品,

数量smallintconstraintslcheck(数量>

0),

primarykey(订单号,序号))

--修改产品表

altertable产品dropconstraintuni

altertable产品altercolumn规格说明varchar(40)

altertable产品addconstraintuniunique(规格说明)

altertable订购单add完成日期datetimedefaultnull

altertable订单名细dropconstraintsl

altertable订单名细addconstraintslcheck(数量>

0

and数量<

1000)

--建立索引

createindexcus_idxon客户(客户名称)

createuniqueindexgdn_nuion产品(产品名称)

--3创建表时,primarykey隐式地创建了聚集索引,而一个表中只能有一个聚集索引。

createclusteredindexoid_cluson订购单(订单号)--失败

createindexitem_idxon订单名细(订单号,序号,数量desc)

数据库系统及应用上机实验报告3

为实验2建立的表设计一组数据进行插入、删除、修改等操作,并体会数据完整性约束的作用,加深对数据完整性及其约束的理解。

数据的插入、更新和删除。

--1、部分记录

insertinto客户values('

C001'

'

A公司'

小明'

北京'

123456'

143567568457'

C002'

B公司'

小李'

上海'

234567'

146389045634'

insertinto客户(客户号,客户名称)values('

C009'

J商场'

insertinto产品values('

GD001'

iphone'

4s'

5000'

GD002'

ipad'

2g'

5500'

insertinto产品(产品号,产品名称)values('

GD010'

MacPro'

insertinto订购单(客户号,订单号)values('

or01'

or02'

insertinto订购单(订单号)values('

or19'

insertinto订单名细values('

1'

4'

2'

3'

6'

insertinto订单名细(订单号,序号,产品号)values('

or14'

28'

GD006'

deletefrom客户where客户号='

--受参照完整性约束

deletefrom订购单where订单号='

update订购单set订单号=nullwhere客户号='

--受实体完整性约束

update订购单set客户号='

C011'

where订单号='

or04'

--受参照完整性约束

or07'

--更新成功

update订单名细set数量=0where序号='

9'

--受用户定义完整性约束

update订单名细set数量=数量+10

from订购单

where订购单.订单号=订单名细.订单号and客户号='

deletefrom订单名细

在删除客户号为“C002”的记录时无法删除,因为客户表被订购单表参照。

删除订购单号为“or01”的记录时无法删除,因为订单名细表参照订购单表。

第一个更新根据实体完整性约束,订单号是主关键字,不能为空值。

第二个更新根据参照完整性约束,订购单表参照客户表,而客户表中没有客户号为“C011”的客户。

第四个更新根据用户定义完整性约束,数量必须为正整数。

使客户号为C002的订购单的订购数量增加10.

删掉客户号为C002的订单名细记录。

插入:

INSERTINTO<

表名>

[(<

列名>

[,<

…])]

values(<

表达式>

…])

更新:

update<

set<

=<

…]

[[from<

]where<

逻辑表达式>

]

删除:

DELETEFROM<

[[FROM<

]WHERE<

完整性约束影响插入、更新和删除等操作

数据库系统及应用上机实验报告4

熟练掌握SQLSELECT语句,能够运用该语句完成各种查询。

用SQLSELECT语句完成各种数据查询。

select*from客户

select客户号from订购单

select*from产品where单价>

=5000

5000and产品名称='

Macbook'

6000and产品名称in('

selectc.客户名称,c.联系人,c.电话,o.订单号

from客户c,订购单o

whereo.订购日期between'

2011-10-30'

and'

2011-12-1'

andc.客户号=o.客户号

--7

selectdistinct客户名称,联系人,电话

from客户c,产品g,订购单o,订单名细d

where产品名称='

andg.产品号=d.产品号

andd.订单号=o.订单号

ando.客户号=c.客户号

--8

select*from订单名细

where产品号in(

select产品号

产品from

--9

select*from订购单

where订单号in(

select订单号

from订单名细

where数量>

10)

--10

select*from产品where单价=(select单价from产品where规格说明='

--11

select*from产品where单价between1000and5000

--12

select*from客户where客户名称like'

%集团'

--13

select*from客户where客户名称notlike'

%商场'

--14

select*from产品orderby单价

--15

select*

from产品

orderby产品名称,单价

--16

selectCOUNT(产品号)

--17

selectSUM(数量)

where产品号=(select产品号

--18

selectSUM(数量*单价)总金额

from产品,订单名细

where产品.产品号=订单名细.产品号

and产品名称='

ipodnano'

--19

selectCOUNT(distinct订单号)as订购单个数,AVG(数量*单价)as平均金额

--20

select订单号,COUNT(订单号)项目数,SUM(g.单价*o.数量)总金额

from产品g,订单名细o

产品号=o.产品号whereg.

groupby订单号

--21

selecti.订单号,MAX(数量*单价)最高金额,MIN(数量*单价)最低金额

from订购单o,产品g,订单名细i

whereo.订单号=i.订单号

andg.产品号=i.产品号

groupbyi.订单号

--22

select订单号,COUNT(*)项目数,AVG(数量*单价)平均金额

from产品g,订单名细i

whereg.产品号=i.产品号

havingCOUNT(*)>

=2

--23

select客户名称,联系人,电话,订单号

wherec.客户号=o.客户号

and订购日期isnull

--24

select客户名称,联系人,电话,订单号,订购日期

from客户,订购单

where客户.客户号=订购单.客户号

and订购日期>

'

2011-10-10'

--25

from产品outa

where单价=(selectMAX(单价)

from产品innera

whereouta.产品名称=innera.产品名称)

--26

select客户号

from客户

wherenotexists(

where客户.客户号=订购单.客户号)

--27

whereexists(

客户号.订购单=客户号.客户where

--28

select产品名称

where单价=any(select单价/2

from产品)

--29

where单价>

all(selectmax(单价)from产品)

--30

--cross

select*from客户crossjoin订购单

--inner

select*from客户innerjoin订购单

on客户.客户号=订购单.客户号

--left

select客户.*,订单号,订购日期

from客户leftjoin订购单

--right

from客户rightjoin订购单

--full

from客户fulljoin订购单

数据库系统及应用上机实验报告5

理解视图的概念,掌握视图的使用方法。

定义视图,并在视图上完成查询、插入、更新和删除操作。

--1)、基于单个表按投影操作定义视图

createviewv_cusas

select客户号,客户名称

--使用

select*fromv_cus

--2)、基于单个表按选择操作定义视图

createviewv_orderas

订购单from

where客户号='

select*fromv_order

--3)、基于单个表按选择和投影操作定义视图

createviewv_cussas

select客户名称,联系人,电话

C003'

select*fromv_cuss

--4)、基于多个表根据连接操作定义视图

createviewv_joinas

from客户join订购单

select*fromv_join

--5)、基于多个表根据嵌套查询定义视图

createviewv_itemas

select*fromv_item

--6)、查定义含有虚字段的视图

createviewv_items(订单号,序号,产品号,数量,总金额)as

selecti.*,i.数量*g.单价

from订单名细i,产品g

wherei.产品号=g.产品号

select*fromv_items

--在视图上查询

--在视图上插入

insertintov_cusvalues('

C012'

Google'

--在视图上更新

updatev_orderset订购日期='

2011-11-29'

--在视图上删除

deletefromv_cus

7

上机实验报告数据库系统及应用.

理解存储过程的概念,掌握存储过程的使用方法,加深对客户/服务器机制的理解。

存储过程的建立和执行。

--1、查询单价范围在X元到Y元内的产品信息

createprocsp_getgoods

@price1money,@price2money

as

where单价>

@price1and单价<

@price2

if@@ERROR=0

return0

else

return-1

--执行

declare@statusint

execute@status=sp_getgoods1000,6000

print@status

--2、查询在某年某月某日之后签订的订购单的客户信息

createprocsp_or_cus

@datesdatetime

订购日期电话,订单号,select客户名称,联系人订购单客户from,客户号订购单.=where客户.客户号>

@dates订购日期and

if@@ERROR=0

--执行declare@status1int

execute@status1=sp_or_cus'

2011-10-27'

print@status1

、将某产品的订购日期统一修改为一个指定日期--3createprocsp_upd_date

@gdnamevarchar(40),@odatedatetime

update订购单=@odate订购日期set

in(订单号where

订单号select

订单名细from

where产品名称=@gdname))

declare@status2int

execute@status2=sp_upd_date'

2011-10-23'

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

当前位置:首页 > 高等教育 > 教育学

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

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