我正在创建预订应用程序并尽可能地规范了数据库。我的问题是以下几点,我应该在数据库中创建视图,在我对WHERE子句中的组合视图进行选择性选择之前再次组合表,还是在将视图加入视图之前过滤表更好?规范化表,SQL联接和视图
编辑:包括的例子。
第一种方案首先创建组合视图,然后在组合视图执行SELECT(这个视图可能有数以千计的记录):
CREATE VIEW appc as
SELECT * FROM appointment
LEFT OUTER JOIN chair
ON appointment.chair_idchair = chair.idchair
SELECT * FROM appc
WHERE chair_idchair = 1;
第二种方案将第一过滤表的左的连接,然后创建基于过滤表的视图,那么连接将使用这种更小的观点提出:
CREATE VIEW appf as
SELECT * FROM appointment
WHERE chair_idchair = 1;
SELECT * FROM appf
LEFT OUTER JOIN chair
ON appf.chair_idchair = chair.idchair
你可以举一个你想到的两种不同风格的例子吗? –