Một khung nhìn SQL là một bảng logic, toàn cầu có thể có hoặc không thể tồn tại. Nhưng nó vẫn là một cái bàn. Vì vậy, một VIEW luôn luôn tuân theo hình thức bình thường đầu tiên (1NF)? nghĩa là không có các hàng trùng lặp, chỉ các loại vô hướng, không có thứ tự từ trên xuống dưới hoặc từ trái sang phải, v.v ... về các hình thức bình thường cao hơn thì sao?Một khung nhìn SQL có luôn ở trong 1NF không?
Đối với tôi, ứng dụng của tôi 'tiêu thụ' kết quả của procs được lưu trữ, VIEW của tôi bị 'tiêu thụ' bởi truy vấn SQL và hai tập quán này đều loại trừ lẫn nhau (nghĩa là tôi không truy vấn kết quả của procs được lưu trữ bằng SQL và các ứng dụng của tôi không chứa mã SQL). Tôi đã thấy những người khác sử dụng VIEW để 'ghép nối' nhiều giá trị trong một cột thành một hàng duy nhất, thường là định dạng được phân cách bằng dấu phẩy. Viết các vị từ trong một truy vấn SQL chống lại một cột như vậy đòi hỏi một kludges tương tự như sau:
',' + concat_col + ',' LIKE '%' + ',' + search_value + ',' + '%'
Vì vậy, có vẻ như với tôi hợp lý để hy vọng tất cả các bảng có thể được truy vấn để bao gồm chỉ các loại vô hướng. Tôi có quá 'thuần khiết' bằng cách suy nghĩ điều này không?
quan điểm của tôi là 'tiêu thụ' bởi chỉ truy vấn SQL. Nếu chương trình của tôi cần một resultset trong một định dạng 'đặc biệt' thì tôi sẽ làm điều này trong một proc được lưu trữ hoặc tầng giữa. Tôi không đề xuất đầu ra của mỗi proc được lưu trữ phải ở trong 1NF, chỉ có đầu ra ở dạng * bảng * (và tôi đoán rằng sẽ bao gồm các biến bảng nếu có). – onedaywhen
Bạn đã tạo quy tắc rõ ràng cho ứng dụng của riêng mình (không có SQL trong ứng dụng khách, ví dụ:) hoạt động cho bạn. Chúng hạn chế hơn là những gì tôi sẽ xem là thực hành tốt nhất, nhưng điều tốt đẹp về việc quá hạn chế là luôn dễ thay đổi tâm trí của bạn sau này và thoải mái hơn - không dễ dàng đi theo cách khác. Nhưng nói chung, đầu ra của các khung nhìn có thể vi phạm 1NF (mặc dù các hàng dupe là vô ích, AFAIK). Thực tế, việc sử dụng các khung nhìn xấu là một trong những cách tốt nhất để di chuyển một thiết kế xấu xí sang một thiết kế sạch - bạn cần các khung nhìn để hỗ trợ các máy khách cũ cho đến khi chúng cũng có thể được sửa. –