数据库期末复习之概念篇(双语)


概述

基本概念

数据库:DB
数据库管理系统:DBMS
数据库系统:DBS
元数据:metadata
数据字典:data dictionary


两种数据管理方法

  • file system method
  • database method

drawback of the file system
Data redundancy and inconsistency(数据冗余和不一致性)
Difficulty in accessing data(访问数据困难)
Data isolation — multiple files and formats (数据孤立)
Integrity problems(完整性问题)
Atomicity problem(原子性问题)
Concurrent- access anomaly(并发访问异常)
Security problem(安全性问题)

数据模型(data model)

三要素

  • Data Structure (数据结构)
  • Data Constraints (数据约束)
  • Data Operations(数据操作)

数据模型分类:

  • 概念数据模型(conceptual data model) (高层模型)
    • a. 实体联系模型(entity-relationship model)
      • entity,attribute,relationship
    • 对象数据模型(object data model)
      • 类:泛化,关联,依赖,实现
      • 对象:类的实例,链接,聚合
  • 表示型或实现型模型:中间层模型
    关系数据模型(rational data model)目前主要的数据库模型
    网状模型(network model) 已经过时
    层次模型(hierarchical model) 已经过时
  • 物理数据模型(physical data model):低层模型

Three-Schema Architecture and Data Independence

  • 外模式(external schema)
  • 概念模式(conceptual schema)
  • 内模式(internal schema)

两级映射(mapping)

Database Instance and Database Schema

数据库模式(Database Schema)
数据库的描述是数据库模式
数据库模式也称为数据库的内涵(Database Intension)
数据库模式是在设计过程中指定的,不会经常改变!

数据库实例(Database Instance)
某一时刻数据库中的数据是数据库实例
数据库实例也称为数据库的外延(Database extension)
数据库实例也称为数据库的状态(Database State)
数据库实例会经常发生变化(对数据库的CRUD操作!)

数据库语言

  • 数据操纵语言 (Data Manipulation Language , DML)

    • 过程化 DML (procedural DML) :要求用户指定需要什么数据以及如何获得这些数据
    • 声明式 DML (declarative DML): 也称为非过程化 DML ,只要求用户指定需要什么数据, 而不指明如何获得这些数据
  • 数据定义语言(Data-Definition DQJ Language , DDL)
    consitency constraint
    Domain Constraints
    Referential Integrity
    Assertions(每个学期一个系至少开设5门课)
    Authorization

Transaction Management(事务管理)

transaction:a collection of operations that performs a single logical function in a database application
Transaction-management component ensures that the database remains in a consistent (correct) state despite system failures (e.g., power failures and operating system crashes) and transaction failures.
Concurrency-control manager controls the interaction among the concurrent transactions, to ensure the consistency of the database.

ACID

  • Atomicity(原子性):整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。
  • consistency(一致性):一个事务可以封装状态改变(除非它是一个只读的)。事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少
  • durability(持久性):在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
  • Isolation(隔离性):隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间内,执行相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防止事务操作间的混淆,必须串行化或序列化请求,使得在同一时间仅有一个请求用于同一数据。

Database System Architecture(数据库体系结构)

  • Centralized (集中式)
  • Client-server (客户-服务器式)
  • Parallel computer architectures(并行)
  • Distributed databases(分布式)
    System structure系统体系结构

two-tier/three- tier architecture

三层添加了应用服务器,更适合大型应用


关系模型

关系数据库结构(Data Structure)

