You are on page 1of 32

CƠ SỞ DỮ LIỆU

Ths. Đặng Thị Kim Anh


kimanh060282@gmail.com
Tài liệu tham khảo

 Giáo trình nhập môn CSDL quan hệ, Lê


Tiến Vương – NXB Giáo dục 2004

 Cơ sở dữ liệu, Đỗ Trung Tuấn

 Cơ sở dữ liệu - lý thuyết và thực hành,


Nguyễn Bá Tường

Chủ động – Tích cực Học tập 6/3/2019 2


Yêu cầu:
Sinh viên phải nắm vững:
• Các khái niệm cơ bản về CSDL.
• Mô hình thực thể liên kết ER. Đặc tả được bài toán
trong thực tế bằng mô hình ER.
• Mô hình quan hệ, viết được các biểu thức truy vấn
CSDL quan hệ bằng đại số quan hệ, biết cách chuyển
từ mô hình thực thể ER sang mô hình CSDL quan hệ.
• Các dạng chuẩn và áp dụng thiết kế được CSDL theo
chuẩn 3 (3NF) hoặc chuẩn Boyce – Codd (BCNF).

Chủ động – Tích cực Học tập 6/3/2019 3


NỘI DUNG:
Chương 1: Tổng quan về Cơ sở dữ liệu
 Chương 2: Mô hình thực thể liên kết ER
 Chương 3: Mô hình Cơ sở dữ liệu quan hệ
 Chương 4: Lý thuyết thiết kế CSDL quan hệ

Chủ động – Tích cực Học tập 6/3/2019 4


HÌNH THỨC THI:
 Điểm quá trình:
 Điểm chuyên cần: 30%
 Điểm bài tập: 70%
 Hình thức thi:
Học lại: nếu điểm chuyên cần dưới 5 hoặc điểm bài tập
dưới 4.

Chủ động – Tích cực Học tập 6/3/2019 6


CHƯƠNG I:

TỔNG QUAN VỀ CSDL

6/3/2019 7
Thảo luận: Vì sao phải học CSDL?
Ví dụ: Bài toán quản lý bán hàng

ST Điện thoại Hãng SX Mô tả ĐG SL Thành tiền Ngày bán


T
1 Galaxy A Samsung Cảm ứng 300$ 5 1500$ 7/8/2013
2 Nokia 7280 Nokia Thẻ nhớ 2GB 250$ 4 1000$ 7/8/2013
3 Nokia 7280 Nokia Thẻ nhớ 2GB 250$ 3 750$ 10/8/2013
4 Galaxy A Samsung Cảm ứng 300$ 2 600$ 10/8/2013
5 Galaxy S Samsung Ảnh 2px 500$ 4 2000$ 10/8/2013
6 Nokia 7280 Nokia Thẻ nhớ 2GB 250$ 6 1500$ 11/8/2013
4 Galaxy A Samsung Cảm ứng 300$ 3 900$ 11/8/2013
5 Galaxy S Samsung Ảnh 2px 500$ 1 500$ 12/8/2013
6 Nokia 7280 Nokia Thẻ nhớ 2GB 250$ 2 500$ 12/8/2013
4 Galaxy A Samsung Cảm ứng 300$ 4 1200$ 12/8/2013

Chủ động – Tích cực Học tập 6/3/2019 8


Cách lưu trữ truyền thống
Lưu trữ dữ liệu bằng các tệp tin truyền thống.
Ví dụ: Các file .xls, .doc, .txt, ….
Tổ chức riêng rẽ
Phục vụ cho một mục đích duy nhất

Ưu
Đáp ứng yêu cầu nhanh chóng

Ít cần đầu tư tiền của, chất xám, …

Nhược
Thông tin không nhất quán, dư thừa

Thiếu sự kế thừa, chia sẻ thông tin.

 Không phù hợp với các hệ thống thông tin lớn!!!

Chủ động – Tích cực Học tập 6/3/2019 9


Giải pháp: CSDL và HQT CSDL
Bảng Bán Hàng
Mã SL Thành Ngày
Cơ sở dữ liệu quản lý ĐT tiền bán
cửa hàng bán điện thoại, S1 5 1500$
gồm: N1 4 1000$
• Thông tin về điện thoại N1 3 750$
S1 2 600$
• Thông tin về bán hàng
S2 4 2000$
• …..
N1 6 1500$
… … … …

Bảng Điện thoại


