SQL_Server_2005实验指导书_第1页
SQL_Server_2005实验指导书_第2页
SQL_Server_2005实验指导书_第3页
SQL_Server_2005实验指导书_第4页
SQL_Server_2005实验指导书_第5页
已阅读5页,还剩32页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、SQLServer 2005实验指导手册目 录预备实验 SQL Server 2005 的安装和环境介绍2实验一 定义数据库12实验二 定义表16实验三 数据查询21实验四 数据更新27实验五 视图28实验六 安全性30实验七 完整性31实验八 触发器33实验九 存储过程34实验十 数据库应用系统开发37预备实验 SQL Server 2005 的安装和环境介绍一   实验目的与要求:1掌握SQL Server 2005 服务器的安装方法2了解SQL Server 2005 的环境3了解数据库及其对象二   实验准备1了解SQL Server 2005的

2、版本2了解SQL Server 2005各版本对硬件和软件的要求三   实验要求1写出SQL SERVER 2005的功能与特点, 使用方法, 应用状况的报告2完成SQL SERVER 2005的安装、启动、登录。四 实验内容1安装SQL Server 2005实验指导安装SQL Server 20051  根据安装机器软硬件的要求,选择一个合适的版本,以下以开发版为例2  将 SQL Server 2005 DVD 插入 DVD 驱动器。如果DVD驱动器的自动运行功能无法启动安装程序无法启动安装程序,请导航到 DVD 的根目录然后启动splash.ht

3、a。3  在自动运行的对话框中,单击“运行 SQL Server 安装向导”。4  在“最终用户许可协议”页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件。接受许可协议后即可激活“下一步”按钮。若要继续,请单击“下一步” 若要结束安装程序,请单击“取消”。如下图:5  在“SQL Server 组件更新”页上,安装程序将安装 SQL Server 2005 的必需软件。有关组件要求的详细信息,请单击该页底部的“帮助”按钮。若要开始执行组件更新,请单击“安装”。更新完成之后若要继续,请单击“完成”。6  在 SQL Server 安装向导的“欢迎

4、”页上,单击“下一步”以继续安装。7  在“系统配置检查 (SCC)”页上,将扫描安装计算机,以检查是否存在可能妨碍安装程序的条件。8  在“注册信息”页上的“姓名”和“公司”文本框中,输入相应的信息。若要继续,请单击“下一步”9  在“要安装的组件”页上,请选择要安装的组件。选择各个组件组时,“要安装的组件”窗格中会显示相应的说明。您可以选中任意一些复选框。建议全选。若要安装单个组件,请单击“高级”。否则,请单击“下一步”继续。10       在“实例名”页上,请为安装的软件选择默认实例或已命名的实例

5、。计算机上必须没有默认实例,才可以安装新的默认实例。若要安装新的命名实例,请单击“命名实例”,然后在提供的空白处键入一个唯一的实例名。11       在“服务帐户”页上,为 SQL Server 服务帐户指定用户名、密码和域名。您可以对所有服务使用一个帐户。12  在“身份验证模式”页上,选择要用于 SQL Server 安装的身份验证模式。如果选择 Windows 身份验证,安装程序会创建一个 sa 帐户,该帐户在默认情况下是被禁用的。选择“混合模式身份验证”时,请输入并确认系统管理员 (sa) 登录名。建议选择混合模式

6、,并输入安全的密码。13  如果选择 Reporting Services 作为要安装的功能,将显示“报表服务器安装选项”页。使用单选按钮选择是否使用默认值配置报表服务器。如果没有满足在默认配置中安装 Reporting Services 的要求,则必须选择“安装但不配置服务器”安装选项。若要继续安装,请单击“下一步”14  在“错误报告”页上,可以清除复选框以禁用错误报告。有关错误报告功能的详细信息,请单击该页底部的“帮助”。若要继续安装,请单击“下一步”。15    在“准备安装”页上,查看要安装的 SQL Server 功能和组件的摘要。

