James Perry, Richard Newmark
Chương 2
Cơ sở dữ liệu và hệ thống kế toán
Phát triển mô hình thực thể - quan hệ
Mô hình thực thể - quan hệ E-R (entity-relationship E-R modeling) được Peter Chen giới thiệu vào năm 1976. Từ đó, mô hình E-R được tiếp nhận rộng rãi là phương pháp đồ họa để thiết kế cơ sở dữ liệu.
Thiết kế viên thường dùng 3 thuật ngữ để mô tả thông tin một công ty: thực thể, quan hệ, và thuộc tính. Thực thể (entity) là đối tượng (người hay vật) quan trọng đối với công ty (các danh từ như khách hàng, kho hàng, nhân viên, hay nhà cung cấp) hoặc hoạt động quan trọng (những danh từ như bán hàng, mua sắm, hay xuất quỹ). Quan hệ (relationship) mô tả cách các thực thể tương tác hay quan hệ với nhau. Thực thể khách hàng quan hệ với thực thể bán hàng khi công ty bán hàng cho khách hàng. Thuộc tính (attribute) mô tả các đặc trưng của thực thể và quan hệ. Chẳng hạn, khách hàng có tên và địa chỉ.
Trong mô hình E-R, sơ đồ được dùng để biểu diễn các thực thể và quan hệ. Sơ đồ dùng 3 ký hiệu: hình chữ nhật, hình thoi, và đoạn thẳng. Hình chữ nhật biểu diễn thực thể và hình thoi biểu diễn quan hệ. Đoạn thẳng nối hai hình với nhau. Một số hay một chữ được đặt trên đoạn thẳng để ký hiệu cấp quan hệ: một-một, một-nhiều, hay nhiều-nhiều. Hình 2.18 là sơ đồ E-R ví dụ trong phân hệ hóa đơn của The Coffee Merchant. Các thuộc tính có thể được hiển thị bằng đoạn thẳng kéo từ thực thể hay quan hệ đến tên thuộc tính.
Hình 2.18. Sơ đồ thực thể - quan hệ.
Khi cơ sở dữ liệu chứa quan hệ nhiều-nhiều, quan hệ đó trở thành bảng. Trong trường hợp này, một thực thể mới – hiển thị bằng hình thoi bên trong hình chữ nhật – được dùng để vẽ lại 2 thực thể thành 3. Thực thể mới chuyển quan hệ nhiều-nhiều thành 2 quan hệ: quan hệ 1-M ở phía này và quan hệ M-1 ở phía kia (Hình 2.19). 1-M nghĩa là một bản ghi từ bảng bên này có thể có nhiều bản ghi liên quan ở bảng bên kia. Chẳng hạn, hóa đơn có thể có quan hệ 1-M với nhiều mặt hàng trên hóa đơn: một hóa đơn có thể có nhiều dòng-hóa-đơn và mọi dòng-hóa-đơn chỉ tham dự vào một hóa đơn duy nhất.
Hình 2.19. Sơ đồ thực thể - quan hệ đã điều chỉnh.
Thực thể mới tạo ở giữa gọi là bảng-quan-hệ (relationship table), gồm 2 khóa chính ở 2 thực thể nối nhau hình thành khóa chính phức hợp cho bảng-quan-hệ. Bảng-quan-hệ đôi khi gọi là bảng nối (junction table) hay bảng cầu nối (bridge table).
Bạn có thể tạo bảng cho cơ sở dữ liệu của bạn từ sơ đồ E-R đã điều chỉnh. Một bảng được tạo cho từng quan hệ. Kế đến, phải nhận diện khóa chính cho từng bảng. Quan hệ giữa các thực thể, tức đoạn thẳng nối các thực thể, được thể hiện bằng liên kết khóa chính khóa ngoại giữa các bảng. Trường hợp quan hệ 1-M, phía “một” của quan hệ có khóa chính trùng với một số dòng chứa khóa ngoại ở phía “nhiều” của quan hệ.
Khi có quan hệ nhiều-nhiều trong sơ đồ E-R, chẳng hạn quan hệ giữa tblInvoice và tblInventory, một bảng-quan-hệ được tạo ra. Bảng Contains (chứa) ở Hình 2.19 chứa cả khóa chính ở bảng tblInvoice lẫn khóa chính ở bảng tblInventory. Một khi bảng-quan-hệ được tạo ra, 3 bảng này sẽ có 2 quan hệ một-nhiều.
Trong trường hợp đặc biệt, một bảng cũng có thể quan hệ với chính nó, trong đó các dòng của bảng quan hệ với những dòng khác trong cùng bảng. Một ví dụ điển hình là bảng nhân viên trong đó khóa chính nhận diện nhân viên và cột Supervisor chứa khóa ngoại trỏ đến giám sát viên của từng nhân viên. Các giám sát viên ở trong cùng bảng vì bản thân họ cũng là nhân viên. Khi các dòng trong bảng quan hệ với những dòng trong cùng bảng, đó là quan hệ đệ qui (recursive).
Bước cuối cùng là chuẩn hóa từng bảng. Để có được kết quả tốt nhất, mọi bảng ít nhất phải ở dạng chuẩn ba.
Không có nhận xét nào:
Đăng nhận xét