数据库原理及应用实验指导书_第1页
数据库原理及应用实验指导书_第2页
数据库原理及应用实验指导书_第3页
数据库原理及应用实验指导书_第4页
数据库原理及应用实验指导书_第5页
已阅读5页,还剩109页未读 继续免费阅读

下载本文档

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

文档简介

1、1 / 100数据库原理及应用实验与课程设计指导书赖玉霞编2 / 100实验2 了解SQL SERVER 2008环境1015实验8视图.索引的使用.44实验9触发器和游标的使用.50实验10存储过程和用户自定义函数的使用59目录第一部分实验指导实验1数据库模型设计.实验3数据库的创建与管理实验4数据表的创建与管理 .23实验5数据简单查询 .28实验6 6数据连接查询 .34实验7数据嵌套查询 .39第二部分课程设计指导3 / 100 U1*厂-Vfiw rt uc*f 实验1数据库模型设计一、实验目的1.了解ER图的概念2.掌握用PowerDesigner等ER设汁工具绘制ER图。3.掌握

2、ER图转化为关系模式二、实验内容已知销售管理数据库mySalcs涉及下列主要对象:产品、供应商、客户、员工、订单、运输公司 等,其语义如下:1)产品按类别进行分类管理,一个产品只属于某一个类别,一个类别可以有多个产品;2) 一个产品只有一个供应商供应,一个供应商可以供应多个产品:3)一个客户可以购买多个产品,一个产品可以销售给多个客户:4) 一个客户可以有多张订单,一张订单只对应一个客户;5) 一张订单可以包含多个产品,一个产品可以出现在不同的订单中,但同一张订单同一个产品 只能出现一次:7) 一张订单只由一个员工负责,一个员工可以负责多张订单。1.用PowerDesigner工具画出该数据库

3、的E-R图。2.把ER图转化为关系模式三、实验步骤1.建立实体和属性(1)运行PowerDesigner程序,选择File -nev model菜单项,打开如图1所示的窗口,在该窗口中选择要建立的模型类型一一Conceptual Data Model (概念模型)。图 1 1 new model 窗口do卫 QF P A *亠 /9 O E 1令刊辱*鼻B 禺/ A ACerceLI4 / 100皿e*:ljd、o pgurJI.2(2)单击OK按钮,打开如图1.2所示的CDMI作区。工作区包括左侧的浏览窗口,右侧的设 计窗口,下侧的输出窗口和浮动的工具窗口(Palette),可以利用工具窗口

4、的图标在设il窗口中设计 ER图o图1.2CDM工作区工具窗口主要图标的用途如表l.l所示表ll工具窗口图标的用途圏形抿作圏形容称操作指针联方连摂插入联合连揍符号区城的选择符号回文件插入一-文件符号超体迭捋迭捋全郃符弓,一起 设氏大小注释插入注释符号畝大族穴视野范田连揍/旷 展依赖在国表中的符号之间画-个图形连按,在注程和 -个对聂之间画一-、往 释连摻,在两个支持扩展 依赖的对聖间画一个扩 辰依赖縮小縮小观野矩圉主题插入主题符号打开包圏表呈:示选择包的图表文本插入文本愿性且示迭捋的符号屈性、插入一条绒删除删除符号O弧插入一个国弧I3fl包插入包符号O恢方形插入一个长方形曰实体插入实体符耳O椭

5、園插入一个瀚園%关系插入关系符号O園角矩形插入一个園角矩形&継爭疝入継爭符号zV折缕插入一条折缕O联合插入貶台符号iZ插入一个多边形(3)选择工具窗口中的实体图标,光标变为该图标的形状,在设计窗口的适当位置单击鼠标. I * PovorPerUcnerCD CeptviftJPot ABcdc-I. J, Piacra*_ 1)曰固区1事 ni* X4it 归“Ci4*l ystlpo八 匸.X7空為国4b M X AJSiJd 迥 NN| 曰 JU詔A 2|立止 巧巧0 rTG*founa/u:alb prequel lot Kdpail cirlkCwftaiai Aczx 03咲 Wga

6、on 入Rozr“ J5 / 100在单击的位置上岀现一个实体符号,如图13所示。6 / 1003C0K 二 Rccd mv-J0rD fq o丄U QI, lAr I、E*i* X * *!ri*x.i 50|O & 小力33 F/kA ) )* S3 31 o3 JI 21 口 RCU图1.3CDM工作区(4)在设计窗口的空白区域,单击右键使得光标变为箭头形状,然后选中该实体并双击,打开 如图1.4所示的实体属性窗口。图1.4实体属性窗口其中General页中主要选项的含义:Name:实体的名字Code:实体代码Comment:注释(5)在name栏中输入实体名称产品,在code栏中输入实

