1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)

126 32 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo Trình Cơ Sở Dữ Liệu (Tập 1): Phần 1
Tác giả Nguyễn Thị Thu Thuỷ
Trường học Trường Đại Học Thương Mại
Chuyên ngành Quản Trị Hệ Thống Thông Tin
Thể loại Giáo Trình
Năm xuất bản 2015
Thành phố Hà Nội
Định dạng
Số trang 126
Dung lượng 4,62 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giáo trình Cơ sở dữ liệu (Tập 1) trình bày các kỹ thuật tổ chức dữ liệu ở dạng mô hình liên kết thực thể, hay mô hình quan hệ, chuẩn hóa mô hình cơ sở dữ liệu quan hệ, cũng như sử dụng các phép toán đại số quan hệ hoặc SQL để truy vấn thông tin từ cơ sở dữ liệu. Giáo trình kết cấu gồm 3 chương và chia thành 2 phần, phần 1 trình bày những nội dung về: tổng quan cơ sở dữ liệu; cơ sở dữ liệu quan hệ;... Mời các bạn cùng tham khảo!

Trang 1

ỉĩm \ TRƯỜNG ĐẠI HỌC THƯƠNG MẠI

Trang 3

TRƯỜNG ĐẠI HỌC THƯƠNG MẠI Chủ biên: TS Nguyễn Thị Thu Thuỷ

(PHẨN1)

Trang 5

LỜI NÓI ĐÀU

Cơ sở dữ liệu có thể coi là nguồn tài nguyên vô cùng quý giả của

mỗi tổ chức trong xã hội vì nó chứa đựng nhiều thông tin cần thiết và là

nền tảng khai thác cho các ứng dụng trợ giúp người dùng Để có thể xây dựng và thiết kế được cơ sở dữ liệu hiệu quả, chúng ta cần nắm vững được các phương pháp và các lã thuật then chốt trong việc tổ chức dữ

liệu một cách logic cũng như cách thức cài đặt vật lý dữ liệu này Để đạt được điều đó, tập thể giảng viên của Bộ môn Tin học, Khoa Hệ thống

thông tin kỉnh tế biên soạn và trân trọng giới thiệu cuốn “Giảo trình

Cơ sở dữ liệu (phần 1) Đây là cuốn giáo trình về cơ sở dữ liệu cơ bản

trình bày các lã thuật tổ chức dữ liệu ở dạng mô hình liên kết thực thể, hay mô hình quan hệ, chuẩn hóa mô hĩnh cơ sở dữ liệu quan hệ, cũng

như sử dụng các phép toán đại sổ quan hệ hoặc SQL để truy vẩn thông tin từ cơ sở dữ liệu.

Giáo trĩnh Cơ sở dữ liệu (phần 1) được biên soạn làm giáo trình

cho sinh viên hệ đại học chuyên ngành quản trị hệ thống thôỵig tin thuộc Khoa Hệ thống thông tin kinh tể của Trường Đại học Thương mại Giáo trình này đồng thời là tài liệu tham khảo cho các giảng viên trong quả

trình giảng dạy môn học, hoặc làm tài liệu tham khảo cho các sinh viên các chuyên ngành khác có liên quan đến cơ sở dữ liệu.

Nội dung giáo trình gồm 3 chương như sau:

Chương 1: Tổng quan về cơ sở dữ liệu Chương này trình bày các

khái niệm cơ bản về cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu,

Chương 2: Cơ sở dữ liệu quan hệ Chương này đi sâu trĩnh bày về

cơ sở dữ liệu quan hệ, toàn vẹn dữ liệu, phụ thuộc hàm

và chuẩn hóa dữ liệu quan hệ, mô hình thực thể liên kết, chuyển đổi sang mô hình quan hệ, cũng như quy

trình thiết kế cơ sở dữ liệu.

Trang 6

Chương 3: Ngôn ngữ khai thác cơ sở dữ liệu quan hệ Chương

này trình bày các kiến thức về các phép toán đại số quan hệ và ngôn ngữ SQL.

Tập thể tác giả biên soạn đã bám sát với đề cương được soạn theo

chương trĩnh khung của Bộ Giảo dục và Đào tạo ban hành, đồng thời có tham khảo và biên soạn lại để sao cho nó có tính cập nhật các kiến thức

theo chuyên ngành và đặc thù của khối trường kinh tế Hơn thế nữa, giáo

trình còn được biên soạn cho phù hợp với tình hình thực tiễn của xã hội Tham gia biên soạn giáo trình gồm các tác giả:

• TS Nguyễn Thị Thu Thủy, chủ biên và biên soạn chương 1.

• Ths Ngô Duy Thắng, Ths Nguyễn Hưng Long biên soạn chương 2.

• Ths Nghiêm Thị Lịch, Ths Cù Nguyên Gỉảp, Ths Đinh Thị Hà và

Ths Nguyễn Hằng Giang biên soạn chương 3.

• Ngoài ra, còn có sự đỏng góp các ỷ kiến, nhận xét của các giảng

viên khác và tham gia phản biện trong bộ môn.

Trong quá trình biên soạn chúng tôi xỉn cảm ơn các đồng nghiệp

đã công bố các giáo trình, sách và tài liệu liên quan để chủng tôi cỏ thể

tham khảo cho giáo trình của mình Mặc dù chúng tôi đã cổ gắng hoàn

chinh giảo trình, tuy nhiên không thể tránh khỏi thiếu sót Rất mong các đồng nghiệp, sinh viên đỏng góp ỷ kiến để giảo trình ngày càng hoàn

thiện hơn.

CÁC TÁC GIẢ

Trang 7

MỤC LỤC

Chương 1: TỔNG QUAN VÈ cơ SỞ DỮ LIỆU 7 1.1 Các khái niệm cơ bản về CSDL 7

1.1.1 Khái niệm về CSDL và vai trò của cơ sờ dữ liệu

1.4 Ngôn ngữ quàn trị cơ sở dữ liệu 36

Chương 2: Cơ Sở Dữ LIỆU QUAN HỆ 41 2.1 Các khái niệm cơ bàn 41

2.1.4 Liên kết (Mối quan hệ - relationships) 49

Trang 8

2.3 Phụ thuộc hàm 65

2.4 Chuẩn hoá các lược đồ quan hệ 85

2.4.1 Các dạng chuẩn của lược đồ quan hệ 86 2.4.2 Phương pháp xác định dạng chuẩn cao nhất 93

2.5 Tách các lược đồ quan hệ 96

2.5.2 Phép tách - kết nổi bào toàn thông tin 96 2.5.3 Thuật toán kiểm tra phép tách - kết nối bào toàn thông tin 98

2.6 Quy trình phân tích, thiết kế cơ sở dữ liệu quan hệ 102

2.6.1 Quá trình phân tích, thiết kế cơ sở dữ liệu 102 2.6.2 Thiết kế mô hình thực thể liên kết

(Mô hình ER (Entity Relationship Model)) 103 2.6.3 Các qui tắc chuyển đỗi từ mô hình ER sang mô hình quan hệ 112

Chương 3: NGÔN NGỮ KHAI THÁC CSDL QUAN HỆ 125 3.1 Các phép toán quan hệ 125

3.1.2 Các phép toán đặc biệt trên quan hệ 132

Tài liệu tham khảo 179

Trang 9

Chương 1 TỔNG QUAN VỀ cơ SỞ DỮ LIỆU

1.1 Các khái niệm cơ bản về CSDL

7.7.7 Khải niệm về CSDL và vai trò của cơ sở dữ liệu trong các

hệ thống thông tin

Cơ sở dữ liệu đóngvai trò quantrọngttongviệc xử lý cácthông tin

bằng máy tính, chúng được sử dụng rộng rãi trong tất cả các lĩnh vực khác nhau của đời sống con người

Bản chất của dữ liệu trong máy tính là cácsự kiện có ý nghĩa trong các lĩnh vực của đời sổng vàxã hội mà có thể ghi lại được để xử lý Vìthế, cơ sở dữ liệu có thể được xem như một tập hợp có cấu trúc các dữ

liệu được lưutrữ ở máy tính cho mục đíchnào đó của người sử dụng như

xửlý,thamchiếu, thống kê,

Theotừ điển Cambridge1, cơ sở dữ liệu làmột lượng lớncác thông

tin được lưutrữ trong máy tính saocho chúngcóthểdễdàng truy xuất vàthay đổi khi cầnthiết Còn theo Thomas& Carolyn (2005), cơ sởdữ liệu

là một tập họp các dữ liệucó liên quan với nhau một cách logic, chúng đượcmiêu tả, thiết kế sao chochúng có thể kết xuất ra các thôngtin cần

thiết cho yêucầunàođó của doanh nghiệp

1 http://dictionary.cambridge.org/

Nhưvậy, tacó thể thấy, cơ sở dữ liệu là mộttập họp các dữ liệu có

