data数据库实验报告 (1)_第1页
data数据库实验报告 (1)_第2页
data数据库实验报告 (1)_第3页
data数据库实验报告 (1)_第4页
data数据库实验报告 (1)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、实验一实验题目:SQL SERVER2000企业管理器的使用实验目的:熟悉SQL SERVER2000环境,熟悉企业管理器的使用,能够熟练运用企业管理 器完成数据库及表和相关约束的建立.实验内容及要求:1利用企业管理器建立教材数据库,并定义以下基本表:学生(学号,年龄,性别,系名)教材(编号,书名,出版社编号,价格)订购(学号,书号,数虽)出版社(编号,名称,地址)定义主码、夕冋马、和价格、数虽的取值范2在三个表中输入若干记录,注意如果输入违反完整性约束条件的记录系统有何反应.实验报告:1给出利用企业管理器件学生数据库及其基本表的步骤 1.1创建数据库(1)选中将要使用的 Server,如 M

2、HAOHAO-PCSQLEXPRESS,选择Windows 身 份验证或SQLServer身份验证并输入用户名和密码,并连接.相对而售,使 用SQL Server身份验证方式更安全.(2 )连接成功后,在对象资源管理器中,用鼠标右键单击数据库,在弹出的快捷菜单 中选择新建数据库。(3)打开新建数据库对话框的常规选项卡,输入:库的名称teaching”,所有者可使用默认值,也可选择特定的数据库用户.(4 )在数据库文件子窗口内,的所有值均可使用默认值,也可手动修改其逻辑名称、初始大小、自动增长方式及最大大小、物理位詈.(5 )设胃完成之后,单击确定按钮。1.2创建基本表(1) 在树形目录中找到创

3、建的数据库teaching,展开该数据库的树形节点。(2) 选择表,单击鼠标右键,在弹出的快捷菜单中选择新建表命令,打开表设计 器。(3 )在表设计器的上半部分表格中输入列名、选择数据类型、设冒是否允许为Null ;表 设计器的下半部分是特定列的详细属性.包括是否是标识列、是否使用默认值等, 逐个定义好表中的列。(4 )定义好所有列后,单击工具栏上的保存按扭,输入表名,表就创建完成了.2表名及各列数据类型设胃学生表:tbStudent列名数据类型允许Null值学号住键)IDdecimal(10, 0)Unchecked年龄(18-30)AgetinyintUnchecked性别SexbitUn

4、checked系名Majornchar(20)Unchecked教材表:tbBook列名数据类型允许Null值编号(主键)IDdecimaKIO, 0)Unchecked书名Namenchar(20)Unchecked出版社编号(夕咽)PublishlDdecimal(10, 0)Unchecked价格Pricedecimal 2)Unchecked订购表:tbOrder列名数据类型允许Null值学号(外码)主码StudentIDdecimal(18, 0)Unchecked书号(夕比马)BookIDdecimal(18, 0)Unchecked数虽(050)OrderNumbertinyin

5、tUnchecked出版社表:tbPublisher列名数据类型允许Null值编号(主键)IDdecimal(10, 0)Unchecked名称Namenchar(20)UncheckedAddressnchar(30)Unchecked3给出添加数据的步骤、数据.以及系统提示。以向学生表(tbStudent)中添加数据为例.在树形目录中找到创建的数据库 光aching 中表节点下的dbo.tbStudent,选中并右键单击该表,在岀现的快捷菜单中选择编辑前 200行”,即出现该表的数据编辑表格,可按每列规则编辑每项数据,如ID : 123 ; Age:18; Sex : True; Majo

6、r:没头脑.下方提示单元格已修改.实验二实验题目:SQL SERVER查询分析器的使用实验目的:熟悉SQL SERVER环境,熟悉査询分析器的使用,能够熟练运用sql命令完成 数据库,基本表、主码、外码和其它必要的约束条件的定义,此外利用ALTER语句完成数 据库和基表的修改。实验内容及要求:1利用sql建立教材数据库,并定义以下基本表:学生(学号,年龄,性别,系名)教材(编号,书名,出版社编号,价格)订购(学号,书号,数棗)出版社(编号,名称,地址)定义主码、夕和价格、数毎的取值范團。2 在三个表中输入若干记录,注意如果输入违反完整性约束条件的记录系统有何反应。修改:库的名字;修改一个表,添

