SQL server.ppt_第1页
SQL server.ppt_第2页
SQL server.ppt_第3页
SQL server.ppt_第4页
SQL server.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

第一章数据库基础知识 关系数据库与SQL语言 1 1数据处理概述 数据管理的三个阶段1 人工管理阶段 50年代以前 工作量大 效率很低 2 文件系统管理阶段 50年代末到60年代末 用数据文件来管理数据 如 二进制文件 文本文件 电子表格等 数据的冗余 排序 管理比较困难 处理数据的效率低 不能满足大数据量的要求 1 1数据处理概述 3 数据库系统管理阶段 70年代初至今 现在是计算机信息管理的主要方式 特点 1 数据结构化 库中的文件是相关联的 方便数据的操作 持久保存 2 数据共享 方便网络用户使用 3 数据冗余度小 存储量大大减少 4 较高的数据独立性 数据存储方式的改变不会影响到应用程序 方便程序设计 5 用户接口 使用方便 1 2数据库系统 数据库系统 DatabaseSystems 简记为DBS 是一个复杂的系统 它是采用了数据库技术的计算机系统 因此数据库系统的含义已经不仅仅是一组对数据进行管理的软件 即通常称为数据库管理系统 也不仅仅是一个数据库 一个数据库系统是一个实际可运行的 按照数据库方式存储 维护和向应用系统提供数据或信息支持的系统 它是存储介质 处理对象和管理系统的集合体 通常由数据库 硬件 软件 数据库管理员组成 1 2数据库系统 1 2数据库系统 1 数据库一个数据库可以定义为满足一个或多个用户信息要求的集成数据存储库 此定义包含了一个数据库的要素 集成 共享 存储和信息 1 2数据库系统 数据库的存储指的是它存储于计算机系统中 一个数据库包含的数据量很大 一般用数以兆字节计 所以只能存于外存设备 主要是磁盘 上 数据库在运行过程中还将不断扩大 因此要求外存储器容量较大 另一面 数据库中包含的数据类型多 数据间的联系复杂 因而有一个数据在存储设备上如何组织及如何有效存取的问题 同时 还要根据用户的地理分布要求确定数据应是存储于单个计算机系统中还是分散于多个计算机系统中 1 2数据库系统 2 数据库管理系统处理所有用户对数据库存取请求的软件系统叫数据库管理系统或DBMS DataBaseManagementSystem 它是数据库系统中的核心软件部件 由DBMS提供的一个总的功能是向用户隐蔽数据库的物理 或硬件 级细节 换句话说 就是提供了一个比物理级更高的数据库视图 并支持按这个更高视图表示的用户操作 DBMS有两个主要支持操作的部分 数据库控制子系统和数据库存储子系统 数据库控制子系统是面向用户的 它接受用户程序的数据请求 如 读 写 等 1 3数据模型 模型是对不能直接观察的事物进行形象的描述和模拟 是对客观世界中复杂对象的抽象描述 在数据库领域中 一般用数据模型来描述数据的结构 数据的性质 数据之间的联系 完整性约束条件 以及某些数据变换规则 模型的抽象过程如下 现实世界 认识抽象 概念模型 机器世界数据模型是用来描述数据的一组概念和定义 1 3数据模型 一般来说 数据的描述包括数据的静态特性和数据的动态特性两个方面 数据的静态特性是指数据的基本结构 数据间的联系和数据中的约束 数据的动态特性则指在数据上定义的操作 因此 数据模型三要素是 数据结构 数据操作和完整性约束 数据结构描述静态特征 按数据结构可以把数据模型分为层次模型 网状模型 关系模型 数据操作描述动态特征 数据操作主要分为更新 插入 删除 修改 检索两大类 统称增 删 改 查 完整性约束确保数据的正确性 有效性和相容性 1 3数据模型 美国国家标准协会定义了四种数据抽象的级别 概念模型 外部模型 逻辑模型 内部模型 1 概念模型 是存在于人们头脑中的数据环境 它的抽象级别最高 是整个数据处理环境的整体而全面的描述 是不依赖于计算机硬件和软件的 2 外部模型 从一个应用程序或用户角度看到或使用的数据库子集合 因为概念模型是数据处理的整体描述 是供许多用户在使用数据时都有自己的角度 所以 有多少个数据库应用程序或用户就应该有多少个外部模型 1 3数据模型 3 逻辑模型 是从计算机实现角度描述整个数据库的模型 它从系统软件角度 操作系统和DBMS 所看到的数据集合 是数据在计算机服务层面上的内容 体现在内存管理和后台服务进程 一般逻辑模型是内部模型与外部模型之间的桥梁 逻辑模型是不依赖于计算机硬件的 但依赖于不同的DBMS 也就是计算机软件 4 内部模型 是描述数据库物理结构的模型 它实现了数据在磁盘上的存储方式 存储设备和存取方法 是数据抽象级别最低的模型 1 3 1概念模型 概念模型实际上是现实世界到机器世界的一个中间层次 概念模型用于信息世界的建模 是现实世界到信息世界的第一层抽象 信息世界涉及到的概念有 1 实体 客观存在并可相互区别的事物 2 属性 实体所具有的某一特性称为属性 3 码 唯一标识实体的属性集称为码 1 3 1概念模型 4 域 属性的取值范围称为该属性的域 5 实体型 具有相同属性的实体必然具有共同的特征和性质 6 实体集 同一类型实体的集合称为实体集 7 联系 在现实世界中 事物内部以及事物之间是有联系的 这些联系在信息世界中反映为实体 型 内部的联系和实体 型 之间的联系 1 3 1概念模型 联系归结为三种类型 1 一对一联系 1 1 设A B为两个实体集 若A中的每个实体至多和B中的一个实体有联系 反过来 B中的每个实体至多和A中的一个实体有联系 称A对B或B对A是1 1联系 注意 1 1联系不一定都是一一对应的关系 可能存在着无对应 如一个公司只有一个总经理 一个总经理不能同时在其它公司再兼任总经理 某公司的总经理也可能暂缺 1 3 1概念模型 2 一对多联系 1 n 如果A实体集中的每个实体可以和B中的几个实体有联系 而B中的每个实体至我和A中的一个实体有联系 那么A对B属于1 n联系 如一个部门有多名职工 而一名职工只在一个部门就职 部门与职工属于一对多的联系 1 3 1概念模型 3 多对多联系 m n 若实体集A中的每个实体可与和B中的多个实体有联系 反过来 B中的每个实体也可以与A中的多个实体有联系 称A对B或B对A是m n联系 如一个学生可以选修多门课程 一门课程由多个学生选修 学生和课程间存在多对多的联系 必须强调指出 有时联系也有属性 这类属性不属于任一实体只能属于联系 1 3 1概念模型 E R模型 实体联系模型 简称E R图 它是描述概念世界 建立概念模型的实用工具 E R图包括三个要素 实体 型 用矩形框表示 框内标注实体名称 属性 用椭圆形表示 并用连线与实体连接起来 实体之间的联系 用菱形框表示 框内标注联系名称 并用连线将菱形框分别与有关实体相连 并在连线上注明联系类型 1 3 1概念模型 例如学生和课程的联系的E R模型表示 学生 学号 姓名 性别 学号 课程 出生日期 专业 课程号 课程名称 授课教师 学习 成绩 N M 思考 学校中有若干系 每个系有若干班级和教研室 每个教研室有若干教员 其中有的教授和副教授每人各带若干研究生 每个班有若干学生 每个学生选修若干课程 每门课可由若干学生选修 请用E R图画出此学校的概念模型 1 4关系模型 目前流行的数据库系统都是关系模型的 一个关系数据库是由若干相互关联的表组成的 这些表构成一个整体的逻辑结构 关系是一个二维表 表中的一行成为关系的一个元组 表中的一列也称为关系的一个属性 表中的一列包含该属性的所有数据 关系模型由关系数据结构 关系数据操作和关系数据的完整性约束条件三部分组成 在关系模型中 客观世界的实体以及实体之间的各种联系均用关系来表示 1 4关系模型 关系存储的基本概念 1 表 也称为关系 由表名 列名以及若干数据行组成 2 行 也称元组 表中每一行由若干字段组成 描述一个实体的具体信息 每一个字段描述了该对象的某一个属性或特征 3 列 也称字段 域 属性 表中的每一列描述一类特征信息 4 列类型 是描述每一列中取值的类型说明 5 码 也称码键 表中的某个属性组 它可以唯一确定一个元组 1 4关系模型 6 域 属性的取值范围 7 分量 元组中的一个属性值 1 4关系模型 关系数据库中的基本表具有以下性质 1 同一属性的数据是同质的 即每一列中值是同类型的数据 或者说取自同一个域 2 按属性名引用时 属性左右无序 即列的顺序是可以任意交换的 3 同一关系中不能有有重复的元组 4 元组上下无序 即元组的顺序可以交换 5 所有属性值都是原子项 即每一个分量必须是不可分割的数据项 1 4关系模型 这张表属于关系模型吗 1 4 1关系操作 任何DBMS都要求从数据库系统中存取数据的一组操作 在关系模型中 有如下8种基本操作 选择投影连接笛卡儿积除并交差 1 4 1关系操作 其中前5种操作属于关系的基本操作 后面3种是关系的集合操作 任何一种对于表的操作都可以由这8种关系操作组合形成 选择操作 1 4 1关系操作 选择运算是单目运算 根据一定的条件在给定的关系R中选取若干元组 组成一个新关系 记作 F R t t R F t 真 是选择运算符F是选择的条件 由运算对象 属性名 常数 简单函数 算术比较运算符 或逻辑运算符 连接起来构成的逻辑表达式 结果为逻辑值 真 或 假 1 4 1关系操作 投影操作投影运算也是单目运算 关系R上的投影是从R中选择出若干属性列 组成新的关系 对关系在垂直方向进行的运算 从左到右按照指定的若干属性及顺序取出相应列 删去重复元组 记作 A R t A t R A为R中的属性列 是投影运算符 1 4 1关系操作 连接操作连接运算是从两个关系的广义笛卡儿积中选取满足连接条件的元组 组成新的关系 新关系的度为n m 记作 R S tr ts tr R ts S tr X ts Y 为真 是连接运算符 X Y是连接属性 为比较运算符 为 的连接称为等值连接 1 4 1关系操作 例 已知关系R T 求 R T R A T C T 结果 R 1 4 1关系操作 例 已知关系R T 求 R T R A T A T 结果 R 1 4 1关系操作 自然连接等值连接的情况下 X与Y具有相同属性组时 把在连接结果中重复的属性列去掉 R S tr ts tr R ts S tr Y ts Y 1 4 1关系操作 2 R T 1 4 1关系操作 自然连接和等值连接的区别等值连接不要求相等属性值的属性名相同 自然连接则要求相等属性值的属性名必须相同 所以 两个关系有同名属性才能进行自然连接 等值连接不去掉重复属性 而自然连接去掉重复属性 1 4 1关系操作 除除法运算是二目运算 设有关系R X Y 与关系S Y Z 其中 X Y Z为属性集合 R中的Y与S中的Y可以有不同的属性名 但对应属性必须出自相同的域 R除以S所得的商是一个新的关系P X P是R中满足下列条件的元组在X上的投影 元组在X上分量值x的象集Yx包含S在Y上投影的集合 记作 R S tr X tr R y S Yx 其中Yx为x在R中的象集 x tr X X A B a1 b2 a2 b4 a3 b5 Y C D c3 d5 c4 d6 c1 d3 c2 d8 a1 b2 的象集 c3 d5 c4 d6 a2 b4 的象集 c1 d3 a3 b5 的象集 c2 d8 Y C D c3 d5 c4 d6 R X Y S Y Z R S R D 练习 求R D P Q 2 b 9 a 7 g T Y c d e f d e 2 b 的象集 c d e f 9 a 的象集 e f d e 7 g 的象集 e f c d D在 T Y c d e f R D 1 4 1关系操作 并关系R和关系S的并由属于R或属于S的元组组成 即R和S的所有元组进行合并 删去重复元组 组成一个新关系 结果仍为n目关系 记作 R S t t R t S 用来在关系中插入或添加元组 1 4 1关系操作 交关系R与关系S的交由既属于R又属于S的元组 R和S中相同的元组 组成一个新关系 结果仍为n目关系 记作 R S t t R t S 如果两个关系没有相同的元组 它们的交为空 1 4 1关系操作 差关系R与关系S的差由属于R而不属于S的所有元组组成 即R中删去与S中相同的元组 组成一个新关系 其结果仍为n目关系 记作 R S t t R t S 通过差运算 实现关系数据库记录的删除 注 并 差是基本运算 交可以用差来表示R S R R S 1 4 1关系操作 广义笛卡儿积两个分别为n目和m目关系R和S的广义笛卡儿积是一个 n m 列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 若R有k1个元组 S有k2个元组 则关系R和关系S的广义笛卡儿积有k1 k2个元组 记作 R S tr ts tr R ts S 广义笛卡儿积实现两个关系的连接操作 举例 已知关系R S如图所示 求下列关系代数的运算结果 1 R2 R S 2 R3 R S 3 R1 R S 4 R4 R S R S R S R1 R S R S R S 1 4 2关系约束条件 约束条件是指数据存储和数据操作应该满足的一组规则 关系模型的三类完整性 1 实体完整性 主关系键 主码 的值不能为空 例如 学生的学号2 参照完整性 如果关系R2的外部关系键X与R1的主关系键相符 则X的每个值或者等于R1中主关系键的某一个值 或者取空值 1 4 2关系约束条件 3 用户定义完整性 针对某一具体关系数据库而制定的约束条件 反映某一具体应用所涉及的数据必须满足的语义要求 例如 性别 男 女 1 5设计数据库的一般步骤 1 确定新建数据库的目的设计数据库的第一步是确定数据库的目的以及如何使用 要首先确定希望从数据库得到什么信息 由此进一步确定需要什么主题来保存有关事件 表 和需要什么事件来保存每一个主题 中的字段 为了实现设计目标 首先要进行下述准备工作 1 与数据库的最终用户交流 了解用户希望从数据库中得到什么样的信息 2 集体讨论数据库所要解决的问题 并描述数据库需要生成的报表 3 收集当前用于记录数据的表格 4 参考某个设计得好 而且与当前要漫计的数据库相似的数据库 总之 在设计数据库之前应进行系统调查和分析 以搜集足够的数据库设计的依据 2 规划数据库中的表表是数据库的基本信息结构 确定表可能是数据库设计过程中最难处理的步骤 因为要从数据库获得的结果 如要打印的报表 要使用的格式 要解决的问题等 不一定能够提供用于生成它们的表的结构的线索 在设计表时 应按以下设计原则对信息进行分类 1 表中不应该包含重复信息 而且信息不应该在表之间复制 如果每条信息只保存在一个表中 则只需在一处进行更新 这样效率更高 同时也消除了包含不同信息的重复项的可能性 例如 在一个表中 对每个客户的地址和电话号码只保存一次 2 每个表应该只包含关于一个主题的信息 如果每

温馨提示

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

评论

0/150

提交评论