liênquan với nhau, được tổ chức, cài đặt và lưu trữ trênmáytínhsao cho

có nhiều người có thể sử dụng theo yêu cầu của mình

Ví dụ như chúng ta có thể mô hình hóa cácphòng trong một khách

sạn bằng việc lưutrữ các thôngtin về phòng, thông tin về việcđặt và trảphòng, sao cho việc lưu trữcác thôngtin này sẽ dễ dàng hỗ trợ được

Trang 10

việc tìm và đặt phòng của các khách du lịch Hay như việc tổ chức lưutrữ cácdữ liệu bao gồm các thôngtinvề sinh viên, điểm thi các môn học

(học phần), phục vụ cho việc ưa cứu điểm thi, lưu trữ, để làm mọicông việcliên quan đếnkếtquả họctập của sinh viên Đây chính là việc

tổ chức lưu trữ dữ liệu về sinh viên và các kết quả học tập để phục vụ cho các mục đích khác nhau cùanhàtrường

Tập họp cácdữ liệunóiưêncóthểđượcghi lại bằngviệctạora các

bảng biểu, hay sử dụng các phần mềm của máy tính như MS Access,

Excel, hay MS SQL, Tập các dữ liệu liên quan có ý nghĩa này cònđượccoi là mộtcơ sở dữ liệu

Để dễ hình dung hơn chúngtacóthể xem xétmộtcơ sở dữ liệu củatrường đại học bao gồm các thông tin về sịnh viên, môn học và điểm

ưong môi trườngđại học Các bảng dữ liệu dưới đây sẽ thểhiệncấutrúccủa cơ sở dữ liệu và một số dữ liệu mẫu Cơ sở dữ liệusẽ đượctổ chức ở

5 tệp riêngbiệtmà mỗi tệp sẽ lưutrữ cácdữ liệucó cùngkiểu Ví dụtệpsinh viên sẽ lưu trữdữ liệu làcác thông tinvề sinh viên, tệp môn học sẽlưu trữ thông tin về các học phần, còn tệp điểm sẽ lưu trữ các thông tin

vềđiểmcủa sinh viên tươngứng với cácmôn học,

Đê định nghĩa cơ sở dữ liệunày, chúng ta cần phải chỉ ra cấu trúccủa các bản ghi cho mỗi tệp bằng cách chi tiết hóa các kiểu thông tin

khác nhau để lưu trữ ưên một bản ghi Ví dụ, ở bảng SINHVIEN bao

gồm các bản ghi sinh viênlà tập các dữ liệuphàn ánh về đối tượng sinh viên,và bao gồm: MaSV, HoTen, LOP, KHOA Hay như ở bảng ghi các

TENMON, SOTC, BOMON, KHOA, Ngoài ra, chúng ta còn phải chỉ

ra các kiểu dữ liệucho mỗi bản ghi, ví dụ như Họ tên sinh viên (HoTen)

phải làmột chuỗi các kí tự,Mã sinh viên (MaSV) phải là chuỗi kí tự bao gồm số và chữcái, điểm phải là kiểu số,

Lưu ý đó là các bản ghi ởcác tệpkhác nhau có thể có mối quanhệlẫn nhau, ví dụ như dòng dữ liệu của tệp Sinh viên của sinh viên

“Nguyễn Chí Dũng” có liên quan đến bốn dòng dữ liệu ở bàng điểm để

Trang 11

chỉ ra điểm của sinh viên này Hoặc mỗi bản ghi của tệp điều kiện tiên

quyết có mối quan hệ với các bảnghi củakhóahọc, cụ thể là: một giátrịthể hiệnkhóa học và một giá trị thể hiện điều kiện để học khóa học đó Nếu bỏ trống cột MaDK để chỉ ra rằng môn học đó không có điều kiệnhọctrướcmônnàocả,sinh viên có thể đăng kí học ngay từ năm thứ nhất

SINHVIEN

Nguyễn DuyTrung Anh 2014S0081 1401INFO0111 HTTTKT

MONHOC

INFO1611 INFO0111

Vai trò của CSDL trong hệ thống thông tin

Trong một hệ thống thông tin, CSDL đóng vai trò rất quan trọng

Nó còn được coi là “kho chứadữ liệu”bao gồm các thông tin “thô” đểhệ

Trang 12

thống sử dụng các công cụ khác nhau khai thác nó nhàm đưa ra các thông tin theo yêu cầu cho mục đích của người sừ dụng Ví dụ, các hệ

thống thông tin địa lý có thểlưutrữ và phântích các bản đồ, các dữ liệu

về thời tiết và các ảnh vệ tinh thông qua các cơ sở dữ liệu đa phương

tiện Bằng cách sử dụng các công cụ khai thác và phân tích hệ thống thông tin địa lý, thông tin cho phépngườisử dụng có các thông tin quyết

định về thời tiết của vùng miền, cành báo về lũ lụt, Hay các kỹ thuật

tìm kiếm trong cơ sở dữ liệu của hệ thống tìm kiếm website đang được

áp dụng cho World Wide Web có thể cung cấp việc tìm kiếm các thông

tin cần thiết cho ngườisử dụng bằngcáchduyệtqua Internet

Việc tổ chức thiết kế và duy trì các thông tin trong một hệ thống được thực hiện bởi bộ phận công nghệ thông tin (CNTT) ữong một tổ chức Công việc này thường bao gồm: tổ chức lưu trữ trong các thiết bị

lưu trữ, cài đặt các phần mềm ứng dụng, và tổ chức các cơ sở dữ liệu

Việc thiết kế mộtứng dụng mớicho một cơ sở dữ liệu đã có hoặc mộtcơ

sở dữ liệu hoàn toàn mới được bắt đầu bằng pha đặc tà yêucàu và phântích yêu cầu Sau đó, cácyêu cầu sẽ được chuyển một cách chi tiết sang

pha thiết kếkhái niệm thểhiện trên một số côngcụthiếtkế sao cho nó dễ

dàng chuyểnquaviệc thể hiện trên cơ sởdữ liệu(thường là dựa trên môhình quan hệ thực thể sẽ được đề cập ở các chương sau) Sau đó, việc

thiết kế sẽ được dịchsang mô hìnhlogic mànó dễ dàng cài đặtởmột hệquản trị cơ sở dữ liệu Giai đoạn cuốicùngsẽ làthiếtkếvật lý và lúc này

việc thiết kế cơ sở dữ liệu là sự thể hiện của dữ liệu thực, và phản ánh các trạng thái khác nhau của thế giới thực Cụ thể các bước xây dựng

' CSDLđượctiến hành như sau:

Bước 1: Xác định các yêu cầu Thông thường tại bước này cần tạo

ramộtbản tàiliệu chỉra các đặc tả yêucầucủahệthống thông tin

Bước 2: Xác định mồhình với các kiểu dữ liệuvà quanhệ tương ứng

Bước 3: Xác định cácràng buộc cho dữ liệuđể đảm bảo tính toàn

vẹncủahệthống

Bước 4: Xácđịnhviệccài đặt ở mứcvật lý đối vớicác quanhệ

Trang 13

Bước 5: Định nghĩa các giao diện người dùng tương ứng với từng

nhiệm vụ cụ thểcủahệ thống thông tin

Bước 6: Cài đặt CSDL cho hệ thống

Ở bước 1, các đặc tả yêu càu về mặt dữ liệu của các chức năng trong hệ thống cần phải được xác định rõ để làm tiền đề cho các bước sau Người thiết kế nên xây dựng một bảng mô tảcác chức năng của hệ

thống với việc sử dụng các yêucầuvề dữ liệu tương ứng.Ví dụnhư chức năng tìm kiếm điểm của sinh viên sẽ đòihỏi việc truy cậpvàocác dữ liệu

về môn học và điểm cùa môn học đó một cách tương ứng (đối với đối

tượng tìm kiếm sinh viên)

Ví dụ: Các yêu cầuchứcnăngcùa cơ sở dữ liệu quản lý dự án

• Nhập liệu

Dữ liệu của hệ thống sẽ được nhập trực tiếp từ các mẫu biểu của dự

án; cácdữ liệucóthể sửa đổi,xóa bỏ, thay thế cácmẫu biểu;hoặc có thể

in ấn trực tiếp từ mẫu biểu

• Lưu trữ

Các thông tin về các sản phẩm kinh doanh của côngty sẽ được lưutrữ lại; có thể bao gồm: Thông tin khách hàng; thông tin liên quan đếnkinh doanh và triển khaiphần mềm

• Tìm kiếm

Các thông tin đượctìmthôngquamã dự án hoặctên dự án

• Thống kê bảo cảo

Thống kê số lượng khách hàng đặt hàng trong một khoảng thời

gian; thống kê những họp đồng đã hoàn thành trong một khoảng thời

gian; báocáo vềtìnhhìnhdoanh thu và tiến độ triển khai hợp đồng

