1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Thiết kế cơ sở dữ liệu: Chương 1 - ThS. Trần Quang Hải Bằng

33 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 1,28 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Thiết kế cơ sở dữ liệu - Chương 1: Các khái niệm cơ bản cung cấp cho người đọc các kiến thức: Review về quan hệ và chuẩn hóa, thiết kế CSDL mức quan niệm, thiết kết CSDL mức logic, thiết kết CSDL mức logic. Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

Phân tích hệ thống

Thiết kế hệ thống Triển khai và vận

hành hệ thống

Trang 2

Nội dung

Review về quan hệ và chuẩn hóa

Thiết kế CSDL mức quan niệm

Thiết kết CSDL mức logic

Thiết kế CSLD mức vật lý

Chương 1 - Khái niệm cơ bản về TKCSDL 3

Review Quan hệ & Chuẩn hóa

Mô hình dữ liệu quan hệ

– Dữ liệu được trình bày như các bảng có liên quan với nhau

– Mỗi quan hệ là 1 bảng 2 chiều gồm các hàng và cột– Một quan hệ được là có cấu trúc cao khi:

• Sự dư thừa dữ liệu mở mức tối thiểu và cho phép người dùng nhập, chỉnh sửa và xóa các bản thi mà không làm mất đi tính nhất quán của dữ liệu

Trang 3

Review Quan hệ & Chuẩn hóa

Quan hệ nào có cấu trúc cao?

Chương 1 - Khái niệm cơ bản về TKCSDL 5

Review Quan hệ & Chuẩn hóa

Chuẩn hóa (Normalization):

– Là quy trình biến đổi những cấu trúc dữ liệu phức tạp thành những cấu trúc dữ liệu ổn định và đơn giản

– Kết quả của quá trình chuẩn hóa là quan hệ có cấu trúc cao

Trang 4

Review Quan hệ & Chuẩn hóa

Ví dụ trước khi chuẩn hóa

Chương 1 - Khái niệm cơ bản về TKCSDL 7

Review Quan hệ & Chuẩn hóa

Ví dụ sau khi chuẩn hóa

Trang 5

Dạng chuẩn 3 (3NF)

– Không chứa thuộc tính phụ thuộc bắc cầu vào khóa (Các thuộc tính không phải là khóa chính không phụ thuộc lẫn nhau)

Kết quả sau dạng chuẩn 3:

– Tất cả các thuộc tính không phải là khóa đều phụ thuộc hoàn toàn vào khóa chính

Chương 1 - Khái niệm cơ bản về TKCSDL 9

Sự phụ thuộc hàm của B vào A ký hiệu là: A → B

Trang 6

Chuyển về dạng chuẩn 2

Một quan hệ đã đạt 2NF nếu thỏa mãn 1 trong các điều kiện sau:

– ĐK1: Khóa chính chỉ gồm 1 thuộc tính duy nhất

– ĐK2: Trong quan hệ không tồn tại thuộc tính không phải khóa chính

– ĐK3: Mọi thuộc tính không phải khóa chính đều phụ thuộc đầy đủ vào khóa chính

Phụ thuộc hàm trong quan hệ này là:

– Emp_ID → Name, Dept, Salary

– Emp_ID, Course → Date_Completed

Chuyển về dạng chuẩn 2

– EMPLOYEE1(Emp_ID, Name, Dept, Salary)

– EMP_COUSE(Emp_ID, Course, Date_Completed)

Trang 7

Một quan hệ ở dạng chuẩn ba nếu nó ở dạng chuẩn

2 và không có phụ thuộc hàm nào giữa hai (hay nhiều) thuộc tính không phải khóa chính

Chuyển về dạng chuẩn 3:

– Phân rã quan hệ thành 2 quan hệ sử dụng thuộc tính quyết định

Trang 8

– Nhưng R không đạt BCNF vì tồn tại PTH Z→C trong đó Z không phải là 1 siêu khóa.

Trang 9

Phân rã lược đồ quan hệ

