期末复习数据库 绪论与关系数据库

期末复习数据库 绪论与关系数据库

绪论

数据库的四个基本概念:

①数据:描述事物的符号记录。

②数据库:概括地讲,数据库数据具有永久存储、有组织和可共享的三个基本特点。

严格地讲:数据库是⻓期储存在计算机内、有组织的、 可共享的⼤量数据的集合。数据库中的数据按⼀定的数据模型组织、 描述和储存,具有较⼩的冗余度、较⾼的数据独⽴性和易扩展性,并可为各种⽤户共享。

③数据库管理系统:是位于⽤户和操作系统之间的⼀层数据管理软件 。和操作系统⼀样是计算机的基础软件。

主要功能:1、数据定义功能 2、数据组织、存储和管理 3、数据操纵功能 4、数据库的事务管理和运⾏管理 5、数据库的建⽴和维护功能 6、其他功能(通信功能,数据转换功能,互访和互操作功能等)

④数据库系统:是由数据库、数据库管理系统(及其应⽤开发⼯具)、 应⽤程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AL9QFZkw-1682150151389)(C:\Users\red\AppData\Roaming\Typora\typora-user-images\image-20230422113921371.png)]

数据库的发展阶段:(不重要)

1、⼈⼯管理阶段:数据不保存、不共享,不具有独⽴性。

2、⽂件系统阶段:可保存,但共享性差,冗余度⼤,独⽴性差。

3、数据库管理系统: 数据库系统的出现使信息系统从以 加⼯数据的程序为中⼼ 转向围绕 共享的数据库 为中⼼的新阶段 实现整体数据的结构化

  • 数据的共享性⾼、冗余度低且易扩充:
    • 数据共享可以⼤⼤减少数据冗余,节约存储空间
  • 数据独⽴性⾼:
    • 物理独⽴性:是指⽤户的应⽤程序与数据库中数据的物理存储是相互独⽴的。
    • 逻辑独⽴性:是指⽤户的应⽤程序与数据库的逻辑结构是相互独⽴的。
  • 数据由数据库管理系统统⼀管理和控制

数据模型:

两类数据模型:概念模型+逻辑模型和物理模型

(⼈们⾸先将现实世界抽象为信息世界,然后将信息世界转还为机器世界)

  1. **概念模型:**也称信息模型,它是按⽤户观点来对数据和信息建模,主要⽤于数据库设计。
  • 基本概念:

  • **实体:**客观存在并可相互区别的事物。

  • **属性:**实体所具有的某⼀特性。 ⼈的⿐⼦ 嘴巴

  • **码:**唯⼀标识实体的属性。 学号

  • **实体型:**⽤实体名及其属性集合来抽象和刻画同类实体。 含有⿐⼦和嘴巴的⼈

  • **实体集:**同⼀类型实体的集合。学校

  • **联系:**实体之间的联系通常是指不同实体集之间的联系。 实体之间的联系有⼀对⼀、⼀对多和多对多等多种联系。

  • **表示⽅法:**实体-联系⽅法。 ⽤E-R图来描述现实世界的概念模型,E-R⽅法也称为E-R模型。

  1. 逻辑模型: 高级语言代码 它是按计算机系统的观点对数据建模, 主要⽤于数据库管理系统的实现。

    包括:

  • 层次模型

  • ⽹状模型

  • 关系模型(第三章我们主要讲它)

物理模型: 0 1 代码集合 是对数据最底层的抽象,它描述数据在系统内部的表示⽅法和存取⽅法, 或在磁盘或磁带上的存储⽅式和存取⽅法,是⾯向计算机系统的。

  1. 联系:
  • **实体之间的联系:**通常是指不同实体集之间的联系。 实体之间的联系有⼀对⼀、⼀对多和多对多等多种联系。
  • **实体内部的联系:**通常是指实体各属性之间的联系

ER图

ER图分为实体、属性、关系三个核⼼部分。

实体是⻓⽅形体现,⽽属性则是椭圆形,关系为菱形。

