Tải bản đầy đủ (.pdf) (30 trang)

CHƯƠNG 2 NHỮNG CÁCH TIẾP cận một CSDL

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.62 MB, 30 trang )

2/13/2012

TRƯỜNG CĐKTKT PHÚ LÂM – KHOA CNTT

CHƯƠNG 2

NHỮNG CÁCH TIẾP CẬN MỘT CSDL

GV. Lê Thị Thu Thảo
1

NỘI DUNG
Bài 1: Giới thiệu
Bài 2: Mô hình dữ liệu thực thể kết hợp
Bài 3: Mô hình dữ liệu quan hệ của E.F.CODD
Bài 4: Các bước chuyển từ mô hình thực thể kết
hợp sang mô hình quan hệ

2

1


2/13/2012

BÀI 1

GiỚI THIỆU

3


KHÁI NIỆM MÔ HÌNH DỮ LIỆU
• Mô hình dữ liệu là sự trừu tượng hoá môi
trường thực.
• Mô hình dữ liệu (Data Model) bao gồm:
- Các khái niệm biểu diễn dữ liệu
- Các phép toán xử lý dữ liệu

4

2


2/13/2012

KHÁI NIỆM MÔ HÌNH DỮ LIỆU
Mô hình mức cao
• Cung cấp các khái niệm gần gũi với người dùng
• Mô hình phải tự nhiên và giàu ngữ nghĩa
• VD: mô hình thực thể kết hợp (ER)

Mô hình cài đặt
• Đưa ra các khái niệm người dùng có thể hiểu được
nhưng không quá xa với cách dữ liệu được tổ chức thật
sự trên máy tính
• VD: mô hình quan hệ

Mô hình mức thấp (mô hình vật lý)
• Đưa ra các khái niệm mô tả chi tiết về cách thức dữ liệu
được lưu trữ trong máy tính
5


KHÁI NIỆM MÔ HÌNH DỮ LIỆU
• Ví dụ mô hình dữ liệu thực thể kết hợp

6

3


2/13/2012

KHÁI NIỆM MÔ HÌNH DỮ LIỆU
• Ví dụ mô hình dữ liệu quan hệ

7

BÀI 2

MÔ HÌNH DỮ LIỆU THỰC THỂ KẾT HỢP

8

4


2/13/2012

GIỚI THIỆU
Quy trình thiết kế một CSDL:


9

GIỚI THIỆU
• Mô hình dữ liệu quan hệ được dùng trong các
hệ quản trị CSDL, đây là mô hình dữ liệu ở
mức vật lý.
• Để thành lập được mô hình dữ liệu quan hệ,
trước hết ta dùng mô hình thực thể kết hợp để
để đặc tả. Đây là mô hình dữ liệu ở mức quan
niệm. Sau đó mới chuyển hệ thống từ mô hình
thực thể kết hợp sang mô hình dữ liệu quan hệ

10

5


2/13/2012

KHÁI NIỆM MÔ HÌNH THỰC THỂ KẾT HỢP
Mô hình thực thể kết hợp (Entity-Relationship model)
• Được xây dựng dựa trên nhận thức rằng thế
giới thực muốn phản ánh là một tập hợp các
đối tượng cơ sở và các mối quan hệ (còn gọi
là liên kết) giữa chúng. Mô hình này dùng các
khái niệm “thực thể” (entity-E) và “mối quan
hệ” (Relationship-R) do đó còn được gọi là mô
hình E-R;

11


KHÁI NIỆM MÔ HÌNH THỰC THỂ KẾT HỢP
• Ví dụ:

12

6


2/13/2012

CÁC KHÁI NIỆM CỦA MÔ HÌNH THỰC THỂ KẾT HỢP
• Thực thể
• Loại thực thể
• Thuộc tính
• Khóa
• Mối kết hợp
• Bản số

13

Thực Thể (Entity)
• Là một sự vật tồn tại và phân biệt được
• Ví dụ:
• Sinh viên Nguyễn Văn Thành
• lớp 11CDTH01
• Môn học Cơ Sở Dữ Liệu
• Xe máy có biển số đăng ký 52-0549

14


7


2/13/2012

Thuộc tính (attribute)
• Các đặc điểm riêng của thực thể gọi là các
thuộc tính.
• Ký hiệu:
Thuộc tính
• Ví dụ: Thực thể sinh viên Nguyễn Văn Thành có
các thuộc tính là: mã số sinh viên, giới tính,
ngày sinh, hộ khẩu thường trú, lớp đang theo
học, …