7、若要继续安装,请单击“安装”。16  在“安装进度”页上,可以在安装过程中监视安装进度。若要在安装期间查看某个组件的日志文件,请单击“安装进度”页上的产品或状态名称。17  在“完成 Microsoft SQL Server 安装向导”页上,可以通过单击此页上提供的链接查看安装摘要日志。若要退出 SQL Server 安装向导,请单击“完成”。18  如果提示您重新启动计算机,请立即重新启动。19  如果成功安装了SQL Server 2005,则在开始菜单中添加了如下程序和相应的服务:(2)SQL Server的环境介绍1. Analysis Serv

8、ices提供“部署向导”,为用户提供将某个Analysis Services项目的输出部署到某个目标服务器的功能。2. 配置工具其子菜单中提供的配置管理器“SQL Server Configulation manager”用于查看和配置SQL Server的服务。以下是SQL Server 2005 系统的7个服务。右击某个服务名称,可以查看该服务的属性,并且可以启动、停止、暂停和重新启动相应的服务。也可以使用操作系统“我的电脑”“管理”选项,在【计算机管理】窗口中查看和启动、停止、暂停和重新启动相应的服务。3. 文档和教程提供了SQL Server 2005的联机帮助和示例数据库概述。4.

9、性能工具子菜单提供了“SQL Server Profiler”和“数据库引擎优化顾问”用户数据库性能调试和优化工具。5.SQL Server Business Intelligence Development Studio商务智能(BI)系统开发人员设计的集成开发环境,构建于Visual Studio 2005 技术之上,为商业智能系统开发人员提供了一个丰富、完整的专业开发平台,支持商业智能平台上的所有组件的调试、源代码控制以及脚本和代码的开发。6.SQL Server Management Studio它将 SQL Server 早期版本中包含的企业管理器、查询分析器和分析管理器的功能组合到

10、单一环境中,为不同层次的开发人员和管理员提供 SQL Server 访问能力。实验一 定义数据库一 实验目的1 熟悉SQL Server 2005 中SQL Server Management Studio的环境2 了解SQL Server 2005数据库的逻辑结构和物理结构3 掌握使用向导创建和删除数据库的方法二 实验准备 1装有SQL Server 2005的PC机。2. 明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。三 实验要求1. 熟练使用企业管理器进行数据库的创建和删除操作2. 完成用向导建立和删除数据库的实验报告四 实验内容 设有

11、一学籍管理系统,其数据库名为“EDUC”,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:sql_data”。日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:sql_data”。 (1) 使用向导创建上诉描述的数据库。 使用SQL Server Management Studio(简称SSMS)创建数据库。 (2)使用向导删除上

12、面建立的数据库。 用SSMS删除添加建立的数据库EDUC1。实验指导使用向导创建和删除数据库(1) 使用向导创建上诉描述的数据库。 使用SQL Server Management Studio(简称SSMS)创建数据库。 1启动SSMS 在开始菜单中:所有程序SQL Server 2005 SQL Server Management Studio 单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。如果身份验证选择的是“混合模式”,则要输入sa的密码。2建立数据库 在“对象资源管理器”窗口,建立上述数据库EDUC。在数据库节点上右击选择新建。

13、同时建立一个同样属性的数据库EDUC1。 (2)使用向导删除上面建立的数据库。 用SSMS删除添加建立的数据库EDUC1。实验指导使用SQL语句创建和删除数据库一. 实验目的:1、 了解SQL Server 2005数据库的逻辑结构和物理结构。2、 掌握使用SQL 语句创建和删除数据库。二. 实验准备1 明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。2 了解用SQL语句创建和删除数据库的基本语法。三. 实验要求3、 熟练使用查询分析器进行数据库的创建和删除操作4、 完成用sql语句建立和删除数据库的实验报告四. 实验内容 1以下是创建数据库u

