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

Giáo trình cơ sở dữ liệu

220 3,7K 9

Đ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 220
Dung lượng 1,62 MB

Nội dung

Mô hình dữ liệu phân cấpMô hình dữ liệu phân cấp là một cây Tree trong đó mỗi nút của cây biểu diễn một thực thể, giữa nút con và nút cha được liên hệ với nhau theo một mối quan hệ xác

Trang 2

B ài 1 TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

1 Tại sao cần phải có một CSDL?

- Hệ thống các tập tin cổ điển :

• Được tổ chức riêng rẽ, phục vụ một mục đích hay một bộ

phận nào đó của doanh nghiệp.

• Nhược điểm:

- Tính phụ thuộc giữa chương trình và dữ liệu

- Lưu trữ trùng lặp dữ liệu

- Việc chia sẻ dữ liệu bị hạn chế

- Tốn thời gian xây dựng

- Chi phí cho bảo trì chương trình lớn

Trang 4

3 Cơ sở dữ liệu là gì?

ĐN: CSDL là một tập hợp các dữ liệu có

cấu trúc về một tổ chức nào đó được lưu trữ trên các thiết bị lưu trữ thông tin thứ cấp như băng từ, đĩa từ,

Mục đích: Nhằm thoả mãn nhu cầu khai

thác thông tin của một hay nhiều người sử dụng phục vụ cho nhiều mục đích khác

nhau

hệ thống File là : Các dữ liệu trong

CSDL được lưu trữ tại một vị trí Với cùng

một CSDL có thể được nhiều người sử dụng

và phục vụ cho nhiều mục đích khác nhau

Trang 5

Ưu điểm của CSDL:

Tối thiểu hoá dư thừa thông tin

Tính độc lập chương trình- ứng dụng

Nâng cao tính nhất quán dữ liệu

Nâng cao tính chia sẻ dữ liệu

Nâng cao chất lượng dữ liệu

Nâng cao khả năng truy cập và trả lại dữ liệu

Giảm chi phí bảo trì chương trình

Trang 6

 Tính bảo mật

Tính độc lập

 Tránh sự dư thừa thông tin

 Có khả năng lưu trữ, phục hồi khi gặp sự cố

 Hiệu suất sử dụng tốt, đảm bảo chế độ ưu tiên khi truy nhập dữ liệu

Tiêu chuẩn của một CSDL:

Trang 8

Mức trong( mức vật lý): Đây là mức lưu trữ dữ liệu Mục đích của mức này giải quyết vấn đề dữ liệu là gì, dữ liệu được lưu trữ như thế nào và nhằm mục đích gì

5 Các mức biểu diễn một CSDL.

Trang 9

CSDL mức khái niệm

View 1 View 2

View k

CSDL mức vật lý

…… ………….

User 1

User 2

User k

Mức ngoài Mức trung gian Mức vật lý

View ( khung nhìn) của một user là một tập hợp tất cả các dữ liệu mà user đó nhìn thấy, được phép truy cập vào

Hình biểu diễn Sự phân mức một CSDL

Trang 10

6 Tính độc lập giữa dữ liệu và chương trình

 Một CSDL là độc lập dữ liệu nếu nó có hoặc có thể có khả năng phát triển mà không ảnh hưởng tới các hệ ứng dụng

 Tính độc lập dữ liệu là " tính bất biến của các hệ ứng dụng đối với các thay đổi trong cấu trúc lưu trữ và chiến lược truy nhập"

 Có hai mức độc lập dữ liệu:

Trang 11

Độc lập dữ liệu mức vật lý : Có thể tổ chức lại CSDL vật lý (như thay đổi các tổ chức, cấu trúc dữ liệu) để làm thay đổi

hiệu quả tính toán của các chương trình ứng dụng nhưng không đòi hỏi phải viết lại chương trình ứng dụng

Độc lập dữ liệu mức logic: Có thể

thay đổi lược đồ khái niệm như thêm,

xoá , bớt thông tin của các thực thể

đang tồn tại trong CSDL nhưng không

làm ảnh hưởng tới các lược đồ con, do đó không cần phải viết lại các chương trình ứng dụng

Trang 12

II Hệ quản trị CSDL

1 Khái niệm

- Là một phần mềm điều khiển mọi truy

nhập đối với CSDL Nó giúp người sử dụng

có thể dùng được hệ thống mà không cần quan tâm tới thuật toán chi tiết hoặc biểu diễn dữ liệu trong máy