Mã ĐT Tên Đt Hãng SX Mô Tả Đơn giá
S1 Galaxy A Sam Sung Cảm ứng 300
N1 Nokia 7280 Nokia Thẻ nhớ 2GB 250
S2 Galaxy S Sam sung Ảnh 2px 500

Chủ động – Tích cực Học tập 6/3/2019 10


I. Cơ sở dữ liệu là gì?
 Cơ sở dữ liệu (database) là một hệ thống các
thông tin có cấu trúc được lưu trữ trên bộ nhớ ngoài,
nhằm thoả mãn yêu cầu khai thác thông tin đồng thời
của nhiều người sử dụng hay nhiều chương trình ứng
dụng với nhiều mục đích khác nhau.
CSDL bao gồm các loại dữ liệu: văn bản, âm
thanh, hình ảnh, … được mã hóa và lưu trữ dưới
dạng file cụ thể
Lưu trữ thông tin
Người
dùng
CSDL
Cho phép truy cập
thông tin
Chủ động – Tích cực Học tập 6/3/2019 11
Ví dụ: Cơ sở dữ liệu
quản lý học tập trong
trường đại học
Thông tin về sinh viên
Thông tin về môn học
Thông tin về điểm,
…..

Chủ động – Tích cực Học tập 6/3/2019 12


Phân loại CSDL
Cơ sở dữ liệu dạng file: dữ liệu được lưu trữ
dưới dạng các file có thể là text, ascii, *.dbf. Tiêu biểu
cho cơ sở dữ liệu dạng file là*.mdb Foxpro
Cơ sở dữ liệu quan hệ: dữ liệu được lưu trữ
trong các bảng dữ liệu gọi là các thực thể, giữa các
thực thể này có mối liên hệ với nhau gọi là các quan
hệ, mỗi quan hệ có các thuộc tính, trong đó có một
thuộc tính là khóa chính. Các hệ quản trị hỗ trợ cơ sở
dữ liệu quan hệ như: MS SQL server, Oracle,
MySQL...

Chủ động – Tích cực Học tập 6/3/2019 13


Phân loại CSDL
Cơ sở dữ liệu hướng đối tượng: dữ liệu cũng được lưu
trữ trong các bảng dữ liệu nhưng các bảng có bổ sung thêm
các tính năng hướng đối tượng như lưu trữ thêm các hành vi,
nhằm thể hiện hành vi của đối tượng. Mỗi bảng xem như một
lớp dữ liệu, một dòng dữ liệu trong bảng là một đối tượng. Các
hệ quản trị có hỗ trợ cơ sở dữ liệu hướng đối tượng như: MS
SQL server, Oracle, Postgres
Cơ sở dữ liệu bán cấu trúc: dữ liệu được lưu dưới dạng
XML, với định dạng này thông tin mô tả về đối tượng thể hiện
trong các tag. Đây là cơ sở dữ liệu có nhiều ưu điểm do lưu
trữ được hầu hết các loại dữ liệu khác nhau nên cơ sở dữ liệu
bán cấu trúc là hướng mới trong nghiên cứu và ứng dụng.

Chủ động – Tích cực Học tập 6/3/2019 14


*Các tiêu chuẩn của CSDL
1. Phản
ánh trung
thực thực
tế

4. Hiệu 2. Tính an
suất sử toàn – bảo
dụng cao mật

3. Tính
không dư
thừa
Chủ động – Tích cực Học tập 6/3/2019 15
* Lược đồ CSDL và thể hiện của lược đồ
CSDL
 Lược đồ CSDL: Là bản thiết kế tổng thể của CSDL.
 Thể hiện của lược đồ CSDL: là tập hợp thông tin được
lưu trữ tại một thời điểm cụ thể.
 Ví dụ: Nếu CSDL chỉ có một bảng HO SO như sau:

Nếu CSDL có nhiều bảng thì cấu trúc các bảng chính là
lược đồ CSDL, còn dữ liệu lưu trữ trong các bảng gọi là
thể hiện của lược đồ CSDL.

Chủ động – Tích cực Học tập 6/3/2019 16


II. Đối tượng sử dụng CSDL
Đối tượng trực tiếp
Là những người tham gia thiết kế, xây dựng,
bảo trì và sử dụng một CSDL.
Đối tượng gián tiếp
Những người phân tích, phát triển và thực
hiện tạo ra môi trường hệ thống và phần
mềm của hệ QTCSDL.
Không trực tiếp thao tác trên một HQTCSDL
cụ thể.

