第3 讲 数据模型,关系数据库系统.ppt_第1页
第3 讲 数据模型,关系数据库系统.ppt_第2页
第3 讲 数据模型,关系数据库系统.ppt_第3页
第3 讲 数据模型,关系数据库系统.ppt_第4页
第3 讲 数据模型,关系数据库系统.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第3讲数据模型 关系数据库系统 数据 DBMS 应用 请求 回答 数据库技术 一 数据库系统的特点数据结构化 在描述数据时 不但要描述数据本身 还要描述数据之间的关系 数据独立性高 数据与程序独立 数据的存取由DBMS负责 数据由DBMS统一管理和控制 DBMS提供安全控制 完整性检查 并发控制 数据库恢复等 二 数据模型模型的作用 反映现实世界数据特征 DBMS实现的依据 现实世界认识抽象概念模型数据模型 机器世界 数据模型的要求 可以比较真实地模拟现实 易于被人理解 便于实现 数据模型的组成 数据结构 数据操作 约束常用的数据模型 层次模型 网状模型 关系模型 面向对象模型是目前发展的方向之一 数据库设计过程 需求分析 概念数据库设计 逻辑数据库设计 确定存储哪些数据 建立哪些应用 常用的操作及对象有哪些等 对需求分析所得到数据的更高层的抽象描述 将概念模型所描述的数据映射为某个特定的DBMS模式数据 E R模型ODL 1 概念模型的表示 1976年 P P S Chen提出 模型 Entity RelationshipModel 用 图来描述概念模型 观点 世界是由一组称作实体的基本对象和这些对象之间的联系构成的 实体 Entity 客观存在并可相互区分的事物叫实体 如学生张三 工人李四 计算机系 数据库概论 属性 Attribute 实体所具有的某一特性 一个实体可以由若干个属性来刻画 例如 学生可由学号 姓名 年龄 系 年级等组成 域 Domain 属性的取值范围 例如 性别的域为 男 女 月份的域为 到 的整数 实体型 EntityType 实体名与其属性名集合共同构成实体型 例 学生 学号 姓名 年龄 性别 系 年级 注意实体型与实体 值 之间的区别 后者是前者的一个特例 如 9808100 王平 21 男 计算机系 2 是一个实体 实体集 EntitySet 同型实体的集合称为实体集 如全体学生 联系 Relationship 实体之间的相互关联 如学生与老师间的授课关系 学生与学生间有班长关系 联系也可以有属性 如学生与课程之间有选课联系 每个选课联系都有一个成绩作为其属性 同类联系的集合称为联系集 元或度 Degree 参与联系的实体集的个数称为联系的元 如学生选修课程是二元联系 供应商向工程供应零件则是三元联系 学生 课程 选修 学号 姓名 系别 课程名 先修课 主讲老师 用矩形表示实体集 在框内写上实体名 用椭圆表示实体的属性 用无向边把实体与其属性连接起来 用菱形表示实体间的联系 将参与联系的实体用线段连接 例 学生选修课程 成绩 码 Key 能唯一标识实体的属性或属性组称作超码 其任意真子集都不能成为超码的最小超码称为候选码 从所有候选码中选定一个用来区别同一实体集中的不同实体 称作主码 一个实体集中任意两个实体在主码上的取值不能相同 如学号是学生实体的码 通讯录 姓名 邮编 地址 电话 Email BP 表示要点 实体集属性中作为主码的一部分的属性用下划线来标明 学生 课程 选修 学号 姓名 系别 课程名 先修课 主讲老师 E R模型设计举例 职工 电话 姓名 职工 电话 联系电话 姓名 号码 地址 适于一个员工只有一部电话的情况 适于多个员工共有一部电话 一个员工多个电话 电话本身具有多个属性的情况 2 数据模型层次模型用树形结构 Tree 来表示各类实体及实体之间的关系 网状模型用图结构 Graph 来表示各类实体及实体之间的关系 举例 有一购销关系由三个实体组成 客户 张 王 李 付款方式 现金 支票 信用卡 购买商品 c1 c2 c3 c4 c5 c1c2c1c2c1c3c4c3c5c4c5 李 张 王 李 王 张 现金 支票 信用卡 c1c2c3c4c5 李张王 现金支票信用卡 层次模型数据操作 查询 插入 删除和修改 特点 没有父结点时不能插入子结点 删除父结点时则相应删除子结点 修改时要考虑一致性问题 存储结构 邻接法 链接法 网状模型与层次模型基本相似 三 关系模型关系数据库理论建立在严格的数学理论基础之上 其理论奠基人为IBM的高级研究员E F Codd 现在流行的数据库产品大都是关系数据库产品 主要产品有Oracle DB2 Sybase Informix SQLServer等 关系理论是建立在集合代数理论基础上的 有着坚实的数学基础 E F Codd于70年代初提出关系数据理论 他因此获得1981年的ACM图灵奖 早期代表系统System 由IBM研制 INGRES 由加州Berkeley分校研制 关系模型的组成 数据结构 关系操作 完整性约束 表结构8个运算三类完整性 关系代数语言关系演算语言SQL语言 实体完整性参照完整性自定义完整性 概念 关系 Relation 元组 Tuple 属性 Attribute 主码 Key同义词 唯一标识符 域 Domain属性的取值范围 关系的数据结构 数学定义 表 笛卡尔乘积的子集 关系操作 选择Select 投影Project 连接Join 除Divide 并Union 交Intersection 差Difference表示方法 关系代数 关系演算 SQL 关系笛卡尔积D1 D2 Dn的子集叫做在域D1 D2 Dn上的关系 用R D1 D2 Dn 表示 R是关系的名字 n是关系的度或目 关系是笛卡尔积中有意义的子集 关系也可以表示为二维表 关系TEACH T S C 元组 属性 关系的性质列是同质的 即每一列中的分量来自同一域 是同一类型的数据 如TEACH T S C t1 s1 c1 t1 t2 c1 是错误的 不同的列可来自同一域 每列必须有不同的属性名 如P t1 t2 s1 s2 s3 C c1 c2 则TEACH不能写成TEACH P P C 还应写成TEACH T S C 行列的顺序无关紧要 任意两个元组不能完全相同 集合内不能有相同的两个元素 每一分量必须是不可再分的数据 满足这一条件的关系称作满足第一范式 1NF 的 数据结构单一的数据结构 关系实体集 联系都表示成关系 学生 课程 选修 属于 系 教师 讲授 工作 DEPT 系编号 名称 主任 S 学号 姓名 性别 系编号 C 课程编号 名称 学分 SC 学号 课程编号 成绩 PROF 教师编号 姓名 系编号 职称 TEACH 教师编号 课程编号 候选码 CandidateKey 关系中的一个属性组 其值能唯一标识一个元组 若从该属性组中去掉任何一个属性 它就不具有这一性质了 这样的属性组称作候选码 任何一个候选码中的属性称作主属性 如SC中的S C 主码 PrimaryKey 进行数据库设计时 从一个关系的多个候选码中选定一个作为主码 外部码 ForeignKey 关系R中的一个属性组 它不是R的码 但它与另一个关系S的码相对应 则称这个属性组为R的外部码 编号姓名年龄职称 医生记录 病员记录 编号姓名主治医生姓名 外键 唯一性约束 关系操作关系操作是集合操作 操作的对象及结果都是集合 是一次一集合 Set at a time 的方式 而非关系型的数据操作方式是一次一记录 Record at a time 关系操作可以用关系代数和关系演算两种方式来表示 它们是相互等价的 如用关系代数来表示关系的操作 可以有选择 投影 连接 除 交 差 并等 关系模式的完整性实体完整性关系的主码中的属性值不能为空值 参照完整性用户定义的完整性用户针对具体的应用环境定义的完整性约束条件 系统支持实体完整性和参照完整性由系统自动支持 系统应提供定义和检验用户定义的完整性的机制 抽象的查询语言关系代数 用对关系的运算来表达查询 需要指明所用操作 关系演算 用谓词来表达查询 只需描述所需信息的特性 元组关系演算 谓词变元的基本对象是元组变量 域关系演算 谓词变元的基本对象是域变量 具体系统中的实际语言SQL 介于关系代数和关系演算之间 由IBM公司在研制SystemR时提出的 QUEL 基于Codd提出的元组关系演算语言ALPHA 在INGRES上实现 QBE 基于域关系演算 由IBM公司研制 关系数据语言的特点一体化一般关系系统的数据语言都同时具有数据定义 数据操纵和数据控制语言 而不是分为几个语言 非过程化用户只需提出 做什么 无须说明 怎么做 存取路径的选择和操作过程由系统自动完成 面向集合的存取方式操作对象是一个或多个关系 结果是一个新的关系 一次一关系 非关系系统是一次一记录的方式 四 数据库系统的模式结构模式 数据库中全体数据的逻辑结构和特征的描述 数据库系统的三级模式 数据 内模式 模式 外模式 五 数据库系统组成硬件 网络平台 服务器软件 操作系统 DBMSDBA 数据库管理员 100MSwitch 工作站Win98 me 2000 XP 数据库服务器Win2000ServerOracle SQLServer2000 完全关系系统的12条准则 DBMS应该遵循Codd提出的十二条法则 才能被分类到完全关系系统 1 信息法则 关系型DBMS的所有信息都应在逻辑一级上用一种方法即表中的值显式地表示 2 授权存取法则 每一个数据项必须通过一个 表名 主键 列名 的组合形式访问 例如 如果你能用数组或指针访问一个列 就违反这条规则 3 必须以一致的方式使用空值 如果由于缺少数字值 空值 Nul1 被当作0来处理 或者由于缺少字符值而被当作一个空格处理 那么它就违反了这条规则 空值仅仅是指缺少数据而且没有任何数值 如果缺少的数据需要值 软件提供商通常提供使用缺省值的能力满足这一目的 4 一个活跃的 在线数据字典应作为关系型表被存储 并且该字典应该可以通过常规的数据存取语言访问 如果数据字典的任何部分贮存在操作系统文件里 就违反了这条规则 5 除了可能的低级存取例程外 数据存取语言必须提供所有的存取方式 并且是存取的仅有方式 如果你能通过一个实用程序而不是一个SQL接口来存取支持一个表的文件 就有可能违反了本规则 参见规则12 6 所有能被更新的视图应当是可更新的 例如 如果你能将三个表连结起来 作为一个视图的基础 但却不能更新这个视图 则违反本规则 7 必须有集合级的插入 更新和删除 目前 大多数RDBMS提供商都在某种程度上提供了这种能力 8 物理数据的独立性 应用不能依赖于物理结构 如果一个支持某表的文件从一张盘移动到其他盘上或重新命名 不应该对应用产生影响 9 逻辑数据的独立性 应用不应依赖于逻辑结构 如果一个表必须被分成两个部分 那么应该提供一个视图 以把两段连接在一起 以便不会对应用产生影响 10 完整性的独立性 完整性规则应该贮存在数据字典中 主键约束 外键约束 检查约束 触发器等等都应该贮存在数据字典中

温馨提示

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

评论

0/150

提交评论