Ở bước 2, các mô hình thực thể liên kết được tạo ra cho các thựcthể quàn lý Tại đó, các mối ràng buộclogic giữa các thực thể cũng được

Trang 14

chỉ ra Trong bước này, việcchuyểnđổitừ mô hình thực thể liên kếtsang

mô hình quan hệ cũng được tiếnhành với sự chuẩn hóa về mặt dữ liệu Chi tiếthóacủa bước này được thể hiện ởchương2 củagiáotrìnhnày

Việc xác định cácràng buộc cho cácdữ liệu được thiếtlập ở bước 3

của quá trình Việc xác địnhcác ràng buộc này nhằm mục đíchtránh sự

“nhập nhằng” hoặc “không chuẩn” khi người sử dụng nhập dữ liệu cho

hệ thống Ví dụ như, việc quy định ràng buộc cho khoảng thời gian là 12 tháng là tối đa và 1 tháng là tối thiểucho mỗi hợp đồng dựáncho phépngười sử dụng chỉ được nhập dữ liệu đối với cột này trong khoảng từ

(1-12)

Ở bước 4, xác định việc cài đặt ở mức vật lý đối với các quan hệ, các yêu cầu về mặt cấu trúc vật lý cho CSDL sẽ được xác định Thôngthường các quy định về kiểu, độ rộng trường, cách thức định dạng, sẽ

đượcthểhiện ở bước này

Ví dụ: Bảng dưới đây mô tả việc cài đặt vật lý của bảng dữ liệu HOPDONG

Việc định nghĩa các mẫu biểu nhập dữ liệu sẽ được chỉ ra ở bước 5.Các quy định về số lượng các mẫu biểu, cách bố trí các phàn tử và quycách trình bàymẫu biểu cũng được thể hiện ởbướcnày

Ví dụ về giao diện của mẫu biểu nhập các hợp đồng cho bảng dữ liệu HOPDONG

Trang 15

QUẢN LÝ HỢP ĐỒNG

THOÁT

Ở bước 6, việc cài đặt cụ thể CSDL đối với mộthệquản tộ CSDL

được chỉ ra Một số hệ quản trị thông thường có thể dùng là: MSACCESS; My SQL; MS SQL server;Oracle,

1.1.2 Đặc điểm và tỉnh chất của CSDL

Việc sử dụng cụm từ cơ sở dữ liệu của định nghĩa ở ưên mang ý

nghĩa tổng quát Tuy nhiên, ứên thực tế cụm từ cơ sở dữ liệuthường được hiểutheo nghĩa chặt hơn.Nghĩa làchúng còn phải có một sốtínhchấtsau:

• Một cơ sở dữ liệu thường biểu thị một phần nào đó của thế giới thực Ví dụnhưhoạt động kinhdoanhcủa một công ty,các giao dịch củamộtngân hàng, các hoạt động tác nghiệpcủa công ty vậnchuyển, Tất

cả những thay đổi của các hoạt động nói trên ưong thế giới thực phải

được phản ánhmộtcáchtrung thực vào cơsở dữ liệumànóđang lưu trữ,

vànhững thông tin này sẽ tạothànhmộtkhônggian cơ sở dữ liệuhoặc là

một “thế giới nhỏ” (Xem hình 1.1)

Trang 16

Npxri SŨ Ihmýrià Lập

Hình 1.1: Không gian CSDL

• Tập hợp dữ liệu trong cơ sở dữ liệu phải có sự liên kết với nhau

một cách logic và mang một ý nghĩa nào đó để phục vụ cho một mục

đích nhấtđịnh Nghĩa là, một cơsở dữ liệu không phảilàmộttập hợp dữ

liệu tuỳtiện

•Một cơ sở dữ liệu được thiết kế và được sử dụng cho một mục

đích nhất định của một hay nhiều người dùng và nó được sử dụng kèm

theo một số ứng dụng nào đó phục vụ cho mối quan tâm của người sửdụng Nói cách khác, một cơ sở dữ liệu có nguồn cung cấp dữliệu đượclấy từ thế giới thực Nó được sử dụng để tương tác với các sự kiện của

thế giới thực thôngquangười dùng làđối tượng màquantâmđến các nộidung của nó

• Một cơ sở dữ liệucó thể có cỡ tuỳý và có độ phức tạp thay đổi

Có những cơ sở dữ liệu chỉ gồm vài trăm bản ghi (ví dụ như cơ sở dữ

liệu phục vụ việc quản lý nhân sựở một trường), và có những cơ sở dữ

Trang 17

liệu có dunglượng rất lớn (nhưcác cơ sở dữ liệuphục vụ cho việctính

cướcđiện thoại, quảnlý điện tiêu dùng) Các cơ sở dữ liệu phảiđược tổ chức quản lý sao chonhững người sử dụng có thể tìm kiếm dữliệu, cập

nhật dữ liệu và lấy dữ liệu rakhi cần thiết

Một trong nhữngđặc điểm củaviệc thiếtkế cơ sở dữ liệu khác biệt

với việc tổ chứcdữ liệuriêng lẻ củalập trình truyềnthống là việc tổ chức

dữ liệu thành một cơ sở dữ liệu thống nhất để cho nhiều người dùng có

thể sử dụng với nhiều mục đích khác nhau Ví dụ, ở lập trình truyền

thống, một người dùng (nhânviên phòng đàotạo) có thể có tệp điểm và

thông tin củasinh viên, các ứngdụng cótácdụng in bảng điểm sinh viên

vànhập điểm mới khi cần Tuy nhiên, người dùng ở phòng kế toán thì lại

cócác thông tin về sinh viên và học phícần đóngcủangườisinhviênđó.Chính vì không có sự kết nối giữa hai tệp dữ liệu nói trên, nên dẫn đếnviệc chứng nhận sinh viên đã đóng học phí hay chưa để có đủ điều kiện

dự thi là hoàn toànphải làm thủ công và tốnthời gian tracứu Đồng thời,

mặc dù cà hai cùngquan tâm đến dữ liệu sinh viên nhưng chúnglại ở các tệp hoàn toàn khác nhau, điều này dẫn đến việc dư thừa trong việc lưu

trữ dữ liệu, tốn thờigian cập nhật dữliệu ở các tệp dữ liệu khácnhau.Khác hẳn với việc xử lý tệp dữ liệu truyền thống, việc lưu trữ dữ

liệu trong một cơ sở dữ liệu thốngnhấtcho phép chúng tađịnh nghĩavề

dữ liệu một lần nhưngcho nhiều người dùng truy cập và sử dụngnó theo

từng ứng dụng mà họ cần Nói một cách khác, trong cơ sở dữ liệu, tên

hoặc nhãn của dữ liệu được định nghĩamộtlầnvà chúng sẽ được sử dụng

lặp nhiều lần thông qua các truy vấn và ứng dụng Một cách chi tiết chúng sẽ được thể hiện qua các đặc điểm chính sau:

a Cơ sở dữ liệu phải tự mô tảđược bản chất của hệ thống cơ sở

dữ liệu

b Có sự độc lập với chương trình và dữ liệu cũng như sự trừu

tượnghóavề mặt dữ liệu

c Hỗ trợ cácquan điểm (hướng nhìn) khác nhau vềmặt dữ liệu

d Chia sẻ dữ liệu với nhiều người dùng

Trang 18

Mô tả bản chất của hệ thống cơ sở dữ liệu

Nhữngđặc điểmcơ bản nhấtcủa cơ sở dữ liệu không chỉ phản ánh

vềmặt dữ liệu,màcòn địnhnghĩahoặc mô tả hoàn chỉnh cấu trúcvà các ràng buộc lẫn nhau của các dữ liệu trong hệ thống Định nghĩa này sẽđược lưu trữ trong danh mục củahệ quản trị cơ sởdữ liệu (cấu trúc của

tệp, kiểu và định dạng của từng phần tử dữ liệu, các ràng buộc của dữ liệu) và các thông tin này được gọi là không giandữ liệu - hệ cơ sở dữ

liệu (Hình 1.2) Danh mục sẽ được sử dụng bởi hệ quàn trị CSDL vàngười dùng khi họ cần đến cấu trúc của CSDL Với lập trình truyền

thống, mỗi ngôn ngữ lập trình sẽ có một cách định nghĩa cấu trúc tệp

(file)dữ liệu riêng, cònđối với hệ quản trị cơsởdữliệu thì nó hoàn toàn

có thể truy cập vào các cơ sở dữ liệu khác nhau (ngân hàng, trường

học, ) nhờ việc trích xuấtthông tin định nghĩa từ danh mụcvà dùng các định nghĩa này trongcácứngdụng của nó

Hình 1.2 là ví dụ chiramột số dữ liệu nhập cho danh mục, các định

