sql数据库开发-15:建表

建议是程序开发的关键步骤,是将显示业务转换成数据运转的重要步骤


掌握了建表的要领是独立编程的前提。

表的关系   建表


  pk uk fk ck nn

1列上多个约束

1约束定义在多个列上

表的关系:

   service

 
       id      account_id
      2002       1011     (在account表中是 唯一)
      2003       1011
      2004       1011


实现1对多

      1对多关系  pl,uk  fk         合表,违反第3范式
         fk(保证1对多关系)

    多对多关系     增加一张表,定义两个 fk . 用2个一对多实现多对多 .合表违反第二范式。  


例如:

 student    course

  stu_cour (sid  ------ >  student(id))
           (sid  ------ >  course(id))   

分开:没有数据冗余,没有数据不一致,dml的负担不重,数据记录很纯粹。


select join     负担小,操作复杂,慢       规范化做法

合表: dml       负担重,select简单,快     去规范化做法


1对1 实现方式

 
  合表:夫妻表      一夫一妻        id     hname  ... ... wname

  分表: 夫表    妻表

 
 
        夫表  

猜你喜欢

转载自blog.csdn.net/kerryqpw/article/details/104034434