- Mỗi hệ QT CSDL được cài đặt dựa trên

mô hình dữ liệu cụ thể và hỗ trợ tối đa cho người dùng thực hiện các thao tác trên đó

- VD : FOXPRO, ACCESS, ORACLE, v.v

Trang 13

2.Tính năng của hệ QTCSDL:

 Tạo cấu trúc lưu trữ dữ liệu trên

máy Cho phép đưa dữ liệu vào máy tính theo cấu trúc đã tạo ra.

 Cho phép khai thác CSDL đã lưu trữ

 Tạo cơ chế đảm bảo an toàn, bí mật cho dữ liệu trong quá trình thao tác

Trang 14

-

3 Các thành phần trong hệ QT CSDL:

Ngôn ngữ giao tiếp với người sử dụng: Gồm

:ngôn ngữ mô tả , thao tác , truy vấn và quản lý dữ liệu

- Từ điển dữ liệu : là một CSDL của hệ QT CSDL

sử dụng để lưu trữ cấu trúc CSDL, các thông tin bảo mật, bảo đảm an toàn dữ liệu và các cấu trúc ngoài

Trang 15

- Cơ chế phục hồi, sao lưu dữ liệu khi

Trang 16

Bài 2 NHỮNG CÁCH TIẾP CẬN MỘT CSDL

Mô hình dữ liệu là sự trừu tượng hoá

môi trường thực, nó là biểu diễn dữ liệu ở mức quan niệm

Mỗi loại mô hình dữ liệu đặc trưng cho một cách tiếp cận dữ liệu khác nhau của

những nhà phân tích thiết kế CSDL

Một số loại mô hình dữ liệu phổ biến :

Trang 17

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

Mô hình dữ liệu quan hệ do E.F

Codd đề xuất.

Nền tảng cơ bản của nó là khái

niệm lý thuyết tập hợp trên các quan

hệ, tức là tập các bộ giá trị

Trang 18

2 Cách tiếp cận theo mô hình dữ liệu

mạng

Mô hình dữ liệu mạng (lưới) là mô hình được biểu diễn bởi một đồ thị có hướng

trưng cho từng loại đối tượng riêng biệt, được biểu diễn bởi một hình chữ nhật

 Loại liên hệ ( Set Type): là sự liên kết

giữa một loại mẫu tin chủ với một loại mẫu tin thành viên, được biểu diễn bởi một hình bầu dục

 Sự liên kết giữa 2 loại mẫu tin được thể hiện bởi các cung có hướng đi từ loại mẫu tin chủ tới loại liên hệ và từ loại liên hệ tới loại

mẫu tin thành viên

Trang 19

 Trong loại liên kết, cần chỉ ra số lượng các mẫu tin tham gia trong mỗi kết hợp Các loại liên hệ:

 1-1

 1-n

 n-1

 Đệ quy

Trang 20

1-1

Hình 3 Mô hình dữ liệu mạng ( Network

Model)

Trang 21

3 Mô hình dữ liệu phân cấp

Mô hình dữ liệu phân cấp là một cây ( Tree) trong đó mỗi nút của cây biểu diễn một thực thể, giữa nút con và nút cha được liên hệ với nhau theo một mối quan hệ xác định

Loại mẫu tin : Giống trong mô hình mạng

Loại liên hệ : Kiểu liên hệ là phân cấp, theo cách:

- Mẫu tin thành viên chỉ đóng vai trò thành

viên của một mối liên hệ duy nhất, tức là

thuộc một chủ duy nhất

- Như vậy, mối liên hệ từ mẫu tin chủ tới các

mẫu tin thành viên là 1-n, và từ mẫu tin

thành viên tới mẫu tin chủ là 1-1

- Giữa hai loại mẫu tin chỉ tồn tại một mối liên

hệ duy nhất

Trang 22

NK 1

HỘ 1

Trang 23

4 Mô hình dữ liệu hướng đối tượng

- Cho phép biểu diễn các đối tượng

khá tự nhiên và sát với thực tế.

- Hỗ trợ các ngôn ngữ thao tác hướng đối tượng mạnh, cho phép người sử dụng dễ dàng biểu diễn cả các truy vấn phức tạp

Trang 24

Bài 3 Mô hình quan hệ của E.F

• Mỗi dòng trong bảng là một tập các giá trị có liên quan đến nhau, biểu thị một sự kiện tương ứng với một thực thể hay một mối quan hệ tương ứng với thế giới thực

