I. Giới thiệu mô hình quan hệ?
pDo tiến sĩ E. F. Codd đưa ra đầu năm 1970
pMô hình dữ liệu quan hệ:
nCung cấp một cấu trúc dữ liệu đơn giản, đồng bộ
nCó nền tảng lý thuyết vững chắc là Lý thuyết tập
hợp
nLà cơ sở của các HQT CSDL thương mại hiện nay:
pOracle, MySQL, SQL Server
pMô hình dữ liệu quan hệ và mô hình thực thể liên
kết được sử dụng rộng rãi trong việc phân tích và
thiết kế CSDL hiện nay.
35 trang |
Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 456 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Lý thuyết cơ sở dữ liệu - Chương 3: Mô hình cơ sở dữ liệu quan hệ - Trịnh Thị Xuân, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chủ động – Tích cực Học tập 18/9/21
CHƯƠNG III:
MÔ HÌNH CSDL QUAN
HỆ
Chủ động – Tích cực Học tập 28/9/21
I. Giới thiệu mô hình quan hệ?
pDo tiến sĩ E. F. Codd đưa ra đầu năm 1970
pMô hình dữ liệu quan hệ:
nCung cấp một cấu trúc dữ liệu đơn giản, đồng bộ
nCó nền tảng lý thuyết vững chắc là Lý thuyết tập
hợp
nLà cơ sở của các HQT CSDL thương mại hiện nay:
pOracle, MySQL, SQL Server
pMô hình dữ liệu quan hệ và mô hình thực thể liên
kết được sử dụng rộng rãi trong việc phân tích và
thiết kế CSDL hiện nay.
Chủ động – Tích cực Học tập 38/9/21
II. Các thành phần của mô hình quan hệ
Chủ động – Tích cực Học tập 48/9/21
1. Quan hệ
p Là tập hợp các thông tin lưu trữ trong CSDL được tổ
chức dưới dạng bảng 2 chiều
p Quan hệ là một bang (2 chiều) được định nghĩa
trên một tập thuộc tính
TENNV HONV NS DIACHI GT LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
Chủ động – Tích cực Học tập 58/9/21
p Mỗi một Quan hệ gồm:
n Tên quan hệó phân biệt với các quan hệ khác
n Tập hợp các cộtó các thuộc tính của quan hệ
p Cố định,
p Được đặt tên,
p Có kiểu dữ liệu xác định, các giá trị trong một cột
phải cùng kiểu,
n Tập hợp các dòng ó các bản ghi (mẫu tin) của
quan hệ
p Thay đổi theo thời gian
p Mỗi dòng của Quan hệ ó Một thực thể (thể
hiện một đối tượng trong thế giới thực)
Chủ động – Tích cực Học tập
pThuộc tính là đặc tính của đối tượng cần được phản
ánh trong CSDL.
pThuộc tính được đặc trưng bởi 3 yếu tố:
nTên gọi: Một dãy ký tự bất kỳ (gợi nhớ)
nKiểu dữ liệu: Số, Chuỗi, Ngày/tháng, Logic,
nMiề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.
68/9/21
Chủ động – Tích cực Học tập 88/9/21
*Lược đồ quan hệ
p Lược đồ quan hệ: nhằm mục đích mô tả ngắn gọn cấu trúc
của một quan hệ và mối liên hệ giữa các thuộc tính trong
quan hệ đó
p Lược đồ quan hệ được xác định gồm:
n Tên của quan hệ và tên của các thuộc tính
n Các mô tả để xác định ý nghĩa và mối quan hệ giữa thuộc
tính (nếu có)
p Ký hiệu lược đồ quan hệ:
Tên Quan hệ (Ds các thuộc tính)
p VD:
n NHANVIEN(MNV, Hoten, NS, QueQuan, HSL)
Chủ động – Tích cực Học tập 118/9/21
*Lược đồ CSDL
p Gồm nhiều lược đồ quan hệ cùng nằm trong một hệ
thống quản lý ó tập hợp các bảng được quản lý
trong một file CSDL
p Ví dụ:
Lược đồ CSDL
NHANVIEN (MANV, TENNV, HONV, NS, DIACHI, GT, LUONG, PHG)
PHONGBAN (MAPHG, TENPHG, TRPHG, NG_NHANCHUC)
DIADIEM_PHG (MAPHG, DIADIEM)
THANNHAN (MA_NVIEN, TENTN, GT, NS, QUANHE)
DEAN (TENDA, MADA, DDIEM_DA, PHONG)
Chủ động – Tích cực Học tập 128/9/21
2. Bộ
p Bộ:
n Là các dòng biểu diễn của quan hệ (trừ dòng tiêu đề -
tên của các thuộc tính) ó Bộ là tập hợp thông tin
của một thực thể cụ thể
n Là tập mỗi giá trị liên quan của tất cả các thuộc tính
của một lược đồ quan hệ
p Bộ là thể hiện dữ liệu cụ thể của các thuộc tính trong
quan hệ
bộ
TENNV HONV NS DIACHI GT LUONG PHG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000 5
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000 4
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
Chủ động – Tích cực Học tập 138/9/21
3. Miền giá trị
p Miền giá trị của thuộc tính A,
n Ký hiệu: Dom(A) hoặc D(A),
n là tập tất cả các giá trị mà thuộc tính A có thể nhận
được
p Miền giá trị có các kiểu: Liệt kê hoặc Khoảng con
p Ví dụ
n Dom(Gioitinh) = { nam, nữ }
n Dom(Mauda) = {da trắng, da vàng, da đen, da đỏ}
n Dom(Diemthi) = { 0 -> 10 }
n Dom(Luong) = { float }
n
Chủ động – Tích cực Học tập 158/9/21
4. Liên kết
pLiên kết là thể hiện mối quan hệ ràng buộc giữa các
quan hệ (bảng)
ploại liên kết:
nLiên kết một – một
nLiên kết một – nhiều
Chủ động – Tích cực Học tập 168/9/21
III.Các đặc trưng của quan hệ
p Thứ tự các bộ trong quan hệ là không quan trọng
p Thứ tự giữa các giá trị trong một bộ là quan trọng
p Mỗi giá trị trong một bộ
n Hoặc là một giá trị nguyên tố
n Hoặc là một giá trị rỗng (null)
p Không có bộ nào trùng nhau: giống nhau về giá trị trên
thuộc tính khóa
TungNguyen 12/08/1955 638 NVC Q5 Nam 40000 5
TENNVHONV NGSINH DCHI PHAI LUONG PHG
HangBui 07/19/1968 332 NTH Q1 Nu 25000 4
NhuLe 06/20/1951 291 HVH QPN Nu 43000 4
HungNguyen 09/15/1962 null Nam 38000 5
Bộ:
khác
Bộ:
Chủ động – Tích cực Học tập 178/9/21
IV. Chuyển đổi mô hình ER sang quan hệ
pCác quy tắc chuyển đổi
pVí dụ cụ thể
Chủ động – Tích cực Học tập 188/9/21
1. Các quy tắc chuyển đổi
pQui tắc 1: Chuyển kiểu thực thể mạnh
nChuyển đổi mỗi kiểu thực thể mạnh thành một lược đồ
quan hệ (tên trùng hoặc đặt mới)
nQuan hệ mới gồm:
üCác thuộc tính đơn giản của kiểu thực thể ban đầu
üQuan hệ mới không chứa thuộc tính đa trị và suy dẫn
üThuộc tính khóa giữ nguyên
Chủ động – Tích cực Học tập 208/9/21
* Ví dụ:
EMPLOYEE
NS
MaNV
Name
GT DChi
Luong
Ho Dem Ten
He SL
DThoai
Chủ động – Tích cực Học tập 228/9/21
pQui tắc 2: Chuyển thuộc tính đa trị
nMỗi thuộc tính đa trị sinh ra một quan hệ mới
pTên đặt mới phù hợp
nQuan hệ mới gồm:
üthuộc tính khóa của quan hệ ban đầu
üthuộc tính gây ra sự đa trị
üKhóa của quan hệ mới là cả 2 thuộc tính
Chủ động – Tích cực Học tập 248/9/21
DEPARTMENT
Name
Number
Locations
Chủ động – Tích cực Học tập 258/9/21
pQui tắc 3: Chuyển Thực thể yếu (Weak Entity)
nMỗi thực thể yếu trong mô hình ER, tạo thành một
quan hệ mới (tên cùng tên hoặc đổi mới)
nQuan hệ mới gồm:
üTất cả thuộc tính của thực thể yếu
üThêm thuộc tính khóa của quan hệ chủ
üKhóa của quan hệ mới gồm thuộc tính khóa của
quan hệ chủ và thuộc tính khóa của thực thể yếu
Chủ động – Tích cực Học tập 268/9/21
Ví dụ
pNHÂN VIÊN( Mã NV, Họ tên, Ngày sinh, HSL)
pTHÂN NHÂN( TEN, Giới tính, Ngày sinh, Quan hệ, Mã NV)
NHÂN VIÊN
THÂN NHÂN
Có
Tên Giới tính Ngày sinh Quan hệ
Mã NV Ho Tên Ngày sinh HSL
1
n
Chủ động – Tích cực Học tập 278/9/21
p Qui tắc 4: Chuyển liên kết quan hệ nhiều - nhiều
nMột liên kết quan hệ sẽ được chuyển thành một lược đồ quan hệ mới
(tên của mối kết hợp sẽ là tên của lược đồ quan hệ hoặc tùy ý)
nQuan hệ mới gồm:
pHai khóa của kiểu thực thể tham gia vào mối liên kết.
pThuộc tính của mối liên kết (nếu có)
pKhóa của quan hệ mới là 2 thuộc tính khóa của thực thể ban đầu
p Ví dụ:
Chủ động – Tích cực Học tập 308/9/21
p Qui tắc 5: Chuyển quan hệ một - nhiều
n Đặt khóa của thực thể bên phía một và các thuộc tính của
mối liên kết (nếu có) vào quan hệ của thực thể bên phía
nhiều.
p Ví dụ:
NHANVIENTENNV
NS DCHI
GT
LUONG
HONV
MANV
Lam_viec PHONGBAN
MAPHGTENPHG
(1,n) (1,1)
Chủ động – Tích cực Học tập 338/9/21
p Qui tắc 6: Chuyển quan hệ một – một
n Đặt khóa của thực thể bên phía tùy chọn vào làm thuộc
tính ở bên phía bắt buộc
n Nếu liên kết có thuộc tính thì thuộc tính đặt trong quan hệ
bên phía bắt buộc
p Ví dụ:
NHANVIENTENNV
NS DCHI
GT
LUONG
HONV
MANV
quản lý PHONGBAN
MAPHGTENPHG
1 1
StartDate
Chủ động – Tích cực Học tập 368/9/21
pQui tắc 7: Chuyển cho mối liên kết có bậc >2,
nTạo ra mối quan hệ (R) mới (đặt tên tùy ý)
nQuan hệ mới gồm:
pThuộc tính khóa của các thực thể tham gia liên kết
pThuộc tính của mỗi liên kết(nếu có)
pKhóa là tất cả các thuộc tính khóa
pVí dụ:
SUPPLIER PROJECTSUPPLY
SuppID QUANTITY ProjectID
PART PartID
Chủ động – Tích cực Học tập 388/9/21
Bài tập áp dụng
pVí dụ : Xây dựng các lược đồ quan hệ từ mô hình ER
NHÀ PHÒNG
SINH VIÊN
Có
Chứa
1
n
1 n
Làm trưởng
phòng
1
1
Số nhà Số tầng Mã phòng Tên phòng
Mã SV Tên SV Giới tính Đối tượng Tên lớp
NV Phụ trách
Tổng phòng
Chủ động – Tích cực Học tập 398/9/21
Ví dụ : Xây dựng các lược đồ quan hệ từ mô hình ER
DỰ ÁN
Tên Mã số Địa điểm
T/g bắt đầu
ĐƠN VỊ
Tên Mã số Địa điểm
NHÂN VIÊN
Mã số
Họ tên
Họ đệm Tên
Ngày sinh Giới tính HSL Địa chỉ
Lương
1
1Làm việc cho
n
Làm việc
Số giờ
m
n
Kiểm soát
1
n
Ngoại ngữ
Chủ động – Tích cực Học tập 408/9/21
Ví dụ 3
pThiết kế CSDL của bài toán quản lý điểm sinh viên sau:
nMột trường chia làm nhiều khoa, mỗi khoa gồm các thông tin: mã khoa, tên khoa
và địa điểm. Mỗi khoa có thể đặt ở nhiều nơi khác nhau
nMỗi khoa cung cấp nhiều môn học. Mỗi môn học thuộc về 1 khoa (thuộc quyền
quản lý của 1 khoa). Mỗi môn học gồm các thông tin: Mã môn học, tên môn học,
học kỳ, số trình, số tiết (mỗt trình có 15 tiết)
nMỗi khoa thuê nhiều giáo viên giảng dạy. Nhưng mỗi giáo viên chỉ làm việc cho 1
khoa. Mỗi khoa có 1 chủ nhiệm khoa, đó là một giáo viên. Mỗi giáo viên có thể dạy
nhiều nhất 4 môn học và có thể không dạy môn học nào. Mỗi giáo viên gồm: mã
GV, họ tên, ngày sinh, giới tính, trình độ, chuyên môn.
nMột khoa quản lý nhiều lớp, mỗi lớp có nhiều sinh viên, một sinh viên chỉ thuộc
một lớp. Mỗi lớp gồm: mã lớp, tên lớp, sĩ số, năm bắt đâu, năm kết thúc. Mỗi sinh
viên học 4 năm ra trường.
nMỗi sinh viên có thể học nhiều môn học, nhưng ít nhất là 1 môn. Khi SV học phải
lưu lại điểm của SV đó. Mỗi môn học có thể có nhiều sinh viên học, có thể không
có sinh viên nào. Mỗi sinh viên gồm các thông tin: mã sinh viên, họ tên, giới tính,
quê quán, địa chỉ mail.
Chủ động – Tích cực Học tập
pYêu cầu:
nXác định thực thể và các thuộc tính
nXác định các mối quan hệ giữa các thực thể
nVẽ mô hình ER của bài toán
nÁp dụng nguyên tắc để xây dựng mô hình CSDL
quan hệ
nCài đặt bằng hệ quản trị CSDL cụ thể
418/9/21
Chủ động – Tích cực Học tập 428/9/21
Ví dụ áp dụng
pThiết kế CSDL của bài toán quản lý hoá đơn tiền điện với yêu cầu sau:
pThông tin nhân viên gồm: Mã nhân viên, họ tên, giới tính, điện thoại
Chủ động – Tích cực Học tập
pVí dụ 3: Cho mô hình quan niệm dữ liệu của hệ thống quản lý bán hàng của công ty ABC. Mô tả về hệ thống
như sau:
pCông ty kinh doanh nhiều loại mặt hàng gia dụng theo phƣơng thức bán sỉ và giao hàng tận nơi, thông qua
điện thoại, mạng Internet, hoặc trực tiếp đặt hàng từ khách mua.
pThông qua nhu cầu, khách hàng yêu cầu đặt hàng, nhân viên phụ trách của công ty sẽ lập phiếu đặt hàng cho
khách với các sản phẩm yêu cầu. Thông tin đơn đặt hàng bao gồm số đơn đặt hàng, ngày, giờ, mã sản phẩm,
số lượng, đơn giá cùng với thông tin của khách hàng nhƣ họ tên khách hàng, địa chỉ, điện thoại, email. Mỗi
sản phẩm có một mã số, một mô tả sản phẩm, công dụng, giá bán thống nhất.
pBộ phận phụ trách các đơn đặt hàng gồm 5 nhân viên, mỗi nhân viên có mã số, tên nhân viên, điện tthoại,
chức vụ đƣợc ghi nhận trên đơn đặt hàng. Khi đơn đặt hàng đƣợc giải quyết, chính nhân viên đó sẽ ghi hoá
đơn cho khách và hoá đơn sẽ đƣợc chuyển xuống bộ phận kho để đóng gói và giao hàng cho khách. Khi có
vài sản phẩm bị thiếu, cùng với hoá đơn của sản phẩm đƣợc gởi, nhân viên sẽ có thêm ghi chú cho khách rõ.
Đối với đơn đặt hàng chƣa giải quyết đƣợc hết thì phải xếp chờ. Ngay khi bộ phận kho nhập vào sản phẩm
mới thì đơn hàng sẽ đƣợc giải quyết ngay theo thứ tự.
438/9/21
Chủ động – Tích cực Học tập
Bài tập Áp dụng
pThiết kế cơ sở dữ liệu từ tài liệu nguồn theo dõi bán
hàng
468/9/21
CSDL
Chủ động – Tích cực Học tập
BUỔI SAU
-CÁC NHÓM NỘP PHÁT BIỂU BÀI
TOÁN VÀ MÔ HÌNH THỰC THỂ
-LÀM BÀI TẬP “QLY ĐIỂM SINH VIÊN”
478/9/21
Chủ động – Tích cực Học tập
Yêu cầu buổi sau
pThực hiện trên Bài tập lớn
pYêu cầu:
nPhát biểu bài toán
nXác định thực thể và các thuộc tính
nXác định các mối quan hệ giữa các thực
thể
nVẽ mô hình ER của bài toán
488/9/21
Chủ động – Tích cực Học tập 498/9/21
Thiết kế CSDL của bài toán “Quản lý bán mỹ phẩm”
pCửa hàng Tân Bình có văn phòng tại địa chỉ 193 Nguyễn Trãi.
Cửa hàng gồm nhiều NHÂN VIÊN khác nhau, mỗi nhân viên gồm:
CMTND, họ tên, ngày sinh, điện thoại, HSL, Lương. Mỗi nhân viên
có thể có nhiều số điện thoại và lương = HSL * 2000000
p Cửa hàng thực hiện bán MỸ PHẨM, mỗi mỹ phẩm gồm thông tin:
mã mỹ phẩm, tên mỹ phẩm, nước sản xuất, số lượng đang có,
đơn giá bán, tiền hàng (=số lượng * đơn giá)
pKHÁCH HÀNG đến mua hàng cần lưu lại thông tin gồm: số điện
thoại, họ tên, địa chỉ, tổng số tiền mua hàng
pMỗi khách khi mua hàng sẽ có HOÁ ĐƠN tương ứng, hóa đơn
được lập vào ngày cụ thể và phải xác định nhân viên lập hóa
đơn, trong mỗi hóa đơn gồm các mỹ phẩm và số lượng mua mỹ
phẩm của khách hàng tương ứng mỗi lần mua. Mỗi hóa đơn được
xác định bởi số hóa đơn. Mỗi khách hàng có thể mua nhiều mỹ
phẩm cho một lần.
Chủ động – Tích cực Học tập 508/9/21
Chủ động – Tích cực Học tập
YÊU CẦU NỘP BTL – TIẾN ĐỘ 1
pCác nhóm phát biểu bài toán
pShare dưới dạng Google Doc file báo cáo kết quả vào
email: trinhxuan@hou.edu.vn
pTên file:
nCSDL-CT5--Bài toán
pYêu cầu:
pTrang đầu: ghi rõ đề bài toán và ds các thành viên
p
518/9/21
Các file đính kèm theo tài liệu này:
- bai_giang_ly_thuyet_co_so_du_lieu_chuong_3_mo_hinh_co_so_du.pdf