关系模型的基本数据结构——关系(relation)

  • 元组(turple)
    码:
    • 超码(superkey) 是一个或多个属性的集合,这些属性的组合可以使我们在一个关系中唯一地标识 一个元组
    • 最小超码称为候选码
    • 主码( primary key) :被数据库设计者选 中的 、 主要用来在一个关系中区分不 同元组的候选码
    • 外码(Foreign Key) :一个关系模式(如 rl )可能在它的属性中包括另一个关系模式(如川的主
  • 属性(Attribute)
    属性的域(domain):null,原子性

关系模型表示方法

关系(Relation):关系模式 R(A1, A2, …, An) 的一个关系 r ,可以表示成 r ( R)
是一个 n 元元组的集合(具有m个元素),即 r = {t1,t2,…tm}
关系实例 r = {t1,t2,…tm} 中元组的个数 m 称为关系 r 的基数(cardinality)
每个 n 元元组 ti 是 n 个值的有序列表 ti = <V1,V2,…Vn >
值 Vi (1<= i <=n) 是 dom(Ai) 中的一个元素或者是一个特殊的空值(NULL)

关系模式(Relational Database Schema) ≡ 关系内涵(relation intension)
关系实例 ≡ 关系状态(Relational Database State) ≡关系外延(relation extension)

关系模式的解释

关系模式可以解释成一个声明或者一种断言 (assertion)
关系模式的另一种解释是作为一个谓词( predicate )函数(函数返回True或者False), 每个元组中的值被解释为满足(satisfy) 此谓词的值。(closed world assumption)

关系数据库约束(Relational Model Constraints)

  • 数据模型中固有的约束
    • 固有的基于模型的约束( inherent model-based constraint)
    • 隐式约束( implicit constraint)
  • 在数据模型的模式中直接表示的约束
    • 基于模式的约束(schema-based constraint)
    • 显式约束(explicit constraint)
    • 通常用DDL(数据定义语言)加以定义
  • 不能在数据模型的模式中直接表示的约束
    • 基于应用的约束( application-based constraint )
    • 语义约束( semantic constraint)
    • 业务规则(business rule)
    • 由应用程序(或者数据库触发器、断言)表示和执行

关系数据库操作(Relational Model Data Operations)

Main Relational Operations

  • 选择σ:σp(r) = { t | t ∈r and p(t) }
  • 投影Π:∏A1, A2Ak(r)
    Duplicate rows removed from result, since relations are sets
  • 连接 : r x s = { tq | t ∈ r and q ∈ s}
  • 重命名ρ:ρX(A1, A2 , …., An)(E)
  • 关系上的集合运算:∪、- 等

ER模型

Entity: a “thing” or “object” in the enterprise that is distinguishable from other objects

  • Described by a set of attributes

Entity Set: The set of all entities of the same type
Relationship: an association among several entities
Relationship Set:the set of all relationships of the same type

attribute

分类

  • Mandatory Attribute(必要属性),Optional Attribute(可选属性)
  • Simple Attribute(简单属性),composite Attribute(复合属性)
  • single-valued(单值属性),multivalued(多值属性)
  • Stored Attribute(存储属性),Derived Attribute(派生属性)
  • Complex Attribute(复杂属性)

null
表示不适用;表示值存在,但目前是缺失的 ;表示值存不存在不知道(介于前面的两者之间)
Three-valued logic(三值逻辑)

entity

Identifier(标识符):用于唯一标识实体类型中每个实体实例的一个或一组属性

Relationship

degree:参与联系集的实体集的数目称为联系集的度。

mapping cardinality:映射基数表示一个实体通过一个联系集能关联的实体的个数。

associative entity:关联实体
*何时使用关联实体( associative entity)建模联系及其属性(判定条件)*
1 )参与构成联系的实体类型之间是"多对多"的联系。
2 )关联实体类型对最终用户有独立意义并能通过单一属性标识符标识该关联实体。
3 )除标识符属性外,关联实体还有一个或多个其他属性。
4 )关联实体可以参与一个或多个联系,但联系本身独立于与其相关的所有关联实体。

Role:递归(recursive) 联系;实体之间的多种联系

Constraints(约束)

码约束

  • 实体集的码(候选码、主码、备选码)
  • 联系集的主码:联系集的主码结构依赖于联系集的映射基数(不同的要重命名,多方成为联系的主码,有基数的限制,)

联系集的多重性

  • 最大基数约束(映射基数):一对一,一对多,多对一,多对多
  • 最小基数约束(参与约束): 全部参与(total,也称为强制force),部分参与(partial,也称为可选option)
  • 业务规则的语法: 实体a–>最小基数–>联系–>最大基数–>实体b

强实体类型(Strong Entity Type)和弱实体类型(Weak Entity Type)

弱实体类型所依赖的实体类型称为标识属主实体(Identifying Owner Entity)
弱实体可以有自己的分辨符(Discriminator)属性
弱实体的完整标识符由自身的分辨符属性与它所依赖的属主实体的标识符联合组成

扇形陷阱(Fan Traps)& 断层陷阱(Chasm Traps)

Extended E-R (EER)

  1. 特化( Specialization):自顶向下( top-down )的设计过程
  2. 概化(Generalization):一个自底向上( bottom-up)的设计过程
  3. 继承( Inheritance )
  • 属性继承(attribute inheritance)
  • 联系继承(inherits participation in the relationship sets)
  1. 概化上的约束
  • 第一类约束:判定哪些实体能成为给定低层实体集的成员
    条件定义的( condition-defined ),用户定义的(user-defined)
  • 第二类约束:概化中一个实体是否可以属于多个低层实体集
    重叠(overlapping),不相交(disjoint)
  • 第三类约束:对概化的完全性约束
    全部概化(特化),部分概化(特化)
    注意区分2 3
    区分
  1. 聚集( Aggregation ) :一种描述多元关系的抽象,通过这种抽象,联系被视为高层实体。

聚集
聚集

Entity-Relationship Design Issues

这个应该不考 不过我认为设计的时候这一点还是很重要的

  • 判断建模为实体集还是属性的原则:当描述发生在实体间的行为时采用联系集

  • 非二元联系可以用多个二元联系来更好地表示(有时候不行,用聚集)
    用实体集E替代联系R ,创建三个联系集RA,RB,RC

  • 一个联系的映射基数比率会影响联系属性的布局:

    • 多对多联系集的属性不能放到参与该联系的实体集中
    • 一对一联系集或一对多联系集的属性可以放到一个参与该联系的实体集中
    • 一对一联系集的属性可以放到任意一个参与联系的实体集中
    • 一对多联系集的属性仅可以重置到参与联系的"多"方的实体集中

常犯的错误:
用一个实体集的主码作为另一个实体集的属性,而不是用联系
将相关实体集的主码属性作为联系集的属性。

发布了16 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_39938635/article/details/89202028