7、体代码“product”,单击Attributes 7 / 100页,在该页中楚义实体的属性,如图15所示8 / 100I空Mji g 显 ggAXL*bU CUTAXUCC (.) O 辭取人RiciabU claroct fiM) 於天.A.并*HrixbU ALahU CIATAUCC (W) /KflE越仃*Ric mbkclaroct-c*( (13)以龙cUrxcuc. Il3) 月i$tS杲TasbSeUrUccllS)ME.条文actabkcknrtuV-o( (10)&天勺備TirahUcUr&cunIZ-1)laciAbU el*rUcc 20 TwvibS clar-t

8、(WO)MOM勺( (40)oirr 】atiku(kuRsS绝 v iabU cjorcicrs Ihu ixbU( (kuiM:1TC *.Vu iobk ckuDdera axiabU comers Suixbl.( (40) OS CW) (60) ( ( 倆 (他 Q6 (20QttDST(0OTJoWe :barocRr tZO) ) :ox&cicrs I.3D) (uuthsTB7: HC :fiv:icrs I.50) CiaCUUMC.TC (3( (0 arsoWe :baroclerw (Z0 IODIfetvaHc cuoclcr* 120) ) BO*FTAX La

9、bU cX*x:Urc l?2.建立实体之间的联系(1)选择工具窗口中的Relationship图标,单击实体产品,保持左键按下的同时把光标拖拽到 产品类别实体上然后释放左键,一个默认的联系就建立了,如图17所示。图1.7 CDM工作区(2)选中图1.7的联系,双击将打开图1.8所示的联系的属性对话框。General页中立义联系 的常规属性,幷中name栏立义联系的爼称,code栏泄义联系的代码,Entity 1和EnMy2栏泄义有 联系的两个实体名称。两个实体具体有什么类型的联系在Cardinalities页中泄义,一个产品只属于 某一个类别,一个类别可以有多个产品,所以产品和产品类别之间是

10、多对一的关系。如图18所示图1.8联系属性窗口flayer leJTAXLabU cXu:Urc T* L*Ll |x LabU cu:Ura TAXiAbU cXai:trc *LaLl HrtubU eoio? Ur T*xL*bU clu: t*rc T* L*Ll Hrt*bU elar”4r “心 SKC ”】亠31. .J. | lr ubU XkUHrtubU J3l |?410 / 100产ftfiHb ciaatztrn 143)13t辭*人毎 壮加S 3AL*hU C1*M:UIC |( (0州住&巾arizLbk ckuo:Rf 1)9斯任堆SSFortobk cJaro

11、:Ur U5J.他帥hLfftxbU CJOXA: trs 1 沏uxbU ciax:trc |)C0Feuvxbk cleuo: UTattahk ckuo:T IMTixixbU cxr:trs llttrrrre列 lm rI Z7&36ja?匕CUTAXUCC |aft) ar aoH claract oyjoW: ckarocS 115) fwiiH* VKBH ebaaUcc |&V : cloractc IZ4) arioHc claractc I1M)出衣日口rteaixe话Gre,c: c H)亦bl4 4rS5( (20) ) riabU cuscicrs ( (30) b

12、k1Ja1ctu ioW*: cieuoclerw (ftO) 7iabU c3or*clcrs (10) hu ijibk c3Lrc (2CHECK MODEL菜单项,打开模型检查参数设置窗口,单击 确定,开始检査CDN4模型。如发现错误或警告,系统将显示提示信息,按提示信息修正即可,有 些警告可以忽略,不去理会。3.把ER图转化为关系模式(1 )打开 CDM 模型,选择 tools generate physical data model,打开如图 1.10 所示的生成 PDM 设置窗口,在General页中选择生成PDM的方式及其参数。选择generation new physical

13、 data model 表示生成新的PDM,选择update existing physical data model则与已经存在的PDM介并生成新的 PDM.图 1.10 PDM Generation Options 窗口卽庄更里* pO皿心S3&2 ZgJICiakahU cUxAfUrc1arxLbk claractr 13ftKrdanxuxs 1255)e11 / 100厂产晁ill垃产几乂背s巧 产晁$必*1 .wcJarf) .WCJOLr D3)1*冷冷007gdzss)性灯站?ME丿枫讣 恥浙桜KM再冥MR.ruvlm IE) rrdarl 期 wclja|lS xx elm