14、serdb1的SQL语句,create database userdb1on(name=userdb4_data,-数据文件的逻辑名称,注意不能与日志逻辑同名filename='g:xygluserdb4.mdf' ,-物理名称,注意路径必须存在size=5,-数据初始长度为5Mmaxsize=10,-最大长度为10Mfilegrowth=1)-数据文件每次增长1Mlog on( name=userdb4_log, filename='g:xygluserdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1)运行上述语句建立

15、数据库userdb12.用SQL语句删除步骤一建立的数据库userdb1。drop database userdb1实验二 定义表一实验目的1了解表的结构特点。2了解SQL Server的基本数据类型。3学会在企业管理器中创建表。4学会使用T-SQL语句创建表。二实验要求1. 熟练使用企业管理器创建和删除基本表。2. 是用查询分析器,完成用SQL语句创建和删除基本表。3. 完成用企业管理器和SQL创建和删除基本表的实验报告。三. 实验准备1. 确定数据库包含包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。2. 已完成实验三,成功创建了数据库EDUC。3了解常用的

16、创建表的方法。四. 实验内容1. 在实验三建立的数据库EDUC中,根据分析需要如下几个表: 表2.1 student表(学生信息表)字段名称类 型宽 度允许空值主 键说 明snochar8NOT NULL是学生学号snamechar8NOT NULL学生姓名sexchar2NULL学生性别nativechar20NULL籍贯birthdaysmalldate4NULL学生出生日期dnochar6NULL学生所在院系spnochar8NULL专业代码(外键)classnochar4NULL班级号entimesmalldate4NULL学生入校时间homevarchar40NULL学生家庭住址te

17、lvarchar40NULL学生联系电话表2.2 course表(课程信息表)字段名称类 型宽 度允许空值主 键说 明cnochar10NOT NULL是课程编号spnochar8NULL专业代码(外键)cnamechar20NOT NULL课程名称ctnotinyint1NULL课程类型编号(外键)experimenttinyint1NULL实验时数lecturetinyint1NULL授课学时semestertinyint1NULL开课学期credittinyint1NULL课程学分表2.3 sc表(学生选课成绩表)字段名称类 型宽 度允许空值主 键说 明snochar8NOT NULL是

18、学生学号cnosmallint2NOT NULL是课程编号scoretinyint1NULL学生成绩表2.4 teacher表(教师信息表)字段名称类 型宽 度允许空值主 键说 明tnochar8NOT NULL是教师编号tnamechar8NOT NULL教师姓名sexchar2NULL教师性别birthdaysmalldate4NULL教师出生日期dnochar6NULL教师所在院系pnotinyint1NULL教师职务或职称编号homevarchar40NULL教师家庭住址zipcodechar6NULL邮政编码telvarchar40NULL联系电话emailvarchar40NULL

19、电子邮件表2.5 teacher_course表(教师上课课表)字段名称类 型宽 度允许空值主 键说 明tcidsmallint2NOT NULL是上课编号tnochar8NULL教师编号(外键)spnochar8NULL专业代码(外键)classnochar4NULL班级号cnochar10NOT NULL课程编号(外键)semesterchar6NULL学期schoolyearchar10NULL学年classtimevarchar40NULL上课时间classroomvarchar40NULL上课地点weektimetinyint1NULL每周课时数2. 根据如上表结构用向导创建各表。3

20、. 用企业管理器删除所建立的表teacher_course4. 在查询分析器中用sql语句删除表Teacher5. 根据如上表结构用SQL语句创建各表。6. 将以上创建表的SQL命令以 .SQL文件的形式保存在磁盘上实验指导创建表一用向导创建表用SQL Server 2005的企业管理器创建student表输入表的属性:用以上方法在企业管理器中创建其他表。二用SQL语句创建表在SQL Server 2005 的查询分析器中,用sql语句创建student表。CREATE TABLE student( snochar(8) PRIMARY KEY, -学号(主键) snamechar (8) N

21、OT NULL,-姓名 sexchar(2),-性别 nativechar(20),-籍贯 birthdaysmalldatetime,-出生日期 dnochar(6),-所在院系 spnochar(8),-专业代码(外键) classnochar(4),-班级号 entimesmalldatetime,-入校时间 homevarchar (40),-家庭住址 telvarchar (40)-联系电话)用以上方法用sql语句创建其他表。实验指导修改表一 实验目的1了解表的结构特点。2学会在企业管理器中修改表的定义。3学会使用SQL语句修改表的定义。二 实验准备1. 成功完成实验四,在EDUC数

22、据库中已经成功建立了各表。2. 了解常用的修改表定义语句。三 实验要求1. 完成在已经创建成功的表上修改表定义的操作2. 写出实验报告。四 实验内容1 修改列属性(1) 用企业管理器将Student表中的birthday字段设为不能为空(not null)。(2) 用SQL语句将Student表中的属性sno char(8)改成varchar(20)类型。2 添加列(1) 用企业管理器在Course表中添加一列year ,类型为varchar(4),默认置为空。(2) 用SQL语句在year字段添加约束,year 的属性值在2004-2008之间。3 删除列 (1)用SQL语句将Course表

23、中的year字段删除。 实验指导创建和删除索引一 实验目的1 了解索引的类型和应用。2 学会用SQL语句对表创建和删除索引二 实验准备1. 完成实验四,成功创建数据库EDUC中各表2. 了解创建和删除索引的方法。三 实验要求1. 了解索引类型并比较各类索引的不同之处3. 完成索引的创建和删除,并提交实验报告。四 实验内容 1. 分别建立以下索引(如果不能成功建立,请分析原因)(1) 在student表的sname列上建立普通降序索引。(2) 在course表的cname列上建立唯一索引。(3) 在sc表的sno列上建立聚集索引。(4) 在sc表的sno(升序), cno(降序)两列上建立一个普

24、通索引。2. 删除索引 将sc表的sno列上的聚集索引删掉。实验三 数据查询实验指导简单查询和连接查询一 实验目的1观察查询结果, 体会SELECT语句实际应用;2要求学生能够在查询分析器中使用SELECT语句进行简单查询。3. 熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。二 实验准备1. 完成实验四,成功建立了基本表。2. 了解简单SELECT语句的用法。3. 比较熟悉查询分析器中的SQL脚本运行环境。三 实验要求 1.完成简单查询和连接查询操作,并验收实验结果提交实验报告四 实验内容所有的查询全部用Transact-SQL语句实现1. 简单查询操作此部分查询包括投影、选择条

25、件表达、数据排序、使用临时表等。 对EDUC数据库实现以下查询: 求计算机系的学生学号和姓名; 求选修了课程的学生学号; 求选修C1 课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列; 求选修课程C1 且成绩在8090 之间的学生学号和成绩,并将成绩乘以系数0.75 输出; 求计算机系和数学系的姓张的学生的信息; 求缺少了成绩的学生的学号和课程号。 将2000以后的成绩大于90分的学生成绩存入永久成绩表;将2000年以前的成绩存入临时成绩表中。2. 连接查询操作对EDUC数据库实现以下查询: 查询每个学生的情况以及他(她)所选修的课程; 求学生的学号、姓名

26、、选修的课程名及成绩; 求选修C1 课程且成绩在90 分以上的学生学号、姓名及成绩; 查询每一门课的间接先行课。实验指导子查询一 实验目的1 掌握子查询的表示。2 进一步掌握SQL Server 查询分析器的使用方法,加深对SQL 语言的嵌套查询语句的理解二 实验准备1 掌握SQL语句的基本语法,并熟悉查询分析器的工作环境。2 完成了实验二,创建了数据库EDUC及各个基本表。3 了解子查询的表示方法,熟悉IN 比较符、ANY、EXISTS操作符的用法。三 实验要求1. 在实验开始之前做好准备工作。2. 完成实验,并验收实验结果提交实验报告。四 实验内容1在数据库EDUC中实现一下查询:1)求选

