zoukankan      html  css  js  c++  java
  • 数据库设计【笔记】

    数据库设计
     一、设计步骤
       1.收集信息(来源项目需求分析)
       2.标识实体(一般是需求分析中需要管理的信息名词)
       3.标识每个实体的属性
       4.实体之间的关系
    二、画e-r图(实体关系图)
       1.矩形表示实体
       2.椭圆表示实体的属性
       3.菱形表示实体之间的关系
       4.用直线连接实体和属性,实体和实体之间的关系
    三、实体之间的关系:
       1.一对一  1:1          车和车位
       2.一对多  1:N (1:M) 客人和客房
       3.多对多  N:M          图书和作者
    四、E-R图映射到数据表
       1.一般一类实体映射为表
       2.实体中的属性映射为表中的列
       3.关系的映射:
          (1)一对一:映射为一个表,其中一个实体的属性
          (2)一对多:每个实体一个表,通过主外键表示关系,如客人和客房,在客人表里添加一个房间号作为外键,客房中的房间号就是主键。
          (3)多对多:每个实体一个表,关系映射为一个表
          映射3个表,图书表  作者表  关系表
    五、用三大范式衡量或规范数据库
       1.每列都是一个不可再分的单元(保持原子性)  符合第一大范式
       2.在满足第一范式的情况下,每个表只描述一件事,就符合第二范式
       3.在满足一二范式的情况下,并且除主键外,其他列都不传递依赖于主键,符合第三范式(除主键外, 所有的列都是直接依赖于主键而不是间接的依赖于主键)
    六、数据非规范化设计:
        规范化设计的话是把大表拆分成小表,节约空间但同时会降低性能,为了提高性能,进行非规划化设计

  • 相关阅读:
    httpcontext in asp.net unit test
    initialize or clean up your unittest within .net unit test
    Load a script file in sencha, supports both asynchronous and synchronous approaches
    classes system in sencha touch
    ASP.NET MVC got 405 error on HTTP DELETE request
    how to run demo city bars using sencha architect
    sencha touch mvc
    sencha touch json store
    sencha touch jsonp
    51Nod 1344:走格子(贪心)
  • 原文地址:https://www.cnblogs.com/a1111/p/6540373.html
Copyright © 2011-2022 走看看