M HNH D LIU QUAN H Quan h

  • Slides: 16
Download presentation
MÔ HÌNH DỮ LIỆU QUAN HỆ

MÔ HÌNH DỮ LIỆU QUAN HỆ

Quan hệ- bảng dữ liệu Quan hệ là một bảng dữ liệu hai chiều

Quan hệ- bảng dữ liệu Quan hệ là một bảng dữ liệu hai chiều được đặt tên. Mỗi quan hệ (hay bảng) gồm một số hữu hạn các cột được đặt tên và một số tuỳ ý các dòng không có tên. Ví dụ: Bảng dữ liệu ĐƠN HÀNG ban đầu SốĐH 1031 1032 Mã KH K 12 K 14 Tên KH Trần Văn K Lê Xuân V Địa chỉ 15 LTT, HP 27, TXS, HP Ngày_ĐH Mã MH Tên MH ĐVT SL DG T. Tiền 12/10/1999 20 -VN 20 -FA K 3 -V 1 Que hàn Máy hàn kg kg cái 12 24 1 17 24 105 204 588 105 21/11/2000 20 -VN 20 -FA K 3 -V 1 Que hàn Máy hàn kg kg cái 10 20 1 17 24 105 170 480 105

Quan hệ- bảng dữ liệu Ví dụ: Bảng dữ liệu ĐƠN HÀNG ban đầu

Quan hệ- bảng dữ liệu Ví dụ: Bảng dữ liệu ĐƠN HÀNG ban đầu SốĐH 1031 1032 Mã KH K 12 K 14 Tên KH Trần Văn K Lê Xuân V Địa chỉ 15 LTT, HP 27, TXS, HP Ngày_ĐH Mã MH Tên MH ĐVT SL DG T. Tiền 12/10/1999 20 -VN 20 -FA K 3 -V 1 Que hàn Máy hàn kg kg cái 12 24 1 17 24 105 204 588 105 21/11/2000 20 -VN 20 -FA K 3 -V 1 Que hàn Máy hàn kg kg cái 10 20 1 17 24 105 170 480 105 ĐƠN HÀNG (Số ĐH, Mã KH, Tên_KH, Địa chỉ, Ngày_ĐH, Mã MH, Tên MH, ĐVT, SL, ĐG, T. Tiền) Dạng mô tả như trên gọi là lược đồ quan hệ. Có thể hiểu một cách đơn giản, lược đồ quan hệ là một quan hệ trong đó không chứa dữ liệu. Như vậy, khi bàn về cấu trúc của quan hệ, chỉ cần đề cập đến lược đồ quan hệ là đủ.

Quan hệ- bảng dữ liệu Các tính chất của quan hệ Một quan hệ

Quan hệ- bảng dữ liệu Các tính chất của quan hệ Một quan hệ là một bảng hai chiều, nhưng không phải mọi bảng có cột và dòng đều là quan hệ. Một quan hệ có các tính chất sau: 1. Giá trị đưa vào mỗi cột phải là đơn nhất (single-valued hay atomic). 2. Các giá trị đưa vào cùng một cột phải thuộc cùng một miền dữ liệu. 3. Mỗi dòng trong bảng phải là duy nhất. Trong bảng không có hai dòng nào giống hệt nhau. Điều kiện duy nhất của các dòng dữ liệu tương đương với điều kiện là bảng có khoá chính khác trống. 4. Thứ tự các cột trong bảng là không quan trọng. Cột được xác định thông qua tên chứ không phải dựa vào vị trí của chúng. 5. Thứ tự các dòng là không quan trọng. Cũng như các cột, các dòng có thể đổi chỗ cho nhau. Có thể xem dữ liệu trong bảng với các thứ tự khác nhau của các dòng, tuỳ theo yêu cầu.

Quan hệ- bảng dữ liệu Chất lượng của quan hệ Quan hệ có cấu

Quan hệ- bảng dữ liệu Chất lượng của quan hệ Quan hệ có cấu trúc tốt là quan hệ có lượng dư thừa dữ liệu ít nhất và cho phép người sử dụng thêm, sửa đổi hay xoá các dòng dữ liệu mà không gây ra lỗi hoặc sự không nhất quán trong bảng. Khi xây dựng một hệ thống thông tin với mô hình quan hệ, ở thời điểm ban đầu, các thuộc tính có thể được gom nhóm một cách tuỳ ý thành các lược đồ quan hệ, theo kinh nghiệm làm việc và nhận thức chủ quan của phân tích viên đối với thực tế trong hệ thống thực. Các lược đồ như vậy thường không có chất lượng cao. Nhược điểm thường gặp phải là sự dư thừa thông tin: một thông tin có mặt ở nhiều chỗ khác nhau trong một quan hệ, hoặc có mặt trong nhiều quan hệ khác nhau. Sự dư thừa dẫn đến sự không nhất quán trong dữ liệu khi thực hiện các thao tác thêm, sửa hoặc xoá đối với dữ liệu.