27、修了高等数学的学生学号和姓名;2)求C1 课程的成绩高于张三的学生学号和成绩;3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);4)求其他系中比计算机系学生年龄都小的学生信息;5)求选修了C2 课程的学生姓名;6)求没有选修C2 课程的学生姓名;7)查询选修了全部课程的学生的姓名;8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。2提高操作实验建立“工程-零件”数据库及如下4个表,并输入实验数据,用SQL语句实现如下三个查询:1) 求供应项目j4红色零件的供应商号及名称2) 求没有使用上海供应商供应的零件的项目号3)至少使用了

28、供应商S5所供应全部零件的项目号。表结构如下:供应商(S):列名类型长度是否可为空供应商代码Char5姓名Char50所在城市Char20联系电话Char20工程(J):列名类型长度是否可为空工程代码Char5工程名Char50负责人Char10预算Char8零件(P):列名类型长度是否可为空零件代码Char5零件名Char50规格Char10产地Char20颜色Char10供应零件(SPJ):列名类型长度是否可为空供应商代码Char5工程代码Char5零件代码Char5数量Int4要求:供应商表:供应商代码为主码工程表:工程代码为主码零件表:零件代码为主码供应零件表:供应商代码、工程代码、零

29、件代码为联合主码;供应商代码为外码,参照表、列是供应商表的供应商代码列;工程代码为外码,参照表、列是工程表的工程代码列;零件代码为外码,参照表、列是零件表的零件代码列实验数据如下:供应商: 供应商代码姓名所在城市联系电话S1北京供应商北京0108888888S2天津供应商天津0228888888S3重庆供应商重庆0238888888S4上海供应商1上海0218888888S5广州供应商广州0208888888S6上海供应商2上海0216666666工程:工程代码工程名负责人预算J1工程1丁一200000J2工程2赵二60000J3工程3张三70000J4工程4李四80000J5工程5王五150

