zoukankan      html  css  js  c++  java
  • 数据库基础知识

    数据联系的描述:

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

    二元联系中的三种联系:

       一对一联系(简记为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         遵循“一事一地”原则

     

  • 相关阅读:
    没有比脚更长的路 没有比人更高的山
    Nginx---应用场景小结
    程序员北漂6年,活着 ---纪念逝去的青春
    程序员/PM怎么让项目预估的时间更加准确
    程序员从技术开发到项目管理PM--思维转变
    什么是MSF
    程序员有七个等级?你又属于哪个等级呢?
    linux之 sed 基础
    linux之awk基础
    centos 7 jenkins 部署
  • 原文地址:https://www.cnblogs.com/_programmer/p/1590518.html
Copyright © 2011-2022 走看看