1. Trang chủ
  2. » Giáo án - Bài giảng

Tài liệu ôn thi cao học - thạc sĩ khoa học máy tính, hệ thống thông tin trường ĐH KHTN TP.HCM:p1

35 1,3K 4

Đ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 35
Dung lượng 577,51 KB

Nội dung

Tài liệu ôn thi cao học - thạc sĩ khoa học máy tính, hệ thống thông tin trường ĐH KHTN TP.HCM:p1

Trang 1

Ôn tập Cơ sở Dữ liệu

6

Sửa Bài tập03/04/2008

3

Ngôn ngữ truy vấn SQL28/02/2008

Buổi

Trang 2

Các khái niệm cơ bản của CSDL

„ Hệ quản trị CSDL (Database Management System)

{ Tập hợp các chương trình cho phép người sử dụng định nghĩa, xây dựng, và khai

thác CSDL một cách hiệu qủa và tiện lợi

Hệ QTCSDL

Ch ương trình Quản Trị CSDL

Truy xuất

Trang 3

06/03/2008 Ôn thi tuyển sinh cao học 2008 5

Vai trò Hệ QTCSDL

„ Mục tiêu : hỗ trợ

{ Khai thác thông tin từ CSDL

{ Lưu trữ thông tin vào CSDL

„ Tính năng : cung cấp các cơ chế

{ Định nghĩa cấu trúc lưu trữ dữ liệu

{ Thao tác, xử lý dữ liệu

{ Bảo đảm an toàn dữ liệu

{ Kiểm soát chia sẻ dữ liệu

Trang 4

06/03/2008 Ôn thi tuyển sinh cao học 2008 7

Lược đồ vật lý

Các Khung nhìn (views)

Độc lập vật lý :

Khả năng thay đổi lược đồ trong mà không làm thay đổi lược đồ quan niệm cũng như lược đồ ngoài

Trang 5

06/03/2008 Ôn thi tuyển sinh cao học 2008 9

Lược đồ và thể hiện của CSDL

MaMH MaMH_Truoc DKien

SVien

TenMH Nhap mon tin hoc Cau truc du lieu

Mhoc

Toan roi rac

Co so du lieu

MaMH COSC1310 COSC3320 MATH2410 COSC3380

TinChi Khoa 4 4 3 3

CNTT CNTT TOAN CNTT

MaMH MaMH_Truoc

DKien

COSC3380 COSC3320 COSC3380 MATH2410 COSC3320 COSC3380

112 85 102

10 9 10

Mô hình dữ liệu (Data model)

„ Tập hợp các phương tiện cho phép biễu diễn dữ liệu, quan hệ dữ

liệu và các ràng buộc dữ liệu

{ Các khái niệm biểu diễn dữ liệu

{ Các phép toán xử lý dữ liệu

„ Các mức trừu tượng

{ Mô hình quan niệm (conceptual model)

„ các khái niệm độc lập với các hệ thống tin học

„ vd : ER, UML

{ Mô hình logic (logical model)

„ các khái niệm sử dụng bởi một họ các CSDL nhưng độc lập với một CSDL cụ thể

„ vd : Phân cấp, mạng, quan hệ, hướng đối tượng, XML

{ Mô hình mức thấp

„ các khái niệm được cài đặt trong một CSDL cụ thể

„ vd Oracle, Sybase

Trang 6

06/03/2008 Ôn thi tuyển sinh cao học 2008 11

Ngôn ngữ CSDL

„ Ngôn ngữ định nghĩa dữ liệu (DDL – Data Definition Language)

{ Đặc tả các khái niệm biễu diễn trong lược đồ CSDL (quan niệm / logic)

„ Ngôn ngữ lưu trữ dữ liệu

(SDL – Storage Definition Language) : Ngôn ngữ định nghĩa lược đồ trong

„ Ngôn ngữ định nghĩa khung nhìn

(VDL – View Definition Language) : Ngôn ngữ định nghĩa lược đồ ngoài

„ Ngôn ngữ thao tác dữ liệu (DML – Data Manipulation Language)

{ Đặc tả các thao tác truy xuất, vấn tin CSDL

{ Phân loại :

„ Ngôn ngữ thủ tục (Procedural)

„ Ngôn ngữ khai báo (Declarative)

„ Giới thiệu

„ Các khái niệm của mô hình quan hệ

„ Các đặc trưng của quan hệ

Trang 7

06/03/2008 Ôn thi tuyển sinh cao học 2008 13

Giới thiệu

„ Do tiến sĩ E F Codd đưa ra

{ “A Relation Model for Large Shared Data Banks”, Communications of ACM,

Các khái niệm của mô hình quan hệ

„ Quan hệ (Relation)

„ Thuộc tính (Attribute)

„ Lược đồ quan hệ(Relation Schema)

„ Bộ (Tuple)

„ Miền giá trị (Domain)

„ Các loại Khoá của quan hệ (Key)

Trang 8

06/03/2008 Ôn thi tuyển sinh cao học 2008 15

NHANVIEN

1 cột là 1 thuộc tính của nhân viên

1 dòng là 1 nhân viên

„ Phản ánh nội dung CSDL tại một thời điểm

„ Được biểu diễn bằng một bảng 2 chiều

„ Một Quan hệ được định nghĩa bởi

{ Tập hợp các dòng → Một dòng ~ Một thực thể

„ Quan hệ ~ Tập thưc thể

{ Tập hợp các cột → Một cột ~ Một thuộc tính

NHANVIEN

Trang 9

06/03/2008 Ôn thi tuyển sinh cao học 2008 17

„ Phản ánh một đặc tính của một đối tượng

„ Một thuộc tính được định nghĩa bởi

{ Tên (cột của quan hệ)

„ Biểu diễn cấu trúc bảng 2 chiều thể hiện quan hệ

„ Lược đồ quan hệ được định nghĩa bởi

{ Tên của quan hệ

{ Tên của tập thuộc tính

{ Tân từ phản ánh ngữ nghĩa của quan hệ

„ Có thể có nhiều quan hệ cùng được định nghĩa trên một lược đồ quan hệ

NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)

Là tập hợp

Trang 10

06/03/2008 Ôn thi tuyển sinh cao học 2008 19

NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)

PHONGBAN(MAPHG, TENPHG, TRPHG, NG_NHANCHUC)

DIADIEM_PHG(MAPHG, DIADIEM)

THANNHAN(MA_NVIEN, TENTN, PHAI, NGSINH, QUANHE)

DEAN(TENDA, MADA, DDIEM_DA, PHONG)

Dữ liệu cụ thể của thuộc tính

Bộ

„ Là các dòng của quan hệ (trừ dòng tiêu đề - tên của các thuộc tính)

„ Thể hiện dữ liệu cụ thể của các thuộc tính trong quan hệ

<Tung, Nguyen, 12/08/1955, 638 NVC, Q5, Nam, 40000, 5>

Trang 11

06/03/2008 Ôn thi tuyển sinh cao học 2008 21

„ Lược đồ quan hệ R(A1:D1, A2:D2, …, An:Dn)

{ A1, A2, …, Anlà các thuộc tính

{ D1, D2, …, Dnlà các miền giá trị tương ứng của A1, A2, …, An

„ Bậc của lược đồ quan hệ là số lượng thuộc tính trong lược đồ

„ NHANVIEN(MANV:integer, TENNV:string, HONV:string,

NGSINH:date, DCHI:string, PHAI:string, LUONG:integer,

PHONG:integer)

{ NHANVIEN là một lược đồ bậc 8 mô tả đối tượng nhân viên

{ MANV là một thuộc tính có miền giá trị là số nguyên

{ TENNV là một thuộc tính có miền giá trị là chuỗi ký tự

„ Quan hệ r của lược đồ quan hệ R(A1, A2, …, An)

{ Ký hiệur(R)

{ r = {t1, t2, …, tk}

„ ti = 1 bộ → ti là 1 danh sách có thứ tự của n giá trị ti=<v1, v2, …, vn>

„ Mỗi vjlà một phần tử của miền giá trị DOM(Aj) hoặc giá trị rỗng

Trang 12

06/03/2008 Ôn thi tuyển sinh cao học 2008 23

„ Miền giá trị của thuộc tính A

{ DOM(A) hay MGT(A)

„ Giá trị tại thuộc tính A của bộ thứ t

{ t.A hay t[A]

Khóa

„ Dùng để nhận biết một bộ trong quan hệ

{ Đặc trưng của lược đồ quan hệ, không phụ thuộc vào thể hiện quan hệ

„ Siêu khóa (Super Key)

{ SK ⊆ R+, SK ≠ ∅ , SK là siêu khóa khi

{ Mọi lược đồ quan hệ có tối thiểu một siêu khóa

„ Khóa chỉ định (Candidate key)

{ K ⊆ R+, K ≠ ∅

{ K là khóa chỉ định nếu thỏa đồng thời 2 điều kiện

„ K là một siêu khóa (nhỏ nhất) của R

„ Khóa chính (primary key) : khoá chỉ định được chọn để chỉ mục

∀ r, ∀ t1,t2 ∈ r, t1 t2t1[SK]t2[SK]

K’ ⊂ K , K’ ≠ K , K’ không phải là siêu khóa của R

Trang 13

06/03/2008 Ôn thi tuyển sinh cao học 2008 25

„ Các thuộc tính khoá không được nhận giá trị NULL

NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)

NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHONG)

„ Một bộ trong quan hệ R, tại thuộc tính A nếu nhận một giá trị từ một

thuộc tính B của quan hệ S, ta gọi R tham chiếu S

{ Bộ được tham chiếu phải tồn tại trước

Trang 14

06/03/2008 Ôn thi tuyển sinh cao học 2008 27

„ Xét 2 lược đồ R và S

{ FK ⊆ S+, FK ≠ ∅

{ FK là khóa ngoại (Foreign Key) của S khi

„ Các thuộc tính FK phải có cùng miền giá trị với các thuộc tính khóa chính của R

„ Giá trị tại FK của một bộ t1∈S

{ Hoặc bằng giá trị tại khóa chính của một bộ t2∈R

{ Hoặc bằng giá trị rỗng

„ A ⊆ R+, A có thể tham gia vào khóa chính, vừa tham gia vào khóa ngoại

„ FK có thể tham chiếu đến PK trên cùng 1 lược đồ quan hệ

„ Có thể có nhiều FK tham chiếu đến cùng một PK

NHANVIEN(MANV, TENNV, HONV, NGSINH, DCHI, PHAI, LUONG, PHG)

Trang 15

06/03/2008 Ôn thi tuyển sinh cao học 2008 29

Các đặc trưng của quan hệ

„ Thứ tự các bộ trong quan hệ là không quan trọng

„ Thứ tự giữa các giá trị trong một bộ là quan trọng

Bộ <Nguyen, Tung, 12/08/1955, 638 NVC Q5, Nam, 40000, 5>

Trang 16

06/03/2008 Ôn thi tuyển sinh cao học 2008 31

„ Đại số (Algebra) : hệ thống toán học bao gồm

{ Toán hạng (operand) : các biến/giá trị dùng để xây dựng một giá trị mới

{ Toán tử (operator) : các ký hiệu biểu diễn thủ tục xây dựng một giá trị mới từ các

„ Hằng số là thể hiện của quan hệ

„ Biểu thức đại số quan hệ

{ Được gọi là câu truy vấn

{ Là chuỗi các phép toán đại số quan hệ

{ Kết quả trả về là một thể hiện của quan hệ

„ Nền tảng của các ngôn ngữ truy vấn kiểu thủ tục

{ cơ sở của SQL

„ Đại số quan hệ vs Phép tính quan hệ (Relational calculus)

Trang 17

06/03/2008 Ôn thi tuyển sinh cao học 2008 33

„ Kết quả của ∪, ∩, và − là một quan hệ có cùng tên thuộc tính với

quan hệ đầu tiên (R)

Trang 18

06/03/2008 Ôn thi tuyển sinh cao học 2008 35

α

R ∪ S

α β

1 2 1

α

R ∩ S

2

Trang 19

06/03/2008 Ôn thi tuyển sinh cao học 2008 37

Trang 20

06/03/2008 Ôn thi tuyển sinh cao học 2008 39

{ Có cùng danh sách thuộc tính với R

{ Có số bộ luôn ít hơn hoặc bằng số bộ của R

„ NHANVIEN(MANV, TENNV, LUONG, PHG)

{ Cho biết các nhân viên ở phòng số 4

{ Tìm các nhân viên có lương trên 25000 ở phòng 4 hoặc các nhân viên có lương

D 7 7 3 10

α β β β

α

C 1

D 7 10

α β

σPHG=4 (NHANVIEN)

σ(LUONG>25000 ∧ PHG=4) ∨ (LUONG>30000 ∧ PHG=5) (NHANVIEN)

Trang 21

06/03/2008 Ôn thi tuyển sinh cao học 2008 41

10 20 30

C 1 1 1

„ NHANVIEN(MANV, TENNV, LUONG, PHG)

„ Cho biết tên và lương của các nhân viên

„ Mở rộng phép chiếu bằng cách cho phép sử dụng các phép toán số học

trong danh sách thuộc tính

{ Ký hiệu πF 1 , F2, …, Fn (E)

„ E là biểu thức ĐSQH

„ F 1 , F 2 , …, Fn là các biểu thức số học liên quan đến Hằng số/Thuộc tính trong E

{ Cho biết tên của các nhân viên và lương của họ sau khi tăng 10%

πTENNV,LUONG (NHANVIEN)

πTENNV, LUONG*1.1 (NHANVIEN)

Trang 22

06/03/2008 Ôn thi tuyển sinh cao học 2008 43

E + +

+ +

+ - -

-

D + +

D + +

+ +

+ - -

-Đổi tên

-B→X

Trang 23

06/03/2008 Ôn thi tuyển sinh cao học 2008 45

ρX, C, D (R) : Đổi tên thuộc tính B thành X

Đổi tên quan hệ R thành S và thuộc tính B thành X

„ C là điều kiện kiểm tra bằng trên tất cả các thuộc tính chung

„ Phép kết tự nhiên loại bỏ các thuộc tính trùng trong quan hệ kết quả

R ⋈ S

Trang 24

06/03/2008 Ôn thi tuyển sinh cao học 2008 47

D 3

E 1

S.C 3

D 1

S.C D 3

S

6

1 2

ρ(S.C,D)S

Trang 25

06/03/2008 Ôn thi tuyển sinh cao học 2008 49

C 3

D 1 2

R(XY)

Trang 26

06/03/2008 Ôn thi tuyển sinh cao học 2008 51

3 1

1 1 1

1 1

Trang 27

06/03/2008 Ôn thi tuyển sinh cao học 2008 53

2 2

SUM(B) = 10 AVG(A) = 1.5 MIN(A) = 1 MAX(B) = 4 COUNT(A) = 4

{ A1, A2, …, An là các thuộc tính tính toán trong hàm F

G1, G2, …, GnIF1(A1), F2(A2), …, Fn(An)(E)

Trang 28

06/03/2008 Ôn thi tuyển sinh cao học 2008 55

„ Ví dụ

ISUM(C)(R)SUM_C 27

2 2

C 7 7 3

SUM_C 14 3 10

„ Tính số lượng nhân viên và lương trung bình của cả công ty

ICOUNT(MANV)AVG(LUONG)(NHANVIEN)

Trang 29

06/03/2008 Ôn thi tuyển sinh cao học 2008 57

„ Tính số lượng nhân viên và lương trung bình của từng phòng ban

PHGICOUNT(MANV)AVG(LUONG)(NHANVIEN)

Trang 30

06/03/2008 Ôn thi tuyển sinh cao học 2008 59

Outer Join – Example

„ Relation loan

„ Relation borrower

customer_name loan_number

JonesSmithHayes

L-170L-230L-155

300040001700

L-170L-230L-260

branch_name

DowntownRedwoodPerryridge

Outer Join – Example

customer_name

JonesSmith

branch_name

DowntownRedwood

JonesSmith

customer_name branch_name

DowntownRedwoodPerryridge

„Left Outer Join

loan Borrower

Trang 31

06/03/2008 Ôn thi tuyển sinh cao học 2008 61

Outer Join – Example

null

customer_name

JonesSmithHayes

branch_name

DowntownRedwood

null

customer_name

JonesSmith

null

Hayes

branch_name

DowntownRedwoodPerryridge

„ Cho biết họ tên nhân viên và tên phòng ban mà họ phụ trách nếu có

{ Quan hệ: NHANVIEN, PHONGBAN

{ Thuộc tinh: TENNV, TENPH

R1 ← NHANVIEN MANV=TRPHGPHONGBAN

KQ ← πHONV,TENNV, TENPHG (R1)

Tung Nguyen Nghien cuu

Trang 32

06/03/2008 Ôn thi tuyển sinh cao học 2008 63

„ Kết hợp các phép toán đại số quan hệ

{ Lồng các biểu thức lại với nhau

Cần đặt tên cho quan hệ

„ Được sử dụng để nhận lấy kết quả trả về của một phép toán

{ Thường là kết quả trung gian trong chuỗi các phép toán

Trang 33

06/03/2008 Ôn thi tuyển sinh cao học 2008 65

Ví dụ Quản lý Ngân hàng

„ BANK (BNAME, HEADAQUATERS)

{ tên ngân hàng là xác định duy nhất

„ BRANCH (BRNUMBER, BNAME, BCITY, ASSETS)

{ mỗi thành phố chỉ có 1 chi nhánh

„ CUSTOMER (CNAME, CSTREET, CCITY)

{ tên khách hàng là duy nhất

„ ACCOUNT (ANUMBER, BRNUMBER, BALANCE)

{ sốtài khoản được phân biệt trong từng ngân hàng

„ LOAN (LNUMBER, BRNUMBER, AMOUNT)

{ số hiệu khoảnvayđược phân biệt trong từng ngân hàng

„ DEPOSITOR (CNAME, ANUMBER)

{ mỗi khách hàng có thể có nhiều tài khoản

„ BORROWER (CNAME, LNUMBER)

{ mỗi khách hàng có thể có nhiều khoảng vay

Cấu trúc CSDL : xác định khoá

„ BANK (BNAME, HEADAQUATERS)

„ BRANCH (BRNUMBER, BNAME, BCITY, ASSETS)

„ CUSTOMER (CNAME, CSTREET, CCITY)

„ ACCOUNT (ANUMBER, BRNUMBER, BALANCE)

„ LOAN (LNUMBER, BRNUMBER, AMOUNT)

„ DEPOSITOR (CNAME, ANUMBER)

„ BORROWER (CNAME, LNUMBER)

Trang 34

06/03/2008 Ôn thi tuyển sinh cao học 2008 67

Yêu cầu truy vấn

„ Q1 : Cho biết các khoảng vay lớn hơn $1200

„ Q2 : Cho biết số hiệu của các khoảng vay lớn hơn $1200

σamount> 1200(LOAN)

Lnumberamount> 1200 (LOAN))

„ Q3 : Cho biết tên tất cả các khách hàng có giao dịch với ngân hàng

Yêu cầu truy vấn

„ Q4: Cho biết tên tất cả các khách hàng có giao dịch gởi và vay tiền tại

ngân hàng

„ Q5: Cho biết tên tất cả các khách hàng có giao dịch vay tiền tại ngân

hàng chi nhánh Sàigòn

Trang 35

06/03/2008 Ôn thi tuyển sinh cao học 2008 69

Yêu cầu truy vấn

„ Q6: Cho biết tên tất cả các khách hàng có giao dịch vay tiền tại ngân

hàng chi nhánh Sàigòn nhưng không có tài khoảng ở một chi nhánh

khác của ngân hàng

Example Queries

„ Cho biết tài khoản tiền gởi lớn nhất

{ Tìm các tài khoản có tiền gởi không lớn nhất

„ Cần đổi tên quan hệ Account để có thể so sánh các tài khoản với nhau

trên quan hệ tích của chính nó

{ Dùng phép trừ để chọn các account không được trích ở bước trên

R1 ← σaccount.balance <= d.balance(ACCOUNT x ρD(ACCOUNT)))

balance(ACCOUNT) -account.balance(R1)

Ngày đăng: 01/05/2014, 09:30

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w