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

Bài 1 Kiến thức nền tảng về Cơ sở dữ liệu ppt

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 (233.75 KB, 16 trang )

Bài 1 Kiến thức nền tảng về Cơ sở dữ liệu
Mục tiêu của bài học:
Cuối bài học này, bạn có thể
Giải thích vì sao chúng ta cần có cơ sở dữ liệu
Giải thích sự phát triển của các hệ quản trị cơ sở dữ liệu
Liệt kê các mô hình cơ sở dữ liệu khác nhau
Mô tả các khái niệm cơ bản liên quan đến cơ sở dữ liệu
Mô tả các khái niệm cơ bản liên quan đến cơ sở dữ liệu quan hệ
• Toàn vẹn thực thể (entity integrity)
• Khóa chính (primary key)
• Khóa ngoại (foreign key)
• Các mối quan hệ và bậc của các mối quan hệ (relation and its degree)
Mô tả tóm tắt giới thiệu về SQL
Giới thiệu
Các tổ chức thường xuyên phải duy trì một khối lượng lớn dữ liệu, chúng là kết quả tạo ra từ các
hoạt động thường ngày. Một cơ sở dữ liệu (CSDL) là dạng được sắp xếp của các dữ liệu như
vậy. Một CSDL có thể chứa một hoặc nhiều mục thông tin có liên quan đến nhau gọi là các bản
ghi (record).
Bạn có thể hình dung CSDL là một tập hợp dữ liệu cho phép chúng ta đặt ra các câu hỏi với nó.
Ví dụ như, “Số điện thoại và địa chỉ của 5 bưu điện gần trường nhất là gì?”, hay “Chúng ta có
quyển sách nào về món ăn có lợi cho sức khỏe trong thư viện không? Nếu có thì chúng nằm ở
những tủ sách nào?”, hay “Hãy cho tôi xem hồ sơ nhân viên và các số liệu kinh doanh của 5 nhân
viên kinh doanh giỏi nhất trong quý này, nhưng không cần xem địa chỉ chi tiết của họ”.
Bài này sẽ đưa ra các khái niệm liên quan đến các CSDL và các hệ quản trị CSDL, khám phá các
mô hình CSDL khác nhau và giới thiệu ngôn ngữ SQL.
1.1.Vì sao Cơ sở dữ liệu là cần thiết?
Các CSDL được dùng để lưu trữ dữ liệu một cách có tổ chức và hiệu quả. Một CSDL cho phép
chúng ta quản lý dữ liệu một cách nhanh chóng và dễ dàng. Ví dụ, một công ty có thể lưu trữ
thông tin chi tiết về các nhân viên công ty trong nhiều CSDL khác nhau. Vào bất cứ thời điểm
nào, chúng ta có thể có thể truy xuất thông tin từ CSDL, thêm dữ liệu mới vào các CSDL và tìm
kiếm dữ liệu theo 1 số tiêu chí nào đó trong các CSDL này.


Kiến thức nền tảng về Cơ sở dữ liệu 1
1.1.1 Tính bền vững trong lưu trữ dữ liệu
Chúng ta có thể lưu trữ dữ liệu đơn giản bằng các tập tin một cách thủ công. Ví dụ, một trường
đại học phải lưu giữ thông tin về các giáo viên, các sinh viên, các môn học và các kì kiểm tra.
Thông tin chi tiết về giáo viên có thể được lưu trong Hồ sơ Nhân viên (Staff Register), thông tin
chi tiết về sinh viên được nhập vào Hồ sơ Sinh viên (Student Register) và tương tự như vậy cho
các thông tin khác .
Tuy nhiên, dữ liệu được lưu ở dạng này không phải là bền vững. Các bản ghi trong những tập tin
thủ công như vậy chỉ có thể được duy trì trong vài tháng hoặc vài năm mà thôi. Các hồ sơ và tập
tin dạng này rất cồng kềnh, tốn không gian lưu trữ và không thể lưu giữ cho nhiều năm.
1.1.2 Vấn đề lưu trữ tập tin
Phương pháp thủ công lưu trữ và cập nhật thủ công sử dụng tập tin có một số nhược điểm. Xét
công việc nhập điểm của sinh viên một cách thủ công. Mỗi giáo viên đánh giá các bài làm và ghi
điểm theo mã sinh viên. Sau đó, giáo vụ sẽ thu lại các bảng chấm điểm của từng môn.
Để soạn ra bảng điểm của một sinh viên, giáo vụ phải tìm trong tất cả bảng chấm điểm của các
môn để tìm các điểm số mà sinh viên đó đã đạt được. Các điểm số sau đó được ghi vào các ô
thích hợp trong bảng điểm của sinh viên này. Giáo vụ cũng phải ghi luôn những điểm số này vào
hồ sơ sinh viên trong tập hồ sơ của trường. Quy trình này thật tẻ nhạt, tốn thời gian và có khả
năng xảy ra sai sót.
1.1.3 Lợi ích của Cơ sở dữ liệu được quản lý bằng máy tính
Thông tin hay dữ liệu có thể được lưu trữ dưới dạng các CSDL được máy tính quản lý. Một hệ
thống CSDL là hữu ích vì nó cho phép ta kiểm soát dữ liệu môt cách tập trung. Sau đây là một số
lợi ích của việc sử dụng một hệ thống CSDL tập trung:
 Giảm lượng dữ liệu dư thừa trong dữ liệu được lưu trữ
Trong một cơ quan, một số phòng ban thường lưu giữ cùng một dữ liệu. Việc duy trì một
CSDL tập trung sẽ giúp các phòng ban có thể truy cập cùng một dữ liệu. Do vậy, sự trùng lặp
dữ liệu, hay ‘dư thừa dữ liệu’ sẽ được loại bỏ.
 Không còn sự thiếu nhất quán trong dữ liệu