Chủ động – Tích cực Học tập 6/3/2019 17


III. Hệ quản trị CSDL
Hệ quản trị CSDL là tập hợp các phần mềm chuyên dụng cho
phép người dùng tạo ra, bảo trì và khai thác một CSDL.
Một Hệ quản trị CSDL phải có ít nhất các thành phần sau:
 Định nghĩa dữ liệu → DDL (Data Definition Language)
 Thêm, sửa, xóa dữ liệu → DML (Data Manipulation
Language)
 Truy vấn dữ liệu → SQL (Structured Query Language)
 Quản lý dữ liệu → DCL (Data Control Language) …
Các hệ quản trị CSDL hiện nay:
Access, SQL Server, Oracle, DB2, SQL Lite, …

Chủ động – Tích cực Học tập 6/3/2019 18


Hệ quản trị cơ sở dữ liệu

Chương trình ứng dụng 1

Quản lý dữ liệu

Hệ
Chương trình ứng dụng 2
Quản
Quản lý dữ liệu Trị CSDL

CSDL

Chương trình ứng dụng 3

Quản lý dữ liệu

19
Ưu điểm của HQT CSDL
Quản lý được dữ liệu dư thừa
Đảm bảo tính nhất quán cho dữ liệu
Tạo khả năng chia sẻ dữ liệu nhiều hơn
Cải tiến tính toàn vẹn cho dữ liệu
Nhược điểm
HQT CSDL tốt thì khá phức tạp
HQT CSDL tốt thường rất lớn, chiếm nhiều dung lượng
bộ nhớ
Giá cả khác nhau tùy theo môi trường và chức năng
HQT CSDL được viết tổng quát cho nhiều người dùng
thì thường chậm
Chủ động – Tích cực Học tập 6/3/2019 20
*Phân loại Hệ QTCSDL
Theo mô hình dữ liệu:
Mô hình dữ liệu Hệ QT CSDL

Quan hệ Hệ QT CSDL quan hệ

Mạng Hệ QT CSDL mạng

Phân cấp Hệ QT CSDL phân cấp

Theo số người sử dụng đồng thời:


Hệ QT CSDL đơn
Hệ QT CSDL đa người dùng
Theo vị trí đặt CSDL:
Hệ QT CSDL tập trung
Hệ QT CSDL phân tán
Chủ động – Tích cực Học tập 6/3/2019 21
*Các thành phần trong hệ QT CSDL
• CSDL: cho phép nhiều người sử dụng, nhiều
chương trình ứng dụng cùng chia sẻ, dùng để lưu
trữ dữ liệu
• Người sử dụng (user): Là những người có nhu
cầu truy cập vào CSDL để thực hiện một thao tác
nào đó. VD: các lập trình viên ứng dụng, những
người sử dụng thiết bị cuối từ xa, …)
• Phần mềm QT CSDL.
• Phần cứng: Các thiết bị nhớ thứ cấp được sử dụng
để lưu trữ dữ liệu

Chủ động – Tích cực Học tập 6/3/2019 22


IV. Mô hình CSDL
 Mỗi CSDL đều phải được biểu diễn dưới một mô hình dữ
liệu nào đó.
 Mô hình CSDL: Là một tập hợp các công cụ khái
niệm để mô tả dữ liệu, mối liên hệ giữa các dữ liệu,
ngữ nghĩa của dữ liệu cùng các ràng buộc nhất quán.
 Ví dụ: Để lưu trữ thông tin về SV ATTT gồm các
thông tin: họ tên, ngày sinh, điện thoại, email. Ta
dùng một bảng có các cột là HT, NS, DT, Email. Bảng
này được gọi là mô hình CSDL quan hệ và được viết
như sau: SV(HT, NS, DT, Email)

Chủ động – Tích cực Học tập 6/3/2019 23


Một vài mô hình dữ liệu
Mô hình quan hệ
Mô hình thực thể liên kết
Mô hình phân cấp
Mô hình hướng đối tượng
Mô hình kho dữ liệu

Chủ động – Tích cực Học tập 6/3/2019 24


1/ Mô hình thực thể liên kết ER
 Là một mô hình mô tả súc tích về các đối tượng cùng
với các mối liên kết giữa các đối tượng này.
 Bao gồm các mô tả chi tiết của:
Thực thể (Entity Sets)
Thuộc tính (Attributes)
Liên kết (Relationship) và các ràng buộc
 Ví dụ:

