




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统原理与应用 实验指导书 浙江农林大学环境与资源学院 2012 9 1 目录 实验一实验一 数据库系统设计数据库系统设计 2 实验二实验二 数据库定义和简单查询数据库定义和简单查询 3 实验三实验三 数据库的嵌套查询数据库的嵌套查询 9 实验四实验四 数据库的组合查询和统计查询数据库的组合查询和统计查询 11 实验五实验五 数据完整性和数据安全性数据完整性和数据安全性 14 实验六实验六 数据库备份和恢复数据库备份和恢复 31 实验七实验七 数据库前端开发工具 数据库前端开发工具 POWERBUILDER 基础 基础 38 实验八实验八 学生选课管理系统开发学生选课管理系统开发 55 2 实验一实验一 数据库系统设计数据库系统设计 一 实验目的一 实验目的 要求学生掌握数据库设计的基本技术 熟悉数据库设计的每个步骤中的任务和实施方法 并加深对 数据库系统概念和特点的理解 二 实验内容二 实验内容 设计一个简单的学生选课数据库应用系统 完成设计报告 重点为数据库系统结构特性设计部分 包括需求分析 概念设计和逻辑设计 学生也可以根据自己了解的实际情况 自选一个小型的数据库应用项目 并深入到应用项目的现 实世界中 进行系统分析和数据库设计 例如选择学籍管理系统 图书管理系统 材料管理系统或仓 库管理系统等 三 实验原理 方法和步骤三 实验原理 方法和步骤 利用数据库设计的 4 个阶段 需求分析 分析用户要求 概念设计 信息分析和定义 逻辑设计 设 计实现 和物理设计 物理数据库设计 概念模型设计时采用自底向上的方法 即自顶向下地进行需求 分析 然后再自底向上地设计概念结构 和自底向上的设计方法 四 实验报告要求四 实验报告要求 实验报告的形式为系统分析报告 提出数据库结构和系统功能模型 包括如下 3 个部分 1 系统需求分析 在系统需求分析报告中包括采用的设计方法 数据流图和数据字典 2 数据库信息要求和关系数据模型 使用 E R 图表示对数据库中要存储的信息及语义进行详细描述 对数据约束和数据之 间的关联进行详细描述 详细描述系统需要的基本表及属性 视图和索引 对基本表的主码 候选码 外码及被参照表进行说明 对基本表中数据的约束条件进行说明 3 数据库的操作和应用要求 在数据库的操作和应用要求报告中 详细描述数据库的数据操作要求 处理方法和处理 流程 画出系统功能模块图 报告可以适当简化 但以上主要内容应该有 可参考网络资源和使用设计工具 五 注意事项五 注意事项 1 在 E R 图中注意实体间联系类型的表示 2 数据库设计时应避免数据冗余 实体集的冗余和属性冗余 3 数据库的表中 属性应是不可再分的最小项 4 各表的联系应通过外码实现 六 思考题六 思考题 用关系数据库理论对自己设计的数据模型进行评价 指出合理和不足之处 提出改进的 方案 3 实验二实验二 数据库定义数据库定义和简单查询和简单查询 一 实验目的一 实验目的 要求学生熟练掌握和使用 SQL T SQL SQL Server 企业管理器创建数据库 表 所和索引 修改表结 构 学会使用查询分析器接受 T SQL 语句 进行结果分析 掌握 SQL Server 查询分析器的使用方法 加 深对 SQL 和 TransactSQL 语言的查询语句的理解 掌握简单表的数据查询 数据排序和数据联结查询 的操作方法 二 实验内容二 实验内容 1 建立数据库建立数据库 学生选课学生选课 建表 建表 学生 学号 姓名 年龄 性别 学院号 课程 课程号 课程名 先行课 选课 学号 课程号 成绩 学院 学院号 学院名 提示 constraint c1 primary key cola constraint c2 foreign key coln references table 1 coln 2 基本查询操作基本查询操作 1 熟悉 SQL Server 企业管理器和查询分析器的基本使用方法 2 简单查询操作 该实验包括投影 选择条件表达 数据排序等 3 连接查询操作 该实验包括求笛卡儿积 内连接 左外连接 右外连接 等值连接和自连接 三 实验步骤三 实验步骤 1 用企业管理器建立学生选课学生选课数据库 名称 学生选课学生选课 初始大小 10MB 增长 10 2 在企业管理器中察看学生选课学生选课数据库属性 并修改 3 用查询分析器建学生 课程 学院和选课学生 课程 学院和选课4 个表 同时建立约束 学生 学号 smallint 姓名 char 10 年龄 smallint 性别 char 2 学院号 tinyint 主码 外码 课程 课程号 smallint 课程名 char 20 先行课 smallint 主码 选课 学号 smallint 课程号 smallint 成绩 decimal 4 1 主码 外码 学院 学院号 tinyint 学院名 char 30 主码 选择合适的数据类型 定义每个表的主码 是否允许空和默认值等列级数据约束 4 在企业管理器中浏览学生 课程 学院和选课学生 课程 学院和选课4 个表级数据约束 每个表的主码约束 外码约束 也 可以尝试建立表和修改约束 让大家明白查询分析器和企业管理器都可以进行数据定义 5 用 T SQL 进行简单查询 求环境与资源学院学生的学号和姓名 求选修了课程的学生学号 求选修了课程的学生学号 课程号和成绩 求选修课程 数据库原理 且成绩在 80 90 分之间的学生学号和成绩 求环境与资源学院或计算机学院姓张的学生的信息 求缺少了成绩的学生的学号和课程号 4 四 实验方法四 实验方法 一 创建数据库和表 一 创建数据库和表 1 创建数据库 1 用企业管理器创建数据库 1 开始 程序 SQL Server 企业管理器 2 选中要在其上建立数据库的服务器 单击前面的 号 展开树形目录 3 选中 数据库 文件夹 点击鼠标右键 在弹出菜单上选 新建数据库 随后在数据库属性中输入数据 库名 数据文件名 日志文件名 并设置各自参数 参考上面的要求 2 查看数据库属性 选中数据库文件夹 点击鼠标右键 选择 属性 项 弹出数据库属性对话框 可以查看可修改数据库属性 参考课本 3 删除数据库 选中要删除的数据库 点击鼠标右键 选择 删除 项 确认 4 新建表 方法一 企业管理器方法 建以上三个表 包括列约束 Primary key Foreign key Not Null 参考帮助 注意 列名中不能有空格 只能用字母 数字 下划线 数据类型用下拉列表选择 列长度 精度 小数位不是所有字段都必须的 标识 标识种子和标识递增用于设置字段具有新增行的递增性 初始值以及步长 以便 SQL Server 自动填写该列的值 列名前的按钮为烈字段标注按钮 钥匙表示主码 黑三角指示行为当前字段 对话框中右击鼠标 弹出对话框 非常有用的选项为 设置主键 插入列 删除列 属性 5 新建表 方法二 查询分析器方法 T SQL 方法 Create table 学生 Create table 课程 Create table 选课 Create table 学院 详见后面的参考部分 6 定义完整性约束 前 3 个表的 check 约束 随意建 7 修改表结构 在学生表中添加 身份证号码 字段 1 在企业管理其中修改 用鼠标右击表名 在弹出菜单中选择设计表 弹出表属性窗口 可在此修改结构 2 用 alter table 修改 alter table 学生 add column 身份证号码 char 16 二 简单查询 二 简单查询 将查询需求用 Transact SQL 语言表示 在 SQL Server 查询分析器的输入区中 Transact SQL 查询语句 设置查询分析器结果区为 Standard Execute 标准执行 或 Execute to Grid 方式 发布执行命令 查看查询结果 如果结果不正确 进行修改 直到正确为止 查询分析器及使用方法 5 查询分析器是在开发数据库应用系统时使用最多的工具 查询分析器的主要作用是编辑 Transact SQL 将其发送到服务器 并将执行结果及分析显示出来 或进行存储 查询分 析功能主要通过测试查询成本 判断该查询是否需要增加索引以提高查询速度 并可以实现 自动建立索引的功能 查询分析器的界面如图 2 1 图所示 图 2 1 SQL Server 2000 查询分析器 Use student 表示将 student 数据库作为当前操作的数据库 以后的 SQL 操作均在此库进行 查询分 析器启动时 默认当前数据库为 Master 数据库 在查询生成器中的左边窗口是对象浏览器 其中按树结构列出了数据库对象 右上方是 SQL 代码区域 用于输入 SQL 的查询语句 右下方为结果区 用于显示查询结果和分析结 果 对于 TSQL 语句的执行结果 在结果区中可以有 4 种不同的输出形式 标准执行将结果 直接显示在结果区 网格执行将结果以表格形式显示在结果区 计划执行显示执行计划 索 引分析为在结果区中显示查询的索引情况 上述输出形式 可以通过菜单或按钮选择 1 简单查询数据准备简单查询数据准备 将教材中用 SQL 描述的建立学生 课程库操作 在 SQL Server 企业管理器中实现 建立数据库学生选课学生选课 其库中的学生 课程 选课 学院学生 课程 选课 学院表的数据为 学生 1 刘纯 20 女 11 2 张浩 21 男 11 3 李丽 19 女 21 4 刘安元 19 男 21 5 岳不群 25 男 null 6 李东 21 男 21 7 张名 20 男 31 8 岳群 22 男 41 课程 1 计算机原理 高等数学 2 计算机应用 计算机原理 3 数据库原理 C 语言 4 信息工程 计算机应用 5 C 语言 高等数学 6 数据结构 C 语言 7 遥感概论 高等数学 7 高等数学 选课 1 1 80 6 1 3 70 1 4 90 3 1 78 3 2 92 3 5 85 4 1 95 4 6 83 5 4 79 5 6 89 6 6 null 6 2 81 学院 11 林业生物技术 21 环境科技 31 园林 41 信息技术 51 工程 61 国际教育 2 基本操作实验 基本操作实验 1 简单查询实验 用 TransactSQL 语句表示下列操作 在学生选课库中实现其数据查询操作 求环境与资源学院学生的学号和姓名 求选修了课程的学生学号 求选修了课程的学生学号 课程号和成绩 并要求对查询结果按成绩降序排列 如果成绩相同 则按学号升序排列 求选修课程 数据库原理 且成绩在 80 90 分之间的学生学号和成绩 并将成绩乘以系数 0 7 输出 求环境与资源学院或计算机学院姓张的学生的信息 求缺少了成绩的学生的学号和课程号 2 连接查询实验 扩展 用 Transact SQL 语句表示 并在学生选课库中实现下列数据连接查询操作 查询每个学生的情况以及他 她 所选修的课程 求学生的学号 姓名 选修的课程名及成绩 求选修 数据库原理 且成绩为 90 分以上的学生学号 姓名及成绩 查询每一门课的间接先行课 即先行课的先行课 3 Transact SQL 语句表示学生和学院之间的内连接 左外部连接和右外部连接 在 学生 学院中实现其数据内连接和各种外查询操作 扩展 五 注意事项五 注意事项 1 查询结果的几种处理方式 2 内连接 左外部连接和右外部连接的含义及表达方法 3 输入 SQL 语句时应注意 语句中均使用西文操作符号 六 思考题六 思考题 1 如何提高数据查询和连接速度 7 8 七 七 SQL 参考参考 1 建表和约束 use student drop table 学生 drop table 课程 drop table 选课 create table 学院 学院号 tinyint not null primary key 学院名 char 30 create table 学生 学号 smallint primary key 姓名 char 10 年龄 smallint 性别 char 2 学院号 tinyint constraint c3 foreign key 学院号 references 学院 学院号 create table 课程 课程号 smallint primary key 课程名 char 20 先行课 smallint create table 选课 学号 smallint 课程号 smallint 成绩 decimal 4 1 constraint c0 primary key 学号 课程号 constraint c1 foreign key 学号 references 学生 学号 constraint c2 foreign key 课程号 references 课程 课程号 2 插入数据 insert into 学院 values 11 林业生物技术学院 insert into 学院 values 21 环境与资源学院 insert into 学院 values 31 计算机学院 insert into 学院 values 41 园林学院 insert into 学院 values 51 信息技术学院 insert into 学院 values 61 工程学院 insert into 学院 values 71 国际教育学院 insert into 学生 values 1 刘纯 20 女 11 insert into 学生 values 2 张浩 21 男 11 insert into 学生 values 3 李丽 19 女 21 insert into 学生 values 4 刘安元 19 男 21 insert into 学生 values 5 岳不群 25 男 null insert into 学生 values 6 李东 21 男 21 insert into 学生 values 7 张名 20 男 31 insert into 学生 values 8 岳群 22 男 41 insert into 课程 values 1 高等数学 null insert into 课程 values 2 计算机原理 1 insert into 课程 values 3 计算机应用 2 insert into 课程 values 4 C 语言 1 insert into 课程 values 5 数据结构 4 insert into 课程 values 6 数据库原理 5 9 insert into 课程 values 7 信息工程 2 insert into 课程 values 8 遥感概论 1 insert into 选课 values 1 1 80 insert into 选课 values 1 3 70 insert into 选课 values 1 4 90 insert into 选课 values 3 1 78 insert into 选课 values 3 2 92 insert into 选课 values 3 3 85 insert into 选课 values 3 4 66 insert into 选课 values 3 5 88 insert into 选课 values 3 6 91 insert into 选课 values 3 7 86 insert into 选课 values 3 8 92 insert into 选课 values 4 1 95 insert into 选课 values 4 6 83 insert into 选课 values 5 4 79 insert into 选课 values 5 6 89 insert into 选课 values 5 2 91 insert into 选课 values 6 6 null insert into 选课 values 6 8 81 10 实验三实验三 数据库的嵌套查询数据库的嵌套查询 一 实验目的一 实验目的 使学生进一步掌握 SQL Server 查询分析器的使用方法 加深 SQL 和 Transact SQL 语言的嵌套查 询语句的理解 二 实验内容二 实验内容 在 SQL Server 查询分析器中使用小 比较符 ANY 或 ALL 和 EXISTS 操作符进行嵌 套查询操作 三 实验方法三 实验方法 将查询需求用 Transact SQL 语言表示 在 SQL Server 查询分析器的输入区中输入 Transact SQL 查询语句 设置查询分析器的结果区为 Standard Execute 标准执行 或 Execute to Grid 网格执行 方式 发布执行命令 并在结果区中查看查询结果 如果结果不正确 要进行修改 直到正确为止 四 实验步骤四 实验步骤 1 基本操作实验 基本操作实验 用 TransactSQL 语句表示 在学生选课库中实现其数据嵌套查询操作 1 求选修了高等数学的学生学号和姓名 2 求 1 号课程的成绩高于张三的学生学号和成绩 3 求其他系中年龄小于工程学院年龄最大者的学生 4 求其他系中比工程学院学生年龄都小的学生 5 求选修了数据库课程的学生姓名 6 求没有选修数据库课程的学生姓名 7 查询选修了全部课程的学生的姓名 2 提高操作实验 提高操作实验 将自设计的数据库应用项目中的数据查询操作分类 用 TransactSQL 语句表示其中的 简单 连接和嵌套查询 并通过 SQL Server 查询分析器实现其查询操作 五 注意事项五 注意事项 1 输入 SQL 语句时应注意 语句中均使用西文操作符号 2 语句的层次嵌套关系和括号的配对使用问题 六 六 SQL 参考参考 在查询分析器中建立数据库 USE master GO 11 CREATE DATABASE student ON NAME student dat FILENAME E Program Files Microsoft SQL Server MSSQL Data student dat mdb SIZE 10 MAXSIZE 50 FILEGROWTH 5 LOG ON NAME Student log FILENAME E Program Files Microsoft SQL Server MSSQL Data student dat log SIZE 5MB MAXSIZE 25MB FILEGROWTH 5MB GO 1 求选修了全部课程的学生姓名 Select sname from student where not exists select from course where not exists select from sc where o o and sc sno student sno 表达方式 2 select sname from student where sno in select sno from sc group by sno group by sno having count select count from course 2 求选修了 c2 课程的学生所选全部课程的学生姓名 Select Sname From STUDENT st Where Not Exists Select From SC sc1 Where sc1 Sno sc2 And Not Exists Select from SC sc2 Where sc2 sno st sno And o o 3 求选了学号为 12345 的学生所修全部课程的学生姓名 select sname from student st where not exists select from sc sc1 where sc1 sno 12345 and not exists selectt from sc sc2 where st sno sc2 sno and o o 4 求没有选修 1001 课程的学生姓名 Select sname from student Where not exists select from sc where sno student sno and cno 1001 12 实验四实验四 数据库的组合查询和统计查询数据库的组合查询和统计查询 一 实验目的一 实验目的 使学生熟练掌握 SQL Server 查询分析器的使用方法 加深对 SQL 和 Transact SQL 语言的查询语句 的理解 熟练掌握数据查询中的分组 统计 计算和组合的操作方法 二 实验内容二 实验内容 1 分组查询实验 该实验包括分组条件表达 选择组条件的表达方法 2 使用函数查询的实验 该实验包括统计函数和分组统计函数的使用方法 3 组合查询实验 4 计算和分组计算查询的实验 三 实验方法三 实验方法 将查询需求用 Transact SQL 语言表示 在 SQL Server 查询分析器的输入区中输入 Transact SQL 查询 语句 设置查询分析器的结果区为 Standard Execute 标准执行 或 Execute to Grid 网格执行 方式 发布 执行命令 并在结果区中查看查询结果 如果结果不正确 要进行修改 直到正确为止 四 实验步骤四 实验步骤 1 基本操作实验 基本操作实验 在图书借阅库中实现其查询操作 1 查找这样的图书类别 要求类别中最高的图书定价不低于全部图书按类别分组平均定价的 1 5 倍 2 求机械工业出版社出版的各类图书的平均定价 用 GROUP BY 表示 3 列出计算机类图书的书号 名称及价格 最后求出册数和总价格 4 列出计算机类图书的书号 名称及价格 并求出各出版社这类书的总价格 最后求出全部册数 和总价格 5 查询计算机类和机械工业出版社出版的图书 2 提高操作实验 提高操作实验 将自设计的数据库应用项目中的分组 统计 计算和组合查询用 Transact SQL 语句表示 并通过 SQL Server 查询分析器实现其查询操作 五 注意事项五 注意事项 1 子旬 WHERE 条件 表示元组筛选条件 子句 HAVING 条件 表示组选择条件 2 组合查询的子句间不能有语句结束符 3 子句 HAVING 条件 必须和 GROUP BY 分组字段 子句配合使用 六 思考题六 思考题 1 组合查询语句是否可以用其他语句代替 有什么不同 2 使用 GROUP BY 分组条件 子句后 语句中的统计函数的运行结果有什么不同 13 七 七 SQL 参考参考 USE master GO CREATE DATABASE 图书读者 ON NAME bookreader dat FILENAME E Program Files Microsoft SQL Server MSSQL Data bookreader dat mdb SIZE 10 MAXSIZE 50 FILEGROWTH 5 LOG ON NAME Bookreader log FILENAME E Program Files Microsoft SQL Server MSSQL Data bookreader dat log SIZE 5MB MAXSIZE 25MB FILEGROWTH 5MB GO use 图书读者 drop table 借阅 drop table 图书 drop table 读者 create table 图书 书号 smallint not null primary key 类别 char 10 出版社 char 30 作者 char 30 书 名 char 30 定价 numeric 4 1 create table 读者 编号 smallint not null primary key 姓名 char 10 性别 char 2 年龄 tinyint 单位 char 20 部门号 tinyint 电话 char 11 create table 借阅 书号 smallint not null 读者编号 smallint not null 借阅日期 datetime insert into 图书 values 1 计算机 清华大学出版社 袁丽欧 SQL Server2000 开发与编程教程 24 00 insert into 图书 values 2 计算机 机械工业出版社 苗雪兰 数据库系统原理及应用教程 28 00 insert into 图书 values 3 数学 机械工业出版社 金一庆 数值方法 25 00 insert into 图书 values 4 计算机 高等教育出版社 Partrick Oneil 数据库 49 50 insert into 图书 values 5 计算机 电子工业出版社 飞思科技产品研发中心 Oracle9i 数据库高级 管理 58 00 insert into 图书 values 6 数理统计 中国林业出版社 宋新民 抽样技术 11 10 insert into 读者 values 1 李勇 男 20 生产科 10 62780112 insert into 读者 values 2 刘晨 女 19 null 10 62780210 insert into 读者 values 3 王敏 女 22 计划科 20 62780112 insert into 读者 values 4 方慧 女 22 计划科 20 62780112 insert into 读者 values 5 夏磊 女 22 计划科 20 62780112 insert into 读者 values 6 张立 男 21 科研所 30 62781211 insert into 借阅 values 1 2 2006 01 01 insert into 借阅 values 2 3 2006 01 08 14 insert into 借阅 values 3 2 2006 01 01 insert into 借阅 values 3 4 2006 03 01 insert into 借阅 values 3 5 2006 04 01 insert into 借阅 values 4 2 2006 06 01 insert into 借阅 values 5 1 2005 09 15 insert into 借阅 values 5 6 2005 09 15 insert into 借阅 values 6 5 2005 09 15 select 类别 from 图书 a where a 定价 any Select avg b 定价 2 from 图书 b where a 书号 b 书号 group by b 类别 select a 类别 from 图书 a group by a 类别 having max a 定价 all Select avg b 定价 2 from 图书 b where a 类别 b 类别 group by b 类别 15 实验五实验五 数据完整性和数据安全性数据完整性和数据安全性 一 实验目的一 实验目的 使学生加深对数据安全性和完整性的理解 并掌握 SQL Server 中有关用户 角色及操 作权限的管理方法 学会创建和使用规则 缺省和触发器 二 实验内容二 实验内容 1 数据库的安全性实验 在 SQL Server 企业管理器中 设置 SQL Server 的安全认证 模式 实现对 SQL Server 的用户和角色管理 设置和管理数据操作权限 包括 设置SQL Server的安全 认证模式 登录的管理 数据库用户的管理 服务器级角色的管理 数据厍角色的管理 对象权限的 管理 语句权限的管理 2 数据库的完整性实验 使用 Transact SQL 设计缺省 约束 存储过程和触发器 通过 SQL Server 企业管理器定义它们 三 实验方法三 实验方法 1 设置 设置 SQL Server 的安全认证模式的安全认证模式 1 在企业管理器中展开 SQL 服务器组 用鼠标右键单击需要设置的 SQL 服务器 在弹出的菜单中选 择 属性 项 2 在弹出的 SQL 服务器属性对话框中 选择 安全性 选项卡 16 3 在安全性选项卡中有一个安全性栏 它包括两个单选钮 单击 SQL Server 和 Windows S 为选择混合安全认证模式 单击 仅 Windows W 则为选择集成安全认证模式 2 登录的管理 登录的管理 1 查看安全性文件夹的内容 使用企业管理器可以创建 查看和管理登录 登录文件夹存放在 SQL 服务器的安全性文件夹中 当执行了进入企业管理器 打开指定的 SQL 服务器组和 SQL 服务器 并选择安全性文件夹的系列操作 后 就会出现如下图所示的屏幕窗口 通过该窗口可以看出 安全性文件夹包括 4 个文件夹 登录文件夹 服务器角色文件夹 链接服 务器文件夹和远程服务器文件夹 其中 登录文件夹用于存储和管理登录用户 服务器角色文件夹用 17 于存储和管理角色 链接服务器文件夹用于存储和管理连接的服务器 远程服务器文件夹用于存储管 理远程服务器信息 2 创建一个登录用户 1 用鼠标右键单击登录文件夹 出现如图 5 4 所示的弹出菜单 在弹出的菜单中选择 新建登录 选项后 就会出现一个登录属性对话框 如图 5 5 所示 图 5 4 在对话框中有常规选项卡 服务器角色选项卡和数据库访问选项卡 2 选择常规选项卡 输入用户的一般特征 常规选项卡界面如图 5 5 所示 在常规选 项卡中要输入用户名 选择该用户的安全认证模式 选择默认数据库和默认语言 图 5 5 如果选择 Windows 身份验证 需要单击名称右边的 按钮 调出 Windows 已有的登录用户 如图 5 6 所示 从中选择新建的登录名称 如果使用 SQL Server 安全认证模式 可以直接在名称栏中输入新 18 登录名 并在下面的栏目中输入登录密码 图 5 6 3 选择服务器角色选项卡 确定用户所属服务器角色 服务器角色选项卡如下图所示 在服务器角 色选项卡的服务器角色列表中列出了系统的固定服务器角色 在这些固定服务器角色的左端有相应的 复选框 选择某个复选框 该登录用户就成为相应的服务器角色成员了 在下面描述栏目中 列出了 当前被选中的服务器角色的权限 4 选择数据库访问选项卡 确定用户能访问的数据库 并确定用户所属的数据库角色 数据库访问 选项卡界面如下图所示 在数据库访问选项卡中有两个列表框 上面的列表框中列出了该 SQL 服务器 全部的数据库 单击某个数据库左端的复选框 表示允许该登录用户访问相应的数据库 它右边为该 登录用户在数据库中使用的用户名 可以对其进行修改 下面为当前被选中的数据库的数据库角色清 单 单击某个数据库角色左端的复选框 表示使该登录用户成为它的一个成员 19 5 操作完成后 单击 确定 按钮 即完成了创建登录用户的工作 3 数据库用户的管理 数据库用户的管理 登录用户只有成为数据库用户 Database User 后才能访问数据库 每个数据库的用户信息都存放在 系统表 sysusers 中 通过查看 sysusers 表可以看到该数据库所有用户的情况 SQL Server 的任一数据库 中都有两个默认用户 dbo 数据库拥有者用户 和 guest 客户用户 通过系统存储过程或企业管理器可 以创建新的数据库用户 1 dbo 用户 dbo 用户即数据库拥有者或数据库创建者 dbo 在其所拥有的数据库中拥有所有的操作权限 dbo 的身份可被重新分配给另一个用户 系统管理员 Sa 可以作为他所管理系统的任何数据库的 dbo 用户 2 guest 用户 如果 guest 用户在数据库存在 则允许任意一个登录用户作为 guest 用户访问数据库 其中包括那 些不是数据库用户的 SQL 服务器用户 除系统数据库 master 和临时数据库 tempdb 的 guest 用户不能被 删除外 其他数据库都可以将自己的 guest 用户删除 以防止非数据库用户的登录用户对数据库进行访 问 3 创建新的数据库用户 要在图书一读者数据库中创建一个 Userl 数据库用户 可以按下面的步骤创建新数据库用户 1 在企业管理器中扩展 SQL 服务器及数据库文件夹 用鼠标右键单击用户文件夹 弹出一个快捷 菜单 如图 5 9 所示 在弹出的菜单中选择 新建数据库用户 项 会出现如图 5 10 所示的新建数据 库用户属性对话框 20 图 5 9 图 5 10 2 在对话框的登录名栏中选择一个 SQL 服务器登录用户名 本例为 loginl 并在它 下面的用户名栏中输入数据库用户名 本例为 User2 最后 在下面的数据库角色栏中选择该数据库用户参加的角色 3 单击 确定 按钮 4 服务器级角色的管理 服务器级角色的管理 登录用户可以通过两种方法加入到服务器角色中 一种方法是在创建登录时 通过服务 器角色页面中的服务器角色选项 确定登录用户应属于的角色 另一种方法是对已有的登录 通过参加或移出服务器角色的方法 使登录用户加入服务器角色的具体步骤为 1 在企业管理器中 扩展指定的 SQL 服务器 安全性文件夹 单击服务器角色后 就 会在右面的细节窗口中出现 8 个预定义的服务器级角色 如图 5 11 所示 21 2 选中一个服务器级角色 例如 Database Creators 单击鼠标右键 出现弹出菜单 3 在弹出的菜单中选择 属性 项后 就会出现一个服务器角色属性对话框 如下图所示 在服务器角色对话框中 有 常规 和 权限 两个选项卡 常规选项卡用于将登录用 户添加到服务器角色中或从服务器角色中移去登录用户 权限选项卡的主要功能是介绍所选 择的服务器角色的权限情况 4 选择常规页面 并单击 添加 按钮 在出现的选择登录用户对话框中 选择登录名后 单击 确定 按钮 之后 新选的登录就会出现在常规对话框中 如果要从服务器角色中移去登录 则先 选中登录用户 再单击 删除 按钮即可 5 选择权限页面 可以看到该服务器角色可以执行的全部管理命令 即新加的登录也可以使用这些 操作命令 5 数据厍角色的管理 数据厍角色的管理 1 在数据库角色中增加或移去用户 22 在企业管理器中 向数据库角色添加或移去用户的方法是 1 展开一个 SQL 服务器 数据库文件夹和指定的数据库文件夹 选中角色文件夹后 在细节窗口 中就会出现该数据库已有的角色 2 选中要加入的角色 例如选中 db owner 角色 用鼠标右击它 在弹出的菜单中选择 属性 项 如下图所示 3 在如图所示数据库角色属性对话框中 单击 添加 按钮 则出现选择该数据库用户的对话框 选择要加入角色的用户 单击 确定 按钮 关闭选择数据库用户对话框后 会发现新选的用户名 出现在数据库角色属性对话框中 4 如果在数据库角色中要移走一个用户 在用户栏中选中它后 单击删除 按钮 5 完成后 单击 确定 按钮 2 创建新的数据库角色 1 在企业管理器中打开 SQL 服务器组 服务器 数据库文件夹和特定的数据库文件夹 2 用鼠标 选中角色子文件夹后 右边的细节窗口显示该数据库中的角色 用鼠标右击任意角色 并在弹出 的菜单中选择 新建数据库角色 项 如图所示 23 3 在如图所示的新建数据库角色对话框的名称栏中输入新角色名 在用户栏中增加或移去角色中的 用户 确定数据库角色的类型 数据库角色的类型有两种选择 标准角色 Standard Role 和应用程序角色 Application Role 标准角 色用于正常的用户管理 它可以包括成员 而应用程序角色是一种特殊角色 需要指定口令 是一种 安全机制 4 单击 确定 按钮完成 6 对象权限的管理 对象权限的管理 对象权限的管理可以通过两种方法实现 一种是通过对象管理它的用户及操作权 另一种是通过 用户管理对应的数据库对象及操作权 具体使用哪种方法要视管理的方便性来决定 1 通过对象授予 辙消和废除用户相限 如果要一次为多个用户 角色 授予 撤消和废除对某一个数据库对象的权限时 应采用通过对象的 方法实现 在 SQL Server 2000 的企业管理器中 实现对象权限管理的操作步骤如下 1 展开 SQL 服务器 数据库文件夹和数据库 选中一个数据库对象 例如 选中图书一读者数据 库中的表文件夹中的图书表 单击鼠标右键 使之出现弹出菜单 2 在弹出的菜单中 选择 所有任务 中的 管理权限 项 如下图所示 随后就会出现一个对象权限对话框 如下图所示 24 3 在对象权限对话框的上部有两个单选框 选择 列出全部用户 用户定义的数据库角 色 public U 项 则在下面的权限表中列出所有的数据库用户和角色 选择 仅列出对此对象具有 权限的用户 用户定义的数据库角色 public L 项 在权限表中列出仅具有本对象操作权的数据库用 户和角色 一般选中第一项 4 在对象权限对话框的下面是有关数据库用户和角色所对应的权限表 这些权限均以复选框的形式 表示 复选框有三种状态 4 为授权 为废除权 空为撤权 在表中可以对各用户或角色的 各种对象操作权 SELECT INSERT UPDATE DELETE EXEC 和 DRI 讲行授予或辙消 5 完成后单击 确定 按钮 2 通过用户或角色授予 撤消和废除对象权限 如果要为一个用户或角色同时授予 撤消或者废除多个数据库对象的使用权限 则可以通过用户 或角色的方法进行 例如 要对图书一读者数据库中的 rolesl 角色进行授权操作 在企业管理器中 通过用户或角色授权 或收权 的操作步骤如下 1 展开一个 SQL 服务器和数据库文件夹 单击用户或角色文件夹 在细节窗口中找到要选择的用 户或角色 本例为角色中的 rolesl 角色 用鼠标右键单击该角色 在弹出的菜单中选择属性项后 出现 形式如下图所示的数据库角色属性对话框 25 2 在数据库角色属性对话框中 单选钮的两个选项为 选择 列出全部对象 项 则在下面表中会 列出全部数据库对象 选择 仅列出该角色具有权限的对象 项 则下面表中只列出该角色有操作权 的对象 显然 要进行授权操作时应选前者 进行撤权或废除权限操作时可选后者 3 在对话框中的权限列表中 对每个对象进行授权 撤消权和废除权的操作 在权限表中 权力 SEI ECT INSERT UPDATE 等安排在列中 每个对象的操作权用一行表示 在相应的单元格中 如 果为 表示授权 表示废除权限 空白表示撤消权力 单击单元格可改变其状态 4 完成后 单击 确定 按钮 7 语句权限的管理 语句权限的管理 在 SQL Server 2000 的企业管理器中 还提供了管理语句权限的方法 其操作的具体步骤如下 1 展开一个 SQL 服务器 数据库文件夹 用鼠标右键单击指定的数据库文件夹 例如 图书一读 者数据库 在弹出的菜单中选择 属性 项 如下图所示 会出现数据库属性对话框 2 在数据库属性对话框中 选择 权限 选项卡 出现管理数据库语句权限的对话框 如下图所示 在对话框的列表栏中 单击表中的各复选小方块可分别对各用户或角色授予 撤消和废除数据库的语 句操作权限 小方框内的 表示授予权限 表示废除权限 空白表示撤消权限 26 3 完成后单击 确定 按钮 8 创建和修改存储过程 创建和修改存储过程 在企业管理器中 如果要创建新的存储过程或要修改一个已存在的存储过程 首先要展开服务器 数据库文件夹以及存储过程所属的数据库 然后用鼠标右击存储过程文件夹 出现如下图的存储过程 功能菜单 图 a 在弹出的菜单上选择 新建存储过程 项 就会出现如下图所示的存储过程属性对话框 27 图 b 在存储过程属性对话框的文本框中 输入创建存储过程的 Transact SQL 语句 然后 单击 检查 语法 按钮进行语法检查 检查无误后 单击 确定 按钮 这样就创建了一个存储过程 如果要修改一个已存在的存储过程 用鼠标双击该存储过程 就会出现与图 b 相似的存储过程属 性对话框 在它的文本框中 已经有原存储过程的内容 可以对其 Transact SQL 语句进行检查 修改 直到满意后关闭对话框为止 9 创建和修改触发器 创建和修改触发器 1 在企业管理器中 由服务器开始逐步扩展到触发器所属表的数据库 打开表文件夹 在细节窗口中 用鼠标右键单击触发器所属的表 在弹出的菜单上选择 所有任务 管理触发器 项 如下图 弹出触发器对话框 28 2 如果要新建触发器 则要选择名称弹出项的 new 并用新名替代它 然后在文本框中输入创建触 发器的 Transact SQL 语句 单击 检查语法 按钮进行语法检查 检查无误后 单击 确定 按钮 3 如果要修改触发器 则在名称弹出项中选择要修改的触发器名 并在文本框中对已有的内容进行 修改 检查无误后单击 确定 按钮 4 如果要删除触发器 则在名称弹出项中选择要删除的触发器名 并检查文本中的内容 看是否选 得正确 最后单击 删除 按钮 四 实验步骤四 实验步骤 1 基本操作实验 基本操作实验 1 在 SQL Server 企业管理器中为所属的 SQL 服务器设置 Windows NT 安全认证模式 2 在 SQL Server 企业管理器中为自己建立一个服务器用户 数据库用户和数据库角色 并将自己 创建的学生选课库 图书借阅库的所有操作权赋予它们 将自设计的数据库的操作权赋予新建的数据 库用户 3 用企业管理器创建存储过程和触发器的步骤如下 1 定义学生表中所在学院属性为 信息学院 的缺省 并捆绑缺省到学生表中 2 创建存储过程 其功能为查询学生成绩 3 利用触发器来保证学生选课库中选课表的参照完整性 以维护其外码与参照表中的主码一致 2 提高操作实验 提高操作实验 1 为图书读者库中的借阅表建立一个保证参照完整性 以维护外码与被参照表中的主码一致的触 发器 2 建立一个学生与选课表间来维护参照完整性而使用的联级删除触发器 联级修改触发器和受限 插入触发器 3 针对自设计的数据库应用项目的完整性要求 用 Transact SQL 语句进行定义并通过 Enterprise Manager 实现 五 注意事项五 注意事项 1 用户 角色和权限的职能 以及它们之间的关系 2 各种触发器的含义 3 两种 SQL Server 的安全认证模式及特点 29 六 参考六 参考 1 Create trigger use 图书读者 go if exists select name from sysobjects where name remainder and xtype TR drop trigger remainder go create trigger remainder on 读者 for insert update as raiserror 60003 16 10 go use master exec sp addmessage msgnum 60003 severity 16 msgtext N 你刚才插入了一行数据 lang us english insert into 读者 values 1 李勇 男 20 生产科 10 62780112 2 Create Default
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit6 Rain or Shine SectionaA Pronunciation说课稿2024-2025学年人教版(2024)七年级英语下册
- 课题3 物质的转化与应用说课稿-2025-2026学年初中化学仁爱科普版2024九年级下册-仁爱科普版2024
- 2025年中考数学试题分类汇编:锐角三角函数(10大考点62题) (第1期)原卷版
- 2025年中考化学试题分类汇编:坐标图像题(第2期)解析版
- A A hard choice (Viewing and listening)教学设计-2025-2026学年初中英语沪教版五四学制2024七年级下册-沪教版五四学制2024
- 第六单元 平行四边形的认识 (教学设计)-2023-2024学年四年级下册数学西师大版
- 2025年四川高考地理试题及答案详解
- 七年级道德与法治下册 第2单元 做情绪情感的主人 第5课 品出情感的韵味 第2框 在品味情感中成长说课稿 新人教版
- 四年级语文下册一二单元测试题(附答案)
- 2025年全国高压电工作业人员操作证考试题库(含答案)
- 《铁路运输安全管理》课件-第一章 铁路运输安全管理概述
- 高频变压器项目商业模式分析报告
- 杜邦安全培训课件
- 中职生开学第一课安全教育
- 16949工程变更课件
- 国宝文物运送活动方案
- 2024年德州市第二人民医院招聘备案制工作人员笔试真题
- 多重耐药菌感染防控与管理
- 护理沟通与服务课件
- 高低压配电施工设计方案
- 2025年辽宁省高考历史试卷及答案详解
评论
0/150
提交评论