THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ  (Relational Database Designing) Phần I – MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ (Relational Database Modal) Lecturer  : Nguyễn Duy Nhất [email_address]
Cơ Sở Dữ Liệu Là Gì ? Dữ liệu = các thông tin cần lưu trữ vào máy tính để có thể  truy xuất  ( access ) và  truy vấn  ( query ) CSDL = không gian chứa dữ liệu có tổ chức : Có tương quan ( relational ) Có cấu trúc : các mẫu tin ( record ), cột thuộc tính ( column ) Các Mô hình CSDL (p.1)
Sự cần thiết của CSDL Cung cấp khả năng truy vấn dữ liệu Tránh sự dư thừa, trùng lắp dữ liệu Liên kết chặt chẽ giữa dữ liệu và chương trình ứng dụng khai thác.   Có nhiều mô hình CSDL khác nhau Các Mô hình CSDL (p.2)
Hệ Quản Trị CSDL  (Database Management System) Là 1 phần mềm quản lý CSDL, cung cấp các dịch vụ xử lý ( truy cập – truy vấn ) CSDL cho  Nhà phát triển ứng dụng ( lập trình viên ) Tập các hàm, thư viện mã lệnh truy xuất Người dùng cuối ( End-user ) Giao diện sử dụng để truy xuất Các Mô hình CSDL  (p.3)
Các Mô Hình CSDL Mô hình phân cấp Mô hình mạng Mô hình quan hệ Mô hình đối tượng …   Các mô hình CSDL khác nhau có các Hệ Quản Trị CSDL tương ứng. Các Mô hình CSDL (p.4)
Mô Hình CSDL Quan Hệ Do E.F.Codd đề xuất năm 1971, gồm: Dữ liệu được mô tả thành tập các bảng  (table)  ( dòng dữ liệu  và  cột thuộc tính ) .  Các bảng có thể mô tả nội dung của 1  đối tượng/thực thể   (Entity)  hoặc 1  mối kết hợp  (Relationship) Một hệ thống các  ký hiệu ,  phép toán  và  khái niệm   (thuật ngữ)  để mô tả dữ liệu. Trong phần trình bày tiếp theo, ta sẽ dựa vào ví dụ là CSDL Quản Lý Sinh Viên của 1 trường Đại Học Cơ Sở Dữ Liệu Quan Hệ (p.1)
Các Khái Niệm  :  Thuộc tính (Attribute) Thuộc vào 1 kiểu dữ liệu đơn  (Data Type)  nhất định và có một miền giá trị. Trong 1  Lược đồ quan hệ  không được có 2 thuộc tính trùng tên. Ký hiệu  : A 1 ,A 2, … B, C, … Ví dụ  : với đối tượng Học Sinh, ta có thể có các thuộc tính : Họ, Tên, Ngày sinh, Điểm trung bình, … Cơ Sở Dữ Liệu Quan Hệ (p.2) – Các khái niệm
Lược đồ quan hệ   (Relation Schema)  (1) Tập các thuộc tính của 1 đối tượng hoặc 1 mối kết hợp  (1 bảng !) Ký hiệu  :  Q  Q với tập thuộc tính : Q(A 1 ,A 2 ,…,A n ) Tập thuộc tính của Q : Q + Cơ Sở Dữ Liệu Quan Hệ (p.3) – Các khái niệm
Lược đồ quan hệ   (Relation Schema)  (2)  Tân từ  của  Lược đồ quan hệ  :  Là phát biểu mô tả các ý nghĩa, điều kiện ràng buộc (giữa các thuộc tính) của lược đồ quan hệ. Được phát biểu ở dạng ngôn ngữ tự nhiên hoặc ngôn ngữ hình thức, mã giả, … Ví dụ  :  Mỗi sinh viên chỉ có 1 mã sinh viên và không trùng với các sinh viên khác. Ngày kết thúc học phần phải lớn hơn ngày bắt đầu học phần. … Cơ Sở Dữ Liệu Quan Hệ (p.4)
Lược đồ quan hệ   (Relation Schema)  (3) Tập tất cả các  Lược đồ quan hệ  có trong 1 CSDL được gọi là  Lược đồ CSDL. Ký hiệu  :  R Ví dụ  : trong CSDL Quản Lý Sinh Viên,  R  = Q1 = SINHVIEN(MaSV,Ho,Ten,NgaySinh,DiemTB) Q2 = HOCPHAN(MaHP,TenHP,SoTinChi) Q3 = DANGKY_HOCPHAN(MaSV,MaHP) … Cơ Sở Dữ Liệu Quan Hệ (p.5)
Quan hệ  (Relation) Sự thể hiện của  Lược đồ quan hệ  tại một thời điểm nào đó được gọi là  Quan hệ . Ký hiệu  : q, r, s, t,… tương ứng với các  Lược đồ quan hệ  Q, R, S, T, … Ví dụ  :  lược đồ Q =  SINHVIEN(MaSV,Ho,Ten,NgaySinh,DiemTB)  tại 1 thời điểm t nào đó có quan hệ q =  { SV01, Nguyễn Văn, Tài, 12/10/1980, 6.9 SV02, Trần Thị, Chi, 19/12/1980, 7.5 SV03, Lý Văn, Sử, 27/8/1978, 8 } Cơ Sở Dữ Liệu Quan Hệ (p.6)
Bộ   (Record) Là 1 dòng / phần tử của  Quan hệ   Là 1 tập các giá trị tương ứng với các thuộc tính của quan hệ Ký hiệu  : p, q, t, … Ví dụ  :  Quan hệ  q =  { SV01, Nguyễn Văn, Tài, 12/10/1980, 6.9 SV02, Trần Thị, Chi, 19/12/1980, 7.5 SV03, Lý Văn, Sử, 27/8/1978, 8 } có 3 bộ Cơ Sở Dữ Liệu Quan Hệ (p.7)
Kết luận Bộ      Quan hệ Thuộc tính    Lược đồ quan hệ     Lược đồ CSDL Tân từ  mô tả điều kiện, ràng buộc của các  Thuộc tính  trong  Lược đồ quan hệ Quan hệ  là 1 thể hiện  (instance)  tại 1 thời điểm của  Lược đồ quan hệ Cơ Sở Dữ Liệu Quan Hệ (p.8)
Siêu Khóa   (Super Key) Cho  Lược đồ quan hệ Q  có thể hiện là quan hệ q, s là 1 tập thuộc tính thuộc Q +  . t 1 ,t 2  là 2 bộ tùy ý thuộc q Ta ký hiệu  t 1 .s  là tập các giá trị của  t 1   trên tập thuộc tính  s s’ = s + A i s được gọi là 1  siêu  khóa  nếu và chỉ nếu :    q, t 1 , t 2  : t 1 .s    t 2 .s Cơ Sở Dữ Liệu Quan Hệ (p.9)
Khóa / Khóa chỉ định Siêu khóa có  ít thuộc tính nhất  được gọi là  Khóa   hay  Khóa chỉ định .  1 lược đồ quan hệ có thể có nhiều  khóa Trong lược đồ quan hệ, 1  khóa  được chọn làm  khóa chính   (primary key) . Thuộc tính  có tham gia vào  khóa  được gọi là  thuộc tính khóa , ngược lại, được gọi là  thuộc tính không khóa . Cơ Sở Dữ Liệu Quan Hệ (p.10)
Khóa ngoại   (foreign key)  (1) 1 tập  thuộc tính  được gọi là  Khóa ngoại   của  Lược đồ quan hệ  Q   nếu và chỉ nếu nó nó là tập  thuộc tính  của Q +  và là khóa của 1  lược đồ quan hệ  khác. Ví dụ  : Cho lược đồ cơ sở dữ liệu Quản Lý Sinh Viên, các lược đồ quan hệ : Q 1  = SINHVIEN( MaSV ,Ho,Ten,DiemTB) Q 2  = HOCPHAN( MaHP ,TenHP,SoTinChi) Q 3  = DANGKY_HOCPHAN( MaSV,MaHP ) Cơ Sở Dữ Liệu Quan Hệ (p.11)
Khóa ngoại   (foreign key)  (2) {MaSV} là  khóa  của Q 1 {MaHP} là  khóa  của Q 2 {MaSV,MaHP} là  khóa  của Q 3 {MaSV}, {MaHP} là các  khóa ngoại  của Q 3 Trong thiết kế CSDL, nhà thiết kế thường dựa vào các  Tân từ  để xác định khóa cho  Lược đồ quan hệ . Cơ Sở Dữ Liệu Quan Hệ (p.12)
Các Phép Toán  : Phép toán tập hợp Phép hợp   (Union)  :   Cho lược đồ quan hệ Q, với các quan hệ thể hiện q 1 , q 2   Ta có :  q 1     q 2  = q 3  = {r : r    q 1    r    q 2  } Cơ Sở Dữ Liệu Quan Hệ (p.13)
Các Phép Toán  :  Phép giao   (Intersection) Phép giao  :   Cho lược đồ quan hệ Q, với các quan hệ thể hiện q 1 , q 2   Ta có :  q 1     q 2  = q 3  = {r : r    q 1    r    q 2  } Cơ Sở Dữ Liệu Quan Hệ (p.14)
Các Phép Toán  :  Phép trừ   (Minus, difference) Phép trừ  :  -  Cho lược đồ quan hệ Q, với các quan hệ thể hiện q 1 , q 2   Ta có :  q 1  - q 2  = q 3  = {r : r    q 1    r    q 2  } Cơ Sở Dữ Liệu Quan Hệ (p.15)
Tích Descartes Cho lược đồ quan hệ Q 1 (A 1 ,A 2 ,…A n ) có quan hệ thể hiện là q 1 ; Q 2 (B 1 ,B 2 ,…B m ) có quan hệ thể hiện là q 2 q 1  x q 2  = q 3  , ta có :  q 3  là 1 quan hệ của Q 3  với Q 3 +  = Q 1 +  + Q 2 + q 3  = {r : r.(Q 1 + )    q 1     r.(Q 2 + )    q 2 } Cơ Sở Dữ Liệu Quan Hệ (p.16)
Tích Descartes – Ví dụ Cho lược đồ quan hệ Q1(MaSV,MaMH,DiemThi), Q2(MaMH,TenMH) có các quan hệ q1, q2 : q 1  =  q 2  =    q 3  = Cơ Sở Dữ Liệu Quan Hệ (p.17) 8.0 MANG 99003 2.0 CTDL 99002 5.0 CSDL 99001 DiemThi MaMH MaSV Foxpro FOX Cơ sở dữ liệu CSDL TenMH MaMH Foxpro FOX 8.0 MANG 99003 Cơ sở dữ liệu CSDL 8.0 MANG 99003 Foxpro FOX 2.0 CTDL 99002 2.0 5.0 5.0 DiemThi CSDL FOX CSDL MaMH Cơ sở dữ liệu Foxpro Cơ sở dữ liệu TenMH CTDL 99002 CSDL 99001 CSDL 99001 MaMH MaSV
Các Phép Toán  : Phép toán quan hệ Phép chiếu   (Projection)   _ Cho lược đồ quan hệ Q(A 1 ,A 2 ,…A n ) với quan hệ thể hiện là q, X là 1 tập con của Q + _  Phép chiếu của Q lên tập X   (ký hiệu là Q[X]) tạo thành lược đồ quan hệ Q’ = Q[X] có Q’ +  = X. _ t là 1 bộ nào đó của q,  Phép chiếu của t lên tập X   (ký hiệu là t[X] hay t.X) là 1 tập con của t chứa các giá trị ứng với các thuộc tính trong X _  Phép chiếu của q lên tập X   (ký hiệu là q[X] hay q.X) tạo thành quan hệ q’ :  q’ = q[X] = q.X = {t’ :   t    q, t.X = t’} Cơ Sở Dữ Liệu Quan Hệ (p.18)
Phép chiếu – Ví dụ q =  q.{MaMH} = q[{MaMH}] = Cơ Sở Dữ Liệu Quan Hệ (p.19) 8.0 MANG 99003 2.0 CTDL 99002 5.0 CSDL 99001 DiemThi MaMH MaSV MANG CTDL CSDL MaMH
Phép chọn  (Selection) Cho lược đồ quan hệ Q(A 1 ,A 2 ,…A n ) với quan hệ thể hiện là q, E là 1  biểu thức điều kiện trên các bộ của q,  t là 1 bộ nào đó của q. _  Nếu t thỏa điều kiện E, ta ký hiệu là t(E) hay t:E _  Phép chọn q trên (với) điều kiện E   (ký hiệu là q(E) hay q:E) tạo thành q’ là tập con các bộ của q : q’ = q(E) = q:E = {t : t  q    t(E)} Cơ Sở Dữ Liệu Quan Hệ (p.20)
Phép chọn – Ví dụ q = E : q.DiemThi    5 q(E) = q:E =  Cơ Sở Dữ Liệu Quan Hệ (p.21) 8.0 MANG 99003 2.0 CTDL 99002 5.0 CSDL 99001 DiemThi MaMH MaSV 8.0 MANG 99003 5.0 CSDL 99001 DiemThi MaMH MaSV
Phép kết  (Join) Cho lược đồ quan hệ Q 1 (A 1 ,A 2 ,…A n ) có quan hệ thể hiện là q 1 ; Q 2 (B 1 ,B 2 ,…B m ) có quan hệ thể hiện là q 2 ; A i  và B j  là 2 thuộc tính có cùng miền giá trị, giả sử tồn tại 1 phép so sánh    trên miền giá trị của A I  và B J  =>  Gọi q’ 3  = q 1 xq 2  và Q 3  là lược đồ quan hệ của q’ 3   A i     B j  là 1 biểu thức điều kiện trên q’ 3 Cơ Sở Dữ Liệu Quan Hệ (p.22)
Phép kết (t.t)  Phép kết giữa q 1  và q 2  trên điều kiện A i     B i   (ký hiệu là  ) được xác định như sau : q 3  = q 1  q 2  = {t :   t 1  q 1 ,t 2   q 2     t.Q 1 +  = t 1     t.Q 2 +  = t 2   t 1 .A i     t 2 .B j } Hoặc  : q 3  = q 1  q 2  = q’ 3 (A i     B j  ) Cơ Sở Dữ Liệu Quan Hệ (p.23)
Phép kết – Ví dụ q 1  =  q 2  =  A i  = DiemThi ; B j  = DiemDau ;    : ‘>=’ q 3  = q 1  q 2  =  Cơ Sở Dữ Liệu Quan Hệ (p.24) 6.0 MANG 99003 2.0 CSDL 99002 5.0 CSDL 99001 DiemThi MaMH MaSV 7.0 MANG 4.0 CSDL DiemDau MaMH 6.0 5.0 DiemThi CSDL CSDL MaMH 4.0 4.0 DiemDau MANG 99003 CSDL 99001 MaMH MaSV
Phép kết – Kết luận Phép kết thực chất là gộp của  Tích Descartes  và phép chọn Trình tự thực hiện phép kết : Tạo tích Descartes Thực hiện phép chọn với điều kiện E = A I     B J  Cơ Sở Dữ Liệu Quan Hệ (p.25)
Phép kết – Ứng dụng Phép kết có rất nhiều ứng dụng trong thiết kế CSDL, đặc biệt khi thực hiện các truy vấn  (query) Ở slide 29, ta nhận thấy phép kết    chưa thực hiện đúng ý đồ của nhà thiết kế là tìm ra các sinh viên đạt điểm đậu các môn học tương ứng (bộ thứ 2 của q 3  không đúng). Trong trường hợp này, ta dùng phép kết  kép  : q 3  = q 1  q 2    trong đó : C k =q 1 .MaMH , D l =q 2 .MaMH và   ’ : ‘=’ Cơ Sở Dữ Liệu Quan Hệ (p.26)
Phép kết tự nhiên  (Natural Join) Trong trường hợp    = ‘=’ , phép kết được gọi là  Phép kết bằng Trong trường hợp A I  = B J , và    = ‘=’ , phép kết được gọi là  Phép kết tự nhiên   Ví dụ ở slide 31, phép kết giữa C k  , D l  và   ’ được gọi là  kết tự nhiên . Phép kết tự nhiên thường được sử dụng nhất trong thực tế  Cơ Sở Dữ Liệu Quan Hệ (p.27)
Phép chia  (Division) Cho lược đồ quan hệ Q 1 (A 1 ,A 2 ,…A n ) có quan hệ thể hiện là q 1 ; Q 2 (B 1 ,B 2 ,…B m ) có quan hệ thể hiện là q 2 ; và n > m. Phép chia q 1  cho q 2  tạo thành q 3  với lược đồ quan hệ Q 3  được định nghĩa như sau : Q 3 +  = {A 1 ,A 2 ,…A n-m } q 3  = q 1  q 2  = {t :   t 2  q 2 ,   t 1  q 1 , t=t 1 .Q 3 +     t 2 =t 1 .{A n-m+1 ,…,A n } } Cơ Sở Dữ Liệu Quan Hệ (p.28)
Phép chia – Ví dụ Cơ Sở Dữ Liệu Quan Hệ (p.29) q 3  = q 1  q 2 = l t d b a q 1 c g e b a g c c g e f e c g e f e d b a e d A 3 e c A 4 f g A 5 c b b a A 2 A 1 q 2 f e g c B 2 B 1 q 3 c g e d A 3 b a A 2 A 1
Phép chia – Ví dụ (t.t) Cơ Sở Dữ Liệu Quan Hệ (p.30) Yêu cầu truy vấn  : cần tìm ra các sinh viên nào có đăng ký đầy đủ tất cả học phần ? THCB SV01 CSDL SV03 DANGKY_HOCPHAN THCB SV04 CSDL SV01 CTDL SV03 CSDL SV02 THCB SV03 CTDL SV01 MaHP MaSV HOCPHAN Cơ sở dữ liệu CSDL Tin học căn bản THCB Cấu trúc dữ liệu CTDL TênHP MaHP
Phép chia – Ví dụ (t.t) Đáp số là kết quả của phép chia quan hệ DANGKY_HOCPHAN cho quan hệ HOCPHAN.MAHP Cơ Sở Dữ Liệu Quan Hệ (p.31) DANGKY_HOCPHAN    HOCPHAN.MAHP SV03 SV01 MaSV
Giáo trình trang 9 Các tính chất của Đại số quan hệ Cơ Sở Dữ Liệu Quan Hệ (p.32)

