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

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ụ.

pdf34 trang | Chia sẻ: zimbreakhd07 | Lượt xem: 2724 | Lượt tải: 1download
Bạn đang xem trước 20 trang nội dung 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BÀI GIẢNG PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN Nguyễn Văn Vỵ - Nguyễn Thị Nhật Thanh Khoa Công nghệ thông tin, Đại học Công nghệ Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 2 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh Bài 7- Mô hình dữ liệu logic 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ệ 3 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh Tài liệu tham khảo 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ệ 4 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh 1. Mô hình dữ liệu lôgic a. 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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh b.Mô hình dữ liệu logic  Khái niệm: Mô hình dữ liệu logic là sự mô tả các dữ liệu sao cho một hệ quản trị CSDL có thể xây dựng trên nó để tổ chức việc lưu trữ và khai thác dữ liệu một cách hiệu quả.  Cho đế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 ™ Mô hình được nhiều hệ quản trị CSDL sử dụng là mô hình quan hệ. Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 6 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh b1. Mô hình dữ liệu phân cấp  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: ƒ 1 con chỉ có 1 cha. ƒ 1 cha có thể có nhiều con  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 PHÒNG DỰ ÁN TRANG THIẾT BỊ NHÂN VIÊN PHỤ VIỆCKÝ NĂNG Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 7 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh b2. Mô hình dữ liệu mạng  1 bản ghi có thể được kết nối với 1số 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 cho việc quản lý. PHÒNG DỰ ÁN NHÂN VIÊN PHỤ VIỆC TRANG THIẾT BỊ Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 8 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh b3. Mô hình dữ liệu quan hệ  Mô hình dữ liệu quan hệ cấu thành từ các bảng dữ liệu hai chiều có quan hệ lôgíc với nhau thông qua các giá trị cột khóa  Nó được xây dựng trên cơ sở toán học tập hợp: đơn giản nhưng hiệu quả  Hiện được sử dụng rộng rãi trong các hệ QTCSDL PHÒNG mãphòng tênphòng vịtrí P10 Kỹ thuật bắc P20 Kế toán đông NHÂN VIÊN mã nhân viên họ tên telephon mã phòng 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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh b4. Mô hình dữ liệu hướng đối tượng  Mô hình dữ liệu hướng đối tượng là một 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ó một số cơ sở dữ liệu hướng đối tượng, nhưng chưa được 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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh 2. Mô hình dữ liệu quan hệ 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 một 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 trong mô hình quan hệ là gì? Š Tiến trình phát triển một thiết kế CSDL liệu lôgic? Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 11 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh a.Khái niệm: mô hình quan hệ 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 ra 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ột có 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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh b. Tính chất của một quan hệ Và có các tính chất:  Phần tử nằm giao giữa dòng và cột là duy nhất  Các phần tử trong 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 đặt tùy ý) Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 13 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh c. Ví dụ: quan hệ SINH VIÊN 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ệ,  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 ) K41C Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 14 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh d. Lược đồ của một quan hệ  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ập U là các phụ thuộc hàm Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 15 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh e. Một quan hệ có cấu trúc tốt  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 (xem, 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 trong nó 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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh f. Phụ thuộc hàm giữa thuộc tính  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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh g. Các khóa trong một quan hệ  Khóa dự tuyển của 1 quan hệ là tập các 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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh h. Các dạng chuẩn 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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh i. Các ràng buộc toàn vẹn trong mô hình quan hệ  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 phải thuộc 1 miền giá trị xác đinh (xác định = 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 (lôgic) 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 về dữ liệu: Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 20 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh 3. Phát triển mô hình DL lôgic Quá trình phát triển một 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ột mô hình dữ liệu lôgic: mô hình quan hệ Sau đây trình bày nội dung quá trình chuyển này Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 21 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh a. Tiến trình phát triển MHDLLG Mô hình thực thể -mối quan hệ: ERM Biểu diễn các thực thể Biểu diễn các mối quan hệ Chuẩn hoá các quan hệ Hợp nhất các quan hệ Vẽ biểu đồ của mô hình 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ệ 22 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh b. Biểu diễn các thực thể  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ệ KHÁCH HÀNG mãkhách tênkhách địachỉ 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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh c. Biểu diễn các mối quan hệ loại 1 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ó NHÓM HÀNG Mãnhóm tênnhóm Mãhàng tênhàngTHUỘC đơnvị HÀNG HÀNG (mãhàng, tênhàng, đơnvị, mãnhóm) NHÓMHÀNG (mãnhóm, tênnhóm) Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 24 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh d. Biểu diễn mối quan hệ loại 2 b. Mối quan hệ dạng khác trường hợp (a) trên: thêm một mối 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 địachỉ KHÁCH Mãkhách tênkhách ĐẶT khuvực ngàyđặtsốlượng Mãhàng tênhàng đơnvị HÀNG sốđơn Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 25 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh d. Biểu diễn mối quan hệ loại 2  Mối quan hệ dạng khác trường hợp trên: thêm 1quan hệ mới : KHÁCH mãkhách tênkhách ĐẶT khuvực ngàyđặtsốlượng mãhàng tênhàng đơnvị HÀNG sốđơn địachỉ ĐƠ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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh e. Xác định khóa và chuẩn hóa  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 Ví dụ: DÒNGĐƠN(sốđơn, mãhàng, sốlượng) ĐƠNHÀNG (sốđơn, ngàyđặt, mãkhách) ĐƠ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ệ 27 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh f. Tích hợp các quan hệ  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ó tiếp tục.  Kết quả của quá trình này ta nhận được các quan hệ của mô hình đều có cấu trúc tốt Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 28 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh 4. Ví dụ Bài toán: Một cơ sở bán hàng sử dụng hai loại chứng từ (khung nhìn) sau để theo dõi hoạt động kinh doanh của mình: ĐƠN ĐẶT HÀNG Số: XXXXXX Người đặt hàng: ................................ Địa chỉ: ............................................. Ngày đặt:........................................... Số tt Tên hàng Đơn vị Đơn giá Số lượng Thành tiền xx xxx xxx xx xx xx ... ... .. ... ... ... ................. xxxxxxxxxxxxxx Thành tiền Số lượng Đơn giá Đơn vị Tên hàng Số tt PHIẾU GIAO HÀNG Số: XXXXXX Tên khách hàng: ................................ Địa chỉ: ............................................. Nơi giao: ........................................... Ngày giao:........................................... Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 29 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh a. Xây dựng ERM địachỉ KHÁCH mãkhách tênkhách mãhàng tênhàng ĐẶT đơnvịHÀNG khuvực ngàyđặt sốlượng sốđơn GIAO sốlượngzao ngàyzao tênnơizao đơngiázaosốphiếuzao NƠIGIAO Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 30 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh a.Chuyển ERM sang mô hình quan hệ Š 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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh b. Chuẩn hoá các quan hệ 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, mãkhách, ngàyđặt) DÒNGĐƠN (sốđơn, mãhàng, sốlượngđặt) PHIẾUGIAO(sốphiếu, ngàyzao, mãkhách, tênnơizao) DÒNGPHIẾU (sốphiếu, mãhàng,sốlượngzao,đơngiázao) (1) (2) (3) (4) (7) (6) (5) Oct - 2007 Khoa Công nghệ thông tin - Đại học Công nghệ 32 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh c. Vẽ biểu đồ liên kết các quan hệ  Biểu diễn mỗi quan hệ bằng 1 hình chữ nhật gồm tên (khoang trên) và các thuộc tính khóa (khoang dưới)  Nối từng cặp quan hệ với nhau nếu chúng chứa cùng 1 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 – tiếp sau)  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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh d. Lập bảng xác định liên kết Thuộc tính khoá (1) (2) (3) (4) (5) (6) (7) Liên kết mãkhách K C tênnơizao K C (3)-(6) K C (1)-(4), (1)-(6) mãhàng K C C (2)-(5), (2)-(7) sốđơn C (4)-(5) sốphiếu K C (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 Nguyễn Văn Vỵ – Nguyễn thị Nhật Thanh e. Biểu đồ liên kết của mô hình # mãkhách tênkhách địachỉkhách # sốđơn ngàyđặt mãkhách # sốđơn # mãhàng sốlượngđặt # sốphiếu ngàyzao mãkhách tênnơizao KHÁCH DÒNGĐƠNĐƠNHÀNG # mãhàng tênhàng môtảhàng đơnvịhàng HÀNGPHIẾUGIAO # sốphiếu # mãhàng sốlượngzao đơngiázao DÒNGPHIÊU # tênnơizao NƠIGIAO (1) (2) (3) (4) (5) (6) (7)

Các file đính kèm theo tài liệu này:

  • pdf7-MohinhQH_PTTK_Ctruc.pdf
Tài liệu liên quan