14、 ilS)vckja|10 XIVLorl?4) rrdxrlM rir:lja|103).j兰岁殳Trir)其匚$:巧cku ujVTMB414aV:lirr询iaMtirc粒嫂日VK*i5Ul 农dnlirr3滞庄HZ 席$呂貳 “硼殆=nET41D) ) x*reUx(3C0 xuclmCJO)MMXCUxO xuclar()5) )*rcba(3C0 xuclmCiO H4(24) ttrcbaOCO4貯竺MXCU(2C0名xueUrGO)祁日“xueUrfoO)icwwwcUrl.W)-orcUx 02 0(2) 选择detail页,进行细节选项设置。(3) 选择selection页

15、,选择要转换为PDM表的实体。(4)单击确立按钮,开始生成PDM,在result list窗口中显示处理过程中出现的警告、错误和提示信息。(5)根据提示对出现的警告和错误进行修改。(6)生成的PDM如图1.11所示。图1.11生成的PDM模型四、思考题1. 什么是数据库的逻辑结构和物理结构?2. ER图转化为关系模式的规则?实验2 了解SQL SERVER 2008环境一、 实验目的1 了 解 SQL Server2008 的安装。久只15玄i-t!BHrswap:ST12 / 1002了解SQL Server2008服务的启动和停止。二、 实验内容1. SQL Server2OO8 的安装。