Do chỉ có một CSDL trung tâm, ta có thể giao cho một nhân viên nhiệm vụ cập nhật dữ liệu
định kì. Giả sử, ông Larry Finner - một nhân viên cơ quan được thăng chức từ Quản lí lên

Quản lí cao cấp, ta chỉ cần sửa lại một nơi trong CSDL. Kết quả là, sự không nhất quán về dữ
liệu được giảm đi.
 Dữ liệu được lưu trữ có thể được chia xẻ
Một CSDL trung tâm có thể đặt tại một máy chủ, chia xẻ cho một số người dùng chung. Theo
cách này, bất cứ lúc nào tất cả mọi người đều có thể truy cập đến thông tin dùng chung và
được cập nhật.
 Có thể thiết lập và tuân theo các chuẩn mực
2 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
Việc giám sát tập trung đảm bảo việc có thể thiết lập và tuân theo một chuẩn mực nhất định
về cách biểu diễn thông tin. Ví dụ, tên của một nhân viên phải được biểu diễn dưới dạng ‘Mr.
Larry Finner’, trong đó
• Danh xưng (Mr.)
• Tên (Larry)
• Họ (Finner)
Chắc chắn rằng tất cả tên lưu trong CSDL sẽ theo cùng một định dạng nếu như các chuẩn
mực được thiết lập theo cách này.
 Có thể duy trì được tính toàn vẹn dữ liệu
‘Duy trì tính toàn vẹn dữ liệu’ là đảm bảo sự chính xác trong CSDL. Ví dụ, khi một nhân
viên từ chức và rời khỏi cơ quan, xét trường hợp phòng Kế toán đã cập nhật CSDL của mình
nhưng phòng Nhân sự lại chưa cập nhật các hồ sơ của họ. Trong trường hợp này, dữ liệu
trong hồ sơ của cơ quan là không chính xác.
Việc giám sát tập trung CSDL giúp ta tránh được những sai sót này. Chúng ta có thể chắc
chắn là khi một bản ghi được xóa khỏi CSDL, tất cả các bản ghi liên quan trong các bảng
khác cũng được xóa.
 Có thể thực hỉện việc bảo mật dữ liệu
Trong một hệ thống CSDL tập trung, không phải ai cũng được quyền được sửa đổi CSDL.
Quyền hạn này chỉ được giao cho một cá nhân có toàn quyền kiểm soát đối với CSDL. Người
này được gọi là Quản trị Cơ sơ dữ liệu hay DBA (Database Administrator).
DBA có khả năng thực hiện việc bảo mật bằng cách thiết đặt những giới hạn cho việc truy
cập dữ liệu. Tùy thuộc vào quyền được cấp cho mình, người sử dụng mới có thể thêm, sửa

hay truy vấn dữ liệu.
1.2 Sự phát triển của các hệ quản trị CSDL – toàn cảnh lịch sử
Một Hệ quản trị CSDL (DBMS) có thể được định nghĩa như một tập hợp các bản ghi có liên quan
và một bộ chương trình để truy cập và thao tác trên các bản ghi đó.
Một Hệ quản trị CSDL cho phép ta nhập, lưu trữ và quản lý dữ liệu. Vấn đề của các gói phần
mềm DBMS trước đây là dữ liệu được lưu trữ ở dạng các tập tin ‘phẳng’ (flat file). Như vậy,
thông tin về các đối tượng khác nhau được lưu trữ riêng biệt trong các tập tin vật lý khác nhau.
Do đó, liên kết giữa các đối tượng này, nếu có, phải được giữ trong một tập tin vật lý. Vì vậy, một
gói phần mềm đơn sẽ bao gồm quá nhiều tập tin và phải lập trình rất tốt để tích hợp chúng vào
một hệ thống duy nhất.
Giải pháp cho các vấn đề này là xây dựng một hệ thống CSDL tập trung. Trong một CSDL tập
trung, CSDL được lưu tại vị trí trung tâm. Tất cả mọi người đều có thể từ máy của họ truy cập dữ
liệu lưu tại vị trí trung tâm. Một hệ thống CSDL trung tâm lớn có thể chứa tất cả dữ liệu liên quan
đến các nhân viên. Phòng Kế toán và phòng Nhân sự sẽ dùng các chương trình thích hợp để truy
cập thông tin cần thiết. Các chương trình này hoặc toàn bộ ứng dụng có thể nằm trên máy tính
làm việc của các cá nhân.
Kiến thức nền tảng về Cơ sở dữ liệu 3
1.2.1 Các mô hình Cơ sở dữ liệu
Chúng ta có thể phân biệt các CSDL dựa trên chức năng và mô hình dữ liệu. Một mô hình dữ liệu
mô tả cách thức lưu trữ dữ liệu trong một vật chứa (container) và cách thức truy xuất dữ liệu từ
vật chứa đó.
Việc phân tích và thiết kế các mô hình CSDL là cơ sở của sự phát triển các hệ cơ sở dự liệu.
1.2.2 Mô hình Cơ sở dữ liệu phân cấp hay mô hình Cơ sở dữ liệu đa cấp
Mô hình dữ liệu phân cấp được phát triển để mô hình hóa các loại cơ quan phân cấp trong thế
giới thực. Hình 1.1 minh họa một lược đồ đơn giản cho một giản đồ phân cấp.
a. DEPARTMENT: Research Administration
EMPLOYEE: Smith Max John Grace Elite James Frank
b. DEPARTMENT: Research Administration
PROJECT Product A Product B Computerization New benefits
Hình 1.1: Giản đồ phân cấp

