Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Sử dụng bảng chuẩn hóa có thực sự tốt hơn không?

Nó phụ thuộc ... việc tham gia các bảng vốn đã chậm hơn so với việc có một bảng lớn được 'tham gia trước' tức là đã được hủy chuẩn hóa. Tuy nhiên, bằng cách không chuẩn hóa, bạn sẽ tạo ra sự trùng lặp dữ liệu và các bảng của bạn sẽ lớn hơn. Chuẩn hóa được coi là một điều tốt, bởi vì nó tạo ra cơ sở dữ liệu có thể trả lời câu hỏi 'bất kỳ', nếu nó được thực hiện đúng cách, bạn có thể tạo một lựa chọn để truy cập dữ liệu của mình. Đây không phải là trường hợp trong một số hình thức DB khác và chúng hiện nay (hầu hết) là không thể thay đổi trong lịch sử, DB chuẩn hóa / quan hệ đã thắng trận chiến đó.

Quay lại câu hỏi của bạn, sử dụng de-normalization để làm cho mọi thứ diễn ra nhanh hơn là một kỹ thuật được chấp nhận rộng rãi. Thông thường, tốt nhất là chạy DB của bạn một lúc để bạn biết điều gì nên hủy chuẩn hóa và điều gì nên để nguyên và việc để dữ liệu ở dạng chuẩn hóa 'đúng' và kéo dữ liệu vào một tập hợp báo cáo đã chuẩn hóa bảng một cách thường xuyên. Nếu quá trình đó được thực hiện như một phần của báo cáo tự chạy thì dữ liệu cũng luôn được cập nhật.

Ví dụ về quá trình chuẩn hóa quá mức, trước đây tôi đã thấy các DB trong đó các ngày trong tuần và các tháng trong năm được rút ra thành các bảng riêng biệt - bản thân các ngày đã được chuẩn hóa - bạn có thể đi quá xa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Không thể truy cập trường thông qua chế độ ngủ đông trên cơ sở dữ liệu oracle trên các không gian người dùng khác nhau chỉ với các đặc quyền được chọn

  2. Oracle.Dataaccess nằm trong GAC. Tôi có thể kiểm soát phiên bản tôi sử dụng không?

  3. Việc sử dụng biến TNS_ADMIN trong Oracle là gì?

  4. So sánh thời gian của Oracle

  5. Biểu thức chính quy _ # ở cuối chuỗi