数据库原理实验.ppt

上传人:s****8 文档编号:67264468 上传时间:2022-12-24 格式:PPT 页数:100 大小:2.03MB
返回 下载 相关 举报
数据库原理实验.ppt_第1页
第1页 / 共100页
数据库原理实验.ppt_第2页
第2页 / 共100页
点击查看更多>>
资源描述

《数据库原理实验.ppt》由会员分享,可在线阅读,更多相关《数据库原理实验.ppt(100页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库原理实验实验1 SQL Server2000常用工具初试实验目的实验目的初步了解SQL Server2000中常用工具的主要操作方法学会使用帮助文件进行相关资料的收集实验涉及的主要知识点实验涉及的主要知识点SQL SERVER2000数据库服务器的启动方式企业管理器的数据库操作功能查询分析器的大致功能SQL SERVER2000数据库的特点SQL SERVER2000联机丛书实验1 SQL Server2000常用工具初试实验内容与要求实验内容与要求内容:SQL SERVER2000数据库服务器的启动方式;要求:掌握本地数据库服务器的启动方式,了解远程数据库服务器的概念。内容:企业管理器

2、的大致功能;要求:掌握在企业管理器中对数据库的建立、备份、还原;对表的建立、修改、删除方法。内容:查询分析器的大致功能;要求:掌握查询分析器的登录方法;了解查询分析器的大致界面。内容:SQL SERVER2000几个系统数据库及各个系统数据库的特点;要求:了解系统数据库的内容、功能、特点,掌握联机帮助的使用方法。实验1 SQL Server2000常用工具初试1.实验的软硬件环境实验的软硬件环境1.pc机,windows 2000 server操作系统,SQL Server2000数据管理系统 2.实验步骤实验步骤1.点击开始程序Microsoft SQL Server 服务管理器,打开SQL

3、 Server服务管理器窗口,点击“开始/继续(S)”按钮启动数据库服务器,点击窗口上方的关闭按钮关闭该窗口。2.点击开始程序Microsoft SQL Server 企业管理器,打开企业管理器窗口。展开控制台根目录下方的“+”,可以看到当前登录的数据库服务器具有的相关操作。3.建立数据库:右键单击“数据库”,左键选中“新建数据库”,在弹出窗口的“常规”选项卡的“名称”后面的文本框输入你命名的数据库名称,点击“确定”按钮。实验1 SQL Server2000常用工具初试实验步骤实验步骤建立表:展开企业管理器的树型管理目录,右键单击选中需要建立新表的数据库,在弹出的菜单中,左键选中“新建”“表”

4、,在弹出“设计表”窗口中,设置该表所包含的属性的“列名”、“数据类型”、“长度”、“允许空”等参数值,点击“保存”或“关闭”按钮,系统提示保存,输入表名,点击“确定”按钮完成表的建立。在表中插入数据:展开企业管理器的树型管理目录,在窗口右边右键单击选中需要插入数据的表,在弹出的菜单中,左键选中“打开表”“返回所有行”,在弹出的窗口中,“*”表示当前可以插入数据的行,直接定位鼠标在一单元格,输入符合要求的范例数据,点击“关闭”按钮完成表的数据插入。实验步骤实验步骤点击开始程序Microsoft SQL Server 查询分析器,选择“windows身份验证”前面的单选按钮,点击“确定”按钮打开查

5、询分析器窗口。SQL 查询分析器是交互式图形工具,它使数据库管理员或开发人员能够编写查询、同时执行多个查询、查看结果、分析查询计划和获得提高查询性能的帮助。认识附图1-1窗口界面。在默认的“查询”窗口中输入一条简单的SQL语句,点击工具栏上的“执行查询”图标,在结果栏中查看SQL语句运行结果。修改表:展开需要修改表的数据库前面的“+”,左键选中“表”,在窗口右边中出现所有表名,右键选中需要修改的表,左键选中“设计表”,重新打开“设计表”窗口,修改该表所包含的属性的“列名”、“数据类型”、“长度”、“允许空”等参数值,点击“保存”或“关闭”按钮。实验1 SQL Server2000常用工具初试实

6、验1 SQL Server2000常用工具初试实验步骤实验步骤备份数据库:右键单击要备份的数据库,左键选中“所有任务”备份数据库“,在“常规”选项卡中,左键点击“添加”按钮,在弹出的“选择备份目的”窗口中,点击“”按钮修改“文件名”中的路径信息,详细包括路径以及文件名全称,点击该窗口的“确定”按钮返回上级窗口,再次点击“确定”按钮开始备份。删除表:左键选中需要删除的表,单击工具栏上的“删除”按钮完成表的删除。实验1 SQL Server2000常用工具初试实验步骤实验步骤还原数据库:新建一个空数据库作为要还原的数据库,右键单击要还原的数据库,左键选中“所有任务”还原数据库“,在“常规”选项卡中

7、,选中“从设备”前面的单选按钮,左键点击“选择设备”按钮,在弹出的新窗口中左键点击“添加”按钮,在弹出的窗口中通过点击“”按钮定位备份文件的位置,点击该窗口的“确定”按钮返回上级窗口,再次点击“确定”按钮开始还原。点击开始程序Microsoft SQL Server 联机丛书,选取“索引”选项卡,在文本框中输入“系统数据库”,查找实验相关内容。利用这种关键字匹配的检索方法,能够帮助自己查找初试SQL Server2000常用工具中遇到的问题,尝试自己解决。“对象浏览器”窗口工具栏 菜单栏 查询窗口的SQL语句输入窗 查询窗口的结果栏 状态栏 附图1-1 查询分析器窗口界面实验1 SQL Ser

8、ver2000常用工具初试1.测试数据测试数据1.启动本地数据库服务器,建立数据库student。2.打开企业管理器,在数据库student中建立表student,按照表一设置属性,并按照表一填入的数据类型在student表中填入类似数据。1.打开查询分析器,在工具栏上选取数据库为student,在查询分析器的查询窗口中输入:select*from student,查看结果2.在新建的表student中添加一属性列,birth,smalldatetime,允许空,查看是否成功。3.把数据库student备份为C:student.dat,查看是否成功。4.删除表student,查看是否成功。5.

9、还原数据库,查看是否成功。snosnamessexsagesdept001张三男19CS实验1 SQL Server2000常用工具初试实验结果及分析实验结果及分析正确操作可以对常用工具进行了解,要学会多用联机帮助自己解决问题不是所有数据库都能进行备份 Tempdb保存临时数据,不允许备份建立表时注意表名或属性列名的命名方法,使其更具可读性遵循变量的命名规则;不要和保留字相同填入数据的方式以行为单位逐行添加备份时追加媒体和重写媒体差异追加媒体指的是媒体上以前的内容保持完好无损,并在媒体上最后一次备份的末尾后写入新备份。重写媒体指的是媒体上的备份集的现有内容将由新备份重写而不再可用。实验1 SQ

10、L Server2000常用工具初试实验结果及分析实验结果及分析数据库还原时出现提示路径出错还原时选取“在现有数据库上强制还原”,然后“查看移至物理文件名”,若生成备份集的数据库服务器安装的目录和要还原的不在同一个磁盘上会产生路径出错,直接修改文件路径符合当前SQL Server2000的安装目录即可。实验2查询分析器中表的建立及数据插入 实验目的实验目的掌握掌握SQL语句中表结构的定义语句语句中表结构的定义语句掌握掌握SQL语句中的数据插入语句语句中的数据插入语句SQL语句的保存语句的保存实验涉及的主要知识点实验涉及的主要知识点 Create table语句体格式语句体格式Insert in

11、to语句体格式语句体格式完整记录、个别属性列、默认值、空值等情况数据插完整记录、个别属性列、默认值、空值等情况数据插入的格式入的格式查询分析器中对查询分析器中对SQL语句的保存或再次打开语句的保存或再次打开实验2查询分析器中表的建立及数据插入 实验内容与要求实验内容与要求在查询分析器中使用Create Table语句建立Student,SC,Course三张表,掌握基本语句格式在查询分析器中使用Insert Into 语句向这三张表里每张添加至少10条记录,要求会使用不同的语句书写方式加入数据对自己编写的SQL语句保存下来形成文件,以便下次再次使用实验的软硬件环境实验的软硬件环境pc机,win

12、dows 2000 server操作系统,SQL Server2000数据库服务器实验2查询分析器中表的建立及数据插入 实验步骤实验步骤启动查询分析器,在查询窗口中输入Create Table建表SQL语句建立表Student,点击工具栏上的“执行查询”图标,查看执行结果。按照相同方法输入创建Course表和SC表的SQL语句,并用鼠标选中,再点击工具栏上的“执行查询”图标,查看执行结果。所有建表语句正常执行后,在菜单栏选择“文件”“保存”,在弹出的窗口中选取合适的路径,保存成createtable.sql这样的查询文件,以便下次继续使用。实验2查询分析器中表的建立及数据插入 实验步骤实验步骤

13、在工具栏选择“新建查询”图标,在新的查询窗口中输入Insert into插入数据的SQL语句。分别尝试完整记录、个别属性列、默认值等情况数据插入的格式。点击工具栏上的“执行查询”图标,查看执行结果。所有数据插入语句正常执行后,在菜单栏选择“文件”“保存”,在弹出的窗口中选取合适的路径,保存成Insertinto.sql这样的查询文件,以便下次继续使用。点击关闭所有查询窗口,点击“文件”“连接”,选择“Windows身份验证”,点击“确认”按钮再次连接数据库服务器。实验2查询分析器中表的建立及数据插入 实验步骤实验步骤在工具栏上选取“装载SQL脚本”图标,在弹出的窗口中选择上次SQL语句保存的位

14、置,点击“打开”按钮,可以再次修改并保存。测试数据测试数据建表语句示例:create table student(sno char(10)primary key,sname varchar(20)not null,sage smallint,ssex char(2),sdept varchar(20)实验2查询分析器中表的建立及数据插入 测试数据测试数据数据插入语句示例,请输入查看是否正确:insert student values(001,张三张三,19,男男,CS)insert student(sno,sname,sage,ssex,sdept)values(002,李四李四,19,男男,

15、CS)insert student(sno,sname,ssex)values(003,王五王五,default)insert student(sno,sname,sage,ssex,sdept)values(004,孙六孙六,19,男男,Null)实验2查询分析器中表的建立及数据插入 实验结果及分析实验结果及分析操作后可以实现用SQL语句创建表正确操作后,可以正确并向表中添加数据。有些语句重复执行出错有些语句重复执行出错可以以选中方式执行中间某些语句行,如附图2-1所示可以用可以用/*和和*/进行注释进行注释被注释的语句不被执行有些语句在使用语句检查时正确,但在具体环境下不有些语句在使用语句

16、检查时正确,但在具体环境下不能实现相应效果,所以在执行时不能得到预计结果。能实现相应效果,所以在执行时不能得到预计结果。实验2查询分析器中表的建立及数据插入 实验结果及分析实验结果及分析注意建表语句在哪个数据库中运行,就建在哪个数据注意建表语句在哪个数据库中运行,就建在哪个数据库中库中不同的数据库可以有相同名称的表,同一个数据库中的表名不能相同。F5键可以刷新显示执行结果,注意在相应对象被选中键可以刷新显示执行结果,注意在相应对象被选中的情况下选择的情况下选择F5键,否则看不到结果。键,否则看不到结果。建立表间约束语句和书上不同建立表间约束语句和书上不同constraint ref_stu_s

17、no foreign key(sno)references student(sno)加在表结构定义语言最后作为外键定义语句。实验2查询分析器中表的建立及数据插入 实验结果及分析实验结果及分析建表语句不执行不产生结果建表语句不执行不产生结果在建表语句中将sno改为 char(12),但未执行再执行Insert Into Student Values(200501010101,张三,27,M,CS)报错,可以在树型目录中查到列属性并未修改。Create database aa执行语句检验语句执行后提示:执行后提示:CREATE DATABASE 进程正在磁盘进程正在磁盘 aa 上分配上分配 0.8

18、8 MB 的空间。的空间。CREATE DATABASE 进程正在磁盘进程正在磁盘 aa_log 上分上分配配 0.49 MB 的空间。的空间。二次执行后提示:二次执行后提示:服务器服务器:消息消息 1801,级别,级别 16,状态,状态 3,行,行 1数据库数据库 aa 已存在。已存在。按F5键刷新后显示附图2-1 语句重复执行示例实验3 查询分析器中修改表 实验目的实验目的掌握掌握SQL语句中对表结构修改的语句语句中对表结构修改的语句掌握掌握SQL语句中的表中数据修改的语句语句中的表中数据修改的语句实验涉及的主要知识点实验涉及的主要知识点Alter table、Drop table语句体格

19、式语句体格式update、delete语句体格式语句体格式修改表中约束修改表中约束实验内容与要求实验内容与要求在查询分析器中使用Alter table语句对表student添加列,修改列定义,删除列,掌握基本语句格式实验3 查询分析器中修改表 实验内容与要求实验内容与要求 在查询分析器中使用update语句修改表student中的数据,掌握基本语句格式在查询分析器中使用delete语句删除表student中的数据,掌握基本语句格式在查询分析器中使用drop table语句删除表student,掌握基本语句格式实验的软硬件环境实验的软硬件环境pc机,windows 2000 server操作系统

20、,SQL Server2000数据库服务器实验3 查询分析器中修改表 实验步骤实验步骤在工具栏上选取“装载SQL脚本”图标,在弹出的窗口中选择建表createtable.sql和插入数据insertinto.sql两个SQL语句文件保存的位置,点击“打开”按钮,分别执行再现上次实验环境。使用Alter table语句在表student中添加一列birth,数据类型为smalldatetime使用Alter table语句在表student中修改birth的数据类型为datetime使用Alter table语句在表student中修改sage的列约束为不允许为空值实验3 查询分析器中修改表 实

21、验步骤实验步骤使用update语句在表student中实现单值、多值的修改,参照测试数据中的要求使用delete语句在表student中实现单值、多值的删除,参照测试数据中的要求使用Drop table语句删除表student,在对象浏览器中观察与delete语句的差别测试数据测试数据根据给出的测试要求书写相应语句完成update、delete语句的练习:删除学号为01001的学生的选课信息实验3 查询分析器中修改表 测试数据测试数据删除选课而未参加考试的学生的选课信息删除所有学生的选课信息将01001学生转入MA系所有学生年龄加1实验结果及分析实验结果及分析正确操作后可以实现用SQL语句对表

22、结构和表中数据的修改。需要新建窗口再打开sql文件,否则打开的sql文件会清除原有查询窗口里面的内容。实验3 查询分析器中修改表 实验结果及分析实验结果及分析日期型定义为smalldatetime或datetime而不是date,可以定义如下:insert into student values(2005001,张三,男,19,cs,1985/2/14)insert into student values(2005002,张3,男,19,cs,2/14/1985)sql server中日期前后不需加#,例如,5/20/97 表示 1997 年 5 月的第20天,当使用数字日期格式时,在字符串中

23、以斜杠(/)、连字符(-)或句号(.)作为分隔符来指定月、日、年。字符串必须以下面的形式出现:数字 分隔符 数字 分隔符 数字 时间 时间实验3 查询分析器中修改表 实验结果及分析实验结果及分析添加一列不需要column 关键字修改一列属性必须要column 关键字修改一列列名称用sp_rename student.birth,bir,column 修改一列不为空的约束:先确保没有空值再进行修改要修改主键的名称、属性需要删除主键约束,再修改,再赋予主键属性实验3 查询分析器中修改表 实验结果及分析实验结果及分析修改唯一性约束:alter table student add CONSTRAINT

24、 unique_sname UNIQUE(sname)排序的次序:字符串类型以默认语言的顺序,数值以数值大小顺序,当有不同属性列引用时,遵从排序规则的优先顺序添加、删除、修改针对的对象:添加、删除针对数据行,修改针对数据项添加、删除针对数据行,修改针对数据项实验4 查询分析器中多种查询练习 实验目的实验目的掌握掌握SQL语句中普通查询、分组查询、嵌套查询语句语句中普通查询、分组查询、嵌套查询语句掌握掌握SQL语句中不同的运算符语句中不同的运算符掌握掌握SQL语句中视图的建立、删除语句中视图的建立、删除实验涉及的主要知识点实验涉及的主要知识点 Select、from、Where、Order By

25、子句的相关语法子句的相关语法要求要求子查询中单值、多值比较中运算符的要求,嵌套子查子查询中单值、多值比较中运算符的要求,嵌套子查询和相关子查询的相关语法要求询和相关子查询的相关语法要求聚合函数的使用及相关要求聚合函数的使用及相关要求视图的建立、删除视图的建立、删除实验4 查询分析器中多种查询练习 实验内容与要求实验内容与要求在查询分析器中使用查询语句对表student、course、sc完成单表查询、多表查询、查询排序等相关操作,熟练掌握基本语句格式在查询分析器中使用查询语句对表student、course、sc完成嵌套子查询、相关子查询等操作,明白原理,掌握基本语句格式在查询分析器中使用包含

26、聚合函数的查询语句对表student、course、sc完成相关操作,注意区分having和where的使用在查询分析器中使用Create view语句创建student的视图,明白原理,掌握基本语句格式实验4 查询分析器中多种查询练习 实验的软硬件环境实验的软硬件环境pc机,windows 2000 server操作系统,SQL Server2000数据库服务器 实验步骤实验步骤在工具栏上选取“装载SQL脚本”图标,在弹出的窗口中选择建表createtable.sql和插入数据insertinto.sql两个SQL语句文件保存的位置,点击“打开”按钮,分别执行再现上次实验环境。对表stude

27、nt进行简单查询,分别使用关键字ALL、Distinct、*、as,参照测试数据中的要求,查看结果。实验4 查询分析器中多种查询练习 实验步骤实验步骤利用student、course、sc三表进行简单查询,使用比较、确定范围、确定集合、字符匹配、空值判断、多重条件连接、转义符及通配符等,参照测试数据中的要求,查看结果。对表student的查询结果进行排序,分别以升序和降序显示结果,参照测试数据中的要求。利用student、course、sc三表进行嵌套子查询,使用单值比较和多值比较运算符完成相关操作,参照测试数据中的要求,查看结果。实验4 查询分析器中多种查询练习 实验步骤实验步骤利用stud

28、ent、course、sc三表进行相关子查询Exists的操作,参照测试数据中的要求,查看结果。利用student、course、sc三表进行聚合函数的操作,参照测试数据中的要求,查看结果。利用student表建立相关的查询视图,参照测试数据中的要求,查看结果。测试数据测试数据根据给出的测试要求书写相应查询语句完成练习:查找所有学生隶属的学院(Distinct)查找所有学生信息(ALL或*)查找学生的出生年份,并使结果集更具可读性(as)列出姓张的学生的学号、姓名(like)实验4 查询分析器中多种查询练习 测试数据测试数据列出课程名称中带有_的课号及课名。(like、escape)列出所有学

29、生的学号、姓名、课号、成绩。(多表查询)列出CS系中的男生的学号、姓名、年龄,并按年龄进行排列(排序)检索选修C01或C02的学生学号(多重条件连接)检索成绩在70分至80分之间的学生学号,课程号和成绩(确定范围)检索学号为001,003,004的同学的姓名,年龄按升序排列(确定集合)查询选修c05课程,并且年龄不大于26岁的学生的学号和成绩,并按成绩降序排列(多表查询、排序)实验4 查询分析器中多种查询练习 测试数据测试数据书上P74页习题5写出SQL语句(综合练习)找出与01001同龄的学生(子查询嵌套中单值比较)查询选修C01课程的学生的学号、姓名(子查询嵌套中多值比较)查询选修了 数据

30、库的学生的学号和姓名(子查询综合练习)找出年龄最小的学生(=all)查询没有选课的学生的学号和姓名(not in)查询C01课程中比所有男同学成绩都高的女同学的姓名(子查询综合练习)计算C05课程的平均成绩(聚合函数)每一位同学课程的平均成绩(聚合函数、分组)实验4 查询分析器中多种查询练习 测试数据测试数据统计各系学生的人数(聚合函数)列出具有两门(含)以上不及格的学生的学号、不及格的课目数(聚合函数、分组综合练习)找出具有最高平均成绩的学号及平均成绩(聚合函数、子查询嵌套)用聚合函数查找年龄最大的学生姓名,年龄(聚合函数、子查询嵌套)列出得过100分的学生的学号、姓名(Exists)列出没

31、有选C01课程的学生的学号、姓名(Not Exists)查询所有选修了1号课程的学生的姓名。(Exists)查询没有选修1号课程的学生的姓名。(Not Exists)查询与“刘晨”在同一个系学习的学生。(Exists)查询选修了全部课程的学生。(Not Exists)实验4 查询分析器中多种查询练习 测试数据测试数据查询至少选修了22号学生选修的全部课程的学生号码。(Not Exists)给CS系的学生开设必修课C05,建立选课信息(插入子查询结果)查询选修了c01,但是没有选修c02课程的学生的姓名和学号。(综合练习)求每一个学生的最高分和最低分。(综合练习)求选课在四门以上的学生所选课程的

32、平均成绩(不统计不及格的课程)。最后按降序列出平均成绩名次名单来。(综合练习)查询CS系所有男同学考C05课程的成绩,列出这些学生的学号,姓名,成绩,并按成绩降序排列。(综合练习)实验4 查询分析器中多种查询练习 测试数据测试数据检索选修了“C语言”课程的学生的姓名(可用子查询IN或Exists)(综合练习)检索选修了课程号为C1或C2课程,且成绩高于或等于70分的学生的姓名,课程名和成绩。(综合练习)检索所有学生的姓名、所选课程的课程名和成绩以及课程号,并且按成绩的降序和课程号的升序进行排列。(综合练习)创建计算机系的花名册的视图(视图)实验结果及分析实验结果及分析在执行操作前,要确保表中包

33、含符合题意的数据集,正确操作后可以实现用SQL语句对表实现多种方式的查询。实验4 查询分析器中多种查询练习 实验结果及分析实验结果及分析习题求没有使用天津供应商生产的红色零件的工程号JNO。分析:要找的是满足给定条件的工程号JNO,因此,对工程表J中的每个JNO进行判断:看SPJ中是否存在这样的元组,其JNOJ.JNO,并且所用的零件是红色的,该零件的供应商是天津的。如果SPJ中不存在这样的元组,则该工程号JNO满足条件,放入结果集合中。如果SPJ中存在这样的元组,则该工程号不满足条件,不放入结果集中。在对工程表J中的下一个JNO进行同样的判断。直到所有JNO都检查完实验4 查询分析器中多种查

34、询练习 实验结果及分析实验结果及分析结果集中是所有没有使用天津供应商生产的红色零件的工程号,包括没有使用任何零件的工程号。习题求没有使用天津供应商生产的红色零件的工程号JNO。分析:没有使用包含有些工程没有使用任何零件查询所有选修了1号课程的学生的姓名分析:Select sname from student Where exists(select*from sc where sno=student.sno and cno=1)见附图 4-1 查选选修1号课程的学生的姓名分析实验4 查询分析器中多种查询练习 1.实验结果及分析实验结果及分析1.查询没有选修1号课程的学生的姓名分析:1.Selec

35、t sname from student Where not exists(select*from sc where sno=student.sno and cno=1)2.见附图 4-2 查选选修1号课程的学生的姓名分析2.查询与“刘晨”在同一个系学习的学生分析:1.Select sno,sname,sdept from student s1 Where exists(select*from student s2 where s2.sdept=s1.sdept and s2.sname=刘晨)2.见附图 4-3 查询与“刘晨”在同一个系学习的学生分析实验4 查询分析器中多种查询练习 实验结果

36、及分析实验结果及分析查询选修了全部课程的学生Select sname from student Where not exists(select*from course where not exists(select*from sc where sno=student.sno and cno=o)见附图 4-4 查询选修了全部课程的学生分析查询至少选修了22号学生选修的全部课程的学生号码分析:Select distinct sno from sc scx Where not exists(select*from sc scy where scy.sno=22 and not exists(sel

37、ect*from sc scz where scz.sno=scx.sno and o=o)见附图 4-5 查询至少选修了22号学生选修的全部课程的学生号码分析附图4-1 查选选修1号课程的学生的姓名分析snocno001100210012Sc表snosname sdept001刘晨cs002张三cs003李四maStudent表先从student表中选出刘晨同学进行判断,看exists返回的值是否为真,若为真,则将刘晨放入结果集中,在exists子查询中,第一行记录使条件成立,所以刘晨被选出,结束对sc的遍历,否则遍历完sc表看条件是否成立,不成立就不放入结果集中。接着student表的第二

38、条记录的张三也进行同样判断,直至student表遍历结束。即查询结果为:刘晨和张三附图4-2 查询没有选修1号课程的学生的姓名分析snocno001100210012Sc表snosname sdept001刘晨cs002张三cs003李四maStudent表先从student表中选出刘晨同学进行判断,看exists返回的值是否为真,若为真,则将刘晨放入结果集中,在not exists子查询中,遍历sc表,条件不成立,所以刘晨不被选出,否则遍历完sc表看条件是否成立,成立就放入结果集中。接着student表的第二条记录的张三也进行同样判断,直至student表遍历结束。即查询结果为:李四附图4-

39、3 查询与“刘晨”在同一个系学习的学生分析先从s1表中选出刘晨同学进行判断,看exists返回的值是否为真,若为真,则将刘晨放入结果集中,在exists子查询中,s2表第一行记录使条件成立,所以刘晨被选出,结束对s2的遍历,否则遍历完s2表看条件是否成立,不成立就不放入结果集中。接着s1表的第二条记录的张三也进行同样判断,直至s1表遍历结束。即查询结果为:刘晨和张三snosnamesdept001刘晨cs002张三cs003李四maS1 表snosnamesdept001刘晨cs002张三cs003李四maS2 表附图4-4 查询选修了全部课程的学生分析先从studnt表中选出001进行判断,

40、看not exists返回的值是否为真,若为真,则将刘晨放入结果集中,否则不放入,继续查看student表的下一条记录。not exists是否为真取决于第一个括号内的查询是否有值,而第一个括号内是否有值取决于第二个括号内的查询是否有结果。第二个括号内第一次执行sno001,cnoc01找到匹配记录,停止遍历sc表,not exists返回false,不影响第一个括号内的查询,第二次执行sno001,cnoc02也找到匹配记录,停止遍历sc表,not exists返回false,course遍历结束。snosname001刘晨002张三Student 表cnocnameC01C语言C02VBc

41、ourse 表snocno001C01002C01001C02SC 表附图4-4 查询选修了全部课程的学生分析第二个括号内为空值,所以第一个括号内的sql语句返回空值,所以第一个括号外的not exists返回true,即选出的001成立,将刘晨放入结果集中。接着取出002,第二个括号内第一次执行sno002,cnoc01找到匹配记录,停止遍历sc表,not exists返回false,不影响第一个括号内的查询,第二次执行sno002,cnoc02 sc表遍历结束未找到匹配记录,not exists返回true,course遍历结束。第二个括号内值非空,所以第一个括号内的sql语句返回非空值,

42、所以第一个括号外的not exists返回false,即选出的002不成立,即查询结果为:刘晨。snosname001刘晨002张三Student 表cnocnameC01C语言C02VBcourse 表snocno001C01002C01001C02SC 表附图4-5 查询至少选修了22号学生选修的全部课程的 学生号码分析先从scx表中选出001进行判断,看not exists返回的值是否为真,若为真,则将001放入结果集中,否则不放入,继续查看scx表的下一条记录。not exists是否为真取决于第一个括号内的查询是否有值,而第一个括号内是否有值取决于第二个括号内的查询是否有结果。第二个

43、括号内第一次执行sno001,cnoc01找到匹配记录,停止遍历scz表,not exists返回false,不影响第一个括号内的查询,第二次执行sno001,cnoc02也找到匹配记录,停止遍历scz表,not exists返回false,scy表遍历结束,所以第一个括号内的sql语句返回空值,所以第一个括号外的not exists返回true,即选出的001成立,将001放入结果集中。scx 表scy 表scz 表snocno001C01022C01022C02001C02002C02snocno001C01022C01022C02001C02002C02snocno001C01022C0

44、1022C02001C02002C02附图4-5 查询至少选修了22号学生选修的全部课程的 学生号码分析接着从scx中取出022,和001判断相同,将022放入结果集。接着再从scx中取出022,和001判断相同,此处因为有distinct,则022不再放入结果集。接着再从scx中取出001,和001判断相同,此处因为有distinct,则001不再放入结果集。接着再从scx中取出002,第二个括号内第一次执行sno002,cnoc01遍历scz表未找到匹配记录,not exists返回true,所以第一个括号内的sql语句返回非空值,所以第一个括号外的not exists返回false,即选

45、出的002不成立,scx表遍历结束,即查询结果为:001、022。scx 表scy 表scz 表snocno001C01022C01022C02001C02002C02snocno001C01022C01022C02001C02002C02snocno001C01022C01022C02001C02002C02实验5 约束、索引的相关操作 实验目的实验目的掌握查询分析器中对约束的建立、删除、查询掌握查询分析器中对约束的建立、删除、查询了解企业管理器中对约束的建立、删除、查看了解企业管理器中对约束的建立、删除、查看掌握查询分析器中对索引的建立掌握查询分析器中对索引的建立实验涉及的主要知识点实验涉

46、及的主要知识点完整性约束的分类(实体完整性约束、参照完整性约束、用户自定义完整性约束),五大约束(主键、缺省、唯一性、外键、检查约束)分别属于哪种完整性约束查询分析器中对五大约束的建立查询分析器中对五大约束的删除、查看查询分析器中对索引的建立实验5 约束、索引的相关操作 实验内容与要求实验内容与要求在查询分析器中使用Create tableCONSTRAINT语句创建表的同时添加主键、唯一性、检查、外键、缺省约束,掌握基本语句格式在查询分析器中对象浏览器中查看建立的约束,掌握操作方法在查询分析器中使用Alter table drop/add语句删除/修改约束,掌握基本语句格式在查询分析器中使用

47、Create index语句创建索引,掌握基本语句格式实验的软硬件环境实验的软硬件环境pc机,windows 2000 server操作系统,SQL Server2000数据库服务器实验5 约束、索引的相关操作 实验内容与要求实验内容与要求在查询分析器中使用Create tableCONSTRAINT语句创建表的同时添加主键、唯一性、检查、外键、缺省约束,掌握基本语句格式在查询分析器中对象浏览器中查看建立的约束,掌握操作方法在查询分析器中使用Alter tableCONSTRAINT语句修改、删除约束,掌握基本语句格式在查询分析器中使用Create index语句创建索引,掌握基本语句格式实验

48、步骤实验步骤启动查询分析器,在查询窗口中输入Create database test,点击工具栏上的“执行查询”图标,在对象浏览器中选中数据库服务器,按F5进行刷新,然后在工具栏上选择需要运行SQL语句的数据库为test(默认启动时是master)。实验5 约束、索引的相关操作 实验步骤实验步骤在查询窗口中输入Create tableCONSTRAINT建表的同时添加主键、唯一性、检查、外键、缺省约束,参照测试数据中的要求,查看结果。在对象浏览器中选中test数据库,按F5进行刷新,展开test数据库前面的“+”,继续展开“用户表”前面的“+”,再次展开所建立的表名前面的“+”,在“约束”下面

49、可以看到该表中建立的所有约束。在查询窗口中输入Alter tableadd修改约束,参照测试数据中的要求,查看结果。在查询窗口中输入Alter tabledrop删除约束,参照测试数据中的要求,查看结果。实验5 约束、索引的相关操作 实验步骤实验步骤启动企业管理器,右键选中需要建立或是已经建立约束的表,左键选择“设计表”,当前属性列定义行前有“钥匙”图标表示建立了主键约束,可以定位光标在相应属性列定义行上,左键单击工具栏上的“钥匙”图标进行建立或修改;可以在附图5-1中建立或修改唯一性约束;可以在附图5-2中建立或修改检查约束;可以在附图5-3中建立或修改缺省约束;可以在附图5-4中建立或修改

50、外键约束。在查询分析器中输入Create index建立索引,参照测试数据中的要求,查看结果。实验5 约束、索引的相关操作 测试数据测试数据主键约束:用Create table创键student表的同时,创建sno上的主键约束pk_no,查看结果;用alter table student drop pk_no删除该约束;用alter table student add constraint pk_sno primary key clustered(sno)添加约束。唯一性约束:用Create table创键student表的同时,创建sname上的唯一性约束unique_sname,查看结果;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