数据库系统 PPT课件_第1页
数据库系统 PPT课件_第2页
数据库系统 PPT课件_第3页
数据库系统 PPT课件_第4页
数据库系统 PPT课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

1 第1章绪论 基本概念数据库 Database DB 长期储存在计算机内 有组织的 可共享的数据集合 数据库管理系统 DatabaseManagementSystem DBMS 是位于用户与操作系统之间的一层数据管理软件 常用的大型数据库管理系统包括DB2 SQLSERVER Oracle Sybase Informix等 2 第1章绪论 数据管理经历了人工管理 文件系统 数据库系统 高级数据库技术管理四个阶段 采用数据库技术管理数据具有如下特点 1 采用一定的数据模型实现数据结构化 2 程序与数据具有较高的独立性 3 控制数据冗余 4 支持数据共享 5 数据安全性较高 3 第1章绪论 数据的逻辑独立性 当数据的整体逻辑结构改变时 通过系统内部的自动映像或转换功能 保持了数据的局部逻辑结构不变 视图能够实现数据的逻辑独立性 数据的物理独立性 当数据的存储结构改变时 通过系统内部的自动映像或转换功能 保持了数据的逻辑结构不变 4 第1章绪论 数据模型 是现实世界数据特征的抽象 概念数据模型 按用户的观点对数据和信息建模 如 实体联系模型逻辑数据模型 按计算机系统的观点对数据建模 如 层次模型 网状模型 关系模型 5 数据仓库数据仓库是一个面向主题的 集成的 不可更新的 随时间不断变化的数据集合 用以支持企业或组织的决策分析处理 数据挖掘就是从大量数据中提取或 挖掘 知识 可以支持人们进行决策 数据仓库是一种语义上一致的数据存储 它充当决策支持数据模型的物理实现 并存放企业战略决策所需信息 数据仓库开始时主要用于信息处理 而后用于分析处理 最后可用于数据挖掘 因此数据挖掘可看作数据仓库的高层次应用 但数据挖掘不限于分析数据仓库中的数据 它可以分析现存的 比数据仓库提供的汇总数据粒度更细的数据 也可以分析事务的 文本的 空间的和多媒体数据 第1章绪论 6 关系模型 用二维表的形式表示实体和实体间联系的数据模型关系模型符合1NF 第一范式 1NF 是指数据库表的每一列都是不可分割的基本数据项 第2章关系模型 7 第2章关系模型 超键 Superkey 在一个关系中 能唯一标识元组的属性集 键Key 候选键candidatekey 一个属性集能惟一标识元组 又不含有多余属性 主键 primarykey 关系模式中用户正在使用的候选键称主键 用作主键的列不可以为NULL 在行记录中不可以重复 可以将几个列合并起来用作主键 外键 ForeignKey 是指关系R中的一组属性A不是关系R的主键 但A是另一个关系S的主键 则属性组A就是关系R的外键 8 第2章关系模型 数据完整性 是指保护数据库中数据的正确性 有效性和相容性 防止不合语义的数据进入数据库 实体完整性 主键 PRIMARYKEY 参照完整性 外键 FOREIGNKEY 用户定义的完整性 check 触发器 在数据库系统中 数据完整性约束的建立需要通过数据库管理系统提供的数据定义语言来实现 9 关系代数 用关系的运算来表达查询要求的方式 并差交广义笛卡尔积投影 是从关系R中选择出若干属性列组成新的关系 选择 在关系R中选择满足给定条件的元组 连接 从两个关系的笛卡儿积中选取属性间满足一定条件的元组 并 差 投影 广义笛卡儿积和选择五种运算为基本运算 10 第3章结构化查询语言 SQL SQL StructuredQueryLanguage 是结构化查询语言 包括查询 定义 操纵和控制四个部分 是一种功能齐全的数据库语言 目前已成为关系数据库的标准语言 11 第3章结构化查询语言 SQL 1 定义基本表CREATETABLE 列级完整性约束条件 列级完整性约束条件 设有一个关系数据库 有三个基本表 表结构如下 STUDENT 学号姓名年龄性别学院号 SC 学号课程号成绩 COURSE 课程号课程名学时数课程类型 创建COURSE表的SQL语句CreateTableCOURSE 课程号char 6 notnullprimarykey 课程名char 30 学时数smallint 课程类型char 10 12 第3章结构化查询语言 SQL 删除基本表的命令DROPTABLEDROPTABLECOURSE 13 第3章结构化查询语言 SQL 查询SELECT ALL DISTINCT FROM WHERE GROUPBY HAVING ORDERBY ASC DESC GROUP 将结果按的值进行分组 该属性列值相等的元组为一个组 每个组产生结果表中的一条记录 如果GROUP子句带HAVING短语 则只有满足指定条件的组才予输出 如果有ORDER子句 则结果表还要按的值的升序或降序排序 14 第3章结构化查询语言 SQL 使用聚合函数COUNT DISTINCT ALL 统计元组个数COUNT DISTINCT ALL 统计一列中值的个数SUM DISTINCT ALL 计算一列值的总和AVG DISTINCT ALL 计算一列值的平均值MAX DISTINCT ALL 求一列值中的最大值MIN DISTINCT ALL 求一列值中的最小值 15 第3章结构化查询语言 SQL 谓词LIKE可用来进行字符串的匹配 语法格式 NOT LIKE ESCAPE 含义是查找指定的属性列值与相匹配的元组 百分号 代表任意长度 长度可以为0 的字符串 下横线 代表任意单个字符 16 第3章结构化查询语言 SQL 例 下面哪一个语句能查找名称以 book 字符串结尾的出版社 A Selectpub namefrompublisherswherepub namelike book B Selectpub namefrompublisherswherepub namelike book C Selectpub namefrompublisherswherepub namelike book D Selectpub namefrompublisherswherepub namelike book 17 第3章结构化查询语言 SQL 设有一个数据库Library 包括Book Borrow Reader三个关系模式 Book Bno Btitle Bauthor Bprice Borrow Rno Bno BorrowDate ReturnDate Reader Rno Rname Rsex Rage Reducation 写出实现下列操作的SQL语句 查询所有年龄在18 30岁 包括18岁和30岁 之间的读者姓名 Rname 及年龄 Rage SelectRname RagefromReaderwhereRagebetween18and30 18 第3章结构化查询语言 SQL Book Bno Btitle Bauthor Bprice Borrow Rno Bno BorrowDate ReturnDate Reader Rno Rname Rsex Rage Reducation Email 查询所有姓张的且全名为2个汉字的读者的姓名 Rname 和性别 Rsex SelectRname RsexfromReaderwhereRnamelike 张 19 第3章结构化查询语言 SQL Book Bno Btitle Bauthor Bprice Borrow Rno Bno BorrowDate ReturnDate Reader Rno Rname Rsex Rage Reducation 查询所有的借阅记录 按照读者编号 Rno 升序排列 读者编号相同的 按照借阅时间 BorrowDate 降序排列 SelectRno Bno BorrowDate ReturnDatefromBorroworderbyRnoasc BorrowDatedesc 20 第3章结构化查询语言 SQL Book Bno Btitle Bauthor Bprice Borrow Rno Bno BorrowDate ReturnDate Reader Rno Rname Rsex Rage Reducation 查询比编号为B02的图书的价格高的图书的编号 Bno 书名 Btitle 和价格 Bprice SelectBno Btitle BpricefrombookwhereBprice selectBpricefrombookwhereBno B02 21 Book Bno Btitle Bauthor Bprice Borrow Rno Bno BorrowDate ReturnDate Reader Rno Rname Rsex Rage Reducation 基本表的修改ALTERTABLE ADD 完整性约束 DROP 完整性约束名 DROPCOLUMN ALTERCOLUMN 例 修改读者表Reader中Rname列 把Rname列修改成下列定义 数据类型 Char 长度 10 允许空否 NULL AlterTableReaderAlterColumnRnameChar 10 Null 22 第3章结构化查询语言 SQL 数据库的安全性控制是指保护数据以防止未经授权或不合法的使用造成的数据泄露 更改或破坏 保证数据库系统的安全性措施 1 用户标识和身份鉴定 2 存取控制 3 定义视图 4 审计 5 数据加密 23 第3章结构化查询语言 SQL 一 授权grant表级权限on 表名 视图名 to 用户 用户 public withgrantoption withgrantoption表示获得权限的用户可以把权限再授予其它用户回收权限revoke表级权限on 表名 视图名 from 用户 用户 public 例 收回用户PENG对学生表 STUDENT 中学号 XH 的修改权 REVOKEUPDATE XH ONSTUDENTFROMPENG 24 第3章结构化查询语言 SQL 视图是从一个或几个基本表 或视图 导出的表 它是一个虚表 只存放视图的定义 而不存放视图对应的数据 优点 1 简化用户的操作 2 使用户能从多种角度看待同一数据 3 对重构数据库提供了一定程度的逻辑独立性 4 能够对机密数据提供安全保护 如 要使用户张先生只能查询表A中的部分记录 可以构建该部分记录的行级视图 并将该视图的查询权限赋予张先生 25 第3章结构化查询语言 SQL 1 定义视图CREATEVIEW 视图名称 属性名1 属性名2 ASSELECT查询模块 WITHCHECKOPTION STUDENT 学号姓名年龄性别学院号 SC 学号课程号成绩 COURSE 课程号课程名学时数课程类型 创建一个视图MyView 查询课程类型为选修课程学生的学院号 学号 姓名CreateViewMyViewASSelectSTUDENT 学院号 STUDENT 学号 STUDENT 姓名fromSTUDENT SCwhereSTUDENT 学号 SC 学号andSC 课程号IN SelectCOURSE 课程号fromCOURSEwhereCOURSE 课程类型 选修课程 26 游标游标是系统为用户开设的一个数据缓冲区 存放SQL语句的执行结果 用户可以用SQL语句逐一从游标中获取记录 并赋值给主变量 交由主语言进一步处理 第3章结构化查询语言 SQL 27 存储过程是一组为了完成特定功能的SQL语句集 经编译后存储在数据库中 用户通过指定存储过程的名字并给出参数来执行它 存储过程有以下的优点 重复使用 提高性能 存储过程在创建的时候就进行了编译 将来使用的时候不用再重新编译 减少网络流量 存储过程位于服务器上 调用的时候只需要传递存储过程的名称以及参数就可以了 因此降低了网络传输的数据量 安全性 参数化的存储过程可以防止SQL注入式的攻击 而且可以将Grant Deny以及Revoke权限应用于存储过程 第3章结构化查询语言 SQL 28 第4章并发控制 日志文件是用来记录事务对数据库的更新操作的文件 在数据库恢复中其着非常重要的作用 可以用来进行事务故障恢复和系统故障恢复 并协助后备副本进行介质恢复 29 第4章并发控制 并发控制为了充分利用数据库资源 发挥数据库共享资源的特点 应该允许多个用户并行地存取数据库 但会产生多个用户并发存取同一数据的情况 需要对并发操作进行控制 以防止数据库的不一致性 并发控制机制的好坏是衡量数据库管理系统性能的重要标志之一 并发控制是以事务为单位进行的 封锁技术 Locking 是并发控制的主要技术死锁 在数据库并发控制中 两个或多个事务处于等待状态 30 第4章并发控制 事务是数据库的逻辑工作单位 是用户定义的一组操作序列 在关系数据库中 一个事务可以是一组SQL语句或整个程序 事务通常是以BEGINTRANSACTION开始 以COMMIT或ROLLBACK结束 事务应具有原子性 一致性 隔离性和持续性 原子性 事务必须是原子工作单元 对于其数据操作 要么全都执行 要么全都不执行 一致性 事务的执行结果必须使数据库从一个一致性状态变到另一个一致性状态 隔离性 一个事务的执行不能被其它事务干扰 持续性 持久性 一旦事务成功提交 其对数据库的更新操作将永久有效 即使数据库发生故障 31 第4章并发控制 并发操作引起的异常 丢失更新 LostUpdate 未提交读 Uncommittedread 也称为 脏读 不可重复读 Nonrepeatableread 幻象读 Phantomread 32 数据库运行中可能产生三种故障 事务故障 违反完整性约束引起事务夭折 系统故障 软硬件错误断电引起事务夭折 介质故障 磁盘损坏部分或全部数据丢失 事务故障和系统故障影响事务的正常执行 介质故障破坏数据库数据 第4章并发控制 33 第 章数据库设计 数据库设计数据库设计是指对于一个给定的应用环境 构造最优的数据库模式 建立数据库及其应用系统 使之能够有效地存储数据 满足各种用户的应用需求 信息要求和处理要求 34 数据

温馨提示

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

评论

0/150

提交评论