30、000零件:零件代码零件名规格产地颜色P1螺丝中济南红色P2主板集成深圳绿色P3显卡独立香港蓝色P4声卡集成天津红色P5网卡100M上海黑色P6鼠标无线上海黑色供应零件:供应商代码工程代码零件代码数量S1J2P450S1J3P5100S2J2P6500S4J1P3150S4J5P1200S5J4P6100S6J4P290实验指导使用子句的SELECE语句一 实验目的1. 熟练掌握数据查询中的分组、统计、计算和组合的操作方法。2. 进一步掌握SQL Server 查询分析器的使用,加深对SQL 语言的嵌套查询语句的理解。二 实验准备1. 了解SELECT语句的GROUP BY和ORDER BY子

31、句的作用。2. 了解统计函数和分组统计函数的使用方法。3. 熟悉查询分析器的运行环境。三 实验要求1. 在实验之前做好准备。2. 完成实验,并验收实验结果提交实验报告。四 实验内容 所有查询都全部用SQL语句实现1. 在数据库EDUC中实现如下查询1)求学生的总人数。2)求选修了课程的学生人数。3)求课程的课程号和选修该课程的人数。4)求选修课超过3 门课的学生学号 2. 提高操作实验 建立“图书_读者”数据库及如下3个表,并输入实验数据,用SQL语句实现如下五个查询:1)查找这样的图书类别:要求类别中最高的图书定价不低于全部按类别分组的图书的平均定价的2 倍。2)求机械工业出版社出版的各类图