Phân rã bảo toàn thông tin

– Cách kiểm tra phân rã có bảo toàn thông tin ?

Phân rã bảo toàn Phụ thuộc hàm

– Cách kiểm tra phân rã có bảo toàn PTH ?

Chương 1 - Khái niệm cơ bản về TKCSDL 17

Phân rã lược đồ quan hệ

MaSV TenSV Diachi Malop Tenlop

Trang 10

Phân rã lược đồ quan hệ

Thực hiện phân rã quan hệ đã cho

Cả 2 quan hệ mới đều đạt BCNF

Chương 1 - Khái niệm cơ bản về TKCSDL 19

MaSV TenSV Diachi Malop Tenlop

SINHVIEN

LOP

Phân rã bảo toàn thông tin

Định nghĩa:

– Lược đồ quan hệ R (với tập PTH F) được phân rã

thành các lược đồ R1, R2,….,Rk được gọi là phân rã bảo toàn thông tin nếu với mỗi quan hệ r của R thỏa F chúng ta có:

r = πR1(r) * πR2(r)*….* πRk(r)

Trang 11

Phân rã bảo toàn thông tin

Kiểm tra xem 1 phân rã có bảo toàn thông tin?

• Khẳng định ρ là phân rã có mất mát thông tin hay không?

Chương 1 - Khái niệm cơ bản về TKCSDL 21

Phân rã bảo toàn thông tin

Kiểm tra xem 1 phân rã có bảo toàn thông tin?

– Phương pháp:

• Bước 1: Lập 1 bảng n cột và k hàng Cột j ứng với thuộc tính AjHàng i ứng với lược đồ Ri Ở vị trí (i, j) ta điền:

+ ajnếu Ajthuộc Ri+ bijnếu Aj không thuộc Ri

• Bước 2: Xét lặp đi lặp lại mỗi phụ thuộc hàm f = X→ Y trong F cho đến khi không còn sự thay đổi nào trong bảng.

Ở mỗi lần xét X→Y ∈ F ta tìm tất cả những hàng giống nhau ở tất cả các cột cho thuộc tính X Nếu thấy 2 hàng như thế thì làm cho 2 hàng này giống nhau ở các cột cho thuộc tính Y.

Khi làm cho 2 ký hiệu bằng nhau nếu 1 trong 2 ký hiệu là a j thì ký hiệu kia đặt lại thành a j ; nếu 1 trong 2 ký hiệu là b ij và b kj thì làm bằng nhau bằng ký hiện nào cũng được.

Cuối cùng nếu xuất thu được 1 hàng a1, a2,…,an thì kết luận phân rã đó bảo toàn thông tin Ngược thì thì KHÔNG BẢO TOÀN

Trang 12

R1(MaSV, TenSV, Diachi, MaLop)

R2(MaLop, Tenlop)

– Kiểm tra xem phân rã trên có bảo toàn thông tin

không?

Chương 1 - Khái niệm cơ bản về TKCSDL 23

Phân rã bảo toàn thông tin

Bước 1: Lập bảng khởi đầu

Bước 2: lần lượt xét các phụ thuộc hàm X→Y

– Xét f1= MaSV→TenSV, DiaChi, Malop

Rõ ràng trong 2 dòng ở bảng trên không có dòng nào giống nhau ở cột MaSV nên không làm gì

– Xét f2= MaLop→Tenlop

Ở cột Malop có 2 hàng giống nhau nên ta biến cột tên lớp thành giống nhau (ưu tiên biến thành a5)

– Vậy ρ là phân ra bảo toàn thông tin

R MaSV TenSV Diachi Malop Tenlop

Trang 13

R1=AD; R2=AB; R3=BE; R4=CDE; R5=AE

– Kiểm tra xem ρ có phải là phân rã bảo toàn thông tin không?

Giải:

– Bảng khởi đầu

Chương 1 - Khái niệm cơ bản về TKCSDL 25

Phân rã bảo toàn thông tin

