zoukankan      html  css  js  c++  java
  • 第一章 数据库设计

    1.为什么 需要设计数据库?

          1)良好的数据库设计                                                 2)糟糕的数据库设计

              (1)节省数据存储空间                                                    (1)数据冗余,存储空间浪费

              (2)能够保证数据的完整性                                             (2)内存空间浪费

              (3)方便进行数据库应用系统的开发                               (3)数据更新和插入异常

    2.设计数据库步骤:

          (1)收集信息:与该系统有关人员进行交流,座谈,充分了解用户需求,理解数据库要完成的任务。

         (2)标识体(Entity):

                          标识数据库要管理的关键对象或实体,实体一般是名词。

        (3)标识每个实体的属性(Attribute)

        (4)表示实体之间的关系

    3.E-R图

    4.映射基数

    5.关系模式:

               用二维图的形式表示实体和实体见联系的数据模型

    6.E-R图转为关系模式的步骤:

           (1)把每个实体都转换为关系模式R (U)形式

          (2)建立实体间联系的转换

    7.比如我们下边这个例子:

            1)客房(客房号,客房描述,客房类型,状态,床位数,入住人数,价格)

             2)客人(客人编号,姓名,身份证号,入住日期,转账日期,押金,总金额,客房号)

    8.不符合规范表的设计:

             信息重复           更新异常           插入异常

    9.无法正确表示信息:

                   删除异常

    10.三大范式内容:

               1)第一范式的目标是确保每列的原子性

                        如果每列都是不可再分的最小数据单元(也称为最小的原子单元,则满足第一范式 1NF)

               2)第二范式要求每个表只描述一件事情

               3)第三范式要求表中各列必须和主键有直接相关,不能间接相关

    11.表中含大量冗余数据,可能会导致数据异常:

                更新异常                        添加异常                        删除异常  

    12.规范化和性能的关系:

            (1)为满足某种商业目标,数据库性能比规范化数据库更重要

                      通过再给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间   

                      通过在给定的表中插入计算列(如成绩总分)以方便查询

    13.案列

             转化为E-R图数据库模型

                 (1)将各实体转换为对应的表,将属性转换为各表对应的列

                (2)标识每个表主键列

                (3)在表之间建立主外键,体现实体

      eg:

     

    14.绘制E-R图软件:

                Visio    在线制图软件       亿图图示

  • 相关阅读:
    241. Different Ways to Add Parentheses java solutions
    89. Gray Code java solutions
    367. Valid Perfect Square java solutions
    46. Permutations java solutions
    116. Populating Next Right Pointers in Each Node java solutions
    153. Find Minimum in Rotated Sorted Array java solutions
    判断两颗树是否相同
    求二叉树叶子节点的个数
    求二叉树第k层的结点个数
    将二叉排序树转换成排序的双向链表
  • 原文地址:https://www.cnblogs.com/unique1/p/12781953.html
Copyright © 2011-2022 走看看