




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.实验内容和时间安排1 时间安排序号实验内容0SQL语句练习1数据定义和数据更新2数据库的建立和维护3数据查询4SQL的视图、数据控制5数据库的备份和恢复6系统需求分析和关系数据库设计2 实验内容实验0 SQL语句练习实验时数 2 学时该实验以SQL Server 2000系统自带的 pubs 数据库为例,以一个图书出版公司为模型。(1)该系统中数据库基本表如下:Authors:属性名数据类型含义说明可为空检查键/索引au_idId作者编号否是1主键au_lnamevarchar(40)作者姓否au_fnamevarchar(20)作者名否phonechar(12)电话否addressvarchar(40)地址是cityvarchar(20)所在城市是statechar(2)所在州是zipchar(5)邮编是是2contractBit是否签约否1 au_id CHECK 约束定义为 (au_id LIKE 0-90-90-9-0-90-9-0-90-90-90-9)。2 zip CHECK 约束定义为 (zip LIKE 0-90-90-90-90-9)。=discounts属性名数据类型含义说明可为空检查键/索引discounttypevarchar(40)折扣类型否stor_idchar(4)商店编号是外键 stores(stor_id)lowqtySmallint数量下限是highqtySmallint数量上限是discountFloat折扣否=Employee属性名数据类型含义说明可为空默认值检查键/索引emp_idEmpid职工编号否是1主键fnamevarchar(20)职工名否minitchar(1)是lnamevarchar(30)职工姓否job_idSmallint工作编号否1外键 jobs(job_id)job_lvlTinyint否10pub_idchar(4)出版社编号否9952外键publishers(pub_id)Hire_dateDatetime工作日期否GETDATE( )CHECK 约束定义为:(emp_id LIKE A-ZA-ZA-Z1-90-90-90-90-9FM) OR (emp_id LIKE A-Z-A-Z1-90-90-90-90-9FM)。=Jobs属性名数据类型含义说明可为空检查键/索引job_idSmallint工作编号否主键job_descvarchar (50)工作描述否min_lvlTinyint否是1max_lvlTinyint否是2(1) min_lvl CHECK 约束定义为 (min_lvl = 10)。(2) max_lvl CHECK 约束定义为 (max_lvl = 250)。=pub_info属性名数据类型含义说明可为空检查键/索引pub_idchar(4)出版社编号否主键,外键 publishers(pub_id)logoImage标志图是pr_infoText出版信息是=Publishers属性名数据类型含义说明可为空检查键/索引pub_idchar(4)出版社编号否是1主键pub_namevarchar(40)出版社名称是cityvarchar(20)所在城市是statechar(2)所在州是countryvarchar(30)所在国家是1 pub_id CHECK 约束定义为 (pub_id = 1756 OR (pub_id = 1622 OR (pub_id = 0877 OR (pub_id = 0736 OR (pub_id = 1389) OR (pub_id LIKE 990-90-0)。=roysched属性名数据类型含义说明可为空检查键/索引title_idTid书编号否外键 titles(title_id)lorangeInt低是hirangeInt高是royaltyInt版权是=Sales属性名数据类型含义说明可为空键/索引stor_idchar(4)商店编号否组合主键,聚集索引,外键 stores(stor_id)ord_numvarchar(20)订单编码否组合主键,聚集索引ord_dateDatetime订购日期否qtySmallint数量否paytermsvarchar(12)付款方式否title_idTid书编号否组合主键,聚集索引,外键 titles(title_id)=titles属性名数据类型含义说明可为空检查键/索引title_idTid书编号否主键titlevarchar(80)书名否typechar(12)类型否pub_idchar(4)出版社编号是外键 publishers (pub_id)priceMoney价格是advanceMoney预付款是royaltyInt版税是Ytd_salesInt年销售量是notesvarchar(200)简介是pubdateDatetime出版日期否=Stores属性名数据类型含义说明可为空检查键/索引stor_idchar(4)商店编号否主键stor_namevarchar(40)商店名称是stor_addressvarchar(40)商店地址是cityvarchar(20)所在城市是statechar(2)所在州是zipchar(5)邮编是=titleauthor属性名数据类型含义说明可为空检查键/索引au_idid作者编号否组合主键,聚集索引,外键 authors(au_id)title_idtid书编号否组合主键,聚集索引,外键 titles(title_id)au_ordtinyint是royaltyperint版权百分比是(2)练习内容目的1:1. 加深对表间关系的理解。2. 理解数据库中数据的查询方法和应用。3. 学会各种查询的异同及相互之间的转换方法。内容1:1. 查询所有作者的作者号、姓名信息2. 查询所有作者的姓名、作者号信息,并在每个作者的作者号前面显示字符串“身份证号:”,表明显示的信息是身份证信息3. 查询在CA州的作者姓名和城市4. 查询出版日期在2002.1.1-2002.12.31之间的书名和出版日期5. 查询每个出版社出版的书6. 查询某店销售某书的数量7. 查询有销售记录的所有书信息,包括书的编号、书名、类型和价格8. 查询已销售书的信息9. 显示所有的书名(无销售记录的书也包括在内)10. 查询已销售书的信息(书号、书名、作者等)11. 查询所有出版商业(business)书籍的出版社的名称目的2:1. 理解数据库中数据的其他查询方法和应用;2. 学会各种查询要求的实现。内容2:在实验1的基础上,练习查询语句的使用,包括计算列、求和、最大、最小值、各类选择条件、字符匹配、分组和排序,体会各种查询的执行过程,为简单综合应用打下良好的基础。1. 查询书名以T开头或者出版社号为0877,而且价格大于16的书的信息。2. 按照类型的升序和价格的降序(在类型相同时)显示书的信息(书名、作者、出版社、类型、价格)3. 查询销售量大于30的书名及销售数量4. 查询在2002.1.1到2002.10.31间,每本书的销售总额5. 查询所有作者的所在城市和州名,要求没有重复信息6. 计算多少种书已被订价7. 查询每本书的书名、作者及它的售书总量8. 计算所有书的平均价格9. 查询价格最高的书的书名、作者及价格目的3:1. 加深对数据库相关性质的理解;2. 各种约束性理解;3. 学会数据库中数据的更新的方法。内容3:1. 参照以上各表给出的主键、外键设置的设置要求,在自己创建的表中进行相应的设置。2. 向authors表中插入一行作者信息(具体值自定)3. 数量超过100的商店增加10%的折扣4. 删除2001.10.3的订单5. 删除1中所建立的索引6. 建立CA州作者所著书的视图(包括作者号、姓名、所在州、书名、价格、出版日期)7. 建立付款方式是现金(cash)的订单视图8. 建立CA州的所有商店的视图实验一 数据定义和数据更新实验目的1. 熟悉SQL Server中建立数据库、数据表以及连接数据库的操作;2. 掌握SQL Server中查询分析器的工作环境,以及在其中使用SQL的基本操作。实验时数 2 学时实验内容1. 创建表、确定表的主码和约束条件,为主码创建索引。2. 查看和修改表结构。3. 熟悉SQL Server企业管理器和查询分析器工具的使用方法实验步骤1基本操作实验l 在企业管理器中查看已经建立的数据库的属性。l 通过企业管理器,在已有的数据库中建立图书、读者和借阅3个表,其结构为: 图书(书号,类别,出版社,作者,书名,定价,作者); 读者(编号,姓名,单位,性别,电话); 借阅(书号,读者编号,借阅日期)。要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值和默认值等列级数据约束。l 在企业管理器中建立图书、读者和借阅3个表的表级约束:每个表的主码约束;借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表的书号和读者编号的惟一性约束;实现读者性别只能是“男”或“女”的Check(检查)约束。2 提高操作实验l 用SQL建立学生课程库操作,在SQL Server企业管理器中实现。表结构为: 学生(学号,姓名,年龄,性别,所在系); 课程(课程号,课程名,先行课); 选课(学号,课程号,成绩)。 要求: 建表和建立表间联系。 选择合适的数据类型。 定义必要的索引、列级约束和表级约束。l 将设计的数据库应用系统中的数据库、库中的表、索引和约束用Transact-SQL表达,并通过企业管理器或查询分析器实现建库、建表、建立表间联系和建立必要的索引、列级约束和表级约束的操作。实验方法1创建数据库(因为各个用户已经建立以自己学号为名称的数据库,该步可以省略。以下的数据库一律指该数据库,用户不必再次重复创建。)(1)使用企业管理器创建数据库的步骤1)进入SQL Server 2000企业管理器。2)选中需要在其上创建数据库的服务器,单击前面的“+”号,使其展示为树形目录。3)选中“数据库”文件夹,单击右键,选择“新建数据库”,如图5- 1所示。随后在数据库属性对话框的常规页面中,输人数据库名,选择SQL服务器,如图5-2所示。 图5- 1在数据库的弹出菜单中选择新建数据库 图5- 2 数据库属性对话框数据库属性对话框中有3个页面:常规页面、数据文件页面和事务日志页面。数据文件页面和事务日志页面主要用来定义数据库的数据文件和日志文件的属性。4)选择数据文件页面,输入图书-读者数据库的数据文件属性,包括文件名、存放位置和文件属性,如图5- Error! Bookmark not defined.所示;再选择事务日志页面,输人数据库的日志文件属性,包括文件名、存放位置、大小和文件属性,如图5-4所示。在选择文件位置时,可以单击位于“位置”列的“”按键,在调出的文件选择器中进行位置选择。5)单击确定按钮,关闭对话框。在企业管理器窗口中出现“图书-读者”数据库标志,这表明建库工作已经完成。(2)文件属性参数说明文件属性栏设在页面的下部,它包括下列选项: 图5- Error! Bookmark not defined. 数据库属性对话框中的数据文件页面 图5- Error! Bookmark not defined.数据库属性对话框中的事务日志页面1)文件自动增长复选框:选中后允许文件放满数据时自动增长。2)文件增长单选框:设置允许文件自动增长时,每次文件增长的大小。其中,选“按兆字节”项为设置文件增长为固定的大小,单位是MB;选“按百分比”项为文件按指定比例数增长,单位是。3)最大文件大小单选框:设置当允许文件扩展时,数据文件能够增长的最大值。选“文件增长不受限制”项可使文件无限增长,直到用完磁盘空间;选“将文件增长限制为”项时,要设置文件最多达到的固定值。2查看和修改数据库属性参数已经建好的数据库,有时还需要对它的属性参数进行查看和修改。下面我们分两步介绍:先介绍查看和修改数据库属性的步骤,再介绍数据库有关的参数及其含义。(1)查看和修改数据库属性的步骤1)启动企业管理器,使数据库所在的服务器展开为树形目录。2)选中数据库文件夹,使之展开;用鼠标右键单击指定的数据库标识,在弹出的菜单中选择“属性”项,如图5- 5所示。出现数据库属性对话框,如图5-6所示。图5- Error! Bookmark not defined.在企业管理器中选择数据库的“属性”项 图5- Error! Bookmark not defined. 数据库属性对话框中的选项页面从该对话框中可以看出,它由6个选项卡构成,与图5-2不同的是增加了文件组、选项和权限页面。其中:文件组页面用于设置数据库的文件组,其概念在前面已经介绍过;权限页面用来设置用户对该数据库的访问权限,有关选项页面内容在下面介绍。3)在选项卡中查看或修改相应的内容,单击确定按钮关闭对话框。(2)选项页面中的数据库属性参数“选项”页面如图5-6所示。“选项”页面分访问、故障还原、设置和兼容性4个栏目。1)访问栏目。访问栏用来设置数据库的操作许可。限制访问复选框:选择后,限制用户访问数据库。db owner,dbcreater或sysadmin成员:只能由数据库拥有者(创建者)使用数据库。单用户:在同一时刻是否只允许一个用户使用该数据库。只读:该数据库是否是只读的。2)故障还原栏目。设置故障还原模型。3)设置栏目。该栏目用来设置数据库在进行数据操作时的行为特征,它包括8个复选框,其含义比较容易理解。3删除数据库对于不需要的数据库,可以通过下面的方法删除:1)用鼠标右键单击要删除的数据库,在出现的弹出菜单中选择删除项。2)在弹出的确认删除对话框中,单击确认按钮。4新建表在SQL Server 2000的数据库中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名。当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。要建立“图书”表,先选中数据库中的表文件夹,单击鼠标右健。在弹出的菜单中选择新建表,如图5- Error! Bookmark not defined.所示。随后的输入表结构对话框如图5-8所示。图5- Error! Bookmark not defined. 数据库中的表文件夹的弹出菜单 图5- Error! Bookmark not defined. 输入表结构对话框输入表结构对话框是一张表,它的列属性有列名、数据类型、长度和是否允许空4项。用户把新建表的结构填入对话框的表中,表中的每一行定义新建表(图书)的一列,每一列定义新建表的一个列属性。当光标移到表中的某一行时,下面的列描述就会对应当前行显示输入项,用户可在其中对关系的属性进行进一步说明。列描述包括数据的精度、小数位数、默认值、是否标识等项。输入表结构时应注意以下几点:1)“列名”列用于输入字段名,例如“编号”、“类别”等,列名类似于变量名,其命名规格与变量一致。列名中不允许出现空格,一张表也不允许有重复的列名。2)“数据类型”列中的数据类型是通过选择方法,而不是直接键人数据类型字符输入的。当鼠标指针移向该列时,就会出现控制键,单击后就出现数据类型弹出框,如图3-8所示,可选择其中之一为指定的数据类型。3)“长度”列、精度和小数位数项不是所有字段都必选的。例如int和datetime型的长度是固定的,也不需要数据精度值。数据精度仅对一些数值型、字符型、货币型等数据有效,小数位仅对一些数值型数据有效。4)“允许空”列用于设置是否允许字段为空值,默认项用于设置字段的默认值。5)标识、标识种子和标识递增量用于设置字段具有的新生行递增性、初始值以及步长,以便让SQL Server 2000自动填写该列的值。具有标识性能的字段的数据类型只能为int,Smallint,tinyint,decimal(p,0)或numeric(p,0),而且不允许为空值。一个表只允许有一列具有标识性能。6)列名前的一列按钮为字段标注按钮列。钥匙图标说明这个字段为主码,黑三角图标说明所指示行为当前字段。7)在对话框中单击鼠标右键,则会出现一个弹出框,如图5- 9所示。其中的几个选项非常有用:选择“设置主键”项,则定义当前字段为主码,表中第一列处会显示钥匙图案;选择“插入列”项,则在当前字段处插入一个新行;选择“删除列”项,则删除当前字段;选择“属性”项,可调出表属性对话框,如图5-10所示,可以在其中定义索引键、与其他表间的关联和约束等属性,具体方法在下面介绍。图5- Error! Bookmark not defined. 建表对话框中的弹出框 图5- Error! Bookmark not defined. 表属性对话框8)字段输入完后,就可以关闭建表对话框了。最后,会弹出输入表名对话框,如图5- 11所示。在对话框中输入“图书”表名,单击确定按钮后,建表工作就完成了。图5- Error! Bookmark not defined.输入表名对话框5定义表的完整性约束和索引表的约束包括码(主键)约束、外码约束(关联或关系约束)、唯一性约束、Check(检查)约束4种。这些约束可以在表属性对话框中定义。(1)定义索引和键选择“索引键”页面,其界面如图3-10所示。1)查看、修改或删除索引时,先要在“选定的索引”下拉菜单中选择索引名,其索引内容就显示在表中。需要时,可以直接在表中修改索引内容,如改变索引列名,改变排序方法等。对于不需要的索引可以单击删除按钮,直接删除此索引。2)新建一个索引时,单击新建l按钮,并在下面的表中输入索引名、索引列名及排列顺序。3)设置UNIQUE复选框,确定是否为唯一索引约束。设置CLUSTERED复选框,确定是否为群集索引(CLUSTERED)。(2)定义表间关联选择表页面,其界面如图5- 12所示。1)查看、修改或删除表关联时,先要在“选定的关系”下拉菜单中选择关联名(即关系名),其关联内容就显示在表中。需要时,可以直接在表中修改关联内容,例如改变主键,改变外码键等。对于不需要的关联可以单击删除按钮,直接删除此关联。2)新建一个关联时,单击新建按钮,选择库中的关联表(参照表)后,在表中输入关联名、主码和外码。3)设置“创建中检查现存数据”复选框,确定新建关联时是否对数据进行检查,要求符合外码约束;设置“对复制强制关系”复选框,确定在进行数据复制时是否要符合外码约束;设置“对INSERT和UPDATE强制关系”复选框,确认在对数据插入和更新时,是否符合外码约束;设置“级联更新相关的字段”复选框和“级联删除相关的记录”复选框,确认被参照关系的主码值被修改时,是否也将参照表中的对应的外码值修改,而被参照关系的主码值被删除时,是否也将参照表中对应外码的记录删除。(3)定义CHECK约束选择CHECK约束页面,其界面如图5-13所示。 图5- Error! Bookmark not defined. 表属性对话框中的表关联页面 图5- Error! Bookmark not defined. 表属性对话框中的约束页面1)查看、修改或删除CHECK约束时,先要在“选定的约束”下拉菜单中选择约束名,其约束内容就显示在约束表达式框中。需要时,可以直接在框中修改约束表达式。对于不需要的CHECK约束可以单击删除按钮,直接删除此约束。2)新建一个CHECK约束时,单击新建按钮,并在表中输入约束名和约束表达式。3)设置“创建中检查现存数据”,确认在创建约束时是否对表中数据进行检查,要求符合约束要求;设置“对复制强制约束”复合框,确认对数据复制时是否要求符合约束条件;设置“对INSERTUPDATE强制约束”,确认在进行数据插入和数据修改时,是否要求符合约束条件。 图5- Error! Bookmark not defined. 基本表的弹出菜单6修改表结构当需要对建好的表修改结构时,首先要在企业管理器中找到该表,用鼠标右键单击该表名,就会出现弹出菜单,如图5- 14所示。随后,在弹出的菜单中选择“设计表”项,企业管理器会把如图3-9所示的建表对话框调出,用户可对原有内容进行修改。实验报告要求 1 分别用SQL和Transact-SQL表示图书读者数据库建库和建表(建索引)操作,用SQL和Transact-SQL表示学生课程库建表和建库操作。指出SQL和Transact-SQL定义语句的不同之处。2 指出图书读者数据库和学生课程库中各表的主码、外码和数据约束3 实验操作步骤和实验结果,实验中出现的问题和解决方法。 注意事项1 建表中如果出现错误,应采用相应的修改结构或删除结构的方法。2 注意数据库的主码、外码和数据约束的定义。思考题1 为什么要建立索引?图书读者数据库和学生课程库中建立多少索引合适。2 学生课程库的选课表中,属性学号、课程号采用数值型,还是采用字符型的?采用哪种数据类型更好?实验二 数据库的建立和维护实验目的1 掌握SQL的数据定义功能包括:定义表、删除表和修改表以及建立索引和删除索引;2 掌握SQL的数据更新功能,包括:插入数据、修改数据和删除数据。3 掌握在SQL Server企业管理器中定义表、删除表、修改表、建立索引、删除索引以及插入数据、修改数据和删除数据的操作。实验时数 1 学时实验内容1基本操作实验1)通过企业管理器,在图书借阅数据库的图书、读者和借阅3个表中各输入10条记录。要求记录不仅满足数据约束要求,还要有表间关联的记录。2)通过企业管理器实现对图书借阅数据库的图书、读者和借阅3个表中数据的插入、删除和修改操作。3)通过企业管理器实现对学生选课库的数据增加、数据删除和数据修改操作。要求学生、课程和选课表中各有10条以上记录。2提高操作实验1)向自行设计的数据库应用系统的库中的各表,输人多条实际数据,并实现数据的增、删、改操作。2)实现在读者表中增加了“借书册数”字段,统计借书者在1998年1999年间所借书的册数,并将结果送人读者表中的借书册数字段的操作。 实验方法在SQL Server 2000的企业管理器中,对表进行数据增、删、改操作的操作方法是:1)选中服务器,展开数据库文件夹,进一步展开指定的数据库。单击表文件夹,找到需要更新数据的基本表。2)用鼠标右键单击要更新数据的表,在弹出菜单中会出现表相关操作,如图5- Error! Bookmark not defined.所示。图5- Error! Bookmark not defined. 在表中插入、修改或删除数据界面在弹出的菜单中选择:打开表,返回全部行,就会出现表数据更新对话框。在该对话框中,数据以表格形式组织,每个字段就是表中的一列,每条记录是表中的一行。原有的记录已经在表格中,通过移动右边的滑块可查阅所有的记录。3)需要数据插入时,就在最后一条记录后输入一条记录。当鼠标单击其他行时,输入的记录会自动保存在表中。4)需要修改记录时,直接对表中已有记录的数据进行改动,用新值替换原有值。5)需要删除记录时,先用鼠标单击要删除行的左边灰色方块,使该记录成为当前行,然后按下键。为了防止误操作,SQL Server 2000将弹出一个警告框,要求用户确认删除操作。单击确认按钮即可删除记录。也可通过先选中一行或多行记录,然后再按键的方法一次删除多条记录。6)在表中单击鼠标右键时,会出现如图3-15所示的弹出菜单,选择菜单项可执行相应的操作,如剪切、复制等操作。 实验报告要求1 以一条记录为例,分别写出用SQL和Transact-SQL表示的向图书表中插入、修改和删除数据的语句。2 用Transact-SQL实现在读者表中增加了“借书册数”字段,统计借书者在1998年1999年间所借书的册数,并将结果送人读者表中的借书册数字段的操作语句。3 写出操作的过程和操作结果(数据库中各表的数据)。注意事项1 输人数据时要注意数据类型、主码和数据约束的限制。2 数据更改和数据删除时要注意外码约束。思考题1 数据库中一般不允许更改主码数据。如果需要更改主码数据时,怎样处理?2 为什么不能随意删除被参照表中的主码。实验三 数据查询实验目的1 掌握SQL的单表查询操作2 掌握SQL的连接查询操作3 掌握SQL的嵌套查询操作4 掌握SQL的集合查询操作实验时数 2 学时实验内容本实验的主要内容是:1 简单查询操作。包括投影、选择条件表达,数据排序,使用临时表等。2 连接查询操作。包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。3 在SQL Server查询分析器中,使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。4 组合查询与统计查询。(1)分组查询实验。该实验包括分组条件表达、选择组条件的表达方法。 (2)使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。 (3)组合查询实验。 (4)计算和分组计算查询的实验。实验方法1 将查询需求用Transact-SQL语言表示。2 在SQL Server查询分析器的输入区中输入Transact-SQL查询语句。3 设置查询分析器结果区为Standard Execute(标准执行)或Execute to Grid方式。4 发布执行命令,查看查询结果;如果结果不正确,进行修改,直到正确为止。5 查询分析器及使用方法。查询分析器是在开发数据库应用系统时使用最多的工具。查询分析器的主要作用是编辑Transact-SQL,将其发送到服务器,并将执行结果及分析显示出来(或进行存储)。查询分析功能主要是通过测试查询成本,判断该查询是否需要增加索引以提高查询速度,并可以实现自动建立索引的功能。 图5- Error! Bookmark not defined. SQL Server 2000查询分析器查询分析器的界面如图5- Error! Bookmark not defined.所示。在查询生成器中的左边窗口是对象浏览器,其中按树结构列出了数据库对象;右上方是SQL代码区域,用于输入SQL的查询语句;右下方为结果区,用于显示查询结果和分析结果。对于TSQL语句的其执行结果,在结果区中可以有4种不同的输出形式:标准执行将结果直接显示的结果区;网格执行将结果以表格形式显示的结果区;计划执行显示执行计划;索引分析为在结果区中显示查询的索引情况。上述输出形式,可以通过菜单或按钮选择。实验步骤1基本操作实验(1)简单查询实验1)Transact-SQL语句表示下列操作,在学生选课库中实现其数据查询操作: 求数学系学生的学号和姓名。 求选修了课程的学生学号。 求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。 求选修课程C1且成绩在8090分之间的学生学号和成绩,并将成绩乘以系数0.8输出。 求数学系或计算机系姓张的学生的信息。 求缺少了成绩的学生的学号和课程号。2)在图书借阅库中实现其查询操作:将计算机类的书存人永久的计算机图书表,将借书日期在99年以前的借阅记录存人临时的超期借阅表。(2)连接查询实验 用Transact-SQL语句表示,并在学生选课库中实现下列数据连接查询操作。 查询每个学生的情况以及他(她)所选修的课程。 求学生的学号、姓名、选修的课程名及成绩。 求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。 查询每一门课的间接先行课(即先行课的先行课)。(3)嵌套查询实验Transact-SQL语句表示,在学生选课库中实现其数据嵌套查询操作。 求选修了高等数学的学生学号和姓名。 求C1课程的成绩高于张三的学生学号和成绩。 求其他系中比计算机系某一学生年龄小的学生(即求年龄小于计算机系年龄最大者的学生)。 求其他系中比计算机系学生年龄都小的学生。 求选修了髓课程的学生姓名。 求没有选修C2课程的学生姓名。 查询选修了全部课程的学生的姓名。 求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。(4)组合查询与统计查询实验在图书借阅库中实现其查询操作。 查找这样的图书类别:要求类别中最高的图书定价不低于全部按类别分组的图书平均 定价的2倍。 求机械工业出版社出版的各类图书的平均定价,用GROUP BY表示。 列出计算机类图书的书号、名称及价格,最后求出册数和总价格。 列出计算机类图书的书号、名称及价格,并求出各出版社这类书的总价格,最后求出全部册数和总价格。 查询计算机类和机械工业出版社出版的图书。2提高操作实验(1)按下表的格式,建立职工部门库和职工、部门表,并向表中输入数据。(2)Transact-SQL语句表示职工和部门之间的内连接、左外部连接和右外部连接,在职工部门库中实现其数据内连接和各种外查询操作。职工表 部门表职工号姓名性别年龄所在部门部门号部门名称电话1010李勇男201111生产科5661011刘晨女1912计划科5781012王敏女221213一车间4671014张立男211314科研所(3) 将自设计的数据库应用项目中的分组、统计、计算和组合查询,用Transact-SQL语句表示,并通过SQL Server查询分析器实现其查询操作。实验报告要求1 分别用SQL和Transact-SQL写出实验操作的查询语句,对两种语言进行比较。2 实验步骤和实验结果。3 实验中的问题和提高。注意事项1 查询结果的几种处理方式。2 内连接、左外部连接和右外部连接的含义及表达方法。3 输入SQL语句时应注意,语句中均使用西文操作符号。4 子句WHERE表示元组筛选条件,子句HAVING表示组选择条件。5 组合查询的子句间不能有语句结束符。6 子句HAVING必须和GROUP BY子句配合使用。思考题1 如何提高数据查询和连接速度。2 对于常用的查询形式或查询结果,怎样处理好?3 组合查询语句是否可以用其他语句代替,有什么不同?4 使用GROUP BY子句后,语句中的统计函数的运行结果有什么不同。实验四 SQL的视图、数据控制实验目的1. 理解SQL的视图以及与基本表的区别;2. 掌握SQL视图的定义、查询、更新。3. 掌握SQL Server中有关用户、权限的管理方法。4. 掌握SQL语言的控制功能5. 加深对数据库安全性的理解实验时数 2 学时实验内容1. 创建、查看、修改和删除视图。2. 创建、编辑和删除数据库图表。实验方法1. 创建视图假设在图书读者数据库已经建立了图书、读者和借阅3个表,它们的结构为: 图书(书号,类别,出版社,作者,书名,定价); 借阅(书号,读者书证号,借阅日期); 读者(书证号,姓名,单位,性别,电话)。如果要在上述3个表的基础上建立一个视图,取名为: 读者_VIEW。其操作用SQL语句表示为: CREATE VIEW 读者_VIEW AS SELECT图书.*,借阅.* FROM 图书,借阅,读者 WHERE 图书.书号=借阅.书号 AND 借阅.读者书证号=读者.书证号;下面利用SQL Server 2000中提供的视图创建向导,来创建读者_VIEW视图。1)打开企业管理器窗口,确认服务器,打开数据库文件夹,选中新视图所在的数据库。2)选择菜单:工具向导,如图5- Error! Bookmark not defined.所示。3)在如图5-18所示的向导选择对话框中,单击数据库左边的“+”号,使之展开。选择 “创建视图向导”选项,单击确定按钮。4)进入创建视图向导后,首先出现的是欢迎进入创建视图向导对话框,其中简单介绍了 该向导的功能,如图5- Error! Bookmark not defined.所示。单击下一步按钮后,就会出现如图5-20所示的“选择数据库名称”对话框。5)在“选择数据库名称”对话框中,选择视图所属的数据库。本例的数据库为“图书_读者”。单击下一步按钮,则进入如图5- Error! Bookmark not defined.所示的选择表对话框。 图5- Error! Bookmark not defined. 选择向导工具选项 图5- Error! Bookmark not defined. 在向导对话框中选择视图向导 图5- Error! Bookmark not defined.欢迎进入创建视图向导对话框 图5- Error! Bookmark not defined.选择数据库名称对话框6)在选择表对话框中,列出了指定数据库中所有用户定义的表和视图。用户可以从中选择构造视图所需的一个表或多个表(或视图),被选中的表成为构造视图的参考表。选择构造视图参考表的方法是:用鼠标单击表名后的“包含在视图中”列,使复选框为选中状态。本例的数据库中的3个表都应当被选中。单击下一步按钮,进入对话框如图5-22所示。 图5- Error! Bookmark not defined.创建视图向导的选择表对话框 图5- Error! Bookmark not defined. 创建视图向导的选择列对话框7)列选择对话框中以表格形式列出了创建视图参考表的全部属性,每个属性占表的一行。创建视图的参考属性可以在表格中选出。选择视图参考属性的方法是用鼠标单击属性名后边的“选择列”,使其复选框为选中状态。单击下一步按钮,进入创建视图的定义限制对话框,如图5- Error! Bookmark not defined.所示。8)在定义限制对话框中,输入表的连接和元组选择条件。本例应输入WHERE 图书.书号=借阅.书号 AND 借阅.读者书证号=读者.书证号”。单击下一步按钮后,出现视图名称对话框,如图5-24所示。 图5- Error! Bookmark not defined. 创建视图的定义限制对话框 图5- Error! Bookmark not defined.定义视图名称对话框9)在视图名称对话框中输入所建视图的标识名。本例的视图名为“读者_VIEW。单击下一步按钮,则出现如图5- Error! Bookmark not defined.所示的视图创建完成对话框。在完成对话框中给出了根据前面对话框输入的内容译成的SQL语句。您可以认真阅读该SQL语句,如果发现与要求有不符合之处则可以直接进行修改。确认无误后单击完成按钮。随后出现一个通知用户已成功创建视图的信息框,单击确认按钮后,整个创建视图工作就完成了。2查看和修改视图视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好地满足要求,还可以在企业管理器中对它进行修改。(1)操作步骤1)在企业管理器中,选择服务器、数据库,并使数据库展开,然后用鼠标右键单击要修改结构的视图,会弹出视图功能菜单,如图5-26所示。2)在弹出的菜单上选择“设计视图”项,则弹出一个视图设计对话框,如图5- Error! Bookmark not defined.所示。图中列出了视图结构的详细内容,当对其修改完毕后关闭窗口,新的视图结构就会取代原先的结构。(2)视图设计对话框中各区域的作用在图3-27中,视图设计对话框分为4个区域:图表区、表格区、SQL语言区和结果区,各区域的作用如下: 图5- Error! Bookmark not defined.创建视图向导的完成对话框 图5- Error! Bookmark not defined.视图功能菜单1)图表区:图表区域与数据库图表很相似,它图形化地显示了视图中的表以及表之间的关联。在图表区中,可以添加或去掉视图所基于的表,也可以添加或去掉视图所包含的表列。2)表格区:表格区用表格显示视图所有的表列。在表格区中,可以添加或去掉视图所包含的表列,设定排序和分组,也可以通过修改某些列的取值规则来限制结果集的范围。3)SQL语言区:SQL语言区用Transact-SQL语句表示视图结构,可以在区域中检查SQL语句是否正确,并可以直接修改视图的SQL语句。4)结果区:结果区用于显示视图的结果集。单击工具条上的“!”(运行)按钮,就可以在结果区中显示当前视图的结果集。(3)视图修改的方法1)在图表区中为视图添加表。用鼠标右键单击图表区中的空白处,会出现如图5-28所示的弹出菜单。在弹出的菜单中选择“添加表”项,则出现添加表的对话框。该对话框中有表和视图两个选项卡。表选项卡中列出了视图所属数据库的全部表,视图中列出了数据库中已建好的其他视图。通过对话框中的增加按钮,可将已选定的表或视图加入到当前视图中。 图5- Error! Bookmark not defined.视图设计对话框 图5- Error! Bookmark not defined. 图表区空白处的弹出菜单2)在图表区中从视图中移去表。在图表区中,用鼠标单击要移去的表或视图,使它们被选中。对准被选中的表并单击鼠标右键,会出现弹出菜单。在弹出菜单中选择“移去表”项,对应的表或视图就会被移去。3)在图表区中修改视图中所包含的列。在图表区中,视图的每个参考表都用一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育公平指标体系-洞察及研究
- 华北电力大学锅炉原理教案第 12 讲 直流、旋流煤粉燃烧器与水冷壁高温腐蚀
- 2024高中物理第十八章课时作业十一含解析新人教版选修3-5
- 2024-2025学年高中语文第一单元三知之为知之不知为不知教案2新人教版选修先秦诸子蚜
- 高速率数据传输技术-洞察阐释
- 边缘计算与物联网在智慧城市中的协同应用-洞察阐释
- 减震系统材料项目投资风险评估报告
- 静电测试仪项目投资风险评估报告
- 乡村旅游文化体验的生态价值与可持续实践研究-洞察阐释
- 医疗服务中心项目实施方案(范文)
- 内科诊断临床思维
- HG∕T 4712-2014 甲氧胺盐酸盐
- 2024年辽宁省中考地理试题(无答案)
- 湘教版小学科学复习总结资料三到六年级
- 图书批发业的存货管理与成本控制
- 铁路隧道掘进机法技术规程
- GB/T 30685-2024气瓶直立道路运输技术要求
- DLT 5434-2021 电力建设工程监理规范表格
- 【深信服】PT1-AF认证考试复习题库(含答案)
- 屋顶光伏劳务合同范本
- 《灰尘的旅行》阅读测试题附答案
评论
0/150
提交评论