Phân tích thiết kế hệ thống - Phân tích và thiết kế cơ sở dữ liệu

pdf 87 trang vanle 1470
Bạn đang xem 20 trang mẫu của tài liệu "Phân tích thiết kế hệ thống - Phân tích và thiết kế cơ sở dữ liệu", để 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:

  • pdfphan_tich_thiet_ke_he_thong_phan_tich_va_thiet_ke_co_so_du_l.pdf

Nội dung text: Phân tích thiết kế hệ thống - Phân tích và thiết kế cơ sở dữ liệu

  1. Phân tích và thiết kế hệ thống System Analysis & Design Bài giảng 5: Phân tích và thiết kế cơ sở dữ liệu TS Đào Nam Anh 1
  2. Tham khảo • Systems Analysis and Design, Alan Dennis and Barbara Haley Wixom Fred Niederman John Wiley & Sons, Inc. • Dao Nam Anh, "Systems Analysis And Design", Course Book, University of Power, 201 2
  3. Giới thiệu Chương 5. Phân tích và thiết kế cơ sở dữ liệu 5.1 Mô hình thực thể - liên kết 5.2 Mô hình quan hệ 5.3 Thiết kế CSDL logic 5.4 Thiết kế CSDL vật lý 5.5 Một số bài tập hệ thống ứng dụng 3
  4. Giới thiệu Cơ sở dữ liệu đóng một vai trò rất lớn trong phát triển ứng dụng. Cơ sở dữ liệu cho phép bạn phân tích thông tin mà bạn đã thu thập được thông qua các công cụ như báo cáo và dữ liệu kho 4
  5. Giới thiệu • Cơ sở dữ liệu là một cơ chế được sử dụng để lưu trữ thông tin, hoặc dữ liệu. • Thông tin là một cái gì đó mà tất cả chúng ta đều sử dụng trên một cơ sở hàng ngày cho một loạt các lý do. • Với một cơ sở dữ liệu, người dùng sẽ có thể lưu trữ dữ liệu một cách có tổ chức. Một khi dữ liệu được lưu trữ, sẽ cần lấy thông tin ra một cách dễ dàng, và tìm kiếm dựa trên nhiều tiêu chí. • Dữ liệu cũng phải được dễ dàng thêm vào cơ sở dữ liệu, sửa đổi, và loại bỏ. 5
  6. Giới thiệu • Dữ liệu được biểu diễn dưới nhiều mô hình khác nhau: mô hình phân cấp, mô hình mạng, mô hình quan hệ, mô hình hướng đối tượng. • Phần lớn các hệ quản trị cơ sở dữ liệu thương mại hiện nay đều sử dụng các dữ liệu theo mô hình quan hệ và sự lựa chọn hợp lý của chương này là cơ sở dữ liệu quan hệ. 6
  7. Giới thiệu • Các hệ thống đều cần có một cơ sở dữ liệu (CSDL) của mình. • Việc phân tích và thiết kế cơ sở dữ liệu cho một hệ thống có thể tiến hành đồng thời với việc phân tích và thiết kế hệ thống hoặc có thể tiến hành độc lập. • Vấn đề đặt ra là cần xây dựng một cơ sở dữ liệu giảm tối đa sự dư thừa dữ liệu đồng thời dễ dàng khôi phục và bảo trì. 7
  8. Giới thiệu Phân tích CSDL • Bước này được tiến hành độc lập với các hệ quản trị CSD: • Xác định các yêu cầu về dữ liệu thông qua phân tích các yêu cầu dữ liệu của hệ thống. • Xây dựng mô hình thực thể liên kết biểu diễn các yêu cầu về dữ liệu. 8
  9. Giới thiệu Thiết kế CSDL quan hệ. • Quá trình thiết kế cơ sở dữ liệu gồm các bước sau đây: • Thiết kế CSDL vật lý: dựa trên một hệ quản trị CSDL cụ thể. – Xây dựng các bảng trong CSDL quan hệ, quyết định cấu trúc thực tế của các bảng lưu trữ trong mô hình quan hệ. – Cài đặt vật lý trong CSDL, đặt các tham số chi tiết trong HQTCSDL lựa chọn. 9
  10. 1 Mô hình thực thể - liên kết • Mô hình thực thể - liên kết (Entity-Relationship Diagram - ERD) là mô hình liên hoàn các thực thể và các mối liên kết trong hệ thống thông tin. • Trên mô hình này sẽ thể hiện đầy đủ các tập thực thể và mối liên kết giữa chúng trong hệ thống. • Đây cũng chính là mô hình quan niệm về dữ liệu của hệ thống thông tin. 10
  11. 1 Mô hình thực thể - liên kết • Mục đích • Mô hình thực thể - liên kết đã được sử dụng rộng rãi trong phân tích cấu trúc và mô hình hóa. • Cách tiếp cận ERD dễ hiểu, là công cụ mạnh để mô hình các vấn đề thực tế và có thể dễ dàng chuyển sang sơ đồ cơ sở dữ liệu. • Với ERD thế giới thực là một tập hợp các thực thể nghiệp vụ, các mối quan hệ giữa chúng và các thuộc tính để mô tả chúng. 11
  12. 1 Mô hình thực thể - liên kết Các thành phần Cấu trúc điển hình của mô hình ERD bao gồm các tính năng sau đây: • Thực thể (entity) • Thuộc tính (attribute) của các thực thể • Liên kết (relation) 12
  13. 1 Mô hình thực thể - liên kết Thực thể • Thực thể là để chỉ một đối tượng, một nhiệm vụ, một sự kiện trong thế giới thực hay tư duy được quan tâm trong quản lý. Một thực thể tương đương với một dòng trong bảng nào đó, ví dụ sinh viên Ngô Nguyên Th., đơn hàng số XD123. • Một cơ sở dữ liệu thường chứa những nhóm thực thể như nhau. Ví dụ, một công ty thuê hàng trăm nhân viên và lưu giữ những thông tin tương tự liên quan đến mỗi nhân viên. Các thực thể nhân viên này chia sẻ các thuộc tính giống nhau nhưng mỗi thực thể có các giá trị riêng cho các thuộc tính đó. 13
  14. 1 Mô hình thực thể - liên kết – Thuộc tính • Thuộc tính (attribute) được sử dụng để mô tả thực thể. • Mỗi một thực thể có các thuộc tính, đó là các đặc trưng cụ thể mô tả thực thể đó. Ví dụ, một thực thể Nhânviên được mô tả bằng Họtên, Tuổi, Địachỉ, Lương của nhân viên đó. • Một thực thể cụ thể sẽ có một giá trị cho mỗi thuộc tính của nó. Ví dụ, nhân viên NV1 có các giá trị cho các thuộc tính {Họtên, Tuổi, Địachỉ, Lương} là “ Lê Vân”, 32, “Hà nội”, 500000. • Mỗi thuộc tính có một tập giá trị gọi là miền giá trị của thuộc tính đó. Ví dụ tuổi là thuộc tính được qui định là số nguyên, trong khoảng [18 24]. 14
  15. 1 Mô hình thực thể - liên kết • Kiểu thuộc tính • Trong mô hình ER có mặt nhiều kiểu thuộc tính: thuộc tính đơn, thuộc tính phức hợp, thuộc tính đơn trị, thuộc tính đa trị, thuộc tính được lưu trữ, thuộc tính suy diễn được, thuộc tính có giá trị không xác định, thuộc tính phức tạp. 15
  16. 1 Mô hình thực thể - liên kết • Thuộc tính đơn là thuộc tính không thể phân chia ra được thành các thành phần nhỏ hơn. Ví dụ, thuộc tính Tuổi của một nhân viên là một thuộc tính đơn. • Thuộc tính phức hợp là thuộc tính có thể phân chia được thành các thành phần nhỏ hơn, biểu diễn các thuộc tính cơ bản hơn với các ý nghĩa độc lập. Ví dụ, thuộc tính Họtên của thực thể nhân viên có thể phân chia thành các tính Họđệm và Tên. Giá trị của một thuộc tính là sự kết hợp kết hợp các giá trị của các thuộc tính thành phần tạo nên nó. Việc phân chia một thuộc tính phức hợp thành các thuộc tính đơn tùy thuộc vào hoàn cảnh cụ thể. 16
  17. 1 Mô hình thực thể - liên kết • Những thuộc tính có giá trị duy nhất cho một thực thể cụ thể gọi là các thuộc tính đơn trị. Ví dụ, Họtên là một thuộc tính đơn trị của thực thể nhân viên, mỗi nhân viên có một họ tên duy nhất. • Trong một số trường hợp, một thuộc tính có thể có một tập giá trị cho cùng một thực thể. Những thuộc tính như vậy gọi là thuộc tính đa trị. Ví dụ, thuộc tính Bằngcấp của một người. Một người có thể không có bằng cấp nào, người khác có thể có một bằng, người khác nữa có thể có nhiều bằng. Như vậy, các người khác nhau có thể có một số giá trị khác nhau cho thuộc tính Bằngcấp. Thuộc tính Bằngcấp là một thuộc tính đa trị. 17
  18. 1 Mô hình thực thể - liên kết • Thuộc tính được lưu trữ là các thuộc tính mà giá trị của nó được nhập vào khi cài đặt cơ sở dữ liệu. Trong một số trường hợp, hai hay nhiều thuộc tính có giá trị liên quan đến nhau. Ví dụ, thuộc tính Tuổi và thuộc tính Ngàysinh của một người. Với một người cụ thể, ta có thể tính tuổi của anh ta bằng cách lấy năm hiện tại trừ đi năm của Ngàysinh. Thuộc tính mà giá trị của nó có thể tính được thông qua giá trị của các thuộc tính khác gọi là thuộc tính suy diễn được 18
  19. 1 Mô hình thực thể - liên kết – Kiểu thực thể • Một kiểu thực thể (entity class) là một tập hợp các thực thể có các thuộc tính như nhau. Một kiểu thực thể trong cơ sở dữ liệu được mô tả bằng tên và các thuộc tính. Ví dụ: NHÂNVIÊN (Họtên, Tuổi, Lương), CÔNGTY (Tên, Địađiểm, Giámđốc). • Một tập hợp các thực thể của một kiểu thực thể cụ thể trong cơ sở dữ liệu tại một thời điểm được gọi là một tập thực thể, nó thường được tham chiếu đến bằng cách sử dụng tên của kiểu thực thể. Ví dụ, NHÂNVIÊN để chỉ một kiểu thực thể, vừa để chỉ tập hợp hiện tại của tất cả các thực thể nhân viên trong cơ sở dữ liệu. 19
  20. 1 Mô hình thực thể - liên kết – Kiểu thực thể • Kiểu thực thể được biểu diễn bằng hình chữ nhật, và được đặt tên bằng danh từ. Phần trên ghi tên kiểu thực thể, phần dưới ghi các thuộc tính. Khoa Tên khoa Mã khoa Địa chỉ khoa Điện thoại 20
  21. 1 Mô hình thực thể - liên kết – Kiểu thực thể • Thuộc tính khóa của một kiểu thực thể: Một ràng buộc quan trọng trên các thực thể của một kiểu thực thể là khóa. • Một kiểu thực thể thường có một thuộc tính mà các giá trị của nó là khác nhau đối với mỗi thực thể riêng biệt trong một tập thực thể. Thuộc tính như vậy gọi là thuộc tính khóa và các giá trị của nó có thể dung để xác định từng thực thể một cách duy nhất. • Ví dụ, thuộc tính Tên của kiểu thực thể CÔNGTY là khóa của kiểu thực thể đó vì mỗi thực thể công ty có một tên duy nhất. 21
  22. 1 Mô hình thực thể - liên kết – Kiểu thực thể • Thuộc tính khóa của một kiểu thực thể: Một ràng buộc quan trọng trên các thực thể của một kiểu thực thể là khóa. • Đôi khi, nhiều thuộc tính kết hợp với nhau tạo thành một khóa, nghĩa là tổ hợp các giá trị của các thuộc tính này phải khác nhau đối với mỗi thực thể. Trong trường hợp như vậy ta có một thuộc tính khóa phức hợp. Chú ý rằng khóa phức hợp phải tối thiểu, nghĩa là tất cả các thuộc tính thành phần phải có mặt trong thuộc tính phức hợp để thỏa mãn tính chất duy nhất. 22
  23. 1 Mô hình thực thể - liên kết – Kiểu thực thể • Một kiểu thực thể có thể có nhiều hơn một thuộc tính khóa. • Ví dụ, nếu một công ty có một mã số duy nhất và một tên duy nhất thì các thuộc tính Mãsốcông ty và Têncôngty đều là các thuộc tính khóa. • Một kiểu thực thể cũng có thể không có khóa. Một thực thể không có khóa được gọi là kiểu thực thể yếu. Một thuộc tính mà là một khóa chính của quan hệ khác được gọi là khóa ngoại (foreign key). 23
  24. 1 Mô hình thực thể - liên kết – Liên kết • Liên kết đại diện cho liên hệ giữa một số thực thể. Mối liên kết giữa các tập thực thể có thể là một mối liên kết sở hữu hoặc phụ thuộc hoặc mô tả sự tương tác giữa chúng. Để mô tả một mối liên kết người ta dùng một đoạn thẳng trong đó ghi tên của mối liên kết và các thuộc tính riêng của nó nếu có. Một mối liên kết có thể có thuộc tính riêng. • Một liên kết có thể là nguyên phân, nhị phân, hoặc n, tuỳ thuộc vào việc số lượng các thực thể tham gia trong mối liên kết là 2, 3 hoặc nhiều hơn. 24
  25. 1 Mô hình thực thể - liên kết – Liên kết • Một liên kết có Bản số (cardinality). Đó là một cặp số nguyên (i,j), chứa số tối thiểu và số tối đa trường hợp có thể có của các phần tử của tập thực thể tham gia vào mối liên kết. • Bản số của tập thực thể nào thì được ghi trên nhánh của tập thực thể đó. Nếu i,j nhận giá trị lớn hơn 1 thì quy ước thay chúng bởi ký tự N. • Các dạng một-một (1:1), một-nhiều (1: N), nhiều – nhiều (M:N), có trong các mối liên kết giữa hai thực thể, 1:1:1, 1:1: N, 1: N: M, M: N: P trong các mối liên kết giữa ba thực thể. 25
  26. 1 Mô hình thực thể - liên kết – Liên kết • Liên kết một – một (1-1) • Mỗi thể hiện của thực thể A quan hệ với một thể hiện của thực thể B và ngược lại. Ký kiệu bằng một đường nối giữa hai thực thể. Ví dụ: Một sinh viên có một luận văn. Một luận văn thuộc về một sinh viên. Sinh viên Luận văn 26
  27. 1 Mô hình thực thể - liên kết – Liên kết • Liên kết một – nhiều (1-N) • Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với chỉ một thể hiện của thực thể A. Ký kiệu: đoạn thẳng phân nhánh tại bên “ nhiều”. Ví dụ: Một khoa có nhiều sinh viên. Một sinh viên thuộc về một khoa. Khoa Sinh viên 27
  28. 1 Mô hình thực thể - liên kết • Liên kết nhiều – nhiều (N-M) • Mỗi thể hiện của thực thể A quan hệ với nhiều thể hiện của thực thể B. Ngược lại mỗi thể hiện của thực thể B quan hệ với nhiều thể hiện của thực thể A. Ký kiệu phân nhánh tại hai đầu đoạn thẳng. Ví dụ: Một giảng viên dạy nhiều sinh viên. Một sinh viên được dạy bởi nhiều giảng viên. Giảng viên Sinh viên 28
  29. 1 Mô hình thực thể - liên kết • Loại thành viên: là điều kiện một thể hiện của thực thể tham gia vào liên kết với một thực thể khác. Nó có thể là bắt buộc hay tuỳ chọn trong quan hệ. Các loại thành viên cho biết số thể hiện nhỏ nhất của mỗi thực thể tham gia vào liên kết với một thể hiện của một thực thể khác. • Ký kiệu Bắt buộc và Tuỳ chọn 29
  30. 1 Mô hình thực thể - liên kết • Ví dụ Tuỳ chọn (ít nhất 0) –“một giáo viên có thể dạy không, một hoặc nhiều môn học.” Bắt buộc(ít nhất 1) – “một môn học cần phải được một hoặc nhiều giáo viên dạy.” Giảng viên Môn học 30
  31. 1 Mô hình thực thể - liên kết • Lưu ý: Mô hình dữ liệu không chỉ là công cụ phân tích thiết kế mà còn như một phương pháp kiểm tra các yêu cầu nghiệp vụ của người sử dụng. • 1. Liên kết một - nhiều biểu thị ràng buộc là một phần của mô tả yêu cầu nghiệp vụ: Khi chiều một nhiều là mở, không xác định (khách hàng có thể có nhiều đơn hàng) thì chiều từ nhiều sang một là hoàn toàn xác định (một đơn hàng phải thuộc về một khách hàng). • 2. Nếu hai thực thể có quan hệ một - một thường có ít lý do để coi chúng như hai bảng tách biệt. Do đó thường gộp hai thực thể làm một bảng với mỗi dòng dài hơn. 31
  32. 1 Mô hình thực thể - liên kết • Lưu ý: Mô hình dữ liệu không chỉ là công cụ phân tích thiết kế mà còn như một phương pháp kiểm tra các yêu cầu nghiệp vụ của người sử dụng. • 3. Nếu hai thực thể có quan hệ nhiều - nhiều thì không có sự khác biệt về bản chất giữa các chiều (không nói lên được kẻ thống trị). Do đó ít khi được sử dụng. 32
  33. 1 Mô hình thực thể - liên kết • Tóm lại trong ba kiểu liên kết trên, liên kết một nhiều là quan trọng hơn cả và hầu như các mối quan hệ trong mô hình thực thể liên kết đều là một nhiều. • Mô hình thực thể - liên kết là mô hình liên hoàn các tập thực thể và các mối liên kết trong hệ thống thông tin. • Trên mô hình này sẽ thể hiện đầy đủ các tập thực thể và mối liên kết giữa chúng trong hệ thống. Đây cũng chính là mô hình quan niệm về dữ liệu của hệ thống thông tin. 33
  34. 1 Mô hình thực thể - liên kết Xây dựng mô hình thực thể liên kết của hệ thống Gồm có ba bước sau đây: • Xác định các thực thể và các định danh thực thể • Xác định liên kết giữa các thực thể • Xác định các thuộc tính mô tả cho các thực thể 34
  35. 1 Mô hình thực thể - liên kết Xây dựng mô hình thực thể liên kết của hệ thống 1. Xác định các thực thể và các định danh thực thể • Xác định các thực thể là các mục thông tin cần thiết cho hệ thống và hệ thống cần lưu giữ. Các thực thể được tìm từ các nguồn: • Thông tin tài nguyên: con người, kho bãi, tài sản. Ví dụ nhà cung cấp, mặt hàng, kho • Thông tin giao dịch: là các luồng thông tin đến từ môi trường và kích hoạt một chuỗi hoạt động của hệ thống. Ví dụ đơn hàng mua bán, dự trù, phiếu yêu cầu, • Thông tin tổng hợp: thường ở dưới dạng thống kê liên quan đến các kế hoạch hoặc kiểm soát. Ví dụ dự toán chi tiêu, tính lương 35
  36. 1 Mô hình thực thể - liên kết Xây dựng mô hình thực thể liên kết của hệ thống 1. Xác định các thực thể và các định danh thực thể • Kiểm tra rằng mỗi thực thể thoả mãn: » Tên gọi là danh từ » Có nhiều thể hiện » Có duy nhất một định danh » Có ít nhất một thuộc tính mô tả » Có liên kết với ít nhất một thực thể khác. 36
  37. 1 Mô hình thực thể - liên kết Xây dựng mô hình thực thể liên kết của hệ thống 2. Xác định liên kết giữa các thực thể • Thiết lập sự tồn tại của liên kết. Vẽ đường thẳng và đặt tên liên kết tại hai đầu. • Xác định loại liên kết (1-1, 1-N, N-M) và loại thành viên tuỳ: chọn hay bắt buộc. • Tách liên kết N-M thành hai liên kết 1-N với một thực thể kết hợp. Khi đó thực thể kết hợp sẽ có định danh được tạo thành từ hai thuộc tính định danh của các thực thể ban đầu. 37
  38. 1 Mô hình thực thể - liên kết Xây dựng mô hình thực thể liên kết của hệ thống 2. Xác định liên Giảng viên Môn học Họ tên Tên môn học kết giữa các thực Mã giảng viên Mã môn học Ngày sinh Số tín chỉ thể Giới tính Học kỳ Dân tộc Học phí Ví dụ: liên kết Địa chỉ Điện thoại GIẢNG VIÊN-MÔN Email Ngành dạy HỌC dạng N:M được tách ra thành hai liên kết 1:N với Giảng viên Giảng dạy Môn học Họ tên Mã giảng viên Tên môn học việc tạo ra một thực Mã giảng viên Mã môn học Mã môn học Ngày sinh Ngày bắt đầu Số tín chỉ thể trung gian Giới tính Học kỳ Dân tộc Học phí GIẢNG DẠY. Địa chỉ Điện thoại Email Ngành dạy 38
  39. 1 Mô hình thực thể - liên kết Xây dựng mô hình thực thể liên kết của hệ thống 3. Xác định các thuộc tính mô tả cho các thực thể 1. Mỗi thuộc tính chỉ xuất hiện một lần trong thực thể tương ứng. 2. Nếu không chắc chắn là thuộc tính hay thực thể cần tiếp tục nghiên cứu và phân tích nó. 3. Khi một thuộc tính của thực thể A có nhiều giá trị ta sẽ mô hình hóa thuộc tính đó là một thực thể B có liên kết phụ thuộc với thực thể A. Định danh của thực thể B sẽ bao gồm các thuộc tính định danh của thực thể A và một số thuộc tính khác của thực thể B. Liên kết giữa thực thể A và thực thể B được gọi là liên kết phụ thuộc. [16,17,18] 39
  40. 1 Mô hình thực thể - liên kết Xây dựng mô hình thực thể liên kết của hệ thống 3. Xác định các thuộc tính mô tả cho các thực thể Ví dụ: Một giảng viên có thể có nhiều trình độ ngoại ngữ với các ngôn ngữ khác nhau. Khi đó trình độ ngoại ngữ của giảng viên không được mô hình hóa là một thuộc tính mà được mô hình hóa là một thực thể như sau: Giảng viên Ngoại ngữ 40
  41. 2 Mô hình quan hệ Cơ sở dữ liệu quan hệ (Relational Data Model) được Edgar Frank Codd giới thiệu vào tháng 7/1970 với bài “Mô hình dữ liệu cho các ngân hàng dữ liệu lớn”. Theo mô hình này, các dữ liệu sẽ được lưu vào máy tính dưới dạng các bảng hai chiều gọi là các quan hệ và giữa các bảng sẽ có các mối liên hệ được định nghĩa nhằm phản ảnh mối liên kết thực sự của các đối tượng dữ liệu ở bên ngoài thế giới thật. 41
  42. 2 Mô hình quan hệ Mô hình dữ liệu này cùng với mô hình dữ liệu thực thể kết hợp đang được sử dụng rộng rãi trong việc phân tích và thiết kế CSDL hiện nay. Nền tảng cơ bản của Cơ sở dữ liệu quan hệ là lý thuyết tập hợp trên các quan hệ, tức là tập của các bộ giá trị (Value Tuples). Trong mô hình dữ liệu này những khái niệm sẽ được sử dụng bao gồm thuộc tính (Attribute), quan hệ (Relation), lược đồ quan hệ (Relation Schema), bộ (Tuple), khóa (Key). 42
  43. 2 Mô hình quan hệ Quan hệ So sánh tương ứng giữa mô hình thực thể liên kết, mô hình quan hệ và hệ quản trị CSDL chúng ta có bảng sau: Mô hình thực thể Mô hình Các bảng trong liên kết quan hệ hệ QTCSDL Thực thể (kiểu thực Quan hệ Bảng thể) Thể hiện của thực thể Bộ Dòng hay bản ghi (thực thể) Thuộc tính Thuộc tính Cột hay trường 43
  44. 2 Mô hình quan hệ Quan hệ • Ví dụ với Mô hình thực thể liên kết Loại thực thể KHOA có hai thực thể: Khoa Tên khoa Công nghệ thông tin Quản trị kinh doanh Mã khoa CNTT QTKD Địa chỉ khoa Điện thoại Nhà 1C Nhà 2A 63322332 87787888 44
  45. 2 Mô hình quan hệ Quan hệ Trong Mô hình quan hệ: • Quan hệ: KHOA (Tên khoa, Mã khoa, Khoa Địa chỉ khoa, Điện thoại) • Các bộ: (Công nghệ thông tin, CNTT, Tên khoa Nhà 1c, 63322332) Mã khoa (Quản trị kinh doanh, QTKD, Nhà 2A, 87787888) Địa chỉ khoa • Điện thoại 45
  46. 2 Mô hình quan hệ Quan hệ Trong bảng của hệ QTCSDL KHO Tên khoa Mã Địa chỉ Điện thoại Khoa A khoa khoa Tên khoa Công nghệ thông CNTT Nhà 1C 63322332 Mã khoa tin Địa chỉ khoa Điện thoại Quản trị kinh QTKD Nhà 2A 87787888 doanh 46
  47. 2 Mô hình quan hệ Quan hệ So sánh tương ứng giữa mô hình thực thể liên kết, mô hình quan hệ và hệ quản trị CSDL chúng ta có bảng sau: 47
  48. 2 Mô hình quan hệ Quan hệ • Trong Mô hình quan hệ, các bộ trong một quan hệ không được trùng nhau. • Thuộc tính được xác định bởi tên, thứ tự của các thuộc tính trong quan hệ là không quan trọng. • Trong một quan hệ, tên các thuộc tính phải khác nhau, các miền giá trị của các thuộc tính không nhất thiết khác nhau. 48
  49. 2 Mô hình quan hệ Khóa • Khóa chính của một quan hệ (Primary Key - PK) là một hoặc một nhóm thuộc tính, xác định duy nhất một bộ trong quan hệ. Khóa chính của quan hệ là định danh của thực thể tương ứng. Trong quan hệ các thuộc tính thuộc khóa chính được gạch chân và được gọi là các thuộc tính khóa. • Ví dụ: KHOA (Tên khoa, Mã khoa, Địa chỉ khoa, Điện thoại) – Mã khoa là khóa chính của quan hệ KHOA. 49
  50. 2 Mô hình quan hệ Khóa • Khi chọn khóa chính cần phải xét các tiêu chuẩn: khóa chính phải xác định được duy nhất một bộ trong quan hệ, phải có số thuộc tính ít nhất, phải không thay đổi theo thời gian. • Khóa ghép là khóa có từ hai thuộc tính trở lên. • Ví dụ: trong quan hệ GIẢNG DẠY (Mã giảng viên, Mã môn học, Ngày bắt đầu), khóa chính là một khóa ghép gồm hai thuộc tính Mã giảng viên, Mã môn học. 50
  51. 2 Mô hình quan hệ Khóa • Khóa ngoài: Một khóa ngoài được sử dụng để thiết lập một mối quan hệ. Đó là thuộc tính mô tả của quan hệ này nhưng đồng thời lại là thuộc tính khóa trong quan hệ khác. Các thuộc tính khóa ngoài được in nghiêng hoặc gạch chân bằng nét đứt. • Ví dụ: LỚP (tên lớp, khoa, phòng học) SINH VIÊN (mã SV, họ tên, ngày sinh, quê quán, tên lớp) trong đó tên lớp là khóa ngoài của quan hệ SINH VIÊN. 51
  52. 2 Mô hình quan hệ Khóa • Khóa giả - là thuộc tính do người thiết kế đặt ra để làm khóa chính. Thuộc tính này không mô tả đặc điểm của các đối tượng quan tâm mà chỉ có tác dụng để xác định duy nhất đối tượng đó. Ví dụ: mã SV, số hóa đơn Thông thường khi khóa chính có từ 3 thuộc tính trở lên, người ta thường đặt ra một khóa giả làm khóa chính để thuận tiện hơn trong việc truy vấn dữ liệu. 52
  53. 2 Mô hình quan hệ Khóa • Ràng buộc thực thể là một ràng buộc trên khóa chính. Nó yêu cầu khóa chính phải tối thiểu, xác định duy nhất và không null. Giá trị null tức là không có giá trị. Nó khác với giá trị 0 hay dấu cách. • Ràng buộc tham chiếu (ràng buộc khóa ngoài): liên quan đến tính toàn vẹn của mối quan hệ tức là liên quan đến tính toàn vẹn của khóa ngoài. Một ràng buộc tham chiếu yêu cầu một giá trị khóa ngoài trong một quan hệ cần phải tồn tại là một giá trị khóa chính trong một quan hệ khác hoặc là giá trị null. 53
  54. 2 Mô hình quan hệ Khóa • Ví dụ có một bộ như sau: SINH VIÊN mã SV tên SV tên lớp SV34 Hoàng Anh T4-K7 • Tuy nhiên trong quan hệ “LỚP” lại không có bộ nào có khóa chính T4-K7. Đó là vi phạm ràng buộc tham chiếu. • Các ràng buộc được định nghĩa bởi người dùng: đây là các ràng buộc liên quan đến miền giá trị của dữ liệu thực tế. 54
  55. 2 Mô hình quan hệ Phụ thuộc hàm • Trong một quan hệ R, thuộc tính B phụ thuộc hàm vào thuộc tính A (hay thuộc tính A xác định hàm thuộc tính B) ký hiệu A→B nếu với mỗi giá trị của thuộc tính A xác định một giá trị duy nhất của thuộc tính B. • Ví dụ: Mã sinh viên→Ngày sinh. • Phụ thuộc hàm giữa nhiều thuộc tính: thuộc tính B phụ thuộc hàm vào các thuộc tính A1 và A2, được ký hiệu là {A1, A2}→B nếu với mỗi cặp giá trị của A1 và A2 xác định duy nhất một giá trị của B. • Ví dụ: {Số hóa đơn, Mã hàng}→Số lượng. 55
  56. 2 Mô hình quan hệ Phụ thuộc hàm Các loại phụ thuộc hàm 1. Phụ thuộc hàm đầy đủ: Thuộc tính B gọi là phụ thuộc đầy đủ vào tập thuộc tính A (có từ 2 thuộc tính trở lên) nếu nó chỉ phụ thuộc hàm vào A và không phụ thuộc hàm vào bất cứ tập con nào của A. Ngược lại B gọi là phụ thuộc hàm bộ phận vào tập thuộc tính A. 2. Phụ thuộc hàm bắc cầu: Nếu có A1→A2 và A2→A3 thì A1→A3. Khi đó A3 được gọi là phụ thuộc bắc cầu vào A1. Định nghĩa khóa theo quan niệm phụ thuộc hàm: Trong quan hệ R, tập các thuộc tính K là khóa của quan hệ nếu 56 có K→Bi với Bi là tất cả các thuộc tính còn lại.
  57. 2 Mô hình quan hệ Các dạng chuẩn • Dạng chuẩn (normalization) là quá trình nhóm dữ liệu một cách hợp lý để tránh trùng lặp dữ liệu và sự phức tạp dữ liệu. • Có rất nhiều mức độ (hoặc các hình thức) bình thường hóa. • Những quy tắc cho việc bình thường ban đầu được phát triển bởi E.F. Codd, một nhà nghiên cứu tại IBM. • Có một số dạng bình thường hóa: 1NF, 2NF, 3NF, Boyce-Codd, . Dưới đây là 3 dạng cơ bản. 57
  58. 2 Mô hình quan hệ Các dạng chuẩn – Dạng chuẩn 1 • Đối với mô hình dữ liệu để đáp ứng Dạng chuẩn 1 (First Normal Form - 1NF), tất cả các thực thể trong CSDL phải có một khóa chính. • Các khóa chính của thực thể là một thuộc tính, hoặc là một bộ các thuộc tính, xác định một trường hợp duy nhất trong thực thể đó. • Khóa chính không bao giờ có thể là null. • Ngoài ra, không có hai trường hợp có thể có cùng giá trị cho các khóa chính. 1NF cũng quy định rằng không có nhóm lặp. 58
  59. 2 Mô hình quan hệ Các dạng chuẩn – Dạng chuẩn 1 • Một nhóm lặp là thuộc tính có nhiều giá trị có liên quan đến một giá trị duy nhất trong một thuộc tính khác trong cùng một thực thể. • Ví dụ, một thực thể Album, có thuộc tính TênNghệSỹ. • Nếu trong thực thể có nhiều album của cùng 1 nghệ sỹ thì có nghĩa có nhóm lặp. • Để sửa lỗi này, bạn cần phải tạo thêm thực thể TênNghệSỹ và tạo ra một mối quan hệ giữa hai thực thể. 59
  60. 2 Mô hình quan hệ Các dạng chuẩn – Dạng chuẩn 2 • 2NF xác định rằng tất cả các thuộc tính không phải là khóa, phụ thuộc toàn bộ vào khóa chính. • Khi khóa chính của một thực thể là một thuộc tính đơn, thì 2NF không phải là một vấn đề. • Tuy nhiên, nếu khóa chính được tạo thành từ nhiều thuộc tính thì 2NF có nghĩa là: tất cả các thuộc tính khác trong thực thể phụ thuộc vào tất cả các thuộc tính trong các khóa chính. • Ví dụ: Cho một quan hệ: R (A, B, C, D, E). Khóa chính là A,B. • Hàm Phụ thuộc đầy đủ: {A,B}→D; 60 • Hàm Phụ thuộc bộ phận: A→C; B→E;
  61. 2 Mô hình quan hệ Các dạng chuẩn – Dạng chuẩn 3 • 3NF là dạng chuẩn mà hầu hết các mô hình dữ liệu và cơ sở dữ liệu được chuẩn hóa. • 3NF là một mô hình dữ liệu 2NF, và thỏa mãn thêm điều kiện: không có sự phụ thuộc bắc cầu. • Một phụ thuộc bắc cầu tồn tại khi một thuộc tính (không phải khóa) của một thực thể phụ thuộc vào một thuộc tính (không phải khóa) khác, mà thuộc tính này phụ thuộc vào thuộc tính khóa. • Ví dụ: Cho một quan hệ: R (A, B, D, E). Khóa chính là A,B. • Các Hàm phụ thuộc : {A,B}→D; • D→E là Hàm phụ thuộc giữa các thuộc tính không phải 61là khóa.
  62. 3 Thiết kế CSDL logic • Có hai hướng tiếp cận để mô hình hóa dữ liệu: • Vẽ mô hình thực thực liên kết. Đây là cách tiếp cận từ trên xuống (top - down). Để xây dựng mô hình thực thể liên kết cần xác định một cách trực giác các đối tượng quan trọng mà một hệ thống cần phải lưu trữ như dữ liệu (đó là các thực thể) và xác định các thuộc tính mô tả cho các thực thể đó cùng với quan hệ giữa các thực thể. Nếu áp dụng đúng các luật trong mô hình thực thể liên kết thì ta sẽ có các quan hệ đã được chuẩn hóa. 62
  63. 3 Thiết kế CSDL logic • Chuẩn hóa là cách tiếp cận từ dưới lên (bottom - up): Để chuẩn hóa cần nhóm tất cả các thuộc tính liên quan của hệ thống vào trong một quan hệ. Áp dụng các luật chuẩn hóa để tách quan hệ đó thành các quan hệ có cấu trúc tốt hơn giảm bớt dư thừa dữ liệu. • Mỗi cách tiếp cận đều có ưu điểm và nhược điểm riêng vì vậy trong thực tế người ta thường phối hợp cả hai cách tiếp cận này để có được một mô hình dữ liệu chính xác nhất. Kết quả cuối cùng của phần thiết kế CSDL logic là tập các bản ghi logic biểu diễn các quan hệ trong CSDL. 63
  64. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic – Bước 1: Chuyển đổi các thực thể thành bảng • Tùy theo thực thể tham gia các mối quan hệ 1:1, 1:N, N:M, có các trường hợp sau: • Mối quan hệ N:M • Một thiết kế có thể hoặc có thể không quan hệ dạng N:M. Ta có chuyển đổi một quan hệ N:M về nhiều quan hệ 1:M rồi áp dụng như cho trường hợp với mối quan hệ 1:N. • Cách chuyển quan hệ dạng N:M như sau: đầu tiên chuyển đổi hai thực thể thành hai bảng. Sau đó, tạo ra một bảng thứ ba, thường được gọi là bảng giao, có tên ghép từ hai bảng trước. Bảng này lưu các cặp khóa ngoại kết nối hai bảng kia. 64
  65. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic • Ví dụ với mô hình thực thể liên kết: Sinh viên Khoa Họ tên Tên khoa Mã SV Mã khoa Ngày sinh Địa chỉ khoa Giới tính Khóa học Điện thoại Dân tộc Quê quán Tên khóa học Điện thoại Mã khóa học Email Trình độ Ngành học Cấp học Giảng viên Họ tên Mã giảng viên Môn học Ngày sinh Giới tính Tên môn học Dân tộc Mã môn học Địa chỉ Số tín chỉ Điện thoại Học kỳ Email Học phí Ngành dạy 65
  66. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic • Ta có các bản ghi logic sau: Sinh viên (Họ tên, Mã SV, Ngày sinh, Giới tính, Dân tộc, Quê quán, Điện thoại, Email, Ngành học, Cấp học) Khóa học (Tên khóa học, Mã khóa học, Trình độ) Khoa (Tên khoa, Mã khoa, Địa chỉ khoa, Điện thoại) Môn học (Tên môn học, Mã môn học, Số tín chỉ, Học kỳ, Học phí) Giảng viên (Họ tên, Mã giảng viên, Ngày sinh, Giới tính, Dân tộc, Địa chỉ, Điện thoại, Email, Ngành dạy) 66
  67. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic Với các liên Giảng viên Môn học Họ tên Tên môn học kết nhiều- Mã giảng viên Mã môn học Ngày sinh Số tín chỉ nhiều trong Giới tính Học kỳ mô hình thực Dân tộc Học phí Địa chỉ thể, thay thế Điện thoại Email bằng các liên Ngành dạy kết một – nhiều, như ví Giảng viên Giảng dạy Môn học dụ dưới đây. Họ tên Mã giảng viên Tên môn học Mã giảng viên Mã môn học Mã môn học Ngày sinh Ngày bắt đầu Số tín chỉ Giới tính Học kỳ Dân tộc Học phí Địa chỉ Điện thoại Giảng dạy (Mã giảng viên, Mã môn học, Email Ngày bắt đầu) 67 Ngành dạy
  68. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic – Bước 2: Thiết lập các ràng buộc • Sau khi có các bảng sẽ cần xác định các ràng buộc cho bảng. • Giá trị mặc định: Với mỗi trường của bảng có thể đặt giá trị mặc định. • Kiểm tra tính hợp lệ - Validation Rule: Sử dụng qui tắc này để kiểm tra tính hợp lệ của dữ liệu. • Validation Text: Đây là thông báo lỗi mà gửi đến người sử dụng khi Validation Rule bị vi phạm. 68
  69. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic • Chuẩn hóa quan hệ • Bước 1. Dạng chuẩn 0 (0NF). Từ một biểu mẫu (tài liệu xuất: hóa đơn, chứng từ, ) lấy ra một danh sách các thuộc tính cho quan hệ chưa được chuẩn hóa. • Mỗi tiêu đề trong biểu mẫu là một thuộc tính. • Bỏ qua phần đầu đề và phần dưới cùng (một số ghi chú, chữ ký ) của biểu mẫu. • Không lấy các thuộc tính được suy diễn từ những thuộc tính khác (như thành tiền = đơn giá * số lượng) và các thuộc tính trình bày như „số thứ tự‟ nếu có. • Bổ sung thêm một số thuộc tính định danh tương ứng với một số thuộc tính tên gọi chưa có định danh nếu cần thiết. • Xác định nhóm thuộc tính lặp, các Hàm phụ thuộc giữa 69các thuộc tính.
  70. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic – Bước 2: Thiết lập các ràng buộc • Bước 2. Chuyển về dạng chuẩn 1 (1NF): Tách nhóm thuộc tính lặp. • Tách các thuộc tính không nằm trong nhóm lặp thành một quan hệ (R1). Xác định khóa chính của quan hệ này. • Các thuộc tính của nhóm lặp và khóa chính của quan hệ trên (R1) tạo thành một quan hệ (R2). Xác định khóa chính cho quan hệ R2: khóa chính của R2 sẽ là một khóa ghép giữa khóa của R1 và một thuộc tính khác trong R2. • Ví dụ: R{A,B,C,D,E} và khóa là {A}. Tồn tại nhóm thuộc tính lặp {C,D} thì tách thành 2 quan hệ: R1{A,B,E} và R2{A,C,D}. 70
  71. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic • Bước 3. Chuyển về dạng chuẩn 2 (2NF): Loại bỏ phụ thuộc bộ phận vào khóa (chỉ áp dụng với các quan hệ có khóa ghép). • Tách các thuộc tính tham gia vào Hàm phụ thuộc được xác định bởi một phần của khóa vào một quan hệ mới (R3). Khóa chính của quan hệ là thuộc tính xác định hàm. • Phần còn lại với khóa chính của quan hệ trên (R3) là một quan hệ giữ nguyên khóa chính như quan hệ ban đầu. • Ví dụ: R{A,B,C,D} và khóa là {A,B}. Tồn tại Hàm phụ thuộc A→C thì tách thành 2 quan hệ R1{A,C} và R2{A,B,D}. 71
  72. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic • Hoàn thiện mô hình CSDL logic • Sau khi tiến hành theo hai hướng khác nhau: xây dựng mô hình thực thể liên kết và chuẩn hóa dữ liệu chúng ta sẽ có hai tập bản ghi logic khác nhau của cùng một hệ thống. Khi đó cần phải kết hợp lại để có một mô hình CSDL logic thống nhất cho hệ thống. • Một số nguyên tắc kết hợp: • 1. Kiểm tra sự thống nhất về tên gọi của các quan hệ và các thuộc tính trong hai kết quả. Nếu cùng tên những khác nghĩa thì phải đặt lại tên cho khác nhau. Nếu cùng nghĩa nhưng khác tên thì phải đặt lại tên cho giống nhau. • 2. Lấy tất cả các quan hệ khác nhau từ hai kết quả. • 3. Với hai quan hệ trùng nhau thì lấy tất cả các thuộc tính72 có trong hai quan hệ từ hai kết quả.
  73. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic – Bước 3: Tạo các mối quan hệ • Trên cơ sở quan hệ dữ liệu được nêu trong các tài liệu phân tích, có thể cần thiết kế các quan hệ giữa các bảng sử dụng các khóa chính và các khóa ngoại. 73
  74. 3 Thiết kế CSDL logic Chuyển đổi từ mô hình thực thể liên kết thành các bản ghi logic • Hoàn thiện mô hình CSDL logic • Sau khi tiến hành theo hai hướng khác nhau: xây dựng mô hình thực thể liên kết và chuẩn hóa dữ liệu chúng ta sẽ có hai tập bản ghi logic khác nhau của cùng một hệ thống. Khi đó cần phải kết hợp lại để có một mô hình CSDL logic thống nhất cho hệ thống. • Một số nguyên tắc kết hợp: • 1. Kiểm tra sự thống nhất về tên gọi của các quan hệ và các thuộc tính trong hai kết quả. Nếu cùng tên những khác nghĩa thì phải đặt lại tên cho khác nhau. Nếu cùng nghĩa nhưng khác tên thì phải đặt lại tên cho giống nhau. • 2. Lấy tất cả các quan hệ khác nhau từ hai kết quả. • 3. Với hai quan hệ trùng nhau thì lấy tất cả các thuộc tính có trong hai quan hệ từ hai kết quả. 74
  75. 4 Thiết kế CSDL vật lý Phần thiết kế CSDL vật lý sẽ phụ thuộc vào một HQTCSDL mà ta sẽ sử dụng để cài đặt CSDL. Chúng ta cần chuyển từ các bản ghi logic với các thuộc tính thành các quan hệ được biểu diễn dưới dạng bảng, với các trường hay các cột được cài đặt trong một HQTCSDL cụ thể 75
  76. 4 Thiết kế CSDL vật lý Thiết kế các bảng Bảng là các khối logic cơ bản của cơ sở dữ liệu quan hệ. Bảng là một nhóm các cột dữ liệu. Với mỗi bảng cần chỉ rõ: khóa chính (có thể gồm một hay nhiều thuộc tính) và mô tả của tất cả các cột (trường). 76
  77. 4 Thiết kế CSDL vật lý Thiết kế các bảng Các yêu cầu về việc thiết kế các trường: • Tiết kiệm không gian nhớ, • Biểu diễn được mọi giá trị có thể, • Cài đặt các ràng buộc toàn vẹn của dữ liệu, • Đặt giá trị mặc định (Default) để giảm thiểu thời gian nhập dữ liệu. 77
  78. 4 Thiết kế CSDL vật lý Thiết kế các bảng Chọn kiểu dữ liệu và độ rộng của trường • Hầu hết các hệ quản trị cơ sở dữ liệu thương mại đều cung cấp cho người dùng các kiểu dữ liệu thông dụng như: text, number, logical, date, time, Khi chọn kiểu dữ liệu và độ rộng trường nên chọn đúng kiểu và khai báo độ rộng vừa đủ, không nên làm phức tạp cấu trúc dữ liệu của hệ thống. Các quan hệ: • Các quan hệ giữa các bảng sẽ được thiết lập bởi các khóa ngoài. • Cần phải đảm bảo là cái ràng buộc khóa ngoài sẽ được cài đặt. 78
  79. 4 Thiết kế CSDL vật lý Xem xét hiệu suất thực thi CSDL Cần phải đánh giá việc thực thi CSDL, đó là tính hợp lý của thời gian đáp ứng các câu hỏi truy vấn. • Chạy thử CSDL với một tập đủ lớn các bản ghi trong môi trường thực tế. • Mô phỏng một số người dùng cùng thực hiện một truy vấn trong CSDL đa người sử dụng. • Chạy trộn lẫn một số chức năng trong thời gian không qua lâu. 79
  80. 4 Thiết kế CSDL vật lý Xem xét hiệu suất thực thi CSDL – Chỉ số - index • Xác định một số chỉ số trong CSDL là một vấn đề quan trọng cần quan tâm khi thiết kế CSDL. • Một chỉ số duy nhất cho mỗi khóa chính, • Một chỉ số trên mỗi khóa ngoài, • Những dữ liệu được truy nhập thường xuyên cũng cần phải tạo chỉ số, • Với chỉ số ghép trên nhiều cột cần phải cung cấp thứ tự các cột. 80
  81. 4 Thiết kế CSDL vật lý Xem xét hiệu suất thực thi CSDL Ưu điểm việc sử dụng chỉ số: • Tăng tốc độ tìm kiếm và khôi phục các bản ghi, • Có hiệu suất cao trong việc truy nhập nhiều bảng, • Tạo các cách sắp xếp khác nhau trên cùng một bảng, • Tạo nhiều mức sắp xếp bằng cách tạo một chỉ số trên một số cột. Hạn chế: • Cần không gian để lưu giữ các chỉ số, • Tốn thời gian cập nhật tất cả các chỉ số khi cập nhật dữ liệu. 81
  82. 4 Thiết kế CSDL vật lý Xem xét hiệu suất thực thi CSDL – Dạng không chuẩn • Trong khi một cơ sở dữ liệu chuẩn thường linh hoạt và có hiệu suất cao trong các ứng dụng trực tuyến, như hệ thống đặt hàng. Tuy nhiên, có những tình huống nhất định, khi chạy các loại truy vấn đối với một cơ sở dữ liệu chuẩn (3NF hoặc 4NF) sẽ dẫn đến sự tham gia số lượng lớn các bảng liên kết, làm tăng chi phí và làm chậm hiệu suất. • Khi đó cần phải không chuẩn hóa một số thực thể để tăng hiệu suất. 82
  83. 4 Thiết kế CSDL vật lý Xem xét hiệu suất thực thi CSDL – Dạng không chuẩn • Phân rã: Căn cứ vào yêu cầu sử dụng nếu có những cột thuộc tính hay dùng và ít dùng hoặc vì một lý do nào đó (ví dụ để bảo mật) thì phân rã chúng ra. Những cột thuộc tính hay dùng cho vào cùng một bảng. • Gộp hai hay nhiều bảng khi việc sử dụng chúng thường đi liền với nhau. 83
  84. 4 Thiết kế CSDL vật lý Xem xét hiệu suất thực thi CSDL – Dạng không chuẩn • Lặp lại các cột thuộc tính từ các bảng khác nhau, thêm một số cột thuộc tính suy diễn vào bảng (ví dụ: thành tiền, tổng tiền) nếu nó được truy vấn thường xuyên. • Lập các bảng chỉ dẫn căn cứ vào đường truy nhập và theo các cột thuộc tính có tần số sử dụng cao. Thêm một số bảng để lưu trữ các thông tin kết quả truy vấn sẽ được sử dụng lại. 84
  85. 4 Thiết kế CSDL vật lý Điều chỉnh thực thi CSDL – Dạng không chuẩn • Tạo các thủ tục sao lưu và phục hồi CSDL. • Tổ chức bảo trì và bảo mật cho CSDL. • Thiết lập các ràng buộc toàn vẹn cho CSDL. • Xác định không gian nhớ cho các bảng CSDL và các chỉ số. • Thiết lập vùng nhớ đệm cho CSDL. • Phân cụm CSDL, tổ chức lưu trữ vật lý tối ưu cho CSDL trên đĩa. • Đảm bảo điều khiển tương tranh trong CSDL đa người sử dụng. • Tạo ra các view của CSDL cho từng đối tượng người dùng. • Xác định sự phân tán dữ liệu và xử lý giữa các client và server trong một hệ thống phân tán. 85
  86. TÓM TẮT Chương 5. Phân tích và thiết kế cơ sở dữ liệu 5.1 Mô hình thực thể - liên kết 5.2 Mô hình quan hệ 5.3 Thiết kế CSDL logic 5.4 Thiết kế CSDL vật lý 5.5 Một số bài tập hệ thống ứng dụng 86
  87. Questions areanalysisanddesign 87