Trong mô CSDL hình phân cấp, Department (phòng ban) được xem như là gốc, nốt cha cao nhất
của cây phân cấp. Các nốt dữ liệu Project và Employee là các nốt con, nốt lá trong mô hình cây
phân cấp. Một đường đi, xuất phát từ một nốt con bên trái qua nốt cha duyệt sang các nốt khác,
lặp đi lặp lại tiến trình này cho đến khi hết tất cả các nốt thì sẽ xác định được cấu trúc phân cấp
của cây.
 Một nốt cha có thể có nhiều nốt con.
 Một nốt con chỉ có một nốt cha.
Từ hình vẽ, ta có thể thấy rõ là trong một phòng ban, có thể có nhiều nhân viên và một phòng ban
có thể có nhiều dự án.
4 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
DEPARTMENT}D_NAMED_NUMBERMGRNAMEMGRSTARTDAT
E
PROJECT}PNAME}PNUMBER}
PLOCATION}}
EMPLOYEE}NAMESSNBDATEADD
RESS}
Ưu điểm của mô hình phân cấp
Các ưu điểm của mô hình phân cấp là:
1. Dữ liệu được giữ trong một CSDL dùng chung, do đó việc chia xẻ dữ liệu trở nên dễ dàng
hơn, và hệ quản trị CSDL sẽ cung cấp cũng như thắt chặt việc bảo mật
2. Hệ quản trị CSDL mang lại sự độc lập dữ liệu, điều làm giảm bớt nhân lực và chi phí trong
việc bảo trì chương trình.
3. Mô hình này rất hiệu quả khi CSDL chứa một khối lượng lớn dữ liệu. Ví dụ, một hệ thống tài
khoản khách hàng trong một ngân hàng là phù hợp với mô hình phân cấp bởi vì mỗi tài khoản
là đầu mối của một số giao dịch.
1.2.3 Mô hình CSDL mạng
Cùng với mô hình phân cấp, mô hình CSDL mạng (network model) là các mô hình dữ liệu chính
để hiện thực rất nhiều hệ quản trị CSDL thương mại. Trong mô hình CSDL mạng, cấu trúc dữ
liệu và ngôn ngữ truy vấn được định nghĩa và xây dựng bởi CODASYL (Conference on Data
Systems Language – Hội thảo về Ngôn ngữ của các hệ thống dữ liệu).

Giản đồ mạng lưới (sơ đồ tổ chức khái niệm của toàn bộ CSDL) bao gồm định nghĩa tên của
CSDL, loại bản ghi của từng bản ghi, và các thành phần cấu tạo nên các bản ghi đó.
Một giản đồ con (sub-schema) (phần của CSDL mà các chương trình ứng dụng nhìn thấy được,
sẽ thực tế tạo ra các thông tin cần thiết từ dữ liệu được chứa trong CSDL) cho phép các chương
trình ứng dụng truy cập vào các dữ liệu được yêu cầu từ CSDL.
Một ngôn ngữ cho phép người quản trị CSDL định nghĩa dữ liệu trong CSDL và thao tác các dữ
liệu đó.

Hình 1.2: Mô hình mạng lưới
Mô hình mạng lưới như trên minh họa một loạt các quan hệ một-nhiều.
1. Một đại diện bán hàng có thể ghi nhiều hóa đơn, nhưng mỗi hóa đơn chỉ do một đại diện bán
hàng ghi.
Kiến thức nền tảng về Cơ sở dữ liệu 5
Salesrep Customer
Invoice PaymentProduct
Invline
2. Một khách hàng có thể mua nhiều lần vào các dịp khác nhau. Một khách hàng có thể có nhiều
hóa đơn, nhưng mỗi hóa đơn chỉ thuộc về một khách hàng.
3. Một biên lai hóa đơn có thể có nhiều dòng hóa đơn (INVLINE), nhưng một dòng hóa đơn chỉ
nằm trong một hóa đơn.
4. Một sản phẩm có thể xuất hiện trong nhiều dòng hóa đơn, nhưng mỗi dòng hóa đơn chỉ chứa
một sản phẩm.
Giờ chúng ta sẽ thảo luận các thành phần của ngôn ngữ được dùng với các mô hình mạng lưới.
Các thành phần này là:
1. Ngôn ngữ Định nghĩa Dữ liệu (DDL) được dùng để tạo và gỡ bỏ các CSDL và các đối
tượng CSDL. Nó cho phép người quản trị CSDL định nghĩa ra các thành phần của lược đồ.
2. Ngôn ngữ định nghĩa dữ liệu trong lược đồ con (Sub-schema DDL) cho phép người quản
trị CSDL định nghĩa ra các thành phần của CSDL.
3. Ngôn ngữ Thao tác Dữ liệu (DML), cho phép người dùng thêm, lấy ra và sửa đổi thông tin
trong CSDL. Tất cả những người sử dụng CSDL dùng những lệnh này trong hoạt động

thường ngày của CSDL.
4. Ngôn ngữ Kiểm soát Dữ liệu (DCL) được dùng để quản lí quyền truy cập trên CSDL và các
thành phần của CSDL.
Cấu trúc cơ bản
Mô hình phân cấp là một trường hợp đặc biệt của mô hình mạng lưới. Tuy nhiên, thay vì dùng
cấu trúc cây chỉ có một nút cha, mô hình mạng lưới dùng lý thuyết tập hợp để đưa ra mô hình
phân cấp dạng cây với ngoại lệ là các bảng con được phép có nhiều hơn một cha.
Trong mô hình CSDL mạng, một mối quan hệ được gọi là một bộ (set). Mỗi bộ bao gồm ít nhất
hai loại bản ghi: bản ghi chủ, tương đương với nút cha trong mô hình phân cấp, và bản ghi thành
viên, tương đương với nút con trong mô hình phân cấp.
Các ưu điểm của một cấu trúc như vậy được chỉ ra như sau:
1. Việc thiết lập các mối quan hệ trong mô hình CSDL mạng lưới dễ hơn là trong mô hình phân
cấp.
2. Mô hình này tuân thủ chặt chẽ tính toàn vẹn dữ liệu của CSDL.
3. Mô hình này đủ để đạt được sự độc lập dữ liệu.
Các nhược điểm được chỉ ra như sau:
1. Khó thiết kế các CSDL theo mô hình này.
2. Lập trình viên phải rất quen thuộc với các cấu trúc bên trong để truy xuất CSDL.
3. Mô hình này cho ta một môi trường truy cập dữ liệu theo cách duyệt. Do đó, để di chuyển từ
A đến E trong chuỗi A-B-C-D-E, ta phải lần lượt đi qua B, C và D để đến được E.
6 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
1.2.4 Mô hình quan hệ
Một nhà khoa học tại trung tâm nghiên cứu của công ty IBM, Tiến sĩ E. F. Codd, không hài lòng
với cách thức mà các hệ quản trị CSDL thời đó xử lý các khối lượng dữ liệu lớn. Ông thấy cần
phải áp đặt các quy luật và nguyên tắc toán học để xử lý các vấn đề của các mô hình trước đó, ví
dụ như:
 Sự toàn vẹn dữ liệu
 Sự dư thừa dữ liệu
Vào tháng 6/1970, ông đăng bài báo với tựa đề ‘Một Mô hình Dữ liệu Quan hệ cho các Ngân
hàng Dữ liệu lớn được chia xẻ’ (‘A Relational Model of Data for large Shared Databanks’). Tại

đây, ông đã giới thiệu mô hình CSDL quan hệ. Mô hình này dựa trên hai ngành toán học – ‘Lý
thuyết Tập hợp’ và ‘Lô gíc Vị từ Thứ tự’. Bài báo này liệt kê ra 12 nguyên tắc mà một hệ quản trị
CSDL quan hệ phải thỏa mãn.
Thuật ngữ ‘Relation’ được dẫn xuất từ lý thuyết tập hợp của toán học. Các đặc tính cơ bản của
mô hình quan hệ được trình bày như sau.
Trong mô hình quan hệ, dữ liệu được lưu trữ trong các bảng, dưới dạng các hàng và cột. Để hiểu
được mô hình quan hệ, chúng ta hãy xét hai bảng sau.
Bảng 1.1: Bảng Sinhviên
Mã Sinh viên Điểm đạt được
1 34
2 87
3 45
4 90
5 36
6 65
7 89
Table 1.2: Bảng Điểm
Bạn sẽ nhận thấy rằng có hai bảng khác nhau được trình bày ở đây. Trong bảng Điểm, chúng ta
có Mã sinh viên và Điểm đạt được của các sinh viên. Trong bảng Sinhviên, chúng ta có Mã Sinh
viên và Tên sinh viên. Để xem tên các sinh viên và điểm tương ứng của các bạn có điểm số lớn
hơn 50, ta phải thực hiện hai bước: Đầu tiên, phải xác định Mã sinh viên của các sinh viên đạt
Kiến thức nền tảng về Cơ sở dữ liệu 7
Mã Sinh viên Tên Sinh viên
1 Sam
2 John
3 Jenny
4 Lisa
5 Penny
6 Peter
7 Joe

điểm trên 50 trong bảng Điểm. Tiếp đó, so trùng mã sinh viên để tìm tên của các sinh viên trong
bảng Sinhviên. Kết quả được liệt kê trong bảng 1.3.
Mã Sinh viên Tên Sinh viên Điểm đạt được
2 John 87
4 Lisa 90
6 Peter 65
7 Joe 89
Bảng 1.3: Hiển thị Tên Sinh viên và Điểm

Chúng ta có thể thu được thông tin này nhờ vào hai sự việc: Thứ nhất, có một cột chung giữa hai
bảng, đó là Mã Sinh viên. Sau đó, dựa trên cột này, các bản ghi trong hai bảng khác nhau được
khớp lại và ta thu được thông tin được yêu cầu.
Trong mô hình quan hệ, dữ liệu được lưu trong các bảng. Mỗi bảng trong CSDL có một tên duy
nhất xác định nội dung của nó. Mỗi bảng có thể được định nghĩa là giao của các hàng và các cột.
Trong ví dụ trên đây, Mã sinh viên và Tên Sinh viên được lưu trong một bảng gọi là bảng Sinh
viên.
Ưu điểm của Mô hình Quan hệ
Mô hình CSDL quan hệ giúp lập trình viên có thời gian tập trung vào khía cạnh lô-gíc của CSDL
thay vì phải lưu tâm đến khía cạnh lưu trữ vật lý. Một trong các lý do khiến cho CSDL quan hệ
trở nên phổ biến là sự uyển chuyển trong việc truy vấn. Phần lớn các CSDL quan hệ sử dụng
ngôn ngữ truy vấn có cấu trúc (SQL). Các hệ quản trị CSDL quan hệ sử dụng SQL để dịch các
truy vấn của người dùng thành các đoạn mã cần thiết để lấy ra được các dữ liệu được yêu cầu. Mô
hình quan hệ dễ dùng đến mức ngay cả những người chưa được đào tạo cũng thấy dễ dàng để tạo
ra các câu truy vấn và các báo cáo tiện lợi, mà không cần phải suy nghĩ nhiều về nhu cầu phải
thiết kế một CSDL đúng đắn.
Nhược điểm của Mô hình Quan hệ
Mặc dù mô hình này che dấu đi tất cả những sự phức tạp bên trong của hệ thống, nhưng thao tác
với dữ liệu là chậm hơn các hệ thống CSDL khác.
1.3 Các khái niệm cơ bản về Cơ sở dữ liệu
Trước khi chúng ta thảo luận chi tiết về các hệ CSDL, chúng ta cần biết một số khái niệm cơ bản

về một CSDL. Hãy cùng khám phá từng khái niệm một.
1.3.1 Dữ liệu và thông tin
Dữ liệu là thành phần quan trọng nhất trong bất cứ công việc nào chúng ta làm. Chúng ta hoặc là
dùng những dữ liệu có sẵn, hoặc là tạo ra dữ liệu. Khi các dữ liệu này được thu thập và phân tích,
nó cho ta thông tin. Ví dụ, một phóng viên của một tạp chí thể thao (người rất hâm mộ bóng đá)
thu thập các điểm số (dữ liệu) của đội Đức trong 10 trận đấu Worldcup. Các điểm số này cấu
8 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
thành nên dữ liệu. Khi các dữ liệu này được so sánh với dữ liệu của 10 trận đấu Worldcup của đội
Brazil, người phóng viên thu được thông tin là quốc gia nào có đội bóng chơi tốt hơn.
1.3.2 Cơ sở dữ liệu và Bảng
Các bảng là các đối tượng của CSDL, nó chứa tất cả các dữ liệu có mặt trong một CSDL. Một
CSDL được cấu thành từ nhiều bảng, mỗi bảng chứa một tập hợp các dữ liệu có liên quan với
nhau. Các bảng trong một CSDL có thể liên quan với nhau.
Một CSDL là một tập hợp các bảng.
Xét một CSDL lưu trữ dữ liệu cho một ‘Hệ thống Đặt vé Máy bay’. Chi tiết về các hành khách đã
đặt vé được lưu trong bảng ‘Đặt vé’ (Reservation), trong khi các chi tiết của những lần hủy vé
được đặt trong bảng ‘Hủy vé’ (Cancellation). Hơn nữa, ngày và giờ của các chuyến bay có thể
được lưu trong một bảng khác nữa. Danh sách thu tiền cũng có thể được lưu vào một bảng khác.
Một cách lý tưởng, tất các các bảng liên quan đến hệ thống đặt vé máy bay này đều được lưu
trong một CSDL, gọi là CSDL ‘Hàng không’ (Airline).
1.3.3 Mối quan hệ Hàng hoặc Cột
Bảng là một tập hợp các bản ghi có liên quan, được sắp xếp theo các hàng và cột. Trong các bảng,
dữ liệu được tổ chức dưới dạng hàng và cột tương tự như đối với bảng tính. Ví dụ, một bảng chứa
dữ liệu về các nhân viên của một công ty thì mỗi dòng lưu thông tin của một nhân viên, và các
cột biểu diễn các thông tin chi tiết về nhân viên đó như mã nhân viên, tên nhân viên, chức vụ, địa
chỉ, số điện thoại nhà.
1.3.4 Hệ thống Cơ sở Dữ liệu và Hệ Quản trị Cơ sở Dữ liệu
Một Hệ thống CSDL là một hệ thống sử dụng máy tính để quản lý các bản ghi mà mục đích tổng
quát là nhằm ghi lại và bảo quản thông tin. Một Hệ quản trị CSDL (DBMS) là một tập hợp các
bản ghi có liên quan với nhau và một bộ các chương trình để truy xuất và thao tác các bản ghi

này. Một hệ quản trị CSDL cho phép người dùng nhập, lưu trữ và quản lí dữ liệu.
1.3.5 Sự Dư thừa Dữ liệu và Tính toàn vẹn Dữ liệu
Ta có thể giảm bớt sự trùng lặp dữ liệu hay ‘dữ thừa dữ liệu’ bằng cách sử dụng một hệ quản trị
CSDL. Ví dụ, một hệ quản trị CSDL có thể đảm bảo mỗi bản ghi trong bảng là duy nhất thông
qua một trong các cột hay trường của bảng đó. Việc đảm bảo tính chính xác của dữ liệu trong
CSDL được gọi là duy trì tính toàn vẹn dữ liệu. Nếu một hoặc nhiều bảng có quan hệ với nhau
thông qua các dữ liệu mà chúng lưu giữ, thì mỗi khi có sự thay đổi dữ liệu trong một bảng, thì sự
thay đổi đó cũng phải được phản ánh sang bảng kia. Nếu không làm như vậy, dữ liệu được lưu trữ
sẽ không còn chính xác và CSDL sẽ mất đi tính toàn vẹn.
Ví dụ, trong một hệ thống thư viện, khi một hội viên không còn quyền hội viên nữa, xét trường
hợp chúng ta đã cập nhật bảng Hội viên (Member) nhưng chưa cập nhật bảng Chi tiết Sách (Book
Details), trong đó ghi lại các quyển sách đã cho hội viên mượn và trả lại. Như vậy, tuy là hội viên
đó không còn tham gia vào thư viện nữa, nhưng bảng Chi tiết Sách vẫn cho thấy những quyển
sách mà anh ta mượn.
Thậm chí có thể xảy ra việc vào cuối tháng, khi ta soạn báo cáo Thống kê tiền phạt (Fine or
Penalty Amount Collection), tên của hội viên đó vẫn nằm trong các báo cáo. Mâu thuẫn dạng này
có thể tránh được bằng cách phải đảm bảo tính toàn vẹn dữ liệu ngay từ đầu.
Kiến thức nền tảng về Cơ sở dữ liệu 9
1.4 Các Khái niệm Cơ bản về CSDL quan hệ
Một CSDL quan hệ là một CSDL được cấu trúc theo mô hình quan hệ. Sau đây chúng ta sẽ thảo
luận các đặc tính của mô hình quan hệ.
Trước tiên, trong mô hình quan hệ, dữ liệu được lưu trong các mối quan hệ (relation). Để hiểu
được mối quan hệ, ta xét ví dụ sau đây. Dưới đây là hai danh sách khác nhau, một là danh sách
các quốc gia và thủ đô của chúng, danh sách kia liệt kê các quốc gia và loại tiền tệ mà các quốc
gia đó sử dụng.
Quốc gia Thủ đô
Greece Athens
Italy Rome
USA Washington
China Beijing

Japan Tokyo
Australia Sydney
France Paris
Table 1.4: Các Thủ đô
Quốc gia Tiền tệ
Greece Drachma
Italy Lira
USA Dollar
China Renminbi (Yuan)
Japan Yen
Australia Australian Dollar
France Francs
Table 1.5: Tiền tệ
Bạn sẽ nhận thấy rằng có 2 danh sách khác nhau được đưa ra ở đây. Tuy nhiên, có một cột là
chung cho cả hai bảng. Đây chính là cột chứa tên các quốc gia. Bây giờ nếu có ai muốn tìm loại
tiền tệ được dùng ở thành phố Rome, đầu tiên họ phải tìm ra tên quốc gia, sau đó tìm tên quốc gia
đó trong bảng còn lại để tìm ra loại tiền tệ tương ứng.
Ta có thể thu được thông tin này bởi vì ta có thể thiết lập một mối quan hệ giữa hai danh sách
thông qua một cột chung là cột ‘Quốc gia’.
1.4.1 Tính toàn vẹn của Thực thể và Khóa chính
Trong một mô hình quan hệ, dữ liệu được lưu trong các quan hệ. Quan hệ là thuật ngữ chính quy
đối với Bảng. Trong ví dụ trên đây, ta đã lưu trữ thông tin về các quốc gia trong một bảng. Trong
một CSDL mỗi bảng có tên duy nhất xác định nội dung của nó. Mỗi bảng có thể xem như là sự
giao nhau của các hàng và các cột. Một trong những thuộc tính quan trọng nhất của bảng là các
hàng không được sắp thứ tự. Ta không thể xác định một hàng bằng thứ tự của nó ở trong bảng.
10 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
Mỗi bảng phải có một cột mà nhờ đó ta có thể phân biệt, xác định các hàng trong bảng. Việc
không có hai hàng trong bảng chứa thông tin giống hệt nhau là rất quan trọng. Tránh được điều
này là nhờ công dụng của các khóa chính.
Một cột hoặc một sự kết hợp của một số cột mà qua đó xác định duy nhất một bản ghi trong một

bảng thì được gọi là Khóa Chính (Primary Key).
Việc các bảng phải có một khóa chính là rất cần thiết. Một ví dụ thường dùng để nhấn mạnh tầm
quan trọng của khóa chính là ví dụ về học sinh trong một trường học. Nếu hai học sinh có tên
giống hệt nhau, giáo viên sẽ rất bối rối khi phải tính toán bảng điểm cho các học viên. Vì thế,
trong các trường hợp như thế này, mỗi học sinh sẽ được gán một mã số học sinh duy nhất sao cho
giáo viên không còn bối rối khi có hai học sinh trùng tên nhau. Mã số Học sinh (Roll Number)
trong trường hợp này là khóa chính và không được trùng lặp trong bất cứ hoàn cảnh nào.
Bảng 1.6: Khóa Chính
CSDL lưu giữ các tài nguyên rất quan trọng, đó là dữ liệu được toàn công ty sử dụng. Các dữ liệu
trong CSDL phải nhất quán trong mọi thời điểm. Có một số quy tắc toàn vẹn tổng quát và cụ thể
để duy trì sự nhất quán của CSDL. Các quy tắc toàn vẹn tổng quát thường có mặt trong phần lớn
các hệ quản trị CSDL, còn các quy tắc cụ thể chỉ áp dụng được cho một số CSDL. Khi dữ liệu
của một CSDL bị thay đổi, sự toàn vẹn dữ liệu trong CSDL có thể bị mất đi. Các ràng buộc toàn
vẹn dữ liệu sẽ giới hạn và kiểm tra tính hợp lệ của các giá trị dữ liệu được thêm vào hoặc sửa đổi
trong CSDL. Toàn vẹn thực thể (Entity Integrity) là một dạng của ràng buộc toàn vẹn dữ liệu.
Quy tắc Toàn vẹn Thực thể phát biểu rằng, không thành phần nào của khóa chính trong một
bảng được phép nhận giá trị NULL. Một khi thuộc tính của một quan hệ được định nghĩa là khóa
chính thì trách nhiệm của CSDL là từ chối giá trị NULL đối với thuộc tính đó.
Mỗi hàng trong bảng phải là duy nhất. Do đó khóa chính không thể chứa các giá trị NULL, vì các
hàng sẽ không còn là duy nhất nữa. Giá trị NULL là giá trị được điền vào cho thuộc tính khi ta
không nhập dữ liệu cho thuộc tính đó.
1.4.2 Toàn vẹn Tham chiếu và Khóa ngoại
Một Khóa ngoại là một cột hoặc sự kết hợp của một số cột mà giá trị của chúng là khóa chính
hoặc khóa duy nhất trong một bảng khác. Hai bảng được liên kết với nhau dùng một khóa ngoại.
Kiến thức nền tảng về Cơ sở dữ liệu 11
Mã số
Học sinh
Tên học sinh
1 Sam
2 John

3 Jenny
4 Lisa
5 Penny
6 Peter
7 Joe
Primary Key
Nói cách khác, kết nối hai bảng qua một trường chung được gọi là thiết lập quan hệ, và khóa
ngoại là phương tiện để thiết lập các quan hệ.
Một số điểm về khóa ngoại:
 Để một cột được là khóa ngoại của một bảng cho trước, nó phải là khóa chính trong một bảng
khác.
Ví dụ, trường Mã Sinh viên là khóa chính trong bảng Sinh viên. Do đó nó có thể được đặt
làm khóa ngoại trong bảng Kết quả.
 Hai cột được được kết nối với nhau bằng các quan hệ khóa ngoại phải được định nghĩa giống
hệt nhau.
Để hiểu rõ khóa ngoại, chúng ta hãy xét hai bảng Sinh viên và Điểm đã dùng trong ví dụ trước
đây. Trong ví dụ này, Mã Sinh viên trong bảng Điểm là một khóa ngoại vì nó được dẫn xuất từ
bảng Sinh viên.




Sinh viên
Điểm đạt
được
1 34
2 87
3 45
4 90
5 36

6 65
7 89
Hình 1.3: Toàn vẹn Tham chiếu
Trong hình 1.3, khóa ngoại được chỉ ra bằng ký hiệu F.
Quy tắc Toàn vẹn Tham chiếu phát biểu rằng trong một CSDL không tồn tại bất kỳ một thuộc
tính khóa ngoại nào có giá trị không khớp với các giá trị tương ứng trong quan hệ mà thuộc tính
đó làm khóa chính. Hệ quản trị CSDL chịu trách nhiệm đảm bảo các giá trị trong thuộc tính khóa
ngoại là hợp lệ và có giá trị tương ứng trong quan hệ mà thuộc tính đó làm khóa chính. Một bản
ghi có thể được xóa khỏi bảng chính (Primary Table) chỉ nếu không còn các khóa ngoại tương
ứng trong bảng kia. Không được phép thêm các giá trị mới vào khóa ngoại.
1.4.3 Quan hệ và bậc
12 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000

Sinh viên
Tên sinh viên
1 Sam
2 John
3 Jenny
4 Lisa
5 Penny
6 Peter
7 Joe
P
F
Theo mô hình quan hệ, mỗi quan hệ hoặc bảng được tạo từ nhiều bộ (tuple). Chúng còn được gọi
là các bản ghi hoặc các hàng - một thuật ngữ đã quen thuộc với chúng ta.
Dưới đây là một vài bộ là thành phần của bảng Tiền tệ (Currency).
CHN China Renminbi (Yuan)
FRN France Francs
Đặc tính của bộ được phản ánh thông qua các thuộc tính hay trường của bộ đó. Điều này đơn giản

nghĩa là những gì mà bảng chứa đựng sẽ được định nghĩa bởi các thuộc tính của bảng đó. Số
lượng các thuộc tính được gọi là bậc (degree) của bảng.
1.4.4 Điều kiện đối với trường và cách đặt điều kiện cho trường
Các thuộc tính thường được gọi là trường. Khi thiết kế các bảng chúng ta phải quan tâm hơn đến
các trường sẽ được thêm vào bảng. Chúng ta phải dự kiến và quyết định các vấn đề khác nhau
liên quan đến các trường như kiểu dữ liệu mà trường đó sẽ chứa, kích thước hay dung lượng tối
đa của dữ liệu, các giá trị mặc định nếu có, các giới hạn hay ràng buộc phải đặt cho các trường,
v.v
Ví dụ, xét trường ĐơnGiá (UnitPrice) được định nghĩa trong bảng SảnPhẩm (Products). Trường
này cần phải chứa dữ liệu dạng số mà phải là giá trị khác 0. Chúng ta phải hoạch định cấu trúc
của tất cả các trường theo cách tương tự. Phần lớn các hệ CSDL cung cấp các phương pháp để
kiểm soát các điều kiện trên các trường. Các phương pháp này còn được gọi là các ràng buộc
(constraints). Bằng các điều kiện ràng buộc, ta có thể duy trì được tính toàn vẹn dữ liệu.
1.5 Giới thiệu SQL
Phần lớn các hệ quản trị CSDL cung cấp tính năng tích hợp sẵn có, hỗ trợ việc truy vấn CSDL.
Ngôn ngữ Truy vấn có cấu trúc là một trong những ngôn ngữ truy vấn được hỗ trợ bởi hầu hết
các hệ quản trị CSDL thương mại.
1.5.1 Ngôn ngữ Truy vấn có cấu trúc

Ngôn ngữ chuẩn của của một Hệ quản trị CSDL quan hệ là SQL. SQL (Structured Query
Language – Ngôn ngữ truy vấn có cấu trúc) là một ngôn ngữ lập trình và tương tác chuẩn để truy
xuất thông tin từ CSDL, cập nhật CSDL, v.v Theo thời gian, SQL đã dần dần phát triển và ngày
nay đã được chấp nhận như một chuẩn trên thế giới. Viện Tiêu chuẩn Quốc gia Mỹ (ANSI -
American National Standards Institute) đã thiết lập các tiêu chuẩn và hình thành nền tảng cho các
lệnh SQL. Mục đích chính của việc sử dụng SQL là để giao tiếp với CSDL. Tất cả dữ liệu chúng
ta lưu trữ trong CSDL của chúng ta không có giá trị gì trừ khi chúng ta có thể truy vấn và xem
chúng. Một câu truy vấn là một câu hỏi được viết bằng ngôn ngữ truy vấn có cấu trúc (SQL). Như
tên của ngôn ngữ này đã chỉ rõ, cách tốt nhất để viết các câu truy vấn là sử dụng ngôn ngữ SQL.
Tuy nhiên, nó cũng được dùng để cho các mục đích đa dạng khác như thay đổi dữ liệu hay xóa đi
những dữ liệu không mong muốn.

1.5.2 Phân loại SQL
Các câu lệnh SQL có thể được chia thành nhiều loại khác nhau, được liệt kê như sau.

Kiến thức nền tảng về Cơ sở dữ liệu 13
DQL viết tắt của Ngôn ngữ Truy vấn Dữ liệu (Data Query Language), được dùng để lấy dữ
liệu từ CSDL và đặt thứ tự lên đó.
DML viết tắt của Ngôn ngữ Thao tác Cơ sở Dữ liệu (Database Manipulation Language).
Ngôn ngữ thao tác CSDL có các câu lệnh để thêm, xóa và sửa dữ liệu trong CSDL. Bộ tiền biên
dịch DML thông dịch các câu lệnh này và tương tác với bộ xử lý truy vấn để tạo ra mã thích hợp.
DCL hay Ngôn ngữ Điều khiển Dữ liệu (Data Control Language) được dùng để quản lí quyền
đối với CSDL và các đối tượng CSDL.
DDL hay Ngôn ngữ Định nghĩa Dữ liệu (Data Definition Language), các câu lệnh DDL được
chuyển thành một tập hợp các tập tin chứa thông tin về dữ liệu. Đây là CSDL hệ thống chứa các
thông tin về các tập tin được tạo, chúng chứa những trường nào, những người dùng nào có quyền
truy cập tập tin đó và các thông tin nào người dùng đó được truy cập. Thông tin này được lưu
trong từ điển dữ liệu, là nơi giữ thông tin về cấu trúc CSDL.
CCL hay Ngôn ngữ Ra lệnh Thông thường (Common Command Language) được dùng để tìm
kiếm một cách hiệu quả trong CSDL. Ta có thể dùng nó để xây dựng các thư viện trực tuyến, nơi
mà một khối lượng dữ liệu lớn phải được sàng lọc trong một khoảng thời gian ngắn.
Tổng kết
 Quy trình bảo trì dữ liệu một cách thủ công là tẻ nhạt, tốn thời gian và có khả năng gây ra
sai sót.
 Các CSDL được máy tính hóa cho ta những dữ liệu bền vững, đảm bảo tính toàn vẹn dữ liệu,
thiết lập các tiêu chuẩn, làm giảm sự thiếu nhất quán và dư thừa dữ liệu.
 Một Hệ Quản trị Cơ sở dữ liệu có thể được định nghĩa như một tập hợp các bản ghi có quan
hệ với nhau và một bộ các chương trình để truy xuất và thao tác các bản ghi đó.
 Chúng ta có thể phân biệt các CSDL dựa trên cách thức hoạt động và mô hình dữ liệu.
 Một mô hình dữ liệu mô tả cách thức lưu trữ dữ liệu trong một vật chứa (container) và cách
thức truy xuất dữ liệu từ vật chứa đó.
 Có ba mô hình dữ liệu:

o Mô hình CSDL Phân cấp hay Đa cấp
o Mô hình CSDL Mạng
o Mô hình CSDL Quan hệ
 Trong mô hình quan hệ, dữ liệu được lưu trong các bảng.
 Bảng là các đối tượng của CSDL dùng để chứa tất cả dữ liệu có trong CSDL. Một CSDL
được cấu thành từ nhiều bảng, mỗi bảng chứa một tập hợp các dữ liệu có liên quan với nhau.
 Một Hệ thống CSDL là một hệ thống sử dụng máy tính để quản lý các bản ghi mà mục đích
tổng quát là nhằm ghi lại và bảo quản thông tin.
14 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
 Ta có thể giảm bớt sự trùng lặp dữ liệu hay ‘dữ thừa dữ liệu’ bằng cách sử dụng một hệ quản
trị CSDL. Việc đảm bảo tính chính xác của dữ liệu trong CSDL được gọi là duy trì tính toàn
vẹn dữ liệu.
 Một CSDL quan hệ là một CSDL được cấu trúc theo mô hình quan hệ.
 Một cột hoặc một sự kết hợp của một số cột mà qua đó xác định duy nhất một bản ghi trong
một bảng thì được gọi là Khóa Chính (Primary Key).
 Quy tắc Toàn vẹn Thực thể phát biểu rằng, không thành phần nào của khóa chính trong một
bảng được phép nhận giá trị NULL và không thể tồn tại hai thành phần có cùng giá trị.
 Quy tắc Toàn vẹn Tham chiếu phát biểu rằng trong một CSDL không tồn tại bất kỳ một
thuộc tính khóa ngoại nào có giá trị không khớp với các giá trị tương ứng trong quan hệ mà
thuộc tính đó làm khóa chính.
 Số lượng thuộc tính của một bảng được gọi là bậc của bảng đó.
 Ngôn ngữ truy vấn có cấu trúc (SQL-Structured Query Language) là một trong những ngôn
ngữ truy vấn được hỗ trợ bởi hầu hết các hệ quản trị CSDL thương mại.
 Các lệnh SQL có thể được phân làm nhiều loại khác nhau:
• DQL
• DML
• DCL
• DDL
• CCL
Kiến thức nền tảng về Cơ sở dữ liệu 15

Kiểm tra mức tiến bộ của bạn
1._____________________ đề cập đến việc bảo đảm sự chính xác của dữ liệu trong CSDL.
2. Một __________________ mô tả cách thức lưu trữ dữ liệu trong một vật chứa (container) và
cách thức truy xuất dữ liệu từ vật chứa đó.
3. Một _________________ có thể được định nghĩa như một tập hợp các bản ghi có quan hệ với
nhau và một bộ các chương trình dùng để truy cập và thao tác các bản ghi đó.
4. Một CSDL quan hệ là một CSDL được cấu trúc theo mô hình __________.
5. Một cột hoặc một sự kết hợp của một số cột mà qua đó xác định duy nhất một bản ghi trong
một bảng thì được gọi là _________________.
6. Quy tắc ______________ phát biểu rằng không thành phần nào của khóa chính trong một bảng
được phép nhận giá trị NULL.
7. SQL là một ngôn ngữ ____________ tiêu chuẩn.
8. Hai bảng được liên kết với nhau bằng cách dùng khóa _________.
9. Khi dữ liệu đuợc thu thập và phân tích, nó mang lại _________________
10. ________ được sử dụng để quản lý quyền truy xuất vào cơ sở dữ liệu và những đối tượng trên
cơ sở dữ liệu.
16 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000

×