database 23111

本文详细介绍了数据库设计中的ER建模,包括概念模型、逻辑模型和物理模型的要点。重点讲解了ER图的基础概念,如实体、属性、联系及其类型。此外,还涵盖了函数依赖、键属性、正常化过程,以及数据库索引、事务处理和并发控制的重要性。通过对不同正常形式的阐述,解释了如何避免数据冗余和异常。文章最后提到了SQL存储过程和触发器,以及NoSQL数据库的基本概念。
摘要由CSDN通过智能技术生成

在这里插入图片描述

Entity-relationship modeling

  1. 什么是ER modeling:该模型直接从现实世界中抽象出实体类型和实体间联系,然后用实体联系图(E-R图)表示数据模型,是描述概念世界,建立概念模型的实用工具。

概念模型

概念模型是对真实世界中的问题的事物的描述,不是对软件设计的描述。概念模型通常用ER图,ER图是由实体,属性和关系三个要素构成的。在ER图中三要素分成,实体集用矩形框表示,矩形框内写上实体名。实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—N或M—N。

逻辑模型

逻辑数据模型反映的是系统分析设计人员对数据储存的观点。是对概念数据模型进一步的分解和细分。

物理模型

物理模型是对真实数据库的描述。数据库中的一些对象:表,视图,字段,数据类型,长度,主键,外键,索引,是否可为空,默认值。概念模型到物理模型的转换是把概念模型中的对象转换成为物理模型的对象。

数据库ER图基础概念整理

  1. R图中关联关系有三种:

    1. 1对1(1:1) :1对1关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。

    2. 1对多(1:N) :1对多关系是指实体集A与实体集B中至少有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。

    3. 多对多(M:N) :多对多关系是指实体集A中的每一个实体与实体集B中至少有M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。

    a可能跟b有联系 用一个横线连接,如果a一定与b有联系用两个横线连接。

    例:在这里插入图片描述

  2. 一个weak entity:
    在这里插入图片描述
    在这里插入图片描述

  3. weak and strong entity:在这里插入图片描述

  4. ER Diagrams Vs. EER Diagrams:
    在这里插入图片描述

  5. Super vs Sub classes :

    Super Class:

    1. An entity type that has a relationship with one or more subtypes. 与一个或多个子类型有关系的实体类型。
    2. An entity cannot exist in a database merely by being a member of any super class。一个实体不能仅仅通过成为任何超类的成员而存在于数据库中
      Sub class
    3. A group of entities with unique attributes。具有唯一属性的一组实体
    4. Inherits properties and attributes from its super class。从其超类继承属性和属性
      在这里插入图片描述
  6. Specialisation and Generalisation:在这里插入图片描述
    在这里插入图片描述

  7. disjoint and overlap :
    disjoint 不相交的:有三种类型的车辆:汽车、卡车和摩托车。每辆车必须是其中的一辆。
    overlap : 赛道有三种类型:比赛、计时赛和对决。每个轨迹可以是其中的一个或多个。
    union : 一个赛车手可以是人,npc或幽灵。

functional dependency

  1. 函数依赖是数据库中某个关系中两组属性之间的约束。
  2. 规定一个关系R,在R中的一组属性X可以定义另一组在R中的属性Y。
  3. 写成:
    在这里插入图片描述
  4. 函数依赖优点:
    1. 函数依赖可以找到不同在好的database设计和坏的database设计中。
    2. 函数依赖避免了数据冗杂(data redundancy)。所以一些相同的数据不能出现在不同的位置。
    3. 避免数据冗杂可以阻止INSERT,UPDATE,DELETE异常(anomalies)。
    4. 维持数据质量
    5. 更清晰的意思和更清晰的约束。

Key Attributes

如果正确的设计database,everything will be dependent on the key( and only the key ).
在这里插入图片描述

Non Key Attributes

问题:surname有没有functional dependent on forename?
foremane - surname 否
问题:正确或否?
age - date of birth 是
问题:正确或否?
date of birth - age 是

抽象abstraction

在这里插入图片描述
R是一个table,table里面有A,B,C这三个属性。然后A决定B,B决定C。在这里插入图片描述

armstrong’s axioms

如果我们有一组函数依赖我们可以通过Armstrong 原子理论去推到另一组函数依赖。基本规则分为三类:自反性(reflexivity)、扩充性(augmentation)和传递(transitivity)。

  1. reflexivity:如果我们有AB,它是ABC的一个子集,那么ABC将确定AB,所以这意味着,给定一组属性ABC,我们就可以确定AB。
  2. augmentation : 如果A可以决定B,那么AC可以决定BC。
  3. transitivity : 如果A可以决定B,B可以决定C,那么A可以决定C。在这里插入图片描述

secondary rule

  1. union:如果A决定B,同时A可以决定C。我们可以结合BC,得出BC函数依赖A,BC are functionally dependent on A.在这里插入图片描述

  2. 伪传递性(Pseudo transitivity): A可以决定B,(B函数依赖A),BC决定D。那么CA可以决定D。在这里插入图片描述
    A决定B,同时乘上C,变成AC决定BC。然后代入下面。就得到CA决定D。

  3. decomposition : 分解。在这里插入图片描述

F+

根据Armstrong‘s Axioms和secondary rules 可以创造很多函数依赖(functio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值