More Related Content

PDF
Lý thuyết thiết kế CSDL
PDF
Phụ thuộc hàm và các dạng chuẩn - dhcntt
PPT
Ôn tập tuyển sinh cao học môn CSDL 2013
PDF
Cơ sở dữ liệu - Luyện thi cao học CNTT
DOC
65 csdl
PPT
csdl - buoi13-14
PDF
Cơ sở dữ liệu PTIT đại số quan hệ
PPT
Lý thuyết thiết kế CSDL
Phụ thuộc hàm và các dạng chuẩn - dhcntt
Ôn tập tuyển sinh cao học môn CSDL 2013
Cơ sở dữ liệu - Luyện thi cao học CNTT
65 csdl
csdl - buoi13-14
Cơ sở dữ liệu PTIT đại số quan hệ

What's hot (20)

PDF
Tsch csdl 01 - dhcntt
PPT
csdl - buoi5-6
PDF
Luận văn: Thuật toán tìm cơ sở của các môđun con của môđun tự do hữu hạn sinh...
PPT
C1 dk mo_ok
PPT
csdl - buoi7-8-9
PPT
chuong 3. quan he
DOC
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
DOCX
Thiet kecsdl
PPT
Lý thuyết tính toán
PDF
[Math educare] giao trinh toan cao cap a1-giai tich ham mot bien_chuoi so
PDF
[Math educare] giao trinh toan cao cap a2-giai tich ham nhieu bien_phuong tri...
PPT
Lý thuyết tính toán - BKHN - 1
PDF
04 mat102-bai 1-v1.0
PPT
Thiet Ke Co So Du Lieu6
PDF
[Math educare.com] giai tich ham nhieu bien-phep tinh vi phan ham nhieu bien_...
PDF
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
PPTX
chuong 2. phep dem
PPTX
C10 chuanhoacsdl
PDF
Toan Cao Cap A1
PPT
Chap07 thiet ke csdl
Tsch csdl 01 - dhcntt
csdl - buoi5-6
Luận văn: Thuật toán tìm cơ sở của các môđun con của môđun tự do hữu hạn sinh...
C1 dk mo_ok
csdl - buoi7-8-9
chuong 3. quan he
BÀI TẬP LỚN LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG
Thiet kecsdl
Lý thuyết tính toán
[Math educare] giao trinh toan cao cap a1-giai tich ham mot bien_chuoi so
[Math educare] giao trinh toan cao cap a2-giai tich ham nhieu bien_phuong tri...
Lý thuyết tính toán - BKHN - 1
04 mat102-bai 1-v1.0
Thiet Ke Co So Du Lieu6
[Math educare.com] giai tich ham nhieu bien-phep tinh vi phan ham nhieu bien_...
Math educare] toan a1-giai tich ham mot bien_giai tich ham nhieu bien_phuong ...
chuong 2. phep dem
C10 chuanhoacsdl
Toan Cao Cap A1
Chap07 thiet ke csdl
Ad

