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

Bài giảng cơ sở dữ liệu chương 2 ths lê ngọc lãm

55 199 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 55
Dung lượng 1,05 MB

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

Nội dung

Lược đồ quan hệTập tất cả các thuộc tính cần quản lý của một đối tượng cùng với mối liên hệ giữa chúng được gọi là lược đồ quan hệ.. Khóa - Khóa ngọai của Quan hệ Siêu khoá: là một tập

Trang 2

Ví dụ

Cách quản lý thông tin về sinh viên đăng ký môn học như sau:

Trang 3

Ví dụ (tt)

Những hạn chế trên sẽ được khắc phục nếu tổ chức dữ liệu theo mô hình sau:

Trang 4

MỘ SỐ KHÁI NIỆM

THU C TÍNH (ATTRIBUTE)

MI N GIÁ TR C A THU C TÍNH (DOMAIN)

B (TUBLE hay RECORD)

BHK 002

1.050 Trần văn Thành

LUC 001

DIEN_TICH (M2)

TEN_CSD LOAI_DAT

SO_THUA

Trang 5

Thuộc tính: là tính chất để mô tả đối tượng hay nói cách khác 1 đối tượng được mô tả thông qua thuộc tính của nó.

Miền giá trị: Thuộc tính có thể là một chuỗi các

ký tự hay là một con số hoặc ngày tháng năm Ngoài ra có thể còn là giá trị tiền tệ hay một đơn vị đo lường nào đó Tập hợp các giá trị này gọi là Miền giá trị của thuộc tính.

Bộ: Tập hợp các thuộc tính cùng mô tả một đối tượng gọi là Bộ Như vậy có thể nói bộ là một đối tượng cụ thể

Trang 6

MỘ SỐ KHÁI NIỆM

QUAN HỆ (RELATIONSHIP)

Trang 7

Lược đồ quan hệ

Tập tất cả các thuộc tính cần quản lý của một đối tượng cùng với mối liên hệ giữa chúng được gọi là lược đồ

quan hệ Lược đồ quan hệ Q với tập thuộc tính

{A1,A2, ,An} được viết là

Q(A1,A2, ,An) Tập các thuộc tính của Q được ký hiệu

là Q+ Chẳng hạn lược đồ quan hệ sinh viên (Đặt tên là

Sv) với các thuộc tính như trên là:

Sv(MASV, HOSV,TENSV,NU, NGAYSINH, MALOP,

HOCBONG, TINH)

Trang 8

QUAN HỆ

Trang 9

Khóa - Khóa ngọai của Quan hệ

Siêâu kh kh óa

Khóa

Khóa ngọai

Trang 10

Khóa - Khóa ngọai của Quan hệ

Siêu khoá: là một tập các thuộc tính để phân biệt giữa các đối tượng với nhau trong một quan hệ.

Khoá: Trong trường hợp siêu khoá chỉ bao gồm 1 thuộc tính thì gọi là khoá Các thuộc tính trong siêu khoá gọi là thuộc tính khoá Thuộc tính khoá thường đóng vai trò liên kết giữa các quan hệ với nhau.

Khoá ngoại: Trong trường hợp 2 quan hệ liên kết với nhau thông thông qua 1 thuộc tính nếu thuộc tính này đóng vai trò là khoá chính trong một quan hệ đã xác định thì

nó chính là khoá ngoại của quan hệ còn lại.

Trang 11

Ví dụ 1

được phân thành 4 c 4 c ấp : Đư : Đư ờng quốc lộ ,

hẽm Đư Đư ờng quốc lộ có ó l l ộ giới 60m; đường

nhau; ; Qu Qu ốc lộ và tỉnh lộ có kết cấu bê-tông

Trang 12

Ví dụ 2

 Theo số liệu thống kê năm 2005 Huyện Hóc Môn có 02 tuyến đường quốc lộ với chiều dài trên 40km; 06 tuyến đường tỉnh

lộ với chiều dài trên 80km; 15 tuyến đường liên xã và đường nội bộ với chiều dài 150km và 60 con hẽm với tổng chiều dài trên 30km

Trang 13

mà công ty quản lý về nhân viên bao gồm: : mã mã

nhân viên, tên nhân viên, ngày sinh, địa chỉ, và mặt hàng mà nhân viên đó phụ trách M M ỗi mặt hàng đều có tên và mã mặt hàng cùng với xuất

xứ nguồn gốc của mặt hàng đó mà nhân viên cần biết để nhập hàng khi có yêu cầu

Trang 14

CÁC PHÉP TOÁN ĐẠI SỐ QUAN HỆ

 Các phép toán đại số quan hệ là phép toán mà tất cả các hệ quản trị cơ sở dữ liệu đều cài đặt cụ thể bằng các lệnh theo ngôn ngữ riêng Các phép toán này được thực hiện trực tiếp trên các bộ của các quan hệ lưu trữ trong máy tính Việc tổ chức các quan hệ và các bộ của