Trang 26

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

1 Thuộc tính :

• Mỗi đối tượng quản lý đều có các đặc tính riêng biệt, gọi là các thuộc tính Kí hiệu các thuộc tính là A, B, C, A1, A2,

• VD: Mã sinh viên, họ tên, quê quán, ngày sinh,

• Các thuộc tính được đặc trưng bởi một tên gọi, kiểu giá trị, miền giá trị của chúng

2 Lược đồ quan hệ :

Một lược đồ quan hệ được đặc trưng bởi tên lược đồ

và một tập hữu hạn các thuộc tính U={A1, A2, , An}

Lược đồ R với tập thuộc tính là U= { A1, A2, An} được

kí hiệu là R(U) hay R ( A1, A2, An)

Trang 27

VD: Miền Mã SV là tập hợp các dãy kí tự có độ dài từ 5 ki

tự Miền Điểm là tập các giá trị số thuộc [0 10]

Trang 28

4 Quan hệ :

 Một quan hệ trên một tập thuộc tính là một tập con

của tích Desscartes cuả một hay nhiều miền

Cho một quan hệ r xác định trên tập thuộc tính

Ω={ A1, A2, ,An}

Khi đó r ⊆ Dom(A1) x Dom(A2) x x Dom(An), trong đó Dom(Ai ) là miền của thuộc tính Ai

Như vậy, quan hệ r là một tập hợp các n_ bộ có dạng :

r = {( a1, a2, , an) | ai ∈ Dom(Ai), i= 1,

2, ,n }

Trang 29

Có thể quan niệm quan hệ là một bảng hai

chiều, mỗi cột là một thuộc tính thường gọi là

dm1 dm2 dmn

Trang 30

 Một số chú ý :

- Các tập D1= Dom ( A1), , Dn=Dom ( An)

là tập các miền trị của R

- n được gọi là bậc của quan hệ r

- M được gọi là lực lượng của r

- Quan hệ bậc 1 là quan hệ nhất nguyên, quan hệ bậc hai là quan hệ nhị nguyên, quan hệ bậc n là qua hệ n nguyên

Trang 31

 Các tính chất dặc trưng của một quan hệ.

• Một quan hệ có một tên phân biệt với các quan hệ

• Các giá trị của một thuộc tính thuộc cùng một miền

• Thứ tự của các thuộc tính, các bộ là không quan

trọng

• Các bộ trong quan hệ là phân biệt

Trang 32

VD: Quan hệ TKB( Ngày, tiết thứ, môn, phòng, GV}

Trang 33

4 Khoá và siêu khoá

a Siêu khoá

• Siêu khoá của một quan hệ R là một tập hợp gồm một

hay nhiều thuộc tính của lược đồ R có tính chất xác định

duy nhất một bộ trong mỗi thể hiện của R

• Nếu SK là siêu khoá của R=<Ω ,F> thì SK ⊆ Ω và trong một quan hệ bất kỳ của lược đồ R không thể có hai bộ khác nhau nhưng có cùng một giá trị trên SK

• Mỗi quan hệ có ít nhất một siêu khoá, đó là Ω- tập tất

cả các thuộc tính của quan hệ

• Mọi tập con của Ω chứa một siêu khoá cũng là siêu

khoá

Trang 34

b.Khoá

Khoá của một lược đồ quan hệ R là một siêu khoá

của lược đồ này sao cho mọi tập con thực sự của nó không

là siêu khoá

Như vậy, một khoá là một siêu khoá tối thiểu hiểu theo nghĩa, đó là một siêu khoá mà chúng ta không thể bỏ bớt thuộc tính nào ra khỏi nó mà vẫn giữ được tính chất xác định duy nhất cho mỗi bộ

VD: Xét quan hệ SINH_VIEN

- Các siêu khoá : {Mã SV, Họ tên} hay {Mã SV, ngày

sinh, điểm,},

- Khoá : {Mã SV}

Trang 35

•- Một lược đồ quan hệ có nhiều hơn một khoá, khi đó mỗi khoá được gọi là một khoá dự tuyển.

Thông thường có một khoá dự tuyển được chọn làm

khoá chính Ta nên chọn khoá dự tuyển có một thuộc tính hoặc có ít thuộc tính nhất làm khoá chính

Khoá chính là khóa được dùng để nhận diện một bộ

trong quan hệ do đó các giá trị của các bộ ở các thuộc tính trong khoá chính không được null