16、2. SQLServer2OO8服务的启动和停止。三、 实验步骤L SQL Server2OO8的安装步骤(1)双击SQLServer2008的安装文件,选择全新安装,如图2所示图2.1 SQLServer安装中心(2)选择具有髙级服务的express版本,如图2.2所示; SOL Server 2008 安跌&灯13回13/100产asw支氽?洋支捋文件荒定SQL SerTAf的町用版左,衣捋供SQL Sr L品溯逓证憾SSL Server 20便实创。/入 PI icrovof t证书1(2产*5s色皴上的25个子符的艺tfl 聲怎捋定Eairpri % Ev*lu(i w J Fiji歹

17、空曲在琢,合捋貝衣300天的有处期若歪从一吩加水升级砂另一个熾* , E庞行恿*升总向2 Hi定可用馬3: 取的图 2.2 SQL Server2OO8 安装程序(3)全选功能项,如图2.3所示图2.3 SQL Scrvcr2008功能选择窗口(4)选择默认实例.如图2.4所示V SQL S*trvr 2008 立泉巒”區回(X14 / 100增定XfL 5.r 少何的名XCR尖例XI-s*w 序立 waj 勒毗&掲勺fitE傾賽或5Rtt引樹力JU”rt&x冋LZMpr gC:ProD5 Pil/li cr0ot ML $rvrSijL Srvac 日录:C Wroxr MI FileaXV

18、icravoft SJjL S*T7rASS(L30. SALEcjex%JUp6r*ta Sw94J4t 目$ CFJtXVseriafl SI)L S*rvrJR$aS10 SQLXrpretc已安缺的妄例lk:D*v*lc*r图2.4 SQL Scrvcr2008实例配置窗口(5)选择用户账户名,如图15所示图2.5 SQL Server2008服务器配置窗口(6)选择身份验证模式,如图2.6所示功IfcS*rvb* Cccocrt*.15 / 100图2.6 SQL Scrvcr2008数据库引擎配置窗口(7)系统配置验证正确标志(不能有失败项),如图2.7所示图2.7 SQL Ser

19、ver2OO8安装规则窗口(8)开始安装,直到安装结束为止。2. SQLServer2OO8服务的停止或启动16 / 100&*jf:JV比金,%QcG BSVPAccess ccass . Oasktop. Pracadu Procdu需 ESNQ 绻hen TM SRiMec AntiV %Synggc AaliV. 2rgQ c E7ai STmtC lTctO 嗨SyrglQC Eg*. 严gl c SeKi 电企iMec SPBBCSvcSyUt Evgl S.5 5跑启存曲免为W W充s.rttis.rttifuBttufuBttu己吕动 巳8动 已启动 已B勃已B动 己葩 巳8动

20、 已B动販韵动动动韵动前韵喲前韵动动矽韵动票骑动 启手手手手自手手手己手手目包自UD手已己目本地磁本地磁本地舷(1)选择控制面板一一管理工具一一服务,打开服务窗口,双击SQLServer打开SQLServer属性窗口,在服务状态中点击停止按钮,可以停止SQLsener服务,如图2.8所示。%司|x图 2.8 SQL Server 属性窗口(2)双击SQLServer打开SQLServer属性窗口,在服务状态中点击启动按钮,可以启动SQLServer 服务。四、思考题1.在SQL Server中连接到服务器有哪几种登录方式?2.如何启动或停止SQL Serve的服务?实验3数据库的创建与管理一、

21、实验目的1. 理解SQL Server 2008数据库的数据文件及日志文件。2. 熟练掌握和使用 SQL Serxer Management Studentsdio、Transact-SQL in句创建和管理数据 库。3. 学会使用SQLServer査询分析器接收Transact-SQL语句和进行结果分析。二、实验内容1. 创建数据库。.;xprt rv * SQL Server Management Studentsdio 在“对象资源管理器”窗格中展开服务器,选择“数据库”节点,右击,在弹出的快捷菜单中选 择“新建数据库”选项,如图3.1所示。图3.1选择新建数据库命令 此时弹出“新建数据

22、库”对话框,如图3.2所示。在数据库名称文本框中输入数据库名称 “mysalcs”,输入数据库的所有者,这里使用默认值。在数据库文件列表中,包括数据库文件和日 志文件。该列表中的逻辑名称、文件类型、文件组、初始大小,自动增长保留默认值不变,把文件 路径该为数据库存放位置e:mydbmysales ”18 / 100图3.2新建数据库对话框 单击确立按钮,就可以创建mysalcs数据库。在SQL Server Management Studentsdio窗口中 岀现mysalcs数据库标志,就表明创建数据库成功。提示:数据库和事务日志文件的初始大小与model数据库指定的默认大小相同,主文件中包

23、含数据 库的系统表。(2)使用Transact-SQL语句创建数据库 在SQL Sender Management Studentsdio窗口中单击常用工具栏的“新建查询”按钮,创建一 个查询文档,如图3.3所示。 在查询文档中输入如下代码:USE masterCREATE DATABASE mysalesON primary(NAME = mysales. = e:1nyDB1nysales.mdf. SIZE = 10.MAXSIZE = 500, =5)LOG ON(NAME = mysales_log. = *e:inyDBinysalesJog.ldf. SIZE = 5MB.MAX

24、SIZE = 250MB. =5%)提示:SQL语句不区分大小写,每一项的分隔符是逗号,最后一项没逗号,代码中的符号须是 英文状态下的符号。正确输入后,按F5键或单击执行按钮,就可以执行SQL语句,创建指圮数据库文件位置的数 据库。19 / 100行1宛I6 1Ins图3.3新建查询窗口1.查看和修改数据库的属性。(1)使用SQL Server Management Studcntsdio查看和修改数据库屈性。 在SQL Server Management Studentsdio窗口中选中需要修改或查看的数据库节点,右击,在弹 岀的快捷菜单中选择“属性”选项,弹出数据库属性对话框,如图3.4所

25、示。 在该对话框中选择文件”项,就可以对数据库文件进行修改。可以增加数据文件,也可以 删除数据文件,还可以修改数据库文件的逻借需、大小、增长率。提示不可以修改数据库文件的类型、所在的文件组、路径及文件名。20 / 100 选择文件组项.可以查看当前数据库的文件组情况,并且可以增加.删除文件组,修改文件 组信息。 在这里还可以对选项,权限等项进行设置“1 ftWffMfl -.yxMl-r_:八: _a ASM图3.4数据库属性窗口(2) 使用Transact-SQL语句修改数据库属性 增加数据文件。如在数据库mysales中增加一个数据文件,任査询文档中输入以下代码:USE masterALT

26、ER DATABASE mysalesADD FILE /在E盘MYDB文件夹中瑁加一个数据文件*/(NAME = myDBDatl. = E:inydbmyDBDatl.ndl SIZE = 10MB, MAXSIZE = 1GB.=2MB)GO在增加数据文件前,要先获得修改权限,即alter database mysales,然后再添加数据文件。在正确输入后,按F5键或单击执行按钮,就可以执行SQL语句。 增加日志文件。如在数据库mysales中增加一个日志文件,在査询文档中输入以下代码:USE masterALTER DATABASE mysalesADD LOG FILE(NAME =

27、 myDB_Da(2. = E:inydbmyDBDat2.1dt SIZE = 10MB. MAXSIZE = 1GB,= 2MB)GO在正确输入后,按F5键或单击执行按钮,就可以执行SQL语句。修改数据库文件。例如,修改数据库mysales中的数据文件的初始大小和最大扩展空间。在 查询文档中输入以下代码:USE masterALTER DATABASE mysalesMODIFY FILE /*修改数据文件的初始大小SIZE和最大扩晨空间MAXSIZE. */(NAME = myDB.datl, SIZE =15MB, MAXSIZE = 2GB. = 10%)ISSJH3Y-1D50?F

28、WF9A4rr QSTKi7fWF9LZ(flSS羽童.卫阪怪Wtt21 / 100在正确输入后,按F5键或单击执行按钮,就可以执行SQL语句。提示:修改数据库文件的大小时,文件大小只能变大,不能变小。删除数据文件。例如,删除数据库mysales中的日志文件,需要在查询文档中输入以下代码:USE masterALTER DATABASE mysalesREMOVE正确输入后,按F5键或单击执行按钮,就可以执行SQL语句。査看数据库用户创建或修改数据库后,可以使用系统存储过程sp_helpdb查看数据库的各项参数设置值, 包括数据文件和日志文件的逻辑名、物理名及英路径、各个文件的初始大小、最大文

29、件大小以及数 据库当前状态等。例如,査看数据库mysales的齐项参数值,可在查询文档中输入以下代码:EXEC sp_helpdb ,mySales,正确输入后,按F5键或单击执行按钮,就可以执行SQL语句。3.修改数据库的划称。(1) 使用 SQL Server Management Studentsdio 修改数据库名称。在SQL Server Management Studentsdio窗口中选中需要修改的数据库肖点,右击,在弹出的快捷 菜单中选择“重命名”选项。当数据库名称处于可编辑状态时,输入新爼即可。(2) 使用Transact-SQL语句修改数据库名称。在查询文档中输入代码,EX

30、EC sp_renamedb mysales1, mydb,按F5键或单击执行按钮,就可 以执行SQL语句。4.删除数据库。(1)使用 SQL Server Management Studentsdio 删除数据库。在SQL Server Management Studentsdio窗口中选中需要删除的数据库节点,右击,在弹岀的快捷菜单中选择删除”选项,弹出删除对象对话框,点击确左按钮即可。(2)使用Transact-SQL语句删除数据库。在査询文档中输入代码,/*删除一个数据库*/IF EXISTS(SELECT NAME FROM SYSDATABASES WHERE NAME=MYDB)

31、DROP DATABASE MYDBGO/*删除多个数据库*/DROP DATABASE MYDBI. MYDB222 / 100正确输入后,按F5键或单击执行按钮,就可以执行SQL语句。5.数据库的备份与恢复。(1)备份数据库文件1)使用 SQL Server Management Studentsdio 备份数据库文件。 在SQL Server Management Studentsdio窗口中选中需要备份的数据库节点,右击,在弹出的快捷菜单中选择“任务”一一备份,弹出备份数据库对话框,如图3.5所所示。图3.5数据库备份窗口在该对话框点击添加,添加备份的路径,添加成功后,按确左按钮。2)

32、使用Transact-SQL语句备份数据库文件。新建查询文档,在文档中输入代码USE MASTERBACKUP DATABASE MYSALES TO DISK = E:BACKUPMYSALES.BAK WITH FORMAT正确输入后,按F5键或单击执行按钮,就可以执行SQL语句,成功备份数据库mysaleso(2)恢复数据库文件1)使用 SQL Server Management Studentsdio 恢复数据库文件。 在SQL Server Management Studentsdio窗口中选中需要备份的数据库节点,右击,在弹出的快捷菜单中选择“任务” 一一还原一一数据库,弹出还原数

33、据库对话框,如图3.6所所示。23 / 100图3.6数据库还原窗口在该对话框点击源设备,添加备份好的文件路径,添加成功后,按确沱按钮,还原成功。2)使用Transact-SQL语句恢复数据库文件。新建查询文档,在文档中输入代码USE MASTERRESTORE DATABASE MYSALES FROM DISK=E:BACKUPMYSALES.BAK*正确输入后,按F5键或单击执行按钮,就可以执行SQL语句,成功还原数据库mysaleso(3)附加数据库文件1)使用 SQL Servrer Management Studentsdio 附加数据库文件。 关闭SQL Server服务,把E:

34、mydbmysales.mdf和mysalesjog.ldf文件拷贝到其他存储设备 中。 打开SQLServer Management Suidcntsdio,选中数据库-附加,弹岀附加数据库对话框,点击添加按钮添加备份设备中的mysales.mdf,按确宦按钮即可附加数据库。提示:在拷贝数据库文件时,SQLServer服务一定要停止,否则拷贝不成功。2)使用Traiisact-SQL语句附加数据库文件。新建査询文档,在文档中输入代码24 / 100EXEC SP ATTACH DB N1YSALESTE:BACKUPMYSALES.1V1DFTE:BACKUPMYSALES_LOG LDFM

35、M正确输入后,按F5键或单击执行按钮,就可以执行SQL语句,成功附加数据库mysales,四、思考题1.SQL Server 2008物理数据库包含了哪几种类型的文件?2.数据库移植有哪几种方法?25 / 100实验4数据表的创建与管理一.实验目的1熟练掌握和使用SQL Scrxer Management Studentsdio、Transact-SQL语句创建和管理数据 表。2. 熟练掌握数据表的数据完整性约束。3. 熟练掌握数据表的数据维护操作。4. 学会使用SQLServer査询分析器接收Transact-SQL语句和进行结果分析。二、实验内容1分别使用SQL Server Manage