Similar to Thiet Ke Co So Du Lieu1 (20)

PPT
13929219602082.ppt
PDF
Chuong 2_Mo hinh du lieu quan he (1).pdf
PPTX
Mô hình dữ liệu quan hệ Các khái niệm của mô hình quan hệ Ràng buộc toàn vẹn ...
PPTX
Cơ sở dữ liệu_CHƯƠNG 1-Mô hình quan hệ.pptx
PPSX
Chap03.ppsx
PPT
Chương 3. Mô hình quan hệ cơ sở dữ liệu_LPT
PPT
PPT
Bài giảng cơ sở dữ liệu
PPTX
Bao Cao Mô hình CSDL quan hệ nâng cao_sua-tieu luan.pptx
PDF
Chuong 3 ER
PPT
Cơ sở dữ liệu đại học
PPTX
W03_Thietkecosodulieulogic.pptx
PPT
Csdliuihc 111212222339-phpapp02
PDF
cơ sở dữ liệu aksjdiop;jfkldjasklfjadls;gjfil;adjklj
PDF
Slide_BG_cơ sở dữ liệu 3TinChi CHUNG.pdf
PPT
PPT
buoi2_MoHinhQuanHe.ppt
PPT
Chuong 2: Mo hinh thuc the ket hop ( Entity - Relationship )
PDF
Thiet ke co so du lieu
PPTX
Tin hoc 12 chuong 3 - bai 10 - csdl quan he - tiet 2
13929219602082.ppt
Chuong 2_Mo hinh du lieu quan he (1).pdf
Mô hình dữ liệu quan hệ Các khái niệm của mô hình quan hệ Ràng buộc toàn vẹn ...
Cơ sở dữ liệu_CHƯƠNG 1-Mô hình quan hệ.pptx
Chap03.ppsx
Chương 3. Mô hình quan hệ cơ sở dữ liệu_LPT
Bài giảng cơ sở dữ liệu
Bao Cao Mô hình CSDL quan hệ nâng cao_sua-tieu luan.pptx
Chuong 3 ER
Cơ sở dữ liệu đại học
W03_Thietkecosodulieulogic.pptx
Csdliuihc 111212222339-phpapp02
cơ sở dữ liệu aksjdiop;jfkldjasklfjadls;gjfil;adjklj
Slide_BG_cơ sở dữ liệu 3TinChi CHUNG.pdf
buoi2_MoHinhQuanHe.ppt
Chuong 2: Mo hinh thuc the ket hop ( Entity - Relationship )
Thiet ke co so du lieu
Tin hoc 12 chuong 3 - bai 10 - csdl quan he - tiet 2
Ad

