2012-11-04 73 views
7

Tôi đã xem cơ sở dữ liệu Adventure Works 2012 của Microsoft. Tôi sẽ rất quan tâm nếu có bất kỳ thông tin nào giải thích lý do tại sao các bảng được tạo ra như chúng. Một số loại lược đồ tổng quan tôi đoán.Adventure Works Giải thích

Ví dụ:

Tại sao họ chọn để tạo ra một bảng BusinessEntity như một loại lớp cơ sở cho Người, nhân viên vv

Hầu hết các dữ liệu được chuẩn hóa vậy tại sao họ đã chọn để đặt CountryRegionCode trường vào bảng StateProvince thay vì ID thành một bảng riêng biệt.

Dù sao, tôi rất quan tâm đến việc tìm hiểu thêm về các quyết định đi vào thiết kế cơ sở dữ liệu. Bất cứ ai biết một nguồn tài nguyên đi vào loại điều này?

Trả lời

7

Tôi không biết về bất kỳ tài liệu thiết kế chính thức nào cho AdventureWorks, nhưng tôi từng là huấn luyện viên và sử dụng cơ sở dữ liệu AdventureWorks rộng rãi cho trình diễn và phòng thí nghiệm, vì vậy tôi khá quen thuộc với nó.

Bảng BusinessEntity là trường hợp điển hình của thiết kế SuperType/SubType, làm giảm dư thừa dữ liệu, bởi vì khách hàng cũng có thể trở thành nhà cung cấp, nhân viên có thể trở thành khách hàng và mọi kết hợp khác. Ngoài ra, nó có nghĩa là bạn không lưu trữ các chi tiết liên quan đến tất cả các thực thể nhiều lần, trong các bảng riêng biệt, giảm thiểu nỗ lực trong trường hợp thay đổi mã.

Các CountryRegionCode Tôi không tích cực về, nhưng tôi sẽ nghi ngờ một trong ba lý do:

  1. Không có đủ kết hợp khác nhau để đảm bảo một bảng bổ sung tại các chi phí của báo cáo hoạt động (Điều này có thể được xác nhận với một số câu lệnh COUNT (*) GROUP BY đơn giản)
  2. Họ muốn nó trong cùng một bảng để trong tương lai họ có thể linh hoạt tạo mô hình cấu trúc phân cấp với hierarchyID (Đây là tùy chọn ít nhất)
  3. Đó là một sự chuẩn hóa lỗi! (Tiền của tôi là vào tùy chọn này!)
+0

Cảm ơn thông tin chi tiết của bạn. – user1705507

3

Hình ảnh này đã giúp tôi, mặc dù nó là về mặt kỹ thuật cho 2008.

+0

Tôi đang tìm kiếm sơ đồ và tìm thấy biểu đồ này trên trang web chính thức (không chắc chắn nếu đó là phiên bản tương tự): http://www.microsoft.com/en-us/download/details.aspx?id=10331 –