36、ment Studentsdio和Transact-SQL语句创建和维护表结构2.使用Transact-SQL语句创建数据完整性约束。3.使用Transact-SQL语句输入和维护数据记录。三. 实验步骤1.创建Products (产品)表,Orders (订单)表,Orderitems (订单明细)表,表结构如表4,4.2,43 所示1)使用SQL Server Management Studentsdio创建表结构4.1 Products (产品)表序号列名类型长度完整性约束与规则描述1ProductIDInt4主键产品编码2ProductNamenvarchar40非空产品名称3Quan

37、tityPerUnitnvarchar2()规格型号4UnitPricemoney30UnitPricoO成本单价5Category IDInt产品类别编码6SupplierlDInt供应商编码7Photopathnvarchar255图片路径4.2 Orders (订单)表序号列名类型长度完整性约束与规则描述1Order IDInt4主键订单编号2OrderDatedatetime1()非空订单日期3Requireddatedatetime1()要货日期4ShippedDatedatetime10发货日期5InvoiceDatedatetime1()开发票日期6Freightmoney1()

38、运费7CustonwrlDnvarchar5客户编码8EmployeelDInt4员工编码9ShipperlDInt4运输公司编码4.3 Orderitems (订单明细)表序号列名类型长度完整性约束与规则描述1OrderlDInt4组合主键,外6L参照0rders(OrderlD)订单编号2ProductIDInt4组合主键.外6L 参照 Products(ProductID)产品编码3QuantityInt4不等于0销省数駅4UnitPricemoney1()大干0销售单价26 / 100.m对昨朋 Q XiKCT-nWrryeQLEXPBESS (SQL Serr3 -I參拓注I Lu京

39、畑砂二( (J nr*MlxCJG ?Fb 疾僦d dbo. ProductsS Q 出匸同义词 te LJ町绑?性S 口 Service Brotosr&LJ安全巻* J R4P0rtSrvw$SQLKCmSS _J Rpor SrvwJSlJLIIJ7KETeripl 必二4安全性a _j蜃劣器利直封一115理总左克型九详P“l5PQIKHDImt口PcaxtHarre Quantit沦rUM J価Ys S43piDfr、y( (ter(40)gr(Ter(20)0moneymt0aUoorylDPhjfxPMCeccrtroedint0nvbdw= 0) GOCREATE TABLE O

40、rders (OrderlD int IDENTITY( 10248.1) PRIMARY KEY CLUSTERED. CustomerlD nchar (5) NOT NULL ,EmployeelD nchar(7) NOT NULL, OrderDate datetime NULL,RequiredDaie datelime NULL,InvoiceDate datetime NULL,ShippedDate daletime NULL,ShipperlD int null.Freight money NULL CONSTRAINT DF_Orders_Freighl DEFAULT

41、(0) GOCREATE TABLE Orderitems (OrderlD int NOT NULL,ProduclID int NOT NULL.UnitPrice money NOT NULL CONSTRAINT DF_OrderItems_UnilPrice DEFAULT (0),Quantity int NOT NULL CONSTRAINT DF_OrderItems_Quantity DEFAULT( 1),Discount decimal(6.2) NOT NULL CONSTRAINT DF_OrderItems_Discount DEFAULT (0), Amount

42、as CAST(Quaiitity*UnitPrice*(l-discount) as decimal 12.2),CONSTRAINT PK_OrderIns PRIMARY KEY (OrderlD.ProductID).CONSTRAINT CK_OrderItems_Discount CHECK (Discount = 0 and (Discount 0),CONSTRAINT CK.Orderltems.UnitPrice CHECK (UnitPrice = 0)GO正确输入后,按F5键或单击执行按钮,就可以执行SQL语句,成功创建表结构。2修改表结构,创建外码在数拯库查询文档中输

43、入以下代码:ALTER TABLE Orderltems ADDCONSTRAINT FK_OrderItems_OrderID FOREIGN KEY (OrderlD) REFERENCES dbo.Orders(OrderlD),CONSTRAINT FK.Orderllems.ProduclID FOREIGN KEY (ProduclID) REFERENCES dbo.Products(ProduclID) GO正确输入后,按F5键或单击执行按钮,就可以执行SQL语句,成功创建外码。3数据输入1)使用Transact-SQL语句向数据表中输入表4.4,表4.5 ,表4.6所示的数拯

44、。表 4.4 Products (产品)表productid produclnameQuantityPerUnitUnitPrice SupplierlDCategorylDPhotoPath1Chai10 boxes x 2018.00112Chang24 12oz19.00113Aniseed Syrup12-550 ml10.00124Chef Antons Cajun Seasoning48-6ozjars22.00295Chef Anions Gumbo Mix36 boxes213522表4.5 Orders (订单)表orderidorderdaterequireddateshi

45、ppeddateinvoicedatefreightcustomeriemployeeidshipperi102482008-01-042008-02-012008-01-162008-01-311181.2500VINETMFS523M84102492008-01-052008-02-162008-01-102008-01-31196.4300TOMSPENL442F78102502008-01-082008-02-052008-01-122008-01-191303.6900HANARM-L528F34102512008-01-082008-02-052008-01-152008-01-3

46、11260.4400VICTEPXH222M83102522008-01-092008-02-062OO8-OM12008-01-31456.7100SUPRDPTC119M7528 / 100表4.6 Orderitems (订单明细)表orderidproduclidquantityunilpricediscountamount10248115.55009000.2011196.0010248310.800012000.0012960.0010248522.95001600.003672.0010249119.4400239().004646.1610249220.52002660.005

47、458321024942138009000.1017317.8010250116.520010490.1514730.0610250423.7600800.001900.8010251119.44001050().0020412.0010252116.5200997().1513999.87 在査询文档中输入以下代码:-Products-INSERT INTO Producls(ProductName.SupplierID,CategoryID.QuantityPerUnit.UnitPrice.Photopath)VALUES CChaiVlVlVlO boxes x 20 bags8)IN

48、SERT INTO Products(ProductName,SupplierID,CategoryID,QuantityPerUnit,UnitPrice,Photopath)VALUES (,Chang,;r;l,24 - Roz bottles*,19;r)INSERT INTO Producls(ProductName.SupplierID,CategoryID.QuantityPerUnit.UnitPrice.Photopath)VALUES CAniseed Syrup? 1*2V 12 550 ml bottles*.IO:*)INSERT INTO Products(Prod

49、uctName,SupplierID,CategoryID,QuantityPerUnit,UnitPrice,Photopath)VALUES CChef Antons Cajun Seasoning*;272V48 6 ozjars22?)INSERT INTO Producls(ProductName.SupplierID,CategoryID.QuantityPerUnit.UnitPrice.Photopath)VALUES CChef Antoifs Gumbo Mix,;2V236 boxes;2135)正确输入后,按F5键或单击执行按钮,就可以执行SQL语句,成功插入产品表记录

50、。 在査询文档中输入以下代码:.Orders-INSERT INTO Orders(CuslomerID.EmployeeID.OrderDate.RequiredDateJnvoiceDate.ShippcdDate,ShipperID.Freighl)VALUES (,VINET,.,MFS523M,:2OO8-1 -4*2008-2-1V2008-1-3172008-1 -16T84: 1181.25)INSERT INTO Orders(CusloinerlD.EmployeelD.OrderDate.RequiredDateJnvoiceDale.ShippedDate.Shippe

51、rlD.Freight)VALUES(TOMSPTENL442FT2008亠 5T2008216T2008小 31T2OO8 亠 10T78J96.43)INSERT INTO Orders(CuslomerID.EinployeeID.OrderDate.RequiredDate.InvoiceDate.ShippedDate,ShipperID.Freight)VALUES (*HANAR M-L528F:2008-1 -872008-2-5*:2008- i-192008-l-12T34: 1303.69)INSERT INTO Orders(CusloinerlD.EmployeelD

52、.OrderDate.RequiredDateJnvoiceDale.ShippedDate.ShipperlD.Freighl)VALUES (VICTETPXH222MT2008-1 8T200825T2008 1 3172008-1 15:83; 1260.44)INSERT INTO Orders(CuslomerID.EmployeeID.OrderDate.RequiredDateJnvoiceDate.ShippcdDate,ShipperID.Freighl)VALUES (SUPRDTPTC119IVIT2008l9T200826T2008亠3172008亠 11T75:45

53、6.71)正确输入后,按F5键或单击执行按钮,就可以执行SQL语句,成功插入订单表记录。 在査询文档中输入以下代码:.orderitems -INSERT INTO orderilems(OrderID.ProduclID,UnitPrice.Quantity.Discount)VALUES Cl0248,l15.55:9000.2)INSERT INTO orderitems(OrderID.ProductID,UnitPrice.Quantity.Discount)VALUES C10248310.8:12000)INSERT INTO orderitems(OrderIDTroductI

54、D,UnitPrice,Quantity,Discount)VALUES C10248V522.95:1600)INSERT INTO ordentenis(OrderID.ProduclID,UnilPrice.Quantily.Discounl)VALUES (,10249,:l19.44:2390)INSERT INTO orderilems(OrderID.ProduclID,UnitPrice.Quantity.Discount)VALUES C10249,220.52:2660)INSERT INTO orderitems(OrderID.ProductID,UnitPrice.Q

55、uantity.Discount)VALUES (,10249,421.38:9000.1)INSERT INTO orderitenis(OrderID.ProductID,UnitPrice.Quantity.Discount)VALUES (,10250,423.76:80,.0)INSERT INTO orderitems(OrderID.ProductID,UnitPrice.Quantity.Discount)values (U02507116.52/10490.15)INSERT INTO orderilems(OrderID.ProductID.UnilPrice.Quanti

56、ly.Discounl)VALUES Cl0251V119.44J0500)INSERT INTO orderitems(OrderID.ProductID,UnitPrice.Quantity.Discount)VALUES C10252Vl16.52:9970.15)29 / 100正确输入后,按F5键或单击执行按钮,就可以执行SQL语句,成功插入订单明细表记录。提示:1. 使用插入语句时,字段名的个数要和字段值的个数相同,字段值的数据类型要和字段名的数据类型相同。2. 插入日期时间型的值时,需要用单引号将该值引起来四、思考题1.数拯库中一般不允许更改主键数据。如果需要更改主键数据时,应怎