nghĩa này đượcđặc tả bởi người thiết kế và lưu ở danh mục Khi có yêucầu truy cập ví dụ như tên của Sinhviên, hệ quản trị CSDL sẽ tìm trong

danh mục để xác định cấu trúc, số vị trí, định dạng, kiểu, của bản ghi

sinh viên

¡HệCSDL I

I I I I

i I

I i

Trang 19

1.1.3 Khải niệm về hệ CSDL

Để dẫn đếnkhái niệm hệ CSDL,trướchếtchúng ta cần làm sáng tỏ

khái niệm về việc tổ chức khai thác có hiệu quả các dữ liệutrong cơ sở

dữ liệu Một nhóm chương trình trong máy tínhcó chức năngtạo ra, duy trì vàkhaithácmộtcơ sở dữ liệu được gọi làhệquản trịCSDL

Như vậy, hệ quản trị CSDL là một phần mềm mà cho phép người

dùng định nghĩa, tạo, duy trì hoạt động và điều khiển việc truycập vào

CSDL Phần mềm này có thể tương tác với các chương trình ứng dụng của ngườidùng và CSDLthôngqua các chứcnăngsau:

• Nó cho phép người dùng định nghĩa CSDL thông qua ngôn ngữ

định nghĩa dữ liệu (DLL - Data Definition Language) Tại đây, người

dùng có thể đặc tả kiểu dữ liệu, cấu trúc và các ràng buộccủa cácdữ liệu

đang được lưutrữtrong CSDL

•Nó cho phép người dùng xửlý dữ liệu với các thao tác chèn cập nhật, xóa, thông qua ngôn ngữ khai thác dữ liệu (DML - Data Manipulation Language) Ngôn ngữ chuẩn để khai thác CSDL quan hệ còn được biếtđến với têngọi làSQL (Structured Query Language)

•Nó cung cấp các quyền truy cập vào CSDL như: Hệ thống bảo

mậtđể định danh khitruycậpvàoCSDL; hệtoànvẹnđể duy trì việc lưutrữdữ liệu; hayhệ thống điều khiển việc chia sẻ tài nguyên trong CSDL;

nhậtkí việc người dùng truy cập;

Hệ cơsở dữ liệu được thiếtkế để quản lýmột khối lượng lớn thông

tin của một tổ chức bằng cách tổ chức cácdữ liệu đầu vào thànhcơ sở dữliệu; và tạo ra một môi trường giúp cho người sử dụng có thể dễ dàngquản lý và khai thác các thông tin trongcơ sở dữ liệu

Như vậy, có thể nói rằng, hệ cơ sở dữ liệu bao gồm hệ quản trị

CSDL và cơ sở dữ liệu được cài đặt trong hệ quản trị này (xem mô tảở

Hình 1.2) Người dùng tương tác với CSDL thông qua một số chương

trình ứng dụng băngcách sửdụng ngôn ngữ SQL để tạo ra các thông tin theo yêu cầu

Trang 20

Lịch sử của hệ quăn trị CSDL

Trước năm 1960, các dữ liệu được lưu trữ dưới dạng tệp (Hình

1.3) Một trong các hệ thống quàn lýdữ liệuởdạngtệp (Tập tin) ữong hệ

thống khá nổitiếngđó là dự ánbaylên mặt trăng củatàu vũ trụ Apollo

Hình 1.3: Ví dụ về các tệp lưu trữ dữ liệu

Vào giữa năm 1960, IBM kết hợp với NAA (North American

Aviation - Hàng không Bắc Mỹ) để phát triển GUAM (GeneralizedUpdate Access Method) thành IMS (Information Management System)

Đây có thể coi là phiên bản thương mại đầutiêncủahệ quản trị CSDL.Vào năm 1970, E F Codd (làm việc tại phòng nghiên cứu của

IBM) sinhramôhìnhđểcóthểlưutrữ dữ liệu với dạngbảng quan hệ với các bảnghi (hệ quản trị cơsở dữ liệu quan hệ) Trong bảng quan hệ này,

các bảnghi có mối liên kết với nhauthôngqua khóa (xem bảng dưới)

Key

Login Ho Ten Dungnc Nguyen Chi DungTanh Nguyen Duy Trung Anh Kitty Amber Smith

J Login Address

1 Dungnc chidungnc@yahoo.com

Trang 21

Cũng vào cuối năm này, dự án hệ thống R của phòng nghiên cứu

IBM’s San José Research Laboratoryđã cung cấp cách thể hiệncấutrúc

dữ liệu và các chức năng điều hành thông qua việc phát triển ngôn ngữtruyvấncó cấutrúc (SQL) Từ đó SQL ưở thành ngôn ngữ chuẩn chohệ thống quảntrị CSDL

Vào những năm 1980, các sản phẩm thương mại của CSDL quan

hệ ra đời (được coi làthế hệ thứ hai củahệ quản trị CSDL), và điểnhình

làDB2 và SQL/DS của IBM và Oracle Từ đó trở về sau, hàng trăm hệthống CSDL quanhệ đã đượcthiết kế cho cả hai môi trường MainFrame

và PC và có thể cho phép nhiều người dùng Vídụ như Office Access vàVisual FoxPro của Microsoft, and JDataStore củaBorland và R:Base củaR:BaseTechnologies

Hệ quản trị CSDL hướng đối tượng (Object-Oriented DBMS

-OODBMS)và hệ quản trị CSDL đối tượng quanhệ - Object- Relational DBMS (ORDBMS) (thế hệ thứ ba của hệ quản trị CSDL) được ra đời

vào những năm 1990với mong muốn là cogắngthể hiện môhình dữ liệu

mà có thể phản ánh đượcrõ ràng thế giới thực hơnvà đáp ứng được các yêu cầu phứctạp củahệ thống ứng dụng CSDL

ưu và nhược điểm của hệ quản trị CSDL

ưu điểm:

• Điều khiển được sự dư thừa của dữ liệu: Khắc phục được các nhược điểm của hệ thống lưu trữ tệp truyền thống là rất tốn bộ nhớ để

lưu trữ cácthông tin giống nhau trên nhiều tệp, hệ quảntrị CSDL giảm

sự dư thừabằng cách là tích hợp các tệp lại sao chocác dữliệu sao chép không cần phải lưu trữ ở chỗ khác

• Đồng nhất dữ liệu: Sự dư thừa của dữ liệu, độ rủiro về sự không

đồng nhất đã được giảm đáng kể Bởi vì nếu một phần tử dữ liệu được

lưu trữ chỉ một lần trong CSDL thì khi có sự cập nhật, thay đổi nó sẽ chỉ phải thực hiện ngay trong CSDL và vì thế nó luôn thích hợp cho mọingười dùng mà không cần quan tâm đến sự kiểm soát về sự đồng nhất

Trang 22

Nếu phần tử dữ liệu nàyđượclưutrữ tại nhiều vị trí (file -based system -

hệ thống lưu trữdưới dạng tệp truyền thống) thì hệ thống sè luôn phải

cảnh giác và đảm bảo sự cập nhật giá trị và sao chép của phần tử dữ liệu

này luôn phù hợp cho người dùng

• Cho biết nhiều thông tin từ một lượng dữ liệu: Với việc tích

hợp các phép toántrên dữliệu hệ thống sẽ cungcấp nhiều thông tin hơn với một lượng dữ liệu ban đầu Ví dụ như từ dữ liệu hàng hóa với số lượng bán, đơn giábán hệ thống có thể tính toán thành tiền, và làm các thao tác thống kê doanh thu,

• Chia sẻ dữ liệu: Cho phép nhiều người dùng truy cập cùng một

lúc vào CSDL và cóthể thiết lậpquyền truy cập

• Tăng mối tưong tác với người dùng Ví dụ hệ thống cho thuênhà cho phép người dùng đặt các câu hỏi cho dữ liệunhư: tìm kiếm các

nhàcógiácho thuê dưới 1 triệu đồng/1 tháng,

•Củngcố sự bảo mật của dữ liệu và áp cácchuẩn cho dữ liệu,

Nhược điểm

• Phức tạp: Để có hệ thống quàntrị CSDL tốt thì bản thân nhàpháttriển, người dùng, cũng phải tuân thủcác yêu cầu từ thiết kế, quy cáchnhậpdữliệu, của hệthống

•Tăng giá thành cho phần cứng và chi phí cho việc xây dựng hệ

quảntrị

•Nếu gây lỗi thì rấttốn kém thông quaviệc phản ánh các thông tin sailệch được lấy ra từhệthống dữ liệu

1.2 Mô hình dữ liệu

1.2.1 Khái niệm và ỷ nghĩa của mô hình dữ liệu

Mô hình dữliệu làmộtthể hiện củacác đối tượng và sự kiện cùng với các mối quanhệ của nótrongthế giới thực Nó thể hiện cho sự trừu

tượng hóa của mộttổ chức hay một hệ thống và tập trung vào việc mô

Trang 23

