数据库的主键表和外键表

       

             想写这个是因为自己刚好在尝试建一个数据库,而数据库的各个表之间的关系不是很清楚,没有形成一个整体的关系,所以就尝试着将数据库形成一个整理的关系表,我

敢说很多跟我一样的同学原来做课程设计,肯定就是随便建几个table,然后能够用程序,也就是你的软件系统对你的各个table进行增删查改,以为数据库就建好了,已经ok了。

            其实这一半的事情都没有做到,我们说一个系统的数据库是一个整体,虽然我不是很懂那些范式神马的,但是这个也是我自己的一点经验只谈。

            肯定有很多用SQL Server的图形界面设计数据库的 ,可以用你数据库的表生成你的关系数据库图, 你会发现你的关系数据库图是一张张独立的表,之间没有任何的关联,

如果这样,那建立好的数据库table就不能形成一个整体的关系。但一般建立好的表之间是存在关系的,如果建立这些关系就是要说的问题。

            这里涉及几个重要的概念,下面先给出这些概念的定义:

                               主键:唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性,主键只能有一个。

                              外键:表的外键是另一表的主键, 外键可以有重复的, 可以是空值,用来和其他表建立联系,一个表可以有多个外键。

           而在建立表的关系的时候又会有主键表和外键表。

           这个是比较迷惑的问题而且很容易选错,选错了就无法顺利在表与表之间建立关系。

           参考别人给出的一些说法: 

                                                     外键表就是要建外键的表,

                                                     主键表是因为外键在另一个表上是主键。所以叫做主键表。

            怎么理解这上面的两句话,举个例子最明白,我们见了两张表,一个表为,我们设主键为PatientID,

                然后我们在建立一张表,这里我设置的主键是SectNumber,这两表之间RaportList Table通过外键PatientID与Patient Table的主

          键 PatientID关联,参考上面的总结,那就是ReportList  Table是外键表(要建外键的表),Patient Table就是主键表,在网上搜资料的时候可能会介绍到说外键表可以说  

         是主键表的一个属性,我觉得是刚好说反了,在用Sql Server建立关系的过程中就会发现这个问题。

              顺便说下用Sql Server给表之间建立关系的步骤,先找到外键表,右键 -->  修改 -> 右键 --->关系--->添加  --->表和列规范  -->省略号-->设置主键表,对应的键。

             保存之后生成关系就看得到了,ok!

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值