常用的数据模型:

  • 层次模型
  • ⽹状模型
  • 关系模型
  • ⾯向对象数据模型
  • 对象关系数据模型
  • 半结构化数据模型
层次模型:
  1. 有且只有⼀个结点没有双亲结点,这个结点称为根结点。

  2. 根以外的其他结点有且只有⼀个双亲结点。

⽹状模型:
  1. 允许⼀个以上的结点⽆双亲。

  2. ⼀个结点可以有多于⼀个双亲。
    在这里插入图片描述

关系模型:

在这里插入图片描述

  • **关系:**⼀个关系对应通常说的⼀张表
  • **元组:**表中的⼀⾏
  • **属性:**表中的⼀列
  • **码:**也称码键,表中的某个属性组
  • **域:**是⼀组具有相同数据类型的值的集合
  • **分量:**元组中的⼀个属性

数据库系统的结构

  • 模式数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述, 不涉及具体的值。其⼀个具体值称为模式的⼀个实例。

  • 模式是相对稳定的,实例是相对变动的。

  • 三级模式结构:外模式+模式+内模式

    • 外模式:操作应用,面向用户。 也称⼦模式或⽤户模式,它是数据库⽤户(包括应⽤程序员和最终⽤户 )能够看⻅和使⽤的局部数据的逻辑结构和特征的描述,是数据库⽤户的数据视图, 是与某⼀应⽤有关的数据的逻辑表示。
    • 模式:?用户操控外模式访问? 也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有⽤户的公共数据
    • 内模式底层,面向数据库。 也称存储模式,⼀个数据库只有⼀个内模式。它是数据物理结构和存储⽅式的描述, 是数据在数据库内部的组织⽅式。
  • ⼆级映像: (模式/内模式/数据库 改变的时候,要保证外模式不变,就要二级映像做出相应的改变)

    • **外模式/模式映像:**当模式改变时,由数据库管理员对各个外模式/模式映像作相应改变, 可以使外模式保持不变。 应⽤程序不必修改。保证了数据与程序的逻辑独⽴性。
    • **模式/内模式映像:**当数据库的存储结构改变时,有数据库管理员对模式/内模式作相应改变,可以使模式保持不变 ,从⽽应⽤程序也不⽤改变。保证了数据与程序的物理独⽴性。
    • 数据与程序之间的独⽴性使得数据的定义和描述可以从应⽤程序中分离出去。 另外,由于数据的存取由数据库管理系统管理, 从⽽简化了应⽤程序的编制,⼤⼤减少了应⽤程序的维护和修改。

在这里插入图片描述

数据库系统的组成

  1. 硬件平台及数据库:⾜够⼤内存、磁盘或磁盘阵列等设备,较⾼的通道能⼒以提⾼数据的传

  2. 软件:数据库管理系统,⽀持数据库管理系统运⾏的操作系统, 具有与数据库接⼝的⾼级语⾔及其编译系统, 以数据库管理系统为核⼼的应⽤开发⼯具,为特定应⽤环境开发的数据库应⽤系统。

  3. ⼈员:开发、管理和使⽤数据库的⼈员主要包括数据库管理员、 系统分析员和数据库设计⼈员、应⽤程序员和最终⽤户。

数据库管理员职责:决定数据库中的信息内容和结构、决定数据库的存储结构和存取策略、 定义数据的安全性要求和完整性约束条件、 监控数据库的使⽤和运⾏、数据库的改进和重组、重构。

关系数据库

关系模式(了解即可)

  • 关系模式:对关系的描述
  • 那么什么是关系? 关系是⼀张表,⼀张⼆维表
  • 关系有哪些需要描述? P41
    1. 关系中有哪些属性
    2. 这些属性来⾃哪些域
    3. 属性与域之间的映射关系 可以形象地表示为 R(U,D,DOM,F) R:关系名 U:所有属性名 D:属性来⾃哪些域 DOM:属性和域的映射 F:属性间的依赖关系
  • 关系数据库: 关系数据库也有关系数据库模式

