Xem mẫu
- NỘI DUNG MÔN HỌC
• Chương 1: Giới thiệu chung về lý thuyết CSDL
• Chương 2: Mô hình thực thể kết hợp
• Chương 3: Mô hình quan hệ
HỆ CƠ SỞ DỮ LIỆU • Chương 4: Chuyển từ mô hình thực thể kết hợp
sang mô hình quan hệ
• Chương 5: Ngôn ngữ truy vấn SQL
GV: Nguyễn Việt Cường • Chương 6: Chuẩn hóa dữ liệu
• Chương 7: Thiết kế vật lý cơ sở dữ liệu
• Chương 8: Thủ tục lưu trữ và trigger
• Chương 9: Bảo mật và quyền của người dùng
• Tổng cộng: 45 LT+60TH
TÀI LIỆU THAM KHẢO
NỘI DUNG MÔN HỌC • [1]Concepts of Database management – Philip
CHƯƠNG TÊN CHƯƠNG LÝ THUYẾT THỰC HÀNH
J. Pratt & Joseph J. Adamski – Thomson , 5th
Giới thiệu chung về lý
edition
1 3 0
thuyết CSDL • [2] Database Systems: Design, Implementation
2 Mô hình thực thể kết hợp 3 0 & Management – Peter Rob & Carlos Coronel –
3 Mô hình quan hệ 6 0 Thomson, 6th edition
Chuyển từ mô hình thực • [3] Programming Logic and Design – Joyce
4 thể kết hợp sang mô hình 3 0 Farrell – Thomson, 3rd Edition
quan hệ
5 Ngôn ngữ truy vấn SQL 12 30
• [4] Giáo trình cơ sở dữ liệu - Trường ĐH Công
6 Chuẩn hóa dữ liệu 6 0
nghiệp TP HCM
Thiết kế vật lý cơ sở dữ
[5] Các bài thực hành môn cơ sở dữ liệu-
7
liệu
3 0 Trường ĐH Công nghiệp TP HCM
8 Thủ tục lưu trữ và trigger 6 24 • [6] Principles of database and knowledge base
9
Bảo mật và quyền của
3 6
systems - JEFFREY D. ULLMAN
người dùng
Tổng cộng: 45 60
Nội dung
Chương 1 Các khái niệm cơ bản và định nghĩa
Hệ thống xử lý tập tin truyền thống
Cách tiếp cận cơ sở dữ liệu
Các thành phần của môi trường hệ
Giới thiệu chung về lý thuyết
quản trị cơ sở dữ liệu
Cơ Sở Dữ Liệu (CSDL) Các chức năng của hệ quản trị cơ sở
dữ liệu
Kiến trúc cơ sở dữ liệu ba lược đồ
1
- 1. Các khái niệm cơ bản và định nghĩa 1. Các khái niệm cơ bản và định nghĩa
Dữ liệu và thông tin Dữ liệu
Dữ liệu (data): 1 10273 Nguyễn Văn Hoà CDTH7 20
• Là một mô tả hình thức thích hợp về những sự 2 00298 Nguyễn Minh Tâm CDTH7 19
kiện(event), khái niệm (concept) hay chỉ thị để …
giúp con người giao tiếp, diễn giải hay xử lý 151 50542 Hồ Xuân Phương TCTH33 18
hoặc thực hiện 1 cách tự động 152 50075 Lê Việt Dũng CNTH34 20
• Dữ liệu được mô tả bất kỳ dạng nào, chẳng hạn
ký tự hay số gắn liền với ngữ nghĩa Thông tin: dữ liệu trong ngữ cảnh
STT Mã sinh viên Họ và tên sinh viên Lớp
Thông tin (Information): Tuổi
• Là dữ liệu đã được qua xử lý nhằm đáp ứng 1 10273 Nguyễn Văn Hoà CDTH7 20
yêu cầu của người sử dụng trong những hoàn 2 00298 Nguyễn Minh Tâm CDTH7 19
cảnh cụ thể …
• Dữ liệu trong ngữ cảnh 151 50542 Hồ Xuân Phương TCTH33 18
• Dữ liệu được tổng hợp / xử lý 152 50075 Lê Việt Dũng CNTH34 20
1. Các khái niệm cơ bản và định nghĩa 1. Các khái niệm cơ bản và định nghĩa
Siêu dữ liệu (metadata)
Siêu dữ liệu là dữ liệu dùng để mô tả các tính
chất / đặc tính của dữ liệu khác (dữ liệu về dữ
liệu).
Các đặc tính: định nghĩa dữ liệu, cấu trúc dữ
liệu, qui tắc / ràng buộc.
2. Quá trình quản lý dữ liệu 2. Quá trình quản lý dữ liệu
Các thành phần của hệ thống xử lý tập tin
2.1 Hệ thống xử lý tập tin theo lối cũ Phần cứng: các máy tính.
Phần mềm:
Hệ điều hành
Hệ thống xử lý tập tin(file processing system) Các tiện ích
Hệ thống xử lý tập tin là tập hợp các chương trình Các tập tin
dùng để lưu trữ, thao tác và truy xuất các tập tin Các chương trình quản lý tập tin
dữ liệu có kích thước lớn. Các chương trình ứng dụng tạo các báo cáo từ các
dữ liệu được lưu trữ trong các tập tin.
Các tập tin dữ liệu được lưu trữ trong các thư mục
Con người: người quản lý, chuyên gia, người lập
(folder).
trình, người sử dụng cuối cùng.
Các thủ tục: các lệnh và các qui tắc chi phối việc
thiết kế và sử dụng các thành phần của phần
mềm.
Dữ liệu: tập hợp các sự kiện.
2
- 2. Quá trình quản lý dữ liệu Hệ thống xử lý tập tin theo lối cũ
Quản lý dữ liệu của hệ thống tập tin Nhược điểm của hệ thống xử lý tập tin
Ngôn ngữ lập trình: 3GL (third-Generation Phụ thuộc dữ liệu – chương trình (Program-Data
Language). Dependence)
Làm gì? Làm như thế nào? Tất cả các chương trình ứng dụng phải duy trì siêu
Các ngôn ngữ: dữ liệu (phần mô tả) của các tập tin mà chúng sử
COBOL (COmmon Business-Oriented Language) dụng.
BASIC (Beginner’s All-purpose Symbolic Instruction Code)
Dư thừa dữ liệu / Trùng lặp dữ liệu (Data
FORTRAN (FORmula TRANslation)
Redundancy / Duplication of Data)
Các chương trình xử lý tập tin
Các hệ thống / chương trình khác nhau có các bản
Tạo cấu trúc tập tin. dữ liệu riêng biệt của cùng dữ liệu.
Thêm dữ liệu vào tập tin.
Hạn chế việc dùng chung dữ liệu
Xóa dữ liệu của tập tin
Mỗi ứng dụng có các tập tin riêng biệt, ít sử dụng
Sửa dữ liệu của tập tin.
chung dữ liệu với các ứng dụng khác.
Liệt kê dữ liệu của tập tin.
Hệ thống xử lý tập tin theo lối cũ Phụ thuộc dữ liệu
Nhược điểm của hệ thống xử lý tập tin Mỗi người lập trình phải duy trì dữ liệu riêng
Thời gian phát triển lâu biệt.
Người lập trình phải thiết kế các dạng tập tin dữ liệu Mỗi chương trình ứng dụng phải có mã lệnh
riêng và viết cách truy xuất tập tin cho mỗi ứng dụng
mới.
cho siêu dữ liệu của mỗi tập tin.
Chi phí bảo trì chương trình cao Mỗi chương trình ứng dụng phải có các
Các nhược điểm nêu trên làm cho việc bảo trì chương trình con xử lý để đọc, thêm, sửa và
chương trình gặp nhiều khó khăn, thường chiếm xóa dữ liệu.
khoảng 80% ngân sách phát triển HTTT.
Không có các điều khiển chung và phối hợp.
Các dạng thức tập tin không có cùng chuẩn.
Dư thừa dữ liệu Dư thừa dữ liệu
Duplicate Data
Tốn vùng nhớ để lưu trữ dữ liệu dư thừa.
Gây ra các vấn đề khó về bảo trì dữ liệu.
Vấn đề chính:
Việc cập nhật dữ liệu của một tập tin có thể dẫn
đến các mâu thuẫn dữ liệu.
Vi phạm tính toàn vẹn dữ liệu.
3
- 2. Quá trình quản lý dữ liệu 2. Quá trình quản lý dữ liệu
2.2 Cách tiếp cận cơ sở dữ liệu 2.2 Cách tiếp cận cơ sở dữ liệu
3.Các khái niệm về hệ quản trị cơ sở dữ liệu 3.Các khái niệm về hệ quản trị cơ sở dữ liệu
Cơ sở dữ liệu (CSDL) Hệ quản trị CSDL
Cơ sở dữ liệu là sự tập hợp có tổ chức các dữ liệu DBMS – DataBase Management System
có liên quan luận lý với nhau được lưu trữ trong Hệ quản trị CSDL là tập hợp các chương trình,
các tập tin phần mềm dùng để quản lý cấu trúc và dữ liệu
Tập dữ liệu này sẽ được lưu trữ trên các của CSDL và điều khiển truy xuất dữ liệu trong
thiết bị thông tin lưu trữ như băng từ, CSDL.
đĩa…nhằm thỏa mãn yêu cầu khai thác Cho phép người sử dụng định nghĩa, tạo lập và
thông tin đồng thời của nhiều người dùng bảo trì CSDL và cung cấp các truy xuất dữ liệu.
hay nhiều chương trình ứng dụng với nhiều Cung cấp một giao diện giưã người sử dụng và
mục đích sử dụng khác nhau. dữ liệu.
Một hệ CSDL= CSDL+ hệ QTCSDL
3.1 Các cách nhìn khác nhau về dữ liệu 3.2 Mô hình dữ liệu, lược đồ và thể hiện
Mô hình Dữ liệu
View 1 View 2 ….. View n
Mô hình Dữ liệu – Data Model: Tập hợp
các khái niệm mô tả:
Cấp độ trừu tượng
Dữ liệu và mối kết hợp giữa dữ liệu
Logical (or Conceptal) Level
Ngữ nghĩa dữ liệu và ràng buộc dữ liệu
Các thao tác trên Mô hình Dữ liệu: Các
thao tác rút trích và cập nhật CSDL bằng
Physical Level cách tham chiếu đến các khái niệm của Mô
hình Dữ liệu
Các mức độ trừu tượng trong một DBMS
Sự trừu tượng đạt được thông qua mô tả mỗi mức dưới dạng một lược đồ
bằng cách dùng một mô hình dữ liệu cụ thể
4
- 3.2 Mô hình dữ liệu, lược đồ và thể hiện 3.2 Mô hình dữ liệu, lược đồ và thể hiện
Lược đồ và thể hiện:
Các Mô hình Dữ liệu: Lược đồ CSDL-Database Schema: Mô tả
Mô hình Quan hệ- Relational Model về CSDL. Bao gồm mô tả về cấu trúc CSDL
Mô hình Mạng-Network Model
và các ràng buộc trên CSDL đó
Thể hiện CSDL-Database Instance: Dữ
Mô hình Dữ liệu Phân cấp-Hierarchical
liệu hiện thời được lưu trong một CSDL ở
Data Model
một thời điểm nào đó, hay còn gọi là trạng
Mô hình Hướng đối tượng-Object-oriented
thái CSDL- database state(hay thể hiện-
Data Models occurrence)
Mô hình Quan hệ Đối tượng-Object-
Lược đồ CSDL rất ít khi thay đổi. Trạng
Relational Models thái CSDL thay đổi mỗi khi CSDL được cập
nhật
3.3 Các đặc điểm của Cách tiếp cận cơ sở dữ liệu 3.3 Các đặc điểm của Cách tiếp cận cơ sở dữ liệu
Một kho chứa dữ liệu được định nghĩa 1
lần, được duy trì và truy xuất bởi nhiều Mô hình dữ liệu Dữ liệu.
người dùng. Hỗ trợ nhiều cách nhìn về dữ liệu
Bản chất tự mô tả của 1 hệ CSDL Chia sẽ dữ liệu và xử lý giao dịch nhiều
Một DBMS catalog lưu trữ mô tả về CSDL(mô người dùng
tả này gọi là meta-data).
CSDL+ mô tả về cấu trúc và ràng buộc của
CSDL
Phần mềm DBMS làm việc với nhiều ứng
dụng CSDL
Sự tách biệt giữa chương trình và dữ liệu,
sự trừu tượng của dữ liệu
3.5 Sự cần thiết của CSDL
3.4 Các đối tượng dùng Cơ sở dữ liệu
Dữ liệu tạo thành một tài sản của tổ chức:
Những người lập trình: Những người này phải hiểu Điều khiển tích hợp
rõ cấu trúc CSDL, cách lưu trữ dữ liệu. Giảm tối thiểu sự dư thừa dữ liệu (data
Những người sử dụng không chuyên: Chỉ cần biết redundancy).
nội dung CSDL và cách truy xuất Nâng cao tính nhất quán (data consistency) /
Những người quản trị CSDL: Đối tượng này xuất toàn vẹn dữ liệu (data integrity).
hiện do tính chất quá phức tạp của hệ quản trị Nâng cao việc dùng chung dữ liệu (data
CSDL, không phải ai cũng có toàn quyền đối với sharing).
CSDL. Những người thuộc đối tượng này có nhiệm Những người sử dụng khác nhau có những cái nhìn
vụ cài đặt cấu trúc CSDL vào hệ quản trị CSDL, khác nhau về dữ liệu.
nhập dữ liệu ban đầu, giải quyết các biến cố xảy ra,
backup , restore dữ liệu, sửa đối cấu trúc CSDL
theo yêu cầu của người thiết kế, nắm các quyền ưu
tiên, lập cơ chế bảo mật của hệ thống CSDL.
5
- 3.5 Sự cần thiết của CSDL
3.6 Các chức năng của hệ quản trị CSDL
Nâng cao an toàn dữ liệu Các chức năng của hệ quản trị CSDL
Tăng hiệu suất phát triển ứng dụng Lưu trữ, truy xuất và cập nhật dữ liệu
Ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition
Độc lập dữ liệu – chương trình (data - program Language)
independence). Ngôn ngữ thao tác dữ liệu (DML - Data Manipulation
DBMS chứa siêu dữ liệu (metadata), do đó các ứng Language).
dụng không cần quan tâm đến các dạng thức của Quản lý giao tác (transaction management).
dữ liệu. Điều khiển tương tranh (concurrency control)
DBMS quản lý các truy vấn và cập nhật dữ liệu, do Chép lưu(backup) và phục hồi dữ
đó ứng dụng không cần xử lý việc truy xuất dữ liệu. liệu(rescovery).
Bảo mật dữ liệu(security)
Ngôn ngữ điều khiển dữ liệu (DCL - Data Control
Language).
Hỗ trợ truyền thông dữ liệu.
Duy trì tính toàn vẹn / nhất quán dữ liệu.
Cung cấp các tiện ích.
4. Nội dung và kiến trúc của DBMS 4. Nội dung và kiến trúc của DBMS
Các yêu cầu của 1 DBMS Các yêu cầu của 1 DBMS
Khả năng đáp ứng cao Chu kỳ sống lâu
Độ tin cậy cao An toàn
Lưu lượng cao Xác thực (authentication), chứng thực
Thời gian phản hồi thấp (authorization), mã hóa (encryption)
4. Nội dung và kiến trúc của DBMS 4. Nội dung và kiến trúc của DBMS
Phân loại DBMS: Các thành phần của DBMS:
Dựa trên mô hình dữ liệu được dùng: Ngôn ngữ định nghĩa dữ liệu: Tạo cấu trúc của bảng SinhVien
Truyền thống: Quan hệ, mạng, phân cấp CREATE TABLE SinhVien
Đang thịnh hành: hướng đối tượng, Quan hệ (MaSV NUMBER(7,0) NOT NULL,
Đối tượng HoTen VARCHAR(25) NOT NULL,
Các sự phân loại khác: DiaChi VARCHAR(30),
Người sử dụng đơn(single-user), đa người NoiSinh VARCHAR(20),
dùng(multi user) CONSTRAINT PK_SinhVien PRIMARY KEY (MaSV));
Tập trung và phân tán Ngôn ngữ thao tác dữ liệu: Liệt kê mã, tên và địa chỉ của các sinh
viên thuộc thành phố ‘HCM’
Chi phí phần mềm DBMS
SELECT MaSV, HoTen, DiaChi
…… FROM SinhVien
WHERE NoiSinh = ‘HCM’;
Ngôn ngữ điều khiển dữ liệu: Cho phép người sử dụng A và B
được phép xem và thêm dữ liệu vào bảng SinhVien
GRANT SELECT, INSERT ON SinhVien
TO A,B;
6
- 1. Quá trình thiết kế Cơ sở dữ liệu
Chương 2
Thu thập và phân tích các yêu cầu
Thiết kế mức quan niệm
Ánh xạ thiết kế logic/mô hình dữ liệu
Mô hình thực thể kết hợp Thiết kế mức vật lý
(Mô hình liên kết thực thể)
Thế giới thực
Thu thập và phân tích
2. Mô hình thực thể kết hợp
yêu cầu
Các yêu cầu chức năng Các yêu cầu của CSDL
Phân tích chức năng Phân tích quan niệm
• Hiện nay mô hình dữ liệu quan hệ thường
được dùng trong các hệ quản trị CSDL, tuy
Các đặc tả giao tác Lược đồ quan niệm
cấp cao (trong một mô hình dữ liệu cấp cao) nhiên mô hình này không được trực quan.
Thiết kế logic • Để thuận lợi trong việc thiết kế mô hình dữ liệu
Phụ thuộc DBMS cụ thể
Lược đồ quan niệm
quan hệ, người ta thường dùng một mô hình
(trong mô hình dữ liệu của một DBMS cụ thể)
Thiết kế ctr. ứng dụng trung gian đó là mô hình thực thể kết hợp.
Thiết kế mức vật lý
Thực hiện giao tác
Lược đồ trong
Các chương trình ứng dụng
2. Mô hình thực thể kết hợp
Vấn đề khi thiết kế CSDL?
• Hiện nay mô hình thực thế kết hợp được coi là • Các thực thể và mối kết hợp nào cần quan
mô hình chuẩn để thiết kế hệ thống thông tin. tâm?
• Moâ hình ER ñoâi khi coøn ñöôïc goïi laø moâ hình yù • Thông tin nào về thực thể và mối quan hệ
nieäm döõ lieäu (Conceptual Data Model) hay ñôn giữa các thực thể cần được lưu trữ trong
giaûn laø moâ hình döõ lieäu (data model) CSDL?
• Các ràng buộc nào cần được bảo đảm đối
với thực thể và mối kết hợp?
7
- 2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể,
Tập Giá trị Tập Giá trị
Thực thể(entity, instance, entity instance, entity Thực thể(entity, instance, entity instance, entity
occurence): occurence):
Là một đối tượng hay sự vật của thế giới thực tồn Thực thể nên là
tại cụ thể hay tồn tại quan niệm mà có thể phân biệt đối tượng có nhiều thể hiện trong CSDL.
đối tượng có nhiều thuộc tính.
được với các đối tượng khác đối tượng cần được mô hình hóa.
Ví dụ : Thực thể SINHVIEN Nguyễn Thị Lan Anh, Thực thể không nên là
LOP TCTH36D,…. người sử dụng của hệ CSDL.
kết xuất của hệ CSDL (ví dụ bản báo cáo).
Đặc điểm của thực thể là tính phân biệt (distinctness):
có thể phân biệt giữa thực thể này với thực thể khác.
2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể,
Tập Giá trị Tập Giá trị
Thuộc tính (Attributes):
Các loại thuộc tính:
Là các đặc tính riêng dùng để mô tả 1 thực thể
Ví dụ : Thực thể SINHVIEN có các thuộc tính Thuộc tính đơn và thuộc tính phức hợp
MASV,TENSV, DCHI, PHAI, NGAYSINH Thuộc tính đơn (simple attribute) là thuộc tính
Ví dụ : Thực thể sinh viên cụ thể có các thuộc tính: không bị phân rã thành nhiều thuộc tính khác.
• MASV=‘06028071’ Thuộc tính phức hợp (composite attribute) là
• TENSV=‘Nguyen Thi Lan Anh’, thuộc tính bị phân rã thành nhiều thuộc tính
• DCHI=‘580 CMT8, TP HCM’ khác.
• PHAI=‘Nu’
• NGAYSINH=’05/06/1991’,
2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể,
Tập Giá trị Tập Giá trị
Các loại thuộc tính: Các loại thuộc tính:
Thuộc tính đơn trị và thuộc tính đa trị
Thuộc tính đơn trị (single-valued attribute) là
thuộc tính chỉ chứa một giá trị.
Thuoäc tính ñôn Thuộc tính đa trị (multivalued attribute) là thuộc
tính chứa nhiều giá trị khác nhau thuộc một miền
trị, được biểu diễn bằng hình bầu dục nét đôi.
Thuoäc tính phức hôïp
8
- 2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể,
Tập Giá trị Tập Giá trị
Các loại thuộc tính: Các loại thuộc tính:
Thuộc tính chứa và thuộc tính dẫn xuất Giá trị của tập thuộc tính
Thuộc tính chứa (stored attribute) là thuộc tính Còn được gọi là “Miền giá trị” của thuộc tính
mà giá trị của nó không được suy dẫn từ các Tập các giá trị có thể được gán cho thuộc tính
thuộc tính khác. đó đối với mỗi loại thực thể riêng
Thuộc tính dẫn xuất (derived attribute) là thuộc Không được thể hiện trên giản đồ ER
tính mà giá trị của nó được suy dẫn từ các thuộc
tính khác, được biểu diễn bằng hình bầu dục nét
đứt.
2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể,
Tập Giá trị Tập Giá trị
Các loại thuộc tính: Loại thöïc theå (entity type, regular entity type,entity
class, generic entity) :
Thuộc tính đơn trị
Là tập hợp các thực thể thuộc cùng một loại
(thường tương ứng với một bảng).
Loại Thực thể thường được biểu diễn bởi một
hình chữ nhật, và tên của thực thể được đặt
trong hình chữ nhật
Thuộc tính dẫn xuất Thuộc tính đa trị
Thuộc tính chứa
Tên của các loại thực thể (trong một hệ
thống) phải khác nhau trong một mô hình
thực thể kết hợp
2.1 Thực thể, Thuộc tính, Loại Thực thể, 2.1 Thực thể, Thuộc tính, Loại Thực thể,
Tập Giá trị Tập Giá trị
Tập thöïc theå (entity set):
NHANVIEN CONGTY
ENTITY TYPE:
(Ten, Tuoi, Luong) (Ten, Diachi, Giamdoc)
Là tập hợp các thực thể thuộc cùng một loại nào
đó ở một thời điểm bất kỳ N1: Tran A, 24, 2Tr
C1: ABC, HCMC, Nguyen B
ENTITY SET: N2: Nguyen B, 34, 3Tr
C2: MNO, HNC, Tran A
(Extension)
N3: Le C, 56, 4Tr
…
…
9
- 2.2 Khóa của loại Thực thể 2.2 Khóa của loại Thực thể
Khóa / thuộc tính xác định
key / identifier
Khóa đơn và khóa phức hợp
Khóa là một thuộc tính hoặc tổ hợp các thuộc Khóa đơn (simple key) là khóa chỉ có một thuộc
tính dùng để xác định duy nhất một thể hiện của tính.
một kiểu thực thể. Khóa phức hợp (composite key) là khóa có nhiều
hơn một thuộc tính.
Thuộc tính khóa và thuộc tính không khóa
Thuộc tính khóa là thuộc tính ở trong khóa. Khóa dự tuyển
key attribute / prime attribute / identifier attribute candidate key
Thuộc tính khóa được gạch dưới. Khóa dự tuyển là khóa của một kiểu thực thể.
Thuộc tính không khóa (non-key attribute) là Một kiểu thực thể có ít nhất một khóa dự tuyển.
thuộc tính không ở trong khóa.
Thuộc tính không khóa còn được gọi là thuộc tính
mô tả (descriptor).
2.2 Khóa của loại Thực thể 2.2 Khóa của loại Thực thể
Khóa chính
primary key
Khóa chính là một khóa tiêu biểu trong các khóa
dự tuyển của một kiểu thực thể.
primary key
Khóa đơn
Khóa chính dùng để liên kết giữa các thực thể.
Thuộc tính không khóa
Khóa phức hợp
2.3 Mối kết hợp và loại mối kết hợp 2.3 Mối kết hợp và loại mối kết hợp
Loại mối kết hợp và tập mối kết hợp có cùng tên
Mối kết hợp (relationship): liên hệ với hai hay Có nhiều hơn một loại mối kết hợp có thể có
nhiều thực thể khác nhau mang một ý nghĩa nào trong cùng loại thực thể
đó Ví dụ: QUANLY và PHANCONG là các mối kết
Tập mối kết hợp (relationship set): những mối hợp khác nhau giữa NHANVIEN và
kết hợp có cùng loại kết hợp PHONGBAN
Loại mối kết hợp (relationship type): các thực
thể được nhóm lại hay phân loại thành một loại
mối kết hợp
10
- 2.3 Mối kết hợp và loại mối kết hợp 2.3 Mối kết hợp và loại mối kết hợp
(0,N) 1 (1,1) (1,N)
Lamviec Theo mô hình cuả Bậc / ngôi của mối liên kết (degree / arity of
N 1 Peter Chen
relationship)
Giamsat Nhanvien Phongban Bậc của mối liên kết là số lượng kiểu thực thể
tham gia đồng thời vào mối liên kết này.
1
1
N Quanly Các loại mối liên kết
(1,1) (0,1) (1,1)
Mối liên kết 1-ngôi (unary relationship)
Bi_giamsat Duoc_lamviec Lamviec
Theo mô hình cuả Mối liên kết 2-ngôi (binary relationship)
Crow’s Foot
Mối liên kết 3-ngôi (ternary relationship): 3 kiểu
thực thể đồng thời tham gia vào mối liên kết.
Nhanvien Phongban
….
Mối liên kết n-ngôi(n-ary):………….
Giamsat Duoc_quanly Quanly
2.3 Mối kết hợp và loại mối kết hợp 2.3 Mối kết hợp và loại mối kết hợp
Bậc / ngôi của mối liên kết (degree / arity of Bậc / ngôi của mối liên kết (degree / arity of
relationship) relationship):Relationship Degree
1 1 M N
EMPLOYEE PROFESSOR CONTRIBUTOR CFR RECIPIENT
1
teaches P
Entities of two different
M
FUND
types related to each
other is married
CLASS
One entity related to
another of the same Terary
Entities of three different
entity type Unary
types related to each
Binary
other or recursive relationship
Theo mô hình của
Peter Chen
2.3 Mối kết hợp và loại mối kết hợp 2.3 Mối kết hợp và loại mối kết hợp
Thuộc tính của mối kết hợp (Relationship
Thuộc tính của mối kết hợp (Relationship Attributes) Thoigian
Attributes)
Một loại mối kết hợp có thể có các thuộc (1,N) (1,M)
Nhanvien Phancong Phongban
tính để mô tả tính chất của một mối kết hợp
Các thuộc tính này không thể gắn với các Thoigian
thực thể tham gia, i.e., nó chỉ có ý nghĩa
trong ngữ cảnh của một mối kết hợp
Nhanvien Phancong Phongban
Mối kết hợp không có thuộc tính khóa
(1,N) (1,1) (1,M)
chính. Việc xác định một mối kết hợp nào (1,1)
Composite entity
đó trong một tập các mối kết hợp thông qua
Hoặc bridge entity
các khóa của các thực thể tham gia
Hoặc assocciative entity
Hoặc intersection entity
11
- 2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp
Loại mối kết hợp luôn có một số ràng buộc về Lượng số của mối liên kết (cardinality of
cấu trúc nhằm giới hạn khả năng có thể kết relationship)
hợp của các thực thể tham gia trong một tập Lượng số của mối liên kết là số lượng thể hiện
hợp mối kết hợp tương ứng thực thể tham gia vào mối liên kết này.
Xuất phát từ các ràng buộc của thế giới
thực
Có 2 loại ràng buộc mối kết hợp chính:
• cardinality ratio constraint
• participation constraint
2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp
Các loại lượng số Many-to-Many, N:M
Many-to-Many,N:M (mặc định)
Many-to-One, N:1 N M
One-to-Many, 1:N NHANVIEN LAMVIEC PHONGBAN
One-to-One, 1:1
Ý nghĩa:
Một nhân viên có thể làm việc ở nhiều phòng
ban (≥0) và một phòng ban có thể có nhiều
nhân viên (N, M là bất kỳ)
1-to-1 1-to Many Many-to-1 Many-to-Many
2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp
Many-to-One, N:1 One-to-Many, 1:N
N 1
NHANVIEN LAMVIEC PHONGBAN 1 N
NHANVIEN LAMVIEC PHONGBAN
Ý nghĩa: Ý nghĩa:
Một nhân viên có thể làm việc ở nhiều nhất là Một nhân viên có thể làm việc ở nhiều phòng
một phòng ban (≤1) và một phòng ban có ban (≥0) và một phòng ban chỉ có nhiều
thể có nhiều nhân viên (N là bất kỳ) nhất một nhân viên (N là bất kỳ)
12
- 2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp
One-to-One, 1:1 Participation Constraint (Ràng buộc về sự
tham gia)
Cho biết sự tồn tại của một thực thể e E
1 1 có phụ thuộc vào một thực thể khác thông
NHANVIEN LAMVIEC PHONGBAN qua loại kết hợp R hay không
Có hai loại:
• Toàn phần (total) – phụ thuộc tồn tại: mỗi thực
Ý nghĩa: thể e E phải tham gia vào một mối kết hợp,
nó không thể tồn tại mà không tham gia
Một nhân viên có thể làm việc ở nhiều nhất là
• Từng phần (partial): một thực thể e E trong
một phòng ban (≤1) và một phòng ban chỉ toàn bộ tập thực thể có tham gia vào một mối
có nhiều nhất một nhân viên kết hợp
2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp
Toàn phần (total) – phụ thuộc tồn tại: Riêng phần (partial): một số thực thể e
mỗi thực thể e E phải tham gia vào E trong toàn bộ tập thực thể có tham
một mối kết hợp gia vào một mối kết hợp
Ví dụ: Ví dụ:
N 1 (0,1) (1,1)
NHANVIEN LAMVIEC PHONGBAN NHANVIEN QUANLY PHONGBAN
Ý nghĩa: Ý nghĩa:
Mọi nhân viên bắt buộc phải làm việc ở một Trong mối kết hợp QUANLY, không phải mọi
phòng ban nào đó nhân viên đều quản lý phòng ban, ta nói,
sự tham gia của NHANVIEN trong loại mối
kết hợp QUANLY là riêng phần
2.4 Các ràng buộc trên loại mối kết hợp 2.4 Các ràng buộc trên loại mối kết hợp
Ký hiệu (min,max) cho các ràng buộc Ký hiệu (min,max) cho các ràng buộc
cấu trúc trên mối kết hợp cấu trúc trên mối kết hợp
Chỉ định mỗi thực thể e E tham gian ít Min=0 là tùy chọn (optional)
nhất min và nhiều nhất max thể hiện quan Nếu Min=1 hoặc nhiều là bắt buộc
hệ trong R (mandatory).
(min1, max1) (min2, max2) (min1, max1) (min2, max2)
E1 R E2 E1 R E2
Ý nghĩa:
Mỗi thực thể e1 E phải tham gia trong tập
mối kết hợp R ít nhất min1 và nhiều nhất
max1 lần (tương tự cho e2 E )
13
- 2.4 Các ràng buộc trên loại mối kết hợp 2.5 Loại thực thể yếu (weak entity type)
(0,N) 1 (1,1) (1,N) Loại thực thể không có thuộc tính khóa
Lamviec Theo mô hình cuả Phải tham gia trong một loại mối kết hợp xác định
N 1 Peter Chen
(identifying relationship type) trong đó có một loại
Giamsat Nhanvien Phongban
thực thể chủ hay lọai thực thể xác định (owner entity
type)
1
1
Các thực thể được xác định bằng sự kết hợp của:
Quanly
(1,1)
N
(1,1) •Khóa riêng phần (partial key) của loại thực thể
(0,1)
yếu
Bi_giamsat Duoc_lamviec Lamviec
Theo mô hình cuả •Loại thực thể mà chúng có quan hệ với trong
Crow’s Foot loại thực thể xác định
Lọai thực thể yếu luôn có ràng buộc tham gia toàn
Nhanvien Phongban phần(phụ thuộc tồn tại) trong mối kết hợp xác định
tương ứng, bởi vì thực thể yếu không thể xác định
mà không có thực thể chủ tương ứng
Giamsat Duoc_quanly Quanly
3. Thiết kế quan niệm ER: 3.1 Các bước thiết kế ER
►Có thể định nghĩa thực thể và mối kết hợp theo 1. Xác định các loại thực thể (loại thực thể hay
các cách khác nhau với cùng một mô hình! thuộc tính)
►Thiết kế giản đồ là một việc lặp đi lặp lại và có 2. Xác định loại mối kết hợp
thể cần có sự tinh chế 3. Xác định và gắn thuộc tính với loại thực thể và
•Các thuộc tính của loại mối kết hợp 1:1 có thể được loại mối kết hợp
ghép vào một trong các thực thể tham gia 4. Quyết định miền giá trị của thuộc tính
•Các thuộc tính của loại mối kết hợp 1:N (or N:1) có thể 5. Quyết định các thuộc tính khóa cho loại thực thể
được ghép vào loại thực thể của nhánh N 6. Gắn (tinh chế) cardinality ratio(s) vào loại mối kết
•Các thuộc tính của loại mối kết hợp N:M không thể hợp
được ghép chung 7. Thiết kế phân cấp chuyên biệt hóa/tổng quát hóa
(specialization/generalization) trong các ràng
buộc
3.2 Chuyển đổi lược đồ ER thành Bảng (table)
Các ký hiệu của mô hình ER
► Một lược đồ ER có thể được thể hiện dưới dạng tập hợp
các bảng thể hiện nội dung của CSDL (instance)
…
► Các khóa chính cho phép các loại thực thể và loại mối kết Entity Type
hợp được diễn đạt dưới dạng bảng Composite Attribute
► Đối với mỗi loại thực thể và loại mối kết hợp, một bảng Weak Entity Type
duy nhất có thể được phát sinh được gán cho một tên Derived Attribute
tương ứng với tên của loại thực thể hay loại mối kết hợp Relationship Type
► Mỗi bảng có một số cột tương ứng với các thuộc tính E1 R E2
Identifying Relationship Type
(atomic) và có một tên duy nhất. Một thuộc tính của một
Total Participation of E2 in R
bảng có thể có cùng miền giá trị với thuộc tính trong lược
Attribute
đồ ER E1 R E2
► Việc chuyển đổi một lược đồ ER thành một tập hợp các Cardinality Ratio 1:N for E1:E2in R
Key Attribute (min, max)
bảng là cơ bản để phát sinh một lược đồ quan hệ từ một R E
giản đồ ER Multivalued Attribute
Structural Constraint (min, max) on Participation of E in R
14
- 4. Ví dụ về Cơ sở dữ liệu quản lý điểm của
Với bài toán trên thì cần quản lý các đối tượng
sinh viên như: SINH VIÊN, MÔN HỌC, KHOA, LỚP.
Ví dụ: Bài toán quản lý điểm của sinh viên được phát
biểu đơn giản như sau:
"Trường có nhiều khoa, mỗi khoa có một mã khóa duy • Mối kết hợp
nhất, mỗi mã khoa xác định tên khoa, số điện thoại
khoa. Một khoa có nhiều lớp, mỗi lớp có một mã lớp duy
• Mối kết hợp "thuộc" sau biểu diễn mối liên
nhất, mỗi mã lớp xác định tên lớp. Mỗi sinh viên có một hệ giữa hai thực thể LỚP và KHOA.
mã số sinh viên duy nhất, mỗi mã số sinh viên xác định
họ tên, ngày sinh, địa chỉ, lớp mà sinh viên đó theo học,
giới tính của sinh viên đó, … Mỗi sinh viên có thể đăng
ký học nhiều môn và với mỗi môn học thì chỉ có một kết LỚP thuộc KHOA
quả nhất định. Mỗi môn học có một mã môn học nhất
định, mỗi mã môn học xác định tên môn học, số tiết của
môn học đó".
• Bản số của mối kết hợp
(1,1) (1,n)
LỚP thuộc KHOA MASV- (1,n)
(0,n) -MAMH
NU-
HOTEN- SINH VIEÂN MOÂN HOÏC -TENMH
NGAYSINH ketqua -SOTIET
HOCBONG
TINH-
(1,1) DIEMTHI
thuộc
(1,n)
MALOP- -MAKHOA
(1,1) (1,n)
-TENKHOA
TENLOP- LÔÙP KHOA -SOCBGD
thuộc
QUAÛN LYÙ LAO ÑOÄNG
Ñeå quaûn lyù vieäc phaân coâng caùc nhaân vieân tham gia vaøo xaây döïng caùc coâng
trình. Coâ ng ty xaây döïng ABC toå chöùc quaûn lyù nhö sau:
Cuøng luùc coâng ty coù theå tham gia xaây döïng nhieàu coâ ng trình, moãi coâng
trình coù moät maõ soá coâ ng trình duy nhaát (MACT), moãi maõ soá coâng trình xaùc
ñònh caùc thoâng tin nhö: Teâ n goïi coâng trình (TENCT), ñòa
ñieåm(ÑIAÑIEM), ngaø y coâng trình ñöôïc caáp giaáy pheùp xaâ y döï ng
(NGAYCAPGP), ngaøy khôûi coâ ng (NGAYKC), ngaøy hoaøn thaø nh
(NGAYHT)
Moãi nhaân vieân cuûa coâ ng ty ABC coù moät maõ soá nhaân vieâ n(MANV) duy
nhaát, moät maõ soá nhaân vieâ n xaùc ñònh caùc thoâng tin nhö: Hoï teâ n (HOTEN),
ngaøy sinh(NGAYSINH), phaùi (PHAI), ñòa chæ (ÑIACHI),phoø ng ban, …
Coâng ty phaâ n coâng caùc nhaân vieân tham gia vaøo caùc coâng trình, moãi coâng
trình coù theå ñöôïc phaân cho nhieàu nhaân vieâ n vaø moãi nhaâ n vieân cuøng luùc
cuõng coù theå tham gia vaøo nhieà u coâng trình. Vôùi moãi coâ ng trình moät nhaân
vieân coù moät soá löôïng ngaøy coâng (SLNGAYCONG) ñaõ tham gia vaø o coâng
trình ñoù .
Coâng ty coù nhieàu phoøng ban(Phoø ng keá toaù n, phoø ng kinh doanh, phoøng kyõ
thuaät, phoø ng toå chöùc, phoø ng chuyeâ n moâ n, Phoøng phuïc vuï ,…). Moãi phoø ng
ban coù moät maõ soá phoø ng ban(MAPB) duy nhaát, moät phoøng ban öùng vôùi
moät teâ n phoøng ban(TENPB)
15
- QUAÛN LYÙ THÖ VIEÄN Moâ hình ER
maDG soPM
laø chuû theå
Moät thö vieän toå chöùc vieäc cho möôïn saùch nhö sau: hoTen ÑOÄC GIAÛ
PHIEÁU ngayMuon
ngaySinh thuoäc veà MÖÔÏN
Moãi quyeån saùch ñöôïc ñaùnh moät maõ saùch (MASH) duøng ñeå phaân bieät diaChi
vôùi caùc quyeån saùch khaùc (giaû söû neáu moät taùc phaåm coù nhieàu baûn ngheNghiep thuoäc veà
gioáng nhau hoaëc coù nhieàu taäp thì cuõng xem laø coù maõ saùch khaùc
nhau), moãi maõ saùch xaùc ñònh caùc thoâng tin khaùc nhö : teân saùch
(TENSACH), teân taùc giaû (TACGIA), nhaø xuaát baûn (NHAXB), naêm
xuaát baûn (NAMXB). chöùa
soPM
Moãi ñoïc giaû ñöôïc thö vieân caáp cho moät theû thö vieän, trong ñoù coù ghi maDauSach ñöôïc keâ bôûi CHI TIEÁT maDauSach
ban
roõ maõ ñoïc giaû (MAÑG), cuøng vôùi caùc thoâng tin khaùc nhö : hoï teân tap
ÑAÀU SAÙCH
MÖÔÏN ngayTra
keâ
(HOTEN), ngaøy sinh (NGAYSINH), ñòa chæ (ÑIACHI), ngheà
nghieäp(NGHENGHIEP). laø töïa cuûa
Cöù moãi löôït möôïn saùch, ñoïc giaû phaûi ñaêng kyù caùc quyeån saùch caàn Löôïc ñoà CSDL
möôïn vaøo moät phieáu möôïn, moãi phieáu möôïn coù moät soá phieáu möôïn coù
DOCGIA(maDG,hoTen,ngaySinh,diaChi,ngheNghiep)
(SOPM) khaùc nhau, moãi phieáu möôïn xaùc ñònh caùc thoâng tin nhö: maSH PHIEUMUON(soPM,ngayMuon,maDG)
ngaøy möôïn saùch (NGAYMUON), maõ ñoïc giaû. Caùc caùc quyeån saùch tenSach
TÖÏA SAÙCH CHITIETMUON(soPM,maDauSach,ngayTra,maDauSach)
trong cuøng moät phieáu möôïn khoâng nhaát thieát phaûi traû trong moät laàn. tacGia
nhaXB
DAUSACH(maDauSach,ban,tap,maSH)
TUASACH(maSH,tenSach,tacGia,nhaXB,namXB)
namXB
Moâ hình ER vaø löôïc ñoà CSDL
QUAÛN LYÙ BAÙN HAØNG
Moãi khaùch haøng coù moät maõ khaùch haøng (MAKH) duy
nhaát, moãi MAKH xaùc ñònh ñöôïc caùc thoâng tin veà khaùch
haøng nhö : hoï teân khaùch haøng (HOTEN), ñòa chæ
(ÑIACHI), soá ñieän thoaïi (ÑIENTHOAI). Caùc maët haøng
ñöôïc phaân loaïi theo töøng nhoùm haøng, moãi nhoùm haøng coù
moät maõ nhoùm (MANHOM) duy nhaát, moãi maõ nhoùm haøng
xaùc ñònh teân nhoùm haøng (TENNHOM), taát nhieân moät
nhoùm haøng coù theå coù nhieàu maët haøng. Moãi maët haøng ñöôïc
ñaùnh moät maõ soá (MAHANG) duy nhaát, moãi maõ soá naøy xaùc
ñònh caùc thoâng tin veà maët haøng ñoù nhö : teân haøng
(TENHANG), ñôn giaù baùn (ÑONGIA), ñôn vò tính (ÑVT).
Moãi hoùa ñôn baùn haøng coù moät soá hoùa ñôn (SOHÑ) duy
nhaát, moãi hoùa ñôn xaùc ñònh ñöôïc khaùch haøng vaø ngaøy laäp
hoùa ñôn (NGAYLAPHÑ), ngaøy baùn haøng (NGAYBAN).
Vôùi moãi maët haøng trong moät hoùa ñôn cho bieát soá löôïng
baùn (SLBAN) cuûa maët haøng ñoù.
QUAÛN LYÙ DAÏY HOÏC
Ñeå quaûn lyù lòch daïy cuûa caùc giaùo vieân vaø lòch hoïc cuûa caùc lôùp, moät tröôøng toå chöùc nhö sau:
Moãi giaùo vieân coù moät maõ soá giaùo vieân (MAGV) duy nhaát, moãi MAGV xaùc ñònh caùc thoâng
tin nhö: hoï vaø teân giaùo vieân (HOTEN), soá ñieän thoaïi (DTGV). Moãi giaùo vieân coù theå daïy
nhieàu moân cho nhieàu khoa nhöng chæ thuoäc söï quaûn lyù haønh chaùnh cuûa moät khoa naøo ñoù.
Moãi moân hoïc coù moät maõ soá moân hoïc (MAMH) duy nhaát, moãi moân hoïc xaùc ñònh teân moân
hoïc(TENMH). Öùng vôùi moãi lôùp thì moãi moân hoïc chæ ñöôïc phaân cho moät giaùo vieân.
Moãi phoøng hoïc coù moät soá phoøng hoïc (PHONG) duy nhaát, moãi phoøng coù moät chöùc naêng
(CHUCNANG); chaúng haïn nhö phoøng lyù thuyeát, phoøng thöïc haønh maùy tính, phoøng nghe
nhìn, xöôûng thöïc taäp cô khí,…
Moãi khoa coù moät maõ khoa (MAKHOA) duy nhaát, moãi khoa xaùc ñònh caùc thoâng tin nhö: teân
khoa (TENKHOA), ñieän thoaïi khoa(DTKHOA).
Moãi lôùp coù moät maõ lôùp (MALOP) duy nhaát, moãi lôùp coù moät teân lôùp (TENLOP), só soá lôùp
(SISO). Moãi lôùp coù theå hoïc nhieàu moân cuûa nhieàu khoa nhöng chæ thuoäc söï quaûn lyù haønh
chính cuûa moät khoa naøo ñoù.
Haøng tuaàn, moãi giaùo vieân phaûi laäp lòch baùo giaûng cho bieát giaùo vieân ñoù seõ daïy nhöõng lôùp
naøo, ngaøy naøo (NGAYDAY), moân gì?, taïi phoøng naøo, töø tieát naøo (TUTIET) ñeán tieát naøo
(ÑENTIET),töïa ñeà baøi daïy (BAIDAY), nhöõng ghi chuù (GHICHU) veà caùc tieát daïy naøy, ñaây
laø giôø daïy lyù thuyeát (LYTHUYET) hay thöïc haønh - giaû söû neáu LYTHUYET=1 thì ñoù laø giôø
daïy thöïc haønh vaø neáu LYTHUYET=2 thì ñoù laø giôø lyù thuyeát, moät ngaøy coù 16 tieát, saùng töø
tieát 1 ñeán tieát 6, chieàu töø tieát 7 ñeán tieát 12, toái töø tieát 13 ñeán 16.
16
- Moâ hình quan heä (Relational Model)
Chương 3 Moâ hình Cô sôû döõ lieäu Quan heä (goïi taét laø Moâ hình
Quan heä) do E.F Codd ñeà xuaát naêm 1970. Moâ hình
naøy bao goàm:
– caùc khaùi nieäm lieân quan ñeán caáu truùc döõ lieäu döôùi
Mô hình quan hệ daïng doøng vaø coät nhö quan heä, boä, thuoäc tính, khoùa
chính, khoaù ngoaïi, ...
– pheùp toaùn taäp hôïp vaø pheùp toaùn quan heä.
– raøng buoäc toaøn veïn quan heä.
Caùc HQTCSDLQH ñöôïc xaây döïng döïa theo lyù thuyeát moâ
hình quan heä
MOÂ HÌNH QUAN HEÄ MOÂ HÌNH QUAN HEÄ
MASV MAMH MAKHOA DIEMTHI MASV HOSV TENSV
MA HOSV TEN MONHOC TEN DIEM
SV SV KHOA THI 99001 CSDL CNTT 3.0 99001 TRAN DAN THU
99001 TRAN DAN THU CO SO DU LIEU CNTT 3.0 99002 CSDL CNTT 8.0 99002 NGUYEN HA DA THAO
99002 NGUYEN HA DA THAO CO SO DU LIEU CNTT 8.0 99001 THVP CNTT 6.0 99005 LE THANH TRUNG
99005 THVP AV 5.0
99001 TRAN DAN THU TIN HOC VAN P. CNTT 6.0
99005 LE THANH TRUNG TIN HOC VAN P. ANH VAN 5.0 MAKHOA TENKHOA
CNTT CONG NGHE THONG TIN
AV ANH VAN
Baøi toaùn quaûn lyù ñieåm thi ñöôïc löu tröõ khoâng ñuùng
MAMH TENMH SOTIET
vôùi moâ hình quan heä seõ gaây ra dö thöøa döõ lieäu. Dö CSDL CO SO DU LIEU 90
thöøa döõ lieäu daãn ñeán caäp nhaät dò thöôøng THVP TIN HOC VAN PHONG 90
LÖÔÏC ÑOÀ QUAN HEÄ (Relation schema)
THUOÄC TÍNH (Attribute, arity)
– Laø taäp taát caû caùc thuoäc tính cuûa moät ñoái töôïng,
– Thoâng tin chi tieát söï vaät, söï vieäc hay ñoái töôïng söï vaät hay söï vieäc
– Thuoäc tính cuûa söï vaät ñöôïc phaân bieät qua teân – Löôïc ñoà quan heä Q vôùi taäp thuoäc tính
vaø khoâng ñöôïc coù hai thuoäc tính cuøng teân A1,A2,...An ñöôïc vieát laø Q(A1,A2,... An)
– Thuoäc tính phaûi thuoäc moät kieåu döõ lieäu nhaát – Moãi löôïc ñoà quan heä luoân keøm moät taân töø ñeå
ñònh nhö soá, chuoãi, ngaøy ... dieãn taû yù nghóa cuûa noù. Chaúng haïn LÑQH
Kh(MAKHOA,TENKHOA,SOCBGD)
coù taân töø: Moãi khoa coù maõ khoa ñeå phaân bieät
khoa naøy vôùi khoa kia, teân khoa vaø soá giaûng
vieân cuûa khoa
17
- QUAN HEÄ (relation) là một bảng dữ liệu hai chiều bao
QUAN HEÄ (Relation, instances of relation) gồm nhiều hàng (mẩu tin-record) và nhiều cột (thuộc
tính hoặc vùng tin(field)).
– Söï theå hieän cuûa löôïc ñoà quan heä Q ôû moät thôøi ñieåm
naøo ñoù ñöôïc goïi laø quan heä. Mỗi hàng là duy nhất: không thể có hai hàng có
cùng các giá trị ở tất cả vùng tin.
– Löôïc ñoà quan heä Q coù quan heä r.
Ngầm định là khóa chính luôn tồn tại
– Ví duï quan heä khoa
Giá trị trong một bộ:
rKh Tất cả các giá trị được xem là atomic (không thể
MAKHOA TENKHOA SOCBGD phân chia được nữa).
CNTT CONG NGHE THONG TIN 60 Thứ tự của các hàng là không quan trọng.
AV ANH VAN 60 Một bảng chỉ là một đại diện của một quan hệ
HOA HOA CHAT 20 Tuy nhiên, lưu trữ vật lý của một quan hệ phải có
MAÙY TÍNH MOI TRUONG 10 thứ tự.
Thứ tự của các cột là không quan trọng.
Không phải mọi bảng đều là quan hệ. Quan hệ là
một bảng không chứa các hàng giống hệt nhau.
Giá trị không biết cũng phải được thể hiện: BOÄ (Tuple)
Chúng được thay thế bằng giá trị đặc biệt null. – Boä laø taäp moãi giaù trò lieân quan cuûa taát caû caùc
Null có nhiều ý nghĩa: “không biết”, “không quan thuoäc tính cuûa moät löôïc ñoà quan heä.
tâm”, “không thể áp dụng một bộ đó – Ví duï quan heä sau coù 2 boä
MA NGAY MA HOC
Quan hệ: Supplier SV HOTEN NU SINH LOP TINH BONG
Snum Name City 99001 TRAN AN TRUE 15-03-1977 CÑTH2B T GIANG 120000
S1 Nguyễn Trung Tiến SF 99002 NGUYEN HA TRUE 25-04-1986 TCTH29C TPHCM 120000
S2 Trần Thị Yến LA
S3 Nguyễn Văn An SF
Ràng buộc khóa chính Candidate Key
• Super key (siêu khóa): SK của r là một • Candidate key K của r(R) thỏa mãn 2 điều kiện:
thuộc tính hay tập hợp các thuộc tính để – K là một SK, và
xác định duy nhất một bộ trong một quan – K là SK bé nhất (K’K, K’≠K, K’ không phải là SK).
hệ (không có hai bộ nào trong bất kỳ thể • Quan hệ r có thể có nhiều hơn một khóa K
hiện quan hệ r(R) có cùng giá trị SK). • Ex:
• i.e., Với mọi bộ phân biệt t1 và t2 trong – XE{TINH_TP, SOXE, SOHIEUXE, NOISX, KIEUDANG,
NAM}
r(R), t1[SK] t2[SK]. – Có hai SK là K1 = {TINH_TP, SOXE}, K2 =
• Mọi quan hệ đều có ít nhất một SK. {SOHIEUXE}, nhưng K1 không là Khóa.
18
- Ràng buộc khóa ngoại và toàn
Foreign Key – Khóa ngoại
vẹn tham chiếu
KHO MAKHOA TENKHOA
A CNTT Cong nghe Thong tin • Cho FK r1, FK ≠, FK được gọi là khóa ngoại
VT Vien thong
của r1 (tham chiếu đến r2) khi:
DT Dien tu • Các thuộc tính trong FK phải có cùng miền giá
SVIEN TENSV MASV MAHK
trị với các thuộc tính khóa chính PK trong r2.
• Giá trị tại FK của một bộ t1r1 bằng giá trị tại PK
Nhat 11 CNTT
của một bộ t2r2 hoặc bằng giá trị rỗng null.
Minh 16 DT
Trường hợp đầu, ta nói t1 tham chiếu tới bộ t2.
(t1[FK]=t2[PK])
• Tập hợp các thuộc tính trong một quan hệ (quan hệ
• Nếu tất cả các ràng buộc khóa ngoại được bảo
con) được dùng để tham chiếu tới một bộ của quan
đảm cho một quan hệ, ta nói đã đạt được toàn
hệ khác (quan hệ cha). Khóa ngoại phải tham chiếu
vẹn tham chiếu - referential intergrity.
tới khóa chính của quan hệ đựợc tham chiếu.
Primary Key – Khóa chính Alternate Key
• Nếu có nhiều Khóa (candidate key) trong một • Là Candidate Key nhưng không được
quan hệ, người thiết kế hoặc người quản trị CSDL chọn là primary key.
sẽ chọn ra một khóa là khóa chính để nhận biết
các bộ trong một quan hệ. • Được khai báo ràng buộc duy nhất
• Các thuộc tính khóa chính được gạch dưới. (uniqueness constraint)
• Các thuộc tính khóa chính PK của quan hệ r
không thể mang giá trị null ở bất kỳ bộ nào vì giá
trị của khóa chính được dùng để xác định các bộ.
– t[PK] null tr(R)
• Các thuộc tính khác của r cũng có thể có ràng
buộc quy định không được có giá trị null, cho dù
chúng không tham gia vào khóa chính.
• Ex: Sinhvien(MaSv, TenSv, Khoa)
Cơ sở dữ liệu quan hệ
A primary key in a table
a) can be the same value as other primary key values Cơ sở dữ liệu quan hệ (relational database)
in the same table bao gồm các bảng (quan hệ) biểu diễn các
b) must be different from foreign keys in another table thực thể và các khóa chính / khóa ngoại biểu
diễn các mối liên kết.
c) must not contain NULL.
d) must be a number andmust be different from a
primary key in another table
19
- Cơ sở dữ liệu quan hệ Cơ sở dữ liệu quan hệ
Primary Key
Foreign Key (implements 1:N
relationship between customer and
order)
Combined, these are a composite
primary key (uniquely identifies the
order line)…individually they are
foreign keys (implement M:N
relationship between order and
product)
Cơ sở dữ liệu quan hệ.
Sự tương ứng với mô hình ER Lược đồ cơ sở dữ liệu
Mỗi quan hệ (bảng) tương ứng với một kiểu Lược đồ cơ sở dữ liệu
thực thể hoặc với một kiểu mối liên kết nhiều - database schema
nhiều. Lược đồ cơ sở dữ liệu là một tập hợp các lược đồ
Mỗi hàng tương ứng với một thể hiện thực thể quan hệ.
hoặc với một thể hiện mối liên kết nhiều - Trong một lược đồ cơ sở dữ liệu, các tên lược
nhiều. đồ quan hệ là duy nhất.
Mỗi cột tương ứng với một thuộc tính.
Lược đồ cơ sở dữ liệu:
Từ quan hệ (relation) trong cơ sở dữ liệu Emp (Empnum, Name, Sal, Tax, Mgrnum, Deptnum)
quan hệ không có cùng nghĩa với từ mối quan Dept (Deptnum, Name, Area, Mgrnum)
Supplier (Snum, Name, City)
hệ (relationship) trong mô hình ER. Supply (Snum, Pnum, Deptnum, Quan)
Ràng buộc toàn vẹn Ràng buộc toàn vẹn
Ràng buộc toàn vẹn Qui tắc hoạt động
integrity constraint action assertion
Ràng buộc toàn vẹn là một qui tắc mà tất cả các Các qui tắc nghiệp vụ (business rule).
dữ liệu trong CSDL phải thỏa mãn qui tắc này.
Ràng buộc miền giá trị
domain constraint
Các giá trị cho phép của một thuộc tính.
Toàn vẹn thực thể
entity integrity
Thuộc tính khóa chính không có giá trị rỗng (null
value)
20
nguon tai.lieu . vn