第9章网络数据库管理系统.ppt_第1页
第9章网络数据库管理系统.ppt_第2页
第9章网络数据库管理系统.ppt_第3页
第9章网络数据库管理系统.ppt_第4页
第9章网络数据库管理系统.ppt_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章网络数据库管理系统 前面介绍了数据库基本原理 数据库设计和结构化查询语言SQL 掌握了建立数据库的有关知识 做为数据库应用 现在越来越多的是借助网络技术将其中的大量数据及时有效地发布出去 而计算机网络由于采用了成熟的数据库技术 可以更有效的管理数据 与用户实现实时的 动态的数据交互 将数据库技术与计算机网络技术相结合是二者发展的共同趋势 本章重点介绍网络数据库的基本知识 并以网络数据库管理系统SQLServer为实例讲授有关内容 最后介绍一些常见的数据库管理系统 9 1网络数据库 9 1 1基础知识网络数据库目前在所有网络环境中都有大量的应用 网络数据库的组成元素包括 客户端 服务器和连接客户端与服务器的网络 较常见的有企业局域网和广域网中的信息管理系统 基于校园网的各种教育系统和管理系统 基于Internet的各种网站 远程教育及广泛流行的电子商务 这些系统无一例外的需要采用网络数据库方式实现 9 1网络数据库 与传统的数据库相比 网络数据库具有如下特点 1 扩大数据资源共享范围2 数据资源使用灵活3 便于分布式处理4 便于数据传输交流5 降低成本 提高利用率 9 1网络数据库 9 1 3应用系统开发方法软件开发方法的技术基础是软件工程 随着计算机技术的发展和人们对软件本质和内在规律认识的提高 IEEE给出的软件工程定义是 软件工程是开发 运行 维护和修复软件的系统方法 软件工程本身是一门交叉学科 涉及到数学 计算机科学 管理科学和工程学等等 软件工程理论 方法和技术都是建立在计算机科学的基础上 采用管理学的原理 方法对软件生产进行管理 用工程学的观点做出费用估计 制定进度和实施方案 用数学的方法建立软件可靠性模型 分析各种算法和性质 9 1网络数据库 了解一些软件工程技术方面的概念与方法 下面就目前常见的三种方法加以说明 1 结构化方法是二十世纪八十年代应用最广泛的方法 包括 结构化分析SA结构化分析就是面向数据流自顶向下逐步求精进行分析 分四步完成 按照可行性分析结果绘制数据流图 根据输出要求延数据流图回溯检验是否满足要求 用户复查数据流图 是否满足用户要求 细化数据流图 复杂处理过程简单化 得到分层数据流图 编写技术文档 进行复查和复审 9 1网络数据库 结构化设计结构化设计又可分为总体设计和详细设计两部分 总体设计分4步完成 设计多种可供选择的方案 从中选取合理的方案 完善后得到最佳方案 功能分解 划分出系统模块 并确定模块之间关系 设计软件结构 根据数据流图类型确定模块层次结构并对其做优化处理 进行数据库设计 根据数据字典对数据库做出逻辑设计 详细设计是借助程序流程图 方框图 PAD图和伪代码等详细设计工具 描述具体实现功能的算法及步骤 9 1网络数据库 结构化编程结构化编程是采用结构化语言对详细设计得到的算法及步骤进行编码 调试 并最终得到实现 采用结构化方法开发步骤明确 SA SD SP相辅相成 使软件开发的成功率大大提高 但有些问题也是存在的 如开发周期比较长 需求分析花费精力较多 进入设计阶段与用户接触少等等 瀑布模型体现了这种方法 瀑布模型是传统的软件生存周期模式需求分析 需求分析 可行性分析 系统设计 总体设计 详细设计 系统编程 代码设计 系统测试 单元测试 集成测试 系统维护 运行 维护 9 1网络数据库 瀑布模型具有如下特点 阶段间具有顺序性和依赖性 即后一阶段的工作必须在前一阶段工作完成后才能开始 前一阶段工作的输出是后一阶段工作的输入 质量保证机制的依赖性 即每一步循序渐进 每个阶段都要保证工作质量 前期工作的任何错误或隐患 都将对系统带来灾难性后果 推迟实现原则 前一阶段工作越仔细 越扎实 后一阶段的工作会越顺利 强调必须稳扎稳打 不可冒进 慢中求好 瀑布模型适合于有长期规划 具有一定规模的较大项目 23 15 31 9 1网络数据库 2 原型化方法原型化方法的产生是由于开发工具的快速发展 人们对软件系统开发经验的增加 构建一个系统原型已经很简单很容易了 通过一个原型 用户可以得知系统的框架 了解系统的功能 并可以主动的参与修改 提出自己针对系统的要求 这种要求比结构化设计的需求分析阶段的要求更具体 更有针对性 开发人员所做的修改也可以更好的迎合用户的需求 现在实现原型化方法有两种途径 分别是抛弃原型法和演化原型法 9 1网络数据库 抛弃原型法作为一个软件系统 为了更好地与用户交流 开始提出一个样品模型 可以突出目标系统的相关特征 目的在于探索可行性 使用户对软件有明确的认识 便于提出明确的需求 在此基础上更好的开发出适合用户需求的软件系统 这种原型使用后便失去了它的价值 可以抛弃掉 所以叫做抛弃原型法 演化原型法如果样品模型与用户的需求比较吻合 完全抛弃掉是不合适的 往往会在第一次开发的原型基础上通过进一步的加工处理 在此过程中 用户的需求 开发设计会得到不断的修正 通过多次的反复 迭代 直到获得用户较为满意的软件产品 9 1网络数据库 9 1网络数据库 原型模型特点原型模型在克服瀑布模型缺点 减少软件需求不明确而造成的工作风险方面有明显的效果 原型模型具有如下特点 A开发人员与用户协调工作在设计实施过程中 开发人员与用户可以针对原型展开讨论 用户也成为了开发组的成员 提高了系统的实用性 正确性和用户满意度 B缩短开发周期 加快工程进度由于开发的起点是一个原型 目标明确 认识一致 即使前面设计中存在问题和缺欠 也可以在不断修正原型中得到解决 C降低成本由于用户始终参与 开发过程不需要做大量的验证性测试 开发周期缩短可以节约大量的人力资源 这些因素都可以起到降低开发成本的作用 9 1网络数据库 当然原型模型也有自己的缺点 用户见到的是原型 但并不是最终可以实际运行的软件系统 当告知用户需要重新生产该产品时 用户难以接受 原型模型在不断更新中完成 在软件的整体质量和日后维护方面考虑的不是很完备 原型化方法适合开发用户业务不确定 需求经常发生变化 系统规模不是很大 结构不是很复杂的系统 9 1网络数据库 3 螺旋模型对于大型的 负责的软件系统 开发一个原型往往达不到要求 螺旋模型是将瀑布模型和原型模型结合起来 假如风险分析 构成具有特色的模式 弥补了前两种模型的不足 螺旋模型将工程分成四个主要活动 制定计划 风险分析 实现工程和用户评价四个活动螺旋式重复执行直到最终得到用户认可的软件产品 9 1网络数据库 螺旋模型的四个主要活动完成的任务如下 STEP1制定计划确定软件目标 选定实施方案 设定项目开发的限制条件 STEP2风险分析分析可选方案 分析识别风险 研究化解风险的办法 STEP3实现工程实施软件产品的快速开发 STEP4用户评价对当前工作结果进行评价 提出产品的改进意见 9 1网络数据库 4 面向对象方法面向对象技术的产生可称得上是软件技术的一次革命 在软件开发史上具有里程碑的意义 随着面向对象分析 OOA 面向对象设计 OOD 和面向对象编程 OOP 的发展 形成了面向对象的软件开发方法 ObjectModelingTechnique OMTOMT是一种自底向上和自顶向下结合的方法 它是以对象建模为基础 综合考虑所有对象的内在数据结构 输入输出数据结构 面向对象技术在需求分析 可维护性和可靠性这三个软件开发的关键环节和质量指标上有了实质性的突破 解决了很多长期存在的问题 9 1网络数据库 面向对象方法可以归结为如下五个特点 自底向上归纳 自顶向下分解 以对象模型为基础 完善需求分析 改善可维护性 9 1网络数据库 9 1 4应用系统开发步骤应用系统的开发过程应该遵循软件工程的思想 将开发过程分成计划设计和实现两个阶段 计划设计阶段包括需求分析和系统设计两部分内容 是系统开发的基础 也是决定系统成败的关键所在 如果初始阶段出现问题或偏差 后续的工作是无法弥补的 实现阶段是把初始阶段所做的需求分析和系统设计具体实施的过程 整个过程又可以分成若干个子过程 子阶段 具体说开发过程可粗分为 需求分析 系统设计 建立应用对象 编写各对象的事件处理程序 测试 修改 发布应用程序等等 9 2SQLServer环境 SQLServer是一个关系数据库管理系统 它最初是由MicrosoftSybase和Ashton Tate三家公司共同开发SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统 可跨越多种Windows平台 MSSQLServer是WindowsNT 2000的自然延伸 和Windows操作系统有着紧密的联系和集成 用户不必为使用这个数据库系统而学习新的用户操作界面 MSSQLServer和WindowsNT 2000一样易于安装和维护 而且采用的是图形化操作界面 MSSQLServer可以安装在各种机型上 象使用WindowsNT 2000一样的方便 可以用服务的方式更新和扩充数据库功能 提供了数据仓库功能 使得MSSQLServer具有了和Oracle及其他昂贵的数据库管理系统同样的功能 9 2SQLServer环境 9 2 1SQLServer2000的新特征1 数据库扩展功能支持扩展标识语言 新数据类型用户自定义函数 索引 检索与查询触发器类型 级联参考完整性约束增进的校验功能2 联合数据库服务器3 安全与备份功能4 复制扩展功能5 数据转换服务扩展功能 9 2SQLServer环境 9 2 2安装环境1 常见版本SQLServer2000的常见版本如下 企业 EnterpriseEdition 标准 StandardEdition 个人 PersonalEdition 开发 DeveloperEdition SQLServer2000DE和WindowsCE版2 运行SQLServer2000最低需求硬件需求 计算机 内存 硬盘空间大约200 300M软件需求 Windows2000操作系统网络环境 Windows操作系统无需再额外安装网络软件其他系统 SQLServer2000也支持AppleMacintosh OS 2以及UNIX客户端连接 9 2SQLServer环境 9 2 3安装步骤安装比较简单 其过程与其它MicrosoftWindows系列产品类似 下面就以将要使用的SQLServer2000标准版为例 其安装过程及说明如下 将SQLServer2000的光盘放入光驱 如果有Autorun功能 则会出现安装程序启动画面 否则直接运行光盘中的Autorun程序 STEP1选择安装的类型STEP2选择要安装软件的计算机STEP3选择安装类型STEP4设置身份认证模式 见书上内容 9 2SQLServer环境 9 2 4企业管理器SQLServer企业管理器 EnterpriseManager 允许对SQLServer和SQLServer对象的企业范围的设置和管理 SQLServer企业管理器提供了一个强大的任务安排引擎 管理警告能力 以及内建的复制管理界面 可以用SQLServer企业管理器来管理登录和用户权限 创建脚本 管理SQLServer对象的备份 备份数据库和事务日志 管理表 视图 存储过程 触发器 索引 规则 缺省设定和自定义数据类型 创建全文索引 数据库图表和数据库维护方案 输入输出数据 转换数据等 9 2SQLServer环境 1 控制台 9 2SQLServer环境 2 菜单选中 SQLServer服务器 看一下菜单 操作 查看 工具3 工具栏各种不同类型的按钮4 右边区域类似于资源管理器右边区域的操作 9 2SQLServer环境 9 2 5查询分析器SQLServer查询分析器 QueryAnalyzer 是一个图形化查询工具 它允许你可视化的分析一个查询方案 同时执行多重查询 查看数据 获得索引建议 SQLServer查询分析器提供显示方案 ShowPlan 选项 可以用它来报告SQLServer查询优化器选择的数据获取方案 SQLServer2000查询分析器是一种较为理想的数据库查询管理工具 在查询分析器的环境中 可以根据业务需求使用强大的SQL语言和提供的各种函数来完成不同档案资料查询任务 9 2SQLServer环境 使用查询分析器首先要启动查询分析器 具体操作如下 1 连接SQLServer连接有下面两种登陆SQLServer数据库服务器的方法 通过Windows身份验证通过SQLServer身份验证2 查询分析器工作界面3 查询分析器菜单功能4 查询分析器简单应用 9 2SQLServer环境 查询分析器工作界面及结果 9 3SQLServer操作 SQLServer是一种高效的关系数据库系统 它与Windows操作系统紧密集成 9 3 1SQLServer数据库对象1 Master数据库2 Model数据库3 Tempdb数据库4 Msdb数据库5 示例数据库6 自建数据库 9 3SQLServer操作 9 3 2建立SQLServer数据库1 新建数据库2 创建数据表3 输入数据4 导入数据5 语句创建数据库6 使用向导创建数据库 9 3SQLServer操作 9 3 3Transact SQL语言基础SQLServer中使用的编程语言是Transact SQL语言 这是一种非过程化语言 无论是普通的客户 服务器应用程序 还是Web应用程序 都必须通过向服务器发送Transact SQL语言才能实现与SQLServer的通信 做为Transact SQL程序设计的基础 在此将介绍批处理 脚本 游标和存储过程等知识 而程序的控制结构及语句也其他语言的差别不大 将不再提及 9 3SQLServer操作 1 批处理批处理就是一个或多个Transact SQL语句的集合 从应用程序一次性发送到SQLServer服务器并由SQLServer编译成一个可执行单元 此单元叫做执行计划 执行计划中的语句每次执行一条 建立批处理时 使用Go语句作为批处理的结束标记 Go语句行中不能包含其他的Transact SQL语句 但可以使用注释文字说明 对于批处理执行的情况有如下要求 如果一个批处理中包含有语法错误 则整个批处理不能被成功编译和执行 如果批处理中某语句会引起执行错误 则只影响该语句的执行 不影响其他语句的执行 9 3SQLServer操作 2 脚本脚本是存储在文件中的一系列SQL语句 也就是一系列按顺序提交的批处理 脚本中可以包含一个或多个批处理 如果脚本中没有Go语句 则将他它作为单个批处理执行 使用脚本可以将创建和维护数据库时的操作步骤保存为一个磁盘文件 将Transact SQL语句保存为脚本文件 不仅可以建立可再用的模块化代码 也可以在不同计算机之间传送Transact SQL语句 使不同的计算机同时执行相同的操作 脚本文件是以 sql为扩展名的纯ASCII码文件在查询编辑器中可以新建 保存 打开和执行脚本文件 打开后可以输入和修改Transact SQL语句 而且可以查看到执行的结果 从而检验脚本的正确性 9 3SQLServer操作 3 游标在数据库做查询时 由Select语句返回的记录集包括所有满足Where子句中条件的记录 而对于应用程序 特别是交互式联机应用程序 经常不能把整个记录集作为一个单元来有效地处理 这些应用程序需要一种每次可以处理一条或几条记录的操作方式 游标 Cursor 就是完成这种操作的程序机制 游标主要用于存储过程 触发器和Transact SQL脚本中 使用游标可以对由Select语句返回的记录集进行逐行处理 9 3SQLServer操作 游标的使用方法与局部变量比较相似 需要先声明后使用 常见的游标操作有 1 声明游标 声明游标需要使用DeclareCursor语句 其基本语法格式为 DeclareCursorNameCursorForSelect Fromtable 其中CursorName是用户自己定义的游标名 按照Transact SQL扩展语法使用此语句时比较复杂 建议需要的时候查看相关资料 9 3SQLServer操作 2 打开游标 声明游标后需打开游标才能使用 打开游标使用Open语句 语法格式为 Open Global CursorName 使用Global参数是说明CursorName是全局游标 否则是局部游标 可以用两个无参函数来检验游标的状态 Error用来判断打开是否成功 Cursor Rows来获取游标中记录行数 3 提出记录 从游标中提取记录使用的是Fetch语句 其基本格式为 FetchRecordcaseFromCursorName参数Recordcase可以根据具体要求构造表达式 9 3SQLServer操作 4 关闭游标 使用游标处理记录之后 应使用Close语句关闭该游标 可以释放当前的记录结果集 其语法格式为 Close Global CursorName使用Close语句关闭游标后 其创建的数据结构仍然存在但不允许进行提取和定位更新 9 释放游标 关闭游标其数据结构仍然在系统中占用资源 如果该游标不再使用 正确的方式是进一步释放游标 从系统中彻底清除掉 释放游标使用的是DealLocate语句 该语句的语法格式为 DealLocate Global CursorName 9 3SQLServer操作 4 存储过程存储过程是最高级别的应用程序 它是存储在服务器上的例行程序及过程 可以给存储程序传递数据 也可以从存储过程返回处理的结果 存储过程是由一系列预先编译的SQL语句和流量控制语句组成的 存储过程具有参数传递 进行判断 声明变量 返回信息并扩充标准SQL语言的功能 通常把存储过程看成是以数据库对象形式存储在SQLServer中的一段程序或函数 当执行存储过程时 该存储过程是在SQLServer上运行 而不是在客户端发送请求 9 3SQLServer操作 存储过程可以分为系统存储过程和用户定义存储过程两种 系统存储过程系统存储过程保存在Master数据库中 名称都是以前缀 sp 开始 可以在任何数据库使用系统中使用 在SQLServer中许多管理工作是通过执行系统存储过程完成的 用户定义存储过程用户定义存储过程是由一系列用来对数据库实现复杂商务规则的SQL语句和控制流程语句所组成的 使用存储过程可以实现比使用单纯SQL语句更复杂的操作 9 3SQLServer操作 创建存储过程创建存储过程可以使用企业管理器 依次展开 服务器组 服务器 数据库 在相应的数据库节点上右击弹出快捷菜单 或再展开一级 在数据库下的存储过程节点双击 都会出现 新建存储过程 的界面 执行存储过程创建一个存储过程之后 可以使用Execute语句来执行存储过程 其基本语法格式为 ExecuteProcedureName其中可以带有多种参数 具体内容学习时可以参考其它书籍或联机帮助信息 9 3SQLServer操作 本节内容量很大 需要课后认真阅读书上的内容 并在网络上查阅一些关于使用SQLSERVER的内容课后交第一次实验报告 9 3SQLServer操作 9 3 4查看数据库信息与设置数据库选项1 查看数据库信息数据库信息主要包括三个方面 基本信息 维护信息和空间使用情况后两种信息内容在Access数据库系统中很少涉及到 SQLServer中可以通过企业管理器和系统存储过程来查看数据库信息 使用企业管理器查看数据库信息 使用存储过程查看数据库信息 9 3SQLServer操作 2 设置数据库选项数据库的选项决定了数据库的特性 对一个数据库设置选项不会对其它数据库产生影响 使用企业管理器和系统存储过程sp dboption两种方法设置数据库的选项 使用企业管理器的设置数据库选项方法与上面的操作几乎相同 9 3SQLServer操作 使用系统存储过程设置数据库选项的格式为 Executesp dboption数据库名 选项名 选项值 执行系统存储过程的环境是查询分析器 在查询分析器的文本框中输入上述语句 中的内容可以省略 省略时默认值是 True 输入完毕后点击运行按钮 完成数据库选项设置 9 3SQLServer操作 9 3 5修改数据库建立一个数据库以后 可以根据需要对该数据库的结构进行修改 与Access数据库的修改不同 SQLServer数据库的修改内容更多 做为整体控制信息 数据库的修改包括增删数据文件个数 事物日志文件个数 修改数据文件和事物日志文件的初始容量 最大容量 增长方式等等 修改数据库可以使用企业管理器和SQL语句两中方法进行 9 3SQLServer操作 1 使用企业管理器修改数据库 步骤1 在企业管理器中依次展开 服务器组 服务器 数据库 找到需要查看的节点 步骤2 右击需要查看的节点 在快捷菜单中选择 属性 命令 以前面讲到的Goods数据库为例 此时出现数据库属性界面 步骤3 在数据库属性界面中选取数据文件 可以看到数据文件界面 修改事物日志内容 则选择事物日志选项修改文件组的内容 则选择文件组选项 9 3SQLServer操作 2 使用存储过程修改数据库在Transact SQL中同样有修改数据库的语句 用AlterDataBase语句可以修改数据库 其语法格式为 AlterDataBaseDataBaseName其中的DatabaseName参数输入的是需要修改的数据库名字 9 3SQLServer操作 中包含七个单选项目分为三类 增加Add 增加Add项下又有三个内容即文件File 事物日志文件LogFile和文件组FileGroup 删除Remove 删除Remove项下有两个内容即文件File和文件组FileGroup 修改Modify 修改Modify项下有两个内容即文件File和文件组FileGroup 9 3SQLServer操作 包含五种内容 分别是 NAME 数据文件的逻辑名称 FILENAME 数据文件的物理名称 SIZE 数据文件的初始大小MAXSIZE 数据文件的最大容量或者是无限的UNLIMITEDFILEGROWTH 数据文件的增长量使用存储过程修改数据库更多的是用在与应用程序结合中 对于远程操作也是可以提供支持的 所以还是需要关注以下使用的方法 9 3SQLServer操作 9 3 6删除数据库当一个数据库不再需要时 需要SQLServer中删除 删除操作会把该数据库中的全部内容统统删光 从而释放该数据库占用的所有磁盘空间 删除操作具有一定危险性 特别是在为多人SQLServer上 删除数据库一定要格外小心 一个数据库处于动态使用的环境时 是不能删除的 而且删除数据库也涉及到删除人的权限是否允许删除 9 3SQLServer操作 系统为安全性考虑 在如下三种状态是不允许删除的 数据库正在使用 正在被恢复 正在参与复制删除数据库可以使用企业管理器和SQL语句两种方法 1 使用企业管理器删除数据库2 使用SQL命令删除数据库在Transact SQL中用DropDataBase语句删除数据库 其语法格式为 DropDataBaseDataBaseName 9 3SQLServer操作 9 3 7数据表操作SQLServer是通过数据库来管理所有信息的而在数据库中 用户真正关心并要访问的数据分别存储在不同的数据表中 因此表是一种最重要的数据库对象 在SQLServer中执行的许许多多操作都是围绕着表进行的 表的设计会牵一发动全身 掌握表的操作机器在SQLServer数据库中的应用尤其重要 表的设计在前几章中已经讲授了很多 在此简单介绍创建表 添加数据 修改表和删除表 9 3SQLServer操作 1 创建表表是相关联的行列集合 用来存储数据库中的所有数据 是数据库中最重要的数据对象 创建一个数据库以后就可以在该数据库中创建新表在默认状态下只有系统管理员 sysadmin 和数据库的拥有者 dbo 可以创建新表 如果系统管理员或数据库拥有者授权给其他人可以创建表 则其他人也可以完成创建数据库的任务 在SQLServer中可以使用企业管理器和SQL语句方式创建表 9 3SQLServer操作 企业管理器创建表 步骤1 在企业管理器中依次展开 服务器组 服务器 数据库 找到需要创建表的节点 步骤2 右击选择的节点 在快捷菜单中选择 新建表 命令 此时打开了建表的界面 使用SQL语句创建表在Transact SQL中有创建数据表的语句 用CreateTable语句可以创建数据表 其语法格式为 CreateTableTableName 字段名列属性列约束 9 3SQLServer操作 2 添加数据 企业管理器添加数据 步骤1 在企业管理器中依次展开 服务器组 服务器 数据库 找到需要添加数据的表节点 步骤2 右击选择的节点 在快捷菜单中选择 打开表 返回所有行 命令 在打开的结果表格中可以添加 修改数据 使用SQL语句添加数据在Transact SQL中向表中添加数据的Insert将新的记录追加到存在的表中 9 3SQLServer操作 3 修改表表建立后 可以根据需要对它进行修改 修改的内容包括修改列属性 在表结构中添加 删除列 修改约束条件等操作 企业管理器修改表 步骤1 在企业管理器中依次展开 服务器组 服务器 数据库 找到需要修改的表节点 步骤2 右击选择的节点 在快捷菜单中选择 设计表 命令 此时打开了表设计器的设计窗口 在该窗口中可以修改表的内容 这里的操作与Access十分相似 9 3SQLServer操作 使用SQL语句修改表在Transact SQL中用AlterTable语句可以对已经建立的表的结构进行修改 AlterTable语句的语法格式为 AlterTable操作子句有6种 分别是 ADDFiledNameADDConstraint DROPConstraintDROPColumn ALTERColumnCHECKConstraint 9 3SQLServer操作 4 删除表当一个表已经没有使用的价值 不再需要时可以删除 表一旦被删除是永久的删除 所以删除表时要小心 在SQLServer中可以使用企业管理器和SQL语句方式删除表 企业管理器删除 步骤1 在企业管理器中依次展开 服务器组 服务器 数据库 找到需要删除的表节点 步骤2 右击选择的表 在快捷菜单中选择 删除 命令 在弹出的对话框中选择 全部除去 按钮 确认删除操作 9 3SQLServer操作 使用SQL语句删除表在Transact SQL中有删除表的语句 用DropTable语句可以将不需要的表删除 DropTable语句的语法格式是 DropTableTableName使用DropTable命令可以删除用户建立的表 但不能删除系统表 9 3SQLServer操作 9 3 8视图视图 View 是一种常用的数据库对象 不同的用户经常会创建不同的视图 SQLServer允许用户通过各自的视图查看和修改表中的数据 但不允许用户访问基表 没有相应权限的用户不能查看和修改表中的所有数据 这样可以保证不同的用户查看和修改表中不同的数据 从而可以保证数据的安全性 9 3SQLServer操作 视图是由Select语句生成的 基于选择查询的虚拟表 其内容可以来自多张表或视图 是通过选择查询来定义的 视图中的数据是在引用视图时生成的 数据库中只存储视图的定义 视图对应的数据并不实际存储在数据库中 当基表的数据发生变化时 可以从视图中直接反应出来 同样的 当对视图执行更新操作时 操作的数据是基表中的数据 也就是说 视图和基表之间是互动的 9 3SQLServer操作 1 创建视图创建视图的优点表现在如下三个方面 1 集中数据 简化查询工作 2 控制用户提取数据 达到数据安全保护目的 3 便于数据交换尽管使用视图的优点很多 但也有一些限制条件还是很严格的 使用视图简化数据操作或提高数据库的安全性 要根据具体的应用目标建立视图 在SQLServer2000中可以通过创建视图向导 企业管理器和CreateView语句创建视图 9 3SQLServer操作 使用向导创建视图 步骤1 在企业管理器中依次展开 服务器组 服务器 然后从 工具 选单中选择 向导 命令 出现 选择向导 对话框 步骤2 在对话框中单击 数据库 上的 号 点击其中的 创建视图向导 命令 再点击 确认 按钮 进入到向导的欢迎界面 步骤3 从 数据库名称 下拉列表中选择创建视图的数据库 点击 下一步 按钮 从弹出的 选择对象 对话框中选择要在视图中引用的表 方式是选中相应表后的 包含在视图中 复选框 9 3SQLServer操作 步骤4 选择要创建视图的若干字段 方式是选中相应字段后的 选择列 复选框 步骤9 在 定义限制 对话框的文本框中输入相应的Where条件 用输入的Where子句来限制在视图中显示的记录 步骤6 为所建立的视图命名 这里我们建立的视图名字是ViewTest 点击 下一步 按钮 在随后出现的 正在完成创建视图 对话框中显示前几不所设置的信息 可以在此修改 然后点击 完成 按钮 当出现消息框 视图已成功创建 时 单击 确定 按钮完成创建工作 9 3SQLServer操作 使用企业管理器创建视图 步骤1 在企业管理器中依次展开 服务器组 服务器 数据库 选择要建立视图的数据库 右击 视图 栏目 在出现的快捷菜单中选择 新建视图 命令 出现 查询设计器 窗口作为工作界面 步骤2 在查询设计器窗口中选择基表 单击工具栏中的 添加表 按钮出现 添加表对话框 然后在 添加表 下拉菜单中选择视图需要使用的表 根据需要也可以选择视图或函数 单击 添加 按钮 再单击 关闭 按钮关闭对话框 9 3SQLServer操作 步骤3 选择视图引用的列 然后设置过滤记录条件 再设置视图的其他属性 完成视图的设计工作 可以通过点击工具栏中的运行按钮 预览视图返回的结果集 步骤4 点击工具栏中的保存按钮 保存当前建立的视图 只要在对话框中给入想要建立的名字 再点击 确认 按钮就可以保存到当前的数据库中 使用SQL语句创建视图SQL中创建视图使用的是CreateView语句 基本格式是 CreateViewViewNameAsSelect语句 9 3SQLServer操作 2 修改视图修改视图可以使用企业管理器和SQL语句完成 使用企业管理器的操作方式与前面的内容都是大同小异的 SQL中修改视图使用的是AlterView语句 基本格式是 AlterViewViewNameAsSelect语句3 删除视图删除视图可以使用企业管理器和SQL语句完成 使用企业管理器的操作方式与前面的内容都是大同小异的 SQL中删除视图使用的是DropView语句 基本格式是 DropViewViewName 9 3SQLServer操作 9 3 9索引索引是一种特殊的数据库对象 是一个在表或视图上创建的独立的物理数据库结构 它与表有密切的关系 通过索引可以提高表中数据的查询速度 索引通过指针指向存储在表中指定字段的数据值 然后根据指定的排序次序排列指针 通过搜索索引找到特定值 从而找到相关记录 借助索引执行查询时不必扫描整个数据表就可以快速招待需要的数据 SQLServer利用索引来实现表或视图中记录或字段的唯一性约束 对数据进行物理排序和数据展开到多个文件或文件组中 提高了检索数据的效率 9 3SQLServer操作 1 索引分类根据数据库的功能 可以在数据库设计中创建三种类型的索引 唯一索引 主键索引和聚类索引 1 唯一索引 唯一索引要求所有的数据行中任意两行中的被索引字段不能存在重复值 也不能出现两个空 NULL 也就是说该索引字段必须具有唯一性 2 主键索引 在数据表中主键索引是自动生成的 主键是由一个字段或字段组合构成的 保证记录具有唯一性 3 聚类索引 聚类索引是通过改变记录的物理存储顺序 使之与索引字段的顺序完全相同 9 3SQLServer操作 2 创建索引SQLServer中有些索引是由系统自动建立的 也可以使用向导 企业管理器和SQL语句建立索引 系统自动建立索引SQLServer中建立或修改表时 如果添加一个主键约束或唯一性约束 则系统会自动生成表的唯一性索引 这个索引可以是聚类索引也可以是非聚类索引 使用向导创建索引展开 服务器组 服务器 从 工具 菜单中选择 向导 命令 填写一系列对话框 点击按钮 按照操作的次序可以生成需要的索引 9 3SQLServer操作 使用企业管理器创建索引 步骤1 展开 服务器组 服务器 数据库 选择要建立索引的数据表 右击该数据表 在出现的快捷菜单中选择 所有任务 管理索引 命令 出现 管理索引 窗口作为工作界面 步骤2 点击窗体上的 新建 按钮出现 新建索引 界面 然后在索引名称文本框中输入要建的索引名 在字段列表中选择需要建立索引的字段前的复选框 步骤3 选择创建索引选项 可以选择唯一索引 也可以选择聚类索引 步骤4 点击 确定 按钮 回到 管理索引 界面 单击 关闭 按钮 完成索引的创建工作 9 3SQLServer操作 使用SQL语句创建索引创建索引使用的SQL语句是CreateIndex语句 其基本语法格式是 CreateIndexIndexNameOnTableName FieldNaem With在CreateIndex语句中涉及到的内容很多 基本信息包括 索引名IndexName 创建索引的表名OnTableName创建索引的字段FieldName及需要加限制的With 例如语句CreateIndexNDX124OnGoods 库存量 可以建立按照库存量的索引NDX124 9 3SQLServer操作 3 查看索引 1 企业管理器中依次展开 服务器组 服务器 数据库 选择要查看索引的数据表 右击该数据表 在出现的快捷菜单中选择 所有任务 管理索引 命令 出现 管理索引 窗口作为工作界面 2 查询分析器中sp helpindex查看4 删除索引通过建立有效的索引可以提高检索的速度 但建立过多的索引在会处理记录时花费更多的服务器时间维护索引 因此 对于不再需要的索引要及时删除掉 删除的方式 1 在企业管理器中删除 2 查询分析器中运行DropIndex语句删除 9 4SQLServer完整性与安全性 数据从外界输入到数据库的过程中 经常会因为某种原因 使输入的数据无效或引起数据库的修改不一致的现象 这将导致数据库的紊乱从而破坏数据的完整性 保证输入数据符合规定是数据库系统 特别是大数据量的关系数据库系统必须重点考虑的问题 维护数据库的安全是确保数据库正常工作的重要保证 SQLServer为用户提供了强大的安全保障措施 正确合理地利用这些措施是数据库管理员和数据库开发人员的必备技能 9 4SQLServer完整性与安全性 9 4 1数据库完整性数据库完整性是为防止数据库中因错误信息的输入输出和存在不符合语义规定的数据 而造成无效操作或错误信息而提出的 数据完整性包括约束 规则和缺省值等一系列内容 1 数据完整性数据完整性能够确保数据库中的数据质量 数据完整性分为4类 实体完整性域完整性引用完整性用户定义完整性 9 4SQLServer完整性与安全性 2 约束 Constraint 约束是用来保证列的有效性 实现数据完整性 创建数据表和修改数据表时可以创建约束 这种方法实现数据完整性简单而且不易出错 每个约束都有自己的名字 并且在数据库中是唯一的 命名符合标识符规则即可 SQLServer2000提供的约束有 检测约束 主键约束 唯一性约束和外键约束等 可以使用企业管理器和SQL语句创建约束 检测 Check 约束检测约束是通过限制输入到列的值控制域的完整性 可以用检测约束指定某列可取值的集合或范围 当对数据表中该列数据执行插入和更新时 值必须满足检测约束条件 9 4SQLServer完整性与安全性 A使用企业管理器创建检测约束打开企业管理器 展开目录到 表 选项 右击需要建立检测约束的表 在快捷菜单中选择 设计表 打开对话框 在表结构中右击建立检测约束的字段 在快捷菜单中选择 CHECK约束 弹出对话框 点击 新建 按钮 在文本框中输入约束表达式即可完成 B使用SQL语句创建检测约束在创建 修改表时可以使用SQL语句创建检测约束 即在如下语句格式使用CHECK子句 CreateTableTableName CHECKFieldNameAlterTableTableNameAddConstraintCheckNameCHECKFieldName当检测约束不再使用时 可以在上述使用企业管理器创建检测约束的窗口中直接删除 也可以使用SQL语句DropConstraintCheckName删除 9 4SQLServer完整性与安全性 主键 PrimaryKey 约束主键约束是使用数据表的主键作为约束 一个数据表的主键可以保证数据的唯一性 当主键是多个字段时 要求字段不能接受空值 个别字段可以出现重复 但主键约束定义所有列的组合对每一行来说都是唯一的 A使用企业管理器创建主键约束打开企业管理器 展开目录到 表 选项 右击需要建立检测约束的表 在快捷菜单中选择 设计表 打开对话框 在表结构中指定字段或字段组为主键 确定后自动生成主键约束 B使用SQL语句创建主键约束SQL语句创建主键约束是使用如下语句CreateTableTableNamePrimaryKeyFieldNameAlterTableTableNameAddConstraintPrimaryKeyFieldName当取消主键时 主键约束自动消失 9 4SQLServer完整性与安全性 唯一性 Unique 约束唯一性约束是保证在非主键列中不可输入重复值 即在指定的字段中任意两行的内容不允许相同 唯一性约束与主键约束相似又有区别 表现在 A一个表可以有多个唯一性约束 但只能有一个主键约束 B允许空值的列上可以创建唯一性约束 但不能定义为主键 唯一性约束的创建方法与检测约束相似 选择 属性 窗口中的 索引 键 项就可以完成设置和创建 不再叙述 9 4SQLServer完整性与安全性 外键 ForeignKey 约束外键是用于建立和加强多个表之间的联系 将表的某个字段或字段组的组合定义为外键 并将该外键链接到其他表的主键上 从而维护关联表之间的引用完整性 当创建了外键与其他表的关联后 就生成了外键约束 这个约束还可以定义为唯一性约束 创建外键约束的方法很简单 在企业管理器中展开到数据库级 然后点击其中的 关系图 就可以在可视化工作界面下与Access数据库建立关系的方法相同 可以使用SQL语句建立外键约束 语句格式为 CreateTableTableName ForeignKeyReferenceREF TableREF ColumnAlterTableTableNameAddConstraintC NameForeignKeyReferenceREF TableREF Column 9 4SQLServer完整性与安全性 3 规则 Rule 规则是数据库对象之一 与检测约束功能相同 是用来设置只有符合条件和格式的数据才能输入字段 检测约束比规则简单 一个字段只能有一个规则 但可以应用多个检测约束 规则以单独对象创建 然后绑定在列或者用户自定义的数据类型上 创建和使用规则注意事项 A规则不能绑定到系统数据类型B规则只能在当前的数据库中创建C规则必须与列的数据类型兼容D规则不能绑定到image text和timestamp 9 4SQLServer完整性与安全性 可以使用企业管理器创建和使用规则 展开企业管理器到数据库级 从指定的数据库中右击 规则 在快捷菜单中选择 新建规则 命令 然后就可以在弹出的对话框中设置规则 按 确定 完成规则创建 也可以使用SQL语句创建和使用规则 其语句格式为 CreateRuleRuleNameAs 9 4SQLServer完整性与安全性 9 4 2数据库安全性数据库的安全性管理是数据库管理员DBA最重要的工作之一 企业内部的数据安全在企业分布式运算架构中有许多设定及管理方式 传统上你可以将安全性管理嵌入到你的应用程序当中进行处理 例如你自己在应用程序中做用户 密码的管理等 可以直接利用数据库的安全管理功能对数据进行保护 这是保护数据最直接的方式 无须复杂的学习过程 再加上SQLServer本身友好的图形用户接口 GUI 数据库的安全管理简直轻而易举 9 4SQLServer完整性与安全性 1 安全等级SQLServer工具有三个安全等级 第一安全等级 用户必须登录SQLServer 或您具备一个有效的Windows2000登录帐号 它与SQLServer的登录帐号相对应 但是 登录SQLServer并不代表用户具有访问SQLServer数据库的权限 第二安全等级 必须运用第二安全等级 才能授予用户访问某一个特定的数据库的权限 第三安全等级 可以让你指定用户对数据库中对象的权限 这三个安全等级与Windows2000系统中的安全等级类似 因此你可以将原本就具备的Windows安全观念进行扩展 并在SQLServer当中运用 9 4SQLServer完整性与安全性 2 安全验证模式SQLServer的验证模式有两种 Windows安全验证模式 如果你选用Windows安全验证模式 将Windows的用户登录帐号对应至SQLServer登录帐号 那么经Windows确认的用户也能与SQLServer连接 如果是没有确认的 则不能登录 混合验证模式 在混合模式中 Windows用户连接Windows及SQLServer的方式与前述模式相同 但是无法通过Windows验证的用户 可以改以另外提供的名称以及密码登录SQLServer 因此除非必要 否则我们建议你最好使用Windows安全验证模式 9 4SQLServer完整性与安全性 3 SQLServer登录帐号及Server角色可以将NT用户组对应至SQLServer登录帐号 不需为每个用户新增一个登录帐号 只要所属的NT用户组具备访问SQLServer的权限 该用户不需要输入名称或密码便能够进行访问 当你在NT用户组中添加新的用户 该用户便自动拥有访问SQLServer的权限 同样 任何用户组中删除的用户也会自动失去访问SQLServer的权限 请务必记住这点 在NT用户组中添加新的用户的同时 也会授予这些用户访问SQLServer的权限 鉴于NT用户组与SQLServer之间微妙的关系 规划SQLServer安全的第一个步骤便是规划NT用户组及用户策略 先设计全局用户组 GlobalGroup 再依照指定NTFS权限的方式将用户分配到各个用户组 9 4SQLServer完整性与安全性 如需为用户组新增SQLServer登录帐号 打开SQLServer企业管理器 以管理员的身份登录并且具有SQLServer预设的安全性权限 就可以用DBA的身份登录SQLServer 在企业管理器窗口左边的窗格中 逐层展开就可以看到 角色 对象 这些角色与NT极为相似 都是预先定义并且具备特定的权限的 不可以新增Server角色 也不能修改SQLServer提供的角色 可以将Server角色视为可加入Windows全局用户组的局部用户组 9 4SQLServer完整性与安全性 在 角色 上点鼠标两次就可以将新的用户加入角色

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论