15

Thuộc tính (attribute)
• Loại thuộc tính
- Thuộc tính đơn: không thể tách nhỏ ra được
- Thuộc tính phức hợp: có thể tách ra thành các
thành phần nhỏ hơn
• Loại giá trị của thuộc tính
- Đơn trị: các thuộc tính có giá trị duy nhất cho
một thực thể (VD: số CMND, …)
- Đa trị: các thuộc tính có một tập giá trị cho
cùng một thực thể (VD: bằng cấp, …)
- Suy diễn được (năm sinh <-> tuổi)


16

8


2/13/2012

Loại thực thể (entity type)
• Là tập hợp các thực thể có cùng thuộc tính.
Mỗi loại thực thể được đặt tên riêng
• Ký hiệu:
E
• Một tập hợp các thực thể của một loại thực thể
cụ thể trong cơ sở dữ liệu tại một thời điểm
được gọi là một tập thực thể

17

Loại thực thể (entity type)
• Ví dụ:
• Các sinh viên có mã sinh viên:“02CĐTH019”,
“02CĐTH519”,… nhóm lại thành một loại thực thể,
được đặt tên là Sinhvien
• Các môn học có mã môn học:“CSDL”, “NMTH”,…
nhóm lại thành một loại thực thể, được đặt tên là
Monhoc

18

9



2/13/2012

Loại thực thể (entity type)
• Ví dụ:
• Các sinh viên có mã sinh viên:“02CĐTH019”,
“02CĐTH519”,… nhóm lại thành một loại thực thể,
được đặt tên là Sinhvien
• Các môn học có mã môn học:“CSDL”, “NMTH”,…
nhóm lại thành một loại thực thể, được đặt tên là
Monhoc

19

Khoá (key)
• Khoá của loại thực thể E là một hay một tập
các thuộc tính của E có thể dùng để phân biệt
hai thực thể bất kỳ của E.
• Ký hiệu: Thuộc tính khoá được gạch dưới
bằng nét liền
Thuộc tính

• Ví dụ khoá của loại thực thể Sinhvien là MASV,
của Lớp là MALOP, của Khoa là MAKHOA, của
Monhoc là MAMH,…
20

10



2/13/2012

Ví dụ
Bài toán quản lý điểm của sinh viên được phát
biểu như sau:
•Mỗi sinh viên cần quản lý các thông tin như: họ và
tên (HOTENSV),ngày tháng năm sinh(NGAYSINH),
giới tính (NU), nơi sinh(NOISINH), hộ khẩu thường
trú (TINH). Mỗi sinh viên được cấp một mã số sinh
viên duy nhất (MASV) để phân biệt với mọi sinh viên
khác của trường, mỗi sinh viên chỉ thuộc về một lớp
nào đó.

21

Ví dụ (tt)
• Mỗi lớp học có một mã số lớp (MALOP) duy nhất
để phân biệt với tất cả các lớp học khác trong
trường: có một tên gọi (TENLOP) của lớp, mỗi lớp
chỉ thuộc về một khoa.
• Mỗi khoa có một tên gọi (TENKHOA) và một mã số
duy nhất (MAKHOA) để phân biệt với các khoa
khác.
• Mỗi môn học có một tên gọi (TENMH) cụ thể,
được học trong một số đơn vị học trình (DONVIHT)
và ứng với môn học là một mã số duy nhất
(MAMH) để phân biệt với các môn học khác.
22


11


2/13/2012

Ví dụ (tt)
• Mỗi giảng viên cần quản lý các thông tin: họ và
tên(HOTENGV), cấp học vị (HOCVI), thuộc một
chuyên ngành (CHUYENNGANH) và được gán cho
một mã số duy nhất gọi là mã giảng viên(MAGV) để
phân biệt với các giảng viên khác. Mỗi giảng viên có
thể dạy nhiều môn ở nhiều khoa, nhưng chỉ thuộc
về sự quản lý hành chính của một khoa.
• Mỗi sinh viên với một môn học được phép thi tối đa
3 lần, mỗi lần thi (LANTHI), điểm thi (DIEMTHI).
• Mỗi môn học ở mỗi lớp học chỉ phân công cho một
giảng viên dạy (tất nhiên là một giảng viên thì có thể
dạy nhiều môn ở một lớp).
23

