1 / 36

视图及数据库管理

模块六. 视图及数据库管理. 教学目的与教学内容. 教学 目的 理解视图概念,掌握视图的基本应用; 明白数据库管理的重要作用,掌握保障数据安全的基本操作手段。 教学内容 视图 创建视图 视图的修改和删除 数据库备份与还原、数据导入与导出 使用 【 企业管理 】 还原数据库 stuCJ 使用 【 企业管理器 】 导入 / 导出数据. 教学流程. 视图及数据库的管理. 课题二 数据库备份与还原、数据导入与导出. 课题一 视图. 任务一 使用企 业管理 备份数 据库. 任务二 使用企 业管理 还原数 据库. 任务三 使用企

dalia
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. 教学目的与教学内容 • 教学目的 理解视图概念,掌握视图的基本应用; 明白数据库管理的重要作用,掌握保障数据安全的基本操作手段。 • 教学内容 • 视图 • 创建视图 • 视图的修改和删除 • 数据库备份与还原、数据导入与导出 • 使用【企业管理】还原数据库stuCJ • 使用【企业管理器】导入/导出数据

  3. 教学流程 视图及数据库的管理 课题二 数据库备份与还原、数据导入与导出 课题一 视图 任务一 使用企 业管理 备份数 据库 任务二 使用企 业管理 还原数 据库 任务三 使用企 业管理 器导入 导数据 任务一 创建视 图 任务二 视图的 修改与 删除

  4. 课题一 视 图 • 目的:在本课题中学习视图的创建、使用、修改和删 • 除。通过视图修改数据和视图的使用方案。 • 方法:边讲授边练习 • 内容: • 首先让我们来看一个已经创建好的视图示例,观察创建 视图的书写形式,然后由此示例引导出创建视图的基本语法格式,提出创建视图应遵循的基本原则,接着用四个示例分别说明如何创建四种类型的视图,及它的优点。 • 视图的使用 • 视图的修改和删除。 还原

  5. 任务1:创建视图 1.示例 【例6.1】创建一个学生基本信息视图stu_view,它只包括stu表里的学号、姓名、总成绩、名次三个字段。 在【查询分析器】查询窗口有下列语句: CREATE VIEWstu_view AS SELECTxh, xm, zcj, mc FROMstu 还原

  6. 按F5键执行查询后,在【查询分析器】的对象浏览器窗口中就 可以看到刚刚创建的stu_view视图,如下图示:

  7. 创建视图对象 视图名 CREATE VIEWstu_view AS SELECTxh, xm, zcj, mc FROMstu 视图要执行的操作 列名 定义视图的 SELECT 语句 基表 • 语法结构分析 • 保留关键字CREATE VIEW:用来指明要创建的对象是视图。 • AS:视图要执行的操作 • SELECT语句:视图的查询语句。

  8. 因此,可以引导出创建视图的最基本语法: CREATE VIEW<视图名> [ ( 列名1 [ ,列名2,...列名n ] ) ]AS 查询语句 说明: 视图名:名称必须符合标识符规则。可以选择是否指定视图所有者名称。 列名:可选项,如果未指定列名,则视图列的名称将与 SELECT 语句中的列名称相同。只有在下列情况下,才必须命名 CREATE VIEW 中的列:当列是从算术表达式、函数或常量派生的,两个或更多的列可能会具有相同的名称(通常是因为联接),视图中的某列被赋予了不同于派生来源列的名称。还可以在 SELECT 语句中指派列名。 查询语句:视图可以是具体某个表的行和列的简单子集,可以使用多个表或其它视图,也可以是任意复杂性的 SELECT 子句。

  9. 2.几个概念 • 视图:是一个虚拟表,它以另一种方式表示一个或多个表中的数据。视图只是保存在数据库中的 SELECT 查询。 • 基表:为视图提供数据来源一个表或多个表。如上例的stu表。

  10. 3.创建视图应遵循的基本原则 • 名称限制:视图名称必须遵循标识符的规则,且对每个用户必须唯一,该名称不得与该用户拥有的任何表的名称相同。 • 数据库限制:只能在当前数据库中创建视图。 • 列限制:最多可以引用1024列。 • 嵌套限制:在视图上可以再建立视图,最多嵌套32层。 • 定义视图的SELECT语句限制:定义视图的查询语句不可以包含ORDER BY、COMPTE或COMPUTE BY子句或INTO关键字。

  11. 4.使用视图 视图创建成功以后就可以使用它了。现在让我们来使用示例1创建的视图stu_view。在【查询分析器】查询窗口执行下列语句: select * from stu_view 执行结果如下: xh xm zcj mc ------------ -------- -------- ----------- 041022021001 曹静 NULL NULL 041022021002 李春华 NULL NULL 041022021003 李丽娜 NULL NULL 041022021004 张清奎 NULL NULL 041022031001 杨余 NULL NULL 041022031002 兰飞 NULL NULL

  12. 它等价于下列语句: select xh, xm, zcj, mc from stu 在【查询分析器】查询窗口又执行下列语句,试图通过视图查询学号(xh)和出生日期(csrq): select xh, csrqfrom stu_view 但执行结果是:列名 'csrq' 无效。为什么呢?因为在定义视图的查询语句中,只select 了的stu表的xh, xm, zcj, mc列, 列csrq没有被select。因而通过视图只能访问xh, xm, zcj, mc四列,这样就保护了stu表的其他列数据。

  13. 5.视图的类型 • 表中列的子集:一个视图只包含基表中的一个或者多个列。如【例6.1】。 • 表中行的子集:一个视图只包含基表中符合条件的数据行。试看下例: 【例6.2】创建视图stu_soft_view,只能查询计算机软件班(班级编号041022041)的同学信息。 CREATE VIEW stu_soft_view AS SELECT * FROM stu WHERE bjbh = '041022041' 执行这个视图SELECT * FROM stu_soft_view,只能访问该班同学的数据,这样从客观上保护了其他班级的数据。

  14. 两个或多个表的连接:通过表间的连接建立视图。两个或多个表的连接:通过表间的连接建立视图。 【例6.3】创建视图stu_bj_view。建立班级和学生姓名的对照表,在这个视图中,学号(xh)和姓名(xm)两列来自表stu,bjmc列来自表bj。连接的条件是学生表stu的班级编号等于班级表bj的班级编号。 CREATE VIEWstu_bj_view AS SELECT stu.xh,stu.xm,bj.bjmc FROMstu, WHEREstu.bjbh = bj.bjbh

  15. 聚集信息:在视图中可以使用内置函数来简化操作。使用函数时,必须在CREATE VIEW 语句中为派生列指定列名。 【例6.4】创建视图xscj_view,以计算选课表(XK)中各同学的总分。 CREATE VIEW xscj_view(xh, sum_kccj) AS SELECTxh, sum(kccj) FROMxk GROUP BY xh

  16. 任务1 实训 创建视图实训

  17. 任务2:视图的修改和删除 1.ALTER VIEW语句修改视图 ALTER VIEW <视图名> [ ( 列名1 [ ,列名2,...列名n ] ) ]AS 查询语句 【例6.5】 修改【例6.1】建立的视图stu_view,只查询xh, xm, mc三列数据。 ALTER VIEW stu_view AS SELECT xh, xm, mc FROM stu 2. DROP VIEW语句删除视图 DROP VIEW语句删除视图的定义。只有视图的建立者、系统管理员或者 据库拥有者才能删除视图。语法: DROP VIEW 视图名 删除【例6.1】建立的视图。 DROP VIEWstu_view 还原

  18. 课题二 数据库备份还原、数据导入与导出 • 目的:在本课题中理解数据库备份和还原的目的、方法和过程。 • 方法:边讲授边练习 • 内容:由于计算机系统中的硬件错误、软件错误、操作员的失误以及恶意的破坏等因素,轻则可能影响数据库性能,重则破坏数据库。要定期做好各种备份,以便在出现故障时,能够快速还原数据库。 还原

  19. 任务1:使用【企业管理】备份数据库stuCJ 具体步骤: • 展开服务器组,然后展开服务器。 • 展开“数据库”文件夹,右击数据库stuCJ,指向“所有任务”子菜单,然后单击“备份数据库”命令。 • 在"名称"框内,输入备份集名称。在"描述"框中输入对备份集的描述。(可选) • 在"备份"选项下单击"数据库 — 完全"。 • 在"目的"选项下,单击"磁带"或"磁盘",然后指定备份目的地。 • 如果没出现备份目的地,则单击"添加"以添加现有的目的地或创建新目的地。 还原

  20. 在"重写"选项下,执行下列操作之一: • 单击"追加到媒体",将备份追加到备份设备上任何现有的备份中。 • 单击"重写现有媒体",将重写备份设备中任何现有的备份。 • 选择"调度"复选框调度备份操作在以后执行或定期执行。(可选) • 单击"选项"选项卡并执行下列一项或多项操作:(可选) • 选择"完成后验证备份"复选框,在备份时对备份进行验证。 • 选择"备份后弹出磁带"复选框,在备份操作完成后弹出磁带。该选项只适用于磁带设备。 • 选择"检查媒体集名称和备份集到期时间",检查备份媒体以防意外重写。在"媒体集名称"框中,输入将用于备份操作的媒体的名称。如果仅指定备份集到期时间,则将其保留为空。 • 如果是第一次使用备份媒体,或者要更改现有的媒体标签,则在"媒体集标签"框下选择"初始化并标识媒体"复选框,然后输入媒体集名称和媒体集描述。只有在重写媒体时才能对其进行初始化和标识设置。 备份数据库 实训

  21. 任务2:使用【企业管理】还原数据库stuCJ 具体步骤: • 展开服务器组,然后展开服务器。 • 展开"数据库"文件夹,右击数据库,指向"所有任务"子菜单,然后单击"还原数据库"命令。 • 在“还原为数据库”框中,如果要还原的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。若要用新名称还原数据库,请输入新的数据库名称。 • 单击"从设备",然后单击"选择设备"。 • 在"还原自"下,单击"磁带"或"磁盘",然后选择还原设备。 • 如果没有出现设备,则单击"添加"以添加现有的备份设备或创建新的备份设备。在"还原数据库"对话框内,单击"查看内容"并选择要还原的备份集。 还原

  22. 在"还原备份集"下执行下列操作之一: • 单击"数据库 — 完全"还原数据库备份。 • 单击"数据库 — 差异"还原差异数据库备份。 • 单击"事务日志"应用事务日志备份。 • 单击"文件或文件组"还原文件或文件组备份。指定文件或文件组的名称。 • 单击"选项"选项卡,然后执行下列操作之一:(可选) • 单击"使数据库可以继续运行,但无法还原其它事务日志",如果没有其它要应用的事务日志备份。 • 单击"使数据库不再运行,但能还原其它事务日志",如果要应用其它事务日志备份。 还原数据库 实训

  23. 任务3:使用【企业管理器】导入/导出数据 • 导入数据:导入BioLife.mdb数据库到SQLSERVER2000。 • 具体步骤: • 展开服务器组,然后展开服务器。 • 右击数据库文件夹,指向"所有任务"子菜单,然后单击导入数据命令。 还原

  24. 3、在数据源下拉框中选择Microsoft Access

  25. 4. 选择数据库文件。单击【下一步】 5. 选择目的。选择数据库新建 输入数据库名称

  26. 6.单击【下一步】后,再单击【下一步】,出现“选择源表和视图”对话框。

  27. 7.选择要复制的表,单击【下一步】,弹出“保存、调度和复制包”对话框7.选择要复制的表,单击【下一步】,弹出“保存、调度和复制包”对话框 8. 最后单击“完成”。

  28. 导出数据:把学生成绩数据库stuCJ里的表stu导出为Excel文件。导出数据:把学生成绩数据库stuCJ里的表stu导出为Excel文件。 • 具体步骤: • 展开服务器组,然后展开服务器。 • 展开数据库文件夹,右击stuCJ,指向"所有任务"子菜单,然后单击导出数据命令。

  29. 3。在弹出的“选择数据源”对话框里,单击“下一步”。3。在弹出的“选择数据源”对话框里,单击“下一步”。

  30. 4、 在弹出的“选择目的”对话框里,目的选中“Microsoft Excel 97-2000”。 【注意】在做此步骤前,应先创建工作簿文件c:\student.xls

  31. 5. 单击“下一步”后,再单击“下一步”。 6. 在弹出的“选择源表和视图”对话框里,“源”选中[stuCJ].[dbo].[stu],目的选中”Sheet1$”,它是电子表格中工作表的名称。 【注意】在做此步骤前先在工作表Sheet1$中建表头,表头行各单元格内输入stu表字段名,其次序应与数据库的表字段次序一致。

  32. 7. 单击“下一步”,随后,按向导单击完成。至此,数据已成功导出。 导入/导出数据 实训

  33. 创建视图实训 • 创建视图xk_view,根据它只能查询选课表(xk)学号、课程编号和课程成绩三列数据。 • 创建视图stu_year_view,根据它只能查询学生表(stu)中年龄不小于20岁的学生数据。 • 创建视图xk_kc_view。建立XK中的学号、课程编号和KC中课程名称的对照表。 • 创建视图xk_stu,根据它查询选修了<C程序设计>的同学数据。 • 创建视图xk_course_avg_view,以统计每门课程的平均分。 • 根据上一题建立的视图xk_course_avg_view,查询平均分在80以上的课程。 返回

  34. 备份数据库实训 • 备份数据库stuCJ

  35. 还原数据库实训 • 还原数据库stuCJ

  36. 使用【企业管理器】导入/导出数据 • 使用【企业管理器】完成以上导入/导出数据的练习。 结束

More Related