Quan hệ- bảng dữ liệu Số thẻ 1 1 Hạn SD Tên bạn đọc

Quan hệ- bảng dữ liệu Số thẻ 1 1 Hạn SD Tên bạn đọc Mã sách Cơ quan Tên sách Tác giả Ng mượn 131 Trần Văn Hùng K 171 11/2002 S 021 Software Engineering Roger S. P 12/10/1999 131 Trần Văn Hùng K 171 11/2002 H 234 Program Design Juliff P. 12/10/1999 131 Trần Văn Hùng K 171 11/2002 C 045 Toán học cao cấp Ng. Đình Trí 01/10/2002 131 Trần Văn Hùng K 171 11/2002 S 123 Turbo Pascal 5. 5 A. Sch�pers 12/10/2000 134 Nguyễn Nam K 171 10/2003 G 022 Theory of Graphs Oystein Ore 12/10/1999 137 Lê Văn Tiến P 01 7/2002 T 066 The Art of Programming D. E. Knuth 11/11/2001 137 Lê Văn Tiến P 01 7/2002 S 023 Software Engineering Roger S. P 12/10/1999 145 Hoàng Văn An P 01 11/2002 S 025 Software Engineering Roger S. P 12/10/1999 145 Hoàng Văn An P 01 11/2002 P 221 Pascal User Manual &Report N. Wirth 11/07/1998 145 Hoàng Văn An P 01 11/2002 T 067 Computer Algorithms Sara Baase 10/12/2002

Quan hệ- bảng dữ liệu Chèn thêm dòng: Giả sử cần thêm một bạn

Quan hệ- bảng dữ liệu Chèn thêm dòng: Giả sử cần thêm một bạn đọc mới. Bạn đọc này chưa mượn sách ở thời điểm này. Vậy là chưa có gi để điền vào các cột “Mã sách”, “Tên sách”, “Tác giả” và “Ng. mượn”. Mặt khác, khoá chính của bảng là tổ hợp của “Số thẻ” và “Mã sách”. Với dòng dữ liệu mới này không xác định được giá trị khoá chính. Xoá một dòng: Giả sử thông tin về bạn đọc có số thẻ 134 không còn cần thiết đối với hệ thống. Cần xoá dòng ứng với “Số thẻ” là 134. Lúc này, thông tin về quyển sách G 022, Theory of Graphs, của Oystein Ore cũng hoàn toàn bị xoá, mặc dù quyển sách có thể vẫn còn trong thư viện. Sửa một dòng: Giả sử bạn đọc “Trần Văn Hùng” với thẻ đọc có số 131 được gia hạn sử dụng. Rõ ràng là người quản trị phải sửa lại hạn sử dụng mới trên cả bốn dòng. Nếu không sửa hạn sử dụng trên tất cả các dòng của bạn đọc này, có thể dẫn đến những xử lý không chính xác. Cần tách thông tin về bạn đọc rời khỏi thông tin về sách để khắc phục những dị thường (anomaly) sinh ra bởi các trường hợp nêu trên. Mặt khác, cũng cần một quan hệ mô tả mối liên kết “Mượn” giữa “Bạn đọc” và “Sách”.

Chuẩn hóa các bảng dữ liệu Dạng chuẩn 1 -3: Dạng chuẩn 1. Quan

Chuẩn hóa các bảng dữ liệu Dạng chuẩn 1 -3: Dạng chuẩn 1. Quan hệ là 1 NF nếu không chứa các thuộc tính lặp. Mô hình quan hệ được trình bày ở đây dựa vào mô hình của Codd đưa ra vào năm 1970, trong đó, các thuộc tính phải là đơn, nghĩa là giá trị của các ô là giao của hàng và cột phải có giá trị đơn (xem phần I. 2). Như vậy, mọi quan hệ đều là 1 NF. Dạng chuẩn 2. Quan hệ R là 2 NF nếu nó là 1 NF và phụ thuộc hàm giữa các thuộc tính ngoài khoá và khoá đều là các phụ thuộc hàm sơ đẳng. Nói cách khác, mọi thuộc tính ngoài khoá đều không có phụ thuộc hàm vào bộ phận của khoá. Dạng chuẩn 3. Quan hệ R là 3 NF nếu nó là 2 NF và nếu các phụ thuộc hàm giữa các thuộc tính ngoài khoá và khoá đều là các phụ thuộc hàm trực tiếp - nghĩa là không tồn tại những phụ thuộc hàm ngoài khoá. Nếu R không phải là 3 NF, nghĩa là trong R tồn tại thuộc tính không phụ thuộc hàm trực tiếp vào khoá.