Ví dụ (tt)
• Các loại thực thể cần quản lý như: Sinhvien,
Monhọc, Khoa, Lop, Giangvien.
• Loại thực thể Sinhviên quản lý các thuộc tính:
MASV,HOTENSV, NU, NGAYSINH, NOISINH,
TINH
HOTENSV

NU


NGAYSINH
NOISINH

MASV

SINHVIEN

TINH

24

12


2/13/2012

Mối Kết Hợp (relationship)
• Mối kết hợp diễn tả sự liên hệ giữa các loại thực
thể trong một ứng dụng tin học.
• Ví dụ mối kết hợp giữa hai loại thực thể Sinhviên
và Lop, mối kết hợp giữa Sinhviên với Mônhọc,...

• Mối kết hợp được biểu diễn bằng một hình thoi
và hai bên là hai nhánh gắn kết với các loại thực
thể liên quan, tên mối kết hợp thường là: thuộc,
gồm , chứa,...

25

Mối Kết Hợp (relationship) (tt)

• Ví dụ: mối kết hợp giữa hai loại thực thể Lớp và
Sinh viên, giữa Sinhviên với Mônhọc

SINHVIEN

Thuộc

LOP

SINHVIEN

ketqua

MONHOC

26

13


2/13/2012

Chiều của mối kết hợp
• Chiều của mối kết hợp là số tập thực thể tham gia
vào mối kết hợp đó.
• Mối quan hệ một chiều (đệ quy-phản xạ): mối kết
hợp giữa các thực thể của cùng một tập thực thể.

NHANVIEN


quanly

27

Chiều của mối kết hợp (tt)
• Mối quan hệ hai chiều: là sự kết nối giữa hai tập thực
thể, còn gọi là mô hình nhị nguyên.
SINHVIEN

Thuộc

LOP

• Mối quan hệ nhiều chiều: mối kết hợp có số tập thực
thể tham gia lớn hơn 2, còn gọi là mô hình đa nguyên.
GIAOVIEN

SINHVIEN
day

MONHOC
28

14


2/13/2012

Bản số của mối kết hợp
• Bản số của một nhánh E trong mối kết hợp thể

hiện số lượng các thực thể thuộc thực thể ở
nhánh F có liên hệ với một thực thể của nhánh
E.
• Mỗi bản số là một cặp số (min,max), chỉ số
lượng tối thiểu và số lượng tối đa của thực thể
khi tham gia vào mối kết hợp đó.

29

Bản số của mối kết hợp (tt)

30

15


2/13/2012

Bản số của mối kết hợp (tt)
• Ví dụ: mỗi sinh viên thuộc một và chỉ một lớp,
mỗi lớp có thể có 1 hoặc nhiều sinh viên
• Bản số bên nhánh Sinhviên là (1,1)
• Bản số bên nhánh Lop là (1,n)

(1,1)

SINHVIEN

Thuộc


(1,n)

LOP

31

Bản số của mối kết hợp (tt)
• Mối kết hợp có thể có các thuộc tính đi kèm do
đó chúng được đặt tên với ý nghĩa đầy đủ hơn.
• Ví dụ giữa hai loại thực thể Monhoc và Sinhvien
có mối kết hợp ketqua với ý nghĩa: “mỗi sinh viên
ứng với mỗi lần thi của mỗi môn học có một kết
quả điểm thi duy nhất”.

SINHVIEN

(1,n)

ketqua

DiemThi

(1,n)

MONHOC

LanThi

32


16


2/13/2012

Tập thực thể yếu
• Là thực thể mà khóa có được từ những thuộc
tính của tập thực thể khác
• Thực thể yếu (weak entity set) phải tham gia
vào mối kết hợp mà trong đó có một tập thực
thể chính (kiểu thực thể chủ)
• Mô tả kiểu thực thể yếu bằng hình thoi và hình
chữ nhật nét đôi

33

Khoá của mối kết hợp
• Là hợp của các khoá của các loại thực thể liên quan.
• Ví dụ:
• MAGV là thuộc tính khoá của loại thực thể
Giangvien
• MALOP là thuộc tính khoá của loại thực thể Lop
• MAMH là thuộc tính khoá của loại thực thể Monhoc
• Mối kết hợp phancong (giữa các loại thực thể
Giangvien, Lop, Monhoc) có khoá là
{MAGV,MAMH,MALOP}
• phancong là mối kết hợp 3 ngôi.

