西电计科院数据库系统课程期末复习笔记及实验报告

宣传

  • 西电本科找校内导师实习,导师选择请参考:研控—导师评价网
  • 学长亲踩雷坑,祝没有后来不幸者。

前言

博主是21级计科院的,数据库系统97分,这是期末复习期间整理的笔记,基本全部涵盖期末考试重点范围,有需要的学弟学妹可以作为参考

  • 详见文章主页 DataBase

文章目录

    • 宣传
    • 前言
    • 第一讲 数据库系统概述
      • 数据库基本概念
      • 数据库发展阶段
      • 数据模型
      • 数据库系统结构
    • 第二讲 关系模型
      • 关系数据结构
      • 关系代数
        • 传统集合运算
        • 专门关系运算
        • Practices
    • 第三讲 数据库完整性
      • 实体完整性
      • References
    • 第三讲 SQL概述
    • 第六讲 关系数据理论之规范化
      • 存在的问题
      • 数据依赖
        • 函数依赖 (Functional Dependency, FD)
      • 规范化
        • 规范化设计
        • 范式(Normal Form, NF)
        • 第一范式(First Normal Form, 1NF)
        • 第二范式(Second Normal Form, 2NF)
        • 第三范式(Third Normal Form, 3NF)
        • 修正第三范式(Boyce Codd Normal Form, BCNF)
    • Contributors

第一讲 数据库系统概述

数据库基本概念

{% message color:info title:数据库(DataBase,DB) %}

  • 概念: 长期存储在计算机内、有组织、可共享的数据集合
  • 特点: 永久存储、有组织、可共享
    {% endmessage %}

{% message color:info title:数据库管理系统(DataBaseManagementSystem,DBMS) %}

  • 概念: 专门用于管理数据库的软件
  • 组成: 相互关联的数据集合、访问数据的程序
    {% endmessage %}

{% message color:info title:数据库系统(DataBaseSystem,DBS) %}

  • 概念: 引入数据库之后的计算机系统
  • 特点: DBS = DB + OS + DBMS + App + DBA +Users
    {% endmessage %}

数据库发展阶段

  • 人工管理阶段
    • 数据不保存
    • 用户/应用程序管理数据
    • 数据不共享,不独立
    • 数据无结构
  • 文件系统阶段
    • 数据可以长期保存
    • 文件系统管理数据
    • 数据共享性差,冗余度大
    • 物理独立性好,逻辑独立性差
    • 记录内有结构,整体无结构
  • 数据库系统阶段
    • 数据可以永久保存
    • 数据由DBMS管理
    • 数据共享性高,冗余度小
    • 具有高度的物理独立性,较好的逻辑独立性
    • 统一数据模型,整体结构化

数据库管理系统采用外模式-模式-内模式三级模式,外模式/模式模式/内模式两级映像结构来实现的。

数据模型

  • 是数据及其联系在计算机中的表示和组织形式的描述
  • 组成三要素: 数据结构、数据操纵、数据完整性约束
  • 数据库模型
    • 概念模型

      • E-R图
    • 逻辑模型

      • 层次模型
        • 树状结构: 每个节点是基本单位称为记录,记录之间的联系以树形结构存储
        • 特点: 只能处理一对多联系,无法处理多对多联系
      • 网状模型
        • 网状结构(有向图): 记录之间的联系用连线表达,联系必须标注名称
        • 特点: 将多对多联系转换为多个一对多联系
      • 关系模型
        • 实体和联系都作为数据文件存储
    • 物理模型

数据库系统结构

  • 数据逻辑独立性:由外模式/模式映像保证(当模式改变,仅修改映像,即可保证外模式不变)
  • 数据物理独立性:由模式/内模式映像保证(当内模式改变,仅修改映像,即可保证模式不变)
西电计科院数据库系统课程期末复习笔记及实验报告_第1张图片

第二讲 关系模型

关系数据结构

关系模式: R ( U , D , D o m ( ) , F ) R(U, D, Dom(), F) R(U,D,Dom(),F) (简称: R ( U ) R(U) R(U))
其中, R R R 表示关系名, U U U 表示属性集, D D D 表示关系的域, D o m Dom Dom 表示属性到域上的映射关系, F F F 表示数据依赖

关系代数

  • 关系代数(Relational Algebra)是过程化的查询语言,是以集合为基础的运算表达式
传统集合运算
  • 并(Union): From the row angle
$R \cup S$={$t|t\in R\vee t\in S$}
  • 差(Difference): From the row angle
$R - S$={$t|t\in R\wedge t\notin S$}
  • 交(Intersection): From the row angle
$R \cap S$ = {$t|t\in R\wedge t\in S$}=$R-(R-S)$
  • 广义笛卡尔积(Cartesian Product): From the row angle
$R \times S$ = {$\widehat{t_rt_s}|t_r\in R\wedge t_s\in S$}

注: R: ( k 1 , n ) (k_1, n) (k1,n), S: ( k 2 , m ) ⟹ (k_2,m)\Longrightarrow (k2,m)R × \times ×S: ( k 1 + k 2 , n + m ) (k_1+k_2, n+m) (k1+k2,n+m)

专门关系运算
  • 选择(Selection): From the row angle
$\sigma_F(R)$ ={$t|t\in R\wedge F(t)=True$}
  • 投影(Projection): From the column angle
$\pi_A(R)$ = {$t[A]|t\in R$}
注: 选择出原关系中某些属性列,为避免重复,还可能会取消某些元组
  • 连接(Join): From the cross angle
$R\underset{A\theta B}{\bowtie} S$ = {$t_r\cup t_s|t_r\in R\wedge t_s\in S\wedge t_r[A]\theta t_s[B]$}
  • Solution Steps For θ \theta θ Join:
    • Step 1: 确定结果中的属性列
    • Step 2: 确定参与比较的属性列
    • Step 3: 逐一取R中的元组分别和S中与其符合条件的元组进行拼接
  • 等值连接(Equi-Join): θ \theta θ is “=”
$R\underset{A=B}{\bowtie} S$ = {$t_r\cup t_s|t_r\in R\wedge t_s\in S\wedge t_r[A]=t_s[B]$}
  • 自然连接(Natural Join): θ \theta θ is “=” and A s = B s As = Bs As=Bs which combines As and Bs columns avoiding repeated attributes(As, Bs means a column or multiple columns)
$R\bowtie S$ = {$t_r\cup t_s - t_s[B]|t_r\in R\wedge t_s\in S\wedge t_r[B]=t_s[B]$}
Practices
  • Used Tables

    • S Table = S(Sno, Sname, Ssex, Sage, Sdept)
      Sno Sname Ssex Sage Sdept
      95001 李勇 20 CS
      95002 刘晨 18 IS
      95003 王敏 18 MA
      95004 张立 19 IS
    • SC Table = SC(Sno, Cno, Grade)
      Sno Cno Grade
      95001 c1 92
      95001 c2 65
      95001 c4 88
      95002 c2 90
      95002 c5 73
  • SC × \times

你可能感兴趣的:(课程学习,数据库,笔记)