• Thuộc tính khoá : là các thuộc tính có tham gia vào một khoá ( khoá dự tuyển hay khoá chính)

• Ngược lại, thuộc tính không tham gia vào một khoá

nào gọi là thuộc tính không khoá.

Trang 36

VD: Quan hệ KHOA

- Quan hệ trên có 3 khoá dự tuyển là { Mã khoa},

{ Tên khoa}, {Điện thoại } Người ta thường chọn Mã khoa làm khoá chính Như vậy, thuộc tính không khoá chỉ còn là : Địa chỉ và Chủ nhiệm khoa

Trang 37

c Khoá ngoài :

Một tập thuộc tính K là khoá ngoài của một quan hệ r nếu K không là khoá chính của quan hệ r nhưng lại là khoá chính của một quan hệ khác

Trang 38

Bài 4 Đại số quan hệ

I Đại số quan hệ

Đại số quan hệ là cơ sở của một ngôn ngữ bậc cao

để thao tác trên các quan hệ Đại số quan hệ gồm 8 phép toán cơ bản Bằng các phép toán này, ta có thể trích dữ liệu từ một hay nhiều quan hệ để tạo ra các quan hệ mới

Trang 39

II Các phép toán lý thuyết tập hợp

-Gọi r là quan hệ trên tập thuộc tính R={A1, ,An}.

Giả thiết rằng r là tập hữu hạn các bộ

- Khái niệm khả hợp : Hai lược đồ quan hệ R1R2

được goị là khả hợp nếu có cùng bậc nDOM(Ai) = DOM(Bi) (1in)

- Cho hai quan hệ R1=(A1,A2, An)

R2=(B1,B2, ,Bn) là hai quan hệ khả hợp, ta có định

nghĩa:

Trang 40

1.Phép hợp

Hợp của hai quan hệ r và s khả hợp, kí hiệu là r s là tập

các bộ thuộc r hoặc s hoặc thuộc cả hai quan hệ.

Biểu diễn hình thức:

r s = { t/ t r hoặc t s hoặc t r và s }

Ví dụ :

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 c2 a2 b2 c1

Trang 42

a2 b2 c1

Chú ý : phép giao của hai quan hệ có thể biểu diễn qua phép trừ:

r s = r- ( r - s )

Trang 43

4 Tích Đề -Các

- Gọi r là quan hệ xác định trên tập thuộc tính { A1, A2, ,An} và s

là quan hệ xác định trên tập thuộc tính { B1, B2, ,Bm} Tích Đề - Các r x s của r và s là tập ( n + m ) - bộ với n thành phần đầu có

dạng một bộ thuộc r và m thành phần sau có dạng của một bộ thuộc s.

Trang 44

5 Phép chiếu

Phép chiếu trên một quan hệ thực chất là loại bỏ

đi một số thuộc tính và giữ lại những thuộc tính còn lại của quan hệ đó Dạng tổng quát : π < ds_thuộc

tính> (< tên quan hệ >)

 π là kí hiệu phép chiếu

< ds_thuộc tính> : danh sách các thuộc tính được lấy ra

 Nếu < ds_thuộc tính > chỉ có những thuộc tính

không khoá thì phép chiếu sẽ tự bỏ đi những bộ lặp

Phép chiếu không có tính giao hoán

Nếu <ds1 > < ds2> thì

π<ds1>( π<ds2>(R)) = π<ds1>(R)

Trang 45

Ví dụ :

Cho quan hệ SV ( Mã SV, Họ tên, Ngày sinh, điểm) như sau :

Mã SV

Trang 46

6 Phép chọn

Phép chọn dùng để trích chọn một tập con trong một quan hệ, các bộ được trích chọn phải thoả mãn

điều kiện chọn ( Phép chọn trích ra các hàng trong

quan hệ)

Dạng tổng quát : σ < điều kiện > (< Tên quan hệ >)

 σ là kí hiệu phép chọn

Kết quả thu được từ phép chọn là một quan hệ có

danh sách thuộc tính được chỉ ra trong Tên quan hệ

Điều kiện : là các biểu thức điều kiện cần thoả mãn Các biểu thức này được nối với nhau bằng các phép: ¬( phủ định ), ∧ (giao), ∨ (hợp)

Phépchọn có tính giao hoán.

Trang 47

7 Phép kết nối

Phép kết nối : Dùng để kết hợp hai bộ có liên quan từ hai quan hệ thành một bộ.

