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

Mô hình quan hệ (Relational model) docx

32 320 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Mô hình quan hệ (Relational model)
Tác giả Đào Trung Kiên
Trường học Đại học Bách khoa Hà Nội
Chuyên ngành Hệ quản trị cơ sở dữ liệu
Thể loại Báo cáo seminar
Năm xuất bản 2011/2012
Thành phố Hà Nội
Định dạng
Số trang 32
Dung lượng 546,45 KB

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

Nội dung

Giới thiệu  Mô hình quan hệ sử dụng lý thuyết tập hợp và logic bậc nhất để biểu diễn dữ liệu  CSDL được biểu diễn bằng một tập các bảng:  Mỗi bảng là tập hợp các các bộ giá trị

Trang 1

Mô hình quan hệ (Relational model)

Trang 2

Giới thiệu

 Mô hình quan hệ sử dụng lý thuyết tập

hợp và logic bậc nhất để biểu diễn dữ

liệu

 CSDL được biểu diễn bằng một tập

các bảng:

 Mỗi bảng là tập hợp các các bộ giá trị

 Mỗi cột đều có cùng một kiểu dữ liệu

 Mỗi hàng trong bảng là bộ các giá trị có

quan hệ với nhau

 So sánh với mô hình ER:

 Mỗi bảng tương ứng với một tập thực

thể

 Mỗi cột tương ứng một thuộc tính

 Mỗi hàng trong bảng tương ứng với

một thực thể

Họ tên Tuổi Giới tính

Trang 3

Các định nghĩa

Một mô hình quan hệ là tập hợp các quan hệ (relation)

 Mỗi quan hệ gồm 2 phần:

Thể hiện (instance): là bảng các bộ giá trị (tuples)

Lược đồ (schema): chứa tên của quan hệ, cùng với tên và kiểu

từng cột của bảng

 VD: Book(id: integer, title: string, author: string, pub-year: integer)

Số dòng của bảng: lực lượng (cardinality) của quan hệ

Số cột của bảng: bậc (degree) của quan hệ

 Lực lượng: 3

Bậc: 4

id title author pub-year

Trang 4

Định nghĩa bằng toán học

 Lược đồ quan hệ R là tích Đề-các các miền giá trị của

các thuộc tính

 Đầy đủ: Book(id: int, title: string, author: string, pub-year: int)

 Ngắn gọn: Book(id, title, author, pub-year)

Book = dom(int) × dom(string) × dom(string) × dom(int)

(trong đó dom(…) ký hiệu tập giá trị của một kiểu)

 Quan hệ r trên R: ký hiệu bằng r(R) là một tập con của R

my-books = my-books(Book) ⊂ Book

 Một phần tử của r gọi là một thể hiện, một hàng, hay một

bộ giá trị

 Chú ý: người ta thường gọi tắt “quan hệ” thay cho “thể hiện của quan hệ”

Trang 5

Khoá (key)

với thực thể trong mô hình ER

Siêu khoá (superkey): tập các thuộc tính mà bộ giá trị

không lặp lại

 Nếu K là một siêu khoá thì K’ = K ∪ a cũng là một siêu khoá, với a

là một thuộc tính của quan hệ

 Khoá ứng viên (candidate key): là siêu khoá không cố

thuộc tính dư thừa (không tồn tại siêu khoá là tập con)

 Một quan hệ có thể có 0, 1 hoặc nhiều siêu khoá

Khoá chính (primary key): là một khoá ứng viên được

người thiết kế CSDL lựa chọn

Trang 6

 K2 là khoá ứng viên vì không có tập con

nào của K2 là siêu khoá

 K3 không phải khoá ứng viên vì K2 ⊂ K3 là

Trang 7

Khoá ngoài (foreign key)

r2 thì K gọi là khoá ngoài của r1 tham chiếu tới r2

của r2 có giá trị của K giống ở r1

o sv ⊂ SinhVien(id-sinh-vien, ten, nam-sinh)

diem ⊂ Diem(id-sinh-vien, mon-hoc, diem)

tới quan hệ sv

o mỗi giá trị của id-sinh-vien tồn tại trong quan hệ diem

Trang 8

Bài hát

id-bài-hát: inttên: stringid-tác-giả: intnăm-sáng-tác: intid-thể-loại: int

Thể loại

id-thể-loại: inttên: string

Ca sĩ

id-ca-sĩ: inttên: stringnăm-sinh: int

Biểu diễn

id-biểu-diễn: intid-ca-sĩ: intid-bài-hát: int

thời-gian: time

Trang 10

Thực thể yếu

Chapter(ch_num, bid, title)

Book

bid: int name: string author: string publisher: string

Chapter

ch_num: int bid: int

title: string

pub_date: date

Trang 11

aid: int name: string

pub_date: date

Trang 12

Quan hệ n-n

Class(cid, name, room, teacher)

Registration

sid: int cid: int

Trang 13

Ngôn ngữ truy vấn (query language)

Trang 14

Đại số quan hệ (Relational algebra)

Trang 15

Khái niệm

tục (procedural query language), là một tập hợp các

phép toán:

union ( hợp), set-diffrence (trừ), Cartesian-product

(tích Đề-các) và rename (đổi tên)

natural-join ( gộp), division (chia), assignment (gán)

Trang 16

Select (phép chọn) σ

phép lựa chọn những bộ giá trị trong quan hệ đó

thoả mãn một điều kiện (vị ngữ)

Trang 17

Project (phép chiếu) Π

phép chỉ giữ lại những thuộc tính mong muốn

 Ký hiệu: Π các thuộc tính giữ lại (r)

 VD:

 Π id, tên (tác-giả)

 Π sản-phẩm, tiền (hoá-đơn)

Πtitle, author(sách)