Chuẩn hóa các bảng dữ liệu Các bước chuẩn hóa: Bảng dữ liệu ban

Chuẩn hóa các bảng dữ liệu Các bước chuẩn hóa: Bảng dữ liệu ban đầu Tách thuộc tính lặp Chuẩn 1 (1 NF) Tách phụ thuộc riêng Chuẩn 2 (2 NF) Tách phụ thuộc không trực tiếp Chuẩn 3 (3 NF)

Chuẩn hóa các bảng dữ liệu Ví dụ: Bảng dữ liệu ĐƠN HÀNG ban

Chuẩn hóa các bảng dữ liệu Ví dụ: Bảng dữ liệu ĐƠN HÀNG ban đầu SốĐH 1031 1032 Mã KH K 12 K 14 Tên KH Trần Văn K Lê Xuân V Địa chỉ 15 LTT, HP 27, TXS, HP Ngày_ĐH Mã MH Tên MH ĐVT SL DG T. Tiền 12/10/1999 20 -VN 20 -FA K 3 -V 1 Que hàn Máy hàn kg kg cái 12 24 1 17 24 105 204 588 105 21/11/2000 20 -VN 20 -FA K 3 -V 1 Que hàn Máy hàn kg kg cái 10 20 1 17 24 105 170 480 105

Chuẩn hóa các bảng dữ liệu Bảng dữ liệu ĐƠN HÀNG sau khi tách

Chuẩn hóa các bảng dữ liệu Bảng dữ liệu ĐƠN HÀNG sau khi tách lặp (1 NF) Phần đầu ĐH: Số ĐH Mã KH Tên KH Địa chỉ Ngày ĐH 1031 K 12 Trần Văn K 15, LTT, HP 12/10/1999 1032 K 14 Lê Xuân V 27, TXS, HP 21/11/2000 Chi tiết ĐH: Số ĐH Mã MH Tên MH ĐVT SL DG T. Tiền 1031 20 -VN Que hàn kg 12 17 204 1031 20 -FA Que hàn kg 24 24 588 1031 K 3 -V 1 Máy hàn cái 1 105 1032 20 -VN Que hàn kg 10 17 170 1032 20 -FA Que hàn kg 20 24 480 1032 K 3 -V 1 Máy hàn cái 1 105

Chuẩn hóa các bảng dữ liệu Phần đầu ĐH: Chi tiết ĐH: Số ĐH

Chuẩn hóa các bảng dữ liệu Phần đầu ĐH: Chi tiết ĐH: Số ĐH Mã KH Tên KH Địa chỉ Ngày ĐH 1031 K 12 Trần Văn K 15, LTT, HP 12/10/1999 1032 K 14 Lê Xuân V 27, TXS, HP 21/11/2000 Số ĐH Mã MH Tên MH ĐVT SL DG T. Tiền 1031 20 -VN Que hàn kg 12 17 204 1031 20 -FA Que hàn kg 24 24 588 1031 K 3 -V 1 Máy hàn cái 1 105 1032 20 -VN Que hàn kg 10 17 170 1032 20 -FA Que hàn kg 20 24 480 1032 K 3 -V 1 Máy hàn cái 1 105 Yếu tố nghiệp vụ: -Đơn vị tính thống nhất? Có bao hàm? -Đơn giá: - thống nhất trong khoảng thời gian dài, - tùy từng đơn hàng, - tùy từng ngày Giả thiết: - Đơn vị tính thống nhất - Đơn giá tính theo từng đơn hàng

Chuẩn hóa các bảng dữ liệu Bảng dữ liệu 2 NF Phần đầu ĐH:

Chuẩn hóa các bảng dữ liệu Bảng dữ liệu 2 NF Phần đầu ĐH: Chi tiết ĐH: Mặt hàng: Số ĐH Mã KH Tên KH Địa chỉ Ngày ĐH 1031 K 12 Trần Văn K 15, LTT, HP 12/10/1999 1032 K 14 Lê Xuân V 27, TXS, HP 21/11/2000 Số ĐH Mã MH SL DG T. Tiền 1031 20 -VN 12 17 204 1031 20 -FA 24 24 588 1031 K 3 -V 1 1 105 1032 20 -VN 10 17 170 1032 20 -FA 20 24 480 1032 K 3 -V 1 1 105 Mã MH Tên MH ĐVT DG 20 -VN Que hàn kg 17 20 -FA Que hàn kg 24 K 3 -V 1 Máy hàn cái 105

Bảng dữ liệu 3 NF Khách hàng: Phần đầu ĐH: Mặt hàng: Mã KH

Bảng dữ liệu 3 NF Khách hàng: Phần đầu ĐH: Mặt hàng: Mã KH Tên KH Địa chỉ K 12 Trần Văn K 15, LTT, HP K 14 Lê Xuân V 27, TXS, HP Số ĐH Mã KH Ngày ĐH 1031 K 12 12/10/1999 1032 K 14 21/11/2000 Chi tiết ĐH: Mã MH Tên MH ĐVT Số ĐH Mã MH SL DG T. Tiền 20 -VN Que hàn kg 1031 20 -VN 12 17 204 20 -FA Que hàn kg 1031 20 -FA 24 24 588 K 3 -V 1 Máy hàn cái 1031 K 3 -V 1 1 105 20 -VN Que hàn kg 1032 20 -VN 10 17 170 20 -FA Que hàn kg 1032 20 -FA 20 24 480 K 3 -V 1 Máy hàn cái 1032 K 3 -V 1 1 105

Liên kết giữa các bảng Khách hàng: Phần đầu ĐH: Mặt hàng: Mã KH

Liên kết giữa các bảng Khách hàng: Phần đầu ĐH: Mặt hàng: Mã KH Tên KH Địa chỉ K 12 Trần Văn K 15, LTT, HP K 14 Lê Xuân V 27, TXS, HP Số ĐH Mã KH Ngày ĐH 1031 K 12 12/10/1999 1032 K 14 21/11/2000 Chi tiết ĐH: Mã MH Tên MH ĐVT Số ĐH Mã MH SL DG T. Tiền 20 -VN Que hàn kg 1031 20 -VN 12 17 204 20 -FA Que hàn kg 1031 20 -FA 24 24 588 K 3 -V 1 Máy hàn cái 1031 K 3 -V 1 1 105 20 -VN Que hàn kg 1032 20 -VN 10 17 170 20 -FA Que hàn kg 1032 20 -FA 20 24 480 K 3 -V 1 Máy hàn cái 1032 K 3 -V 1 1 105

Xét ví dụ Bảng dữ liệu trực ban (TB) Danh sách TB (DSTB): Tháng

Xét ví dụ Bảng dữ liệu trực ban (TB) Danh sách TB (DSTB): Tháng 08/2012 Mã CB Họ tên Số ĐT Email Ngày TB Đơn vị Chỉ huy trực tiếp Số ĐT Email Sẵn sàng Cán bộ thay thế 1031 N. V. Hoàng 09. . 12 hoang@. . . 01 K 12 N. V. Ngọc 09. . 12 ngoc@. . K N. V. Bình T. V. Hùng 09. . 13 hung @. . . 02 K 12 N. V. Ngọc 09. . 13 ngoc @. . . C H. V. Quân 09. . 21 quan@. . 03 K 12 N. V. Ngọc 09. . 21 ngoc@. . C … … … C 1032 1133 …. … 2232 1432 … … 09. . 10 hoa@. . . 20 K 13 H. Q. Thái 09. . 10 thai@. . . T. V. Nhung 09. . 20 nhung@. . 21 K 24 T. V. Bắc 09. . 20 bac@. . … … … binh@. . 06 K 21 … 4. … N. T. Hoa … Yêu cầu nghiệp 09. . 01 vụ: 1035 N. H. Bình 1. 2. 3. … … N. V. Thời … 09. . 01 … thoi@. . … … … Giờ giao nhận ban là G. Thông báo trước cho người trực h giờ, tối đa m lần. Khi người trực có phản hồi khẳng định sẵn sành, ghi nhận lại tình trạng sẵn sàng là c. Nếu người trực không phản hồi lại hoặc khẳng định không sẵn sàng thì thông báo cho người chỉ huy trực tiếp để cử người thay thế. Trong trường hợp người chỉ huy trực tiếp không có phản hồi thì nười chỉ huy chung (24/24) sẽ chỉ định người thay thế.