nó có thể được xem như biểu diễn tương ứng một – một qua các tệp(file) và các bản ghi(Records)

Trang 15

Phép chèn(Insert)

 Mục đích của phép chèn là thêm một bộ vào một quan hệ nhất định Kết quả của phép chèn có thể gây ra một số sai sót với những lý do sau đây:

- Bộ mới được thêm vào không phù hợp với lược đồ quan

Trang 16

Phép chiếu (project)

 Cho Q là một quan hệ với tập thuộc tính Q+, Q+=A1,A2, ,An, X Q+: X là một tập con các thuộc tính của Q.

Phép chiếu Q lên tập thuộc tính X là phép trích cột từ Q gồm những thuộc t nh có trong X, các bộ là một phần của các bộ trong Q, được ký hiệu Q[X]

Ví dụ: Người ta chỉ cần biết MA_LD (mã lọai đất) và thời hạn sử dụng của loại đất đó (TH_SD), thực hiện phép chiếu tập con gồm các thuộc tính MA_LD và TH_SD lên quan hệ LOAIDAT Kết quả ta được một quan hệ với hai thuộc tính MA_LD và TH_SD, hai thuộc tính này đều nằm trong quan

hệ LOAIDAT

Trang 17

Phép chiếu

(ví dụ)

Trang 18

Phép chọn:(select)

 Cho Q là một quan hệ với tập thuộc t nh Q+, Q+=A1,A2, ,An, gọi D(x) là một điều kiện xác định trên Q+ Phép chọn từ Q những bộ thỏa D(x) là một quan hệ Q' với các phần tử (bộ) thuộc Q và thỏa điều kiện D(x).

Trang 19

Phép chọn (ví dụ)

Trang 20

Phép tích Đề-cac (cartesian product)

 Cho hai quan hệ Q1(A1,A2, ,Am) và Q2( B1, B2, , Bn), tích Đề-cac của hai quan hệ Q1

và Q2 là quan hệ Q3 có các thuộc tính là hợp các thuộc tính Q1 và Q2, các n bộ là nối của các n bộ trong Q1 và Q2.

q2Q2, Q3 có m+n ngôi (có m+n thuộc tính)

Trang 21

Phép tích Đề-cac (ví dụ)

Trang 22

Phép hạn chế một quan hệ

(Restriction)

 Phép hạn chế một quan hệ là phép toán một ngôi cho kết quả

là một quan hệ có các bộ thỏa mãn một điều kiện hạn chế Điều kiện hạn chế có thể áp dụng trên một hoặc nhiều thuộc tính của quan hệ Có hai chuẩn viết về điều kiện hạn chế của một quan hệ: Chuẩn và (AND) và chuẩn hoặc (OR).

Hạn chế của quan hệ Q bằng tiêu chuẩn T là quan hệ Q' có cùng lược đồ (số ngôi) trong đó các n bộ thỏa mãn tiêu chuẩn T.

Ví dụ: Trong quan hệ THUA xác định những thửa có diện tích >1000 và lọai đất là nông nghiệp Quan hệ mới từ điều kiện trên sẽ là các quan hệ có n bộ có đầy đủ những thuộc tính của quan hệ THUA các bộ thỏa điều kiện DT> 1000

LD ="NN"

Trang 23

có các thuộc tính và các n bộ là ghép nối các n bộ và các thuộc tính của hai quan hệ Q1 và Q2., chỉ lấy ra những n bộ thỏa mãn điều kiện hạn chế Ai và Bj

Trang 24

Phép liên kết(ví dụ)

Ai = Dj

Trang 25

Câu lệnh SQL

Trang 26

Truy vấn chọn

Select [ Distinct | Top n[%]] field1 [ As alias1][,field2 [ As alias2][, ]]

From table1 [ Inner Join table2 On table1.field1 θ table2.field2]

Where dieuKien]

Order By field1[ Asc | Desc ][,field2[ Asc | Desc ]][, ]]];

Distinct : loại bỏ các bộ trùng trong quan hệ đích

Top n[%]: Chọn n hay n% mẫu tin đầu tiên.

table : Tên table hay query chứa dữ liệu.

field : Tên field hay một biểu thức.

Alias : Trường hợp field là một biểu thức thì <Alias> là một tên mới của biểu thức.

Inner Join: mỗi mẫu tin của table1 nối với bất kỳ mẫu tin nào của table2

có dữ liệu của field1 thỏa mãn điều kiện so sánh với dữ liệu của field2 tạo thành mẫu tin của query.

