1 / 150

数据库实验指导

数据库实验指导. 第二篇 设计篇. 第一篇 实验篇. 第三篇 训练篇. 第四篇 实例篇. 第一篇 实验篇. 第一篇 实验篇. Microsoft SQL Server 是基于客户机 / 服务器模式的新一代大型关系型数据库管理系统( RDBMS )。在 SQL Server 的发展历程中,有两个版本具有重要的意义,那就是在 1996 年推出的 SQL Server 6.5 版本和 2000 年推出的 SQL Server 2000 版本。

johnna
Download Presentation

数据库实验指导

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数据库实验指导

  2. 第二篇 设计篇 第一篇 实验篇 第三篇 训练篇 第四篇 实例篇

  3. 第一篇 实验篇

  4. 第一篇 实验篇 • Microsoft SQL Server是基于客户机/服务器模式的新一代大型关系型数据库管理系统(RDBMS)。在SQL Server的发展历程中,有两个版本具有重要的意义,那就是在1996年推出的SQL Server 6.5版本和2000年推出的SQL Server 2000版本。 • 本篇主要以SQL Server 2000为主,把关系数据库的一些基本理论和基本技能应用到20个实验中,使读者熟练掌握数据库的创建和管理、数据库的维护和实施以及如何管理数据库对象等,为数据库的开发打下扎实的基本功。 • 本篇的每个实验都由下列4部分组成: •  实验目的 •  实验内容 •  问题解答 •  思考题

  5. 实验1 SQL Server 2000的安装 • 1.实验目的 • (1)了解SQL Server 2000不同版本安装的硬件要求和系统要求。 • (2)熟悉SQL Server 2000的安装步骤。 • (3)了解SQL Server 2000的卸载方法。 • (4)了解SQL Server 2000的主要组件。 • 2.实验内容 • (1)检查软硬件配置是否达到SQL Server 2000的安装要求。 • (2)选择安装SQL Server 2000的方式。 • (3)安装前要做的准备工作。 • (4)安装SQL Server 2000。

  6. 实验1 SQL Server 2000的安装 • 3.问题解答 • (1)如何删除SQL Server 2000中的实例? • 可以通过以下两种方法删除SQL Server 2000的实例。 • ① 运行SQL Server 2000安装程序,并选择“卸载”选项。 • ② 运行Windows控制面板中的“添加/删除程序应用程序”。 • 每个命名的SQL Server 2000实例必须单独删除,不能删除SQL Server 2000的个别组件,若要删除组件,必须删除整个实例。 • 提示:删除SQL Server 2000之前,应退出所有应用程序,包括 Windows NT事件查看器,注册表编辑器和所有的 SQL Server应用程序以及所有依赖于 SQL Server的应用程序。

  7. 实验1 SQL Server 2000的安装 • 3.问题解答 • (2)SQL Server 2000中的主要组件有哪些? • SQL Server 2000提供了一系列管理工具和实用程序,用于设置和管理SQL Server 2000。 • 当SQL Server 2000 安装完成后,选择“开始”→“程序”→“Microsoft SQL Server”命令,可以看到 SQL Server 2000主要组件的快捷方式。 • 其中,常用的有“服务管理器”、“企业管理器”、“查询管理器”和“导入和导出数据”等。

  8. 实验1 SQL Server 2000的安装 • 4.思考题 • (1)SQL Server 2000的安装出错时,如何进行错误检查? • (2)如何使用SQL Server 2000的帮助文档?

  9. 实验2 配置SQL Server 2000 • 1.实验目的 • (1)掌握启动和停止SQL Server 服务的方法。 • (2)掌握注册SQL Server 服务器的方法。 • (3)掌握创建服务器组的方法。 • (4)了解企业管理器和查询分析器的功能。 • 2.实验内容 • (1)练习用不同的方法启动SQL Server服务。 • (2)新建服务器组。 • (3)删除服务器组。 • (4)注册服务器。 • (5)断开与恢复同服务器的连接。 • (6)删除SQL Server注册。 • (7)打开查询分析器。

  10. 实验2 配置SQL Server 2000 • 3.问题解答 • (1)企业管理器的作用是什么? • 企业管理器是SQL Server 2000中最重要的一个管理工具,用于配置SQL Server 2000系统环境,创建和管理所有SQL Server对象,主要包括注册和管理SQL Server 服务器,连接、启动、暂停或停止 SQL Server 服务,创建和管理数据库,创建和管理各种数据库对象(包括表、视图、存储过程、触发器、角色、规则、默认值、用户自定义数据类型、用户自定义函数以及全文目录),备份数据库和事务日志,复制数据库,设置任务调度,让管理者进行警报设置,提供跨服务器的拖放操作,管理用户账户,编写和执行 Transact-SQL 语句,管理和控制SQL Mail等。

  11. 实验2 配置SQL Server 2000 • 3.问题解答 • (2)打开查询分析器时,怎样进行数据库登录认证? • 在打开查询分析器窗口时,用户必须首先登录到服务器。SQL Server提供了两种登录认证方式:一种是使用集成Windows身份验证方式,只要用户使用的是Windows操作系统并已经以合法的身份登录到操作系统环境中,那么打开查询分析器时,不用再输入登录信息;另一种是SQL Server身份验证方式,需要用户输入正确的登录名和密码才能连接服务器的连接,并进入查询分析器窗口。

  12. 实验2 配置SQL Server 2000 • 4.思考题 • (1)SQL Server的服务账号可以更改吗?如果可以,如何操作? • (2)启动SQL Server服务有哪些方法? • (3)如何配置查询分析器?

  13. 实验3 管理数据库 • 1.实验目的 • (1)熟练掌握在企业管理器中创建数据库的方法。 • (2)熟练掌握用SQL语句创建数据库的方法。 • (3)熟练掌握使用创建数据库向导来创建数据库的方法。 • (4)熟练掌握数据库属性的设置。 • (5)掌握数据库的修改和删除方法。 • 2.实验内容 • (1)使用企业管理器创建一个名为“SM”的数据库。 • (2)通过查询分析器创建一个名为“进销存”的数据库 。 • (3)使用向导创建一个名为“工资管理”的数据库。 • (4)使用企业管理器,修改SM数据库 。 • (5)使用SQL语句,修改SM数据库 。 • (6)使用SQL语句,删除“进销存”数据库。

  14. 实验3 管理数据库 • 3.问题解答 • SQL Server 2000中的数据库能否只包含数据文件? • 在Microsoft SQL Server 2000中数据库必须至少包含一个数据文件和一个事务日志文件,数据和事务日志信息从不混合在同一文件中,并且每个文件只能由一个数据库使用。

  15. 实验3 管理数据库 • 4.思考题 • (1)使用企业管理器删除“进销存”数据库。 • (2)在查询分析器中,通过模板创建一个名为“学生管理”的数据库。 • (3)从SM数据库中删除数据文件“SM_Data1”。

  16. 实验4 用T-SQL创建表 • 1.实验目的 • (1)熟悉各种数据类型。 • (2)能够运用T-SQL(Transact-SQL)语句正确创建表。 • (3)了解6种常用的数据完整性约束。 • 2.实验内容 • (1)使用T-SQL语句,创建SM数据库中的学生表Student。 • (2)创建SM数据库中的课程表Course。 • (3)创建SM数据库中的选课表SC。 • (4)输入SQL语句,查看表Student的定义。 • (5)输入SQL语句,查看表Student与其他表之间的依赖关系。 • (6)输入SQL语句,查看表Student上的约束。

  17. 实验4 用T-SQL创建表 • 3.问题解答 • (1)在为数据库设计表之前应考虑哪些问题? • 应该考虑两个问题:一是数据库中要存放哪些数据;二是这些数据如何划分到表中。

  18. 实验4 用T-SQL创建表 • 3.问题解答 • (2)什么是临时表? • 临时表是存储在tempdb数据库中的,当不再使用时会被自动删除。 • 在SQL Sever中可以创建两种临时表:局部临时表和全局临时表。局部临时表只能被当前的用户使用,即只能在创建它的会话内访问,当这一会话结束时,局部临时表自动被删除;而全局临时表在创建后能被所有的用户看到,当最后一个使用它的用户断开连接时才被自动删除掉。 • 可以用临时表来存储那些在永久存储前仍需加以处理的数据,例如,可以把多个数据合并起来创建临时表,在当前会话中访问这一临时表,这样就可以随时访问合并起来的数据,而不用引用各个数据库表。

  19. 实验4 用T-SQL创建表 • 4.思考题 • 建立班级表Class(CLno char(6) ,CLname varchar(30) ,DNo char(4),TNo char(5)),并修改表Student,设置CLno为外码约束。

  20. 实验5 用企业管理器创建表 • 1.实验目的 • (1)能够运用企业管理器正确创建表。 • (2)学会用企业管理器设置常用的数据完整性约束。 • 2.实验内容 • (1)利用企业管理器提供的图形界面来创建“进销存”数据库中的客户信息表c、货物表g和订单表o 。 • (2)在表o的goodsname列上创建外键约束。 • (3)在表o的quantity列上创建检查约束。 • (4)使用企业管理器,把SM数据库中的选课表SC的主码设置为SNo和CNo。 • (5)查看表间的依赖关系。 • (6)向表中输入数据。

  21. 实验5 用企业管理器创建表 • 3.问题解答 • 什么是数据完整性?关系数据库有几类完整性?怎样通过SQL Server来实现? • 数据完整性是指数据库中数据的正确性和一致性,保证数据库中数据的质量。一般有以下3类完整性。 • ① 实体完整性:通过主键约束来维护。 • ② 参照完整性:通过外键约束来维护。 • ③ 域完整性:通过唯一约束、检查约束、默认值和是否可以为空等约束来维护。

  22. 实验5 用企业管理器创建表 • 4.思考题 • (1)把表c中type列的默认值设置为1。 • (2)查看表o的依赖关系。

  23. 实验6 数据的复制与恢复 • 1.实验目的 • (1)熟练掌握附加数据库的方法。 • (2)熟练掌握数据导入和导出的方法。 • (3)熟练进行数据库的备份和还原。 • (4)了解差异备份和完全备份。 • 2.实验内容 • (1)对“进销存”数据库进行附加操作。 • (2)使用SQL语句对SM数据库进行附加操作。 • (3)对SM数据库进行备份。 • (4)删除SM数据库。 • (5)还原SM数据库。 • (6)将SM数据库中的数据导入到Excel表格中。 • (7)将Excel表中的数据导入到SS数据库中。

  24. 实验6 数据的复制与恢复 • 3.问题解答 • (1)系统数据库可以还原吗? • 在SQL Server 中,系统数据库存储的是系统信息,如果系统数据库被破坏,就必须还原系统数据库。 • 系统数据库的还原分为两种情况,当SQL Server服务可以启动时,可以用还原用户数据库的方法还原系统数据库;当SQL Server服务不能启动时,还原系统数据库的方法如下。 • ① 运行/binn下的文件“Rebuilem.exe”,重建系统数据库。 • ② 启动SQL Server服务。 • ③ 按Master,Msdb,Model的顺序还原系统数据库。

  25. 实验6 数据的复制与恢复 • 3.问题解答 • (2)在SQL Server 2000中,备份类型主要有哪些? • ① 完全备份:对数据库整体的备份。 • ② 差异备份:对数据库自前一个完全备份后改动的部分的备份。 • ③ 事务日志备份:对数据库事务日志的备份。

  26. 实验6 数据的复制与恢复 • 3.问题解答 • (3)利用数据导入导出,可以完成数据库的复制和恢复吗? • 可以,具体操作如下。 • ① 复制数据库结构。启动企业管理器,将鼠标指针指向左侧窗口要复制的数据库节点,单击鼠标右键,在弹出的快捷菜单中选择“所有任务”→“生成SQL脚本”命令,生成数据库结构的SQL脚本文件。 • ② 导出数据库数据。使用DTS将数据库中的数据导出到目标文件中。 • ③ 创建数据库。 • ④ 生成数据库结构。在查询分析器中,执行数据库结构的SQL脚本文件,生成指定数据库。 • ⑤ 导入数据库数据。使用DTS将目标文件中的数据导入数据库中。

  27. 实验6 数据的复制与恢复 • 4.思考题 • (1)分析下列SQL语句的功能。 • ① SP_ADDUMPDEVICE 'disk', 's_bak_mdf', 'd:\example\s_bak_mdf.bak' • GO • SP_ ADDUMPDEVICE 'disk', 's_bak_log', 'd:\example\s_bak_log.bak' • GO • BACKUP DATABASE SM TO s_bak_mdf • BACKUP DATABASE SM TO s_bak_mdf WITH DIFFERENTIAL • BACKUP LOG SM TO s_bak_log • ② RESTORE DATABASE SM FROM bak • RESTORE LOG SM FROM bak_log

  28. 实验6 数据的复制与恢复 • 4.思考题 • (2)对SM数据库进行差异备份、日志备份。 • (3)使用向导备份“进销存”数据库。 • (4)某企业的数据每周日晚12点进行一次全库备份,每天晚12点进行一次差异备份,每小时进行一次日志备份,数据库在2006/12/23 3:30崩溃,应如何恢复使数据损失最小? • (5)数据导入、导出的主要作用是什么?

  29. 实验7 表的维护 • 1.实验目的 • (1)熟练掌握用企业管理器修改表。 • (2)能够运用T-SQL语句对表结构进行修改。 • (3)熟练掌握用企业管理器编辑表中的数据。 • (4)能够运用T-SQL语句对表中的数据进行插入、修改和删除操作。 • 2.实验内容 • (1)使用企业管理器为表Student增加一列。 • (2)用SQL语句修改表Course的列属性,将CName的长度改为40,且不允许空。 • (3)用SQL语句向表Student中增加列Email,且要求输入的电子邮件地址必须包括“@”字符。 • (4)用SQL语句删除表Student中的列Address。 • (5)用SQL语句给表Student添加主键约束。

  30. 实验7 表的维护 • 2.实验内容 • (6)删除SName列上的主键约束。 • (7)使用with nocheck子句。 • (8)使约束无效或重新有效。 • (9)使用企业管理器编辑表Student中的数据。 • (10)用SQL语句向表中插入数据。 • (11)用SQL语句修改表中的记录。 • (12)用SQL语句删除表中的记录。

  31. 实验7 表的维护 • 3.问题解答 • 如果一个表被其他表通过外码约束引用,应该怎样删除? • 如果一个表被其他表通过外码约束引用,那么必须先删除定义外码约束的表,或删除其外码约束,当没有其他表引用它时,这个表才能被删除。

  32. 实验7 表的维护 • 4.思考题 • (1)TRUNCATE TABLE语句的作用是什么? • (2)对于表Student,分别执行DROP TABLE Student和DELETE Student两条命令,结果有什么不同?

  33. 实验8 常规数据查询 • 1.实验目的 • (1)掌握SELECT子句以及WHERE子句的使用方法。 • (2)学会应用ORDER BY子句。 • (3)掌握5种基本的聚合函数。 • (4)学会分组统计和二次查询。 • 2.实验内容 • (1)SELECT子句的应用。 • (2)WHERE子句的应用。 • (3)ORDER BY子句的应用。 • (4)聚合函数的应用。 • (5)聚合操作与分组统计的应用。

  34. 实验8 常规数据查询 • 3.问题解答 • (1)COMPUTE,COMPUTE BY和GROUP BY有何不同? • GROUP BY子句对查询结果进行分组,其返回的结果中只有合计数据,而没有原始的详细记录;COMPUTE子句生成合计作为附加的汇总列出现在结果集的最后;当与BY一起使用时,COMPUTE子句在结果集内生成控制中断和分类汇总,可在同一查询内指定COMPUTE BY子句和COMPUTE子句。 • (2)WHERE子句与HAVING子句有何不同? • HAVING子句和WHERE子句的相似之处就是都定义搜索条件;但是和WHERE子句不同,HAVING子句与组有关,而不是与单个的行有关。

  35. 实验8 常规数据查询 • 4.思考题 • 用SQL语句完成下列查询。 • ① 查询所有年龄为20岁的男生的信息。 • ② 查询选修00001号课程的学生的最高分。 • ③ 查询所有名字中含有“王”字的学生的信息。 • ④ 查询本学期正在选修00003号课程的学生的学号。

  36. 实验9 多表查询与子查询 • 1.实验目的 • (1)熟悉基本的连接操作,掌握内连接与外连接的方法,学会应用自身连接。 • (2)掌握相关子查询的使用方法。 • (3)掌握嵌套子查询的使用方法。 • (4)学会应用子查询修改数据。 • 2.实验内容 • (1)基本连接操作。 • (2)内连接操作。 • (3)外连接操作。 • (4)联合查询。 • (5)交叉连接。 • (6)自连接。 • (7)使用IN关键字。 • (8)使用EXISTS关键字。 • (9)使用比较运算符。 • (10)使用子查询修改数据。

  37. 实验9 多表查询与子查询 • 3.问题解答 • (1)创建查询时,应遵循的基本原则有哪些? • 创建查询时,应遵循的基本原则如下: • • FROM子句应当包括所有的表名。 • • WHERE子句应定义一个条件表达式,限定查询只能返回满足条件的记录。 • • 当列名为多个表共有时,列名必须被限制。

  38. 实验9 多表查询与子查询 • 3.问题解答 • (2)在含有JOIN关键字的连接查询中,其连接条件主要是通过哪些方法定义两个表在查询中的连接方式? •  指定每个表中要用于连接的列,典型的连接条件是在一个表中指定外键,在另一个表中指定与其关联的键。 • 指定比较各列的值时,要用比较运算符。 • (3)使用EXISTS关键字引入的子查询与使用IN关键字引入的子查询在语法上有哪些不同? • 主要有以下两方面不同。 • EXISTS关键字前没有列名或表达式。 •  由EXISTS关键字引入的子查询的SELECT列表通常都是由星号(*)组成。

  39. 实验9 多表查询与子查询 • 3.问题解答 • (4)能够在WHERE中使用的运算符有哪些?各运算符的功能是什么? • 能够在WHERE中使用的运算符及其功能如表1-9-1所示。

  40. 实验9 多表查询与子查询 • 4.思考题 • 连接表时,根据SELECT语句的不同,有时查询结果中会返回重复的行,应怎样使查询结果中不出现重复的行?

  41. 实验10 视图 • 1.实验目的 • (1)掌握创建视图的方法。 • (2)能够对视图进行修改。 • (3)能够通过视图修改数据。 • 2.实验内容 • (1)创建视图。 • (2)更新视图定义。 • (3)删除视图。 • (4)更新视图。

  42. 实验10 视图 • 3.问题解答 • (1)什么是可更新视图? • 如果创建一个视图,该视图没有汇总或聚集数据,每一列与一个基表中的一个源列对应,并且每一行都与一个源行对应,则这个视图便是一个可更新视图。

  43. 实验10 视图 • 3.问题解答 • (2)什么是关系图?如何建立和修改关系图? • 关系图是用来标记数据库中表之间的相互关联情况的,以图形显示通过数据连接选择的表或表结构化对象,同时也显示它们之间的连接关系。 • 在SQL Server中,一个数据库可以有多个关系图。在企业管理器中,依次展开树型目录,在指定数据库目录中选择“关系图”选项,单击鼠标右键,从弹出的快捷菜单中选择“新建数据库关系图”命令,可以创建新的关系图。对控制台目录中已有关系图的图标,选中一个单鼠标右键,从弹出的快捷菜单中选择“设计关系图”命令,可以对现有关系图进行修改。

  44. 实验10 视图 • 4.思考题 • (1)用SQL语句完成下列操作。 • ① 建立所有年龄为20岁的男生的视图。 • ② 将学生的学号和所选课程的门数建立一个视图。 • ③ 将所有职工的职工号和年薪建立一个视图。 • ④ 删除上面所建立的视图。 • (2)使用企业管理器完成上题所有操作。 • (3)使用视图向导创建所有年龄为20岁的男生的视图。 • (4)哪些视图不允许更新?

  45. 实验11 索引的创建与使用 • 1.实验目的 • (1)理解索引的概念和索引的作用。 • (2)掌握创建索引的方法。 • (3)学会使用索引。 • (4)了解聚簇索引和非聚簇索引。 • 2.实验内容 • (1)在TName列上创建索引。 • (2)使用索引向导,在SM数据库中,为表Student创建索引。 • (3)使用SQL语句在表Course上创建一个唯一性的聚簇索引,索引排列顺序为降序。 • (4)使用SQL语句在表Course上创建一个非唯一性的非聚簇索引。 • (5)查看表Course上的所有索引。 • (6)删除表Course上的索引。

  46. 实验11 索引的创建与使用 • 3.问题解答 • (1)创建索引之前应考虑什么问题? • 创建索引之前应考虑如下问题: • • 只有表的拥有者才能在表上创建索引。 • • 每个表上只能创建一个聚簇索引。 • • 每个表上最多能创建249个非聚簇索引。 • • 一个索引最大为900字节,在CHAR等类型的大型列上创建索引应考虑这一限制。 • • 一个索引最多包含16列。

  47. 实验11 索引的创建与使用 • 3.问题解答 • (2)如何通过企业管理器在已存在的表上建立索引、查看索引、修改索引和删除索引? • 在企业管理器中,用鼠标右键单击已存在的表,在弹出的快捷菜单中选择“所有任务”→“管理索引”命令,在“管理索引”窗口中进行相关操作。

  48. 实验11 索引的创建与使用 • 4.思考题 • (1)索引是否越多越好?为什么? • (2)聚簇索引和非聚簇索引有何区别?为什么每个表只能有一个聚簇索引?

  49. 实验12 管理数据库其他对象 • 1.实验目的 • (1)掌握如何创建、修改和删除规则。 • (2)理解规则与CHECK约束、DEFAULT约束的区别。 • (3)掌握如何创建、修改和删除默认值。 • (4)掌握如何创建、修改、删除和查看用户自定义的数据类型。 • 2.实验内容 • (1)创建规则。 • (2)捆绑规则。 • (3)解除捆绑的规则。 • (4)查看规则。 • (5)删除规则。 • (6)关于默认值的操作。 • (7)关于用户自定义数据类型的操作。

  50. 实验12 管理数据库其他对象 • 3.问题解答 • 规则与CHECK约束的不同之处在哪里? • 规则与CHECK约束的不同之处如下。 • ① CHECK约束是用CREATE TABLE语句在建表时指定的,而规则则需要作为单独的数据库对象来实现。 • ② 在一列上只能使用一个规则,但可以使用多个CHECK约束。 • ③ 规则可以应用于多个列,还可以应用于用户自定义的数据类型;而CHECK约束只能应用于它所定义的列。

More Related