id title author pub-year

Trang 18

Union (phép hợp) ∪

 Phép union nhận đầu vào là hai quan hệ tương thích với nhau và kết quả là quan hệ bao gồm những bộ giá trị có mặt ở một trong hai quan hệ

Trang 19

Set-difference (trừ) –

 Phép set-difference nhận đầu vào là hai quan hệ tương thích với nhau, và trả về kết quả là những bộ giá trị trong quan hệ thứ nhất mà không có trong quan hệ thứ hai

Trang 20

viên.tên id chi nhánh

nhân- nhánh.tên

Để tránh trùng tên, dùng ký hiệu: tên-quan-hệ.tên-thuộc-tính

Trang 21

Biểu thức quan hệ và phép rename (đổi tên)

 Các phép toán quan hệ có thể được lồng nhau tạo thành biểu thức

 VD:

 Πtên, giá(σcalo <=100(món-ăn) ∪ σgiá < 30(đồ-uống))

 Πtác-giả.tên, bài-hát.tên(σid-tác-giả = bài-hát.id-tác-giả(σtên=“Trịnh Công Sơn”(tác-giả) × bài-hát))

 Kết quả các biểu thức quan hệ là các quan hệ không có tên, phép toán rename cho phép đặt tên cho kết quả một biểu thức

 Ký hiệu: có 2 dạng

 ρtên-quan-hệ(E) đặt tên cho quan hệ kết quả của biểu thức E

 ρtên-quan-hệ(tên các thuộc tính)(E) đặt tên cho quan hệ và các thuộc tính kết quả của biểu thức E

 VD:

Trang 22

Set-intersection (giao) ∩

 Phép set-intersection nhận đầu vào là hai quan hệ tương thích với nhau và kết quả là quan hệ bao gồm những bộ giá trị có mặt ở đồng thời trong hai quan hệ

Trang 23

Natural-join (gộp) ⋈

 Trong việc khai thác CSDL, một câu hỏi rất hay gặp như sau: “Xuất ra danh

sách các tác giả cùng với các bài hát được sáng tác”  sử dụng

Cartesian-product và select:

 σtác-giả.id-tác-giả = bài-hát.id-tác-giả(tác-giả × bài-hát)

 Phép natural-join nhận hai quan hệ và thực hiện Cartesian-product giữa

chúng, sau đó select những bộ giá trị dựa trên các thuộc tính chung và trả

Trang 24

Division (chia) ÷

 Phép division dùng để giải quyết câu hỏi dạng: “Liệt kê các khách

hàng đã đăng ký tất cả các dịch vụ của hãng”

 Đáp án cảu câu hỏi này là kết quả của phép division:

đăng-ký(id-khách, id-dịch-vụ) ÷ khách-hàng(id-khách)

 Định nghĩa: Cho các quan hệ r(R) và s(S) với S ⊆ R Kết quả của

phép division r ÷ s là một quan hệ trên R – S, trong đó một phần tử t thuộc r ÷ s khi và chỉ khi:

 t ∈ ΠR – S(r)

 Với mọi ts ∈ S, có một tr ∈ R thoả mãn: ts[S] = tr[R] và tr[R – S] = t

 Định nghĩa thông qua các phép toán cơ bản:

r ÷ s = ΠR – S(r) – ΠR – S((ΠR – S(r) × s) – ΠR – S, S(r))

Trang 25

Assignment (gán) ←

vào một biến (tương tự như trong các ngôn ngữ lập

Trang 26

Sửa đổi dữ liệu

Trang 27

Giới thiệu

Phần này giúp tìm hiểu về việc thay đổi thông tin

assignment

Trang 28

Insert (thêm)

thông qua phép hợp:

trong đó r là quan hệ được thay đổi, E là quan hệ

được thêm vào

Trang 30

Update (cập nhật)

r ← Π f1,f2, ,fn (r) trong đó fi là thuộc tính thứ i của r nếu thuộc tính đó không muốn bị thay đổi, hoặc là giá trị cần cập nhật cho thuộc tính đó

biểu thức như sau:

r ← Π f1,f2, ,fn (σ P (r)) ∪ (r − σ P (r))

Trang 31

View (tạo khung nhìn)

 Trong thực thế làm việc với CSDL, vì lý do bảo mật hoặc để thuận tiện thao tác, một phần CSDL có thể được ẩn đi với những người dùng nhất định

 Người dùng có thể không có thông tin tổng thể về sơ đồ của toàn bộ CSDL

 VD:

 một người dùng có thể chỉ biết danh sách nhân viên của công ty, mà không biết được lương của từng người Ta có thể tạo một quan hệ như sau:

view1 ← Πtên, tuổi(nhân-viên)

và chỉ để người dùng thao tác với view1

 Câu lệnh: create view v as E

trong đó v là tên view được tạo ra, và E là biểu thức quan hệ

 Phân biệt tạo view và phép gán: với phép gán, sau khi gán xong, nếu ta cập nhật các quan hệ trong biểu thức thì quan hệ được gán không thay đổi (còn với view thì có)

Trang 32

Bài tập

Dùng mô hình quan hệ để biểu diễn các CSDL sau:

1 Giáo viên, sinh viên, khoá học, môn học, lớp học

2 Công ty, nhân viên, dự án, chi nhánh

3 Thư viện, người đọc, sách

Dùng đại số quan hệ để thực hiện các yêu cầu sau:

5 Tìm các học sinh lớp C có điểm trung bình lớn hơn 5

“CSDL”

Ngày đăng: 28/06/2014, 05:20

HÌNH ẢNH LIÊN QUAN

Sơ đồ CSDL - Mô hình quan hệ (Relational model) docx
Sơ đồ CSDL (Trang 8)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w