32、书的平均定价,分别用GROUP BY 和GROUP BY ALL表示。3)列出计算机类图书的书号、名称及价格,最后求出册数和总价格。4)列出计算机类图书的书号、名称及价格,并求出各出版社这类书的总价格,最后求出全部册书和总价格。5)查询计算机类和机械工业出版社出版的图书。表结构如下:图书:列名类型长度是否可为空书号char10类别char12是出版社char50作者char20是书名char50定价money8是读者:列名类型长度是否可为空编号char10姓名char8单位char50是性别char2是电话char15是借阅:列名类型长度是否可为空串号char10书号char10读者编号cha

33、r10借阅日期datetime8要求:图书表:书号为主码读者表:编号为主码;性别只能是“男”或“女”的CHECK 约束借阅表:串号为主码;书号为外码,参照表、列是图书表的书号列;读者编号为外码,参照表、列是读者表的编号列;书号和读者编号的联合UNIQUE 约束实验数据:图书:书号类别出版社作者书名定价1001计算机机械工业出版社王民数据结构801002计算机机械工业出版社张建平计算机应用201003计算机电子工业出版社王敏数据库技术151004计算机电子工业出版社谭浩强C 语言251005英语中国人民大学出版社张锦芯应用文写作251006管理高等教育出版社Robison管理学151007管理机

34、械工业出版社Fayol工业管理701008数学机械工业出版社李平线性代数501009管理机械工业出版社Durark公司的概念141010数学机械工业出版社徐新国统计学15读者:编号姓名单位性别电话1001丁一数学院男812345671002赵二经济学院男822345671003张三管理学院女832345671004李四文学院男842345671005王五历史文化学院女852345671006孙六物理学院男862345671007周七生命科学院女872345671008徐八化学院男882345671009宋九信息学院女892345671010刘十计算机学院女80234567借阅:串号书号读者编号

35、借阅日期01100110032000-1-102100210052002-3-503100310081998-6-1804100410031997-12-805100510102001-5-406100610012005-7-250710071010997-11-308100810092004-2-109100910041996-9-110101010082000-6-4实验四 数据更新一 实验目的1 熟悉使用UPDATE/INSERT/DELETE语句进行表操作;2 能将这些更新操作应用于实际操作中去;二 实验准备1了解这些更新语句的基本语法和用法;三 实验要求1 完成下面的实验内容,并提交

36、实验报告;2 在实验报告中附上相应的代码;四 实验内容1 对于student表,将所有专业号为001的,并且入学年份为2006的学生,或是专业号为003,并且年龄小于20岁的学生的班级号改为001。2 对于student表,删掉所有年龄小于20岁,并且专业号为003的学生的记录。3 对于student表,插入一条新记录,它的具体信息为,学号:2007110011、姓名:张三、性别:男、出生日期:19880808、院系编号:001、专业编号:001、班级号:001、入学时间:20070901。4 对于student表,将入学时间最晚的学生和年龄最小的学生的联系方式去掉。5 对于student表,

37、将平均年龄最小的一个院系的院系编号改为008。6 把机械工业出版社出版的图书的定价上调10%。7 删除有关电子工业出版社出版图书的借阅记录。实验五 视图实验指导定义视图一 实验目的1掌握创建视图的SQL语句的用法。2掌握使用企业管管理器创建视图的方法。3掌握使用创建视图向导创建视图的方法。4掌握查看视图的系统存储过程的用法。5掌握修改视图的方法。二 实验准备1了解创建视图方法。2了解修改视图的SQL语句的语法格式。3了解视图更名的系统存储过程的用法。4了解删除视图的SQL语句的用法。三 实验要求1. 用不同的方法创建视图。2. 提交实验报告,并验收实验结果。四 实验内容1. 创建视图(1) 使

38、用企业管理器创建视图 在EDUC库中以“student”表为基础,建立一个名为“V_计算机系学生”的视图。在使用该视图时,将显示“student”表中的所有字段. (2) 使用SQL语句创建视图 在查询分析器中建立一个每个学生的学号、姓名、选修的课名及成绩的视图S_C_GRADE; 建立一个所有计算机系学生的学号、选修课程号以及平均成绩的视图COMPUTE_AVG_GRADE;2. 修改视图 (1) 使用企业管理器修改视图在企业管理器中将视图COMPUTE_AVG_GRADE中改成建立在数学系的学生学号、选修课程号以及平均成绩的视图。(2) 使用SQL语句修改视图 在查询分析器中使用更改视图的

