Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
1,09 MB
Nội dung
http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 37 Chương 4 . MÔ HÌNH QUAN HỆ (THE RELATIONAL MODEL) I MÔ HÌNH QUAN HỆ LÀ GÌ 1 Quan hệ (relation) Mô hình quan hệ xoay quan các khái niệm quan hệ, bộ (tuple) và thuộc tính (attribute). Những khái niệm này tương ứng với các khái niệm tập thực thể, thực thể và thuộc tính. Hình 3.1 trình bày mô hình ER và mô hình quan hệ tương ứng của vấn đề Trường Cao Đẳng Cộng Đồng Núi Ayers. Mô hình quan hệ chỉ là một dạng trình bày khác của mô hình ER. Cuối chương này, chúng ta sẽ biết làm thế nào để chuyển đổi mô hình ER thành mô hình quan hệ. 2 Thực thể, quan hệ, và bảng (table) Tiến trình giải bài toán csdl được phát triển từ mô hình dữ liệu sang mô hình quan hệ rồi cuối cùng sang bảng trong csdl. MÔ HÌNH DỮ LIỆU Hình 3.2 - Sự tiến triển qua các giai đoạn khác nhau từ mô hình dữ liệu đến việc thực hiện bảng trong HQTCSDL MÔ HÌNH QUAN HỆ BẢNG TRONG CSDL Ví du ï: RFC là nhà buôn sỉ thiết bò điện và điện tử. Họ bán nhiều mặt hàng cho ngành công nghiệp điện tử. Công việc đầu tiên mà Công ty mong muốn thực hiện là lưu trữ dữ liệu hàng hóa trong một csdl. Họ đặc biệt quan tâm lưu trữ về mã hàng, mô tả, loại hàng, tỉ suất thuế bán ra, đơn giá sỉ, đơn giá lẻ, đơn giá chục. http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 38 MẶT HÀNG mã mặt hàng mô tả loại hàng tỉ suất thuế bán ra đơn giá sỉ đơn giá lẻ đơn giá chục Mô hình ER Mô hình quan hệ MẶT HÀNG (mã mặt hàng, mô tả, loại hàng, tỉ suất thuế bán ra, đơn giá sỉ, đơn giá lẻ, đơn giá chục) Bảng trong HQTCSDL mã mặt hàng mô tả loại hàng tỉ suất thuế bán ra đơn giá sỉ đơn giá lẻ đơn giá chục 1003 tụ điện 1000 ufd 22 0.68 1.24 1.08 1007 tụ điện 2200 ufd 22 0.83 1.52 1.32 1012 tụ điện 3300 ufd 22 1.27 1.69 1.47 3156 đầu nối BNC 15 1.16 2.00 1.73 3159 đầu nối TNC 15 2.48 4.28 3.71 3258 đầu nối N-MALE 15 5.45 9.40 8.15 3259 đầu nối N-BNC 15 7.45 11.70 9.95 1773 điện trở 5k6 22 0.04 0.07 0.05 1174 điện trở 6.8 22 0.04 0.07 0.05 6745 trimpot 10k (log) 22 1.26 2.31 2.00 thực thể, dòng, bộ, mẫu tin thuộc tính, cột hay vùng giá trò thuộc tính, giá trò cột hay giá trò vùng Hình 3.1 - Mô hình ER, mô hình quan hệ và bảng của vấn đề RFC MÔ HÌNH THỰC THỂ MÔ HÌNH QUAN HỆ BẢNG TRONG HQTCSDL tập thực thể quan hệ Bảng thực thể bộ dòng hay mẫu tin thuộc tính thuộc tính cột hay vùng giá trò thuộc tính giá trò thuộc tính giá trò vùng Bảng 3.1 – Mối tương quan giữa các khái niệm qua các mô hình 3 Bộ (tuple) ¾ là một bộ các giá trò của các thuộc tính trong một dòng của quan hệ. ¾ thứ tự xuất hiện các thuộc tính trong một bộ thì không ảnh hưởng đến kết quả tính toán. ¾ một bộ có tính duy nhất trong quan hệ. Nghóa là trong một quan hệ không thể có hai bộ giống nhau (giá trò các thuộc tính đều giống nhau). ¾ Một thuộc tính hay nhóm các thuộc tính dùng để phân biệt bộ này với bộ kia trong quan hệ được gọi là khoá chính. ¾ khóa chính trong một quan hệ lại xuất hiện trong một quan hệ khác được gọi là khóa ngoại. 4 Thuộc tính (attribute) Phần giao giữa dòng và cột là giá trò thuộc tính. Giá trò của thuộc tính phải là giá trò đơn không đa trò hay cấu trúc. Một quan hệ có giá trò thuộc tính như vậy thì quan hệ này đạt dạng chuẩn một. Ví dụ sau cho thấy một quan hệ mà giá trò thuộc tính đơn giá là đa trò. http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 39 5 Ký hiệu ¾ Tên quan hệ được ghi bằng chữ hoa trước ngoặc tròn và tất cả thuộc tính được liệt kê trong ngoặc tròn. ¾ Khóa chính gạch chân. ¾ Khóa ngoại viết nghiêng II KHÓA 1 Khoá (key, candidate key) Là tập hợp nhỏ nhất các thuộc tính mà giá trò của nó dùng để phân biệt bộ này với bộ kia trong một quan hệ. 2 Khóa hợp (composite key) Là khóa có trên một thuộc tính. 3 Khóa chính (primary key) Là khóa được chọn để cài đặt trong một HQTCSDL. Khi chọn khóa chính ta phải chú ý các tính chất sau: áp dụng, duy nhất, nhỏ nhất, ổn đònh. ¾ Khóa có tính áp dụng khi nó không bỏ sót bất kỳ trường hợp nào của vấn đề. ¾ Khóa phải có tính duy nhất dùng để phân biệt bộ này với bộ kia trong quan hệ. ¾ Khóa có tính nhỏ nhất khi ta bỏ bất kỳ thuộc tính nào của nó thì nó không còn tính duy nhất nữa. ¾ Khóa có tính ổn đònh khi giá trò của khóa không thay đổi. Ví dụ về khóa chính không ổn đònh WSE bán lẻ đồ điện, là cửa hàng được cung cấp hàng bởi NSD. Thỏa thuận giữa WSE và NSD là WSE phải mua tối thiểu 90% hàng của NSD. WSE có thể mua tối đa 10% hàng của những nhà cung ứng độc lập khác. WSE đang thiết lập một hệ máy tính cho điều hành và xử lý đơn hàng. Hệ sử dụng cùng mã sản phẩm với NSD và tạo mã riêng cho nguồn hàng mua từ nơi khác. Ví dụ trên dẫn tới hai vấn đề như sau: ¾ Khi NSD thay đổi mã hàng thì mã hàng của WSE sẽ bò thay đổi theo gây ra tính mất ổn đònh. ¾ Khi một mặt hàng vừa được cung ứng từ nhà cung ứng độc lập và từ NSD thì sẽ gây ra tình trạng một mặt hàng có tới hai mã hàng khác nhau. Để tránh tình trạng này buộc lòng phải thay đỗi mã hàng. http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 40 4 Khóa ngoại (foreign key) Trong mô hình quan hệ, để diễn tả mối kết hợp, người ta chép khóa chính từ quan hệ này sang quan hệ kia. Trong quan hệ nhận, khoá được chép sang gọi là khóa ngoại. 5 Khóa dự tuyển và khóa khác Ví dụ về khóa dự tuyển. ANFD (Liên hiệp các nhà phân phối thực phẩm quốc tế) là một tập đoàn phục vụ khách hàng thông qua mạng lưới các văn phòng buôn bán cấp quốc gia và nó có trên 150 văn phòng như vậy. ANFD quản lý chi tiết xe của các văn phòng đại diện bằng quan hệ sau: XE(số đăng bộ, qui cách, hình dáng, màu sắc, số sườn, số máy, mã xe, quốc gia) Bước đầu, có một số nhóm thuộc tính có khả năng phân biệt xe này với xe kia. Các nhóm thuộc tính này được gọi là khóa dự tuyển: (số đăng bộ, quốc gia), (số sườn), (số máy), (mã xe) Khóa dự tuyển Điều kiện chọn lựa Diễn giải Số đăng bộ, quốc gia Áp dụng Gây ra vấn đề khi cần lưu trữ thông tin về xe chưa đăng bộ n đònh Gây ra vấn đề vì số đăng bộ có khả năng thay đổi. Khi số đăng bộ thay đổi (khi bán xe) ta phải sửa lại giá trò số đăng bộ của xe đó làm cho khóa chính không ổn đònh Duy nhất Chỉ riêng số đăng bộ không có tính duy nhất từ quốc gia này sang quốc gia khác Nhỏ nhất Không nhỏ nhất trong phạm vi một quốc gia Số sườn Áp dụng Không có vấn đề vì mỗi xe có số sườn khác nhau n đònh Không có vấn đề vì số sườn không thay đổi Duy nhất Duy nhất cho mỗi xe Nhỏ nhất Chỉ gồm một thuộc tính thì đương nhiên nhỏ nhất Số máy Áp dụng Không vấn đề n đònh Có vấn đề vì máy có khả năng được thay mới http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 41 Duy nhất Không có vấn đề Nhỏ nhất Chỉ gồm một thuộc tính thì đương nhiên nhỏ nhất Mã xe Áp dụng Không có vấn đề vì do công ty tạo ra n đònh Không có vấn đề vì do công ty tạo ra Duy nhất Không có vấn đề vì công ty tự chòu trách nhiệm bảo đảm chúng phải khác nhau Nhỏ nhất Chúng chỉ gồm một thuộc tính nên đương nhiên nhỏ nhất Qua bảng phân tích trên thì khóa chính có khả năng là một trong hai thuộc tính sau: Số sườn và mã xe Do số sườn thường dài và không đồng nhất nên không tiện trong công tác quản lý của công ty. Công ty tự tạo ra mã xe là giải pháp chọn lựa có tính thực tiễn cao. 6 Khóa nhân tạo (khóa đại diện) artificial key (surrogate key) Đôi khi việc xác đònh khóa chính không phải lúc nào cũng thực hiện được do bốn tính chất ràng buộc: áp dụng, ổn đònh, duy nhất, nhỏ nhất. Trong các trường hợp như vậy, buộc ta phải đưa vào một thuộc tính với mục đích làm khóa chính được gọi là khóa nhân tạo (artificial key), đôi khi còn gọi là khóa đại diện (surrogate key). Các khóa nhân tạo như: mã nhân viên, mã khách hàng, số hóa đơn, mã tài sản cố đònh. Khóa nhân tạo luôn luôn thỏa 4 tính chất áp dụng, ổn đònh, duy nhất, nhỏ nhất. Khi sử dụng khóa nhân tạo ta cần chú ý các điều sau: ¾ Không gắn ngữ nghóa của vấn đề vào khóa như mã khách hàng từ 1 đến 1000 là khách hàng của các chi nhánh phía bắc, mã khách hàng lớn hơn 1000 là khách hàng của các chi nhánh phía nam. ¾ Không dùng lại giá trò khóa đã xóa cho một bộ giá trò mới vì ảnh hưởng đến dữ liệu cũ. ¾ Kiểm tra trường hợp nhập hai bộ giá trò của một đối tượng. 7 Khóa phụ (Secondary keys) Khóa phụ là một thuộc tính hay một nhóm các thuộc tính thường hay được sử dụng trong khai thác dữ liệu. Ví dụ vấn đề Trường cao đẳng cộng đồng núi Ayers có thuộc tính tên học viên và thuộc tính tên môn học hay được dùng trong tìm kiếm nên chúng được sắp xếp để đẩy nhanh tốc độ xử lý. Những vùng này được gọi là khóa phụ. III NHỮNG TÍNH CHẤT KHÁC CỦA MÔ HÌNH QUAN HỆ Những tính chất khác của mô hình quan hệ là: ¾ Đại số quan hệ, phép tính quan hệ và ¾ Ràng buộc toàn vẹn 1 Đại số quan hệ, phép tính quan hệ Đại số quan hệ và phép tính quan hệ tạo ra một số chức năng như: http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 42 ¾ Trích một số dòng trong quan hệ. ¾ Trích một số cột trong quan hệ. ¾ Kết nối quan hệ thông qua khóa ngoại Các chức năng này được thể hiện trong HQTCSDL quan hệ qua ngôn ngữ SQL. SQL là ngôn ngữ phi thủ tục chúng khai thác dữ liệu bằng cách mô tả truy xuất cái gì hơn là truy xuất như thế nào. 2 Ràng buộc toàn vẹn Mô hình quan hệ đònh nghóa ba mức ràng buộc: ¾ Ràng buộc toàn vẹn thực thể (Entity integrity constraint) ¾ Ràng buộc toàn vẹn tham chiếu (Referential integrity constraint) ¾ Ràng buộc toàn vẹn loại dữ liệu (Data type integrity constraint) ¾ Ràng buộc miền giá trò (Domain integrity constraint) i Ràng buộc thực thể (entity Integrity) Thực chất của ràng buộc thực thể là các ràng buộc trên khóa chính thỏa mãn các tính chất: duy nhất, không rỗng, nhỏ nhất. ii Ràng buộc phụ thuộc tồn tại (referential Integrity) Ràng buộc tồn tại đòi hỏi giá trò khóa ngoại trong một quan hệ phải tồn tại trong quan hệ có khóa chính tương ứng. HỌC VIÊN MÔN HỌC Mã học viên Tên học viên … Mã môn học Mã môn học Tên môn học Thời lượng 91215 Jenny BBW BKE Cử nhân công nghệ bay 36 92325 Mun Chan ADRC ADRC Chứng chỉ leo núi 12 93642 Alexander … DFA BBW Cử nhân nuôi chim 24 … … … … DFA Văn bằng cắm hoa 18 … … … …. 96789 Sarah DJK ? Hình 3.7 – Ràng buộc sư tồn tại bò vi phạm bởi học viên 96789 iii Ràng buộc loại dữ liệu (data type integrity) Ràng buộc loại dữ liệu đòi hỏi giá trò thuộc tính phải là loại dữ liệu của thuộc tính. Ví dụ Trường cộng đồng núi Ayers quyết đònh thu học phí các môn học và học phí của mỗi môn học thì khác nhau. Ta lưu trữ thông tin này bằng cách thêm thuộc tính học phí vào quan hệ môn học. Ta được: MÔN HỌC(mã môn học , tên môn học, thời lượng, học phí) Loại dữ liệu của thuộc tính học phí là loại tiền tệ như các giá trò sau: $280.00,$65.95,$890.99 3 Kết nối quan hệ Toán tử kết nối quan hệ được cài đặt trong công cụ SQL của HQTCSDL. Ví dụ: để khai thác chi tiết về học viên đang học môn học gì thì quan hệ HỌC VIÊN và MÔN HỌC phải được kết nối thông qua mã môn học 4 Miền giá trò (data domain integrity) Miền giá trò là các giá trò có thể có trong loại dữ liệu. Ví dụ Trường cộng đồng núi Ayers quyết đònh mức học phí của từng môn học không lớn hơn $300.00. Như vậy miền giá trò là từ 0 đến $300.00. Miền giá trò nằm trong qui tắc quản lý của doanh nghiệp, thường hay thay đổi còn loại giá trò thì ít thay đổi. http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 43 5 Ràng buộc do người dùng (user constraint) ¾ Học sinh khuyết tật được giảm 10% học phí ¾ Đơn mua hàng có giá trò lớn hơn $10.000 được giảm 5%. IV QUI TẮC BIẾN ĐỔI MÔ HÌNH ER THÀNH MÔ HÌNH QUAN HỆ 1 Qui tắc biến đổi mô hình ER Khi biến đổi mô hình ER thành các mô hình quan hệ ta áp dụng các qui tắc sau: ¾ Mỗi tập thực thể trong mô hình ER được chuyển thành một quan hệ. ¾ Mỗi thuộc tính trong mô hình ER được chuyển thành thuộc tính trong quan hệ tương ứng. ¾ Thuộc tính nhận diện trong mô hình ER được chuyển thành khóa chính trong quan hệ tương ứng. Trường hợp khóa chính không thỏa 4 tính chất chọn lựa, thì phải chọn khóa chính khác hay đưa vào khóa nhân tạo. ¾ Thể hiện mối kết hợp thông qua khóa ngoại. 2 Qui tắc thể hiện mối kết hợp thông qua khóa ngoại i Mối kết hợp một-một ¾ Chuyển khóa chính từ quan hệ 1 sang quan hệ 2 hay ngược lại. Ví dụ vấn đề người lái xe và bằng lái sẽ có mô hình quan hệ là một trong hai mô hình quan hệ sau http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 44 ii Mối kết hợp một-nhiều ¾ Chuyển khóa chính từ bên một sang bên nhiều. iii Mối kết hợp nhiều nhiều được giải bằng tập kết hợp http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 45 Mô hình quan hệ HỌC VIÊN (mã học viên , tên học viên, đòa chỉ, ngày sinh, số điện thoại) MÔN HỌC (mã môn học , tên môn học, thời lượng) PHIẾU GHI DANH (mã học viên , mã môn học, ngày nhập học) Hình 3.10 - Mô hình ER và mô hình quan hệ của vấn đề Trường Cao Đẳng Cộng Đồng Núi Xanh Trong quan hệ PHIẾU GHI DANH có các khóa chính khóa ngoại như sau: + mã học viên là khóa ngoại + mã môn học là khóa ngoại + mã học viên và mã môn học là khóa chính iv Mối kết hợp nhiều-nhiều ¾ Tạo một quan hệ mới có khóa chính là sự kết hợp các khóa chính của hai quan hệ có bản số kết nối nhiều nhiều. ¾ Ví dụ giả sử Trường Cao Đẳng Cộng Đồng Núi Xanh không quan tâm đến ngày nhập học của học viên thì mô hình ER sẽ có mối kết hợp nhiều nhiều như sau: 3 Tóm tắt các qui tắc biến đổi http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 46 MÔ HÌNH DỮ LIỆU QT 1: Mỗi tập thực thể trong mô hình ER được chuyển thành một quan hệ QT 2: Mỗi thuộc tính trong mô hình ER được chuyển thành thuộc tính trong quan hệ tương ứng QT 3: Thuộc tính nhận diện trong mô hình ER được chuyển thành khóa chính trong quan hệ tương ứng.Trường hợp khóa chính không thỏa 4 tính chất chọn lựa, thì phải chọn khóa chính khác hay đưa vào khóa nhân tạo. QT 4: Thể hiện mối quan hệ thông qua khóa ngoại: 1 : 1 Chuyển khóa chính từ quan hệ 1 sang quan hệ 2 hay ngược lại. 1 :M Chuyển khóa chính từ bên một sang bên nhiều. M:M Tạo quan hệ toàn khóa QUAN HỆ DỰ TUYỂN Hình 3.14 - Tóm tắt các qui tắc biến đổi mô hình ER thành mô hình quan hệ trên khung của các giai đoạn DỮ LIỆU YÊU CẦU PHÂN TÍCH THIẾT KẾ V BÀI TẬP 1 Bài tập 1 Đối với vấn đề sau đây hãy: • (a) xây dựng mô hình ER • (b) đề xuất về thuộc tính nhận diện và thuộc tính mô tả một cách thích hợp. • (c) chuyển mô hình ER thành mô hình quan hệ và cho biết khóa chính, khóa ngoại. • (d) kê thêm các giả đònh của vấn đề. Một nhân viên có thể yêu cầu được cung cấp vật tư từ người quản lý. Nếu người quản lý đồng ý với bản yêu cầu thì các vật tư từ bản yêu cầu được chọn theo nhà cung cấp để tạo các đơn mua hàng và gởi cho các nhà cung cấp thích hợp. 2 Trắc nghiệm 2.1) A table’s primary key field A) Guaranties that each row is unique B) Is always referenced by a foreign key in another table C) Is a combination of two keys that make a foreign key D) In a one to many relationship is also its own foreign key. E) Is always stored in one column 2.2) Entity integrity is when: A) There are no composite primary keys B) Referential integrity has been upheld. C) None of the above. D) Primary key values are unique. E) Entity relationship diagram is correct 2.3) The field used to id records in a database table is known as the: A) Query Identifier B) Primary key C) Relational Column D) Header E) Row [...]...Taứi lieọu Phaõn Tớch Thieỏt Keỏ Heọ Thoỏng 47 2 .4) Which of the following is correct about referential integrity? Ensures tables are up to date A) Prevents data tables from having orphans B) C) Shows how tables are related to each other oOo http://www.ebook.edu.vn . liệu Phân Tích Thiết Kế Hệ Thống 37 Chương 4 . MÔ HÌNH QUAN HỆ (THE RELATIONAL MODEL) I MÔ HÌNH QUAN HỆ LÀ GÌ 1 Quan hệ (relation) Mô hình quan hệ xoay quan các khái niệm quan hệ, bộ. liệu Phân Tích Thiết Kế Hệ Thống 40 4 Khóa ngoại (foreign key) Trong mô hình quan hệ, để diễn tả mối kết hợp, người ta chép khóa chính từ quan hệ này sang quan hệ kia. Trong quan hệ nhận,. bằng lái sẽ có mô hình quan hệ là một trong hai mô hình quan hệ sau http://www.ebook.edu.vn Tài liệu Phân Tích Thiết Kế Hệ Thống 44 ii Mối kết hợp một-nhiều ¾ Chuyển khóa chính từ