• 数据库基础知识


    数据联系的描述:

       联系是指实体与时之间的关系。与一个联系有关的实体集个数,称为联系的元数。例如:联系有一元联系、二元联系和三元联系等。

    二元联系中的三种联系:

       一对一联系(简记为1:1)

       一对多联系(简记为1:n)

       多对多联系(简记为m:n)

    数据模型

    数据模型是指客观事物及其联系的数据描述,或者说数据模型表了数据库中的组织形式及数据所代表的意义。

    20世纪70年代,美国国家标准化协会(ANSI)根据数据抽象的级别定义了四种模型,即概念数据模型、逻辑数据模型、外部数据模型、内部数据模型。

    概念模型的设计:

    l         现在普遍采用实体联系模型(Entity Relationship, ER)来表示概念模型。E-R模型以图形来表示实体及其联系,因而也可称ER模型为E-R图。

    E-R图中有三个基本成分:

    l         实体。用矩形框表示。

    l         联系。用菱形框表示。

    l         属性。用椭圆图形框表示。

    逻辑模型的设计:

           当今主流关系数据模型

    关系模型的基本概念:

    关系模型的两个显著特点,

    一是:数据结构简单表现为“二维表”,易懂易用

    二是:有坚实的理论基础,建立在关系代数基础之上。

    关系模型的概念:用二维表格表示实体集,用外键表示实体之间的联系的表格,就称为关系模型。

    在关系模型中,不论是实体集还是实体之间的联系,统一表现为二维表,这是关系数据模型的最大特点。

    1.         关系中的行称为元组

    2.         关系中的列称为属性

    3.         属性取值范围称为域

    4.         关系模式常采用以下简洁形式表示: 关系名(属性名1……

    5.         关系中的属性个数称为“元数”

    6.         元组的个数称为“基数”

    与键有关的概念:

    l         候选键:在关系中凡能惟一标识元组的属性(或属性集),称为关系模式的候选键。

    l         主键:用户从候选键中选做标识元组的属性(或属性集)称为主键。

    l         外键:如果关系模式R中属性K是其它关系的主键,那么KR中称为外键。

    约定:

    1.        在关系模式主键属性下面画一条线表示它是主键

    2.        在关系模式外键属性下面画一条线表示它是外键

    关系模型中的,规范化二维表:

    1.         关系中的每一个属性值都是不可分解的,即表中不能再套表。

    2.         同一关系中不允许出现相同的属性名

    3.         关系中没有重复的元组

    4.         由于关系是一个集合,因此不考虑元组间的顺序

    5.         关系中的属性在理论上也是无序的

    关系模型的三类完整性规则:

    ——完整性是指数据的正确性和一致性。

    1.         实体完整性规则(主键不为空)

    2.         参照完整性规则

    3.         用户定义完整性规则

    E-R模型的设计:

    采用E-R模型进行数据库概念设计可以分成三步进行:首设计局部E-R模型、然后把各局部E-R模型综合成一个全局E-R模型,最后对全局E-R模型进行优化,得到最终的E-R模型,即概念模型。

     

    设计局部E-R模型、设计全局E-R模型(注意一个实体类型在全局E-R图中只能出现一次、并尽力合并相关实体)、全局E-R模型的优化

     

    E-R图导出关系模型的基本原则如下:

    1E-R图中每个实体类型都应转换为一个关系模式,实体的属性为关系模式的属性,实体的标识符为关系模式的键。

    2E-R图中的联系类型比较复杂,需据不同情况做以下不同处理。

    l         两个实体类型之间一对一的联系(将两个实体类型分别转换为两个关系模式,可以在其中任意一个关系模式的属性中加入键及联系类型的属性)

    l         两个实体类型之间一对多的联系(将两个实体类型分别转换为两个关系模式,并在n端加入1端实体类型的键来实现一对多联系)

    l         两个实体类型之间多对多的联系(必须将“联系”也转换为模式,有来联系双方的实体。其属性为两端实体类型的键加上联系的属性,而将该关系模式的键为两端实体键的组合)

    l         两个以上实体之间的多对多联系,依据上面的原则逐步转化。

    关系代数:

    关系数据操纵语言建立在关系代数基础之上,关系代数是以关系为运算对象的一组运算集合。由于关系定义为属性个数相同的元组的集合,因此集合代数可以引入到关系代数中来。

    这里只讲专用的关系代数:

    1、投影

    投影操作是对一个关系进行垂直分割,消去某些列,并重新安排列的顺序。

    2、选择

     根据某些条件作水平分割,选取符合条件的元组。

    3、连接

     笛卡尔积:(RXS)确定最后的元组个数RxS,及R+S个元数

     ⊙连接和F连接:从RXS的元组中取出满足操作的元组

    4、自然连接

     要求被连接的两个关系有若干相同的属性名(先作RXS操作再作,选择和投影操作)

    关系规范化:

    关系模式的冗余和异常问题:

    数据冗余是指同一数据在系统中多次重复出现。

    由于数据冗余引起的操作异常:修改异常、插入异常、删除异常

    “分解”是解决问题的主要方法,也是规范化的第一条原则。

    注:连接的代价是很大的。

    函数依赖概念:

    关系规范化实际上是围绕函数依赖进行的。

    1.         什么是函数依赖:

    函数依赖是指关系中,属性之间取值依赖的问题

    2.         关系中可能存在不同函数依赖(相对于非主键与主键来说)

    完全函数依赖

    部分函数依赖

    传递函数依赖

    一个关系中各非主属性相对于主键存在不同函数依赖,将会导致关系性能变坏。

    范示与规范化(各范示向下包容)

    关系模式的好坏用什么标准衡量?这个标准就是模式的范示(Normal Forms,简记NF1NF是关系模式的基础、2NF已成为历史,一般不再提及、3NF是数据库设计中最常用的。

    第一范示(1NF):

    关系模式R的每个关系r的属性都是不可再分的原子值,那么称R是第一范示的模式。

    (是关系模式应具备的最起码的条件)

    第二范示(2NF

    如果关系模式中存在传递函数依赖就不是一个好模式,需要把关系模式分解,以排除局部依赖,使之达到2NF

    第三范示(3NF

    对于满足2NF的关系,如果不存在“非主属性”对主键的传递函数依赖,则称属于3NF关系。

    分解关系的基本原则:

    l         无损分解、数据不丢失

    l         分解后关系相互独立

    l         遵循“一事一地”原则

     

  • 相关阅读:
    NYOJ 10 skiing DFS+DP
    51nod 1270 数组的最大代价
    HDU 4635 Strongly connected
    HDU 4612 Warm up
    POJ 3177 Redundant Paths
    HDU 1629 迷宫城堡
    uva 796
    uva 315
    POJ 3180 The Cow Prom
    POJ 1236 Network of Schools
  • 原文地址:https://www.cnblogs.com/_programmer/p/1590518.html
Copyright © 2020-2023  润新知