More from Vo Oanh (14)

PPT
mangcoban_k07406taminhchau
PPT
hardware_software_k07406
PPT
chinh phu dien tu k07406
PPT
k07406thuongmaidientu
PPT
k07406internetmang
PPT
k07406vienthongmang
PPT
k07046nhapxuatxuly
PPT
k07406Internetintranet
PPT
k07406tochucdulieuvathongtin
PPT
B7 Chinhphudientu
PPT
Thiet Ke Co So Du Lieu2
PPT
Thiet Ke Co So Du Lieu3
PPT
Thiet Ke Co So Du Lieu5
PPT
Thiet Ke Co So Du Lieu4
mangcoban_k07406taminhchau
hardware_software_k07406
chinh phu dien tu k07406
k07406thuongmaidientu
k07406internetmang
k07406vienthongmang
k07046nhapxuatxuly
k07406Internetintranet
k07406tochucdulieuvathongtin
B7 Chinhphudientu
Thiet Ke Co So Du Lieu2
Thiet Ke Co So Du Lieu3
Thiet Ke Co So Du Lieu5
Thiet Ke Co So Du Lieu4

Recently uploaded (20)

PPTX
CNDVBC - Chủ nghĩa duy vật biện chứng...
PDF
f37ac936-c8c6-4642-9bc9-a9383dc18c15.pdf
PDF
bo-trac-nghiem-toan-11 dành cho cả năm học
PPTX
[123doc] - bai-giang-hoc-phan-hanh-vi-nguoi-tieu-dung-trong-du-lich-consumer-...
PDF
DANH SACH TRUNG TUYEN_TUNG NGANH 2025.pdf
PDF
SÁNG KIẾN “NGHIÊN CỨU VÀ ĐỀ XUẤT GIẢI PHÁP TỰ RÈN LUYỆN KỸ NĂNG MỀM CHO HỌC S...
PDF
ki_nang_tu_van_ca_nhan_ve_lua_chon_va_phat_trien_nghe_final_130806_1.pdf
DOCX
LUẬN VĂN GROUP ĐỀ BÀI ĐÁNH GIÁ GIAO TIẾP SƯ PHẠM
PDF
Cơ bản về matlab simulink cho người mới bắt đầu
PPTX
CASE LÂM SÀNG MỤN TRỨNG CÁd (final, BS Vân Thanh)-SV tai lop.pptx
DOCX
ĐỀ BÀI ĐÁNH GIÁ GIÁO DỤC GIÁ TRỊ SỐNG VÀ KỸ NĂNG SỐNG
PPTX
Chương3,Buổi7,8,9,10(Buổi10 kiểmtraL2).pptx
PDF
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD LỚP 10 BÁM SÁT NỘI DUNG SGK - PH...
PDF
GIÁO TRÌNH ỨNG DỤNG CÔNG NGHỆ THÔNG TIN TRONG DẠY HỌC HÓA HỌC Ở TRƯỜNG PHỔ TH...
PPTX
Bai 11.1 Tuan hoan mau.cấu tạo và vai trò pptx
PPT
Bai 42 Su chay thanh dong cua chat long va chat khi Dinh luat Becnuli.ppt
PDF
TÀI LIỆU DẠY THÊM HÓA HỌC 12 THEO FORM THI MỚI BGD - TẬP 2 - NĂM HỌC 2025-202...
PPT
danh-sach-lien-ket_Cấu trúc dữ liệu và giải thuậ.ppt
PPTX
Bai 28 Cau tao chat Thuyet dong hoc phan tu chat khi.pptx
PPTX
VNR202 LỊCH SỬ ĐẢNG, MÔN HỌC CẦN THIẾT C
CNDVBC - Chủ nghĩa duy vật biện chứng...
f37ac936-c8c6-4642-9bc9-a9383dc18c15.pdf
bo-trac-nghiem-toan-11 dành cho cả năm học
[123doc] - bai-giang-hoc-phan-hanh-vi-nguoi-tieu-dung-trong-du-lich-consumer-...
DANH SACH TRUNG TUYEN_TUNG NGANH 2025.pdf
SÁNG KIẾN “NGHIÊN CỨU VÀ ĐỀ XUẤT GIẢI PHÁP TỰ RÈN LUYỆN KỸ NĂNG MỀM CHO HỌC S...
ki_nang_tu_van_ca_nhan_ve_lua_chon_va_phat_trien_nghe_final_130806_1.pdf
LUẬN VĂN GROUP ĐỀ BÀI ĐÁNH GIÁ GIAO TIẾP SƯ PHẠM
Cơ bản về matlab simulink cho người mới bắt đầu
CASE LÂM SÀNG MỤN TRỨNG CÁd (final, BS Vân Thanh)-SV tai lop.pptx
ĐỀ BÀI ĐÁNH GIÁ GIÁO DỤC GIÁ TRỊ SỐNG VÀ KỸ NĂNG SỐNG
Chương3,Buổi7,8,9,10(Buổi10 kiểmtraL2).pptx
BÀI TẬP BỔ TRỢ TIẾNG ANH I-LEARN SMART WORLD LỚP 10 BÁM SÁT NỘI DUNG SGK - PH...
GIÁO TRÌNH ỨNG DỤNG CÔNG NGHỆ THÔNG TIN TRONG DẠY HỌC HÓA HỌC Ở TRƯỜNG PHỔ TH...
Bai 11.1 Tuan hoan mau.cấu tạo và vai trò pptx
Bai 42 Su chay thanh dong cua chat long va chat khi Dinh luat Becnuli.ppt
TÀI LIỆU DẠY THÊM HÓA HỌC 12 THEO FORM THI MỚI BGD - TẬP 2 - NĂM HỌC 2025-202...
danh-sach-lien-ket_Cấu trúc dữ liệu và giải thuậ.ppt
Bai 28 Cau tao chat Thuyet dong hoc phan tu chat khi.pptx
VNR202 LỊCH SỬ ĐẢNG, MÔN HỌC CẦN THIẾT C

