第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)相关推荐

  1. 哈尔滨工业大学-数据库系统(基本知识与关系模型2)

    第5讲-关系模型之关系演算 什么是关系元组演算 存在量词 与 全称量词 元组变量t前有存在量词或全称量词,则该变量被称为 约束变量 ,否则 自由变量 等价变换 四个典型示例 用元组演算实现关系代数操作 ...

  2. 数据库基本知识与关系模型

    第一讲 初步认识数据库系统 1.什么是数据库DB? Database:相互之间有关联关系的Table的集合. 2.什么是数据库管理系统DBMS? DBMS:管理数据库的一种系统软件.如SQLServe ...

  3. 【数据库系统】再谈关系模型和关系型数据库

    关系模型是简洁的,它的简洁性源自集合论,这既是优点也是缺点. 数学的基础使得关系模型是描述性而不是过程性的,用户需要声明想要从数据库中得到什么而不是怎样找到这些信息,RDBMS知道该怎么去做. 问题变 ...

  4. 数据库系统概念 - 数据模型,关系模型,关系,候选码,主码,外码

    目录 什么是数据模型 什么是关系模型 什么是关系 候选码 Candidate Key 主码 Primary Key 外码 Foreign Key 什么是数据模型 模式是对数据的结构的抽象,模型是对模式 ...

  5. 哈工大数据库系统(上):关系模型之基本概念(三)课后测验与作业

    文章目录 前引 第三章课后习题 前引 这段时间每天看三章吧 感觉现在又是进入全理论的感觉了 有点刚开始学计算机网络那味了 但是后面应该还是有很多编程作业吧 还要再介绍SQL语言 待会把习题做了 早点回 ...

  6. 【数据库系统】第三讲 关系模型的基本概念

    3.1 关系模型概述 1.关系模型的提出 2.关系模型的研究内容 一个关系就是一个Table 关系模型就是处理Table的,由三部分组成: 描述DB各种数据的基本结构形式(Table/Relation ...

  7. 哈尔滨工业大学-数据库系统(基本知识与关系模型3)

    第7讲 SQL语言之复杂查询与视图(暂略) 701-IN子查询 第8讲 SQL语言与数据库完整性和安全性(暂略) 第11讲 数据建模:思想与方法 1104-什么是E-R模型 1105-实体与实例 一类 ...

  8. sqlserver战德臣_数据库系统设计课程最新版 数据库系统上中下三部(哈尔滨工业大学 战德臣教授主讲)...

    数据库系统设计课程最新版 数据库系统上中下三部(哈尔滨工业大学 战德臣教授主讲) 1.JPG (58.27 KB, 下载次数: 1) 2018-3-13 12:02 上传 2.JPG (57.47 K ...

  9. ACL-BioNLP 2020 | 耶鲁大学实践成果:生物医药知识图谱嵌入模型基准测试

    今天给大家介绍的是耶鲁大学医学信息学中心主任Brandt教授实验室和爱丁堡大学的博士生联合发表在ACL-BioNLP 2020发表的文章"Benchmark and Best Practic ...

最新文章

  1. Delphi下利用WinIo模拟鼠标键盘详解
  2. Vue安装配置以及入门案例
  3. JavaScript---事件详解
  4. 释疑の字段符号 FIELD-SYMBOLS
  5. 2019 最新蚂蚁花呗Java三面题目:红黑树+并发容器+CAS+Solr+分布式等
  6. think python下载 中文版开源!这或许是最经典的编程教材
  7. 【C语言笔记进阶篇】第一章:指针进阶
  8. C#常用操作类库一(验证类)
  9. qt动画实现抖动和下坠
  10. 第二十届全国中小学电脑制作活动通知
  11. 控制理论个人学习笔记-非线性系统理论
  12. 揭密Emulex SAN光纤云存储网关的概念
  13. what to benefit from the C++14 Standard
  14. 三条中线分的六个三角形_三角形三条中线的交点叫什么
  15. Spring Data 数据库建模最佳实践
  16. Unity开发手游在Android平台的内存优化
  17. 主板显卡服务器维修,【转】电脑主板待机供电和显卡供电电路的维修
  18. QT5.9用自定义字体修改qlabel字体、大小以及颜色
  19. 现阶段云计算的市场运用
  20. 大佬们抖音带货流水都过亿 普通人有什么抖音变现的好方式

热门文章

  1. 【力荐】ABAP常用DEBUG调试代码的八种方式
  2. 批量显示JOB Log
  3. 还找不到数据异常原因?这份教程赶快拿走
  4. 永洪科技携手华为构建金融智慧运营与商业智能方案,解决金融敏捷分析难题
  5. 数据分析精华经验分享,看看冠军是如何炼成的?
  6. 从《我要投资》,看麓谷基金广场的“孤峰优势”
  7. php 表单搜索,wordpress的搜索表单searchform.php
  8. redis集合数据过期_关于redis性能问题分析和优化
  9. mysql nan_mysql在工作中的积累
  10. Python 使用穷举法求两个数的最大公约数。