39、命令将上面建立的视图“V_计算机系学生”更名为“V_计算机系男生”。3. 删除视图(1) 使用企业管理器删除视图 用企业管理器删除视图“V_计算机系学生”(2) 使用SQL语句删除视图用SQL语句删除视图COMPUTE_AVG_GRADE;实验指导使用视图一 实验目的1. 熟悉和掌握对数据表中视图的查询操作和SQL命令的使用;2. 熟悉和掌握对数据表中视图的更新操作和SQL命令的使用,并注意视图更新与基本表更新的区别与联系3. 学习灵活熟练的进行视图的操作,认识视图的作用二 实验准备1熟悉SQL SERVER 工作环境。2能连接到EDUC数据库。3复习有关视图操作的SQL语言命令。三 实验要求

40、1. 在实验开始之前做好准备工作。2. 实验之后提交实验报告,思考视图和基本表的区别四 实验内容一 定义视图在EDUC数据库中,已Student Course 和sc 表为基础完成一下视图定义 定义计算机系学生基本情况视图V_Computer; 将Student Course 和sc表中学生的学号,姓名,课程号,课程名,成 绩定义为视图V_S_C_G 将各系学生人数,平均年龄定义为视图V_NUM_AVG 定义一个反映学生出生年份的视图V_YEAR 将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G 将各门课程的选修人数及平均成绩定义为视图V_AVG_C_G二 使用视图1. 查询以上

