Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu

20 831 0
Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu

Đ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

Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu

1 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN VỀ MÔ HÌNH DỮ LIỆU QUAN HỆ I CÁC KHÁI NIỆM CƠ BẢN: I.1 Khái niệm hệ sở liệu: Ðịnh nghĩa Hệ thống sở liệu (database systems) Ðịnh nghĩa kho liệu (Datawarehouse) I.2 Lược đồ quan hệ: Khóa lược đồ quan hệ: I.3 Các phép tính sở liệu quan hệ, đại số quan hệ câu lệnh SQL tương ứng: I.3.1 Các phép tính quan hệ: I.3.1.a Phép khởi tạo lược đồ: .6 I.3.1.a Phép chèn thêm phần tử: I.3.1.b Phép xóa bỏ: I.3.1.c Phép cập nhật: I.3.2 Ðại số quan hê: Các phép toán tập hợp: a Phép hợp (UNION, DISJUNCTION, OR): SELECT * FROM r b Phép giao (Intersection, conjonction, and): c Phép hiệu: d Tích Ðêcac: e Phép bù: Các phép toán quan hệ: a Phép chiếu: .9 b Phép chọn: 10 c Phép kết nối (join): 10 d Phép chia: .11 e) Kết ngoại: (Out join) .11 II TỐI ƯU HOÁ CÂU HỎI (CÂU LỆNH TRUY VẤN DỮ LIỆU): 14 II.1 Cây đại số quan hệ: 14 II.2 Các chiến lược tối ưu câu lệnh truy vấn CSDL: 14 II.3 Tối ưu hoá cách phân rã câu hỏi truy vấn liệu: 14 Phép nối: 15 III XÂY DƯNG VÀ CHUẨN HOÁ QUAN HỆ: 17 III.1 Các dạng chuẩn: 17 III.2 Mô hình thực thể mối quan hệ: 17 Ràng buộc toàn vẹn thực thể: 17 Mối quan hệ thực thể: 18 Nguyên tắc xây dựng thực thể: 18 Chuẩn hoá mô hình: 19 III.3 Quy tắc chuyên đổi từ mô hình quan niệm liệu sang mô hình tổ chức liệu: 19 a/ Chuyển đổi thực thể thành lược đồ quan hệ: 19 b/ Chuyển mối quan hệ thành lược đồ quan hệ: 20 Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 1/ 20 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN VỀ MÔ HÌNH DỮ LIỆU QUAN HỆ Chương trình bày khái quát mô hình liệu quan hệ: khái niệm hệ sở liệu, lược quan hệ, phép tính sở liệu quan hệ, đại số quan hệ, cách tối ưu câu lệnh truy vấn liệu SQL I CÁC KHÁI NIỆM CƠ BẢN: I.1 Khái niệm hệ sở liệu: Ðịnh nghĩa Dữ liệu: Dữ liệu kiện, văn bản, đồ họa, hình ảnh, đoạn phim video có ý nghĩa môi trường người dùng Ðịnh nghĩa thông tin: Thông tin liệu xử lí theo cách để làm tăng hiểu biết người sử dụng liệu Thông thường việc thiết kế xây dựng hệ thống tin quản lí, cần xử lí hệ thống file liệu Mỗi file có cấu trúc ghi khác nội dung có quan hệ với tạo thành sở liệu (Data base _ viết tắt CSDL) Cơ Sở Dữ Liệu tập hợp thông tin (dữ liệu) có tổ chức nhằm thỏa mãn hay nhiều mục đích quản lí thông tin người Hệ chương trình nhằm quản lí khai thác liệu Hệ quản trị Cơ Sở Dữ Liệu (viết tắt HQTCSDL, Database management system) (Như Access, SQL server, Oracle ) Hệ thống thông tin gồm phận xử lý thông tin, kênh thông tin vào Thông tin vào Thông tin Xử lí thông tin Môi trường hệ thống Hình 1-1 Hệ thống thông tin Ðịnh nghĩa Hệ thống sở liệu (database systems) Hệ thống sở liệu hệ thống thông tin, cho phép người ta dùng chung liệu có hệ thống Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 2/ 20 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL Người sử dụng Ngôn ngử hỏi sở liệu Hệ quản trị sở liệu Cơ sở liệu Hình 1-2 Hệ thống sở liệu Trong trình thiết kế xây hệ quản trị CSDL người ta tiến hành xây dựng mô hình CSDL Thực chất xây dựng tập khái niệm quy tắc tạo thành khái niệm nhằm mô tả liệu mà liệu phản ảnh mối quan hệ thực thể giới thực Có thể thấy mô hình liệu phản ảnh khía cạnh cấu trúc logic mà không vào khía cạnh vật lý CSDL Cơ sở liệu quan hệ E F Codd giới thiệu năm 1970 Thuật ngữ “quan hệ” bảng liệu hai chiều Codd gọi bảng quan hệ từ đến mô hình quan hệ sử dụng rộng rãi Theo mô hình quan hệ, liệu thể khái niệm hai chiều, gồm cột dòng Các bảng gọi “quan hệ”, dòng “bộ” hay “_tuple” cột “thuộc tính” Nói rõ dòng ghi (record), “thuộc tính” cho biết ý nghĩa giá trị ghi Ðịnh nghĩa kho liệu (Datawarehouse) Kho liệu sở liệu trợ giúp định tích hợp, bao gồm thông tin trích từ sở liệu khác Trong phần định nghĩa cách cụ thể I.2 Lược đồ quan hệ: Cho tập thuộc tính U={A1, ,An}, giả thiết n hữu hạn Các thuộc tính Ai nhận giá trị miền giá trị đó, ký hiệu dom(Ai) Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 3/ 20 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL - Một lược đồ quan hệ R xây dựng U, ta ký hiệu R(U) Khi R lược đồ liệu thể dạng quan hệ - Một thông tin đối tượng thuộc lược đồ quan hệ Một thường gọi mẩu tin hay ghi(record) Về mặt toán học t vector gồm n thành phần thuộc tập hợp tập tích Ðề Các miền giá trị thuộc tính t = (a1, an) ∈ dom(A1) x dom(A2) x x dom(An) - Một quan hệ r định nghĩa lược đồ quan hệ R, ký hiệu r(R) thể lược đồ quan hệ R thời điểm Khi đó, quan hệ r(R) tập hợp t thỏa mãn lược đồ R Như vậy, quan hệ r tập hợp tập tích Ðề Các miền giá trị thuộc tính dom(Ai) Một cách cụ thể thấy lược đồ quan hệ trừu tượng hóa mức độ cấu trúc bảng chiều quan hệ tình trạng lược đồ quan hệ, bảng chứa mẩu tin cụ thể thời điểm Vì quan hệ r(R) gọi bảng xây dựng tập thuộc tính U, hay nói cách khác xây dựng cấu trúc R Nói cách nôm na thực tế ta thường nói quan hệ danh sách Ví dụ: Cho U={hoten, diem, diachi} Ta có lược đồ quan hệ sau: Sinhvien(hoten, diem, diachi) Hoten Le A Tran B Maso A1 A2 Diem Diachi Hue Quangngai Là quan hệ xây dựng lược đồ R t =(Le A, A1, 7, Hue) quan hệ Nhận xét: - Trên lược đồ quan hệ có nhiều quan hệ - Trên quan hệ bộỷ trùng - Trên tập thuộc tính U={A1, ,An} lược đồ R(U) xây dựng lược đồ khác T(V) với V ⊂ U Khóa lược đồ quan hệ: Cho R(A1, An) r(R) quan hệ R K ⊂{A1, An} K gọi khóa quan hệ r, K thỏa mãn tính chất sau: a ∀ t1, t2 ∈ r, t1≠t2 ⇒ t1[K] ≠ t2[K] Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 4/ 20 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL b K’⊂ K K’ tính chất a ký hiệu t[K] t giữ lại thuộc tính Ai ∈ K Ví dụ: R(hoten, diachi) Nhânviên(R) = (hoten, diachi) A QN B ÐN C Hue D QN K={hoten} khóa lược đồ quan hệ nhân viên Nhận xét: Trên t=(a1, ,an) có thuộc tính mang giá trị rỗng null thời điểm Khi ta hiểu thuộc tính chờ xác định Nhưng t xác định khoá khác rỗng • Cho K khóa R, K’ ⊃ K K’ khóa • Ta gọi tập K’ siêu khóa (đó khóa không tối thiểu, bớt được) • Trong khóa K khoá tối thiểu ta gọi khoá tối thiểu hay khoá định • Một lược đồ có nhiều khoá định Khi cài đặt ta chọn khóa định để xử lý liệu Lúc khoá chọn gọi khoá • Trong CSDL có lược đồ quan hệ có tập thuộc tính lại khóa cho lược đồ quan hệ khác gọi khóa ngoại Hay nói cách khác lược đồ quan hệ khóa định, khóa lược đồ có khóa ngoại Trong việc chuyển mô hình liệu khái niệm dạng quan hệ thực thể mô hình lôgic dạng mô hình quan hệ tập thực thể tương ứng với lược đồ quan hệ (các bảng) Lúc khóa ngoại diễn tã mối liên hệ hai tập thực thể Hay chúng khóa mối liên hệ sơ đồ quan hệ thực thể • Các thuộc tính tham gia vào khóa gọi thuộc tính khóa Một t quan hệ thuộc tính khóa không chứa giá trị rỗng Ví dụ: K’={hoten, diachi} siêu khóa quan hệ nhân viên Ví dụ: Xét quan hệ Sinhviên(Mã số, Họtên, ngày sinh, khoa) quan hệ Dựthi(Mã số, Mônthi, Ðiểmthi) Khi đó: K={Mã số}, K'={Họ tên, ngày sinh} khóa định quan hệ Sinhviên (giả sử sinh viên trùng tên ngày sinh) Nhưng truy cập ta qui định sử dụng khóa K Lúc K gọi khóa Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 5/ 20 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL Trong quan hệ Dự thi khóa {Mã số,Mônthi} Nhưng khóa ngoại nhằm để nhận biết sinh viên Nguyễn Văn A thi môn điểm {Mã số} I.3 Các phép tính sở liệu quan hệ, đại số quan hệ câu lệnh SQL tương ứng: Trong phần trình bày phép tính sở liệu quan hệ, đại số quan hệ, lệnh tương ứng ngôn ngữ khai thác CSDL SQL I.3.1 Các phép tính quan hệ: I.3.1.a Phép khởi tạo lược đồ: U= R(U) : U ={ A1, ,An} Create R(A1,A2, ,An) Lệnh tương ứng ngôn ngữ SQL: CREATE TABLE {table_name} ( column_name datatype [ ] [ ] ) I.3.1.a Phép chèn thêm phần tử: Insert(r; A1=a1, A2=a2, .An=an) Chèn vào r (a1,a2, ,an) Nếu thứ tự Ai cố định Insert(r; a1, a2, ,an) thêm vào tập r (domA1 x domA2 x domAn) Lệnh tương ứng ngôn ngữ SQL: INSERT [INTO] {table_or_View} {{[column_list] VALUE ({constant_expression} [, n])} } [, n] I.3.1.b Phép xóa bỏ: Delete(r, a1, ,an) Loại bớt phần tử t =(a1, ,an) r Lệnh tương ứng ngôn ngữ SQL: DELETE [FROM] {table_name | View_name} WHERE {} I.3.1.c Phép cập nhật: Gọi {C1, ,Cp} ( {A1, ,An} tập thuộc tính cần thay đổi t=(a1, ,an) Khi phép thay đổi t có dạng: Update(r ;A1=a1, .An=an; C1=e1, ,Cp=ep) Lệnh tương ứng ngôn ngữ SQL: UPDATE {table_name |view} Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 6/ 20 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL SET Column_name1={expression1} [, column_name2= ] [WHERE search_conditions] Nhận xét: - Việc thêm hay phần tử phải phù hợp với lược đồ quan hệ Ðó là: • Tương ứng thuộc tính • Giá trị đưa vào năm miền giá trị thuộc tính - Khi cập nhật hay chèn, thêm phần tử cần phải lưu ý tới khóa, để tránh trường hợp khoá rỗng hay trùng khoá với phần tử khác I.3.2 Ðại số quan hê: Ðại số quan hệ trình bày xem phương pháp để mô hình hoá phép toán CSDL quan hệ Ðồng thời ưu điểm mô hình liệu quan hệ, việc tiếp nhận kết công cụ toán học việc xây dựng ngôn ngữ khai thác, xử lý liệu Nhìn chung phép toán đại số quan hệ đơn giản, mạnh đại số có tính đầy đủ, phi thủ tục Tuy nhiên sở cho việc thiết lập ngôn ngữ liệu bậc cao Trong phần ta nói hai quan hệ r s khả hợp chúng xây dựng lược đồ hay xây dựng lược đồ khác nhau, lược đồ lược đồ lược đồ Cho r, s quan hệ khả hợp, ta có: Các phép toán tập hợp: a Phép hợp (UNION, DISJUNCTION, OR): r ∪ s = {t / t ∈ r ∨ t∈ s} Phép hợp tác động vào hai quan hệ lược đồ: QH1 QH2 để thu nhân QH3 lược đồ có thuộc QH1 QH2 hai QH Ví dụ a: r (A B C) s (A B C) r ∪ s = (A B C) a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b1 c2 a2 b2 c2 a2 b1 c2 a2 b2 c1 a2 b2 c1 a2 b2 c2 Dùng ngôn ngữ SQL: SELECT * FROM r UNION SELECT * FROM s Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 7/ 20 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL b Phép giao (Intersection, conjonction, and): r ∩ s = {t / t ∈ r ∧ t∈ s} Phép giao tác động lên hai QH: QH1, QH2 lược đồ để tạo nên QH3 có thuộc QH1 lẫn QH2 Lấy lại ví dụ a: r ∩ s = (A B C) a1 b1 c1 Dùng ngôn ngữ SQL: SELECT * FROM r WHERE EXISTS (SELECT * FROM r WHERE (r.A=s.A) and (r.B=s.B) and (r.C=s.C)) c Phép hiệu: r \ s = { t / t ∈ r ∧ t ∉ s} Phép hiệu tác động vào hai QH lược đồ: QH1, QH2 dể thu QH3 lược đồ có thuộc QH1 không thuộc QH2 Ví dụ: Lấy lại ví dụ a: r \ s = (A B C) a2 b1 c2 a2 b2 c1 Dùng ngôn ngữ SQL: SELECT * FROM r WHERE NOT EXISTS (SELECT * FROM r WHERE (r.A=s.A) and (r.B=s.B) and (r.C=s.C)) d Tích Ðêcac: Cho hai lược đồ quan hệ R(A1, An) S(B1, Bn) Tích Ðề R S ký hiệu R xS lược đồ quan hệ xây dựng tập thuộc tính {A1, ,An,B1, ,Bn} với r ∈ R s ∈ S Tích Ðêcac r s, ký hiệu r x s quan hệ xây dựng lược đồ {A1, An, B1, Bn} r x s = { (t,u) / t ∈ r ∧ u ∈ s } Tích Ðêcac tác tử tác động vào hai QH: QH1, QH2 để tạo nên QH3 có lược đồ kết hợp hai QH, QH3 tổ hợp có của QH Nhận xét: - Từ định nghĩa tích Ðề hai quan hệ, ta định nghĩa tích Ðêcac nhiều quan hệ - Nếu r có n bộ, s có m r x s có n x m Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 8/ 20 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL Dùng ngôn ngữ SQL: Lấy lại ví dụ a: SELECT * FROM r, s Hoặc SELECT * FROM r cross join s Kết quả: A B C A B C -a1 b1 c1 a1 b1 c1 a1 b1 c1 a2 b2 c2 a2 b1 c2 a1 b1 c1 a2 b1 c2 a2 b2 c2 a2 b2 c1 a1 b1 c1 a2 b2 c1 a2 b2 c2 (6 row(s) affected) e Phép bù: Cho R lược đồ quan hệ R(A1, ,An); r ∈ R; miền giá trị thuộc tính Ai dom(Ai) Ta gọi r' quan hệ bù r Nếu r'= {t/ t=(a1, ,an); ∈ dom(Ai) t ∉ r} Ví dụ: Miền: NướcSX{Nhật, Vnam, Tquốc}, Màu{Ðà, Ðỏ, Trắng} M_Xemay( NướcSX, Mau) Nhật Ðà Nhật Ðỏ Vnam Ðà Tquốc Ðỏ Tquốc Trắng NOT M_Xemay( NướcSX, Mau) Nhật Trắng Vnam Ðỏ Vnam Trắng Tquốc Ðà Các phép toán quan hệ: a Phép chiếu: Cho R={A1, ,An} Khi R(A1, ,An) xem tích Ðề A1, An Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 9/ 20 10 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL B ⊂ {A1, An} Phép chiếu r lên B định nghĩa ký hiệu sau: π B r = { t[B] / t ∈ r } Ta thấy π B r xem quan hệ xây dựng lược đồ quan hệ B, có t lấy từ r giữ lại thuộc tính Ai thuộc B Dùng ngôn ngữ SQL: Lấy lại ví dụ a: SELECT r.A from r Kết quả: πA r= (A) a1 a2 Nhận xét: - Phép chiếu gồm hai thao tác: - Loại bỏ thuộc tính B - Chọn đại diện giống b Phép chọn: Phép chọn tác động QH1 tạo nên QH2 lược đồ gồm thoả điều kiện mà tiêu chuẩn Kí hiệu:  F ( r) = { t ⊂ r / F ( t ) = } F(t) giá trị biểu thức F ứng với t Ví dụ:σA=a1 (r) (A B) a1 b1 Chọn lại danh sách r thỏa mãn điều kiện F c Phép kết nối (join): Phép kết nối tác tử mà tác động giúp kết hợp hai QH: QH1, QH2 theo điều kiện nhằm tạo nên QH3 chứa tất kết hợp thõa điều kiện gọi kết nối Cụ thể sau: Cho r(R); R={A1, An}, S(U); U={B1, Bn} Gọi θ phép so sánh >, = 5) Câu lệnh không tối ưu thực phải kết nối bảng lại sau thực điều kiện sau where mặt khác bảng HSHS có nhiều thí sinh không dự thi (Việc phân tích có ý nghĩa CSDL lớn) Câu lệnh nên tách thành hai câu lệnh sau: - Tìm học sinh có dự thi sang tệp trung gian - Tìm tệp trung gian thí sinh trúng tuyển SELECT * FROM HSHS WHERE HSHS.MASO IN (SELECT HSDIEM.MASO FROM HSDIEM WHERE (HSDIEM.DIEM >=5)) Trong trường hợp muốn lấy thêm thông tin điểm thí sinh trúng tuyển thực sau: CREATE VIEW TRUNGTUYEN AS SELECT * FROM HSDIEM WHERE HSDIEM.DIEM >=5 SELECT HSHS.HOTEN, TRUNGTUYEN.DIEM FROM HSHS RIGHT OUTER JOIN TRUNGTUYEN ON HSHS.MASO = TRUNGTUYEN.MASO Phép nối: Ta gọi r < s phép nối: r < s = π Ai( r s) Trong Ai tập thuộc tính r ý nghĩa: có phép nối ta quan tâm số thuộc tính bảng liệu mà nên dùng phép nối Ví dụ: Có sở liệu sau: RƯỢU(SỐHIỆU,TÊNRƯỢU,NĂMSX, ÐỘ) HÀNG(SỐHIỆU, MASỐSX) SX(MASO,TÊNVÙNG) UỐNG(TÊN,SỐHIỆU,SỐLƯỢNG,THỜIGIAN) Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 15/ 20 16 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL Hãy in tên người uống rượu hiệu sản xuất Bắc Ninh vào năm 1979 có độ < 40o ? Dùng đại số quan hệ: RM=RƯỢU * UỐNG * HÀNG *SX §K = “Bắc Ninh” ∧ NĂM = 1975 ∧ ÐỘ < 40 ∏ TêN ( σ ®K(RM)) Dùng ngôn ngử SQL: SELECT UỐNG.TÊN FROM RƯỢU,UỐNG,HÀNG,SX WHERE (UỐNG.SỐHIỆU =RƯỢU.SỐHIỆU) AND (RƯỢU.SỐHIỆU = HÀNG.SỐHIỆU) AND (HÀNG.MÃSỐSX =SX.MÃSỐ) AND (SX.TÊNVÙNG=”BẮC NINH”) AND (RƯỢU.NĂMSX =1975) AND (RƯỢU.ÐỘ < 40O) Trong trường hợp CSDL lớn câu lệnh không tối ưu (có thể gây tràn nhớ máy tính) kết nối nhiều table, Table loại ghi ý nghĩa tìm kiếm Câu lệnh nên tách thành câu lệnh sau: SELECT TÊN FROM UỐNG WHERE UỐNG.SỐHIỆU IN (SELECT RƯỢU.SỐHIỆU FROM RƯỢU WHERE (RƯỢU.NĂMSX =1975) AND (RƯỢU.ÐỘ < 40O) AND (RƯỢU.SỐHIỆU IN (SELECT HÀNG.SỐHIỆU FROM HÀNG WHERE HÀNG.MÃSỐSX IN (SELECT SX.MÃSỐ FROM SX WHERE SX.TÊNVÙNG =”BẮC NINH”)))) Tối ưu theo đại số quan hệ: T1 = ∏ SỐHIỆU ( σ NÀM =1975 ∧ ĐỘ < 40 (RƯỢU)) T2 = ∏ MÃ SỐ ( σ VÙNG=”BẮC NINH”(SX) ) T3 = HÀNG < T1 Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 16/ 20 17 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL T4 = T3 < T2 Kết quả: ∏ TÊN(UỐNG < T4 ) III XÂY DƯNG VÀ CHUẨN HOÁ QUAN HỆ: Trong phần trình bày chuẩn số tiêu chuẩn để chuẩn hoá mô hình liệu nhằm: - Có tiêu chuẩn chung đắn mô hình - Tránh dư thừa liệu bào đảm tính quán liệu, tối ưu lưu trữ III.1 Các dạng chuẩn: - 0NF: Dạng chuẩn lược đồ có khóa - 1NF: Lược đồ quan hệ R gọi 1NF thuộc tính nguyên tố - 2NF: Lược đồ quan hệ R gọi 2NF 1NF thuộc tính phải phụ thuộc đầy đủ vào khoá - 3NF: Lược đồ quan hệ R gọi 3NF 2NF thuộc tính không phụ thuộc bắc cầu vào khoá.(Tức tồn thuộc tính phụ thuộc vào thuộc tính không khóa) III.2 Mô hình thực thể mối quan hệ: Thực thể: (entity) mô hình lớp đối tượng cụ thể trừu tượng giới thực Các đối tượng tồn cách khách quan độc lập tương nhau, tồn chúng không phụ thuộc vào hoạt động hệ thống chúng liên hệ với thông qua tổ chức hệ thống hoạt động hệ thống Mổi thể cụ thể gọi thể hay cá thể Ví dụ: Trong thực thể SACH mổi sách cá thể Thuộc tính: Những thông tin thực thể mô hình thuộc tính Các loại thuộc tính: Thuộc tính đơn (Sơ cấp) thuộc tính phức hợp: thuộc tính mà giá trị phân tách xữ lý gọi thuộc tính đơn Các thuộc tính hợp thành từ thuộc tính đơn gọi thuộc tính hổn hợp Thuộc tính lặp: thuộc tính nhận nhiều giá trị đồng thời Ví dụ: trường: Ðiểm 9,8,7 Ràng buộc toàn vẹn thực thể: Các thuộc tính thực thể có giá trị hạn chế khoảng gọi miền giá trị Trường hợp thuộc tính phải chịu ràng buộc gọi là ràng buộc toàn vẹn Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 17/ 20 18 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL Ví dụ: Ðiểm học sinh có ràng buộc toàn vẹn là: - 10 Khóa: hay nhóm thuộc tính cho xác định cá thể thực thể Mối quan hệ thực thể: Các khái niệm thực thể, thuộc tính, khoá không đủ sức để mô tả giới thực đối tượng có mối liên quan với Các mối liên quan gọi mối quan hệ (relationship) Trong mối quan hệ có nhiều hai thực thể, số thực thể mối quan hệ gọi số chiều mối quan hệ Mối quan hệ chiều (phản xạ): Ví dụ: Quản lí căp vợ chồng khu phố: NGUOI HO TEN SOCMND KET HON Mối quan hệ ISA: CONGCHUC HO TEN SOCMND DANG VIEN Bản số: Xác định mối quan hệ mối quan hệ mà chưa độ phức tạp mối quan hệ vấn đề đặt để biết cá thể thực thể có kết hợp với cá thể thực thể khác (ở đề cập đến số thực thể mối quan hệ, thực tế người ta thường biểu diển số trực tiếp hai thực thể, theo số trực tiếp có loại sau: (1:1), (1:n), (n:n) Nguyên tắc xây dựng thực thể: Nguyên tắc 1: Tất thuộc tính thực thể phải độc lập tuyến tính nghĩa không thuộc tính suy từ hay nhiều thuộc tính khác Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 18/ 20 19 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL Nguyên tắc 2: Trong thực thể có thuộc tính khoá Nếu thực thể thuộc tính làm khóa áp đặt thuộc tính làm khoá Thông thường đặt MA + làm khoá áp đặt Nguyên tắc 3: Khi thuộc tính thực thể chiếm dung lượng lớn nhập lại nhiều lần tách thành thực thể riêng có tên Tên thuộc tính có thuộc tính là: MA + , TEN + Nguyên tắc 4: (dùng cho mối quan hệ ISA) chuyên biệt hoá Khi thuộc tính thực thể mà có số phần tử có giá trị phần tử có giá trị thêm số thuộc tính riêng chuyển thành thực thể(chuyên biệt hoá) có tên có thuộc tính thuộc tính riêng Ví dụ: Trong hệ thống quản lí nhân viên quan Ðối với thức thể NHAN VIEN ta có thuộc tính như: MAVN, HOTEN,NSINH,DANGVIEN Nếu Nhân viên đảng viên phải xác định (NgàyVàoÐảng, Ngày Công tác, ) Chuẩn hoá mô hình: Sau số tiêu chuẩn để xem xét chuẩn hoá mô hình: Tiêu chuẩn 1: Mức độ sỡ thuộc tính: Thuộc tính thực thể phải sơ với mục đích quản lý Tức chi tiết vừa đủ cho mục đích quản lý Tiêu chuẩn 2: Sự phụ thuộc thuộc tính vào toàn thuộc tính khóa (Mọi thuộc tính không khoá phụ thuộc hoàn toàn(đây đủ) vào khoá) Tiêu chuẩn 3: Không có phụ thuộc bắc cầu, thúc không xãy trường hợp thuộc tính thứ phụ thuộc vào thuộc tính thứ thuộc tính thứ phụ thuộc vào thuộc tính thứ Tiêu chuẩn 4: Áp dụng với trường hợp thuộc tính khoá lại phụ thuộc vào thuộc tính không khoá III.3 Quy tắc chuyên đổi từ mô hình quan niệm liệu sang mô hình tổ chức liệu: a/ Chuyển đổi thực thể thành lược đồ quan hệ: Quy tắc 1: Biến thực thể thành lược đồ quan hệ Mổi thực thể mối quan hệ liệu chuyển thành lược đồ quan hệ, tên lược đồ quan hệ tên thực thể, thuộc tính khoá lược đồ quan hệ thuộc tính khoá thực thể, coa thể có thêm khoá ngoại Quy tắc Khoá ngoại: Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 19/ 20 20 / 20 Cơ sở liệu quan hệ phân tích thiết kế sở liệu – Nhóm CSDL Thực thể tham gia vào mối quan hệ có cặp số (1:1)-(1:n) lược đồ quan hệ sinh thực thể nhánh (1:1) nhận thuộc tính khoá thực thể nhánh (1:n) khoá ngoại Ví dụ: Tỉnh(MATINH,TENTINH), Huyện(MAHUYEN,TENHUYEN,MATINH) Quy tắc 2: Biến thực thể chuyên biệt hoá thành lược đồ quan hệ Một thực thể chuyên biệt hoá (thực thể quan hệ ISA) mô hình quan niệm liệu biến thành lược đồ quan hệ tên tên thực thể chuyên biệt hoá có thuộc tính thuộc tính thực thể chuyên biệt hoá nhân khoá thực thể cha làm khoá Ví dụ: CONGCHUC(MACC, TENCC, NGSINH, ) DANGVIEN(NGVDANG, NGCT, MACC) b/ Chuyển mối quan hệ thành lược đồ quan hệ: Quy tắc 3: Mối quan hệ hai có cặp số (1,1)-(1,n) hay (1,n)-(1,1) không chuyển thành lược đồ quan hệ Quy tắc 4: Mối quan hệ có cặp số (1,n)-(1,n) mối quan hệ nhiều ngôi(không phân biệt số) chuyển thành lược quan hệ có tên tên mối quan hệ nhận thuộc tính khoá tất thực thể tham gia vào mối quan hệ làm KHOá với thuộc tính riêng mối quan hệ(nếu có) Quy tắc 5: Mối quan hệ phản xạ (1 chiều) (không phân biệt số) chuyển thành lược đồ, có tên tên mối quan hệ mà lấy giá trị thuộc tính khoá thực thể sinh mối quan hệ làm khoá, thuộc tính riêng (nếu có) Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 20/ 20 [...]... tâm Công Nghệ Phần Mềm Thừa Thiên Huế 13/ 20 14 / 20 Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu – Nhóm CSDL II TỐI ƯU HOÁ CÂU HỎI (CÂU LỆNH TRUY VẤN DỮ LIỆU): Nhằm tối ưu thời gian, không gian trong việc khai thác CSDL II.1 Cây đại số quan hệ: Ðể biểu diễn các phép toán quan hệ được rõ ràng hơn và thực hiện trong việc biều diễn kết quả phép toán người ta dùng cây đại số quan hệ - Các lá... ở cột liên quan Chính với mục đích này người ta đưa ra phép kết ngoại Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 11/ 20 12 / 20 Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu – Nhóm CSDL Ðịnh nghĩa: Kết ngoại là tác tử tạo nên QH3 từ QH1 và QH2 bằng cách kết nối hai QH và thêm vào các bộ của QH1 và Qh2 không thuộc vào quá trình kết nối với các giá trị rỗng cho thuộc tính tương ứng Câu lệnh... đến quan hệ trên disk II.3 Tối ưu hoá bằng cách phân rã câu hỏi truy vấn dữ liệu: Phép tách: Tách 1 câu hỏi truy vấn thành 2 câu hỏi của cùng biến chung Ví dụ: Tìm những học sinh trúng tuyển từ cơ sở dữ liệu THISINH gồm 2 danh sánh HSHS, HSDIEM Ngôn ngữ SQL: SELECT * FROM HSHS, HSDIEM Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 14/ 20 15 / 20 Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu. .. số quan hệ: T1 = ∏ SỐHIỆU ( σ NÀM =1975 ∧ ĐỘ < 40 (RƯỢU)) T2 = ∏ MÃ SỐ ( σ VÙNG=”BẮC NINH”(SX) ) T3 = HÀNG < T1 Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 16/ 20 17 / 20 Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu – Nhóm CSDL T4 = T3 < T2 Kết quả: ∏ TÊN(UỐNG < T4 ) III XÂY DƯNG VÀ CHUẨN HOÁ QUAN HỆ: Trong phần này trình bày các chuẩn và một số tiêu chuẩn để chuẩn hoá mô hình dữ liệu. .. trong r ý nghĩa: có những phép nối ta chỉ quan tâm một số thuộc tính của 1 bảng dữ liệu mà thôi thì nên dùng phép nữa nối Ví dụ: Có cơ sở dữ liệu sau: RƯỢU(SỐHIỆU,TÊNRƯỢU,NĂMSX, ÐỘ) HÀNG(SỐHIỆU, MASỐSX) SX(MASO,TÊNVÙNG) UỐNG(TÊN,SỐHIỆU,SỐLƯỢNG,THỜIGIAN) Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 15/ 20 16 / 20 Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu – Nhóm CSDL Hãy in ra tên những người...11 / 20 Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu – Nhóm CSDL Trong trường hợp phép so sánh θ là ” = ” gọi là phép kết nối bằng Trường hợp kết nối bằng tại thuộc tính cùng tên của hai quan hệ thì sẽ có giá trị trùng nhau trong mỗi bộ Ðể loại bỏ sự dư thừa một trong hai thuộc tính đó được loại bỏ qua phép chiếu thì phép kết nối được gọi là “kết nối tự nhiên” và sử dụng ký hiệu... hệ là thuộc tính và khoá của thực thể, coa thể có thêm khoá ngoại Quy tắc Khoá ngoại: Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 19/ 20 20 / 20 Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu – Nhóm CSDL Thực thể tham gia vào mối quan hệ 2 ngôi và có cặp bản số (1:1)-(1:n) thì lược đồ quan hệ sinh ra bởi thực thể ở nhánh (1:1) nhận thuộc tính khoá của thực thể ở nhánh (1:n) là khoá ngoại Ví... khoá III.3 Quy tắc chuyên đổi từ mô hình quan niệm dữ liệu sang mô hình tổ chức dữ liệu: a/ Chuyển đổi 1 thực thể thành 1 lược đồ quan hệ: Quy tắc 1: Biến 1 thực thể thành 1 lược đồ quan hệ Mổi thực thể trong mối quan hệ dữ liệu được chuyển thành 1 lược đồ quan hệ, tên của lược đồ quan hệ là tên thực thể, thuộc tính và khoá của lược đồ quan hệ là thuộc tính và khoá của thực thể, coa thể có thêm khoá... 3: Mối quan hệ hai ngôi có cặp bản số (1,1)-(1,n) hay (1,n)-(1,1) thì không chuyển thành lược đồ quan hệ Quy tắc 4: Mối quan hệ 2 ngôi có cặp bản số (1,n)-(1,n) hoặc mối quan hệ nhiều ngôi(không phân biệt bản số) thì chuyển thành lược quan hệ có tên là tên của mối quan hệ nhận các thuộc tính khoá của tất cả các thực thể tham gia vào mối quan hệ làm KHOá và cùng với thuộc tính riêng của mối quan hệ( nếu... những ràng buộc thì gọi nó là là ràng buộc toàn vẹn Trung tâm Công Nghệ Phần Mềm Thừa Thiên Huế 17/ 20 18 / 20 Cơ sở dữ liệu quan hệ và phân tích thiết kế cơ sở dữ liệu – Nhóm CSDL Ví dụ: Ðiểm học sinh có ràng buộc toàn vẹn là: 0 - 10 Khóa: là một hay một nhóm các thuộc tính sao cho xác định duy nhất các cá thể trong 1 thực thể Mối quan hệ giữa các thực thể: Các khái niệm thực thể, thuộc tính, khoá không