57、样处理?2.为什么不能随意删除被参照表中的主键?30 / 100实验5数据简单查询一、 实验目的1. 熟练掌握SELECT语句的基本用法。2.使用WHERE子句进行有条件的査询。3. 熟练掌握聚合函数和常用函数的使用。4.利用ORDER BY子句对査询结果排序。5.利用GROUP BY子句对查询结果分组。6.掌握SQL Server查询分析器的使用,加深对Transact-SQL语言查询语句的理解。二、 实验内容1. 检索所有产品的信息。2.检索所有有销售记录的产品编号。3. 检索单价在1520之间的产品的产品编号、产品划称和单价。4.检索所有产品划称以字符串ng结尾的产品信息,并按单价降序排

58、序。5.检索客户编号为VICTE .SUPRD的订单信息。6.检索产品编号为1的产品的平均销售单价。7.检索产品中单价最低的前3个产品的信息。8. 在订单表(Orders)中检索所有在2009年6月30日之前需要发货(RequiredDate)但还没 有发货(ShippedDate列)的订单信息。9.检索每个订单的订单号和销售额。10. 按产品类別编码对产品表进行分组,检索平均单价$18元以上的所有产品类别。11. 检索每个产品的销售额。12. 列出客户编号为VINET的这个客户2009年度的订单数。13. 统计2008年度每个客户的订单数目。14. 按照产品类别列出每类产品中每个产品的单价排