Trước hết ta làm quen với khái niệm xếp cạnh nhau:

Cho bộ d =( d1, d2, ,dm)bộ e= (e1, e2, ,

em) Phép xếp cạnh nhau được định nghĩa qua :

d e = ( d1, d2, , dm,e1, e2, ,em).

Trang 48

Gọi θ là một trong các phép so sánh Phép kết nội được định nghĩa:

Phép kết nối của quan hệ r đối với thuộc tính

A với quan hệ s đối với thuộc tính B được định

nghĩa qua.

r  s = { (t u ) | t r và u s và t[A] θ

u[B] }

A θ B

Trang 49

 Kết quả của phép kết nối là một quan hệ Q

( n+m) thuộc tính, mỗi bộ trong Q thoả mãn điều kiện kết nối.

 Các bộ có giá trị rỗng tại thuộc tính kết nối thì

không xuất hiện trong kết quả của phép kết.

 Bản chất của phép kết nối là phép lấy tích Đề

- Các của hai quan hệ và chọn ra các bộ thoả mãn điều kiện kết.

Trang 50

Ví dụ :

r ( A B C ) s( C D E ) r  s = ( A B C C D E)

a1 1 1 1 d1 e1 a1 1 1 1 d1 e1 a2 2 1 2 d2 e2 a2 2 1 1 d1 e1 a1 2 2 3 d3 e3 a2 2 1 2 d2 e2

a1 2 2 1 d1 e1 a1 2 2 2 d2 e2

B≥ C

Trang 51

 Nếu điều kiện kết nối chứa phép so sánh (=) bằng thì

phép kết nối được 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ệ và một trong hai thuộc tính đó bị loại bỏ, thì phép kết nối được gọi là kết nối tự nhiên Kí hiệu là " * ".

 Biểu diễn của phép kết nối tự nhiên :

r(ABC) * s(CDE) = { t[ABCDE]/ t[ABC] r và t[CDE ] s}

VD : với hai quan hệ r và s nêu trên thì :

r(ABC) * s(CDE) = ( A B C D E)

a1 1 1 d1 e1 a2 2 1 d1 e1 a1 2 2 d2 e2

Trang 53

Cơ sở dữ liệu minh hoạ

Cho một cơ sở dữ liệu Thực tập gồm 3 quan hệ sau đây:

SV( SV#, HT, NS, QUE, HL) DT(DT#, TDT, CN, KP)

SD(SV#, DT#, NTT, KM, KQ)

-Quan hệ SV chứa thông tin về các sinh viên trong một lớp của một trường đại học Trong đó:

SV# : mã số sinh viên

HT : Họ và tên sinh viên

NS : Năm sinh của sinh viên QUE: quê quán

HL : Học lực thể hiện qua điểm trung bình

Trang 54

- Quan hệ DT chứa thông tin về đề tài nhà trường quản lý Trong đó :

DT# : mã số đề tài TDT : tên đề tài

CN : họ và tên chủ nhiệm đề tài

KP : Kinh phí cấp cho đề tài ( triệu đồng)

- Quan hệ SD chứa thông tin về tình hình thực tập của các

sinh viên theo các đề tài Trong đó :

NTT : nơi thực tập

KM : khoảng cách từ nơi thực tập đến trường

KQ : kết quả thực tập theo đề tài đã chọn

* Giả thiết là mỗi sinh viên có thể tham gia nhiều đề tài, mỗi đề tài sinh viên đó thực tập tại một địa điểm.

Trang 57

Yêu cầu :

- Hãy viết các biểu thức đại số quan hệ biểu diễn các yêu cầu sau :

1 Cho thông tin về những sinh viên sinh trước năm 1985 có quê

ở Hà Nội.

2 Cho biết các địa điểm thực tập xa trường (KM >100) của đề

tài số 5.

3 Cho thông tin về các đề tài có sinh viên thực tập.

4 Cho biết mã của các đề tài không có sinh viên nào tham gia.

5 Cho danh sách các tỉnh có sinh viên đến thực tập.

6 Cho thông tin về việc thực tập tại Hải Phòng của sinh viên.

7 Cho biết mã của những đề tài có kinh phí lớn hơn 1 triệu và

nhỏ hơn 2 triệu

8 Cho biết mã của sinh viên dưới 20 tuổi, thực tập khá ( có điểm

kết quả thực tập >=6.5)

Ngày đăng: 14/11/2016, 15:16

TỪ KHÓA LIÊN QUAN

w