Ngày đăng: 06/06/2016, 21:17

Từ khóa liên quan

Mục lục

  • CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN VỀ MÔ HÌNH DỮ LIỆU QUAN HỆ

    • I. CÁC KHÁI NIỆM CƠ BẢN:

      • I.1. Khái niệm cơ bản về hệ cơ sở dữ liệu:

        • Ðịnh nghĩa Hệ thống cơ sở dữ liệu (database systems)

        • Ðịnh nghĩa kho dữ liệu (Datawarehouse)

        • I.2. Lược đồ quan hệ:

          • Hoten

          • Maso

          • Diem

          • Diachi

          • Khóa của lược đồ quan hệ:

          • I.3 Các phép tính trên cơ sở dữ liệu quan hệ, đại số quan hệ và câu lệnh SQL tương ứng:

            • I.3.1. Các phép tính trên quan hệ:

            • I.3.1.a. Phép khởi tạo lược đồ:

            • I.3.1.a. Phép chèn thêm một phần tử:

            • I.3.1.b. Phép xóa bỏ:

            • I.3.1.c. Phép cập nhật:

            • I.3.2 Ðại số quan hê:

            • Các phép toán tập hợp:

            • a. Phép hợp (UNION, DISJUNCTION, OR):

            • SELECT * FROM r

              • b. Phép giao (Intersection, conjonction, and):

              • c. Phép hiệu:

              • d. Tích Ðêcac:

              • e. Phép bù:

              • Các phép toán quan hệ:

Tài liệu cùng người dùng

Tài liệu liên quan