关系操作(具体请看后面)

  • 关系操作: 插⼊、查询、删除、修改 (后面代码演示)
    • 其中查询操作分为:选择、投影、连接、除法、并、差、交、笛卡尔积
    • 查询操作的基本操作:选择、投影、并、差、笛卡尔积

关系语言的分类

分为 关系代数语⾔(重点重点) 关系演算语⾔(不重要) SQL语⾔(后⾯重点讲)

关系代数语言

关系代数是⼀种抽象的查询语⾔,它⽤对关系的运算来表达查询。

三⼤要素:运算对象(关系)、运算符(集合运算符和专⻔的关系运算符)和运算结果(关系)

在这里插入图片描述

关系代数运算:5种基本运算:并,差,笛卡⼉积,选择,投影及交,连接,除。

在这里插入图片描述

在这里插入图片描述

  • A-B

在这里插入图片描述

笛卡尔积
  • RUS:R和S里面的东西都要有
  • R S:共同含有的
  • R-S:R有S没有的
  • R X S:R里面的每一行与S中的每一行进行操作
    • 第一行:首先把R表和S表的第一行拿过来 在此表示为R1 与 S1
    • 第二行:R1 S2
    • 第三行:R1 S3
    • 第四行:R2 S1
    • R2 S2
    • R2 S3
    • R3 S1
    • R3 S2
    • R3 S3

在这里插入图片描述

选择σ

在这里插入图片描述

例子:

在这里插入图片描述

  • 查询信息系(IS系)全体学生:

    • σSdept=‘IS’(Student)
    • 所对应的每个符号的意义:
      • 查询 所在系=‘信息系’ 在Student表中
  • 找到学分大于3的所有课程:

    • σCcredit>3(Course)
投影π

本来查的时候要查所有的字段,现在只要姓名和性别,就要用到投影了

在这里插入图片描述

在这里插入图片描述

连接
  • 分为(以此往下):
    • 自然连接
    • 外连接
    • 左外连接
    • 右外连接
      在这里插入图片描述
自然连接

把共同属性进行等值连接,把R和S里面的所有属性名都放在一起

步骤:

  1. 首先先观察,R和S有公共属性B,D
  2. 然后找里面一样的,发现有

RBD1 SBD 1

RBD1 SBD 3

RBD4 SBD 1

RBD4 SBD 3

RBD5 SBD 4

  1. 然后和笛卡尔积一样的方式,直接相接,写入R∞S

在这里插入图片描述

悬浮元组

(Dangling tuple)两个关系R和S在做⾃然连接时,关系R中某些元组有可能在S中不存在公共属性上值相等的 元组==(RBD2 )==, 从⽽造成R中这些元组在操作时被舍弃了,这些被舍弃的元组称为悬浮元组。

  • 外连接(Outer Join) 如果把悬浮元组也保存在结果关系中,⽽在其他属性上填空值(Null),就叫做外连接
  • 左外连接(LEFT OUTER JOIN或LEFT JOIN) 只保留左边关系R中的悬浮元组
  • 右外连接(RIGHT OUTER JOIN或RIGHT JOIN) 只保留右边关系S中的悬浮元组

右外连接举例:

在这里插入图片描述

保留R中满足S的,而且R中列要去掉S的列

举例:

步骤:

  1. 先去掉R中的S中没有R中有的 这里是计算机
  2. 再去掉S的列 这里是选修课程这一列

在这里插入图片描述

步骤:

  1. 只看B C
  2. 找到不满足SBC1 SBC2 SBC3的并去掉
  3. 最后只剩下RABC1 RABC4 RABC7
  4. 在R中删除S中所含有的列 即B C D
  5. 最后只剩下A a1

在这里插入图片描述

关系完整性
  1. 实体完整性
  • 主码唯一且非空
  1. 参照完整性
  • 外码要么为空,要么对应另一表的主码
  1. 用户定义完整性
  • 你自己写的要完整,比如学号多少,姓名,班级,专业之类
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值