Thiet Ke Co So Du Lieu1

  • 1. THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ (Relational Database Designing) Phần I – MÔ HÌNH CƠ SỞ DỮ LIỆU QUAN HỆ (Relational Database Modal) Lecturer : Nguyễn Duy Nhất [email_address]
  • 2. Cơ Sở Dữ Liệu Là Gì ? Dữ liệu = các thông tin cần lưu trữ vào máy tính để có thể truy xuất ( access ) và truy vấn ( query ) CSDL = không gian chứa dữ liệu có tổ chức : Có tương quan ( relational ) Có cấu trúc : các mẫu tin ( record ), cột thuộc tính ( column ) Các Mô hình CSDL (p.1)
  • 3. Sự cần thiết của CSDL Cung cấp khả năng truy vấn dữ liệu Tránh sự dư thừa, trùng lắp dữ liệu Liên kết chặt chẽ giữa dữ liệu và chương trình ứng dụng khai thác.  Có nhiều mô hình CSDL khác nhau Các Mô hình CSDL (p.2)
  • 4. Hệ Quản Trị CSDL (Database Management System) Là 1 phần mềm quản lý CSDL, cung cấp các dịch vụ xử lý ( truy cập – truy vấn ) CSDL cho Nhà phát triển ứng dụng ( lập trình viên ) Tập các hàm, thư viện mã lệnh truy xuất Người dùng cuối ( End-user ) Giao diện sử dụng để truy xuất Các Mô hình CSDL (p.3)
  • 5. Các Mô Hình CSDL Mô hình phân cấp Mô hình mạng Mô hình quan hệ Mô hình đối tượng …  Các mô hình CSDL khác nhau có các Hệ Quản Trị CSDL tương ứng. Các Mô hình CSDL (p.4)
  • 6. Mô Hình CSDL Quan Hệ Do E.F.Codd đề xuất năm 1971, gồm: Dữ liệu được mô tả thành tập các bảng (table) ( dòng dữ liệu và cột thuộc tính ) . Các bảng có thể mô tả nội dung của 1 đối tượng/thực thể (Entity) hoặc 1 mối kết hợp (Relationship) Một hệ thống các ký hiệu , phép toán và khái niệm (thuật ngữ) để mô tả dữ liệu. Trong phần trình bày tiếp theo, ta sẽ dựa vào ví dụ là CSDL Quản Lý Sinh Viên của 1 trường Đại Học Cơ Sở Dữ Liệu Quan Hệ (p.1)
  • 7. Các Khái Niệm : Thuộc tính (Attribute) Thuộc vào 1 kiểu dữ liệu đơn (Data Type) nhất định và có một miền giá trị. Trong 1 Lược đồ quan hệ không được có 2 thuộc tính trùng tên. Ký hiệu : A 1 ,A 2, … B, C, … Ví dụ : với đối tượng Học Sinh, ta có thể có các thuộc tính : Họ, Tên, Ngày sinh, Điểm trung bình, … Cơ Sở Dữ Liệu Quan Hệ (p.2) – Các khái niệm
  • 8. Lược đồ quan hệ (Relation Schema) (1) Tập các thuộc tính của 1 đối tượng hoặc 1 mối kết hợp (1 bảng !) Ký hiệu : Q Q với tập thuộc tính : Q(A 1 ,A 2 ,…,A n ) Tập thuộc tính của Q : Q + Cơ Sở Dữ Liệu Quan Hệ (p.3) – Các khái niệm
  • 9. Lược đồ quan hệ (Relation Schema) (2) Tân từ của Lược đồ quan hệ : Là phát biểu mô tả các ý nghĩa, điều kiện ràng buộc (giữa các thuộc tính) của lược đồ quan hệ. Được phát biểu ở dạng ngôn ngữ tự nhiên hoặc ngôn ngữ hình thức, mã giả, … Ví dụ : Mỗi sinh viên chỉ có 1 mã sinh viên và không trùng với các sinh viên khác. Ngày kết thúc học phần phải lớn hơn ngày bắt đầu học phần. … Cơ Sở Dữ Liệu Quan Hệ (p.4)
  • 10. Lược đồ quan hệ (Relation Schema) (3) Tập tất cả các Lược đồ quan hệ có trong 1 CSDL được gọi là Lược đồ CSDL. Ký hiệu : R Ví dụ : trong CSDL Quản Lý Sinh Viên, R = Q1 = SINHVIEN(MaSV,Ho,Ten,NgaySinh,DiemTB) Q2 = HOCPHAN(MaHP,TenHP,SoTinChi) Q3 = DANGKY_HOCPHAN(MaSV,MaHP) … Cơ Sở Dữ Liệu Quan Hệ (p.5)
  • 11. Quan hệ (Relation) Sự thể hiện của Lược đồ quan hệ tại một thời điểm nào đó được gọi là Quan hệ . Ký hiệu : q, r, s, t,… tương ứng với các Lược đồ quan hệ Q, R, S, T, … Ví dụ : lược đồ Q = SINHVIEN(MaSV,Ho,Ten,NgaySinh,DiemTB) tại 1 thời điểm t nào đó có quan hệ q = { SV01, Nguyễn Văn, Tài, 12/10/1980, 6.9 SV02, Trần Thị, Chi, 19/12/1980, 7.5 SV03, Lý Văn, Sử, 27/8/1978, 8 } Cơ Sở Dữ Liệu Quan Hệ (p.6)
  • 12. Bộ (Record) Là 1 dòng / phần tử của Quan hệ Là 1 tập các giá trị tương ứng với các thuộc tính của quan hệ Ký hiệu : p, q, t, … Ví dụ : Quan hệ q = { SV01, Nguyễn Văn, Tài, 12/10/1980, 6.9 SV02, Trần Thị, Chi, 19/12/1980, 7.5 SV03, Lý Văn, Sử, 27/8/1978, 8 } có 3 bộ Cơ Sở Dữ Liệu Quan Hệ (p.7)
  • 13. Kết luận Bộ  Quan hệ Thuộc tính  Lược đồ quan hệ  Lược đồ CSDL Tân từ mô tả điều kiện, ràng buộc của các Thuộc tính trong Lược đồ quan hệ Quan hệ là 1 thể hiện (instance) tại 1 thời điểm của Lược đồ quan hệ Cơ Sở Dữ Liệu Quan Hệ (p.8)
  • 14. Siêu Khóa (Super Key) Cho Lược đồ quan hệ Q có thể hiện là quan hệ q, s là 1 tập thuộc tính thuộc Q + . t 1 ,t 2 là 2 bộ tùy ý thuộc q Ta ký hiệu t 1 .s là tập các giá trị của t 1 trên tập thuộc tính s s’ = s + A i s được gọi là 1 siêu khóa nếu và chỉ nếu :  q, t 1 , t 2 : t 1 .s  t 2 .s Cơ Sở Dữ Liệu Quan Hệ (p.9)
  • 15. Khóa / Khóa chỉ định Siêu khóa có ít thuộc tính nhất được gọi là Khóa hay Khóa chỉ định .  1 lược đồ quan hệ có thể có nhiều khóa Trong lược đồ quan hệ, 1 khóa được chọn làm khóa chính (primary key) . Thuộc tính có tham gia vào khóa được gọi là thuộc tính khóa , ngược lại, được gọi là thuộc tính không khóa . Cơ Sở Dữ Liệu Quan Hệ (p.10)
  • 16. Khóa ngoại (foreign key) (1) 1 tập thuộc tính được gọi là Khóa ngoại của Lược đồ quan hệ Q nếu và chỉ nếu nó nó là tập thuộc tính của Q + và là khóa của 1 lược đồ quan hệ khác. Ví dụ : Cho lược đồ cơ sở dữ liệu Quản Lý Sinh Viên, các lược đồ quan hệ : Q 1 = SINHVIEN( MaSV ,Ho,Ten,DiemTB) Q 2 = HOCPHAN( MaHP ,TenHP,SoTinChi) Q 3 = DANGKY_HOCPHAN( MaSV,MaHP ) Cơ Sở Dữ Liệu Quan Hệ (p.11)
  • 17. Khóa ngoại (foreign key) (2) {MaSV} là khóa của Q 1 {MaHP} là khóa của Q 2 {MaSV,MaHP} là khóa của Q 3 {MaSV}, {MaHP} là các khóa ngoại của Q 3 Trong thiết kế CSDL, nhà thiết kế thường dựa vào các Tân từ để xác định khóa cho Lược đồ quan hệ . Cơ Sở Dữ Liệu Quan Hệ (p.12)
  • 18. Các Phép Toán : Phép toán tập hợp Phép hợp (Union) :  Cho lược đồ quan hệ Q, với các quan hệ thể hiện q 1 , q 2 Ta có : q 1  q 2 = q 3 = {r : r  q 1  r  q 2 } Cơ Sở Dữ Liệu Quan Hệ (p.13)
  • 19. Các Phép Toán : Phép giao (Intersection) Phép giao :  Cho lược đồ quan hệ Q, với các quan hệ thể hiện q 1 , q 2 Ta có : q 1  q 2 = q 3 = {r : r  q 1  r  q 2 } Cơ Sở Dữ Liệu Quan Hệ (p.14)
  • 20. Các Phép Toán : Phép trừ (Minus, difference) Phép trừ : - Cho lược đồ quan hệ Q, với các quan hệ thể hiện q 1 , q 2 Ta có : q 1 - q 2 = q 3 = {r : r  q 1  r  q 2 } Cơ Sở Dữ Liệu Quan Hệ (p.15)
  • 21. Tích Descartes Cho lược đồ quan hệ Q 1 (A 1 ,A 2 ,…A n ) có quan hệ thể hiện là q 1 ; Q 2 (B 1 ,B 2 ,…B m ) có quan hệ thể hiện là q 2 q 1 x q 2 = q 3 , ta có : q 3 là 1 quan hệ của Q 3 với Q 3 + = Q 1 + + Q 2 + q 3 = {r : r.(Q 1 + )  q 1  r.(Q 2 + )  q 2 } Cơ Sở Dữ Liệu Quan Hệ (p.16)
  • 22. Tích Descartes – Ví dụ Cho lược đồ quan hệ Q1(MaSV,MaMH,DiemThi), Q2(MaMH,TenMH) có các quan hệ q1, q2 : q 1 = q 2 =  q 3 = Cơ Sở Dữ Liệu Quan Hệ (p.17) 8.0 MANG 99003 2.0 CTDL 99002 5.0 CSDL 99001 DiemThi MaMH MaSV Foxpro FOX Cơ sở dữ liệu CSDL TenMH MaMH Foxpro FOX 8.0 MANG 99003 Cơ sở dữ liệu CSDL 8.0 MANG 99003 Foxpro FOX 2.0 CTDL 99002 2.0 5.0 5.0 DiemThi CSDL FOX CSDL MaMH Cơ sở dữ liệu Foxpro Cơ sở dữ liệu TenMH CTDL 99002 CSDL 99001 CSDL 99001 MaMH MaSV
  • 23. Các Phép Toán : Phép toán quan hệ Phép chiếu (Projection) _ Cho lược đồ quan hệ Q(A 1 ,A 2 ,…A n ) với quan hệ thể hiện là q, X là 1 tập con của Q + _ Phép chiếu của Q lên tập X (ký hiệu là Q[X]) tạo thành lược đồ quan hệ Q’ = Q[X] có Q’ + = X. _ t là 1 bộ nào đó của q, Phép chiếu của t lên tập X (ký hiệu là t[X] hay t.X) là 1 tập con của t chứa các giá trị ứng với các thuộc tính trong X _ Phép chiếu của q lên tập X (ký hiệu là q[X] hay q.X) tạo thành quan hệ q’ : q’ = q[X] = q.X = {t’ :  t  q, t.X = t’} Cơ Sở Dữ Liệu Quan Hệ (p.18)
  • 24. Phép chiếu – Ví dụ q = q.{MaMH} = q[{MaMH}] = Cơ Sở Dữ Liệu Quan Hệ (p.19) 8.0 MANG 99003 2.0 CTDL 99002 5.0 CSDL 99001 DiemThi MaMH MaSV MANG CTDL CSDL MaMH
  • 25. Phép chọn (Selection) Cho lược đồ quan hệ Q(A 1 ,A 2 ,…A n ) với quan hệ thể hiện là q, E là 1 biểu thức điều kiện trên các bộ của q, t là 1 bộ nào đó của q. _ Nếu t thỏa điều kiện E, ta ký hiệu là t(E) hay t:E _ Phép chọn q trên (với) điều kiện E (ký hiệu là q(E) hay q:E) tạo thành q’ là tập con các bộ của q : q’ = q(E) = q:E = {t : t  q  t(E)} Cơ Sở Dữ Liệu Quan Hệ (p.20)
  • 26. Phép chọn – Ví dụ q = E : q.DiemThi  5 q(E) = q:E = Cơ Sở Dữ Liệu Quan Hệ (p.21) 8.0 MANG 99003 2.0 CTDL 99002 5.0 CSDL 99001 DiemThi MaMH MaSV 8.0 MANG 99003 5.0 CSDL 99001 DiemThi MaMH MaSV
  • 27. Phép kết (Join) Cho lược đồ quan hệ Q 1 (A 1 ,A 2 ,…A n ) có quan hệ thể hiện là q 1 ; Q 2 (B 1 ,B 2 ,…B m ) có quan hệ thể hiện là q 2 ; A i và B j là 2 thuộc tính có cùng miền giá trị, giả sử tồn tại 1 phép so sánh  trên miền giá trị của A I và B J => Gọi q’ 3 = q 1 xq 2 và Q 3 là lược đồ quan hệ của q’ 3  A i  B j là 1 biểu thức điều kiện trên q’ 3 Cơ Sở Dữ Liệu Quan Hệ (p.22)
  • 28. Phép kết (t.t) Phép kết giữa q 1 và q 2 trên điều kiện A i  B i (ký hiệu là ) được xác định như sau : q 3 = q 1 q 2 = {t :  t 1  q 1 ,t 2  q 2  t.Q 1 + = t 1  t.Q 2 + = t 2  t 1 .A i  t 2 .B j } Hoặc : q 3 = q 1 q 2 = q’ 3 (A i  B j ) Cơ Sở Dữ Liệu Quan Hệ (p.23)
  • 29. Phép kết – Ví dụ q 1 = q 2 = A i = DiemThi ; B j = DiemDau ;  : ‘>=’ q 3 = q 1 q 2 = Cơ Sở Dữ Liệu Quan Hệ (p.24) 6.0 MANG 99003 2.0 CSDL 99002 5.0 CSDL 99001 DiemThi MaMH MaSV 7.0 MANG 4.0 CSDL DiemDau MaMH 6.0 5.0 DiemThi CSDL CSDL MaMH 4.0 4.0 DiemDau MANG 99003 CSDL 99001 MaMH MaSV
  • 30. Phép kết – Kết luận Phép kết thực chất là gộp của Tích Descartes và phép chọn Trình tự thực hiện phép kết : Tạo tích Descartes Thực hiện phép chọn với điều kiện E = A I  B J Cơ Sở Dữ Liệu Quan Hệ (p.25)
  • 31. Phép kết – Ứng dụng Phép kết có rất nhiều ứng dụng trong thiết kế CSDL, đặc biệt khi thực hiện các truy vấn (query) Ở slide 29, ta nhận thấy phép kết  chưa thực hiện đúng ý đồ của nhà thiết kế là tìm ra các sinh viên đạt điểm đậu các môn học tương ứng (bộ thứ 2 của q 3 không đúng). Trong trường hợp này, ta dùng phép kết kép : q 3 = q 1 q 2 trong đó : C k =q 1 .MaMH , D l =q 2 .MaMH và  ’ : ‘=’ Cơ Sở Dữ Liệu Quan Hệ (p.26)
  • 32. Phép kết tự nhiên (Natural Join) Trong trường hợp  = ‘=’ , phép kết được gọi là Phép kết bằng Trong trường hợp A I = B J , và  = ‘=’ , phép kết được gọi là Phép kết tự nhiên  Ví dụ ở slide 31, phép kết giữa C k , D l và  ’ được gọi là kết tự nhiên . Phép kết tự nhiên thường được sử dụng nhất trong thực tế Cơ Sở Dữ Liệu Quan Hệ (p.27)
  • 33. Phép chia (Division) Cho lược đồ quan hệ Q 1 (A 1 ,A 2 ,…A n ) có quan hệ thể hiện là q 1 ; Q 2 (B 1 ,B 2 ,…B m ) có quan hệ thể hiện là q 2 ; và n > m. Phép chia q 1 cho q 2 tạo thành q 3 với lược đồ quan hệ Q 3 được định nghĩa như sau : Q 3 + = {A 1 ,A 2 ,…A n-m } q 3 = q 1  q 2 = {t :  t 2  q 2 ,  t 1  q 1 , t=t 1 .Q 3 +  t 2 =t 1 .{A n-m+1 ,…,A n } } Cơ Sở Dữ Liệu Quan Hệ (p.28)
  • 34. Phép chia – Ví dụ Cơ Sở Dữ Liệu Quan Hệ (p.29) q 3 = q 1  q 2 = l t d b a q 1 c g e b a g c c g e f e c g e f e d b a e d A 3 e c A 4 f g A 5 c b b a A 2 A 1 q 2 f e g c B 2 B 1 q 3 c g e d A 3 b a A 2 A 1
  • 35. Phép chia – Ví dụ (t.t) Cơ Sở Dữ Liệu Quan Hệ (p.30) Yêu cầu truy vấn : cần tìm ra các sinh viên nào có đăng ký đầy đủ tất cả học phần ? THCB SV01 CSDL SV03 DANGKY_HOCPHAN THCB SV04 CSDL SV01 CTDL SV03 CSDL SV02 THCB SV03 CTDL SV01 MaHP MaSV HOCPHAN Cơ sở dữ liệu CSDL Tin học căn bản THCB Cấu trúc dữ liệu CTDL TênHP MaHP
  • 36. Phép chia – Ví dụ (t.t) Đáp số là kết quả của phép chia quan hệ DANGKY_HOCPHAN cho quan hệ HOCPHAN.MAHP Cơ Sở Dữ Liệu Quan Hệ (p.31) DANGKY_HOCPHAN  HOCPHAN.MAHP SV03 SV01 MaSV
  • 37. Giáo trình trang 9 Các tính chất của Đại số quan hệ Cơ Sở Dữ Liệu Quan Hệ (p.32)