我有一个db模式,这里有一个类似的模式:
Table Structure{
struct_id
struct_name
}
Table Department {
dept_id
struct_id -> Foreign Key to Structure
dept_name
...
}
Table Section {
sec_id
dept_id -> Foreign Key to Department
sec_name
...
}
Table item_manifold{
iman_id
sec_id -> Foreign Key to Section
dept_id -> Foreign Key to Department
}
Table Item {
item_id
iman_id-> Foreign Key to item_manifold
item_name
}
一 Item
可以属于某个部门或部门
这个 item_manifold
表负责引用完整性—其中每行只有一个 sec_id
或者 dept_id
为空,另一个是有效的外键(到部门或部门)。
但是,我需要一个视图来显示以下数据: struct_name, dept_name, sec_name, item_name
哪里 sec_name
将 null
如果物品属于部门。
我知道如何用一个 UNION ALL
在两条穿过 item_manifold
表,但这大大减慢了我的查询速度(原因很明显)。
我怎样才能有效地做到这一点?谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!