表之间的关系
来源:互联网 发布:vb picturebox 透明 编辑:程序博客网 时间:2024/05/05 06:15
A表 和 B表
A表中一条记录 对应 B表中一条记录
B表中一条记录 对应 A表中一条记录
A表中一条记录 对应 B表中另一条记录
B表中一条记录 对应 A表中只有唯一条记录
A表中一条记录 与 B表中对应关系 有2条
B表中一条记录 与 A表中对应关系 只有1条
A表与B表是1对2关系
B表与A表是1对1或者是2对一关系
对于A表的中那一条记录 它有两个对应关系 不确定是对应对象数目
对于B表中 以A表的那条记录为主题对象 有两条记录和它对应
在A表与B表中 关于A表中的某一实体 有N条对应关系 在N条对应关系中 A只有一个实体 B有N个实体
所以在A表和B表中,关于A表中的某实体的所有对应关系中,A为一个实体,B为不确定的多个实体,所以关系为一对多
反过来是多对一
再看B表中的某一实体信息
在A表与B表中,关于B表中的某一实体,只有一条对应关系,关系对应A表中只有一个实体,对应B表中也只有一个实体
所以可以说是一对一
但是没有完
A表与B表中任一实体
A表中的某一实体或者B表中的某一实体
如果在两表之间有一个对应关系,那么关系对应的所有实体如果没有更多的对应关系则为一对一,如果有更多的对应关系
如果所有的对应关系对应某一表只有一个实体对应另一个表有多个实体,则为一对多或者多对一关系
如果所有对应关系对应两个表都有多个实体,则为多对多关系
那么表之间的关系在数据库中如何表示
约束>主外键约束>主表和从表
两张表,一张是主表,另一表是从表。主表受到两表之间的约束限制,但是主表中没有从表的相关的记录;
从表也受到两表之间的约束,并且从表中有一个外键字段,对应主表的主键字段。约束表现为,主表中的实体
如果有从表与之关联,则主表不能删除,主键不能修改;在从表中表现为,在增加一条新的实体时,外键字段如果不为空
则必段对应为主表中的主键字段,修改时如不为空,则也必段是主表中的主键字段,删除可以。
查询时,在主表中查询不到对应从表的信息,在映射成对象实体时,查询到的是存储有从表中与之对应的所有实体的集合
在从表中每一个记录均可查询到与之对应主表主键信息,在映射成对象时,查询到的是对应的主表实体的一个对象。
可以这样理解,无论是查主表实体对从表实体信息,还是查从表实体对应的主表信息,都只能在从表中查询。
如果查询对应的主表记录,则查询这条记录对应的外键字段信息,再根据外键查询对应的主表记录
如果查询对应的从表记录,则查询这条记录的主键信息在从表中对应的所有外键的记录。
一个是根据记录查询到外键信息,一个是根据外键信息查询到实体记录
在映射成关联时,对关联实体的查询有LAZY和非LAZY之分,非lazy则是查询某一实体的时候,所关联的对象也查询出来
而lazy则在暂不查询。这个是很容易出错的地方,没有确认验证,大概主表的一方,也就是一的一方,关联的引用为空,因为
主表中并没有从表的信息,得到信息必段执行查询;而在从表的一方,也就是多的一方,关联的对象ID有值,其它属则为空
因为从表的外键就是主表主键的值,不需要查询主表就可以得到。
- 表之间的关系
- 数据库表与表之间的关系
- 表与表之间的关系
- hibernate 表与表之间的关系
- 如何定义数据库表之间的关系
- 如何定义数据库表之间的关系
- 如何定义数据库表之间的关系
- oracle查看表之间的关联关系
- 查询表之间的主外键关系
- E-R STUDIO表之间的关系
- magento数据库表之间的关系
- oracle查看表之间的关联关系
- java控制表之间的映射关系
- Doctrine中定义表之间的关系
- 对象和表之间的关系
- hibernate中方建立表之间的关系
- MySQL数据库-表之间的关系(精华)
- 关系型数据库表与表之间的关系
- 美国机构评出IT行业十大圣地 中关村名列第六
- 带头节点和不带头节点的单链表的区别
- SQL Server连接问题(网摘)
- 又是一年春草绿
- linux 下php开发工具geany-0.16的安装。
- 表之间的关系
- VC++结束进程,干掉杀毒软件或者其他令人不爽的进程
- IE8四大突破:微软浏览器首次拥抱国际标准
- 给girdview添加 thead 和 tbody
- vc++搭建一个NT服务框架
- 宅男日誌---有誰比我宅?
- vc++取得系统信息,并实时刷新
- vc++编写一个木马下载器,体积仅有0.3K
- vc++实现注册表自启动,木马用的比较多