360 likes | 489 Views
模块六. 视图及数据库管理. 教学目的与教学内容. 教学 目的 理解视图概念,掌握视图的基本应用; 明白数据库管理的重要作用,掌握保障数据安全的基本操作手段。 教学内容 视图 创建视图 视图的修改和删除 数据库备份与还原、数据导入与导出 使用 【 企业管理 】 还原数据库 stuCJ 使用 【 企业管理器 】 导入 / 导出数据. 教学流程. 视图及数据库的管理. 课题二 数据库备份与还原、数据导入与导出. 课题一 视图. 任务一 使用企 业管理 备份数 据库. 任务二 使用企 业管理 还原数 据库. 任务三 使用企
E N D
模块六 视图及数据库管理
教学目的与教学内容 • 教学目的 理解视图概念,掌握视图的基本应用; 明白数据库管理的重要作用,掌握保障数据安全的基本操作手段。 • 教学内容 • 视图 • 创建视图 • 视图的修改和删除 • 数据库备份与还原、数据导入与导出 • 使用【企业管理】还原数据库stuCJ • 使用【企业管理器】导入/导出数据
教学流程 视图及数据库的管理 课题二 数据库备份与还原、数据导入与导出 课题一 视图 任务一 使用企 业管理 备份数 据库 任务二 使用企 业管理 还原数 据库 任务三 使用企 业管理 器导入 导数据 任务一 创建视 图 任务二 视图的 修改与 删除
课题一 视 图 • 目的:在本课题中学习视图的创建、使用、修改和删 • 除。通过视图修改数据和视图的使用方案。 • 方法:边讲授边练习 • 内容: • 首先让我们来看一个已经创建好的视图示例,观察创建 视图的书写形式,然后由此示例引导出创建视图的基本语法格式,提出创建视图应遵循的基本原则,接着用四个示例分别说明如何创建四种类型的视图,及它的优点。 • 视图的使用 • 视图的修改和删除。 还原
任务1:创建视图 1.示例 【例6.1】创建一个学生基本信息视图stu_view,它只包括stu表里的学号、姓名、总成绩、名次三个字段。 在【查询分析器】查询窗口有下列语句: CREATE VIEWstu_view AS SELECTxh, xm, zcj, mc FROMstu 还原
按F5键执行查询后,在【查询分析器】的对象浏览器窗口中就 可以看到刚刚创建的stu_view视图,如下图示:
创建视图对象 视图名 CREATE VIEWstu_view AS SELECTxh, xm, zcj, mc FROMstu 视图要执行的操作 列名 定义视图的 SELECT 语句 基表 • 语法结构分析 • 保留关键字CREATE VIEW:用来指明要创建的对象是视图。 • AS:视图要执行的操作 • SELECT语句:视图的查询语句。
因此,可以引导出创建视图的最基本语法: CREATE VIEW<视图名> [ ( 列名1 [ ,列名2,...列名n ] ) ]AS 查询语句 说明: 视图名:名称必须符合标识符规则。可以选择是否指定视图所有者名称。 列名:可选项,如果未指定列名,则视图列的名称将与 SELECT 语句中的列名称相同。只有在下列情况下,才必须命名 CREATE VIEW 中的列:当列是从算术表达式、函数或常量派生的,两个或更多的列可能会具有相同的名称(通常是因为联接),视图中的某列被赋予了不同于派生来源列的名称。还可以在 SELECT 语句中指派列名。 查询语句:视图可以是具体某个表的行和列的简单子集,可以使用多个表或其它视图,也可以是任意复杂性的 SELECT 子句。
2.几个概念 • 视图:是一个虚拟表,它以另一种方式表示一个或多个表中的数据。视图只是保存在数据库中的 SELECT 查询。 • 基表:为视图提供数据来源一个表或多个表。如上例的stu表。
3.创建视图应遵循的基本原则 • 名称限制:视图名称必须遵循标识符的规则,且对每个用户必须唯一,该名称不得与该用户拥有的任何表的名称相同。 • 数据库限制:只能在当前数据库中创建视图。 • 列限制:最多可以引用1024列。 • 嵌套限制:在视图上可以再建立视图,最多嵌套32层。 • 定义视图的SELECT语句限制:定义视图的查询语句不可以包含ORDER BY、COMPTE或COMPUTE BY子句或INTO关键字。
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
它等价于下列语句: 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表的其他列数据。
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,只能访问该班同学的数据,这样从客观上保护了其他班级的数据。
两个或多个表的连接:通过表间的连接建立视图。两个或多个表的连接:通过表间的连接建立视图。 【例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
聚集信息:在视图中可以使用内置函数来简化操作。使用函数时,必须在CREATE VIEW 语句中为派生列指定列名。 【例6.4】创建视图xscj_view,以计算选课表(XK)中各同学的总分。 CREATE VIEW xscj_view(xh, sum_kccj) AS SELECTxh, sum(kccj) FROMxk GROUP BY xh
任务1 实训 创建视图实训
任务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 还原
课题二 数据库备份还原、数据导入与导出 • 目的:在本课题中理解数据库备份和还原的目的、方法和过程。 • 方法:边讲授边练习 • 内容:由于计算机系统中的硬件错误、软件错误、操作员的失误以及恶意的破坏等因素,轻则可能影响数据库性能,重则破坏数据库。要定期做好各种备份,以便在出现故障时,能够快速还原数据库。 还原
任务1:使用【企业管理】备份数据库stuCJ 具体步骤: • 展开服务器组,然后展开服务器。 • 展开“数据库”文件夹,右击数据库stuCJ,指向“所有任务”子菜单,然后单击“备份数据库”命令。 • 在"名称"框内,输入备份集名称。在"描述"框中输入对备份集的描述。(可选) • 在"备份"选项下单击"数据库 — 完全"。 • 在"目的"选项下,单击"磁带"或"磁盘",然后指定备份目的地。 • 如果没出现备份目的地,则单击"添加"以添加现有的目的地或创建新目的地。 还原
在"重写"选项下,执行下列操作之一: • 单击"追加到媒体",将备份追加到备份设备上任何现有的备份中。 • 单击"重写现有媒体",将重写备份设备中任何现有的备份。 • 选择"调度"复选框调度备份操作在以后执行或定期执行。(可选) • 单击"选项"选项卡并执行下列一项或多项操作:(可选) • 选择"完成后验证备份"复选框,在备份时对备份进行验证。 • 选择"备份后弹出磁带"复选框,在备份操作完成后弹出磁带。该选项只适用于磁带设备。 • 选择"检查媒体集名称和备份集到期时间",检查备份媒体以防意外重写。在"媒体集名称"框中,输入将用于备份操作的媒体的名称。如果仅指定备份集到期时间,则将其保留为空。 • 如果是第一次使用备份媒体,或者要更改现有的媒体标签,则在"媒体集标签"框下选择"初始化并标识媒体"复选框,然后输入媒体集名称和媒体集描述。只有在重写媒体时才能对其进行初始化和标识设置。 备份数据库 实训
任务2:使用【企业管理】还原数据库stuCJ 具体步骤: • 展开服务器组,然后展开服务器。 • 展开"数据库"文件夹,右击数据库,指向"所有任务"子菜单,然后单击"还原数据库"命令。 • 在“还原为数据库”框中,如果要还原的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。若要用新名称还原数据库,请输入新的数据库名称。 • 单击"从设备",然后单击"选择设备"。 • 在"还原自"下,单击"磁带"或"磁盘",然后选择还原设备。 • 如果没有出现设备,则单击"添加"以添加现有的备份设备或创建新的备份设备。在"还原数据库"对话框内,单击"查看内容"并选择要还原的备份集。 还原
在"还原备份集"下执行下列操作之一: • 单击"数据库 — 完全"还原数据库备份。 • 单击"数据库 — 差异"还原差异数据库备份。 • 单击"事务日志"应用事务日志备份。 • 单击"文件或文件组"还原文件或文件组备份。指定文件或文件组的名称。 • 单击"选项"选项卡,然后执行下列操作之一:(可选) • 单击"使数据库可以继续运行,但无法还原其它事务日志",如果没有其它要应用的事务日志备份。 • 单击"使数据库不再运行,但能还原其它事务日志",如果要应用其它事务日志备份。 还原数据库 实训
任务3:使用【企业管理器】导入/导出数据 • 导入数据:导入BioLife.mdb数据库到SQLSERVER2000。 • 具体步骤: • 展开服务器组,然后展开服务器。 • 右击数据库文件夹,指向"所有任务"子菜单,然后单击导入数据命令。 还原
4. 选择数据库文件。单击【下一步】 5. 选择目的。选择数据库新建 输入数据库名称
7.选择要复制的表,单击【下一步】,弹出“保存、调度和复制包”对话框7.选择要复制的表,单击【下一步】,弹出“保存、调度和复制包”对话框 8. 最后单击“完成”。
导出数据:把学生成绩数据库stuCJ里的表stu导出为Excel文件。导出数据:把学生成绩数据库stuCJ里的表stu导出为Excel文件。 • 具体步骤: • 展开服务器组,然后展开服务器。 • 展开数据库文件夹,右击stuCJ,指向"所有任务"子菜单,然后单击导出数据命令。
3。在弹出的“选择数据源”对话框里,单击“下一步”。3。在弹出的“选择数据源”对话框里,单击“下一步”。
4、 在弹出的“选择目的”对话框里,目的选中“Microsoft Excel 97-2000”。 【注意】在做此步骤前,应先创建工作簿文件c:\student.xls
5. 单击“下一步”后,再单击“下一步”。 6. 在弹出的“选择源表和视图”对话框里,“源”选中[stuCJ].[dbo].[stu],目的选中”Sheet1$”,它是电子表格中工作表的名称。 【注意】在做此步骤前先在工作表Sheet1$中建表头,表头行各单元格内输入stu表字段名,其次序应与数据库的表字段次序一致。
7. 单击“下一步”,随后,按向导单击完成。至此,数据已成功导出。 导入/导出数据 实训
创建视图实训 • 创建视图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以上的课程。 返回
备份数据库实训 • 备份数据库stuCJ
还原数据库实训 • 还原数据库stuCJ
使用【企业管理器】导入/导出数据 • 使用【企业管理器】完成以上导入/导出数据的练习。 结束