使用交集/联结表执行哪些SQL语句

时间:2012-09-29 16:13:43

标签: sql database intersection junction

这是一个简化的数据库布局

Database layout

  • 一个公寓可以容纳多个房产(公寓,车库等) - > 1->n relationship
  • 一个所有者可以在同一个公寓中拥有多个属性,并且属性可以包含多个所有者(m->n已更改为1->n 联结表)
  • 一个公寓有多个业主(会员) - > 1->n

Some additional clarification

业主是公寓的成员。公寓由属于所有者的财产组成但是所有者没有直接与财产相关联(在一定时间内,财产和所有者之间可能没有关系,但是在所有者和公寓之间总是存在关系)。原因是:管理公寓的代理商将首先创建所有者列表和属性列表。只有在晚些时候,他才会将每个财产“链接”到一个或多个所有者(或反向)

我对SQL很陌生。

我应该执行哪些SQL语句:

  • SELECT,对于特定公寓(WHERE条件),属性及其各自所有者(即使所有者为空,也应列出所有属性)
  • SELECT,对于特定的公寓(WHERE条件),所有者及其属性(即使属性为null,也应列出所有所有者)
  • UPDATE / DELETE现有所有者(我不确定如何处理联结表的操作。我应该首先检查联结表中是否有条目?)< / LI>
  • UPDATE / DELETE现有属性(同样关注)
  • INSERT新所有者(我应该使用两种不同的SQL语句,具体取决于所有者是否应该链接到属性或不是 - &gt; IF条件?)
  • INSERT新属性(与上述相同的问题)

Could you be as clear and generic as possible so that it can be reused ? :-)

0 个答案:

没有答案