Chương 5
Mô hình dữ liệu quan hệ
Phần 1
Nội dung chính
ệ ề
Gi ớ T ng quan v Mô hình d li u quan h ổ i thi u v Mô hình d li u ữ ệ ữ ệ ề ệ
2
2/19
Tổng quan về Mô hình dữ liệu
3/19
Mô hình dữ liệu là gì?
ữ ệ
Mô hình d li u (Data Model) là cách ký d li u hay thông tin. Nói ệ
ầ
ữ ệ
ấ
hi u đ mô t ả ữ ệ ể chung, nó g m có ba ph n: ồ C u trúc c a d li u (Structure of the data) ủ Các thao tác trên d li u (Operations on
ữ ệ
data)
Các ràng bu c (Constraints) ộ
4/19
Tóm tắt lịch sử của các Mô hình dữ liệu
5/19
Tóm tắt lịch sử của các Mô hình dữ liệu
6/19
Tổng quan về Mô hình dữ liệu quan hệ
7/19
Quan hệ là gì?
Quan h (relation) là m t b ng hai chi u: ộ ả ề
ệ ộ ọ
Các c t g i là các thu c tính (attribute) ộ Các hàng g i là các b n ghi (record) hay b ộ ả
ọ
(tuple)
8/19
Quan hệ là gì?
Ví d : b ng Customers:
ể
ễ
ộ
ụ ả ỗ ỗ ộ
ể
ễ
ủ ộ thu c tính
CUSTOMER và đ
M i hàng bi u di n cho m t CUSTOMER M i c t bi u di n cho m t thu c tính c a ” ượ
ộ c g i là “ ọ
ộ
9/19
Lược đồ (Schema)
ộ ệ c đ c a m t quan h là thông tin v ề
L ượ c u trúc c a quan h đó ấ
ồ ủ ủ ồ ộ
ệ Nó bao g m tên và t p các thu c tính c a ủ ậ quan h đó, cùng m t s thông tin ràng ộ ố bu c c a các thu c tính.
c đ c a quan h ệ Customers ộ ồ ủ
ệ ủ ộ Ví d : L ụ ượ trên: ở Customers(Customers ID, tax ID, name,
address)
10/19
Bộ và thành phần
ộ ủ ộ ệ ượ
c g i là ọ (record) M t hàng c a m t quan h đ m t ộ bộ (tuple) hay b n ghi ả
M t giá tr c a m t thu c tính trong m t ộ ộ
ộ ộ thành ph n ầ c g i là m t
11/19
ị ủ ộ b đ ọ ộ ượ (component)
Miền giá trị (Domains)
t c các
ộ
ề
ậ ấ ả
ị
ể ị ươ
Mi n giá tr c a m t thu c tính là t p t ộ giá tr mà thu c tính đó có th nh n ậ ng đ ề
ng v i khái ớ
ươ
ể
ị
ả ủ
ộ
ể
ả
ố
ị ủ ộ Nên khái ni m mi n giá tr t ệ ni m ki u d li u (data type) ữ ệ ệ m c cài đ t trong m t h qu n tr CSDL, thì ộ ệ ặ Ở ứ mi n giá tr c a các thu c tính c a m t quan h ệ ộ ị ủ ề c n ph i ch n sao cho n m trong s các ki u d ữ ằ ọ ầ li u mà h QT CSDL đó h tr ệ
ỗ ợ
ệ
12/19
Biểu diễn tương đương của quan hệ
ậ ệ ợ ộ
ủ
Quan h là t p h p c a các b (sets of ủ tuples), ch không ph i danh sách c a ả ứ các b (lists of tuples).
ộ Do v y, th t ậ ộ
ọ
ứ ự ủ ọ ộ ủ
ờ ế ọ ộ
13/19
c a các b trong quan h ệ KHÔNG quan tr ng, mà quan tr ng là n i ộ dung c a các b . Đ ng th i n u có 2 b ộ ồ có giá tr b ng nhau trên m i thu c tính thì ị ằ coi nh 1 b b th a. ộ ị ừ ư
Thể hiện của quan hệ
Th hi n c a quan h (instance of a relation) ệ
ủ ộ ủ
ệ
ạ
i m t th i ờ
ộ
ể ệ là t p các b c a quan h đó t ậ đi mể
ộ
ể ệ
ệ
ộ
ủ ệ
ả ổ
ậ ộ
ư
ệ
ậ
Th hi n c a m t quan h ph n ánh n i dung c a quan h đó, và nó thay đ i khi có các ủ thao tác c p nh t n i dung quan h nh thêm, s a hay xóa b . ử
ộ
14/19
Khóa của quan hệ
ệ ủ
ợ ặ Khóa (key) c a m t quan h r là m t ộ ộ ủ
ộ
ộ ậ ớ ộ ộ ủ ị ủ
ằ
ho c m t t p h p các thu c tính c a r, sao cho v i m t th hi n c a r, thì không ể ệ t n t i 2 b nào mà giá tr c a các thành ồ ạ ph n b ng nhau trên khóa. ầ ị ủ ỗ ộ ộ
15/19
Hay nói cách khác, giá tr c a các thành ph n trên Khóa c a m i b trong m t th ể hi n c a quan h r là duy nh t. ủ ệ ầ ệ ủ ấ
Khóa của quan hệ
ệ
ủ
ệ
c đ c a quan h : là khóa c a m i th hi n c a
Có hai lo i Khóa c a quan h ạ ủ ộ ủ ượ
ủ ể ệ ồ ủ
ệ
ể ệ
ủ
ủ
ọ
Khóa c a m t th hi n c a quan h Khóa c a l QH đó VD: v i th hi n ớ
ể ệ s1 c a quan h ủ
ệ Student sau:
ID_SV
Name
Address
Class
Nguy n Văn A
ĐT1
ễ
Hà n iộ
2009111 1
Nguy n H ng B
Qu ng ninh
ĐT2
ễ
ồ
ả
2009111 2
Có các Khóa là: K1 = ID_SV K2 = Name K3 = Address
Tr n Lê C
Hà tây
ĐT1
ầ
2009111 3
B c giang
ĐT2
Võ Th Dị
ắ
2009111 4
16/19
Khóa của quan hệ
VD: nh ng v i th hi n
ể ệ s2 c a quan h ủ
ư
ớ
ệ Student sau:
ID_SV
Name
Address
Class
20091111 Nguy n Văn A
ĐT1
ễ
Hà n iộ
20091112 Nguy n H ng B
Qu ng ninh
ĐT2
ễ
ồ
ả
20091113 Nguy n Văn A
Hà tây
ĐT1
ễ
ĐT2
20091114 Võ Th Dị
Hà n iộ
ỉ
thì ch còn m t Khóa là: ộ K1 = ID_SV
K1 = ID_SV là Khóa c a l
ồ
Còn K2 và K3 ch là Khóa c a th hi n s1
ỉ
c đ Sinh viên, ủ ượ ể ệ ủ
17/19
Khóa của quan hệ
Khóa c a th hi n thì ch a ch c đã là Khóa c a l
c
Tính ch t:ấ ủ
ể ệ
ủ ượ
ư
ắ
đồ
c đ thì cũng là Khóa c a m i th ể
ủ
ồ
ọ
ệ
Khóa c a l
ủ ượ ệ ồ
c đ không ph thu c vào n i dung c a ộ
ủ
ộ
Còn Khóa c a l hi n c a quan h ủ ủ ượ ệ
quan h , còn khóa c a th hi n thì ph thu c ộ
ủ
ụ
ụ ể ệ
18/19
Cơ sở dữ liệu quan hệ
ệ
ợ
ế
19/19
CSDL quan h (Relational Database): Là t p h p các quan h và các ràng bu c ệ ậ ộ gi a chúng, mà có liên quan đ n m t h ộ ệ th ng thông tin (ph n m m) nào đó ầ ữ ố ề
Tóm tắt
thu c tính c a quan h
ả
ủ
ệ.
ộ ủ
ượ
ộ
ủ
ạ
ộ
ể
ủ ộ
i m t th i đi m ờ ủ
C s d li u quan h = t p các quan h
Quan h = ệ b ngả . C t c a b ng = ộ B = ộ hàng = b n ghi ả L c đ QH = tên + t p các thu c tính ậ ồ Th hi n c a QH = n i dung c a QH t ể ệ ộ Khóa c a QH = t p con các thu c tính c a QH ậ ủ Khóa c a th hi n ể ệ ủ Khóa c a l c đ ồ ủ ượ ơ ở ữ ệ
ệ
ệ
ậ
20/19