điều kiện: Biểu thức mà dữ liệu mẫu tin phải thỏa mãn

 Chú ý:

 Khi nêu rõ thuộc t nh đó thuộc về quan hệ nào ta viết theo cú pháp

Trang 27

Truy vấn chọn – ví dụ

Trang 28

Truy vấn nhóm

Trang 29

Truy vấn nhóm – ví dụ

 Ví du: Đếm số lượng sinh viên nữ của mỗi khoa

SELECT

Kh.MAKHOA,TENKHOA,COUNT(Kh.MAKHO A) AS SOLUONG

FROM (Sv Inner Join Lop On Sv.MALOP =

Trang 30

Truy vấn lồng nhau

Là những câu lệnh truy vấn mà trong thành phần WHERE hay

HAVING có chứa thêm một câu lệnh Select khác Câu lệnh select

khác này gọi là subquery Ta lồng câu Select vào phần Where hay

Having theo cú pháp sau:

o bieuthuc toanTuSoSanh [ANY | ALL | SOME] (cauLenhSQL)

ANY, SOME là bất kỳ, ALL là tất cả

Các mẫu tin của query chính thỏa mãn toán tử so sánh với bất kỳ/ tất

cả mẫu tin nào của subquery

o bieuThuc [NOT] IN (cauLenhSQL)

Các mẫu tin của query chính có giá trị bằng với một giá trị trong

subquery

o [NOT] EXISTS (cauLenhSQL).

Các mẫu tin của query chính thỏa mãn khi subquery có mẫu tin

Trang 31

Truy vấn lồng nhau – ví dụ

Ví du: Lập danh sách sinh viên có học bổng cao nhất

SELECT *

FROM Sv

WHERE HOCBONG>=ALL(SELECT HOCBONG FROM SV);

Ví du: Lập danh sách sinh viên có điểm thi môn CSDL cao nhất

SELECT SV.MASV,HOTEN,NU,NGAYSINH,DIEMTHI

FROM sv Inner Join kq On Sv.MASV = Kq.MASV

WHERE MAMH='CSDL' AND DIEMTHI >= ALL

(SELECT DIEMTHI FROM KQ WHERE MAMH='CSDL');

Hiểu và vận dụng tốt lệnh truy vấn dữ liệu là một việc làm cực kỳ cần thiết để tạo ra các kết quả cho báo cáo, thống kê số liệu.

Trang 33

Ràng buộc toàn vẹn (Entegrity constraint)

Trong mỗi CSDL luôn tồn tại nhiều mối liên hệ giữa các thuộc t nh, giữa các bộ

Sự liên hệ này có thể xảy ra trong một lược đồ quan hệ hoặc trong các lược đồ quan hệ của một cơ sở dữ liệu Các mối liên hệ này là những điều kiện bất biến

mà tất cả các bộ của những quan hệ có liên quan trong CSDL đều phải thỏa mãn

ở mọi thời điểm Những điều kiện bất biến đó được gọi là ràng buộc toàn vẹn Trong thực tế ràng buộc toàn vẹn là các quy tắc quản lý được áp đặt trên các đối tượng của thế giới thực.

Trang 34

Kiểm tra Ràng buộc toàn vẹn

Trang 35

Các yếu tố của RBTV

1 Điều kiện

Được mô tả một cách hình thức bằng ngôn ngữ tự nhiên hoặc đại số.

Ví dụ: Cho hai quan hệ:

LOAIDAT( MA_LD, TEN_FAO, TEN_VN,

Trang 36

Các yếu tố của RBTV

2) Bối cảnh:

 Bối cảnh của một ràng buộc toàn vẹn là những quan hệ mà ràng buộc đó có hiệu lực hay nói một cách khác, đó là những quan hệ cần phải được kiểm tra ràng buộc toàn vẹn Bối cảnh của một ràng buộc toàn vẹn có thể là một hoặc nhiều quan hệ.

Ví dụ: Xét CSDL về đăng ký đất đai bao gồm các thực thể

(quan hệ) sau:

LOAIDAT( MA_LD, TEN_FAO, TEN_VN, KY_HIEU)

DOITUONGSD(MA_DTSD, TEN_DTSD, NGAY_DK)

HIENTRANG( KY_HIEU, MD_SD)

DANGKY( SOTO_BD, SO_THUA, MA_LD, MA_DTSD, KY_HIEU, D_TICH, THOIHAN_SD).

Với các RBTV sau:

Trang 37

Các yếu tố của RBTV

R1: Điều kiện: những lọai đất khác nhau sẽ đánh MA_LD khác nhau

Bối cảnh: trong trong một quan hệ

R2: Điều kiện: Các đối tượng sử dụng khác nhau sẽ đánh MA_DTSD khác nhau

Bối cảnh: trong trong một quan hệ

R3: Điều kiện: Mục đích sử dụng đất khác nhau sẽ đánh KY_HIEU khác

nhau

Bối cảnh: Trong một quan hệ

R4: Điều kiện: trong cùng một tờ bản đồ SO_THUA phải khác nhau

Bối cảnh: trong trong cùng một quan hệ

R5: Điều kiện: MA_LD trong trong DANGKY phải có trong LOAIDAT

Bối cảnh: Trong hai hai quan hệ DANGKY và LOAIDAT

R6: Điều kiện: MA_DTSD trong DANGKY phải có trong DOITUONGSD Bối cảnh: Trong hai hai quan hệ DANGKY và DOITUONGSD

Trang 38

Tầm ảnh hưởng

Trang 39

1) Ràng buộc tòan vẹn có bối cảnh là một quan hệ (trên một quan hệ)

