Oracle------第七章Overview of Data Modeling and Database Design

感情迁移 提交于 2019-12-06 12:49:08

Oracle------第七章Overview of Data Modeling and Database Design

第七章:数据建模和数据库的设计

  • 数据库的设计的步骤:
  1. 需求分析:从客户的商业描述中抽象出实体,属性和关系。
    实体----->表
    属性----->表中的字段
    关系----->外键。
    实体与实体的关系
    需求分析由项目经理或者项目的架构师完成。

  2. 设计阶段:把需求分析中实体,属性和关系通过ER图表示出来。

  3. 建立文档:把需求分析和ER图通过文档的方式描述出来。
    作用:和客户交流。
    为了更方便维护数据库

  4. 建立表实例图:根据ER图建立表实例图
    表实例图包含表中包含哪些字段,以及字段数据类型,字段约束类型。

  5. 产品(写建表语句):根据表实例图写建表语句。
    Entity-Relationship实体关系模型图:
    好处:更方便获取数据库表的信息。
    获取实体,获取属性,获取关系。

    1)实体:世界上任何一个东西都可以作为实体
    如:学生,课程,老师等

    2)属性:描述实体
    学生(学号,姓名…)
    关系:实体与实体之间的关系。加外键。
    同时性

    3)关系:
    一对一的关系:丈夫和妻子(法律上)
    外键加上任何一方。
    如果出现mustbe关系,外键
    放在mustbe一方。

    一对多的关系:飞机和乘客
    外键加上多的一方。

    多对多的关系:学生和课程
    建立一张桥表。外键放在桥表。
    桥表的作用是把多对多的关系
    转化成二个一对多的关系

    1)实体:圆角的矩形。
    实体名大写字母表示

    2)属性:用小写字母表示。
    #:该属性的值是唯一的。该属性有可能作为主键
    *:该属性的值是非空的
    o:该属性没有要求的

    3)关系:实体之间有连接就有关系
    一点是一关系
    三个角是多个关系
    实线:mustbe数据存在必须依赖另外一张表,外键不能为空。
    虚线:maybe数据存在不需要依赖另外一张表,外键可以为空。
    |:联合主键
    离|近的表中有联合主键,
    把|远的表中主键拿过来做外键
    然后把外键和自己的id联合在一起做联合主键

    主键用来唯一标识表中的数据。
    表中最多只有一个主键。
    联合主键是由二个或者二个以上的字段
    联合在一起作为主键。
    student表

      c_id xuehao  name     gender
       1    1      zhangsan  male
       1    2      zhangsan  female
       2    1      zhangsan  male
    

    第一范式:所有字段必须是单值

      id  name    phone     QQ     mail
       1  张三  1862345678 903455 099@163.com
    

    第二范式:所有属性的值都必须依赖UID的值
    第三范式:所有非UID的属性不能依赖非UID的值。
    UID是主键

      id   name   gender   c_id    r_id
      1   zhangsan male   and1501  1
    

    外键(联合外键)依赖另外一张表的主键或者唯一键。
    只要依赖的表是联合主键就需要在该表中做联合外键。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!