




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章数据库 数据管理的应用需求 2 数据库 数据库管理系统 应用程序1 应用程序2 应用程序K 用户 数据库系统中用户共享数据库资源 数据库系统的组成和特点 1 数据库系统 DBS 的组成 数据库 设计 开发 管理DBS的人员和用户 利用DBS资源开发的 解决管理和决策问题的各种应用程序 对数据进行管理的软件系统功能 创建DB结构 对DB中的数据操作 对DB数据管理和控制 指按一定的数据模式组织并长期存放在外存上的 可共享的 面向部门全局应用的数据集合 数据库系统的组成和特点 3 数据库系统的特点 数据结构化 数据可共享 数据独立于程序 统一管理控制数据 DBMS管理控制数据功能 安全性 完整性 并发控制 恢复 从全局分析和描述数据 适应多个用户 多种应用共享数据的需求 可减少数据冗佘 节省存储空间 保证数据的一致性 数据面向全局应用 用数据模型描述数据和数据之间的联系 逻辑独立性 应用程序与DB的逻辑结构相互独立 物理独立性 应用程序与DB的存储结构相互独立 数据模型 续 综上可见 概念结构是分析过程中的一个中间结果 它将现实世界中的客观对象和对象间的关联 经过识别 选择 分类等综合分析 形成 概念结构 用实体 联系工具E R图表示 数据模型是直接面向计算机系统 即数据库 中数据的数据结构 包括逻辑结构和存储结构 用数据模型来描述数据结构 数据模型 续 在常见的数据库系统中 根据实体集之间的不同结构 通常把数据模型分为层次模型 网状模型 关系模型和面向对象模型4种 层次模型网状模型关系模型面向对象模型 国内DBS普遍采用关系模型 95 以上 课程介绍关系模型 关系数据模型 关系数据模型描述数据的逻辑结构3要素 数据结构 重点介绍 数据完整性 参阅教学指导书 数据的操作 重点介绍 关系模型的数据结构 为什么当今大多数DBMS都支持关系数据模型 当今大多数DBMS都支持关系数据模型 关系数据模型建立在严格的数学理论基础上 集合论的 关系概念 概念清晰 简洁 用统一的结构表示数据对象和它们之间的联系 关系模型的数据结构 续 关系数据模型的基本结构是关系 在用户观点下 关系数据模型中数据的逻辑结构是一张二维表 Table 它由表名 行和列组成 表的每一行称为一个元组 Tuple 每一列称为一个属性 Attribute 例如 例表1 学生登记表 S 关系模型的数据结构 续 例表2 课程开设表 C 关系模型的数据结构 续 例表3 学生选课成绩表 SC 关系数据模型 结构 续 学生登记表 S 课程开设表 C 与学生选课成绩表之间的联系 关系数据模型 结构 续 数据库中数据的逻辑结构 二维表 纵观示意图 存储模式 关系数据模型 结构 续 关系数据模式 数据的关系模型结构就是二维表结构 3张二维表分别是数据对象 学生 S 课程开设 C 和其联系 学生选课成绩 SC 的反映 这种用关系数据模型对一个具体单位中客观对象及其联系的结构描述 称为关系数据模式 简称 关系模式 关系数据模型 结构 续 关系模式的描述形式 其中 R为关系模式名 即二维表名 Ai 1 i n 是二维表中的列名 或者 R A1 A2 Ai An R A1 A2 Ai An 关系数据模型 结构 续 上述数据对象 S和C 以及数据对象之间的联系 SC 表示成关系模式分别为 S SNO SNAME DEPART SEX BDATE HEIGHT C CNO CNAME LHOUR SEMESTER SC SNO CNO GRADE 关系数据模型 结构 续 这3个关系模式也可以用汉字定义为 学生 学号 姓名 系别 性别 出生日期 身高 课程 课程号 课程名 学时 开课时间 选课成绩 学号 课程号 成绩 关系数据模型 结构 续 关系模式 即二维表 主键 能够唯一标识二维表中指定元组的属性或者属性组 这组属性的任何真子集无此性质 称为该二维表的候选键 如果一个关系模式有多个候选键存在 则可从中选一个最常用的作为该关系模式主键 简称主键 候选键 学号 姓名 出生年月 主键 学号 关系数据模型 结构 续 例如 学生登记表中的学生有下列属性 列 学号 姓名 系别 出生年月等 则学号可作为候选键 用它来标识一个学生 因学生可能有重名 因而姓名不能作为候选键 但若学生的出生年月不同 则也可用属性组 姓名 出生年月 作为候选键 必须再从这两个候选键中选其一 如学号 作为学生登记表的主键 关系数据模型 结构 续 基本术语的对照 关系模型中的术语来自关系数学 与程序员和用户的习惯说法是相对应的 关系数据模型 结构 续 特别提示 严格地说明 关系是一种规范化二维表中行的集合 在关系数据模型中 对每个关系还作了如下限制 每一个列对应一个域 列名不能相同 关系中所有的列是原子数据 原子数据是不可再分的 关系中不允许出现相同的行 即不能出现重复的行 关系是行的集合 行的次序可以交换 按集合的性质 行中列的顺序可以任意交换 按集合的性质 但使用按定义顺序 关系数据模型 结构 续 特别提示 数据模型和模式是有区别的 数据模型 用一组概念和定义描述数据的手段 数据模式 用某种数据模型对具体情况下相关数据结构的描述 具体地说 关系模式是以关系数据模型为基础 综合考虑了用户的需求 并将这些需求抽象而得到的逻辑结构 因而不应将关系数据模型和关系模式相混淆 正象不应把高级语言和用高级语言编写的程序模块混为一谈一样 应注意它们在概念上的差异 关系数据模型 结构 续 特别提示 关系模式 反映了二维表的静态结构 是相对稳定的 关系 是关系模式在某一时刻的状态 它反映二维表的内容 由于对关系的操作不断更新着二维表中的数据 因此关系是随时间动态变化的 但在一般表述中 人们常常将关系模式和关系都称为关系 实际上对此二者应加以科学的区分 关系数据模型 完整性 续 实体完整性约束关系模型的完整性约束引用完整性约束用户定义完整性约束 阅读材料6 4 关系数据模型 操作 在关系数据库中 通常可以定义一些操作来通过已知的关系 二维表 创建新的关系 二维表 最常用的关系操作有 并插入交更新差删除笛卡尔积选择除连接投影 专门的关系操作 传统集合的关系操作 关系数据模型 操作 举例用例 5张二维表 SC1 60 80分成绩表 SC2 70 100分成绩表 关系数据模型 传统集合的关系操作 并并操作是一个二元操作 它要求参与操作的两个关系有相同的关系模式 其作用是将两个关系组合成一个新的关系 根据集合论的定义 并操作创建的新关系中的每一个元组或者属于第一个关系 或者属于第二个关系 或者在两个关系中皆有 结果关系表示选课程学生的 60 100分成绩表 关系数据模型 传统集合的关系操作 交交操作也是一个二元操作 它对两个具有相同关系模式的关系进行操作 创建一个新关系 根据集合论的定义 交操作所创建新关系中的每一个元组必须是两个原关系中共有的成员 结果表示选课学生 70分 80分成绩表 关系数据模型 传统集合的关系操作 差差操作也是一个二元操作 它应用于具有相同关系模式的两个关系 生成新关系中的元组是存在于第一个关系而不存在于第二个关系中的元组 例如 关系SC1与关系SC2进行差操作 结果关系包括那些在SC1表中而不在SC2表中的成绩信息 即 60 69分成绩表 关系数据模型 传统集合的关系操作 差 续 在集合操作中 并 和 交 具有交换律的性质 而 差 操作没有交换律的性质 例如 关系SC2与关系SC1进行差操作 结果关系包括那些在SC2表中而不在SC1表中的成绩信息 即 81 100分成绩表 SC2 SC1 差 SC1 SC2 SC2 SC1SC1 SC2 SC2 SC1SC1 SC2 SC2 SC1 关系数据模型 专门的关系操作 插入插入操作是一种一元操作 它应用于一个关系 其操作是在关系中插入新的元组 或另一个具有相同模式的关系 例如 在课程开设表 C 中插入一个新的课程信息 CW101 论文写作 30 春 关系数据模型 专门的关系操作 删除删除操作为一元操作 它根据要求删去表中相应的元组 例如 从课程表 C 中删除课程CC112 关系数据模型 专门的关系操作 更改更改操作也是一种一元操作 它应用于一个关系 用来改变关系中指定元组中的部分属性值 例如 课程开设表 C 中的课程ME234元组的LHOUR值由 40 改为 30 SEMESTER值由 秋 改为 春 关系数据模型 专门的关系操作 选择选择操作是一元操作 它应用于一个关系并产生另一个新关系 新关系中的元组 行 是原关系中元组的子集 选择操作根据要求从原先关系中选择部分元组 结果关系中的属性 列 与原关系相同 保持不变 例如 从学生登记表 S 中 选出性别为 男 的学生元组 组成一个新关系 男学生登记表 关系数据模型 专门的关系操作 投影是一元操作 它作用于一个关系并产生另一个新关系 新关系中的属性 列 是原关系中属性的子集 在一般情况下 虽然新关系中的元组属性减少了 但其元组 行 的数量与原关系保持不变 例如 需要了解学生选课情况而不关心其成绩时 可对学生选课成绩表 SC 进行相关的投影操作 其结果的每个元组仅包括学 SNO 课程号 CNO 两个属性 关系数据模型 专门的关系操作 连接是一个二元操作 它基于共有属性把两个关系组合起来 连接操作比较复杂并有较多的变化 例如 学生登记表 S 和学生选课成绩表 SC 的连接 生成一个信息更全面的关系 对于已选课程的学生而言 结果关系包含SC表原来的信息 并增加了该学生选修课程号 CNO 和成绩 GRADE 关系数据模型 关于 关系代数 的操作 对于以上所介绍的关系操作 在理论上均可用一种称之 关系代数 的逻辑运算来表示 参阅第6章阅读材料6 5 设有关系R和关系S 关系代数的操作有 关系数据库语言SQL 关系数据库语言SQL特点 是一种 非过程语言 体现关系模型在结构 完整性和操作方面的特征 有命令和嵌入程序两种使用方式 功能齐全 简洁易学 使用方便 为主流DBMS产品所支持 用户只要指出 做什么 而 如何做 的过程由DBMS完成 命令式 直接用语句操作嵌入式 将语句嵌入程序 ORACLE MS SQLServer SybaseDB2 Access VFP有接口 关系数据库语言SQL 关系数据库语言SQL3级体系结构 用户看到的关系模式主要是视图 系统的全局关系模式是基本表 系统的存储结构是文件 关系数据库语言SQL SQL的数据查询查询是数据库的核心操作 SQL提供SELECT语句 具有灵活的使用方式和极强查询的功能 关系操作中最常用的是 投影 选择和连接 都体现在SELECT语句中 SELECTA1 A2 AnFROMR1 R2 Rm WHEREF SELECT语句语义为 将FROM子句所指出的R 基本表或视图 进行连接 从中选取满足WHERE子句中条件F的行 元组 最后根据SELECT子句给出的A 列名 将查询结果表输出 指出目标表的列名 相应于 投影 指出基本表或视图 相应于 连接 F为 选择 操作的条件 关系数据库语言SQL 单表查询从指定的一个表中找出符合条件的元组 例如 查询所有男学生名的情况 SELECT FROMSWHERESEX 男 关系数据库语言SQL 连接查询一个查询同时涉及两个以上的表 称连接查询 是关系数据库中最主要的查询 例如 查询每个男学生及其选修课程的情况 要求列出学生名 系别 选修课程名及成绩 SELECTSNANE DEPART CNAME GRADEFROMS C SCWHERES SNO SC SNOANDSC CNO C CNOANDS SEX 男 查询涉及S C和SC三个表 S和SC表通过SNO作连接 C和SC表通过CNO来实现连接 关系数据库语言SQL SQL的视图视图是DBMS所提供的一种由用户观察数据库中数据的重要机制 视图可由基本表或其他视图导出 它与基本表不同 视图只是一个虚表 在数据字典中保留其逻辑定义 而不作为一个表实际存储数据 SQL用CREATEVIEW语句建立视图 其格式为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年英语教师学期工作总结模版
- 放学后班级管理
- 软件培训课件制作规范
- 湖北省恩施州鹤峰县2025届七年级数学第二学期期末检测模拟试题含解析
- 2025届湖北省武汉市新观察八年级数学第二学期期末监测模拟试题含解析
- 大学生职业规划大赛《建筑电气与智能化专业》生涯发展展示
- 大学生职业规划大赛《新能源材料与器件专业》生涯发展展示
- 动态护理查房
- 小儿常见急症护理
- 公司培训系统构建与实施
- 2025年新音乐节明星艺人歌手演出场费报价单
- (一模)青岛市2025年高三年级第一次适应性检测英语试卷(含标准答案)+听力材料
- 70岁老年人三力测试能力考试题库附答案
- 交通中国知到智慧树章节测试课后答案2024年秋上海工程技术大学
- 2025年《中央一号文件》参考试题库资料100题及答案(含单选、多选、判断题)
- GB/T 28185-2025城镇供热用换热机组
- 川教版(2019)小学信息技术四年级下册 第二单元第3节《图文并茂》教学设计及反思
- 烹饪原料知识试题库(附参考答案)
- 主动刹车防撞系统说课
- 2025年国家电网陕西省电力公司招聘笔试参考题库含答案解析
- 技术支持与服务保障措施
评论
0/150
提交评论