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

Cơ sở dữ liệu

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 (676.43 KB, 121 trang )

PHẠM QUANG TRÌNH

C¬ së d÷ liÖu

NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA HÀ NỘI
1


2


LêI NãI §ÇU
Cơ sở dữ liệu đang ngày càng được quan tâm nhiều trong lĩnh vực
công nghệ thông tin và truyền thông . Môn học Cơ sở dữ liệu không thể
thiếu trong chương trình đào tạo Cao đẳng, Đại học, Cao học. Hiện nay
đã có nhiều tài liệu về Cơ sở dữ liệu được xuất bản và lưu hành rộng rãi,
nhưng các tài liệu Cơ sở dữ liệu có nội dung sát với chương trình đào tạo
của một trường đại học, phù hợp với trình độ sinh viên và để làm tư liệu
giảng dạy cho giáo viên và học tập cho sinh viên chưa nhiều. Với hy vọng
có được một giáo trình phù hợp với chương trình đào tạo sinh viên
chuyên ngành Công nghệ Thông tin của của các trường đại học hiện
nay, tác giả đã biên soạn giáo trình này.
Để hoàn thành tập giáo trình này, tác giả đã cố gắng tích luỹ kinh
nghiệm giảng dạy trong nhiều năm, đã tham khảo nhiều tài liệu và ý kiến
góp ý của các đồng nghiệp. Tác giả hy vọng rằng đây là một tài liệu học tập
tốt của sinh viên và tham khảo cho giảng viên. Nhân dịp này tác giả xin cảm
ơn các đồng nghiệp đã giúp đỡ và đóng góp các ý kiến quý báu trong quá
trình hoàn thành giáo trình này.
Mặc dù đã cố gắng trong công tác biên soạn nhưng chắc chắn rằng
giáo trình này vẫn còn một vài thiêú sót. Tác giả mong nhận được sự góp
ý của độc giả và các bạn bè đồng nghiệp để giáo trình ngày càng hoàn


thiện hơn, phục vụ tốt nhu cầu dạy và học môn học này.

Tác giả

3


4


Chương 1.

TæNG QUAN VÒ C¥ Së D÷ LIÖU
Cơ sở dữ liệu là một môn học nghiên cứu về cách tổ chức, lưu trữ
và khai thác dữ liệu. Không có một ứng dụng tin học nào không bao gồm
các vấn đề tổ chức, lưu trữ và khai tác dữ liệu. Vì vậy, Cơ sở dữ liệu
đóng vai trò hết sức quan trọng trong Công nghệ Thông tin và môn học
Cơ sở dữ liệu là không thể thiếu trong chương trình đào tạo ở bậc đại học
ngành Công nghệ Thông tin.
1.1. CÁC KHÁI NIỆM CƠ BẢN

1.1.1. Tổ chức dữ liệu theo tệp tin truyền thống
Trước đây, khi tin học chưa phát triển, việc tin học hoá quản
lý ở các cơ quan, xí nghiệp được thực hiện từng phần riêng lẻ,
độc lập với nhau. Chẳng hạn, ở một trường đại học, để phục vụ
cho công tác đào tạo và quản lý khoa học, phòng Đào tạo đã tổ
chức lưu trữ thông tin về cán bộ giảng dạy, nghiên cứu,... của
trường với các thông tin: Họ tên, ngày sinh, học hàm, học vị,
chuyên môn, khoa,...
Do yêu cầu tổ chức, quản lý giảng dạy và nghiên cứu riêng

của từng khoa, các khoa cũng tổ chức lưu trữ hồ sơ của các cán bộ
trong khoa mình. Hồ sơ cán bộ ở khoa được trích từ phòng Đào
tạo một phần và bổ sung thêm một số các thông tin cần thiết khác.
Tương tự như vậy, các bộ phận khác như Phòng Kế toán, Phòng
Quản lý khoa học, ... cũng quản lý cán bộ theo một cách riêng.
Việc quản lý riêng rẽ như vậy có ưu điểm là thời gian triển
khai ngắn, không đòi hỏi đầu tư lớn về vật chất, thiết bị và nhân

5