Trang 14

Phân rã bảo toàn thông tin

Đối với trường hợp phân rã thành 2 lược đồ thì ta có thuật toán đơn giản hơn:

Phân rã ρ= {R1(U1), R2(U2)} của R(U) không mất

thông tin đối với tập PTH F nếu và chỉ nếu:

Chương 1 - Khái niệm cơ bản về TKCSDL 27

Phân rã lược đồ quan hệ

Phân rã bảo toàn thông tin

– Cách kiểm tra phân rã có bảo toàn thông tin ?

Phân rã bảo toàn Phụ thuộc hàm

– Cách kiểm tra phân rã có bảo toàn PTH ?

Trang 15

Phân rã bảo toàn PTH

Phân rã bảo toàn thông tin là bắt buộc

Phân rã bảo toàn PTH là phân rã mà ta có thể suy ra tập PTH của quan hệ gốc từ các hình chiếu của nó

Định nghĩa hình chiếu của tập PTH

– Hình chiếu của tập PTH F trên một tập các thuộc tính U

ký hiệu là πu(F) là tập các PTH X→Y thuộc F+ sao cho XY⊆ U

Định nghĩa phân rã bảo toàn PTH

– Phân rã ρ bảo toàn tập phụ thuộc hàm F nếu hợp của tập tất cả các PTH trong các hình chiếu của F trên các lược đồ con là tương đương với F

– Gọi Fi = πRi (F) và G = F1∪ F2 ∪ … ∪Fk thì G≡F

Chương 1 - Khái niệm cơ bản về TKCSDL 29

Phân rã bảo toàn PTH

Ví dụ:

– Quan hệ TKB(PhongHoc, GioHoc, MonHoc)

• Mỗi môn học chi được bố trí vào 1 phòng học duy nhất

do đó ta có PTH M→P

• Mỗi môn học có thể bố trí ở những giờ khác nhau và với

1 phòng học và giờ học cụ thể thì ta biết được Môn học

đó là môn gì Vì vậy: PG → M

– Thực hiện phân rã (P,G,M) thành (G, M) và (P, M)

• Kiểm tra bảo toàn thông tin ?

• Kiểm tra tính bảo toàn PTH ?

Trang 16

Phân rã bảo toàn PTH

Ví dụ: phân rã bảo toàn PTH nhưng không bảo toàn

Chương 1 - Khái niệm cơ bản về TKCSDL 31

Phân rã bảo toàn PTH

Phương pháp kiểm tra phân rã bảo toàn PTH

i ) /* Bao đóng lấy ứng với F */

Nếu Y ⊆ Z thì kết luận “X→Y ∈ G + ”

• Nếu mọi PTH X→Y ∈ F đều thuộc G + thì G≡F hay phân

rã ρ bảo toàn PTH

Trang 17

Phân rã bảo toàn PTH

Ví dụ kiểm tra phân rã bảo toàn PTH

– R(ABCD) với tập F = {A→B, B→C, C→D, D→A}

– Phân rã ρ = {AB, BC, CD}

– Kiểm tra xem ρ có bảo toàn PTH không?

Chương 1 - Khái niệm cơ bản về TKCSDL 33

Phân tích hệ thống

Thiết kế hệ thống Triển khai và vận

hành hệ thống

Trang 18

Chương 1 - Khái niệm cơ bản về TKCSDL 35

• Mô hình doanh nghiệp (lược đồ E-R chỉ với các thực thể)