Trang 40

Phân loại RBTV

2) Ràng buộc tòan vẹn có bối cảnh trên nhiều quan hệ:

a.) Phụ thuộc tồn tại: RBTV kiểu phụ thuộc tồn tại là sự tồn tại của một bộ trong quan này phụ thuộc vào sự tồn tại của 1 bộ trong quan hệ khác Thường gặp nhất là do

sự hiện diện của khóa ngọai hoặc lồng khóa.

b) RBTV liên bộ và liên quan hệ: Là RBTV liên quan đến một nhóm các bộ giữa các quan hệ – ví dụ hạng mức đất.

c) RBTV liên bộ, liên thuộc tính và liên quan hệ: Là RBTV

mà giá trị của một thuộc tính liên quan đến các thuộc tính khác nhau của nhiều bộ trên các quan hệ – ví dụ về định giá đất.

Trang 42

Phụ thuộc hàm (Functional dependency)

Phụ thuộc hàm là sự biểu diễn ràng buộc toàn vẹn dưới hình thức toán học để bảo đảm thông tin không bị tổn thất khi phân rã hoặc kết nối giữa các quan hệ.

 Cho Q là một quan hệ Q+ là tập thuộc tính của Q; X,Y Q+, XY( :tập rỗng) Ta nói: X xác định Y hay Y phụ thuộc hàm vào X, ký hiệu:X Y nếu:

(luôn xác định cùng trường hợp cụ thể Y khi cho cùng trường hợp cụ thể X)

 q1,q2Q+:q1*X=q2*Xq1Y=q2Y

 Số PTH cĩ thể cĩ của Q(A1, A2…An) là 2 2n

Trang 43

Phụ thuộc hàm – ví dụ

Trang 44

Phụ thuộc hàm – ví dụ

Trang 45

Phụ thuộc hàm(ví dụ)

 MASV → TEN_SV : Mỗi mã sv có một tên :

 MAMH → TEN_MH : Mỗi mã môn học có một tên :

MSGV → TEN_GV: M ỗi mã giáo viên có một

mã số công chức

 SHTHUA → TEN_CSD: Mỗi số thửa có một tên TEN_CSD:

chủ s ử dụng

Trang 46

Phụ thuộc hàm(ví dụ)

Trang 47

Phụ Thuộc Hàm – ví dụ

Trang 48

Phụ Thuộc Hàm

Trang 49

Phụ Thuộc Hàm – ví dụ

Trang 50

Tính chất phụ thuộc hàm

Cho quan hệ Q với tập thuộc tính Q + , X, Y, Z thuộc Q +

* Tính chất 1: Tính phản xạ: Nếu YXXY (Y là con hoặc = X)

Ví dụ: SOTO_BD, SO_THUA : SOTO_BD, SO_THUA SO_THUA

* Tính chất 2: Tính thêm vào

Nếu XY thì X Z Y Z (X Z= XZ)

* Tính chất 3: Tính bắc cầu:

Nếu X Y và Y Z thì X Z

Trang 51

Tính chất phụ thuộc hàm

DANGKY(SOTO_BD, SO_THUA, CHU_SD, L_.DAT, D_TICH,

Trang 52

Một số luật dẫn suy diễn

SODVD_TICH, L_DAT, T_DAY, N_NUOC, HT_SDD.

Nếu biết được số đơn vị đất đai thì sẽ biết tất cả các thông tin khác có liên quan đến đơn vị đó

SO_DVL_DAT, D_TICH (Chỉ muốn biết lọai đất và diện tích của đơn vị đó)

Trang 53

Một số luật dẫn suy diễn

Trang 54

Một số luật dẫn suy diễn

3) Luật hội:

Cho XY và XZ  X YZ

Chứng minh:

XY XXY ( thêm vào)

XZ  XYZY (thêm vào) 

XYZ(bắc cầu)

Trang 55

NỘI DUNG CHƯƠNG TRÌNH

Ngày đăng: 03/12/2015, 00:52

TỪ KHÓA LIÊN QUAN

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