Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 7: Mô hình dữ liệu logic - Nguyễn Văn Vy

pdf 36 trang huongle 3010
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 7: Mô hình dữ liệu logic - Nguyễn Văn Vy", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_phan_tich_thiet_ke_he_thong_thong_tin_bai_7_mo_hin.pdf

Nội dung text: Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 7: Mô hình dữ liệu logic - Nguyễn Văn Vy

  1. BÀI GIẢNG PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN NguyÔxn V¨n Vþ , 0912505291 , vynv@yahoo.com Khoa Công nghệ thông tin, Đại học Công nghệ
  2. Bài 7- Mô hình dữ liệu logic Nguyễn Văn Vỵ Nội dung ‹ Mô hình dữ liệu lôgic: Mô hình dữ liệu quan hệ (Relational Data Model) ‹ Các thành phần của mô hình quan hệ ‹ Chuyển một ERM sang mô hình quan hệ ‹ Các bước để thiết kế 1 cơ sở dữ liệu logic ‹ Ví dụ Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 2
  3. Tài liệu tham khảo Nguyễn Văn Vỵ 1. Nguyễn Văn Vy. Giáo trình phân tích thiết kế HTTT. Đại học Công nghệ, 2007. 2. Nguyên Văn Vỵ. Phân tích thiế kế HTTT. Hướng cấu trúc và hướng đối tượng. NXB Thống kê, 2002. 3. Nguyễn Văn Vy. Phân tích và thiết kế HTTT quản lý. NXB Khoa học Tự nhiên và Công nghệ, Hà nội, 2007. 4. Nguyễn văn Vy, Nguyễn Việt Hà. Giáo trình Kỹ nghệ phần mềm. Đại học Công nghệ, 2006. 5. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 6. Jeffrey A.Hoffer, Joey F.Gorge, Joseph S.Valacich. Modern Systems Analysis and Design. 2th Edition, Addison Wesley Longman, Inc. 1999. 7. Sommerville. Software Engineering. 6th Edition, Addison- Wasley, 2001. Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 3
  4. Tài liệu tham khảo Nguyễn Văn Vỵ Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 4
  5. Mô hình dữ liệu lôgic Nguyễn Văn Vỵ Câu hỏi  Mô hình dữ liệu logic là gì?  Có những loại mô hình dữ liệu logic nào? Đặc trưng mỗi loại?  Tại sao cần mô hình dữ liệu lôgic? Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 5
  6. Mô hình dữ liệu logic Nguyễn Văn Vỵ  Mô hình dữ liệu logic là sự mô tả các cấu trúc dữ liệu sao cho 1 hệ quản trị CSDL có thể xây dựng dựa trên nó để tổ chức việc lưu trữ & khai thác dữ liệu 1 cách hiệu quả.  Đến nay đã có 4 loại mô hình dữ liệu lôgic: „ Mô hình dữ liệu phân cấp „ Mô hình dữ liệu mạng „ Mô hình dữ liệu quan hệ „ Mô hình dữ liệu hướng đối tượng Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 6
  7. Mô hình dữ liệu phân cấp Nguyễn Văn Vỵ  Các bản ghi sắp xếp từ trên xuống tạo thành một cây.  Thuật ngữ cha, con được sử dụng mô tả mô hình: PHÒNG ƒ 1 con chỉ có 1 cha. ƒ 1 cha có thể có nhiều con NHÂN VIÊN DỰ ÁN  Mô hình chỉ biểu diễn 1 pham vi hẹp các cấu trúc dữ liệu: trên xuống KÝ NĂNG PHỤ VIỆC TRANG THIẾT BỊ Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 7
  8. Mô hình dữ liệu mạng Nguyễn Văn Vỵ  1 bản ghi có thể được kết nối với 1 số bất kỳ các bản ghi khác  Nó đã phát triển vượt qua được phạm vi ứng dụng hạn hẹp của mô hình phân cấp.  Tuy vậy, cấu trúc là phức tạp PHÒNG cho việc quản lý. NHÂN VIÊN DỰ ÁN PHỤ VIỆC TRANG THIẾT BỊ Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 8
  9. Mô hình dữ liệu quan hệ Nguyễn Văn Vỵ  Mô hình dữ liệu quan hệ cấu thành từ các bảng PHÒNG dữ liệu 2 chiều có quan hệ lôgíc với nhau thông mãphòng tênphòng vịtrí qua giá trị cột khóa P10 Kỹ thuật bắc P20 Kế toán đông  Nó được xây dựng trên cơ sở lý thuyết tập hợp: đơn giản nhưng hiệu quả NHÂN VIÊN  Nó được sử dụng rộng mã nhân họ tên telephon mã viên phòng rãi trong các hệ QTCSDL NV001 Nguyễn văn A 8.775566 P10 NV002 Trần thị B 7.234544 P20 Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 9
  10. Mô hình dữ liệu hướng đối tượng Nguyễn Văn Vỵ  Mô hình dữ liệu hướng đối tượng là 1 loại mô hình mới để lưu trữ dữ liệu của các đối tượng, bao gồm cả thuộc tính dữ liệu và hành vi của chúng  Mô hình phát triển chưa lâu, chưa hoàn chỉnh.  Đã có 1 số CSDL hướng đối tượng, nhưng chưa hoàn thiện, chưa được sử dụng rộng rãi.  Nhiều hệ thống hướng đối tượng, nhưng việc lưu trữ dữ liệu của nó vẫn sử dụng hệ CSDL quan hệ Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 10
  11. Mô hình dữ liệu quan hệ Nguyễn Văn Vỵ Câu hỏi  Mô hình cấu thành từ những bộ phận nào?  Những yêu cầu gì đặt ra cho 1 quan hệ?  Quan hệ có cấu trúc tốt là gì?  Những yếu tố nào xác định cấu trúc của quan hệ? Có những dạng cấu trúc (chuẩn) nào?  Nội dung chuẩn hóa để được quan hệ cấu trúc tốt?  Các ràng buộc toàn vẹn cua mô hình quan hệ là gì?  Tiến trình phát triển 1 thiết kế CSDL liệu lôgic? Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 11
  12. Khái niệm: mô hình quan hệ Nguyễn Văn Vỵ Mô hình quan hệ bao gồm:  Các quan hệ  Các liên kết giữa chúng: thể hiện bằng mô hình liên kết giữa các quan hệ  Quan hệ là một bảng dữ liệu 2 chiều gồm: ƒ Các cộtcótên, gọi là các thuộc tính của nó ƒ Các dòng không có tên, gọi là các bộ dữ liệu hay bản ghi Và có các tính chất sau: Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 12
  13. b. Tính chất của một quan hệ Nguyễn Văn Vỵ Và có các tính chất:  Phần tử nằm chỗ giao dòng và cột là duy nhất  Các phần tử 1 cột thuộc 1 miền giá trị  Các dòng là khác nhau  Thứ tự các dòng là không quan trọng (cập nhật theo thứ tự bất kỳ)  Thứ tự các cột là không quan trọng (sắp thứ tự tùy ý) Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 13
  14. Ví dụ: quan hệ SINH VIÊN SINH VIÊN Nguyễn Văn Vỵ mãsv tênsv ngàysinh lớp mônhọc điểm 97001 Nguyễn T.Tài 13/05/80 K41C CSDL 7 97002 Trần H.Tráng 08/10/79 K41T CSDL 8 97002 Trần H.Tráng 08/10/79 K41T C++ 7 98001 Hoàng .Minh 15/12/80 K42T C++ 9 98006 Lê H.Nhung 12/06/81 k42T Anh 9 Trong đó, SINHVIÊN là tên quan hệ, K41C  mãsv, tênsv, ngaysinh, lớp, mônhọc, điểm: là các thuộc tính  mỗi dòng là 1 bộ dữ liệu xác định duy nhất nhờ khóa (mãsv,mônhọc ) Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 14
  15. Lược đồ của một quan hệ Nguyễn Văn Vỵ  Một quan hệ có thể không chứa 1 dòng dữ liệu nào. Khi đó nó được gọi là 1 lược đồ quan hệ  Cho 1 lược đồ quan hệ bao gồm: ƒ Tên quan hệ, ƒ Các thuộc tính và ràng buộc giữa chúng Ví dụ: quan hệ SINHVIÊN có lược đồ sau: SINHVIÊN (mãsv, tênsv, ngàysinh, lớp, mônhọc, điểm) và Tập U= {các ràng buộc phụ thuộc giữa các thuộc tính} sau này ta gọi tậpUlà các phụ thuộc hàm Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 15
  16. Quan hệ có cấu trúc tốt Nguyễn Văn Vỵ  Quan hệ được sử dụng để lưu dữ liệu trong các CSDL nên nó cần có cấu trúc sao cho khi cập nhật (thêm, sửa, xóa) không gây ra sai sót dữ liệu.  1 quan hệ có cấu trúc tốt: có dư thừa ít nhất và cho phép thêm, sửa, xóa dữ liệu mà không gây ra lỗi hoặc sự thiếu nhất quán.  Quan hệ SINHVIÊN là không có cấu trúc tốt, vì khi sửa K41T ở dòng 3 thành K41C thì dẫn đến sai vì thiếu nhất quán: “sinh viên Trần H.Tráng vừa thuộc lớp K41T , vừa thuộc K41C” Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 16
  17. Phụ thuộc hàm giữa thuộc tính Nguyễn Văn Vỵ  Phụ thuộc hàm: Cho 1 quan hệ R với A & B là 2 tập thuộc tính phân biệt của nó. B gọi là phụ thuộc hàm vào A nếu đối với mỗi dòng các giá trị của A xác định duy nhất các giá trị của B.  Sự phụ thuộc hàm của B vào A còn gọi là A xác định B và được ký hiệu: AÆB. Có hệ tiên đề về phụ thuộc hàm  Ví dụ, trong quan hệ SINH VIEN có 2 phụ thuộc hàm: {mãsv} Æ {tênsv, ngàysinh, lớp} {mãsv, môn} Æ {điểm}  xác định các phụ thuộc hàm dựa trên ngữ nghĩa của chúng Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 17
  18. g. Các khóa trong một quan hệ Nguyễn Văn Vỵ  Khóa dự tuyển của 1 quan hệ là tập thuộc tính mà giá trị của chúng xác định giá trị của các thuộc tính còn lại trên mỗi dòng.  Khóa của 1 quan hệ là 1 khóa dự tuyển và tối thiểu – nghĩa là: nếu bỏ đi 1 thuộc tính trong khóa thì nó không còn là 1 khóa dự tuyển  Khóa ngoại là 1 thuộc tính của quan hệ mà là thuộc tính khóa chính của 1 quan hệ khác.  Có nhiều thuật toán xác định khóa. Khóa tốt là khóa có ít thuộc tính nhất. Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 18
  19. Các dạng chuẩn Nguyễn Văn Vỵ Ba chuẩn cơ bản:  Chuẩn 1 (First Normal Form - 1NF): 1 quan hệ là chuẩn 1 nếu không chứa thuộc tính lặp  Chuẩn 2 (2NF): 1 quan hệ là chuẩn 2 nếu: ƒ Là 1NF ƒ Không chứa thuộc tính phụ thuộc vào 1 phần khóa  Chuẩn 3 (3NF): 1 quan hệ là chuẩn 3 nếu: ƒ Là 2NF ƒ Không chứa thuộc tính phụ thuộc bắc cầu vào khóa Ngoài ra còn có các chuẩn Boyce Codd, chuẩn 4, chuẩn 5 Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 19
  20. Các ràng buộc toàn vẹn trong mô hình quan hệ Nguyễn Văn Vỵ  Toàn vẹn thực thể: Khóa xác định duy nhất các bản ghi Æ giá trị khóa khác null  Toàn vẹn giá trị thuộc tính: mỗi thuộc tính thuộc 1 miền giá trị xác đinh (= kiểu, kích cỡ/giới hạn, định dạng).  Toàn vẹn tham chiếu: Khóa ngoại xác định mối quan hệ ràng buộc giữa hai quan hệ  Các toàn vẹn khác: Các trigger là công cụ tổ chức các ràng buộc nghiệp vụ (đa dạng) khác. Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 20
  21. Phát triển mô hình DL lôgic Nguyễn Văn Vỵ Tiến trình phát triển 1 mô hình dữ liệu lôgic cho một ứng dụng qua 2 pha: 1. Xây dựng mô hình dữ liệu quan niệm – kết quả là một mô hình thực thể -mối quan hệ (ERM) 2. Chuyển mô hình thực thể mối quan hệ sang mô hình dữ liệu lôgic: mô hình quan hệ Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 21
  22. Tiến trình phát triển MHDLLG Nguyễn Văn Vỵ Mô hình Biểu Biểu Chuẩn thực thể diễn các diễn các hoá các -mối quan mối thực thể quan hệ hệ: ERM quan hệ Mô hình dữ liệu lôgic: Vẽ biểu Hợp đồ của nhất các Mô hình mô hình quan hệ quan hệ Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 22
  23. Biểu diễn các thực thể Nguyễn Văn Vỵ  Qui tắc chuyển „ Tên thực thể tên quan hệ „ Thuộc tính thực thể thuộc tính quan hệ „ Thuộc tính định danh khoá quan hệ tênkhách địachỉ mãkhách KHÁCH mãvùng KHÁCH (mãkhách, tênkhách, địachỉ, mãvùng) Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 23
  24. Biểu diễn các mối quan hệ loại 1 Nguyễn Văn Vỵ a. Mối quan hệ bậc 2, dạng 1:m và không có thuộc tính riêng: thêm khoá của quan hệ bên 1 vào quan hệ bên nhiều làm khoá ngoại của nó Mãnhóm tênnhóm Mãhàng đơnvị tênhàng NHÓM HÀNG THUỘC HÀNG NHÓMHÀNG (mãnhóm, tênnhóm) HÀNG (mãhàng, tênhàng, đơnvị, mãnhóm) Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 24
  25. Biểu diễn mối quan hệ loại 2 Nguyễn Văn Vỵ b. Mối quan hệ dạng khác trường hợp (a) trên: thêm 1 quan hệ mới gồm các thuộc tính là : „ Thuộc tính riêng của mối quan hệ „ Các định danh của các thực thể liên quan Mãkhách tênkhách sốđơn Mãhàng tênhàng địachỉ KHÁCH ĐẶT HÀNG khuvực sốlượng ngàyđặt đơnvị Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 25
  26. d. Biểu diễn mối quan hệ loại 2 Nguyễn Văn Vỵ  Mối quan hệ dạng khác trường hợp trên: thêm 1quan hệ mới : mãkhách tênkhách sốđơn mãhàng tênhàng địachỉ KHÁCH ĐẶT HÀNG khuvực sốlượng ngàyđặt đơnvị ĐƠNHÀNG (sốđơn, ngàyđặt, sốlượng, mãkhách, mãhàng) Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 26
  27. e. Xác định khóa và chuẩn hóa Nguyễn Văn Vỵ  Chỉ cần xét các quan hệ thêm vào ở bước 2  Nếu 1 quan hệ chưa 1NF thì chuẩn hóa nó: „ Tách các thuộc tính lặp và phần khóa xác định nó thành 1 quan hệ. „ Quan hệ còn lại: gồm các thuộc tính còn lại và toàn bộ khóa nhưng không chứa thuộc tính lặp ĐƠNHÀNG (sốđơn, ngàyđặt, sốlượng••, mãkhách, mãhàng ) DÒNGĐƠN(sốđơn, mãhàng, sốlượng) Chuẩn hóa ĐƠNHÀNG (sốđơn, ngàyđặt, mãkhách) Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 27
  28. Tích hợp các quan hệ Nguyễn Văn Vỵ  Loại đi những quan hệ thừa (lặp – do tích hợp từ nhiều ERM)  Chính xác hóa các thuộc tính đồng danh, đồng nghĩa.  Hợp nhất các quan hệ có cùng khóa Æ có thể xuất hiện quan hệ chưa cấu trúc tốt, do vậy cần chuẩn hóa tiếp tục.  Kết quả của quá trình này ta nhận được các quan hệ đều có cấu trúc tốt: từ 3NF trở lên Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 28
  29. Ví dụ Nguyễn Văn Vỵ Bài toán: Một cơ sở bán hàng sử dụng 2 loại chứng từ sau để theo dõi hoạt động kinh doanh của mình: ĐƠN ĐẶT HÀNG PHIẾU GIAO HÀNG Số: XXXXXX Số: XXXXXX Người đặt hàng: Tên khách hàng: Địa chỉ: Địa chỉ: Ngày đặt: Nơi giao: Ngày giao: Số Tên Đơn Đơn Số Thành tt hàng vị giá lượng tiền Số Tên Đơn Đơn Số Thành tt hàng vị giá lượng tiền xx xxx xxx xx xx xx xx xxx xxx xx xx xx Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 29
  30. Xây dựng ERM Nguyễn Văn Vỵ mãkhách mãhàng tênkhách ngàyđặt tênhàng địachỉ KHÁCH ĐẶT HÀNG đơnvị khuvực sốlượng sốđơn sốphiếuzao đơngiázao GIAO sốlượngzao ngàyzao NƠIGIAO tênnơizao Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 30
  31. a.Chuyển ERM sang mô hình quan hệ Nguyễn Văn Vỵ Š KHÁCH (mãkhách, tênkhách, địachỉkhách) Š HÀNG (mãhàng, tênhàng, đơnvị, môtả) Š NƠIGIAO (tênnơizao) Š ĐƠNHÀNG (sốđơn, ngàyđặt, mãkhách, mãhàng*, sốlượngđặt* ) Š PHIẾUGIAO (sốphiếu, ngàyzao, nơizao, mãkhách, mãhàng*, sốlượngzao*, đơngiázao*) Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 31
  32. Chuẩn hoá các quan hệ Nguyễn Văn Vỵ KHÁCH (mãkhách, tênkhách, địachỉkhách) (1) HÀNG(mãhàng, tênhàng, đơnvị, môtả) (2) NƠIGIAO (tênnơizao) (3) ĐƠNHÀNG (sốđơn, mãkhách, ngàyđặt) (4) DÒNGĐƠN (sốđơn, mãhàng, sốlượngđặt) (5) PHIẾUGIAO(sốphiếu, ngàyzao, mãkhách, tênnơizao) (6) DÒNGPHIẾU (sốphiếu, mãhàng,sốlượngzao,đơngiázao) (7) Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 32
  33. Vẽ biểu đồ liên kết các quan hệ Nguyễn Văn Vỵ  Biểu diễn mỗi quan hệ bằng 1 hình chữ nhật gồm tên (phần trên) và các thuộc tính khóa (phần dưới)  Nối từng cặp quan hệ với nhau nếu chúng chứa cùng thuộc tính khóa, nhưng 1 bên là khóa chính, bên kia là khóa ngoại (có thể lập bảng để xác định liên kết này)  Xác định bản số cho mỗi quan hệ (dựa trên ngữ nghĩa)  Đến đây ta nhận được mô hình quan hệ gồm các quan hệ có cấu trúc tốt và biểu đồ liên kết chúng Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 33
  34. d. Lập bảng xác định liên kết Nguyễn Văn Vỵ Thuộc tính khoá (1) (2) (3) (4) (5) (6) (7) Liên kết mãkhách KCC (1)-(4), (1)-(6) mãhàng KCC(2)-(5), (2)-(7) tênnơizao KC(3)-(6) sốđơn K C (4)-(5) sốphiếu KC(6)-(7) sốđơn, mãhàng dòng loại sốphiếu, mãhàng dòng loại Hai dòng cuối chứa các khóa ngoại thì loại đi Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 34
  35. e. Biểu đồ liên kết của mô hình Nguyễn Văn Vỵ (1) KHÁCH (4)ĐƠNHÀNG (5)DÒNGĐƠN # mãkhách # sốđơn # sốđơn tênkhách ngàyđặt # mãhàng địachỉkhách mãkhách sốlượngđặt (6)PHIẾUGIAO (7)DÒNGPHIÊU (2) HÀNG # sốphiếu # sốphiếu # mãhàng ngàyzao # mãhàng tênhàng mãkhách sốlượngzao môtảhàng tênnơizao đơngiázao đơnvịhàng (3) NƠIGIAO # tênnơizao Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 35
  36. C©u hái và thảo luận Nguyễn Văn Vỵ Oct-2007 Khoa Công nghệ Thông tin - Đại học Công nghệ 36