hìnhhóa các khía cạnhthiếtyếu,vốn có của hệ thống Nỏ bỏqua các yếu

tố phụ (không mang nhiều ý nghĩa cho hệ thống) của một hệ thống tổ

chức Một mô hình dữ liệu sẽ thể hiện bản thân hệ thống nào đó đồngthời cung cấp các kháiniệm cơ bản và các chú giải saocho người thiết

kế và người dùng cuối không mơ hồ khi giao tiếp với các dữ liệu của

hệ thống

Mô hình dữ liệu có thể được thể hiện dưới dạng mô hình phăng(Flat model) Nghĩa là, mô hình được thể hiện như một bảng hai chiều

mà trong đó các cột thể hiện cácđặc tínhcủa dữ liệu, và mỗi một dòng

thể hiện mộtđối tượng cần lưu trữvới một bộ các giá trị tương ứng với các cột Ví dụ, cơ sở dữ liệu về bảo mật hệ thống gồm có hai cột User

Name và Password, trong đó mỗi dòng sẽ thể hiện một password cụ thểcùa từng cá nhân người dùng thôngqua tên (User Name)để truy cập vào

hệ thống Kiểu định dạng bảng vừa mô tả là tiền thân của việc thể hiệntrongmô hình cơ sở dữ liệuquan hệ

Ví dụvềmô hìph phăng của cơsở dữ liệu bảo mật hệ thống

User Name Password

mô tả một loại thông tin cần lấy từ dữ kiện (ví dụ như những người tham

gia vào sự kiện, thời gian và địa điểm tổ chức sự kiện, và loại hình sựkiện xảy ra, ) Chiều của bảng còn được sửdụng để rút racác nhóm dữ

Trang 24

kiện có liên quan đếnnhau Thông thường các chiều là rời rạc và thường được phân nhánh Ví dụ, chiều “vị trí” sẽ là thể hiện của “tòa nhà”,

“tỉnh/thànhphố”, hay “tên nước” Độ đo của bảng là một số mà miêu tà

dữ kiện, dụ như “doanh thu” Chú ý làđộ đo phải có ýnghĩa tích họp

được với các chiều Ví dụ, doanh thu từ các “vị trí” phải thực sự có ý

nghĩa trong bảng Thông thường trongbảnghỏi OLAP, các chiều và các nhóm sẽ được chọn sao cho khi tích họp lại chúng sẽ trở thành bảng

thốngkê dữ liệu

Cấu trúc của mô hình nhiều chiều thường được sử dụng đó làcấu

trúc hình sao (star-schema) mà ở đó bảng chuẩn hóa cao nhất là bàngchứa cácdữ kiện, các bản xung quanh sẽ là các bảng tương ứng với mỗi

chiều Ngoài ra, còn có một cách thể hiện cấu trúc khác nữa đó là cấu

trúc bông tuyết (snowflake) mà ở đó các bảng thể hiện một cấu trúc đacấp phân bậc

Tóm lại, mục đíchcủa việc thể hiện thành mô hình nhiều chiều để

diễn giảidữ liệu theo nhiềukhíacạnhkhác nhau tùy thuộc vào cách nhìn khác nhau (tương ứng với số chiều) cùa người sử dụng để rút ra các

thông tin cầnthiếtchomình

Ví dụ vềkhối OLAPcóthể xem ởHình 1.4 Ở đó mỗi mặt của hình

lập phương sẽ thể hiện một chiều như “Products”,’’Cities”,hay “Time”

Hình 1.4: Khối OLAP thể hiện các chiều của Products,

Cities và Time

Trang 25

Mot vi du nua la viec thd hien cac du- liputren khbi OLAP cua co

so du lieu thu tuc hanh chinh mot cua cip quan 0 day khdi “mgt cua”dugc tao lap vdi cac chieu (5 chidu) can thong ke du lieu la: “Can bp”

(thd hien cac can bo giai quyet); “Phong ban” (the hipn cac phong banlienquan ddn thu tuc); “Linh vuc” (the hipn linh vyc ma phong bandang

quan ly); “Thutuc” (Thutuc ma ngubi danyeu cau); va “Yeu ciu” (Yeu

cau can giai quydt cua ngubidan) (xemHinh 1.5)

Solution Explorer

MotCuaS^mplel.3

(=]■■• Data Sources L «5» MOTCUA.ds EJ- Data Source Views I— * £3 MOTCUA.dsv

ES ■ Cubes

| 1 liital MOTCUA.cube E3- gSr Dimensions j DM Can Bo.dim j tz" DM Phong Ban.dim tz" ND Linh Vuc.dim I tz” NDThuTcc.dim 1— \y' ND Yeu Cau.dim Mining Structures

— Roles

— Assemblies Miscellaneous

Hinh 1.5: Vi du khai bao khoi OLAP cua co1 sb dir lipu

thu tyc hanh chinh mpt cua

Trong khuon kho gido trinh nay, vipc mb ta chi tidt vd mb hinh

nhidu chidu se khong dupe dd cap ddn mil chu ydu xoay quanh mb hinh

phang(flatmodel)

Mot mb hinh co sb du lieu la mgt kieu cua mb hinh du lipu m& b

doda xac dinh dune cdu true vdm£t logic cua co sb du lipu va each thuc

ma du lieu se dugcluu tru,to chuc vi xur ly trong hp thong Mgt vi dprd

thiy nhit cua viecmb hinh hdaduliputrongmb hinh quan hp db la vipc

tochuc dd lipu thanh cacbAng quanhp (bbng haichieu)

Trang 26

Một hệ cơ sở dữliệu có thể xây dựng dựa trên các mô hình cơ sở

dữliệu khác nhau tùy thuộcvào việcmô tả cấutrúc, tập ràng buộc hoặcmối quan hệ giữa các mô tả cũng như là cách thức lưu trữ và xử lý dữ

liệu của từng môhình

Một mô hình dữ liệu sẽ gồm cỏ ba thành phần sau:

1 Phần cấu trúc: Là tập các luật mà theo đó cơ sở dữliệu sẽ được

xây dựng

2 Phàn phép toán: Định nghĩa các phép toán mà cho phép thực hiện trên dữ liệu (có thể bao gồm các phép toán dùng để cập nhật hoặc

rút trích dữ liệu từCSDL hoặc thay đổi cấu trúc dữ liệu, )

3 Tập các ràng buộc: Các ràng buộc này để đảm bào dữ liệu là

chính xác và toàn vẹn

Phần cấu trúc của cơ sở dữ liệu (database structure) được mô tả

với một ngôn ngữ hình thức của một hệ quản trị cơ sở dữ liệu nào đó

Chúng cho biết cách thức tổ chức dữ liệu giống như chúng được trình

bày dưới dạng mộtbản thiết kế về dữ liệuvề cáchbố trí dữliệutronghệthống Ví dụ, trong cơ sở dữ liệu quan hệ, cấu trúc của cơ sở dữ liệu

chính là cách thức chia dữ liệuvào thành các bảng tronghệ thống, cấu

trúc chi tiết của cơ sở dữ liệu sẽ dựatrên các tri thức quản trị cơ sở dữ liệucủacác ứng dụng sẵn có Nghĩa là, các cấu trúc nàyphải chì racách

thức mà dữ liệu thực tế sẽ được nhập vào cơ sở dữ liệu, hoặc các thông tin thựcmà người dùng cuốisẽ nhận đượcthông quacácdữ liệu đã có

Ví dụ: Trongcơsở dữ liệuquanhệ, trước khi người sử dụng muốnlưutrữ thông tintrong máytính, ta nênđặtcâu hỏi “chính xác” là nhữngthông tin nào mình cần lưutrữ, kiểu củathông tin đó là gì Sau đó, ta sẽ

xác định các trường (“field”) sẽ được sử dụng ưong cơ sở dữ liệu (đây

chínhlà tập hợp các thông tin mà cơ sở dữ liệu sẽ lưu trữ, ví dụnhư cơ

sở dữ liệu sinh viên sẽ bao gồm: Mã sinh viên, Họ Tên sinh viên, ngàysinh, địachỉ, lớp hành chính, ) Tronghầu hết cácứng dụng của hệ quản trị CSDL, khi khai báo các trường chúng ta cần phải khai báo đồngthời

Trang 27

kiểudữ liệutương ứngcủa cáctrường đó Các kiểu hay được sử dụng

•Kiểu khác Trong một số hệ quản trị cho phép người dùng khai

báo một số kiểu đặc biệt nhưkiểu multimedia object (cho phép lưu trữ hình ảnh, hoặc âmthanh)

Quay lại ví dụ về cơ sở dữ liệu sinh viên nói trên, đối với trường

mã sinh viên, ta sẽ nên chọn kiểu là văn bản, trường Họ tên sinh viên cũng sẽ có kiểu là văn bản, cònNgàysinh sẽ cỏ kiểu là ngày tháng, Tập các trường nàysẽ tạo racấu trúcchomột bảng(“Table”) trong

hệ quản trị cơ sở dữ liệu Bước tiếptheo sẽ là xác định khóa chính cho

bảng quan hệ Khóa chính này sẽ là một trường nào đó trong bảng mànhờ nó sẽ xác định được mỗi cá thể (bản ghi - là một bộ giá trị trong

bảng) trong cơ sở dữ liệu là duynhất Ví dụ như trườngMã sinh viênsẽ trở thành khóa chính cho bảng sinh viên này do việc quy định Mã sinh

viên trong hệthống là duy nhất Có nghĩalà, mỗi một sinh viên sẽ chì có

mộtMãsinh viên, và từgiá trị của Mã sinhviên tacó thể xác định đượcđối tượng sinhviên tương ứng

Người sử dụng có thể tạo ra các chỉ mục (index) nếu muốn Việc này giúp cho việc tìm kiếm trong bảng dữliệu nhanh chóng hơn Thông thường người sử dụng sẽ chọn trường khóa chỉnh chính là cột chỉ mục

trong bảng

Phần phép toán: Đây chính là một hệ thống các quy tắc, cú phápgiả ngôn ngữ lập trình cho máytính dùng để xử lý dữ liệu Mộttrong các ngôn ngữ sử dụng ở phần phép toán này là ngôn ngữ SQL (Structured

Trang 28

Query Language), và nỏ được sửdụngnhiều trong cơsở dữ liệu quanhệ.