7、加一列带一个约束,并且删除列和约束实验报告:1给岀使用查询分析器的步骤连接至要使用的数据库服务器,在顶部快捷栏中有新建查询按钮,单击后即打开T-SQL 查询分析器,编写SQL语句,选中要使用的数据库(如果是建库之类的操作便不需理会), 选中要执行的语句,单击快捷菜单中”!执行按钮,即可执行相应操作。2建库命令脚本CREATE DATABASE teaching ON PRIMARY(NAME = teaching: RLENAME = NQteaching.mdf, SIZE = 512OKB , MAXSIZE =UNLIMITED FILEGROWTH = 1024KB)LOG ON(NA

8、ME = teachingog: FILENAME = NDteachingog.ldf,SIZE = 1024KB , MAXSIZE = 2048GB , RLEGROWTH = 10%)GO3建表的SQL命令脚本tbStudent学生表:USE teachingGOCREATE TABLE dbo.tbStudent(ID decimal(18 0) NOT NULL,Age tinyint NOT NULL,Sex bit NOT NULL,Major nchar (20) NOT NULL,CONSTRAINT PK.tbStudent PRIMARY KEY CLUSTERED(I

9、D ASQWITH (PADJNDEX= OFF, STATISTICS.NORECOMPUTE = OFF,IGNORE_DUP_KEY = OFF, ALLOW.ROW.LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON (PRIMARY)ON PRIMARYGOALTER TABLE dbo.tbStudent CHECK CONSTRAINT FKjbStudentJbStudent ALTER TABLE dbo.(tbStudent WITH CHECK ADD CONSTRAINT CKjbStudent CHECK (Age=(16) AND AgeSt

10、udentID应交书费123117.50100521137429.503BookID数呈1124KNamePublishlDPrice2计算机网络335.003数字图像处理227.004225.006汇编语言程序设计328.00实验四实验题目:漲套查询和连接查询实验目的:加深对液套查询和连接查询的理解,比较两种方法的不同。实验内容及要求:利用sql建立教材数据库,并定义以下基本表:学生(学号,年龄,性别,系名)教材(编号,书名,出版社编号,价格)订购(学号,书号,数呈)出版社(编号,名称,地址)根据上面基本表的信息完成下列查询。1 查询订购高教出版社教材的学生姓名2 查询比所有高教出版的图书都

11、贵的图书信息3列出每位学生姓名、订购教材书名、价格。实验报告:1直接使用实验二中T-SQL命令建立的数据库,初始数据同实验三中数据.2查询命令(因学生表中无学生姓名列,故以学生系名替代)1查询订购高教出版社教材的学生系名SELECT Major FROM tbStudent WHERE ID IN(SELECT StudentID FROM tbOrder WHERE BookID IN(SELECT ID FROM tbBook WHERE PublishlD IN (SELECT tbPublisher.ID FROMtbPublisher WHERE Namei高等教育出版社)FW查询S

12、ELECT Major FROM tbStudent JOIN tbOrder ON tbStudent.ID=tbOrder.StudentID JOIN tbBook ON tbOrder.BookID=tbBook.ID JOIN tbPublisherON tbBook.PublishID=tbPublisher.ID WHERE tbPublisher.Nam”高等教育岀版社-联合查询 2查询比所有高教出版的图书都贵的图书信息SELECT * FROM tbBook WHERE Price(SELECT max(price) from tbBook WHERE PublishID=(

13、SELECTID FROM tbPublisher WHERE Name-高等教育岀版社) 3列岀每位学生系名、订购教材书名、价格.SELECT tbStudent.MajorrtbBook.Name,Price FROM tbBook innerJOIN tbOrder ON tbOrderBookID=tbBook.ID JOIN tbStudent ON tbStudent.ID=tbOrder.StudentID3执行结果Major软件工程没头脑NamePublishlDPrice5C+程序设计教程239.50MajorNamePrice没头脑数据库系统概论40.00没头脑C+程序设计

14、教程40.50软件工程数据库系统概论40.00软件工程C+程序设计教程40.504查询一中连接查询和嵌套查询效率比较连接查询结果是由多表组成的查询结果所以查询的结果跟连接的方式有很大的关系,故 连接可以分为内连接、左向外联接、右向外连接、完整外连接、交叉连接几种连接方式。几 种连接方式完全可以取代嵌套查询可能查询到的结果,就如查询一中一样,所以如果想要在 查询上提高select语句的查询效率完全可以用连接查询方式来代替嵌套查询.连接査询效 率比嵌套高,而且JOIN可以通过改变JOIN先后顺序,先扫描记录少的表,从而提高速度, 如果谶套会固定先搜索子查询实验五实验题目:视图的定义和使用实验目的:

15、加深对视图的理解,熟练视图的定义、查看、修改等操作.实验内容及要求:利用sql建立教材数据库,并定义以下基本表:学生(学号,年龄,性别,系名)教材(编号,书名,出版社编号,价格)订购(学号,书号,数呈)出版社(编号,名称,地址)1根据上面基本表的信息定义视图显示每个学生姓名、应缴书费2观察基本表数据变化时,视图中数据的变化。实验报告:1定义视图显示每个学生姓名、应缴书费GOCREATE VIEW StudentFeeASSELECT A.StudentID,sum(A.OrderNumber*B.Price)AS 应交书费 FROM tbOrder as ALEFT JOIN tbBook A

16、S B on A.BookID=B.ID GROUP BY A.StudentID2观察基本表数据变化时”视图中数据的变化。向基本表中添加数据后,视图也随之发生变化:Insert Into tbOrder (StudentID,BookID,OrderNumber) Values( 123 : 1 : 2),视图中 123 的应交书 费相应提高.3利用视图,查询交费最高的学生。SELECT StudentID FROM StudentFee WHERE 应交书费=(SELECT MAX(应交书费) FROM SudentFee)实验六实验题目:触发器的定义实验目的:熟悉触发器的定义和使用。实验

17、内容及要求:利用sql建立教材数据库,并定义以下基本表:学生(学号,年龄,性别,系名)教材(编号,书名,出版社编号,价格)订购(学号,书号,数呈)出版社(编号,名称,地址)建立学生的insert触发器,若向学生表中插入一条记录,则自动向订购表中插入一行,令 该学生订购被订购数虽最多的教材.实验报告:1按要求写岀触发器定义。USE teachingGODROP TRIGGER InsertOperCREATE TRIGGER InsertOperON tbStudent AFTER INSERTASDECLARE Sno decimal(18 0)DECLARE Bno decimal(18 0

18、)BEGINselect Bno= BookID FROM tbOrder GROUP BY BookID order by SUM(OrderNumber)SELECT Sno=ID FROM INSERTEDINSERT INTO tbOrder VALUES(Sno,Bno;l)END2给岀验证数据和操作结果插入新用户:INSERT INTO tbStudent (ID,Ag巳Sex,Major) VALUES (,1024,;20|;1,;|试用例*) 操作结果:(1行受影响)(1行受影响)增加的两行为:1024 20 True测试用例1024 1 1实验七实验题目:存储过程实验目的:

19、熟悉存储过程的定义和使用,熟练运用select .update.insert,delete命令完 成对学生信息数据库的查询、更新、添加、删除操作。实验内容及要求:利用sql建立教材数据库,并定义以下基本表:学生(学号,年龄,性别,系名)教材(编号,书名,出版社编号,价格)订购(学号,书号,数棗)岀版社(编号,名称,地址)根据上面基本表的信息定义一个存储过程,完成下面功能:入口参数:教材编号1显示教材信息2如果没人买,删除该教材记录3如果价格低于10元,涨价至10元.实验报告:1定义存储过程的步骤USE teachingGODROP Procedure BookOperCREATE Proced

20、ure BookOperinBookID decimal(18 0)ASBeginSELECT * FROM tbBook WHERE ID=inBookID;UPDATE tbBook SET tbBook.Price=,10.00t WHERE tbBook.Price,10.00, AND tbBook.ID=inBookID;DELETE FROM tbBook WHERE inBookID NOT IN (SELECT BookID FROM tbOrder);EndGO实验八实验题目:事务定义实验目的:掌握事务的定义、提交、回滚等命令,通过这些命令的使用进一步理解事务的概 念和性质.实验内容及要求:利用sql建立教材数据库,并定义以下基本表:学生(学号,年龄,性别,系名)教材(编号,书名,出版社编号,价格)订购(学号,书号,数虽)出版社(编号,名称,地址)定义一个事务,完成下列步骤:1按学号查其订购所有教材平均价格,若平均价格小

温馨提示

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

评论

0/150

提交评论