34


17


2/13/2012

Các bước thành lập mô hình thực thể kết hợp
• B1: Xác định danh sách các loại thực thể
• B2: Xác định các mối kết hợp giữa các loại
thực thể để phác thảo mô hình.
• B3: Lập bản số của các mối kết hợp.

35

Mô hình thực thể kết hợp cho bài toán quản lý điểm của sinh viên

36

18


2/13/2012

Bài tập 1: Quản lí đặt và giao hàng
• Một cửa hàng chuyên bán sĩ và lẻ các mặt hàng đủ loại. Mỗi khi hết hàng, cửa hàng
đặt mua thêm hàng ở các nhà cung cấp. Mỗi lần đặt hàng, cửa hàng sẽ điền một
phiếu đặt hàng. Mỗi lần đặt hàng sẽ có một phiếu giao hàng. Cửa hàng muốn theo dõi
việc đặt hàng và giao hàng trên. Sau đây là kết quả của việc phân tích yêu cầu ứng
dụng.
• Một nhà cung cấp có tên, địa chỉ và điện thoại của nhà cung cấp. Cần lưu lại thông tin
về tất cả các mặt hàng mà cửa hàng có mua bán: mã mặt hàng, tên hàng, đơn vị tính,

quy cách, số lượng tồn. Mỗi nhà cung cấp có thể cung ứng nhiều mặt hàng khác nhau
và mỗi mặt hàng cũng có thể được cung cấp bởi nhiều nhà cung cấp khác nhau. Mỗi
khi đặt hàng, cửa hàng phải điền các thông tin sau vào đơn đặt hàng: số đơn đặt hàng,
ngày đặt hàng, 1 nhà cung cấp có thể cung cấp các mặt hàng cần đặt, ghi chú, số mặt
hàng cần đặt. Đối với từng mặt hàng trong đơn đặt hàng, cần ghi rõ số lượng đặt và
đơn giá đặt. Nhà cung cấp có thể áp dụng những đơn đặt hàng mà nhà cung cấp có
cung ứng. Sau khi đặt hàng xong, nếu nhà cung cấp đến giao hàng thì phải lưu các
phiếu giao hàng ứng với từng lần giao hàng. Trên phiếu giao hàng cần có các thông tin
sau: số phiếu giao hàng, ngày giao, giao cho đơn đặt hàng nào. Mỗi lần đặt hàng, nhà
cung cấp chỉ được giao hàng tối đa là 3 lần.
Hãy vẽ mô hình thực thể kết hợp cho ứng dụng trên

37

Bài tập 2: Quản lý đề án