• Mô hình dữ liệu mức quan niệm (ERD với các thực thể trong dự án

Phân tích hệ thống

Thiết kế hệ thống

Triển khai và vận hành hệ thống

• Mô hình dữ liệu mức logic (thể hiện các quan hệ)

• Thiết kế CSDL và file mức vật lý (tổ chức file)

Thiết kế CSDL

Thiết kế mức quan niệm Thiết kế CSDL mức Logic Thiết kế CSDL mức vật lý

Trang 19

6 Thiết kế giao diện người dùng

Chương 1 - Khái niệm cơ bản về TKCSDL 37

Mô hình vòng đời phát triển hệ thống

Mô hình thác nước

– Là mô hình cổ điển

– Quá trình phát triển gồm

7 pha như hình bên

– Tại mỗi pha được giả định có đầy đủ

Kết thúc

dự án

Trang 20

Mô hình vòng đời phát triển hệ thống

Mô hình xoáy ốc (Spiral)

– Các pha của quá trình phát triển được lặp lại theo 1 chu kỳ là một vòng xoáy ốc

– Thích hợp với các hệ thống vừa và nhỏ

Chương 1 - Khái niệm cơ bản về TKCSDL 39

Khởi đầu

dự án

Kết thúc

dự án

Phân tích

Thiết kế

Lập kế hoạch & dự thảo ngân sách Xây dựng

Thử nghiệm Phân phối

Phân tích

Thiết kế

Lập kế hoạch & dự thảo ngân sách

Xây dựng

Thử nghiệm Phân phối

Mô hình vòng đời phát triển hệ thống

Mô hình làm mẫu

– Xuất phát từ một dự án phần mềm đã được xây dựng hoàn thiện, ta phát triển các dự án phần mềm có yêu cầu tương tự ở những khía cạnh nào đó

Tạo bản mẫu Dùng thử/kiểm tra

bản mẫu

Trang 21

6 Thiết kế giao diện người dùng

Chương 1 - Khái niệm cơ bản về TKCSDL 41

Xác định các tham số hệ thống

Ở pha này, người thiết kế cần:

– Xác định được mục tiêu của toàn bộ hệ thống

– Thiết lập các tiêu chuẩn của hệ thống Đó là các tiêu chuẩn dùng để đánh giá trong suốt quá trình thiết kế, vận hành của dự án, đánh giá sự thành công hay thất bại của dự án

– Xác định phạm vi của hệ thống; các yêu cầu phải đạt được của dự án

Trang 22

• Có phải để nâng cao tốc độ xử lý công việc?

• Để tăng độ chính xác? để giảm chi phí?

• Để cải thiện vị trí của công ty trên thị trường? để hỗ trợ người quản lý trong việc tìm kiếm, xử lý thông tin, lập kế hoạch?, …

– Cần định lượng các mục tiêu

• Không nên đưa ra các mục tiêu chung chung

• Không phải bất kỳ mục tiêu nào cũng có thể định lượng được xây dựng các tiêu chuẩn phù hợp để đánh giá

• Các mục tiêu phải ổn định để thiết lập các tiêu chuẩn đánh giá và sẵn sàng cho các công đoạn tiếp theo của quá trình thiết kế

Chương 1 - Khái niệm cơ bản về TKCSDL 43

Xác định tham số hệ thống

Thiết lập các tiêu chuẩn của hệ thống

– Mỗi tiêu chuẩn cần tương ứng với một hoặc một số mục tiêu

– Nếu mục tiêu nào không gắn được với một tiêu chuẩn với nó thì xem như người thiết kế chưa hiểu đủ các yêu cầu của khách hàng

– Các tiêu chuẩn là những đích nhỏ cần đạt được cho một mục tiêu lớn hơn

– Các tiêu chuẩn cần được định lượng rõ ràng

– Khi thiết kế đạt được tiêu chuẩn thì hệ thống được xem

là hoàn thành, không cần làm thêm điều gì nữa

Trang 23

– Đánh giá được tỷ lệ chi phí / lợi nhuận của mỗi chức năng có kế hoạch thiết kế phù hợp

Chương 1 - Khái niệm cơ bản về TKCSDL 45

Trang 24

Định nghĩa các tiến trình

(task) rời rạc cùng thực hiện một hoạt động có ý nghĩa của tổ chức.

Một tác vụ (task) là một hành động rời rạc, là một bước thực hiện của tiến trình.

Ví dụ:

– Tiến trình “ Xử lý đơn đặt hàng của khách ” bao gồm các tác vụ:

• Nhận đơn đặt hàng

• Kiểm tra thẻ thanh toán của khách

• Kiểm tra kho hàng

• Giao hàng cho khách

– Tiến trình “Tìm SĐT của khách hàng” chỉ bao gồm một tác vụ là chính tiến trình đó.

khi rất khó Ranh giới giữa chúng không rõ ràng.

vào không gian bài toán

Chương 1 - Khái niệm cơ bản về TKCSDL 47

Định nghĩa các tiến trình

Xác định các tiến trình hiện tại của hệ thống

– Thu thập yêu cầu từ khách hàng

– Định danh tác vụ

Phân tích các tiến trình

Trang 25

Thu thập yêu cầu từ khách hàng

Khảo sát hệ thống bằng phỏng vấn KH Mục tiêu là thuđược quy trình nghiệp vụ và các hồ sơ

Hướng KH tập trung vào nghiệp vụ hệ thống

Phải có sự chuẩn bị câu hỏi trước

Câu hỏi dạng mở, kết hợp với câu hỏi dạng đóng khi cầnCần chuẩn bị các thiết bị hỗ trợ: máy ghi âm, camera, …Sau phỏng vấn cần xác nhận lại các câu trả lời của KHCần giúp khách hàng thấy được các yêu cầu hiện tại hệthống cần đáp ứng và các yêu cầu tiềm năng trong tươnglai

Chương 1 - Khái niệm cơ bản về TKCSDL 49

Công việc sau khảo sát

Dữ liệu thu được trong khảo sát còn ở dạng thô, tản mạn

Các công việc sau khảo sát:

– Xử lý sơ bộ kết quả: xem xét, hoàn thiện tài liệu:

• Phân loại, trích rút, tổng hợp dữ liệu đầy đủ, chính xác, gọn gàng, dẽ kiểm tra và theo dõi

• Phát hiện chỗ thiếu để bổ xung, chỗ sai không logic để sửa

• Xây dựng các bảng mô tả chi tiết tài liệu.

• Là quá trình lặp

– Tổng hợp kết quả: tổng hợp theo xử lý & tổng hợp theo

dữ liệu

Trang 26

– Liệt kê được các tài liệu liên quan đến tổ chức

– Sàng lọc để thu được dữ liệu đầy đủ, chính xác và gán tên gọi cho chúng.

– Kết quả: bảng tổng hợp các hồ sơ và bảng từ điển dữ liệu

Hợp thức hóa kết quả khảo sát

– Hiểu và thể hiện thông tin khảo sát ở những dạng khác nhau được người sử dụng và đại diện tổ chức xác nhận là đúng đắn và đầy đủ

– Nhằm đảm bảo sự chính xác hóa của thông tin, yêu cầu của hệ thống, đảm bảo tính pháp lý cho việc sử dụng sau

Chương 1 - Khái niệm cơ bản về TKCSDL 51

Định danh các tác vụ

Sắp xếp thông tin thành 1 tập tác vụ

Một tác vụ (hành động rời rạc):

– Phải có điểm bắt đầu và kết thúc được xác định rõ ràng

– Tất cả các luật về nghiệp vụ hệ thống phải hợp lệ trước khi tác

vụ bắt đầu và sau khi tác vụ hoàn tất Tuy nhiên, có thể bị phá vỡ trong quá trình tác vụ thi hành

Mục tiêu là định rõ được các tác vụ trong mỗi tiến trình

Ví dụ : danh sách các tác vụ xảy ra trong quá trình bán hàng

Trang 28

Xây dựng mô hình dữ liệu khái niệm

Gồm các mô tả về thực thể, thuộc tính của thực thể

và mối quan hệ giữa các thực thể

Sản phẩm của quá trình là sơ đồ thực thể - mối quan hệ

Các bước xây dựng sơ đồ thực thể - mối quan hệ:

– Liệt kê, chính xác hóa và lựa chọn thông tin cơ sở

– Xác định thực thể, thuộc tính, thuộc tính định danh chomỗi thực thể

– Xác định mối quan hệ & các thuộc tính riêng của nó– Vẽ sơ đồ mô hình E-R và xác định bản số cho các thựcthể của mối quan hệ

– Chuẩn hóa & thu gọn sơ đồ

Chương 1 - Khái niệm cơ bản về TKCSDL 55

Liệt kê,… lựa chọn thông tin cơ sở

Xây dựng từ điển dữ liệu gồm các hồ sơ và các thuộc tính trong nội dung hồ sơ

Quy tắc: Ghi tên hồ sơ và các thuộc tính của nó ở dưới

Không bỏ sót bất kỳ thông tin nào

Chính xác hóa thông tin:

– Thêm từ cần thiết vào tên gọi cho các thuộc tính rõ nghĩa hơn

– Hai thuộc tính khác nhau phải chỉ ra các đối tượng khác nhau

– Duyệt từ trên xuống dưới và giữ lại các thuộc tính đảm bảo:

• Mỗi thuộc tính phải đặc trưng cho 1 lớp hồ sơ được xét

• Một thuộc tính chỉ được duyệt 1 lần

• Mỗi thuộc tính phải là sơ cấp (không suy ra từ các thuộc tính khác)

Trang 29

Xác định thực thể, thuộc tính

Duyệt từ trên xuống dưới các thuộc tính đã chọn,

chưa bị loại để tìm thuộc tính “ định danh ”

Mỗi thuộc tính “ định danh ” sẽ có tương ứng 1 thực

thể

Với mỗi thực thể, tìm trong các thuộc tính còn lại để ghi các thuộc tính thực sự của nó

Xét lần lượt các thực thể, chọn các thuộc tính định danh cho nó

Chương 1 - Khái niệm cơ bản về TKCSDL 57

Xác định mối quan hệ…

Trong các thuộc tính còn lại của bảng danh sách, tìm cácđộng từ mối quan hệ

Mỗi động từ, trả lời câu hỏi cho mỗi động từ: ai?, cái gì?,

các thực thể tham gia vào mối quan hệ và tìm các thuộctính trong danh sách là thuộc tính của mối quan hệ

Khi không còn tìm thấy mối quan hệ và danh sách cácthuộc tính đã hết kết thúc

Trang 30

Vẽ lược đồ E-R và xác định…

Sử dụng các ký pháp biểu diễn thực thể, thuộc tính, mối quan hệ

Vẽ theo thứ tự: thực thể, mối quan hệ, thuộc tính

Thuộc tính định danh đặt ở phía trên, bên trái thực thể.

Xác định các bản số

Chương 1 - Khái niệm cơ bản về TKCSDL 59

Chuẩn hóa và thu gọn lược đồ

Chuẩn hóa lược đồ nếu có thuộc tính lặp, phụ thuộc thời gian thực thể, thuộc tính đơn

Thu gọn lược đồ khi:

– Thực thể treo (tham gia vào mối quan hệ và chỉ có 1thuộc tính) loại bỏ thực thể này, đưa thuộc tính vàothực thể liên kết với nó

– Mối quan hệ là bậc 2 và không có thuộc tính riêng

loại thực thể này

Trang 31

6 Thiết kế giao diện người dùng

Chương 1 - Khái niệm cơ bản về TKCSDL 61

Chuẩn bị lược đồ CSDL (mức logic)

Xây dựng cấu trúc vật lý của dữ liệu dưới dạng trừu tượngChuyển các yếu tố của mô hình dữ liệu quan niệm thànhcác yếu tố tương ứng trong lược đồ quan hệ:

– Thực thể quan hệ (bảng)

– Mối quan hệ có thuộc tính bảng

– Chuẩn hóa các bảng về các dạng chuẩn 3NF, BCNF– 2 thực thể liên kết kiểu N–N 2 bảng với hai liên kết kiểu 1 – n

Ngày đăng: 08/05/2021, 12:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm