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
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:
- bai_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
- 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ệ
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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