sự. Tuy nhiên nó có nhược điểm là sự trùng lặp thông tin đã gây
ra lãng phí. Hơn nữa, sự trùng lặp đó sẽ dễ dẫn đến việc thiếu
nhất quán dữ liệu. Chẳng hạn, tại một thời điểm thông tin về một
cán bộ có thể khác nhau trên hai hệ thống của phòng đào tạo và
của khoa. Một hạn chế khác của cách quản lý riêng rẽ trên là thiếu
sự chia sẻ thông tin giữa các hệ thống, khó mở rộng hệ thống hoặc
kết nối các hệ thống thành một hệ thống chung.
Để khắc phục những nhược điểm của cách tổ chức dữ liệu
theo hệ thống tệp cổ điển, một phương pháp tổ chức dữ liệu mới
được đưa ra đó là phương pháp tổ chức dữ liệu thành các Cơ sở
dữ liệu.
1.1.2. Cơ sở dữ liệu (Data Base)
a) Khái niệm
Cơ sở dữ liệu (CSDL) là một tập các dữ liệu về các đối tượng
cần quản lý, được tổ chức theo một cơ chế thống nhất, được lưu
trữ đồng thời trên các vật mang tin của máy tính điện tử, cho phép
đồng thời nhiều người cùng khai thác, sử dụng.
Một cách khác ta có thể hiểu Cơ sở dữ liệu là một bộ sưu tập
các dữ liệu tác nghiệp được lưu trữ lại và được các hệ ứng dụng

của một “xí nghiệp” cụ thể nào đó khai thác, sử dụng.

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

NSD 1
.
.
.

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

NSD n

Các chương
trình ứng dụng khai
thác CSDL

Những người sử
dụng khai thác CSDL
Hình -1: Mô hình cơ sở dữ liệu

6



Tuy nhiên ta phải hiểu rằng một cơ sở dữ liệu không phải chỉ
là sự hợp nhất đơn thuần các hệ thống tập tin riêng lẻ mà nó phải
được xây dựng một cách có cấu trúc, được quản lý theo một cơ
chế thống nhất.
b) Các mức của cơ sở dữ liệu
+ Cơ sở dữ liệu mức vật lý: Bao gồm các tệp dữ liệu trên bộ nhớ
thứ cấp (các thiết bị lưu trữ ngoài). Các cấu trúc dữ liệu được mô
tả chi tiết.
+ Cơ sở dữ liệu mức khái niệm: Là sự biểu diễn trừu tượng của
cơ sở dữ liệu vật lý.
+ Khung nhìn (View) : Đây là mức sự trừu tượng nhất của cơ sở
dữ liệu. Nó chỉ mô tả một phần của CSDL. Thực chất đây là cách
nhìn, quan niệm của từng người sử dụng đối với cơ sở dữ liệu
khái niệm.
Sơ đồ sau mô tả các mức của cơ sở dữ liệu:
Người dùng 1

Khung nhìn 1

Người dùng 2

Khung nhìn 2

Người dùng n

Khung nhìn n

CSDL
khái niệm


CSDL
vật lý

Thể hiện (Instance): Là dữ liệu mô tả đối tượng hiện có trong cơ
sở dữ liệu.
Lược đồ (Scheme): Lược đồ cơ sở dữ liệu là “bộ khung” của cơ
sở dữ liệu. Chẳng hạn, khi xét một cơ sở dữ liệu vật lý được cài
đặt trong Hệ quản trị cơ sở dữ liệu trong FOXPRO, lược đồ bao
gồm tập các cấu trúc của các tệp DBF cùng với các mối quan hệ
giữa chúng. Trong hệ cơ sở dữ liệu MS ACCESS các tệp dữ liệu
được đóng gói trong têp MDB. Các mức của lược đồ cơ sở dữ liệu:
Lược đồ khái niệm là bộ khung của cơ sở dữ liệu mức khái niệm.
Lược đồ vật lý là bộ khung của cơ sở dữ liệu mức vật lý.
Khung nhìn được gọi là lược đồ con (Subscheme).

7


1.1.3. Vai trò của cơ sở dữ liệu
Cơ sở dữ liệu là một bộ phận không thể thiếu được trong các
hệ lưu trữ và tìm kiếm thông tin, các hệ thống quản lý kinh tế,
quản lý kho tàng, tư liệu, các hệ thống phục vụ công cộng, ngân
hàng, bán vé, thiết kế tự động,... Chẳng hạn vai trò của cơ sở dữ
liệu trong việc:
+ Tổ chức thông tin trong các bài toán khoa học kỹ thuật.
+ Làm kho dữ liệu trong hệ thống thông tin quản lý.
+ Tổ chức dữ liệu có cấu trúc phức tạp như các dữ liệu địa lý,
thủy văn, môi trường,... đòi hỏi khả năng lưu trữ lớn và tốc độ xử
lý nhanh hơn.

+ Ứng dụng trong các hệ thống hỗ trợ công nghiệp, giảng dạy,
đặc biệt là trong lĩnh vực hệ chuyên gia, người máy.
+ Ứng dụng trong hệ thống đa phương tiện, xử lý tri thức
(mối quan hệ giữa các sự kiện, hệ thống câu hỏi).
Việc tổ chức các cơ sở dữ liệu nhằm hạn chế sự trùng lặp
thông tin, đảm bảo tính nhất quán, tính toàn vẹn của dữ liệu. Cho
phép nhiều người cùng chia sẽ thông tin cho các ứng dụng khác
nhau nhờ đó tiết kiệm được tài nguyên và tăng hiệu quả khai thác.
Tuy nhiên việc tổ chức dữ liệu thành cơ sở dữ liệu làm nảy
sinh một số vấn đề cần quan tâm:
+ Việc đảm bảo sự an toàn của dữ liệu.
+ Tính chính xác của dữ liệu.
+ Phải có cơ chế bảo mật và phân quyền.
+ Vấn đề xử lý cạnh tranh.
+ Khả năng phục hồi dữ liệu khi cần thiết.
+ Phải có hệ quản trị cơ sở dữ liệu để tổ chức và khai thác cơ
sở dữ liệu.

8


1.1.4. Hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu là một hệ thống phần mềm giúp người
sử dụng tổ chức và khai thác cơ sở dữ liệu một cách có hiệu quả.
Một số hệ quản trị CSDL được sử dụng rộng rãi là FOXPRO,
ACCESS, Oracle, SQL,...
Một hệ quản trị cơ sở dữ liệu có các chức năng: Mô tả dữ liệu,
tìm kiếm dữ liệu, cập nhật dữ liệu, chuyển hoá dữ liệu, điều khiển
tính toàn vẹn của dữ liệu, quản lý các giao tác và an toàn của dữ
liệu. Trong các chức năng đó, ba chức năng sau đây là cơ bản nhất:

Mô tả dữ liệu, cập nhật dữ liệu, tìm kiếm dữ liệu.
Để thực hiện các chức năng trên, hệ quản trị CSDL trang bị 3
ngôn ngữ con tương ứng:
Ngôn ngữ mô tả dữ liệu: Cho phép khai báo cấu trúc dữ liệu, mô
tả các mối liên kết, cung cấp các quy tắc áp đặt lên dữ liệu.
Ngôn ngữ thao tác dữ liệu: Cho phép cập nhật dữ liệu, khai thác
dữ liệu theo nhiều mục đích khác nhau.
Ngôn ngữ con truy vấn dữ liệu: Nhằm hỗ trợ cho việc tìm kiếm,
truy vấn.
Để hiểu rõ hơn về hệ QTCSDL, ta có thể xem cơ sở dữ liệu
như là một kho dữ liệu. Người quản trị cơ sở dữ liệu là người
quản trị kho, có trách nhiệm quản lý và theo dõi toàn bộ các hoạt
động của kho:
(1) Nhập kho (Nạp dữ liệu vào)
(2) Loại bỏ hàng hỏng (Xoá dữ liệu)
(3) Sửa chữa hàng trong kho (Sửa dữ liệu)
(4) Xây kho mới (Tạo lập cơ sở dữ liệu)
(5) Xuất kho (Tìm kiếm và kết xuất dữ liệu)
(6) Bảo trì kho (Bảo trì dữ liệu).
Khi đó toàn bộ hệ thống máy móc thiết bị, kho tàng, quy định,
hướng dẫn phục vụ các thao tác tạo nên hệ quản lý kho. Tương tự,
các chương trình máy tính, các cơ sở dữ liệu và các quy tắc tạo nên
hệ QTCSDL.

9


Hệ cơ sở dữ liệu. Một hệ CSDL gồm 4 phần:
(1) CSDL hợp nhất: Bao gồm tất cả các dữ liệu của một "Doanh
nghiệp" (Enterprise) được hợp nhất lại sao cho tính dư thừa dữ

liệu là tối thiểu. Những người sử dụng và các chương trình ứng
dụng cùng sử dụng chung CSDL đó.
(2) Người sử dụng (USER): Là những người có nhu cầu truy
nhập vào CSDL để thực hiện một thao tác nào đó. Có 3 lớp người
sử dụng:
1. Người dùng cuối (End_User): Những người làm việc tại các
trạm cuối (Teminal).
2. Người
Programer).

viết

chương trình

ứng dụng (Application

3. Người quản trị CSDL (DBA): Đây là lớp người quan trọng,
có nhiệm vụ:
+ Quyết định nội dung thông tin của CSDL.
+ Quyết định cấu trúc lưu trữ và chiến lược truy cập.
+ Kiểm soát thẩm quyền và kiểm tra tính đúng đắn của dữ liệu.
+ Xác định chiến lược sao chép, phục hồi.
Lớp người này thường được cung cấp một số chương trình hỗ
trợ để phục vụ cho công việc quản trị.
(3) Phần mềm của hệ (DBMS: Data Base Management System): Hệ
QT CSDL.
(4) Phần cứng: Bao gồm các thiết bị nhớ thứ cấp được sử dụng
để lưu trữ CSDL.
Phân loại các hệ cơ sở dữ liệu:
+ Các hệ CSDL tập trung: Trong các hệ CSDL tập trung, các dữ

liệu được tập trung ở một trạm. Người sử dụng có thể truy nhập
dữ liệu từ các trạm khác thông qua các phương tiện truyền thông.
Các hệ CSDL tập trung có các dạng sau:
Hệ CSDL cá nhân (1)
Hệ CSDL trung tâm (2)
Hệ CSDL khách chủ (3)

10


Personal computer

CSDL

1
Center
computer

2
CSDL

Server

3

CSDL

Client

Client


Client/Server

Client

+ Các hệ CSDL phân tán: Trong các hệ CSDL phân tán, các dữ
liệu được trải trên nhiều trạm khác nhau và các dữ liệu địa
phương có quan hệ với nhau.

11


CSDL

CSDL

Trạm 1
Trạm 2

Mạng truyền thông

CSDL

Trạm 3

CSDL

Trạm 4

1.2. CÁC MÔ HÌNH DỮ LIỆU


1.2.1. Mô hình hoá trong tin học
Mô hình hoá trong tin học là sự xác lập tương quan giữa các
đặc trưng, thuộc tính của đối tượng (trong thế giới thực) với các
phần tử của một tập cho trước sao cho các thông tin của các phần
tử này trong quá trình “vận động” luôn phù hợp với sự vận động
của đối tượng được mô hình hoá.

12


1.2.2. Các mô hình dữ liệu
Mô hình dữ liệu là sự hình thức hoá bởi một tập ký hiệu để
mô tả dữ liệu và một tập các phép toán được sử dụng để thao tác
các dữ liệu này. Mỗi mô hình dữ liệu đặc trưng cho một phương
pháp tiếp cận dữ liệu của người phân tích-thiết kế. Sau đây là một
số mô hình dữ liệu được sử dụng phổ biến hiện nay:
+ Mô hình thực thể liên kết.
+ Mô hình quan hệ.
+ Mô hình hướng đối tượng.
1.2.2.1. Mô hình thực thể liên kết (E-R)
Mô hình thực thể liên kết được xây dựng dựa trên cơ sở nhận thức
về thế giới thực, bao gồm một tập các đối tượng cơ sở được gọi là các
thực thể và một tập các liên kết giữa các đối tượng (thực thể) đó. Mô
hình E-R cho phép ta thiết kế lược đồ dữ liệu khái niệm, chưa quan tâm
đến các yếu tố vật lý của CSDL. Để hiểu về mô hình E-R, ta tìm hiểu một
số khái niệm cơ bản sau:
a) Thực thể và kiểu thực thể
Thực thể: Là một đối tượng cụ thể hay trừu tượng mà ta
muốn mô tả để đưa vào CSDL.

Ví dụ. Khi quản lý sinh viên của nhà trường, ta có các thực thể:
Lê Anh, Trần Trung
Khoa CNTT, Khoa Kinh tế
Kiểu thực thể: Bao gồm tập các thực thể được mô tả theo cùng
một cấu trúc. Nói một cách khác kiểu thực thể là tập hợp các thực
thể có cùng các tính chất.
Ví dụ. Khi quản lý sinh viên của nhà trường, ta có các kiểu
thực thể:
Sinh viên
Khoa

13


Các kiểu thực thể được biểu diễn bằng hình chữ nhật, bên
trong ghi tên của kiểu thục thể.
b)Thuộc tính và khóa của tập thuộc tính.
Thuộc tính: Thông thường khi mô tả một đối tượng, ta mô tả
một số đặc trưng của đối tượng đó. Chẳng hạn, khi mô tả Sinh
viên Nguyễn An, ta mô tả:
Mã SV: 1
Họ tên: Nguyễn An
Ngày sinh: 10-10-1992
Quê quán: Đống đa, Hà nội
Mỗi đặc tính của các kiểu thực thể được gọi là một thuộc tính.
Ví dụ: Kiểu thực thể Sinh viên có các thuộc tính: Mã SV, Họ
tên, Ngày sinh, Quê quán.
Thông thường, khi mô tả các đối tượng ta lựa chọn các thuộc
tính sao cho việc quản lý đối tượng đáp ứng được yêu cầu của
việc quản lý và nó giúp ta phân biệt được các đối tượng với nhau

thông qua tập thuộc tính đó.
Các thuộc tính của kiểu thực thể được liệt kê cùng với kiểu
thực thể.

Sinh viên
MaSV
Hoten
Ngaysinh
Quequan

Khóa của tập thuộc tính: Tập con tối thiểu của tập thuộc tính
mà giá trị của nó giúp ta xác định duy nhất một đối tượng được
gọi là khóa của tập thuộc tính đó. Trong sơ sồ liên kết thực thể, các
thuộc tính khóa thường được gạch chân.

14


c) Liên kết thực thể
Liên kết thực thể: Là mối liên kết có ý nghĩa về quản lý giữa các
thực thể trong các kiểu thực thể. Các liên kết giống nhau tạo thành
một kiểu liên kết. Giữa các kiểu thực thể có các kiểu liên kết sau:
Liên kết một-một (1-1)
Hai kiểu thực thể A và B có liên kết 1-1 với nhau nếu mỗi thực
thể thuộc kiểu A liên kết với nhiều nhất một thực thể thuộc kiểu B
và ngược lại.
Biểu diễn:

A


B

Để kiểu thực thể A và kiểu thực thể B có thể liên kết 1-1 với
nhau, khóa của A phải có trong B hoặc ngược lại. Ví dụ:
THISINH
SBD
Hoten
Ngaysinh
Quequan
Sophach

DIEMTHI
Sophach
Diem

Liên kết một-nhiều (1-N)
Kiểu thực thể A có liên kết 1-N với kiểu thực thể B nếu mỗi
thực thể thuộc kiểu A có thể liên kết với nhiều thực thể thuộc kiểu
B, còn mỗi thực thể thuộc kiểu B liên kết với nhiều nhất một thực
thể thuộc kiểu A.
Biểu diễn:

A

B

Để kiểu thực thể A liên kết 1-N với kiểu thực thể B, khóa của
A phải có trong B. Ví dụ:

15



SINHVIEN

KHOA
Makh
Tenkh
Vitri
Truongkh
SoDT

MaSV
Hoten
Ngaysinh
Quequan
Makh

(3) Liên kết nhiều-nhiều (N-N)
Hai kiểu thực thể A và B có liên kết N-N với nhau nếu mỗi
thực thể thuộc kiểu A có thể liên kết với nhiều thực thể thuộc kiểu
B và ngược lại.
Biểu diễn:

A

B

Đối với các liên kết N-N thường được chuyển thành các liên
kết 1-N để thuận lợi trong việc quản lý bằng việc đưa vào kiểu
thực thể trung gian. Kiểu thực thể trung gian chứa kháo của cả hai

kiểu thực thể.

A

AB

Ví dụ:

MATHANG
MaMH
TenMH
DVTinh
Dongia

NHACC
MaNCC
MaMH
….

B

NHACC

MaNCC
TenNCC
DiachiNCC
TaikhoanNCC
DienthoaiNCC

Sơ đồ liên kết thực thể:

Sơ đồ liên kết thực thể gồm 3 phần: Kiểu thực thể, Các thuộc
tính, Các liên kết thực thể. Ví dụ.

16


§hµng

CT-§hµng

SH-Đơn
SH-NCC
Ngày_ĐH

NCC

SH-Đơn
Mã_MH
SLượng

M-hµng

SH-NCC,
Tên-NCC
ĐC-NCC

Mã-MH
Tên_MH
ĐVT
Đơngiá


1.2.2.2. Mô hình dữ liệu quan hệ
Mô hình quan hệ lần đầu tiên được E. F. Codd - một nhân
viên của hãng IBM đề xuất vào năm 1970. Mô hình quan hệ có cơ
sở lý thuyết vững chắc và đang được sử dụng rộng rãi trong việc
phân tích và thiết kế cơ sở dữ liệu. Một số khái niệm chính được
sử dụng trong mô hình quan hệ: Quan hệ, thuộc tính, bộ, khóa,...
Chúng ta sẽ xem xét kỹ hơn mô hình này trong chương sau.
Một số đặc điểm của mô hình quan hệ:
- Có cơ sở Toán học chặt chẽ, cho phép áp dụng rộng rãi các
công cụ đại số và logic, đặc biệt là đại số quan hệ.
- Khá tự nhiên, gần với quan niệm thông thường của người sử dụng.
- Ngôn ngữ rõ ràng, dễ học, dễ hiểu.
- Đảm bảo tính an toàn dữ liệu, có thể đặt mật khẩu truy cập ở
nhiều mức: Mức quan hệ, mức thuộc tính, mức bộ.
- Dễ cập nhật tới các đơn vị dữ liệu.
- Dễ đảm bảo tính độc lập dữ liệu.
1.2.2.3. Mô hình dữ liệu hướng đối tượng
Mô hình hướng đối tượng dựa trên cách tiếp cận hướng đối
tượng bao gồm các khái niệm: Đối tượng, lớp, phương thức, tính

17


kế thừa,... Đặc tính nổi bật của phương pháp pháp tiếp cận này là
tính đóng gói các dữ liệu, tính đa hình, tái sử dụng,... Hiện nay,
chưa có nhiều hệ quản trị cơ sở dữ liệu cài đặt theo mô hình này
nên nó chưa được ứng dụng rộng rãi.
Trên đây là một số mô hình dữ liệu. Mỗi mô hình đều có
những ưu điểm, nhược điểm khác nhau. Tuy nhiên trong giáo

trình này, chúng ta sẽ chỉ đi sâu tìm hiểu mô hình quan hệ. Để
hiểu thêm về mối quan hệ giữa các mô hình, độc giả có thể tìm
hiểu thêm về cách biến đổi sơ đồ E-R sang các sơ đồ khác trong
các tài liệu tham khảo.
1.2.3. Tính độc lập dữ liệu
Tính độc lập dữ liệu là tính bất biến giữa các hệ ứng dụng đối
với các thay đổi trong cấu trúc lưu trữ và chiến lược truy cập dữ liệu.
1.3. NGÔN NGỮ DỮ LIỆU

Ngôn ngữ là phương tiện để giao tiếp giữa Người - Người,
Người - Máy hoặc Máy - Máy.
Ngôn ngữ tự nhiên là ngôn ngữ của những bộ tộc người được
phát triển và hoàn thiện kể từ khi xuất hiện con người nguyên
thủy đầu tiên. Nó được thể hiện qua tiếng nói, chữ viết hoặc cử
chỉ, động tác và tuân theo các quy tắc nhất định gọi là ngữ pháp.
Ngôn ngữ hình thức là tập hợp các ký hiệu và quy định do con
người đặt ra. Trong tin học đó là ngôn ngữ giao tiếp giữa người
với máy, giữa máy với máy.
Các hệ cơ sở dữ liệu bao giờ cũng cung cấp một ngôn ngữ
hình thức làm công cụ giao tiếp giữa người sử dụng với hệ thống
được gọi là ngôn ngữ dữ liệu.
Các ngôn ngữ dữ liệu thường bao gồm 3 lớp ngôn ngữ con
sau đây, ứng với 3 chức năng của các hệ quản trị cơ sở dữ liệu là:
Mô tả, cập nhật và tìm kiếm dữ liệu.

18


- Ngôn ngữ con mô tả dữ liệu (Data definition language DDL): Ngôn ngữ con mô tả dữ liệu nhằm đáp ứng chức năng mô
tả dữ liệu của hệ quản trị cơ sở dữ liệu.

- Ngôn ngữ con cập nhật dữ liệu (Data update language DUL): Ngôn ngữ con cập nhật dữ liệu nhằm đáp ứng chức năng
cập nhật dữ liệu của hệ quản trị cơ sở dữ liệu.
- Ngôn ngữ con truy truy vấn (Query language - QL): Ngôn
ngữ con truy vấn nhằm đáp ứng chức năng tìm kiếm dữ liệu của
hệ quản trị cơ sở dữ liệu.
CÂU HỎI VÀ BÀI TẬP

1. Trình bày các khái niệm: Cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu.
2. Nêu các mô hình dữ liệu.
3. Khái niệm về tính độc lập dữ liệu.

19


20


Chương 2

M¤ H×NH D÷ LIÖU QUAN HÖ
2.1. CÁC ĐỊNH NGHĨA

2.1.1. Thuộc tính: Một thuộc tính là một đặc trưng của các đối
tượng. Thông thường khi mô tả các đối tượng, ta mô tả một số
thuộc tính của chúng, các thuộc tính này giúp ta phân biệt các đối
tượng với nhau. Ví dụ, khi mô tả các sinh viên ta mô tả các thuộc
tính mã sinh viên, họ và tên, ngày sinh, quê quán. Các thuộc tính của
một đối tượng được phân biệt với nhau qua tên của chúng. Trong
thực tế, các nhà phân tích - thiết kế thường đặt tên thuộc tính
mang tính gợi nhớ. Trong giáo trình này khi không cần quan tâm

đến ngữ nghĩa, ta thường ký hiệu tên các thuộc tính bởi các chữ
cái hoa ở đầu bảng chữ cái A, B, C, ...
2.1.2. Lược đồ quan hệ: Một lược đồ quan hệ bao gồm một tên
riêng gọi là tên lược đồ và một tập hữu hạn các thuộc tính U={A1 ,
A2 ,..., An}. Lược đồ quan hệ R với tập thuộc tính U={A1, A2 ,..., An}
được ký hiệu là R(U) hay R(A1 , A2,..., An). Ta có thể hình dung
một lược đồ quan hệ là khung của một bảng. Tên bảng là tên lược
đồ, mỗi cột là một thuộc tính. Trong tài liệu này, tên lược đồ được
viết bằng chữ in hoa.
2.1.3. Miền trị: Cho tập hữu hạn các thuộc tính U= {A1, A2,...,
An} (U≠∅). Nếu thuộc tính Ai∈U (i=1, 2,..., n) nhận giá trị trên tập
di gồm ít nhất hai phần tử, thì di được gọi là miền trị của thuộc tính
Ai, viết di= dom(Ai).
Như vậy, miền trị của một thuộc tính Ai là miền giá trị của
thuộc tính Ai mà các đối tượng sẽ nhận trên đó.

21


Ví dụ: Ký hiệu N(3) là tập tất cả các số nguyên dương có tối
đa 3 chữ số và dom(Ai)=N(3).
Khi đó giá trị thuộc tính Ai mà các đối tượng sẽ nhận là các số
nguyên dương, tối đa 3 chữ số.
2.1.4. Quan hệ: Một quan hệ r với tập thuộc tính U = {A1, A2,..., An}
là tập con của tích đề các dom(A1) × dom(A2) × .... × dom(An). Mỗi
phần tử của r là một n-bộ (a1, a2,..., an) và được gọi là một bộ của
quan hệ r.
Quan hệ r với tập thuộc tính U = {A1, A2,..., An} được viết r(U)
hoặc r(A1, A2,..., An). Trong tài liệu này, tên quan hệ được ký hiệu
bằng chữ cái thường.

Rõ ràng một quan hệ có thể biểu diễn dưới dạng một bảng,
mỗi cột biểu diễn một thuộc tính, mỗi dòng biểu diễn một bộ của
quan hệ.
Ví dụ: Quan hệ SINHVIEN với tập thuộc tính U={MaSV, Hoten,
QQ, NS} có dạng:
MaSV

Hoten

QQ

NS

01

Lê Anh

Nghệ An

1970

02

Trần Trung

Hà nội

1975

03


Nguyễn An

Hải phòng

1972

...

...

...

...

Ngoài ra ta có thể định nghĩa quan hệ theo cách khác:
Một quan hệ r với tập thuộc tính U = {A1, A2, ... , An} là tập các
ánh xạ t: U → D = dom(A1) × dom(A2) × ... × dom(An) sao cho
∀Ai ∈U ta có t(Ai) ∈ dom(Ai). Các ánh xạ này được gọi là các bộ
của quan hệ r.
Một quan hệ r định nghĩa trên lược đồ quan hệ R(U) là một
thể hiện của lược đồ quan hệ R ở một thời điểm nào đó.
Để tiện cho việc trình bày, trong giáo trình này ta đưa ra một
số quy định về cách viết sau đây:

22


- Các thuộc tính: Ký hiệu bằng các chữ la tinh hoa: A, B, C,...
đầu bảng chữ cái.

- Tập các thuộc tính: Ký hiệu bằng các chữ cái la tinh hoa ở
cuối bảng chữ cái: X,Y, Z,...
- Các thuộc tính trong tập thuộc tính có thể liệt kê như một
xâu ký tự, không cần dấu tập { }.
Ví dụ: X={A,B,C} ≡ A,B,C ≡ ABC
- Hợp của hai tập thuộc tính X và Y được viết là XY.
- Các bộ được ký hiệu bằng các chữ cái la tinh thường s, t, u, v...
- Ký hiệu: t[X]= t|X là hạn chế của bộ t trên tập X. Ví dụ với bộ
t = (01, Lê Anh, Nghệ An, 1970) thì t[Hoten, NS] là (Lê Anh, 1970).
2.2. CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ

2.2.1. Khái niệm
Trong chương 1 đã trình bày các khái niệm: cơ sở dữ liệu, hệ
quản trị cơ sở dữ liệu. Ở đây chúng tôi sẽ nói cụ thể hơn về cơ sở
dữ liệu quan hệ và hệ cơ sở dữ liệu quan hệ.
* Một cơ sở dữ liệu quan hệ bao gồm một tập các quan hệ và
các liên kết giữa chúng.
Các bước tạo cơ sở dữ liệu:
- Tạo lập các quan hệ. Mỗi quan hệ ta cần khai báo các mục sau:
+ Khai báo tên của quan hệ.
+ Khai báo tên, miền trị của từng thuộc tính.
+ Khai báo các ràng buộc dữ liệu trong thuộc tính hay giữa
các thuộc tính.
- Xác định các liên kết
- Cập nhật dữ liệu cho từng quan hệ.

23


* Hệ quản trị cơ sở dữ liệu quan hệ là hệ quản trị cơ sở dữ liệu

có chức năng tạo lập và khai thác cơ sở dữ liệu quan hệ.
2.2.2. Ràng buộc dữ liệu
Khái niệm: Ràng buộc dữ liệu là những quy định mà dữ liệu
trong một cơ sở dữ liệu phải thoã mãn. Việc đặt ra các ràng buộc
nhằm đảm bảo cho dữ liệu trong cơ sở dữ liệu phản ánh đúng
hiện thực. Nó thường được mô tả lúc tạo lập quan hệ.
Các kiểu ràng buộc:
+ Ràng buộc về kiểu: Mỗi thuộc tính phải thuộc về một kiểu dữ
liệu nào đó. Đây là ràng buộc tối thiểu bắt buộc đối với hầu hết các
cơ sở dữ liệu.
+ Ràng buộc giải tích: Là ràng buộc giữa các thuộc tính thể hiện
qua các biểu thức giải tích.
+ Ràng buộc logic: Là các ràng buộc nhằm đảm bảo tính logic
của dữ liệu
2.3. ĐỊNH NGHĨA SIÊU KHÓA VÀ KHÓA

2.3.1. Siêu khóa
Định nghĩa. Cho quan hệ r xác định trên tập thuộc tính
U={A1,...,An}. Một tập con K ⊆ U được gọi là siêu khóa của r nếu với
hai bộ bất kỳ t1, t2 ∈ r mà t1 ≠ t2 thì t1[K] ≠ t2[K] (nghĩa là tồn tại
A ∈ K sao cho t1[A] ≠ t2[A]).
Nói cách khác một tập con K ⊆ U được gọi là siêu khóa của r
nếu K có thể dùng làm cơ sở để phân biệt các bộ của r.
Một quan hệ r(U) luôn có ít nhất một siêu khóa đó là U. Nếu
K là một siêu khóa của r thì mọi K’ mà K’ ⊇ K cũng là siêu khóa
của r.
Ví dụ: Với quan hệ sinhvien(MaSV, Hoten, QQ, NS) có các
siêu khóa:

24



K1={MaSV}
K2={MaSV, Hoten}
K3={MaSV, Hoten, QQ}
K4={MaSV, Hoten, NS}
...
Ý nghĩa thực tiễn của siêu khóa là dùng để nhận diện một bộ
trong quan hệ, nghĩa là khi cần tìm kiếm một bộ t của quan hệ r,
thay cho việc phải xác định giá trị tất cả các thuộc tính của t, ta chỉ
cần biết giá trị các thành phần của siêu khóa là đủ. Tuy nhiên, nếu
K ⊆ U là siêu khóa của r và K ⊆ K1⊆ U thì K1 cũng là siêu khóa của
r. Vì vậy vấn đề đặt ra là cần lựa chọn một siêu khóa tối thiểu (có
ít thuộc tính nhất) để có thể giảm bớt thời gian tìm kiếm.
2.3.2. Khóa
Định nghĩa. Cho quan hệ r với tập thuộc tính U = { A1,..., An }.
Một tập con K⊆U được gọi là khóa của r nếu:
1. K là siêu khóa của r
2. Với mọi K' ⊂ K thì K' không phải là siêu khóa của r.
Một quan hệ r có ít nhất một khóa, trong trường hợp xấu nhất
khóa là toàn bộ tập thuộc tính U.
Ví dụ: Với quan hệ sinhvien(MaSV, Hoten, QQ, NS) ta có một
khóa là K={MaSV}.
2.3.3. Khóa chính và khóa dự phòng
Ta đã biết rằng, một quan hệ có thể có nhiều khóa. Ta có thể
chọn một trong các khóa đó làm khóa chính. Các khóa còn lại
được gọi là khóa dự phòng.
Ví dụ: Với quan hệ Phong(MaPh, TenPh, TruongPh, DThoại)
lưu trữ thông tin các phòng trong một cơ quan, ta có thể chọn
khóa chính là Maph và khi đó Tenph là một khóa dự phòng.


25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×