Oracle使用powerDesigner进行数据库设计

一:表关系
    1>一对多的关系 表结构  在多的一方 添加一的一方的主键 当做外检
   --  比如 班级和学生是一对多的关系  班级是一的一方 学生是多的一方 应该在学生的表中一家班级表的主键作为外检
   2> 一对一的关系 表结构是在双方的表中都添加对方的主键作为外检 并且给外检添加唯一索引
      举例  用户表
         id name carid
         1  张三     1
         
        身份表
         id carid         userid
         1  444334343434  1
         
   3>多对多的关系 表结构是添加一张中间表 中间中存在双方的主键作为双主键
      用户表
      用id  用户名
      1   scott
      2   hr
      3   sys
    角色id  角色名称
      1     dba
      2     connect
      3     sys_operate
    
    用户角色中间表
    用户id  角色id
    3       1
    3       2
    3       3
    1       2
    2       1 
二 三大范式
    --第一范式 是针对于单列来说  如果列是相对来说不可拆分的最小单位 说明满足第一范式
   --第二范式 是针对于多列来说  一个表只能做一件事情  也就是说所以的列必须依赖主键
   --第三范式  所有的列 必须直接依赖主键 不能间接依赖      
        一般数据库的设计 只需要满足 第一和第二范式 
       产生了冗余 不满足第三范式 但是对于解决大数据量的关联问题 有很大的优化空间 
原文地址:https://www.cnblogs.com/t0404/p/10291062.html