关系数据库标准语言SQL.ppt_第1页
关系数据库标准语言SQL.ppt_第2页
关系数据库标准语言SQL.ppt_第3页
关系数据库标准语言SQL.ppt_第4页
关系数据库标准语言SQL.ppt_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

数据库原理第三章 关系数据库标准语言SQL 本章学习内容 SQL概述 数据库的体系结构创建及管理数据库管理数据表管理表数据数据库单表查询数据库综合查询视图的创建及删除 本次课主讲内容 SQL基础知识SQLServer基础知识SQLServer体系结构创建及管理数据库 一 SQL基础知识 SQL StructuredQueryLanguage 即结构化查询语言 是关系数据库的标准语言 是一个通用的 功能极强的关系数据库语言 其功能并不仅仅是查询 主要用来对存放在计算机中的数据库进行组织 管理和检索 标准的SQL语句几乎可以在所有的关系型数据库上不加修改地使用 Access VisualFoxpro Oracle这样的数据库同样支持标准的SQL 当前 几乎所有关系数据库管理软件都支持SQL 许多软件厂商对SQL基本命令集还进行了不同程度的扩充和修改 如Transact SQL是SQLServer在SQL的基础上添加了变量 运算符 函数及流程控制语句及注解 那么别的关系型数据库就不支持T SQL语言 语言是SQLServer系列产品独有的 1 SQL概述 P78 1974年被Boyce和Chamberlin提出 并在IBM公司研制的关系数据库管理系统SystemR上实现 由于SQL简单易学 功能丰富 因此被数据库厂商所采用 1986年 美国国家标准局ANSI的数据库委员会批准了SQL作为关系数据库语言的美国标准 同年公布了SQL的标准文本 1987年 国际标准化组织ISO也通过了这一标准 2 SQL语言特点 一 语言功能和模式结构的一体化在关系模型中实体和实体间的联系均用关系表示 关系数据结构的单一性带来了数据操作符的统一 查找 插入 删除 修改等每一种操作都只需一种操作符 克服了信息表示方式的多样性带来的操作复杂性 二 高度非过程化的语言用SQL语言进行数据操作 只要提出 做什么 而无须指明 怎么做 因此无需了解存取路径 存取路径的选择以及SQL语句的操作过程由系统自动完成 这不但减轻了用户负担 而且有利于提高数据独立性 三 面向集合的操作方式SQL语言采用集合操作方式 不仅操作对象 查找结果可以是元组的集合 而且一次插入 删除 更新操作的对象也可以是元组的集合 四 两种使用方式 统一的语法结构SQL语言既是自含式语言 又是嵌入式语言 作为自含式语言 它能够独立地用于联机交互的使用方式 用户可以在终端键盘上直接键入SQL命令对数据库进行操作 作为嵌入式语言 SQL语句能够嵌入到高级语言 例如VB PB VC 程序中 供程序员设计程序时使用 在两种不同的使用方式下 SQL语言的语法结构基本上是一致的 五 语言简捷 易学易用SQL语言接近英语口语 因此容易学习 容易使用 表3 1SQL语言的动词 3 SQLServer的管理工具 现在就介绍一下这些工具的功能 1 企业管理器 企业管理器 EnterpriseManager 是SQLServer中最重要的一个管理工具 用户和系统管理员可以使用它来管理网络 计算机 服务和其它系统组件 安装好系统之后 我们可从 开始 程序 MicrosoftSQLServer 中看到如图10 8所示的画面 查询分析器 SQLServer2000的查询分析器 QueryAnalyzer 可以使用户交互式地输入和执行各种Transact SQL语句 并且迅速地查看这些语句的执行结果 来完成对数据库中的数据的分析和处理 是SQLServer2000提供用来分析查询计划 ThePlanofAQuery 同时执行多个查询和查看数据及索引的工具 单击选项会出现 连接到SQLServer 对话框 请输入要连接的主机和帐户信息 查询分析器有许多功能都是非常有用的 对于一般初学者来说 可以把查询分析器看作T SQL代码编译的地方 在查询分析器里编写代码用以建立数据库 表 视图 查询等很多操作 查询分析器的启动前提是服务管理器已经处于启动状态 3 服务管理器 SQLServer服务管理器 ServiceManager 是在服务器端实际工作时最有用的实用程序 SQLServer服务管理器的主要作用是用来启动数据库服务器的实时服务 暂停和停止正在运行的服务 或在暂停服务后继续服务 4 客户端网络实用工具 客户端网络实用工具 ClientNetworkUtility 用来配置客户端的网络连接 管理和测定客户端的网络库等 进行与SQLServer2000连接的网络配置 通常用户的SQLServer上无特殊的设置与更改 基本上连通应该都没有问题 所以这个工具就很容易被用户忽略 倘若在其他计算机上的SQLServer让用户无法连接 可由此工具加入服务器主机的名称和网络协议等设置 5 服务器网络实用工具 服务器网络实用工具 ServerNetworkUtility 用来配置本计算机作为服务器时允许使用的连接协议 还可以在此设置相关参数等 6 事件探查器 SQLServer2000中的事件探查器可以即时获得服务器的活动 帮助用户监控SQLServer所产生的事件 如登录失败 连接终止 Transact SQLSELECT INSERT UPDATE DELETE的语句 RPC RemoteprocedureCall 的批处理状态 存储过程的开始及结束等 可以有选择的进行事件的监视 注 不要选择过多的事件进行监视 以免影响性能 7 导入和导出数据 导入和导出数据 InputandExportData 采用DTS导入 导出向导来完成 此向导包含了所有的DTS DataTransformationServices 工具 提供了在OLEDB数据源之间复制数据的最简捷的方法 8 联机丛书 SQLServer2000提供了大量的联机帮助文档 BooksOnline 它具有索引和全文搜索能力 可根据关键词来快速查找用户所需信息 是用户学习SQLServer2000的良师益友 4 SQLServer的系统数据库 1SQLServer系统数据库简介 SQLServer2000安装成功后 系统会自动创建6个系统数据库 这些系统数据库的文件存储在MicrosoftSQLServer默认安装目录下的MSSQL子目录的Data文件夹中 数据库文件的扩展名为 mdf 数据库日志文件的扩展名为 ldf 2 Model数据库 是所有用户数据库和Tempdb数据库的模板数据库 它含有Master数据库的所有系统表子集 这些系统数据库是每个用户定义数据库时都需要的 1 Master数据库 记录了SQLServer系统的所有系统信息 这些系统信息包括所有的登录信息 系统设置信息 SQLServer的初始化信息和其它系统数据库及用户数据库的相关信息 msdb数据库是SQLServer中的一个特例 如果你查看这个数据库的实际定义 会发现它其实是一个用户数据库 不同之处是SQLServer拿这个数据库来做什么 所有的任务调度 报警 操作员都存储在msdb数据库中 该库的另一个功能是用来存储所有备份历史 SQLServerAgent将会使用这个库 3 Msdb数据库 是代理服务数据库 4 Tempdb数据库 tempdb数据库是一个非常特殊的数据库 供所有来访问你的SQLServer的用户使用 这个库用来保存所有的临时表 存储过程和其他SQLServer建立的临时用的东西 例如 排序时要用到tempdb数据库 数据被放进tempdb数据库 排完序后再把结果返回给用户 每次SQLServer重新启动 它都会清空tempdb数据库并重建 永远不要在tempdb数据库建立需要永久保存的表 5 Pubs和Northwind数据库 它们是SQLServer自带的两个实例数据库 三 数据库的体系结构 数据库是存储和管理数据的对象 从逻辑上看 数据库的逻辑存储结构指的是数据库是由哪些性质的信息所组成 所有与数据处理操作相关的信息都存储在数据库中 从物理上看 SQLServer数据库是指用于存储数据库的文件及文件组 数据库的物理存储结构则是讨论数据库文件是如何在磁盘上存储的 1 逻辑数据库 逻辑角度的数据库呈现为各种数据库对象 这些数据对象是用于编写数据库应用系统和管理数据库的单位 SQLServer的数据库对象主要包括表 table 视图 view 索引 index 默认 default 存储过程 storedprocedure 触发器 trigger 和约束 constraint 等 在T SQL语句中 数据库对象可使用两种对象名 完全限定名 在SQLServer2005上创建的每个对象都有唯一的完全限定名 它包括四个部分 服务器名 数据库名 模式名 所有者名和对象名 其格式为 Server database schema owner object部分限定名 只包含对象完全限定名中的一部分的对象名称使用T SQL编程时 使用全名往往很繁琐且没有必要 所以常省略完全限定名中的某些部分 对象全名中的前4部分可被省略 2 物理数据库 物理角度的SQLServer2005数据库呈现为各种操作系统文件 在默认安装路径C ProgramFiles MicrosoftSQLServer MSSQL 1 MSSQL Data目录下存放了数据库的数据文件 SQLServer的每个数据库都必须包含下面两类文件 数据文件 用于存放所有数据和数据库中建立的所有逻辑对象 又分为主要数据文件和次要数据文件 日志文件 记录了用户对数据库进行的所有操作 1 主要数据文件 PrimaryDataFile 主数据文件简称主文件 它是数据库的关键文件 包含了数据库的启动信息 每个数据库必须有且仅能有一个主文件 其默认扩展名为 MDF 唯一的 2 次要 辅助 数据库文件 SecondaryDataFile 辅助数据文件简称辅 助 文件 用于存储未包括在主文件内的其他数据 辅助文件的默认扩展名为 NDF 辅助文件是可选的 根据具体情况 可以创建多个辅助文件 也可以不用辅助文件 一般当数据库很大时 有可能需要创建多个辅助文件 而数据库较小时 则只要创建主文件而不需要辅助文件 零个 一个或多个 3 日志文件 TransactionLogFile 日志文件用于保存恢复数据库所需的事务日志信息 每个数据库至少有一个日志文件 也可以有多个 日志文件的扩展名为 LDF 至少一个 4 数据库文件组为了便于分配和管理 SQLServer允许将多个文件归纳为同一组 并赋予此组一个名称 这就是文件组 主文件组 PrimaryFileGroup 用户定义文件组 SecondaryFileGroup 四 创建及管理数据库 在建立用户逻辑组件之前 如基本表 必须首先建立数据库 而建立数据库时完成的最实质任务是向操作系统申请用来存储数据库数据的物理磁盘存储空间 这些存储空间以操作系统文件的方式体现 它们的相关信息将存储在master数据库及其系统表中 创建SQLServer数据库可以在ManagementStuio中以图形界面的方式交互完成 或者在查询界面下通过SQL语句完成 界面方式管理数据库命令方式下管理数据库 1 界面方式创建数据库 以学生 课程数据库为例 在ManagementStuio中以图形界面的方式练习创建数据库 修改数据库 例1 要求创建一个学生 课程数据库 名称为student 逻辑名称 数据文件和日志文件名称文件类型 数据文件及日志文件文件组 各个数据文件所属的文件组名称初始大小 文件大小自动增长 文件按指定的大小增长 也可限制到最大容量 路径 存放文件的物理目录文件名 显示数据文件和日志文件的物理名称 Student数据库默认创建选项 名称 主数据文件为student 日志文件为student log 主数据文件初始大小为3MB 增量为1MB 日志文件初始大小为1MB 增量为10 主数据文件和日志文件都存放在C ProgramFiles MicrosoftSQLServer MSSQL 2 MSSQL DATA目录下 文件分别为student mdf和student log ldf 文件组Primary 例2 要求在本地磁盘D创建一个学生 课程数据库 名称为student1 只有一个数据文件和日志文件 文件名称分别为stu和stu log 初始大小都为3MB 增长方式分别为10 和1MB 数据文件最大为500MB 日志文件大小不受限制 将主数据初始文件修改为3MB或3MB以上 2 界面方式查看数据库信息 3 界面方式修改数据库 在数据库创建后 数据文件和日志物理文件名就不能更改了 对已存在的数据库可以进行如下修改 改变文件的大小和增长方式增加或删除数据文件增加或删除日志文件增加或删除数据文件组 4 界面方式下删除数据库 1 命令方式下管理数据库 创建数据库 CREATE修改数据库 ALTER删除数据库 DROP 1 命令方式下创建数据库 在使用T SQL语句创建数据库中 其核心是CREATEDATABASE语句 该语句基本语法格式是 CREATEDATABASEdatabase name 指定数据库名 ONfile子句 指定数据库文件和文件组属性 LOGONfile子句 指定日志文件属性 file子句NAME logical file name FILENAME os file name SIZE size MAXSIZE max size UNLIMITED FILEGROWTH grow increment n 例1 要求创建一个学生 课程数据库 名称为student Createdatabasestudent例2 要求在本地磁盘D创建一个学生 课程数据库 名称为student 只有一个数据文件和日志文件 文件名称分别为stu和stu log 初始大小都为3MB 增长方式分别为10 和1MB 数据文件最大为500MB 日志文件大小不受限制 CREATEDATABASEstudentON NAME stu FILENAME D stu mdf SIZE 3MB MAXSIZE 500MB FILEGROWTH 10 LOGON NAME stu log FILENAME D stu log ldf SIZE 1MB MAXSIZE unlimited FILEGROWTH 1MB 2 命令方式修改数据库 主要内容 增加或删除数据文件改变数据文件的大小和增长方式增加或删除日志文件改变日志文件的大小和增长方式增加或删除文件组 语法格式 Alterdatabasedatabase name addfile n tofilegroupfilegroupname addlogfile n removefilelogical file name withdelete modifyfile modifyname new databasename addfilegroupfilegroup name removefilegroupfilegroup

温馨提示

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

评论

0/150

提交评论