哈尔滨工业大学-数据库系统(基本知识与关系模型1)
第1讲-初步认识数据库系统
什么是数据库
关系中的概念 :
表 / 关系
表名 / 表标题(格式) / 表内容(值)
列 / 字段 / 属性 / 数据项
行 / 元组 / 记录而 数据库(Database)就是 相互有关联关系的若干Table的 集合
什么是数据库系统
数据库系统(工作环境):
数据库DataBase(DB)
数据库管理系统DBMS
数据库应用DBAP
数据库管理员DBA
计算机基本系统
- 区别 :
- 数据库系统是一个这样的大的环境
- 而 数据库管理系统 只是一个管理数据库的一个软件
什么是数据库管理系统(用户角度)
用户角度看数据库管理系统的功能
- 数据库定义 :数据定义语言DDL;定义数据库中Table的名称、标题
- 数据库操作 :数据操纵语言DML;向数据库的Table中增、删、改、查
- 数据库控制 :数据控制语言DCL;控制数据库中数据的使用-哪些用户可以使用,哪些不可以
- 数据库维护 :一系列程序(实用程序/例行程序);转储/恢复/重组/性能检测/分析
数据库语言
- 使用者通过数据库语言利用DBMS操作数据库
- SQL语言 :结构化的数据库语言
- SQL语言 分为 DDL、DML、DCL
- 一条数据库语言语句相当于高级语言的一个或多个循环程序
- 数据库语言可以嵌入到高级语言(宿主语言)中使用 -> 嵌入式数据库语言
什么是数据库管理系统(系统角度)
从系统实现角度看DBMS的功能
- DBMS为完成DB管理,在后台运行着一系列程序
- DBMS系统可越过 操作系统 直接管理
第2讲-数据库系统的结构抽象与演变
数据库系统的标准结构
数据 与 数据的结构-模式
- 模式Schema :数据的结构
对数据库中数据所进行的一种结构性的描述
所观察到数据的结构信息 - 视图View/数据Data :展现的数据
某一种表现形式下表现出来的数据库中的数据
三级模式两层映像
两层映像 :
- E-C Mapping :将外模式映射为概念模式;从而支持实现 数据概念视图 向 外部视图 的转换;便于 用户观察和使用
- C-I Mapping :将概念模式映射为内模式;从而支持实现 数据概念视图 向 内部视图 的转换;便于 计算机进行存储和处理
两个独立性
- 逻辑数据独立性 :当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需改变应用程序
- 物理数据独立性 :当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping),从而无需改变外部模式
什么是数据模型
三大经典数据模型
- 关系模型 : 表 的形式组织数据
- 层次模型 : 树 的形式组织数据
- 网状模型 : 图 的形式组织数据
关系模型
层次模型
网状模型
数据库系统的演变与发展
- 由 层次模型数据库、网状模型数据库 到 关系数据库
层次模型与网状模型数据库 :数据之间的关联关系由复杂的指针系统来维系
关系数据库 : 数据之间的关联关系由Table中属性的值来表征,结构描述简单 - 由 关系数据库 到 对象关系数据库、面向对象数据库
关系数据库 :按行按列形式组织数据 :关系的第1范式;数据项的不可再分;关系运算 :关系代数、元组演算、域演算 -> 标准SQL
面向对象数据库 :O-O 与 SQL 的结合;支持复杂的数据类型(行对象、列对象、结构对象、聚集对象),数据封装与抽象数据结构;类、继承、封装、多态
XML数据库 :半结构化数据库 ;数据交换;数据 与 数据的语义
第3讲-关系模型之基本概念
什么是关系模型
- 关系模型的三个要素 :基本结构、基本操作、完整性约束
- 关系运算 :关系代数和关系演算
- 关系演算 :元组演算 和 域演算
- 关系代数 :基于集合的运算,即,操作的对象及结果都是集合
- 元组演算 :基于逻辑的运算
- 域演算 :基于示例的运算
什么是关系
- “列”的取值范围“域” :一组值的集合,这组值具有相同的数据类型;集合中元素的个数称为 域的基数
- “元组”及所有可能组合成的元组 :笛卡尔积;笛卡尔积是由n个域形成的所有可能的n-元组集合;若DiD_iDi的基数为mim_imi,则笛卡尔积的基数,即元组个数为m1∗m2∗m_1*m_2*m1∗m2∗
- 由于笛卡尔积中的所有元组并不都是有意义的,因此:关系 :一组域的笛卡尔积的子集
关系有什么特性
- 列是同质
- 理论上, 关系 的任意两个元组不能完全相同;现实应用中, 表Table 可能并不完全遵守
- 属性不可再分特性 :又被称为 关系第一范式(前面有举例(不能是 聚集对象 之类的))
候选码与外码
- 候选码/候选键 :关系中的一个 属性组 ,其值能唯一标识一个元组;若从该属性组中去掉任何一个属性,它就不具有这一性质了;有时,关系中有很多组候选码
- 主码/主键 :当有多个候选码(也就是说有很多组)时,可以选定一个作为主码;DBMS以主码为主要线索管理关系中的各个元组
- 主属性 :包含在 任何一个 候选码中的属性;而其他属性被称作 非主属性;最极端的,所有属性构成这个关系的候选码,称为 全码(例如,关系“教师授课”)
- 外码/外键 :不是本关系的候选码,但它与另一个关系的候选码相对应;两个关系通常是靠外码连接起来的(例如,关系”合同“中的客户号)
关系模型的完整性
- 空值 :不知道、不存在或无意义的值
- 参照完整性 :如果关系R1的外码Fk与关系R2的主码Pk相对应,则R1中的每一个元组的Fk值或者等于R2中某个元组的Pk值,或者为空值
- 用户自定义完整性 :用户针对具体的应用环境定义的完整性约束条件
第4讲-关系模型之关系代数
什么是关系代数
- 基于集合
- 基本操作(并、差、笛卡尔积(广义积)、选择、投影和更名);扩展操作(交、连接、关系除)
并相容性的概念
- 某些关系代数操作,需满足“并相容性”
- 关系R与关系S存在相容性 当且仅当 :
1)属性数目相同
2)关系R的第i个属性的域必须和关系S的第i个属性的域相同
并操作
- R U S
- 满足并相容
- 在合并时去掉重复的元组
- “或者。。或者。。” 通常意义是 并运算 的要求
差操作
- R - S
- 满足并相容
- 出现在R中 但不出现在S中
- “是。。但不含。。” 通常意义是 差运算 的要求
广义笛卡尔积操作
- R X S
- 关系R与关系S的( 广义笛卡尔积 广义积 积 笛卡尔积) 也是一个关系
- 由关系R中的元组 与 S的元组 进行所有可能的拼接构成
选择操作
- 关系R,同时给一个选择的条件,选择运算结果也是一个关系
- 从关系R中选择出满足给定条件的 元组 构成
- 条件书写很重要,注意运算符的优先次序,从高到低为 括弧;比较;非;交;并
投影操作
- 关系R,投影运算结果也是一个关系
- 从关系R中选出属性包含在条件A中的 列 构成
交操作
- R ^ S
- 满足并相容
- 交运算可以通过差运算来实现 :R^S=R-(R-S)
- “既。。又。。” 通常意义是 并运算 的要求
theta-连接操作
- 投影和选择操作只是对单个关系(表)进行操作,对多个表之间操作就需要theta-连接操作
- 关系R和关系S的theta-连接 由 关系R和S的 笛卡尔积 中,选取 R中属性A 与 S中属性B 之间满足theta条件的 元组构成
等值连接
- 由关系R和关系S的笛卡尔积中选取R中属性A与S中属性B上 值相等 的元组构成
- 当theta-连接中运算符为“=”时,就是等值连接
自然连接操作
- 由关系R和关系S的笛卡尔积中选取 相同属性组B上值相等 的元组构成
- 自然连接是一种特殊的 等值连接
- 要求R和S必须由相同的属性组,值也必须相等 才可以连接
- 连接后去除重复的列
应用关系代数操作训练
- 第二个方案中,做了自然连接以后,还是原先三个属性,因此,仍然是不行的
除操作
外连接操作
哈尔滨工业大学-数据库系统(基本知识与关系模型1)相关推荐
- 哈尔滨工业大学-数据库系统(基本知识与关系模型2)
第5讲-关系模型之关系演算 什么是关系元组演算 存在量词 与 全称量词 元组变量t前有存在量词或全称量词,则该变量被称为 约束变量 ,否则 自由变量 等价变换 四个典型示例 用元组演算实现关系代数操作 ...
- 数据库基本知识与关系模型
第一讲 初步认识数据库系统 1.什么是数据库DB? Database:相互之间有关联关系的Table的集合. 2.什么是数据库管理系统DBMS? DBMS:管理数据库的一种系统软件.如SQLServe ...
- 【数据库系统】再谈关系模型和关系型数据库
关系模型是简洁的,它的简洁性源自集合论,这既是优点也是缺点. 数学的基础使得关系模型是描述性而不是过程性的,用户需要声明想要从数据库中得到什么而不是怎样找到这些信息,RDBMS知道该怎么去做. 问题变 ...
- 数据库系统概念 - 数据模型,关系模型,关系,候选码,主码,外码
目录 什么是数据模型 什么是关系模型 什么是关系 候选码 Candidate Key 主码 Primary Key 外码 Foreign Key 什么是数据模型 模式是对数据的结构的抽象,模型是对模式 ...
- 哈工大数据库系统(上):关系模型之基本概念(三)课后测验与作业
文章目录 前引 第三章课后习题 前引 这段时间每天看三章吧 感觉现在又是进入全理论的感觉了 有点刚开始学计算机网络那味了 但是后面应该还是有很多编程作业吧 还要再介绍SQL语言 待会把习题做了 早点回 ...
- 【数据库系统】第三讲 关系模型的基本概念
3.1 关系模型概述 1.关系模型的提出 2.关系模型的研究内容 一个关系就是一个Table 关系模型就是处理Table的,由三部分组成: 描述DB各种数据的基本结构形式(Table/Relation ...
- 哈尔滨工业大学-数据库系统(基本知识与关系模型3)
第7讲 SQL语言之复杂查询与视图(暂略) 701-IN子查询 第8讲 SQL语言与数据库完整性和安全性(暂略) 第11讲 数据建模:思想与方法 1104-什么是E-R模型 1105-实体与实例 一类 ...
- sqlserver战德臣_数据库系统设计课程最新版 数据库系统上中下三部(哈尔滨工业大学 战德臣教授主讲)...
数据库系统设计课程最新版 数据库系统上中下三部(哈尔滨工业大学 战德臣教授主讲) 1.JPG (58.27 KB, 下载次数: 1) 2018-3-13 12:02 上传 2.JPG (57.47 K ...
- ACL-BioNLP 2020 | 耶鲁大学实践成果:生物医药知识图谱嵌入模型基准测试
今天给大家介绍的是耶鲁大学医学信息学中心主任Brandt教授实验室和爱丁堡大学的博士生联合发表在ACL-BioNLP 2020发表的文章"Benchmark and Best Practic ...
最新文章
- Delphi下利用WinIo模拟鼠标键盘详解
- Vue安装配置以及入门案例
- JavaScript---事件详解
- 释疑の字段符号 FIELD-SYMBOLS
- 2019 最新蚂蚁花呗Java三面题目:红黑树+并发容器+CAS+Solr+分布式等
- think python下载 中文版开源!这或许是最经典的编程教材
- 【C语言笔记进阶篇】第一章:指针进阶
- C#常用操作类库一(验证类)
- qt动画实现抖动和下坠
- 第二十届全国中小学电脑制作活动通知
- 控制理论个人学习笔记-非线性系统理论
- 揭密Emulex SAN光纤云存储网关的概念
- what to benefit from the C++14 Standard
- 三条中线分的六个三角形_三角形三条中线的交点叫什么
- Spring Data 数据库建模最佳实践
- Unity开发手游在Android平台的内存优化
- 主板显卡服务器维修,【转】电脑主板待机供电和显卡供电电路的维修
- QT5.9用自定义字体修改qlabel字体、大小以及颜色
- 现阶段云计算的市场运用
- 大佬们抖音带货流水都过亿 普通人有什么抖音变现的好方式