59、名。三、 实验步骤1.SQL Sender Management Studentsdio窗口中新建査询,打开査询文档窗口,在查询文档窗 口中输入select * from products ,输入完后,点击执行按钮,即可完成检索所有产品的信息操作,如 图5.1所示。31 / 100r*nitimer)IXIInKciJSBIHBWqp G , 一 4 二 Q r图5检索所有产品信息的查询窗口2.在査询文档中输入如图5.2所示的代码,就可完成第二题的操作。IlCKOXOf t SQL SBKTKr BMAMKCBRnt $t42 Ifi|图5.2检索所有有销售记录的产品编号的查询窗口3在查询文档

60、中输入如图5.3所示的代码,就可完成第三题的操作。W_3/ 216 Jn-iwin454LDrty5 catL sr j _j“ j JOU*S “ WTQSSS OrW ir o rr*?51_ RXo) L r?慢3 Svje*,xi.lt _v, J Kt*e,3 rrt11226切24 Ucubjib;MCO11a?3从3 y12 UOnltteineo12a44DtMSS22(022a&i6MS5、GuWxJI22inor-7wrrFWW5U2 co co 5 OwaxbyWetrvllr.fr (Sl) Xait M2? 2 / ,; -J4select 1iiKt iuAUa*

温馨提示

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

评论

0/150

提交评论