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

Các kiến thức nền tảng về 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 (209.49 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.


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
Kiến thức nền tảng về Cơ sở dữ liệu 1
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
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)
2 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
DEPARTMENTD D_NAMED_NUMBERMGRNAMEMGRSTARTDATED
PROJECTP PNAMEPNUMBERPLOCA
TIONT
EMPLOYEEE NAMESSNBDATEADDRESSN
• 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.
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.
Kiến thức nền tảng về Cơ sở dữ liệu 3
DEPARTMENTD D_NAMED_NUMBERMGRNAMEMGRSTARTDATED
PROJECTP PNAMEPNUMBERPLOCA
TIONT
EMPLOYEEE NAMESSNBDATEADDRESSN

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.
Ư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
4 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000
DEPARTMENTD D_NAMED_NUMBERMGRNAMEMGRSTARTDATED
PROJECTP PNAMEPNUMBERPLOCA
TIONT
EMPLOYEEE NAMESSNBDATEADDRESSN
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.
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.
Kiến thức nền tảng về Cơ sở dữ liệu 5
Salesrep Customer
Invoice PaymentProduct
Invline
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.
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
6 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000

×