Xây dựng cơ sở dữ liệu đề án công ty theo dõi các thông tin liên quan tới
Nhân viên, Phòng ban, và đề án.
Công ty được tổ chức thành các phòng ban (PHONGBAN). Mỗi phòng ban có
một tên duy nhất, mã số phòng ban duy nhất, và một nhân viên quản l{
phòng đó. Ta ghi nhận lại ngày nhận chức trưởng phòng. Mỗi phòng ban có
thể có nhiều địa điểm khác nhau
Mồi phòng ban chủ trì nhiều Đề án (DEAN). Mỗi đề án có một tên duy nhất,
mã số đề án duy nhất và được triển khai ở một địa điểm

Ta lưu trữ thông tin liên quan tới nhân viên (NHANVIEN) của công ty: mã
nhân viên, địa chỉ, lương, phái, và ngày sinh. Mỗi nhân viên làm việc ở một
phòng ban nhưng có thể tham gia nhiều đề án, trong đó đề án không nhất
thiết phải do chính phòng ban của nhân viên đó chủ trì. Ta ghi nhận thời gian
tham gia đề án trong tuần của nhân viên ứng với từng đề án mà nhân viên đó
tham gia. Ta cũng ghi nhận người quản l{ trực tiếp của từng nhân viên.
Mỗi nhân viên có thể có nhiều thân nhân (THANNHAN). Với mỗi thân nhân,
ta lưu trữ tên, phái, ngày sinh, và mối quan hệ với nhân viên trong công ty.
Hãy vẽ mô hình thực thể kết hợp cho ứng dụng trên
38

19


2/13/2012

BÀI 3

MÔ HÌNH DỮ LIỆU QUAN HỆ

39

GIỚI THIỆU
• Mô hình dữ liệu quan hệ được đề xuất bởi EF Codd
năm 1970
• Mô hình này cung cấp một cấu trúc dữ liệu đơn
giản, đồng bộ quan hệ - và nền tảng l{ thuyết vững
chắc (đặt biệt về xử l{ và tối ưu hóa truy vấn)
• Mô hình dữ liệu quan hệ là cơ sở của hầu hết các
DBMS thương mại như: Oracle, Informix, DB2,

Sybase, Foxpro, Microsoft SQL Server, …

40

20


2/13/2012

CÁC KHÁI NIỆM CỦA MÔ HÌNH DỮ LiỆU QUAN HỆ
• Quan hệ
• Thuộc tính
• Bộ giá trị
• Thể hiện của quan hệ
• Khóa

41

Quan hệ (relation)
• Quan hệ là một bảng 2 chiều được định nghĩa trên
một tập thuộc tính.
• Tập toàn bộ thuộc tính của một quan hệ R được kí
hiệu là R+
• Vd: Quan hệ NHANVIEN với 3 thuộc tính: MaNV,
HoTen, Luong

42

21



2/13/2012

Quan hệ (tt)
• Một dòng trong bảng tương ứng với một thực thể
• Một quan hệ tương ứng với một tập thực thể
• Một quan hệ có n thuộc tính được gọi là quan hệ n
ngôi

43

Thuộc tính (attribute)
• Thuộc tính là đặc tính của đối tượng cần được
phản ánh trong CSDL.
• Thuộc tính đặc trưng bởi 3 yếu tố:
• Tên gọi: một dãy kí tự bất kz, gợi nhớ
• Kiểu dữ liệu: số, chuỗi, ngày, logic, OLE,..
• Miền giá trị của thuộc tính: xác định tập giá trị
mà thuộc tính có thể nhận.
Kí hiệu của miền giá trị A là Dom(A)

44

22


2/13/2012

Thuộc tính (tt)
Ví dụ:

• Quan hệ SINHVIEN có các thuộc tính MaSV, HoTen,
NgaySinh, QueQuan, Phai
• Thuộc tính MaSV, HoTen, QueQuan, Phai thuộc kiểu
chuỗi, thuộc tính NgaySinh thuộc kiểu ngày
• Thuộc tính Phai có miền giá trị là ,nam,nữ-

45

Bộ giá trị (tuple)
• Bộ là một dòng dữ liệu trong một quan hệ
• Bộ thường gọi là mẫu tin hay Record

46

23


2/13/2012

Thể hiện của quan hệ
• Thể hiện của một quan hệ là tập hợp các bộ giá trị cụ
thể của một quan hệ tại một thời điểm nhất định.
• K{ hiệu thể hiện của quan hệ R là TR
• Ví dụ: thể hiện của quan hệ KHOA

47

Khóa
Siêu khóa (Super keys):
• Là một tập con các thuộc tính của R+ mà nhờ vào đó

chúng ta có thể phân biệt 2 bộ khác nhau trong cùng
một thể hiện TR bất kz.
∀ t1, t2 ∈ TR t1*K+ ≠ t2[K]  K là siêu khóa của R.
• Một quan hệ có ít nhất một siêu khóa (R+) và có thể
có nhiều siêu khóa.
• VD: Các siêu khóa của quan hệ NHANVIEN
là:,MANV-, ,MANV, HOTEN-,…

48

24


2/13/2012

Khóa (tt)
Khóa:
• Là một siêu khóa “nhỏ nhất” (chứa ít thuộc tính và
khác rỗng)
• Cho R+ = ,A1, A2… An-, K = ,A1, A2… Am- với mK⊆ R+, K ≠ ∅ thì K là khóa của R nếu:
K là siêu khóa của R
Nếu ∃K1⊂K, K1 không là siêu khóa
• Thuộc tính tham gia vào một khóa gọi là thuộc tính
khóa, ngược lại là thuộc tính không khóa.
• VD: MaNV là thuộc tính khóa của quan hệ NHANVIEN
49

Khóa (tt)
Khóa chính (Primary keys):

• Khi cài đặt trên một HQTCSDL cụ thể, nếu quan hệ có
nhiều hơn một khóa, ta chỉ được chọn một khóa và
gọi là khóa chính.
• Các thuộc tính nằm trong khóa chính khi liệt kê trong
quan hệ phải được gạch dưới

50

25


×