41、所建的视图结果。2. 查询平均成绩为90分以上的学生学号、姓名和成绩;3. 查询各课成绩均大于平均成绩的学生学号、姓名、课程和成绩;4. 按系统计各系平均成绩在80分以上的人数,结果按降序排列;三 修改视图1. 通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果;2. 通过视图V_IS,新增加一个学生记录 ('S12','YAN XI',19,'IS'),并查询结果3. 通过视图V_IS,新增加一个学生记录 ('S13','YAN XI',19,'

42、MA'),并查询结果4. 通过视图V_IS,删除学号为“S12”和“S3”的学生信息,并查询结果5. 要通过视图V_S_C_G,将学号为“S12”的姓名改为“S12_MMM”,是否可以实现?并说明原因6. 要通过视图V_AVG_S_G,将学号为“S1”的平均成绩改为90分,是否可以实现?并说明原因实验六 安全性1实验目的(1) 掌握通过SQL Server管理平台和Transact-SQL语句创建、修改、删除、查看等管理用户账户的方法。(2) 掌握通过SQL Server管理平台和Transact-SQL语句添加、修改、删除、查看等管理角色的方法。(3) 掌握通过SQL Server管

43、理平台和Transact-SQL语句创建、修改、删除、查看等管理用户权限的方法。2实验内容(1) 利用SQL Server管理平台和Transact-SQL语句分别创建登录账户login_user1和login_user2。(2) 利用SQL Server管理平台和Transact-SQL语句分别删除登录账户login_user1和login_user2。(3) 利用SQL Server管理平台和Transact-SQL语句分别创建用户定义数据库角色member1和member2并添加到educ数据库中。(4) 利用SQL Server管理平台和Transact-SQL语句分别删除用户定义数据

44、库角色member1和member2。(5) 利用SQL Server管理平台和Transact-SQL语句分别创建数据库用户database_user1和database_user2。(6) 利用SQL Server管理平台和Transact-SQL语句分别赋予数据库用户database_user1和database_user2查询和修改educ数据库的权限。(7) 利用SQL Server管理平台和Transact-SQL语句分别赋予数据库用户database_user1和database_user2查询和修改student表的权限(8) 利用SQL Server管理平台和Transact

45、-SQL语句分别撤销数据库用户database_user1和database_user2查询和修改educ数据库的权限。(9) 利用SQL Server管理平台和Transact-SQL语句分别删除数据库用户database_user1和database_user2。实验七 完整性一、实验目的1、掌握数据库约束的概念; 2、熟悉SQL SERVER 的完整性约束技术。 3、了解SQL SERVER 的违反完整性处理措施。 二、实验准备 1、了解数据库完整性约束的基本概述 2、了解MS SQL Server完整性约束技术。 包括实体完整性、域完整性、引用完整性、用户定义完整性。3、了解主键(PR

46、IMARY KEY)约束 4、了解外键(FOREIGN KEY)约束 5、了解唯一性(UNIQUE)约束 6、了解检查(CHECK)约束 7、了解DEFAULT 约束 8、了解允许空值约束 三、实验要求1. 在实验之前做好准备2. 试验之后提交实验报告,并验收实验结果四、实验内容实验中涉及两张表:部门表、职工表。部门表包括部门号、名称、经理名、地址、电话号以及一个部门号主键约束和一个名称的唯一性约束。职工表包括职工号、姓名、年龄、职务、工资、部门号以及一个职工号的主键约束、一个部门好的外键约束和一个年龄的检查约束。本实验通过对这两张表的操作来验证数据库约束的相关概念。1、建立数据库qixin和

47、相关表 create table 部门( 部门号     char(4), 名称     varchar(20) not null, 经理名     varchar(8), 地址     varchar(50), 电话号     varchar(20), constraint PK_部门号 primary key(部门号), c

48、onstraint U_名称 unique(名称) create table 职工 ( 职工号     char(4) , 姓名     varchar(8) not null , 年龄     int , 职务     varchar(10) , 工资     money, 部门号     cha

49、r(4), constraint PK_职工号 primary key(职工号), constraint FK_部门号 foreign key(部门号) references 部门(部门号) on delete cascade, constraint CK_年龄 check(年龄<=60) 2、验证主键(PRIMARY KEY)约束insert into 部门 values('0001','财务科','张三','湖北汽车工业学院','8238787')如果再次insert int

50、o 部门 values('0001','财务科','张三','湖北汽车工业学院','8238787'),则会违反了 PRIMARY KEY 约束 'PK_部门_571DF1D5'。不能在对象 '部门' 中插入重复键。3、验证唯一性(UNIQUE)约束如果执行insert into 部门 values('0002','财务科','张三','湖北汽车工业学院','8238787')则会违反了 UNIQUE K

51、EY 约束 'UQ_部门_5812160E'。不能在对象 '部门' 中插入重复键。4、验证检查(CHECK)约束insert into 部门 values('0002','教务科','李四','湖北汽车工业学院','8238787')insert into 部门 values('0003','人事科','王二','湖北汽车工业学院','8238787') insert into 职工 values(

52、9;0001','张伟','30','科长',2000,'0001')insert into 职工 values('0002','李红','25','副科长',1500,'0001')insert into 职工 values('0003','王强','33','科长',2000,'0002')insert into 职工 values('0004'

53、,'赵东','34','副科长',1500,'0002')insert into 职工 values('0005','陈三','29','科长',2000,'0003')insert into 职工 values('0006','孙波','28','副科长',1500,'0003')如果执行insert into 职工 values('0007','陈红','70','副科长',1500,'0003'),则会INSERT 语句与 COLUMN CHECK 约束 'CK_职工_年龄_656C112C' 冲突。该冲突发生于数据库 'qixin',表 '职工', column '年龄'。 5、验证外键(FOREIGN)约束当指定on delete cascade时为级联删除,删除部门表记录时,职工表中相关的记录也会同时删除delete f

温馨提示

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

最新文档

评论

0/150

提交评论