Chủ động – Tích cực Học tập 6/3/2019 25


2/ Mô hình CSDL quan hệ
 Là mô hình biểu diễn dữ liệu trong một CSDL như một tập các
quan hệ. Mỗi quan hệ là một bảng các giá trị gồm các dòng và
các cột
 Ví dụ:

Mã SV Họ và tên Ngày sinh Địa chỉ

0001 Nguyễn Thị Hà 12/12/1989 Hà nội

0002 Trần Văn Hải 2/3/1990 Thanh Hóa

Chủ động – Tích cực Học tập 6/3/2019 26


3/ Mô hình phân cấp
 Mô hình dữ liệu phân cấp là một cây (Tree) trong đó mỗi nút
của cây biểu diễn một thực thể, giữa nút con và nút cha được
liên hệ với nhau theo một mối quan hệ xác định.
 Ví dụ:
TOÀN QUỐC

HÀ NỘI HẢI PHÒNG NAM ĐỊNH …

ĐÔNG ANH BA ĐÌNH …

CỔ LOA NAM HỒNG …

HỘ 1 HỘ 2 …

NK 1 NK 1 …

Chủ động – Tích cực Học tập 6/3/2019 27


4/ Mô hình dữ liệu hướng đối tượng
 Là loại mô hình tiên tiến nhất hiện nay, dựa trên cách tiếp cận
hướng đối tượng
 Sử dụng các khái niệm như lớp, sự kế thừa, kế thừa bội…
 Phương pháp tiếp cận này còn mới mẻ và các hệ quản trị
CSDL hướng đối tượng hiện nay vẫn chưa nhiều và chưa phổ
biến.

Chủ động – Tích cực Học tập 6/3/2019 28


5/ Mô hình kho dữ liệu
 Kho dữ liệu là một tập các dữ liệu có những đặt điểm
sau:
• Tập trung vào một chủ đề,
• Tổng hợp từ nhiều nguồn dữ liệu khác nhau, từ
nhiều thời gian, và không sửa đổi.
• Được dùng trong việc hỗ trợ ra quyết định trong
công tác quản lý
Kho dữ liệu: Data Warehouse

Chủ động – Tích cực Học tập 6/3/2019 29


V/ Ứng dụng của hệ CSDL
 Ngânhàng: Để quản lý các thông tin khách hàng, tài khoản,
khoản vay, các giao dịch tín dụng.
 Hàng không: Quản lý các thông tin đăng ký vé và lịch bay.
 Trường đại học: Quản lý sinh viên, quản lý quá trình tuyển
sinh.
 Viễnthông: Để ghi số các cuộc gọi, phát sinh hoá đơn hàng
tháng, tính toán số dư cho các thẻ gọi trả trước, lưu thông tin
về các mạng truyền thông.
 Kinhdoanh: Lưu thông tin về khách hàng, sản phẩm, theo dõi
công nợ của khách hàng và quá trình kinh doanh.
 Sản xuất: Quản lý dây truyền thiết bị, theo dõi việc sản xuất
các sản phẩm trong nhà máy, hàng tồn kho và đơn đặt hàng.

Chủ động – Tích cực Học tập 6/3/2019 30


VI/ Các bước xây dựng một hệ CSDL
 Mức khái niệm: tìm hiểu thực tế  xác định các đối
tượng và các mối quan hệ giữa các đối tượng  Đặc tả
thực tế bằng mô hình mức khái niệm (mô hình thực thể)
 Mức Logic: Biểu diễn mô hình khái niệm ở trên thông
qua một mô hình dữ liệu như: Mô hình quan hệ, mô hình
mạng, mô hình phân cấp…
 Mức vật lý: Sử dụng một hệ quản trị CSDL để cài đặt
CSDL trên máy tính và lập trình để quản trị CSDL.

Chủ động – Tích cực Học tập 6/3/2019 31


MỨC KHÁI NIỆM MỨC LOGIC MỨC VẬT LÝ

Môi trường
thực - thế
giới thực
NSD1
Cấu trúc
Được mô
ngoài 1
hình hoá
thành
Sơ đồ
Cấu trúc
NSD2 Cấu trúc Sơ đồ
ngoài 2 vật lý
quan niệm
(hoặc mức
logic)

Cấu trúc
ngoài n
CSDL
Chương trình
ứng dụng n
32
Chủ động – Tích cực Học tập 6/3/2019 33

You might also like