Xem mẫu

  1. Chương 4. PHÂN TÍCH HỆ THỐNG VỀ DỮ LIỆU Thời gian: 12 g (LT: 4g; TH:8g; KT:0g) Mục tiêu: Sau khi học xong phần này người học có khả năng: - Trình bày được các khái niệm, thành phần, qui trình,... của các phương pháp phân tích hệ thống thông tin về dữ liệu; - Xây dựng được lược đồ cấu trúc dữ liệu cho một số hệ thống thông tin thông dụng (giải định, khảo sát trực tiếp trong thực tiễn); - Chuẩn hóa được các quan hệ về dạng chuẩn; - Rèn luyện ý thức lao động, tác phong công nghiệp, có trách nhiệm và sáng tạo. Nội dung: 4.1. PHƯƠNG TIỆN MÔ TẢ DỮ LIỆU. 4.1.1. Mã hóa dữ liệu 4.1.1.1. Khái niệm mã hoá Mã là tên viết tắt gắn cho một đối tượng nào đó hay nói cách khác mỗi đối tượng cần có tên và vấn đề đặt ra là ta sẽ đặt tên cho đối tượng như thế nào. Trong mỗi đối tượng gồm nhiều thuộc tính khác nhau thì yêu cầu mã hoá cho các thuộc tính cũng là yêu cầu cần thiết. Ngoài ra mã hoá còn là hình thức chuẩn hoá dữ liệu để phân loại dữ liệu lưu trữ và tìm kiếm có hiệu quả và bảo mật dữ liệu đặc biệt trong các hệ thống thông tin xử lý bằng máy tính. Một số Ví dụ về mã hoá: - Khi ta cần xác định một công dân thì số chứng minh thư hoặc số hộ chiếu là mã của công dân đó. - Khi cần xác định xe ô tô hay xe máy thì biển số xe là mã của xe đó. 4.1.1.2. Chất lượng và yêu cầu đối với mã hoá Trong thực tế ta gặp rất nhiều đối tượng cần mã hoá như mã hoá ngành nghề cần đào tạo, mã hoá các bệnh, mã số điện thoại, mã thẻ sinh viên, thẻ bảo hiểm y tế,... Chúng ta có nhiều phương pháp mã khác nhau. Do vậy cần xác định một số tiêu chí để đánh giá chất lượng của việc mã hoá: 68
  2. - Mã hoá không được nhập nhằng: Thể hiện ánh xạ 1-1 giữa mã hoá và giải mã mỗi đối tượng được xác định rõ ràng và duy nhất với một mã nhất định. - Thích ứng với phương thức sử dụng: Việc mã hoá có thể tiến hành bằng thủ công nên cần phải rễ hiểu, dễ giải mã, và việc mã hoá bằng máy đòi hỏi cú pháp chặt chẽ. - Có khả năng mở rộng mã: + Thêm phía cuối (sau) của các mã đã có + Xen mã mới vào giữa các mã đã có, thường mã xen phải dùng phương pháp cóc nhảy, nhảy đều đặn dựa vào thống kê để tránh tình trạng “bùng nổ ” mã. - Mã phải ngắn gọn làm giảm kích cỡ của mã, đây cũng là mục tiêu của mã hoá. Tuy nhiên điều này đôi khi mâu thuẫn với khái niệm mở rộng mã sau này. - Mã có tính gợi ý: Thể hiện tính ngữ nghĩa của mã. Đôi khi tính gợi ý là yêu cầu đối với mã công khai, và làm cho việc mã hoá thuận tiện dễ dàng. - Cách mã cần xác định sao cho tối thiểu hoá sai sót khi mã và giảm tính dư thừa của mã. 4.1.1.3. Các kiểu mã hoá - Mã hoá liên tiếp (Serial Coding): Ta dùng các số nguyên liên tiếp 000,001, 002...để mã hoá. Phương pháp này thường để đánh số thứ tự trong danh sách các đối tượng. + Ưu điểm: Không nhập nhằng, đơn giản, thêm phía sau. + Khuyết điểm: Không xen được, thiếu tình gợi ý vì cần phải có bảng tương ứng và không phân theo nhóm - Mã hoá theo lát (lớp) Sử dụng các số nguyên như mã hoá liên tiếp nhưng phân ra theo lát( lớp) cho từng loại đối tượng, trong mỗi lát dùng mã liên tiếp. Ví dụ: Mã hoá các đối tượng là các hàng ngũ kim Vùng 1: 0001 – 0999 để mã hóa các hàng ngũ kim bé, trong đó: 001 – 0099 để mã hóa các loại vít 0100 – 0299 để mã hóa các loại êcu 0300 – 0499 để mã hóa các loại bulong 0500 – 0599 để mã hóa các loại đinh .... 69
  3. Vùng 2: 1000 – 1999 để mã hóa các chi tiết kim loại, trong đó 1000 – 1099 để mã hóa các loại sắt chữ U .... + Ưu điểm: Không nhập nhằng, đơn giản, có thể mở rộng và xen thêm được. + Nhược điểm: vẫn phải dùng bảng tương ứng. - Mã phân đoạn: Bản thân mã được phân thành nhiều đoạn mỗi đoạn mang một ý nghĩa riêng. Ví dụ: Số đăng kí xe máy: Biển số xe của ông X là 29 F6 6956 là 2 9 F 6 6 9 5 6 biển xe đăng kí tại Hà Nội (mã tỉnh là 29). + Ưu điểm: Không nhập nhằng, mở rộng Tỉnh Lát (xê ri) Số liên tiếp ,xen thêm được và được dùng khá phổ biến, loại mã này cho phép thiết lập các phương thức kiểm tra gián tiếp đối với mã của các đối tượng bằng cách trích rút các đoạn mã để kiểm tra. + Nhược điểm: Mã quá dài nên thủ tục mã nặng nề, không cố định và vẫn có thể bị bão hoà mã. - Mã phân cấp: Các đối tượng được mã hoá theo chế độ phân cấp các chi tiết nhỏ dần. Một hình ảnh khá quen thuộc của mã hoá phân cấp là đánh số chương, tiết, mục trong một quyển sách. Bài 1 1.1 1.2 Bài 2 2.1 2.1.1 2.2.2 2.2 + Ưu điểm: Các ưu điểm tương tự như mã hoá phân đoạn, ngoài ra việc tìm kiếm mã dễ dàng. + Khuyết điểm: Tương nhự như các nhược điểm của mã phân đoạn. 70
  4. - Mã diễn nghĩa: Bằng cách gán một tên ngắn gọn nhưng hiểu được cho một đối tượng. Ví dụ : Đội bóng các nước tham gia giải Tiger cup được mã bằng cách lấy ba kí tự đầu như sau: VIE: Việt Nam, THA: Thailand, SIN: Singapore, IND: indonesia, MAL : Malaysia. + Ưu điểm: Tiện dùng cho sử lý bằng thủ công. + Khuyết điểm: Không giải mã được bằng máy tính. Các chú ý khi lựa chọn sự mã hoá Như đã nêu ở trên, có nhiều phương pháp mã hoá khác nhau, có thể sử dụng một kiểu mã nào đó, cũng có thể sử dụng kết hợp nhiều kiểu để đạt chất lượng mã tốt nhất. Việc lựa chọn mã hoá cần dựa vào các yếu tố sau: - Nghiên cứu việc sử dụng mã sau này. - Nghiên cứu số lượng đối tượng được mã hoá để lường trước được sự phát triển. - Nghiên cứu sự phân bố thống kê các đối tượng để phân bố theo lớp. - Tìm xem đã có những mã nào được dùng trước đó cho các đối tượng này để kế thừa. - Thỏa thuận với người dùng cách mã. - Thử nghiệm trước khi dùng chính thức để chỉnh lý kịp thời. 4.1.2. Từ điển dữ liệu 4.1.2.1. Khái niệm Từ điển dữ liệu là một tư liệu tập trung mọi tên gọi của mọi đối tượng được dùng trong hệ thống trong cả các giai đoạn phân tích, thiết kế, cài đặt và bảo trì. Nó là văn phạm giả hình thức mô tả nội dung của các sự vật, đối tượng theo định nghĩa có cấu trúc. Chẳng hạn trong biểu đồ luồng dữ liệu(BLD): các chức năng xử lý, kho dữ liệu, luồng dữ liệu chỉ mô tả ở mức khái quát thường là tập hợp các khoản mục riêng lẻ. Các khái quát này cần được mô tả chi tiết hơn qua công cụ từ điển dữ liệu. 4.1.2.2. Cấu tạo từ điển Từ điển dữ liệu gồm các mục từ và lời giải thích. Lời giải thích thể hiện được cấu trúc của 1 từ bản chất liền giá trị và phạm vi sử dụng Ví dụ: Luồng dữ liệu 71
  5. Bảng 4.1: Mục từ cho luồng dữ liệu “Phiếu yêu cầu” Mục từ Nội dung - Ý nghĩa : Luồng dữ liệu chuyển từ tác nhân ngoài” Bạn đọc” đến Phiếu yêu cầu tiến trình” Xử lý phiếu yêu cầu - Thành phần: Số thẻ đọc, Tên tài liệu, Tên tác giả, Số cá biệt, Ngày viết phiếu Ví dụ: Kho dữ liệu Bảng 4.2: Mục từ cho kho dư liệu “Sách” Mục từ Nội dung - Ý nghĩa: Chứa mọi thông tin về sách trong thư viện - Thành phần: Số cá biệt, Tên sách, Tên tác giả, Năm xuất bản, Nhà xuất bản, Lần xuất bản, Ngày nhập, Loại sách, Các từ khoá, Tóm tắt nội dung, Vị trí trong kho,Trạng thái mượn - Tổ chức: Lưu trữ tuần tự và được sắp xếp theo “Số cá biệt”. Khi Sách cập nhật sách mới được xếp vào đúng vị trí của nó trong kho - Các xử lý liên quan : Cập nhật sách mới, Huỷ sách cũ, Tìm kiếm sách theo các thành phần thông tin riêng biệt 4.2. XÂY DỰNG MÔ HÌNH THỰC THỂ LIÊN KẾT. 4.2.1. Các khái niệm Mô hình thực thể liên kết (Entity Association E/A) xuất phát từ ba khái niệm cơ bản: thực thể, liên kết và thuộc tính. - Thực thể: Một thực thể( entity) là một vật thể cụ thể hay trừu tượng, tồn tại thực sự và khá ổn định trong thế giới thực, mà ta muốn phản ánh nó trong hệ thống thông tin. Ví dụ: Thực thể cụ thể như: Học sinh Trần Ngọc Kha, Hóa đơn số 58 Thực thể trìu tượng như: Khoa Công Nghệ Thông Tin - Thuộc tính: Thuộc tính (Property hay arttibute) là một giá trị dùng để mô tả một khía cạnh nào đó của một thực thể. Ví dụ: Tuổi của Trần Ngọc Kha là 17 Tổng tiền của hóa đơn số 58 là 800.000đ Giá trị thuộc tính thường được cho kèm theo một tên (tuổi 17, tổng tiền: 800.000đ). Tên đó thực tế là tên chung của mọi giá trị có thể chọn lựa để mô tả một khía cạnh nhất định của các thực thể (tuổi: 17, tuổi: 20, tuổi:14...). Ta gọi tên đó là một kiểu thuộc tính (property type). Ví dụ: Tuổi, tổng tiền ... là các kiểu thuộc tính. 72
  6. - Kiểu thuộc tính đa trị: Là kiểu thuộc tính mà giá trị của nó đối với một thực thể có thể là một dãy hay 1 tập các giá trị. - Ta gọi kiểu thực thể (entity type) là một tập hợp các thực thể được mô tả bởi cùng một tập hợp các kiểu thuộc tính và biểu diễn cho một lớp tự nhiên các vật thể trong thế giới thực. Ví dụ: Kiểu thực thể khách hàng được mô tả bằng các kiểu thuộc tính: tên, địa chỉ, số tài khoản. Một hay một tập kiểu thuộc tính của một kiểu thực thể được gọi là một khóa nếu giá trị của nó cho phép ta phân biệt các thực thể với nhau. Ví dụ: số tài khoản và mã hàng lần lượt là khóa của các kiểu thực thể tài khoản và mặt hàng. Còn với kiểu thực thể Sách mượn có thể lấy số hiệu sách, số hiệu độc giả, ngày mượn làm khóa (sách mượn về nhà nên một độc giả chỉ được mượn một cuốn sách nhiều nhất một lần trong một ngày). Nếu khóa chỉ gồm một kiểu thuộc tính duy nhất thì ta gọi thuộc tính đó là một định danh (identifier). Ví dụ: SH Nhân viên Mã Nhân viên Các thuộc tính trong mô hình thực thể liên kết có hai ràng buộc phải thoả mãn: - Giá trị duy nhất: Mỗi thuộc tính của một thực thể có thể lấy một và chỉ một giá trị duy nhất. - Giá trị sơ đẳng: Giá trị thuộc tính không thể tách thành các phần nhỏ hơn. Liên kết: Một liên kết là một sự gom nhóm các thực thể trong đó mỗi thực thể có một vai trò nhất định. Ví dụ: - Khách hàng Ân đã giao nộp đơn hàng 3428. - Đơn hàng 3428 đặt mua các mặt hàng 34 và 78 - Anh Liên là học trò của thầy Hà. Một kiểu liên kết (asociation type) là một tập hợp các liên kết có cùng ý nghĩa. Một kiểu liên kết là được định nghĩa giữa nhiều kiểu thực thể. Tên của kiểu liên kết thường được chọn là một động từ (chủ động hay bị động) phản ánh ý nghĩa của nó . 73
  7. Ví dụ: - Kiểu liên kết giao nộp giữa kiểu thực thể khách hàng và kiểu thực thể đơn hàng (2 ngôi). - Kiểu liên kết đặt mua giữa kiểu thực thể đơn hàng và kiểu thực thể mặt hàng (2 ngôi). - Kiểu liên kết dạy giữa kiểu thực thể thầy và kiểu thực thể trò (2 ngôi). - Thời khóa biểu là một kiểu liên kết giữa các kiểu thực thể: Môn, giờ, phòng, lớp ( liên kết nhiều ngôi ) Các giá trị ứng số thường dùng là 1 (1..1) một và chỉ một 0..1 không hay một 0.. * hay * từ không tới nhiều 1.. * từ một tới nhiều. m.. n từ m tới n. 4.2.2. Đặc tả mối quan hệ giữa hai kiểu thực thể Để đặc tả mối quan hệ giữa hai kiểu thực thể, mô hình thực thể liên kết thường được biểu diễn dưới dạng một đồ thị, trong đó các nút là các kiểu thực thể, còn các cung là các kiểu liên kết. Đồ thị đó được gọi là sơ đồ thực thể liên kết và được lập như sau: - Một kiểu thực thể được biểu diễn bởi một hình chữ nhật gồm 2 ngăn, ngăn trên chứa tên của kiểu thực thể, ngăn dưới chứa danh sách các kiểu thuộc tính của nó. Tên kiểu thực thể thường là một danh từ (chỉ vật thể). Các kiểu thuộc tính hợp thành khóa của kiểu thực thể được gạch dưới, và thường đặt lên đầu danh sách. - Một kiểu liên kết được biểu diễn bởi một hình thoi, được nối bằng nét liền tới các kiểu thực thể tham gia liên kết. Trong hình thoi viết tên kiểu liên kết(tên này có thể khuyết, nếu không cần làm rõ). Như trên đã nói tên kiểu liên kết thường là một động từ (chủ động hay bị động). Nếu kiểu liên kết là hai ngôi, thì ở hai đầu mút các đường nối, sát với các kiểu thực thể, ta ghi thêm ứng số (nếu thấy cần làm rõ). Ví dụ: Biểu diễn đồ họa của kiểu liên kết Mượn. 74
  8. Độc giả Sách mượn SH độc giả Họ tên 1 0..* Địa chỉ Mượn Số hiệu sách Tên sách Ngày Biểu diễn đồ họa của kiểu liên kết Có NhanVien Lương 0..1 Có 0..1 MaNV Bậc lương Họ tên Hệ số Địa chỉ Ngày lên Biểu diễn đồ họa của kiểu liên kết Cung ứng Nhà CC Mặt hàng SH nhà CC SH mặt hàng 0..* Cung ứng 0..* Họ tên Tên hàng Địa chỉ Màu Một số trường hợp đặc biệt: - Liên kết đệ quy: Là kiểu liên kết giữa một thực thể với chính thực thể đó. Người chồng 0..1 ID người kết hôn Họ tên Địa chỉ vợ 0..1 - Nhiều kiểu liên kết giữa hai thực thể: 75
  9. Người 1 Sở 0..* Căn hộ hữu Mã CH Mã Diện tích Họ tên 0..1 0..* Địa chỉ Thuê Địa chỉ - Kiểu liên kết có thuộc tính mô tả: Ta ghi danh sách các thuộc tính bên cạnh hình thoi; hoặc vẽ thêm một hình chữ nhật hai ngăn như kiểu thực thể: ngăn tên có thể chứa tên kiểu liên kết hoặc bỏ trống; ngăn thuộc tính chứa các thuộc tính, bổ sung các thuộc tính khoá của các kiểu thuộc tính tham gia liên kết. Và nó được nối với hình thoi bằng nét đứt. Giaoviên Học sinh Dạy ID GVien IDHSinh Họ tên Họ tên Khoa Lớp IDGVien ID HSinh Môn học - Kiểu liên kết nhiều ngôi: Đơn hàng ID ĐH Ngày Địa chỉ Mặt hàng Ngày Mã hàng Ngày Giao hàng Tên hàng Mô tả Giao hàng ID ĐH Mã hàng Ngày Lượng giao 76
  10. 4.2.3. Mô hình thực thể liên kết mở rộng và hạn chế 4.2.3.1. Mô hình E/A mở rộng Các điểm mở rộng đối với mô hình E/A - Các kiểu thuộc tính đa trị: Trong mô hình mở rộng được phép dùng kiểu thuộc tính đa trị. Nghĩa là tồn tại kiểu thuộc tính mà giá trị của nó đối với một thực thể có thể là một dãy hay một tập các giá trị. Ví dụ: Tên, tuổi các con của một nhân viên. - Các kiểu thuộc tính phức hợp: Cho phép dùng kiểu thuộc tính phức hợp từ các thuộc tính sơ đẳng, tức là được tạo thành từ sự kết hợp từ nhiều kiểu thuộc tính khác. Mặc định, mỗi giá trị của kiểu thuộc tính phức hợp là sự ghép các giá trị của các thuộc tính sơ đẳng tương ứng. Ví dụ: Kiểu thuộc tính Địa chỉ là sự kết hợp của các thuộc tính Số nhà, Đường phố, Quận huyện, Tỉnh thành. - Các kiểu thực thể con: Nếu trong một kiểu thực thể A, ta chỉ ra một tập con B của A, mà các thực thể trong B vừa mang các kiểu thuộc tính chung của các thực thể trong A, lại vừa có thêm một số các kiểu thuộc tính mới, thì ta nói đó là sự chuyên biệt hóa. B được gọi là kiểu thực thể con của kiểu thực thể A. Các kiểu thuộc tính của B bao gồm mọi kiểu thuộc tính của A cộng thêm các kiểu thuộc tính riêng của nó. Ta nói: B thừa kế các thuộc tính của A. Quá trình ngược lại với chuyên biệt hóa là sự khái quát hóa: Từ nhiều kiểu thực thể B, C,... ta rút ra các kiểu thuộc tính chung để lập một kiểu thực thể A (với các kiểu thuộc tính chung đó) sao cho B,C,... đều là kiểu thực thể con của A. Ví dụ: Các thực thể Sinh viên, Nhân viên là thực thể con của thực thể Người. 77
  11. Người ID người Họ tên Địa chỉ Sinh viên Nhân viên Lớp Phòng Ngành học Đ.chỉ CQ Cách biến đổi biểu đồ E/A mở rộng về biểu đồ E/A kinh điển - Quy tắc 1: Chuyển các thuộc tính đa trị về các thuộc tính có giá trị duy nhất. Thay một kiểu thuộc tính đa trị T của kiểu thực thể A bởi một kiểu thực thể mới E-T và kết nối A với E-T bởi một kiểu liên kết. Đưa vào kiểu thực thể E-T một kiểu thuộc tính đơn trị t, tương ứng với các giá trị thành phần của T. Nghiên cứu các ứng số cho kiểu liên kết mới (giữa A và E-T). Ví dụ 1: Kiểu thực thể Nhân viên có thuộc tính đa trị là các ngoại ngữ. Chú ý: Kiểu thực thể nói trên được gọi là kiểu thực thể phụ thuộc; nó chỉ tồn tại cùng với kiểu thực thể chính. Nhân viên Nhân viên Ngoại ngữ Mã NV chuyển Mã NV 0..* 0..* Tên NN Biết Họ tên thành Họ tên Các NN Ví dụ 2: Hoá đơn: Số hoá đơn:……. Ngày:………….. HOÁ ĐƠN Họ tên khách hàng:…………………………………………………………. Địa chỉ:……………………………………………………………………… Hình thức thanh toán:……………………………………………………….. Mã hàng Tên hàng Đơn vị tính Số lượng Đơn giá Thành tiền Tổng tiền:…………… 78
  12. Hoá đơn Số HĐ Ngày HĐ Khách Hoá đơn CT HĐ Địa chỉ Mã hàng Cách TT chuyển Số HĐ 0..* 0..* Tên hàng Mã hàng thành Ngày HĐ ĐV tính Tên hàng Khách Số lượng ĐV tính Địa chỉ Đơn giá Số lượng Cách TT Thành tiền Đơn giá Tổng HĐ Thành tiền Tổng HĐ - Quy tắc 2: Xử lý các thuộc tính đa trị của một kiểu liên kết. Thực thể hoá liên kết kiểu đó, rồi áp dụng quy tắc 1 cho kiểu thựcthể mới lập. - Quy tắc 3: Xử lý các kiểu thuộc tính phức hợp. Thay kiểu thuộc tính phức hợp bởi các kiểu thuộc tính mà tích hợp thành. Ví dụ: Kiểu thuộc tính Địa chỉ thay bằng các thuộc tính Số nhà, Đường phố, Quận huyện, Tỉnh thành. - Quy tắc 4: Xử lý các kiểu thực thể con. Giả sử B là thực thể con của thực thể A. Có hai cách xử lý: + Loại bỏ kiểu thực thể B và bổ sung mọi kiểu thuộc tính của B vào trong A, đồng thời thêm một kiểu thuộc tính cho phép phân loại các thực thể của A (thuộc B hay không thuộc B). Chuyển mọi kiểu liên kết với B sang A, và nghiên cứu lại các ứng số cho chúng. + Thay đổi mối quan hệ thừa kế giữa A và B bằng một kiểu liên kết giữa A và B mà các ứng số tối đa bằng 1. Nghiên cứu cụ thể các ứng số tối thiểu. 4. 2.3.2. Các kiểu thuộc tính khoá và các kiểu thuộc tính kết nối Khoá: là một tập các kiểu thuộc tính của một kiểu thực thể dùng để phân biệt các thực thể trong kiểu thực thể đó. Khoá có thể là khoá đơn (chỉ có một kiểu thuộc tính) và khóa bội (khoá gồm 2 kiểu thuộc tính trở nên). Khoá bội thường gặp trong các trường hợp sau: 79
  13. - Các kiểu thực thể phụ thuộc: Khoá của một kiểu thực thể phụ thuộc luôn phải bao gồm khoá của kiểu thực thể chính, và nó làm nhiệm vụ kết nối một thực thể phụ thuộc với một thực thể chính. - Các kiểu thực thể được lập từ Quy tắc 2, tức là các kiểu thực thể diến tả một quan hệ đều phải có khoá bội hợp thành từ khoá của các kiểu thực thể tham gia quan hệ. Kiểu thuộc tính kết nối (hay còn gọi là khoá ngoại): là kiểu thuộc tính vốn là khoá của một kiểu thực thể khác nhưng lại xuất hiện trong kiểu thực thể này với nhiệm vụ mô tả mối quan hệ giữa hai kiểu thực thể. Nhà CC Catalô Mặt hàng SH nhà CC SH mặt hàng SH mặt hàng Họ tên Tên hàng Tên hàng Địa chỉ Màu Màu 4.2.4. Các phương pháp xây dựng mô hình 4.2.4.1. Hai cách tiến hành: trên xuống và dưới lên Các thông tin được đưa vào mô hình thực thể liên kết dưới 3 hình thức: thực thể, liên kết và thuộc tính. Để phát hiện các kiểu thực thể và các kiểu thuộc tính của chúng có thể tiến hành theo hai cách ngược nhau: Cách (1): trước hết đối sánh với thực tế để tìm ra các kiểu thực thể, rồi sau đó đối với mỗi kiểu thực thể đã chọn, tìm các kiểu thuộc tính mô tả nó. Cách (2): tìm tập hợp các kiểu thuộc tính như là những loại thông tin sơ đẳng xuất hiện trong hệ thống, rồi gom nhóm, tổ chức chúng lại thành từng cụm theo chủ đề mô tả. Mỗi cụm đó trở thành một kiểu thực thể Tuy nhiên cách tốt nhất là hỗn hợp cả hai cách làm trên bằng cách lặp đi lặp lại nhiều lần: Từ các kiểu thực thể, tìm ra các kiểu thuộc tính, rồi từ kiểu thuộc tính ta tổ chức lại, chỉnh sửa và bổ xung thành các kiểu thực thể, vòng đi vòng lại cho đến khi thỏa đáng. Một thực thể, như ta đã định nghĩa ở trên, là một vật thể cụ thể hay trừu tượng, tồn tại thực sự và khá ổn định trong thế giới thực mà ta muốn phản ánh nó trong hệ thống thông tin. 80
  14. Tuy nhiên, không phải mọi vật thể có trong thực tế đều trở thành thực thể, mà phải có sự tuyển chọn khi đưa vào mô hình. Sự tuyển chọn đó dựa trên hai tiêu chí: - Có ích cho việc quản lý. - Có cách để phân biệt với các thực thể khác. Một thuộc tính, như đã định nghĩa ở trên, là một giá trị (dữ liệu) mô tả một khía cạnh nào đó của một thực thể. Cũng không phải mọi đặc điểm có thể của một thực thể đều được xem là thuộc tính cho nó, mà phải có sự tuyển chọn theo yêu cầu quản lý. Xét về vai trò của kiểu thuộc tính trong một kiểu thực thể, ta phân biệt ba loại kiểu thuộc tính: - Thuộc tính khóa - Thuộc tính kết nối (hay khóa ngoại) - Thuộc tính mô tả. Về các thuộc tính khóa và kết nối, ta sẽ đề cập ở dưới cùng với việc xem xét các liên kết. Còn đối với các thuộc tính mô tả, để tuyển chọn chúng ta dựa vào một số cách phân loại, đề cập ở hai mục nhỏ tiếp sau đây. 4.2.4.2. Phân loại các thuộc tính theo nội dung diễn tả Các dữ liệu trong một hệ thống thông tin quản lý (nói ở đây là các thuộc tính và từ đó là các thực thể) có thể tách làm hai loại theo nội dung diễn tả: - Các dữ liệu phản ánh cấu trúc tĩnh của hệ thống kinh doanh dịch vụ. Có thể nói đó là phần mô tả hạ tầng cơ sở của hệ thống kinh doanh dịch vụ và môi trường của nó, và là phần ổn định nhất trong CSDL, bao gồm: + Về nhân lực: Nhân viên, Khách hàng, Nhà cung cấp.... + Về tài sản, thiết bị nguyên vật liệu: Nhà xưởng, Cửa hàng, máy ôtô, Mặt hàng, nguyên liệu .... + Về tổ chức và cơ cấu: Phòng ban, Phân xưởng, Khoa, Bộ môn, Lớp,.v.v... - Các dữ liệu phản ánh các sự kiện trong hoạt động kinh doanh như : + Các giao dịch: Đặt hàng, Đăng kí, Giao hàng, Thanh toán,... + Các báo cáo, tổng kết thống kê. Trên một góc nhìn khác, lại có thể phân chia các dữ liệu thành : 81
  15. - Các dữ liệu sống: là các dữ liệu phản ánh thực tế hiện tại và đang được sử dụng. Các dữ liệu này phải luôn luôn được cập nhật cho khỏi lạc hậu với thực tế. Ví dụ : Lý lịch các nhân viên đang tại chức, Đơn hàng đang xử lý (chưa hoàn tất). - Các dữ liệu lịch sử: là các dữ liệu phản ánh quá khứ của hệ thống kinh doanh dịch vụ, được chuyển sang lưu giữ, không cập nhật, không dùng trong các tính toán xử lý, và chỉ có thể tham khảo khi cần. Thường thì các dữ liệu lịch sử được lưu trên bộ nhớ tách biệt với các dữ liệu sống (cho nên thường được gọi là “Cơ sở ngoài luồng”). Ví dụ: Hồ sơ về các nhân viên đã ra khỏi cơ quan, Đơn hàng đã hoàn tất, tài khoản đã đóng ... 4.2.4.3. Phân loại các thuộc tính theo đặc điểm về giá trị của nó Xét về đặc điểm của giá trị mà thuộc tính có thể nhận, thì ta có thể phân loại dựa trên hai tiêu chí sau: - Thuộc tính tính toán hay thuộc tính không tính toán ; - Thuộc tính vững bền hay thuộc tính không bền vững. Thuộc tính tính toán là thuộc tính mà giá trị của nó thu được bởi sự tính toán theo một công thức (hay quy trình) xuất phát từ giá trị của một hoặc một số thuộc tính khác. Ví dụ: Thành tiền = đơn giá x số lượng Nhớ rằng hai yêu cầu đối với lược đồ về khái niệm dữ liệu là các thông tin phải đủ và không dư thừa. Thế thì các thuộc tính tính toán là dư thừa, vậy về nguyên tắc là không được đưa vào lược đồ. Tuy nhiên các thuộc tính tính toán không phải là không có ích. sau này đến giai đoạn thiết kế, khi xét thêm hai yêu cầu mới là: Tiện lợi và nhanh chóng, thì rất có thể là lại phải đưa chúng vào cơ sở dữ liệu. Vậy ở giai đoan phân tích, ta hãy ghi nhận chúng lại để sau này trở lại xem xét, thậm chí nếu thấy vai trò của chúng là không thể thiếu. Thuộc tính không tính toán (còn được gọi là thuộc tính nguyên thuỷ ) là thuộc tính mà giá trị của nó được cung cấp từ bên ngoài hệ thống (không thể suy ra được từ bên trong hệ thống ). Thuộc tính bền vững là thuộc tính mà giá trị của nó khi đã có thì không thay đổi được nữa. Ngược lại là thuộc tính không bền vững. Phối hợp hai tiêu chí trên, ta có bốn loại thuộc tính : 82
  16. + Thuộc tính tính toán và bền vững, chẳng hạn : Tổng tiền của một hoá đơn, Tiền lương (của một nhân viên trong tháng hiện tại ). + Thuộc tính tính toán và không bền vững, chẳng hạn: Lượng hàng tồn kho, Số dư tiết kiệm. +Thuộc tính không tính toán và bền vững, chẳng hạn: Ngày sinh, Giới tính (của một người ). + Thuộc tính không tính toán và không bền vững, chẳng hạn: Số các con của một nhân viên, địa chỉ một khách hàng. 4.2.4.4. Các thuộc tính khoá,thuộc tính kết nối và các liên kết. Một kiểu thuộc tính khoá của một kiểu thực thể là một kiểu thuộc tính mà giá trị của nó tương ứng với mỗi thực thể là riêng biệt cho thực thể đó.Vậy khoá cho phép chỉ định mỗi thực thể,cho phép phân biệt các thực thể với nhau. Trong bước đầu phân tích, có thể chưa cần quan tâm vội đến việc chọn khoá. Song cuối cùng thì trong lược đồ dữ liệu hoàn chỉnh , mỗi kiểu thực thể đều phải có khoá. Thuộc tính khoá có thể chọn trong số các thuộc tính tự nhiên, miễn là giá trị của nó là khác biệt cho mỗi thực thể. Chẳng hạn nếu tên chính thức cho mỗi công ty đều đã được đăng ký với nhà nước và bảo đảm không trùng lặp, thì có thể lấy Tên công ty làm khoá cho các công ty. Nếu trong một khách sạn, các phòng được sơn màu sắc khác nhau, thì có thể lấy màu làm khoá chỉ định các phòng trong khách sạn đó. Tuy nhiên, ít khi tìm được một thuộc tính tự nhiên làm khoá bây giờ người ta dùng thuộc tính khóa nhân tạo ấy là các mã, các số hiệu, như là mã hàng, Số hiệu đơn hàng... Trong một kiểu thực thể, một kiểu thuộc tính được gọi là kiểu thuộc tính kết nối (hay là còn gọi là một tham chiếu) nếu nó không phải là khoá của kiểu thực thể đó, nhưng lại là khoá của một kiểu thực thể khác. Sau khi đã có tập hợp các kiểu thực thể, thì ta cần nghiên cứu phát hiện các kiểu liên kết giữa hai kiểu thức thể. Việc tìm các kiểu liên kết có thể làm theo hai cách: - Dựa trên ý nghĩa các kiểu thực thể ( thực thể trong đó, có thể đóng vai trò gì?), dựa theo các quy tắc quản lý hay các quy trình giao dịch mà ta phát hiện ra các kiểu liên kết. 83
  17. Ví dụ: Quy trình bán hàng bắt đầu bằng một khách hàng đưa đến đơn đặt hàng. Từ sự kiện ta phát hiện ra có mối liên quan giữa khách hàng và đơn hàng. - Tìm trên danh sách các kiểu thuộc tính của các kiểu thực thể (đã lập ở bước trước) hoặc tìm trên các chứng từ giao dịch, ta có thể phát hiện ra các tham chiếu. Mỗi tham chiếu là biểu hiện cho một kiểu liên kết. Ví dụ: Xem các Đơn hàng, ta thấy đơn hàng nào cũng có Tên ( hay Mã số khách hàng). Đó chính là một tham chiếu. Vậy phải có một kiểu liên kết giữa hai kiểu thực thể Đơn hàng và khách hàng. Ví dụ: Xây dựng mô hình thực thể liên kết cho hệ thống QL CƯVT Các kiểu thực thể sơ bộ có thể phát hiện là: - Về nhân lực, tài nguyên có phân xưởng, người cung cấp, Mặt hàng,… - Về giao dịch có dự trù, Đơn hàng, Giao hàng, Hoá đơn, Phát hàng,… Tiếp đó ta phát hiện các kiểu liên kết giữa chúng bằng cách duyệt lại quá trình giao dịch( từ khi phân xưởng đưa dự trù đến khi phân xưởng nhận được hàng) qua đó ta sẽ thấy được các mối liên hệ giữa các kiểu thực thể. Bổ sung các kiểu thuộc tính cho mỗi kiểu thực thể (trên hình không ghi chi tiết các thuộc tính mô tả). Riêng việc chọn khoá, ta lưu ý một điểm sau: - Các SH-đơn hàng, SH-giao hàng, SH-phân xưởng, Mã hàng đã được quản lý thống nhất, vậy có thể làm khoá (đơn) của các kiểu thực thể tương ứng. - Trái lại SH-dự trù, SH-giao hàng,SH-hoá đơn là khoá ngoại đối với hệ thống, có thể xảy trùng lặp, vậy muốn dùng chúng làm khoá thì SH-dự trù phải kèm với SH-phân xưởng, SH-giao hàng và SH- hoá đơn phải kèm SH nhà cung cấp . Ta có các mô hình thực thể liên kết như sau: - Mô hình thực thể liên kết mở rộng, - Mô hình thực thể liên kết kinh điển - Mô hình thực thể liên kết hạn chế. 84
  18. Phân xưởng SH_PX Chi tiết PX Lập Xuất cho Dự trù Xuất Nhập Phát cho kho SH-DT Mã hàng SH-PX Ngày XN Ngày DT X_N Nhập vào Mã hàng Phát hàng Lượng DT Lượng XN SH-PH Ngày PH Gồm Mã hàng Đưa vào Điều chỉnh Lượng PH Đơn hàng Tồn kho SH-ĐH Mã hàng Gồm Gồm Ngày ĐH Phát theo Lượng TK Mã hàng Ngưỡng Lượng ĐH Mặt hàng Mã hàng Chi tiết MH Gửi cho Gồm Cung ứng Người CC Gồm Tên NCC Hoá đơn Chi tiết NCC Giao hàng SH-HĐ Tên NCC SH-GH Ngày HĐ Tính theo Thực hiện Tên NCC Tổng tiền Ngày GH Mã hàng Mã hàng Theo Lượng HĐ Lượng GH Lập Hình 4.1: Lược đồ dữ liệu theo mô hình thực thể liên kết mở rộng 85
  19. Trong lược đồ trên dùng tam giác để chỉ hướng đọc mối liên kết và dùng thuộc tính in nghiêng để đánh dấu các thuộc tính đa trị. 4.3. CHUYỂN ĐỔI SANG MÔ HÌNH QUAN HỆ DỮ LIỆU. 4.3.1. Một số khái niệm Domain - Miền Domain là một tập hợp không rỗng D. Để biểu diễn một phần tử thuộc D, ta viết ED. Miền (domain) là một tập các giá trị hoặc các đối tượng. Gọi D1, D2, ...Dn, là n miền, khi đó D là tập hợp các phần tử của tích Đề các D1D2...Dn. Cũng có thể số lượng các phần tử của D bị giảm đi bởi một điều kiện xác định cho trước. Thuộc tính (Attribute) Thuộc tính là một lớp dữ liệu mô tả hành vi, tính chất phát sinh trong CSDL, nghĩa là nó chỉ dựa vào tính chất của lớp dữ liệu này. Mỗi thuộc tính được gắn với một và chỉ một domain. Một mục dữ liệu (item) của một thuộc tính trong CSDL là một giá trị của domain của thuộc tính này. Một thuộc tính gọi là có tính joined nếu nó được định nghĩa từ một vài các thuộc tính khác; do đó domain của nó là tập con của tích Đề các các domain của các thuộc tính này. Ký hiệu: - Gọi c là giá trị của thuộc tính C. Nếu C được tạo thành từ các thuộc tính C 1, C2,...,Cn, khi đó ta ký hiệu c.C1 và c(C1) chỉ giá trị c đối với thuộc tính C1. - Nếu thuộc tính C có các domain D1, D2, ...Dn thì c.D1 và c(D1) chỉ giá trị c trong domain D1. Quan hệ Một quan hệ (Relation) n-R là tập R+ các thuộc tính của R và một vị từ mô tả bởi R chứa các biến số tự do (ví dụ ,) tương ứng các thuộc tính của R+ và nhận các giá trị trong các domain của các thuộc tính đó. Một bộ (n-tuple) của R là một phần tử của tính Đề các của các domain tương ứng với n thuộc tính của R. 86
  20. Một thực thể (entity) r của R là một bộ của R thoả mãn vị từ R (r)=true. Một cách đơn giản, quan hệ R là một bảng dữ liệu hai chiều. Lược đồ quan hệ Lược đồ quan hệ là sự hợp thành của hai yếu tố: - Một cấu trúc, gồm tên quan hệ và danh sách các thuộc tính (mỗi thuộc tính gắn với một miền) thường cho dưới dạng R(A1A2…An) - Một tập hợp các ràng buộc toàn vẹn, tức là các điều kiện mà mọi quan hệ trong lược đồ phải thoả mãn. - Về mặt hình thức: Lược đồ quan hệ  cho bởi một cặp gồm hai thành phần = , trong đó: U+: Là tập các thuộc tính F: Là tập các phụ thuộc hàm trên U+. - Cho R là một quan hệ trên tập thuộc tính U+, ta nói R thuộc lược đồ quan hệ = nếu R thoả mãn tất cả các phụ thuộc hàm của tập F. 4.3.2. Chuẩn hóa quan hệ 4.3.2.1. Các dạng chuẩn Dạng chuẩn 1NF Một lược đồ quan hệ  được gọi là ở dạng chuẩn 1NF nếu mọi thuộc tính của nó đều là nguyên tố. Ví dụ: Chưa ở dạng 1NF S# Product S# P# QTy P# QTy s1 p1 200 s1 p1 200 s1 p2 500 1NF s1 p2 500 s2 p1 300 s2 p1 300 s2 p2 100 s2 p2 100 Trong thuộc tính Product có thể tách thành 2 thuộc tính con độc lập nhau, do đó Product chưa nguyên tố, ta đưa về dạng chuẩn 1NF bằng cách tách Product thành 2 thuộc tính P# và Qty. Tuy nhiên cần chú ý quan niệm nguyên tố sẽ quyết định dạng chuẩn 1NF, mà quan niệm này phụ thuộc vào yêu cầu xây dựng CSDL và khai thác CSDL. Ví dụ: Cần quản lý tình trạng bán hàng trong từng ngày, khi đó thuộc tính Qty cần phải tách thành: Ngày bán+Đơn giá+ Số lượng. 87
nguon tai.lieu . vn