Ngoài ra, còn có các ngôn ngữ khác như IMS/DLI (Information

(Conference on Data Systems Languages) ứong các hệ thống thông tin

của IBMdùng với ngôn ngữ lập trình COBOL

Trong phần phép toán xử lý, các dữ liệu sẽ được biến đổi tùy theocâu lệnh của ngôn ngữ mà nó sử dụng, ví dụ như SQL, nhưng các phéptoánnày sẽ không làm thay đổi cấu trúc haybàn chất của các đối tượng

cơ sở dữ liệu đanglưutrữ

Tập các phép toán xử lýthường được tổ chức thành các chức năngkhác nhau và bắtđầubằng động từđểthề hiện chức năng xử lý đó Ví dụ

các “động từ” câu lệnhsau của ngôn ngữ SQL:

•SELECT FROM WHERE

•INSERTINTO VALUES

• UPDATE SET WHERE

• DELETE FROM WHERE

Tập các ràng buộc: Tập các ràng buộc dữ liệu là việc duy trì vàđảm bảo sự chính xác của dữ liệu trong vòng đời của dữ liệu ừong hệ thống Ràng buộc dữ liệuđược coi như là một phần bắt buộctrong việc

thiết kế, cài đặt và sử dụng cùa bất cứ hệ thống nào Ràng buộc dữ liệu

cũng được hiểu theo nghĩa rất rộng và nó cũng tùy thuộc vào phạm vi, hoàn cành củaviệcthể hiện cơ sở dữ liệu frong từnghệthống Mộttrong

ràng buộc lớn nhất là đàm bảo toàn vẹndữ liệu Nghĩa làtránh được sựsụpđổhaythất thoát dữ liệu Nó đảmbảo các dữ liệu lưu trữ là chính xác

theo ý đồ củanhà thiết kế, và sự truy xuất được về sau Nói cách khác,

mục đích của toàn vẹn dữ liệu là để ngăn chặn sự thay đổi thông tin không chủ định

Lưuý rằng,toàn vẹn dữ liệu không đượcnhầm với an toàn dữ liệu

An toàn dữ liệu là việc ngăn chặn sự xâm nhập ưái phép dữ liệu cùa

Trang 29

người không có quyền truy cập Bất cứ sự thay đổi không có chủ đíchnào cho dữ liệu như lỗi người dùng, lỗi của lưutrữ, rút trích, thao tác xử

lý, là một sựthể hiện thấtbại của toàn vẹn dữ liệu

Các kiểu ràng buộc toàn vẹn dữ liệu: Đây là các ràng buộc nhằm

mục đích đảm bảo sự toàn vẹn của dữ liệu cho các lỗi đã đề cập ở trên Trong mô hình quan hệ, các kiểu ràng buộc sau là chủ yếu: Toàn vẹn

thực thể, toàn vẹn tham chiếu, toàn vẹn miền (domain integrity), và toàn

vẹn người dùng (user-defined integrity).

• Toàn vẹn thực thể (cóthể xem như khái niệmvề khóa chính) làmột luật toàn vẹn chỉ ra rằngmỗi bảng quan hệ phải có một khóachính, trong đó khóa chính này cần là duy nhất (không trùng lặp dữ liệu) hoặc

khôngđược bỏ trống Ví dụ, Mãsinh viên sẽ xác định duy nhất một sinh

viên trong bảng Sinh Viên, và tạo lập một bộ giá trị cho một người sinhviên Chính vì vậy, hệ thống bắt buộc phải quy định cách sinh mã cho người sinh viên này

• Toàn vẹn tham chiếu (cóthể xem như khái niệm về khóa ngoại)

là một luật chỉ ra rằngnó có mối liên hệ với khóa chính ở mộtbảng quan

hệ nào đó trong cơ sởdữliệu Đôi khi giá trị của khóa ngoại này có thể

bỏ trống (null) để chỉ ra ràng, không có mối quan hệ nào giữa các đốitượng thể hiện trong cơ sở dữ liệu, hay nói cách khác là mối quan hệ

chưa rõ

• Toàn vẹn miền để chỉ rarằng mọi cột cùa cơsở dữliệu quanhệphải được khai báo với miền định danh tương ứng với hệ quản trị cơ sở

dữ liệu đang sử dụng Miền chính là một tập các giá trị có cùng kiểu mà

trong đó mỗi phần tử dữ liệu sẽ nhận một giá trị nguyêntốtrênmiền Ví

dụ nếu ta khai báo cộtMã sinh viên là kiểu kí tự, thì mỗi sinh viên sẽ cómột chuỗi kí tự tương ứng với mã của sinh viên đó (xem ở bảng dưới).Hay cột số tín chỉ môn học của bảng Môn học có giá trị số nguyên thì

mỗi môn học sẽ có duy nhấtmột giá trị nguyên tương ứng với số tín chỉ

của môn đó

Trang 30

MONHOC

• Toàn vẹn người dùng: Đây là một tập các luật được địnhnghĩa bởi người dùng như quy cách nhập dữ liệu, cách kí hiệu mã, Ví dụ ở bảngSINHVIEN nói trên, mã sinh viên là “2014S0081” để muốn kí hiệu rằng sinh viên Nguyễn Duy TrungAnhnhập họcvàotrường năm 2014 ở

khoa s và có thứ tựlà 0081 Hay ở bảng MONHOC, với mônhọclàTin

•học Đại cương sẽ có MaMon tương ứnglàINFO0111 để muốn nói rằng đây là môndobộ môn Tin học (Mã là INFO) phụ trách giảng dạy

Nếu bànthâncơsở dữ liệu (thường là hệ quản trị CSDL) hỗ trợ các

yếu tố cho sự toànvẹnnói frên thì nó đảmbảoviệc toàn vẹn dữ liệu cho

mô hình khi lưu trữ và khai thác dữ liệu Tuy nhiên, nếu hệ quản trị

không có nhữngchức năng như vậy, thì bản thân các ứng dụng chạyưên

CSDL đó phải xâydựng các điều kiện toàn vẹn nói ttên, để đảm bảotoànvẹn cho việckhai thác vàxử lý dữ liệu trong hệ thống

Một hệ cơ sở dữ liệu có sự định nghĩarõ ràng, và toàn vẹn dữ liệu

nó làm cho hệthống tăng sự ổn định, tăng tính hiệuquả (thểhiện ở các

phéptoántoànvẹnđược thực hiện ởmôhình thống nhất),tăngkhả năng

sửdụng lại dữ liệu và tăngkhả năng duy tri

Trang 31

Ví dụ: Sơ đồ dưới đây chỉ ra sự toàn vẹn tham chiếu giữa bảng

SINHVIEN, SVHP, và bảng HOCPHAN Nếungườisử dụng thêm một

bộ giá trị cho bảng SV_HP mà môn học đó, hoặc người Sinh viên đó

chưa được khai báo ở bảng SINHVIEN và bàng HOCPHAN thì cơ sở dữ

liệusẽthông báolỗi và không cho phép lưutrữ dữ liệu cập nhật nóitrên

QueQuan

Có nhiều mô hình được đề cập trong các giáo trình khác nhau,

nhưngcóthể nhìn nhậnnóở ba dạngsauđây:

•Mô hình dựatrênđốitượngthựcthể (Object-based)

•Mô hình dựatrênbảnghi (Record-based)

•Mô hình vật lý (physical model)

Hai mô hình đầu tiênmô tà dữ liệu ởmức khái niệm và mức ngoài

(external) còn mô hình cuối mô tả mức nội tại bên trong cài đặt của dữ

liệu (internal)

1.2.2 Một số mô hình thông dụng

a Mô hĩnh dựa trên đổi tượng

Mô hình này sử dụng các khái niệm như: Các thực thể, thuộc tính

và các quan hệ Mỗi một thực thể được đặc trưng cho một đối tượng riêng biệt (ví dụ như người, vật, sự kiện, phòng ban, ) trong một hệ

thống mà mô hình đang thể hiện trongCSDL Một thuộc tính làmột đặc điểm miêu tả tính chất của đối tượng mà chúng ta muốn ghi lại Một

quan hệlà mốiliên kết giữa các thực thể

Trang 32

Các kiểu cơbảncủamô hình dựaữênđốitượng.

I

t i

I I ì I

BỊ Ten

BỊKhoa MSoTinChi

+MHOC triIOC

0

* 1

pCapNhatSTCQ 0

* +MHoc:;au

Diet kien

Hình 1.6: Mô hình hướng đổi tượng

b Mô hình dựa trên bản ghi

Trongmôhìnhdựatrênbànghi, CSDLbao gồm tậpcácbànghi có các kiểu khác nhau, mỗi một kiểu được định nghĩa bởi một trường

(Field) tươngứng với độ rộng cho kiểu của trường đó

Các kiểu môhìnhcơbản:

• Mô hình dữ liệu quan hệ (relational data model).

Trang 33

•Mô hình mạng (network data model).

•Môhình phân cấp(hierarchical data model).

c Mô hình quan hệ

Là mô hình dựa trên các lý thuyết của quanhệ toán học Trong mô

hình này dữliệuvà quanhệ được thể hiệntại các bảng mà mỗi bảng có

một số cộtvới một tênduynhất

Hình 1.7 là mô tả ví dụ về lược đồquan hệ quản lý dự ánmà miêu

tả quan hệ NHANVIEN, DEAN và PHANCONG một cáchchi tiết

NHANVIEN HONV TENLOT TIN NV MANY NGSINH MA.NQL PHG

Tran Hong Quang 987987387 03/09/1959 987654321 4 Nguyen Thanh Tung 333445555 12/08/1955 888665555 5 Nguyen Manh Hung 666884444 08Ư15/1962 333445555 5 Tran Thanh Toffi 453453453 07/31/1972 333445555 5

DEAN TEN DA MADA DDIEMJ3A PHONG

San phàm X 1 VUNGTAU 5

Sanphain Y 2 NHATRANG 5

San pham z 3 TPHCM 5

Tin hoc hoa to HANOI 4

PHANCONG MA_NVIEN SODA THOIGIAN

Trong lược đồ này thể hiện mối quan hệ giữa các bảng, ví dụ nhìn

vào 3 bảng ta cóthể thấynhân viên NguyenManhHungđược phân làm

dự ánsố 3 làm sản phẩm z tại TP HCM

Ví dụ khác: Cáclược đồ dưới đâymôtả hệ thống quản lýnhânviên

tạicác chi nhánhkhác nhau

Trang 34

NHANVIEN

Rõ ràng nhìn vào lược đồ ta thấy nhân viên Nguyen Chi Anh là

quản lý với mức lương là30000USD và nhân viên này làm tại chi nhánh

số B005theo như ở bảng quanhệ CHINHANH

d Mô hình mạng

Trong mô hình mạng dữ liệu được thể hiện như một tập các bản ghi, và các mối quanhệ của mô hình được thể hiện bởi các tậphợp Cácbảnghi được tổchức như mộtcấu trúc đồ thị trong đó mỗi bàn ghi làmột

đỉnh (node - segment) và các tập hợp (quanhệ) làcác cạnh frong đồ thị

Ví dụ như hìnhdưới đây:

B005 22 Tran Phu Ha noi

/1 SL41 Nguyen Dung Tro ly 9000

8007 10 An Duong Vuong TPHCM SL21 Nguyen Chi Anh Quan ly 30000 B003 15 Nam Sach Ha noi

B004 20 Truc Ninh Nam Dinh SA9 Tran Mai Dung Tro ly 9000 B002 5 Hai Ba Trung Ha noi

Trang 35

e Mô hình phân cấp

Hình 1.8: Ví dụ về mô phân cấp

Mô hình phân cấp là một kiểu thểhiện đặc biệt của mô hình mạng Dữ

liệu là tập các bảnghi và mối quanhệ đượcthể hiện thông qua các tập hợp (sets), tuynhiênmôhình này cho phép một nút(node) chỉ có một nút cha

Mô hình này tạo thành một đồ thị cây.Vớicác bản ghithểhiệnnhư các núttrên đồ thị, các tậphợp (sets) là các cạnh (edges) (xem Hình 1.6)

1.3 Kiến trúc cơ sở dữ liệu

1.3.1 Mức khung nhìn

Với chứcnăng này,hệ quảntrị CSDL cóthể xem như mộtcông cụmạnh và hữu ích Tuy nhiên, người dùng cuối không quá quan tâm đếnđiềunày, màhọ chỉ quan tâm đến làm thếnào để lấy dữ liệu từCSDL để

phụcvụ cho yêucầu đưa ra.Ví dụ, tacó lượcđồquan hệ sau:

PropertyForRent(PropertyNo, Street, city, type, rooms, rent,

OwnerNo)

PrivateOwner(ownerNo,Fname, LName, address, TelNo)

Client(clientNo, Fname, LName, address,TelNo,preType,maxrent)

Lease (leaseNo, propertyNo, clientNo, paymentmethod, deposit,

rentstart, rentfinish)

Và lược đồ được thể hiện ở dạng truyền thống (hệ thống lưu trữ

dướidạngtệp- file-based system)

Trang 36

báu cáo Chưoog trinh úng

Truy cặp file Định nghía File

CSDLhọp đong

Hình 1.9: Lược đồ lưu trữ dữ liệu dạng truyền thống

Lúc đó, dữ liệu sẽ được tổ chức lại ở Hình 1.10, và hiển nhiên

CSDLbao gồm cà kiểu của tài sản (property type), số phòng (the number

of rooms), và chủ sở hữu (owner) Hệ quản trị CSDL cho phép người dùng hiển thị (View) các thông tin lấy từ CSDL theo yêu cầu Ví dụ, chúng ta có thể thiết lập cho phép phòng Hợp đồng (contract) chỉ xemđượccácthông tin màhọyêucầuvề tài sàn thuê theo yêu cầu

Trang 37

chung về nhânviênmàkhôngbao gồm phầntính toán lương nói trên.

• Cá nhân hóa View: View cung cấp cách thức để cá nhân hóa

việc thể hiện của CSDL, sựthống nhấtvề cấu trúc của CSDL Ví dụ, có

thể đổi tên các trường của bảng bằng cách gọi kháctrong view (gần gũi

với NSD), hoặc nếu trong bảng thêm hoặc bớt một trường mà không

ảnh hưởng đến view thì các kết quả dữ liệu trong view cũng không bị ảnh hưởng

1.3.2 Mức khải niệm

Trongkiếntrúc 3 tầng của CSDL, lược đồ logic có thể coi là nhân

của CSDL Nó hỗ trợ các khung nhìn(view) bênngoài CSDL, và ngược

lại, nó cũng được hỗ trợ bởi lược đồ bêntrong (sự cài đặtvật lý của lược

đồ khái niệm)

Khi CSDL được thể hiện ở lược đồ khái niệm, nó phải là sự thểhiện một cáchchínhxác các dữ liệu yêu cầu củadoanh nghiệp Vì nếusựthể hiện này không hoàn hảo các dữ liệu của doanh nghiệp sẽ bị thiếu,không chuẩn xác và điều này dẫn đếnkhó có thể cài đặt một hoặc nhiều

khung nhìn (views) từbênngoài

Như vậy, cài đặt CSDL ở mức khái niệm (đôi khi còn gọi là môhình logic) là một quy trình xây dựng mô hình thông tin sử dụng cho doanh nghiệp mà ở đó cácthành phần cài đặt trong mô hình làhoàn toàn độc lập như: Chọn hệ CSDL, Các chươngtrình ứng dụng, ngônngữ lập

trình,

Trang 38

1.3.3 Mức vật lý

MôtàCSDLở mức vật lý (lược đồở mức vật lý) làviệcmôtảcách

mà dữ liệu sẽ được lưutrữtrongmáytính,nghĩa là các thông tin sẽđượcthể hiện ở các cấu trúc bản ghi, các bàn ghi được đánhthứ tự, và đườngdẫn truy cập vào CSDL đó Như vậy, cài đặt CSDLở mức vậtlýchính là

sựthể hiện chi tiết CSDL mức kháiniệmtrongbộ nhớ củamáy tính

Ví dụ dướiđây sẽ thểhiện các mứccủamộtCSDL:

index MaNV; /*Xãc định các dứ mục cho tệp NHANVIEN * /

index Ma dli nhanh;

1.4 Ngôn ngữ quản trị CO ’ sở dữ liệu

Mộthệ CSDL cung cấp hai kiểu ngôn ngữ khác nhau là: Ngôn ngữ đặc tả sơ đồ dữ liệu, gọi là ngôn ngữ định nghĩa dữ liệu (DDL - DataDefinition Language); và ngôn ngữ biểu diễn các truy vấn và cập nhật CSDL, gọi là ngôn ngữ thao tác dữ liệu (DML - Data Manipulation

Language) Các ngônngữ này còn được gọi là các ngôn ngữ dữliệu con

(data sublanguages) bởi vì chúng không có cấu trúc cho các tính toán cần

Trang 39

thiết nhưcấu trúcđiều kiện hoặc cấu trúc lặp nhưưongcác ngôn ngữlập

trình bậc cao Các ngôn ngữ dữ liệu connày đều sử dụng các lệnhthông

qua việcgõ trực tiếp từ cửa sổ lệnh(Terminal)

Tuy nhiên, hầu hết các hệ quản trị CSDL đều thường gắn với một ngôn ngữ lập trình bậc cao nào đó ví dụ như COBOL, Fortran, Pascal,

Ada, c, c ++, Java, hoặc Visual Basic (ngôn ngữ chủ) Khi biên dịch các

tệp chủ (file host), các lệnh trong ngôn ngữ dữ liệu con sẽ được loại bỏ khỏi các chương trình chù và được thay thế bằng các lời gọi hàm Tệp chủ trước khi dịch sẽ được thay thế bằng một module đối tượng có liênkết với các hàmthư viện cụthể của hệ quản trị mà đã bao gồm các hàm(đã được thaythếnóitrên) Tệp nàysẽ được thực thi khi có yêu cầu

1.4.1 Ngôn ngữ định nghĩa dữ liệu

Ngôn ngữ định nghĩa dữ liệu cho phép khai báo, hiệu chỉnh cấutrúc CSDL, môtảcác mối quan hệ của dữ liệu, các quy tắc áp đặt lên dữ

liệu Kết quà biên dịchcác lệnh của DDL là tập hợp các bảng được lưutrữ trong một tập tin đặc biệt được gọi từ điển dữ liệu hay thư mục dữliệu (system catalog) Các thưmục dữ liệu sẽ hòa nhập với không gian

dữ liệu (metadata) màởđó dữ liệu đang được miêu tàdưới các đối tượng

trong CSDL để giúp cho người sử dụng dễ dàng truy cập và sử dụng

Ngôn ngữ này bao gồm các lệnh trực tiếp tác động đến cấu trúc của

CSDL như: CREATE (tạo), ALTER(sửa) và DROP (xóa)

Ví dụ tạo bảng:

CREATE TABLE customer(

customer nameCHAR( 20 ) not null,

customer streetCHAR( 30 ),

customer_city CHAR( 30 ),

PRIMARY KEY(customer_name) );

1.4.2 Ngôn ngữ khai thác dữ liệu

Ngôn ngữ khai thác dữ liệu cho phép người dùng thực hiện các

thaotác trên dữliệu như tìm kiếm, chèn, sửa đổi, xoá bỏ thông tin Một

Trang 40

phần quan trọng của ngôn ngữ DML là các câulệnhđểrút trích thông tin (ngôn ngữ truy vấn - query language) Ngôn ngữ truy vấn thường được chia thành hai loại là: thủ tục và phi thủ tục DML thủ tục (procedural

DML) Ngônngữ này yêu cầu người dùng phải xác định dữ liệu nào họ

đang cần và xác định cách thức để có đượcdữ liệu đó Ngồn ngữ thứ hai

làDML phi thủ tục (Non-procedural DML) Với ngônngữ này, yêu cầu

người dùng xác định dữliệunào họ đang cần, chứ không yêu cầungườidùng xác định cách thức để có dữliệu đó Hay nói cách khác, ngôn ngữthủtục xử lý các bảnghi riêng rẽ trongkhi ngôn ngữ phi thủ tục sẽ làm

việc vớimột loạt các bảnghi

• Ngôn ngữ thủ tục: Là ngôn ngữ cho phép người dùng trao đổi

trực tiếp với hệ thống các dữliệu cần xửlý và chính xác cáchthức rút

trích dữ liệu Nghĩa là, ngườidùngphải chira tất cả các thao tác truycập

dữ liệu sẽ dùng thông qua việc gọi các thủ tục tương thích để có các thông tin yêu cầu Thông thường, một thủ tục DMLsẽ rút trích 1 bàn ghi,

xử lý nó và dựa vào kếtquả xử lý sẽrút trích một bản ghi khác để xử lýtương tự, Thủ tục DML thường được gắn với ngôn ngữ lập trình bậc cao mà có cấu trúc lặp để điều hướng logic Ngôn ngữ xử lý dữ liệu môhình mạng và môhình phân cấp là các thủ tục

• Ngôn ngữ phi thủ tục: Là ngôn ngữ mà cho phép người dùngchỉ

ranhững dữ liệu nào được xử lý chứ không phải chỉ ra cách thức rúttrích

nó thếnào Đôi khi người tacòngọi nó làngônngữkhai báo (declarativelanguages) Hệ quàn trị dữ liệu dịch các câu lệnh xử lý thành một hoặcnhiều thủ tục mà xử lý tập các bản ghi theo yêu cầu của người dùng

Điềunày cho phépngười dùng hiểu cách thức cài đặtcấu trúc của dữ liệu

và loại thuật toán màsừ dụng để rút trích hoặc biến đổi dữ liệu (thể hiện cấp độc lập về mặt dữ liệu) Trong hệ quàn trị CSDL quan hệ ngônngữ

phi thủtục được sử dụng chính là SQL (Structured Query Language) hoặc

QBE (Query-By-Example)

• Ngôn ngữ thế hệ thứ 4 Fourth-Generation Languages (4GLs):

Đây là ngôn ngữ CSDLmàngười dùng khôngcần phải chỉ ra từngbước

Ngày đăng: 15/07/2022, 14:24

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Không  gian CSDL - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
Hình 1.1 Không gian CSDL (Trang 16)
Hình  1.2  là  ví dụ  chi ra một  số dữ liệu  nhập  cho  danh  mục, các  định nghĩa  này được đặc tả  bởi người thiết  kế  và  lưu ở  danh mục - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
nh 1.2 là ví dụ chi ra một số dữ liệu nhập cho danh mục, các định nghĩa này được đặc tả bởi người thiết kế và lưu ở danh mục (Trang 18)
Hình 1.3: Ví dụ về các  tệp  lưu trữ dữ  liệu - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
Hình 1.3 Ví dụ về các tệp lưu trữ dữ liệu (Trang 20)
Hình hóa  các khía  cạnh thiết yếu, vốn  có  của  hệ  thống.  Nỏ  bỏ qua  các  yếu - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
Hình h óa các khía cạnh thiết yếu, vốn có của hệ thống. Nỏ bỏ qua các yếu (Trang 23)
Hình  1.4:  Khối OLAP thể  hiện các chiều của  Products, - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
nh 1.4: Khối OLAP thể hiện các chiều của Products, (Trang 24)
Hình 1.6: Mô  hình  hướng đổi tượng - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
Hình 1.6 Mô hình hướng đổi tượng (Trang 32)
Hình 1.7 là  mô  tả ví  dụ về lược đồ quan  hệ  quản  lý dự  án mà  miêu - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
Hình 1.7 là mô tả ví dụ về lược đồ quan hệ quản lý dự án mà miêu (Trang 33)
Hình 1.8: Ví dụ về  mô  phân  cấp - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
Hình 1.8 Ví dụ về mô phân cấp (Trang 35)
Hình 1.9: Lược  đồ  lưu trữ  dữ liệu dạng  truyền  thống - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
Hình 1.9 Lược đồ lưu trữ dữ liệu dạng truyền thống (Trang 36)
Hình  2.1:  Ví dụ về  kiểu  thực thể  và  tập thực thể - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
nh 2.1: Ví dụ về kiểu thực thể và tập thực thể (Trang 45)
Hình 2.2:  Ví dụ  về  mô  hình  thực thể  liên kết - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
Hình 2.2 Ví dụ về mô hình thực thể liên kết (Trang 54)
Hình  2.4:  Quá  trình  phân  tích,  thiết  kế  CO ’ sở  dữ liệu - Giáo trình Cơ sở dữ liệu (Tập 1): Phần 1 - TS. Nguyễn Thị Thu Thuỷ (Chủ biên)
nh 2.4: Quá trình phân tích, thiết kế CO ’ sở dữ liệu (Trang 105)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm