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

Tài liệu Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu docx

59 1,1K 4
Tài liệu đã được kiểm tra trùng lặp

Đ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 Dữ liệu Và Các Mô Hình Cơ Sở Dữ Liệu
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Dữ liệu và các mô hình cơ sở dữ liệu
Thể loại Giáo trình
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 59
Dung lượng 1,02 MB

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

Nội dung

HỌC TRèNH I CÁC KHÁI NIỆM CƠ BẢN VỀ DỮ LIỆU VÀ CÁC Mễ HèNH CƠ SỞ DỮ LIỆU Nguyễn Đỡnh Hõn Phần này bao gồm cỏc nội dung sau đõy  Cỏc khỏi niệm cơ bản về dữ liệu và hệ quản trị cơ sở dữ l

Trang 1

Giáo Trình

Dữ liệu và các mô hình

cơ sở dữ liệu

Trang 2

MỤC LỤC

HỌC TRỐNH I CÁC KHÁI NIỆM CƠ BẢN VỀ DỮ LIỆU VÀ CÁC MỄ HỐNH CƠ SỞ DỮ LIỆU 4

1.1 CÁC KHÁI NIỆM CƠ BẢN VỀ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 5

1.1.1 Dữ liệu 6

1.1.2 File dữ liệu 6

1.1.3 Cơ sở dữ liệu 6

1.1.4 Định nghĩa hệ cơ sở dữ liệu 7

1.1.5 Sơ đồ vật lý hệ cơ sở dữ liệu 8

1.1.6 Hệ thống cơ sở dữ liệu mức logic 8

1.1.7 Một số tớnh chất đặc trưng của cơ sở dữ liệu 8

1.2 CÁC MỄ HỐNH CƠ SỞ DỮ LIỆU 8

1.2.1 Cỏc khỏi niệm cơ bản để xõy dựng một hệ thống thụng tin 8

1.2.2 Cỏc mụ hỡnh dữ liệu 9

1.3 KHÁI NIỆM TOÁN HỌC HOÁ MỄ HỐNH QUAN HỆ 11

1.3.1 Thuộc tớnh (Attribute) 11

1.3.2 Quan hệ (Relation) 12

1.3.3 Khỏi niệm phụ thuộc hàm (Function dependency) 13

1.3.4 Khoỏ (Key) 13

1.3.5 Lược đồ quan hệ (Relation Schema) 15

1.3.6 Phộp tỏch lược đồ quan hệ 15

1.3.7 Bao đúng của tập phụ thuộc hàm 17

1.3.8 Hệ tiờn đề cho phụ thuộc hàm 17

1.3.9 Cỏc dạng phụ thuộc hàm 18

1.4 CÁC PHẪP TOÁN CỦA NGỄN NGỮ THAO TÁC DỮ LIỆU 19

1.4.1 Phộp chốn (Insert) 19

1.4.2 Phộp loại bỏ (Del) 19

1.4.3 Phộp thay đổi 20

1.5 CÁCH THỨC TỔ CHỨC DỮ LIỆU VẬT LỚ 20

1.5.1 Giới thiệu cỏch thức tổ chức dữ liệu 20

1.5.2 Mụ hỡnh tổ chức bộ nhớ ngoài 20

1.6 TỔ CHỨC CÁC TỆP CƠ SỞ DỮ LIỆU 21

1.6.1 Tệp băm 21

1.6.2 Tệp chỉ số 22

1.6.3 B - Cõy (Balanced tree) 24

Trang 3

HỌC TRỐNH II CÁC NGỄN NGỮ ĐỊNH NGHĨA VÀ THAO TÁC DỮ LIỆU 27

2.1 ĐẠI SỐ QUAN HỆ 28

2.1.1 Giới thiệu về đại số quan hệ 28

2.1.2 Phộp hợp (Union) 28

2.1.3 Phộp giao (Intersection) 28

2.1.4 Phộp trừ (Deference) 29

2.1.5 Tớch Đề cỏc mở rộng (Extended Cartesian Product) 29

2.1.6 Phộp chiếu (Projection) 30

2.1.7 Phộp chọn (Selection) 30

2.1.8 Phộp kết nối (join) 31

2.1.9 Phộp chia (Division) 32

2.1.10 Cỏc vớ dụ về tỡm kiếm bằng đại số quan hệ 33

2.2 NGỄN NGỮ CON DỮ LIỆU DSL - ALPHA 33

2.2.1 Biểu thức ALPHA 34

2.2.2 Phộp tỡm kiếm 35

2.2.3 Cỏc phộp cập nhật dữ liệu 38

2.2.4 Cỏc hàm thư viện 39

2.3 NGỄN NGỮ CON DỮ LIỆU SQL 40

2.3.1 Giới thiệu ngụn ngữ SQL 40

2.3.2 Thao tỏc bảng 40

2.3.3 Khối SELECT 44

Một số trường hợp vận dụng lệnh SELECT 47

2.3.4 Cỏc mệnh đề cập nhật dữ liệu 47

2.3.5 Cỏc mệnh đề về an toàn dữ liệu 48

HỌC TRỐNH III CHUẨN HOÁ DỮ LIỆU VÀ ĐIỀU KHIỂN AN TOÀN DỮ LIỆU 50

3.1 CHUẨN HOÁ LƯỢC ĐỒ QUAN HỆ 51

3.1.1 Giới thiệu chuẩn hoỏ 51

3.1.2 Cỏc dạng chuẩn hoỏ 51

3.2 PHÂN TÍCH CÁC CÂU HỎI 51

3.2.1 Phõn tớch sơ bộ về cỳ phỏp 54

3.2.2 Phõn tớch 54

3.2.2.1 Cỏc cụng cụ dựng trong phõn tớch cõu hỏi 54

3.2.2.2 Tớnh đỳng đắn của cỏc cõu hỏi 54

3.2.2.3 Cỏc cõu hỏi tương đương do truyền ứng 54

3.2.2.2 Cỏc cõu hỏi tương đương do tớnh toàn vẹn 54

3.3 SẮP XẾP THỨ TỰ CÁC CÂU HỎI 56

Trang 4

3.3.1 Cõy đại số quan hệ 57

3.3.2 Luật biến đổi cõy đại số quan hệ 57

3.3.3 Cỏc bước tối ưu cõy đại số quan hệ 58

3.3.4 Sắp thứ tự bằng cỏch phõn ró cỏc cõu hỏi con 58

3.4 CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN AN TOÀN DỮ LIỆU 58

3.4.1 An toàn trong cơ sở dữ liệu 59

3.4.2 Cỏc điều khiển an toàn 59

Trang 5

HỌC TRèNH I

CÁC KHÁI NIỆM CƠ BẢN VỀ DỮ LIỆU VÀ CÁC Mễ HèNH CƠ SỞ DỮ LIỆU

Nguyễn Đỡnh Hõn

Phần này bao gồm cỏc nội dung sau đõy

 Cỏc khỏi niệm cơ bản về dữ liệu và hệ quản trị cơ sở dữ liệu

 Cỏc mụ hỡnh cơ sở dữ liệu

 Khỏi niệm toỏn học hoỏ mụ hỡnh quan hệ

 Cỏc phộp toỏn của ngụn ngữ thao tỏc dữ liệu

 Cỏch thức tổ chức dữ liệu vật lý

 Tổ chức cỏc tệp cơ sở dữ liệu

Trang 6

1.1 CÁC KHÁI NIỆM CƠ BẢN VỀ DỮ LIỆU VÀ HỆ QTCSDL

1.1.1 Dữ liệu

Chỳng ta đang sống trong kỷ nguyờn thụng tin Xu hướng xó hội hoỏ tin học tiếp đến là toàn cầu hoỏ

là xu hướng tất yếu khụng thể đảo ngược Trong bối cảnh đú việc nắm bắt được cỏc thụng tin nhanhchúng và chuẩn xỏc là yếu tố tối cần thiết quyết định sự thắng lợi trong quản lý điều hành Việc tinhọc hoỏ xó hội đó dẫn tới nhu cầu quản lý điều hành cụng việc trờn mỏy tớnh điện tử, như vậy thựcchất của cụng tỏc quản lý chớnh là quản lý thụng tin Mọi thụng tin được quản lý trờn mỏy tớnh theobất kỳ phương cỏch gỡ cũng đều phải được thể hiện bằng cỏc dữ liệu ghi trờn một thiết bị lưu trữ nào

đú Dữ liệu cũng rất phong phỳ cú thể là dữ liệu ở dạng văn bản, õm thanh hay hỡnh ảnh, … Trongthực tế người ta lưu dữ liệu dưới nhiều dạng khỏc nhau mục đớch chung là đạt hiệu quả cao trong lưutrữ và khai thỏc

Như vậy dữ liệu chớnh là thụng tin, chỉ xột ở gúc độ tin học theo nghĩa hẹp thỡ đú chớnh là phần nộidung của cỏc file

1.1.2 File dữ liệu

File là một khối thụng tin được lưu trữ trong mỏy tớnh, được đặc trưng bởi tờn gọi File được xỏcđịnh duy nhất bởi tờn (bao gồm cả đường dẫn) hoặc số hiệu file Cú rất nhiều cỏc loại file khỏc nhaunhư file ảnh (.BMP, GIF, JPG, …), file hệ thống (.SYS), file thực hiện được (.COM, EXE, …), file

dữ liệu (.DBF, MDB, DAT, DOC, …) Tuy nhiờn ở đõy chỳng ta chỉ xem xột cỏc file dữ liệu,những file này bao gồm nhiều bản ghi cú cựng cấu trỳc xỏc định (loại bản ghi), đồng thời mỗi bản ghiđược phõn chia thành cỏc trường dữ liệu

Vớ dụ:

File d li u HOSO.MDB d ng ựng để lưu trữ hồ sơ của tất cả cỏc cỏn bộ cụng nhõn viờn chức để lưu trữ hồ sơ của tất cả cỏc cỏn bộ cụng nhõn viờn chức ưu trữ hồ sơ của tất cả cỏc cỏn bộ cụng nhõn viờn chức l u tr h s c a t t c c c c n b c ng nhõn vi n ch c ồ sơ của tất cả cỏc cỏn bộ cụng nhõn viờn chức ơ của tất cả cỏc cỏn bộ cụng nhõn viờn chức ủa tất cả cỏc cỏn bộ cụng nhõn viờn chức ất cả cỏc cỏn bộ cụng nhõn viờn chức ả cỏc cỏn bộ cụng nhõn viờn chức ỏc cỏn bộ cụng nhõn viờn chức ỏc cỏn bộ cụng nhõn viờn chức ộ cụng nhõn viờn chức ụng nhõn viờn chức ờn chức ức

c a Tr ủa tất cả cỏc cỏn bộ cụng nhõn viờn chức ưu trữ hồ sơ của tất cả cỏc cỏn bộ cụng nhõn viờn chứcờn chức ng C SPKT I nh sau: ĐSPKT I như sau: ưu trữ hồ sơ của tất cả cỏc cỏn bộ cụng nhõn viờn chức

Tờn file: HOSO.MDB

A01 Nguyễn Văn A 22/10/1984 Dõn tiến Nhõn viờn 1.92A02 Trần Minh Anh 12/12/1983 Dạ trạch Nhõn viờn 1.78B01 Nguyễn Văn B 12/06/1984 Dõn tiến Trưởng phũng 2.82

Trang 7

Khỏi niệm cơ sở dữ liệu được định nghĩa mụ tả như sau: Cơ sở dữ liệu là một tập hợp dữ liệu của một tổ chức được lưu trữ trờn mỏy tớnh (được nhiều người sử dụng) và việc thực hiện nú được chi phối bởi một mụ hỡnh dữ liệu Núi theo nghĩa hẹp một cơ sở dữ liệu là một hệ thống cỏc file dữ liệu,

mỗi file này cú cấu trỳc bản ghi khỏc nhau, nhưng về mặt nội dung cú quan hệ với nhau Cần lưu ý làmột cơ sở dữ liệu khỏc với một ngõn hàng dữ liệu

b Cỏc tiờu chuẩn của một cơ sở dữ liệu

Một cơ sở dữ liệu thụng thường thoả món 5 tiờu chuẩn sau đõy:

 Biểu diễn tốt thế giới thực: một cơ sở dữ liệu phải cú khả năng cung cấp một hỡnh ảnh trungthực của thế giới thực cho phộp người sử dụng cú được cỏc thụng tin sử dụng tốt và cập nhậtđược

 Khụng dư thừa thụng tin: điều này cú nghĩa là khụng cú sự lặp lại thụng tin trong cơ sở dữliệu, mỗi thụng tin chỉ cú mặt một lần trong cơ sở dữ liệu, nhờ đú cú sự lựa chọn duy nhất

 Tớnh độc lập của cỏc chương trỡnh đối với dữ liệu: điều này tương ứng với sự cần thiết làmgiảm giỏ thành bảo trỡ cỏc chương trỡnh, những thay đổi về cấu trỳc của cơ sở dữ liệu là do

sự thay đổi của thế giới thực chứ khụng phải do một ỏp dụng cụ thể nào cả và nú cho phộpnhiều ỏp dụng cựng chia sẻ cựng một bộ dữ liệu

 Tớnh an toàn và bảo mật của dữ liệu: cần cú sự bảo đảm an toàn cho cỏc trang thiết bị lưu trữ

cơ sở dữ liệu chống lại mọi sự huỷ hoại, ngoài ra khi cú nhiều người sử dụng chỉ cú nhữngngười cú trỏch nhiệm mới cú thể truy cập đến toàn bộ hoặc một phần cơ sở dữ liệu

 Hiệu suất ứng dụng: mặc dự chia sẻ cựng một nguồn chung, cỏc ứng dụng phải cú hiệu suấttrong cơ sở dữ liệu giống như trong sử dụng thụng tin truyền thống

Chỳ ý: Năm tiờu chuẩn nờu trờn là yờu cầu đối với một cơ sở dữ liệu được thiết kế hoàn thiện,

trong thực tiễn khụng phải bao giờ cũng thực hiện được đầy đủ, tuỳ từng trường hợp cụ thể và donhững yờu cầu khỏc nhau mà mỗi tiờu chuẩn trờn được tụn trọng hoặc bị vi phạm nhiều ớt khỏcnhau

1.1.4 Định nghĩa hệ cơ sở dữ liệu

Như ta đó biết cơ sở dữ liệu là một tập hợp dữ liệu cú liờn quan với nhau được lưu trữ trờn mỏy tớnh,phần chương trỡnh cho phộp khai thỏc cơ sở dữ liệu này gọi là hệ quản trị cơ sở dữ liệu, núi cỏchkhỏc nú cho phộp mụ tả, lưu giữ, thao tỏc, xử lý cỏc tập hợp dữ liệu tạo nờn cơ sở dữ liệu, đồng thời

nú bảo đảm sự an toàn và bớ mật của cỏc dữ liệu trong mụi trường cú nhiều người sử dụng

Chỳ ý: với mỗi hệ quản trị cơ sở dữ liệu cần thiết phải tồn tại một cơ sở dữ liệu nhưng điều ngược

lại khụng đỳng

Cỏc hệ quản trị cơ sở dữ liệu cú nhiệm vụ hỗ trợ cho cỏc nhà phõn tớch thiết kế cơ sở dữ liệu cũngnhư cho cỏc người khai thỏc cơ sở dữ liệu Thụng thường một hệ quản trị cơ sở dữ liệu phải đạt được

5 yờu cầu sau:

Một hệ quản trị cơ sở dữ liệu phải cú ngụn ngữ khai bỏo dữ liệu Ngụn ngữ khai bỏo dữ

liệu một phương tiện cho phộp khai bỏo cấu trỳc của dữ liệu, mụ tả cỏc mối liờn hệ của dữ

Trang 8

liệu cũng như những qui tắc quản lý ỏp đặt lờn trờn dữ liệu đú Ngụn ngữ khai bỏo dữ liệuđược xõy dựng trờn một loại mụ hỡnh nào đú Hiện nay phần lớn cỏc hệ QTCSDL được xõydựng dựa trờn mụ hỡnh dữ liệu quan hệ

Một hệ quản trị cơ sở dữ liệu phải cú ngụn ngữ thao tỏc dữ liệu Ngụn ngữ thao tỏc dữ

liệu cho phộp người sử dụng cú thể cập nhật dữ liệu (thờm, sửa , xoỏ) khai thỏc dữ liệu chonhiều mục đớch khỏc nhau

Một hệ quản trị cơ sở dữ liệu phải cú ngụn ngữ con truy vấn dữ liệu

 Mỗi hệ quản trị cơ sở dữ liệu cũng cú thể được cài đặt một cơ chế riờng để giải quyết vấn đềtranh chấp dữ liệu

 Một hệ quản trị cơ sở dữ liệu cũn cung cấp cho người sử dụng những cơ chế bảo mật và phụchồi dữ liệu khi cú sự cố xảy ra

1.1.5 Sơ đồ vật lý hệ cơ sở dữ liệu

Một cơ sở dữ liệu được phõn thành cỏc mức khỏc nhau, mức thấp nhất là cơ sở dữ liệu vật lý Cơ sở

dữ liệu vật lý là sự cài đặt cụ thể của cơ sở dữ liệu ở mức khỏi niệm, núi cỏch khỏc chớnh là cỏc tệp

dữ liệu theo một cấu trỳc nào đú được lưu trờn cỏc thiết bị lưu trữ và được thực hiện trờn cỏc trangthiết bị tin học

1.1.6 Hệ thống cơ sở dữ liệu mức logic

Mức khỏi niệm là mức biểu thị ý niệm của cấu trỳc mà chỳng ta định mụ hỡnh hoỏ trong cơ sở dữliệu Mục tiờu của mức này là mụ tả nội dung thụng tin của cơ sở dữ liệu chứ khụng phải là mụ tả cỏccấu trỳc lưu trữ do việc quản lý thụng tin yờu cầu

Cấu trỳc mong đợi ở mức này là trỡnh bày cỏch tổ chức, cho một hỡnh ảnh trung thành nhất cú thểđược của cỏc hiện tượng đang tồn tại và phỏt triển ở tổ chức Cần phải cố gắng mụ tả và thể hiện đểnhận được một tập hợp chặt chẽ cỏc thụng tin sẽ được dựng cho mỗi nhu cầu đặc thự của nhữngngười sử dụng

Mức cài đặt logic là sự bổ sung của cấu trỳc nhận được ở mức trờn Cấu trỳc ở mức này sẽ thực tếhơn, hiệu quả hơn để mụ tả cỏc đường vào cho phộp đi khắp khụng gian cơ sở dữ liệu Cỏc yếu tốđịnh lượng như khối lượng, cỏc chu kỳ, cỏc tần số tiếp cận thụng tin được tớnh đến ở mức này

1.1.7 Một số tớnh chất đặc trưng của cơ sở dữ liệu

Ta xem xột cỏc tiờu chuẩn của một cơ sở dữ liệu đó đưa ra ở trờn

1.2 CÁC Mễ HèNH CƠ SỞ DỮ LIỆU

1.2.1 Cỏc khỏi niệm cơ bản để xõy dựng một hệ thống thụng tin.

Hệ thống thụng tin là một tập hợp cỏc thụng tin được lưu giữ và tập hợp cỏc xử lý cho phộp xõy dựnglại một hỡnh ảnh trung thành nhất cú thể được của tổ chức

Như vậy, một cơ sở dữ liệu là một bộ phận của hệ thống thụng tin Tập hợp cỏc xử lý được gọi là cỏcđộng thỏi của hệ thống thụng tin

Nguyễn Đỡnh Hõn

Trang 9

a Thực thể

Thế giới nhận biết được chứa cỏc phần tử biểu diễn cỏc đối tượng mà người ta cú thể phõn biệt chỳngvới nhau, cỏc đối tượng này là khụng phõn chia được

Định nghĩa 1 Thực thể là một hỡnh ảnh tượng trưng cho một đối tượng cụ thể hay một khỏi niệm

trừu tượng nhưng cú mặt trong thế giới thực

b Đặc trưng

Định nghĩa 2 Đặc trưng của thực thể là những yếu tố giỳp ta nhận biết thực thể, một thực thể bao

gồm nhiều đặc trưng để phõn biệt nú với cỏc thực thể khỏc

c Mối quan hệ giữa cỏc kiểu thực thể

Thế giới thực chịu những sự biến đổi được thể hiện bằng sự tạo ra, sự thay đổi, sự loại bỏ Tất cả cỏc

thể hiện đú được gọi là sự kiện Cỏc thực thể cú sự liờn kết với nhau trong khi tham gia vào cỏc sự

kiện của thế giới thực

1.2.2 Cỏc mụ hỡnh dữ liệu

- Thế hệ đầu tiờn

Từ những năm 70 người ta đó thương mại hoỏ thế hệ đầu tiờn cỏc cơ sở dữ liệu Thế hệ đầu tiờn nàydựa trờn mụ hỡnh dữ liệu phõn cấp hoặc mụ hỡnh dữ liệu mạng

Mụ hỡnh dữ liệu phõn cấp đặc trưng bởi cấu trỳc dữ liệu được trỡnh bày dưới dạng phõn cấp cõy

nhiều mức, mỗi một mức bao gồm một hoặc nhiều nhúm dữ liệu và chỳng lại cú thể phõn ra thànhnhiều nhúm dữ liệu hoặc cỏc dữ liệu cơ bản (cỏc lỏ cõy)

Mụ hỡnh dữ liệu mạng đặc trưng bởi cấu trỳc dữ liệu tương ứng với một tổ hợp của nhiều phõn cấpcõy khỏc nhau Mỗi một đối tượng của thế giới thực được biểu diễn bởi một phõn cấp, cũn sự liờn kếtgiữa cỏc đối tượng được thể hiện bằng cỏc múc nối giữa cỏc phõn cấp này

- Thế hệ thứ hai

Thế hệ thứ hai của cỏc cơ sở dữ liệu được đặc trưng bởi mụ hỡnh dữ liệu quan hệ và mụ hỡnh dữ liệuquan hệ thực thể

Mụ hỡnh dữ liệu quan hệ đặc trưng bởi cấu trỳc dữ liệu được tạo nờn bởi một hệ thống cỏc quan hệ

(biểu diễn dạng bảng), trong đú quan hệ biểu diễn một đối tượng của tổ chức

Mụ hỡnh dữ liệu quan hệ thực thể cú thể coi như là một loại mụ hỡnh quan hệ, nú tập trung trong một

mụ hỡnh cỏc ưu điểm của mụ hỡnh dữ liệu mạng và mụ hỡnh dữ liệu quan hệ đúng gúp của mụ hỡnh

này là đưa ra một quan niệm thống nhất giữa cỏc dữ liệu thụng qua sự đi lại dễ dàng cho phộp trong

Trang 10

1.3 KHÁI NIỆM TOÁN HỌC HOÁ Mễ HèNH QUAN HỆ

1.3.1 Thuộc tớnh (Attribute)

Một thuộc tớnh biểu thị một đơn vị thụng tin nhỏ nhất, cú thể được sử dụng tự do và cú ý nghĩa độclập với cỏc đơn vị thụng tin khỏc Trong mọi mụ hỡnh, thuộc tớnh đại diện cho một phần tử cơ sở của

hệ thống thụng tin

Mỗi đặc trưng của một kiểu thực thể hoặc một kiểu liờn kết dược biểu thị trong hệ thống thụng tin

bằng một thuộc tớnh Một thuộc tớnh được xỏc định bằng một cặp {Tờn thuộc tớnh, miền giỏ trị} i) Tờn thuộc tớnh Để xỏc định một thuộc tớnh, người ta đặt cho nú một cỏi tờn (nờn cú tớnh gợi nhớ), tờn này được gọi là tờn thuộc tớnh.

Tờn thuộc tớnh là duy nhất cho mỗi thuộc tớnh Để đảm bảo tớnh duy nhất của tờn thuộc tớnh vàphõn biệt với cỏc tờn thuộc tớnh khỏc, người ta lập ra một từ điển cỏc tờn thuộc tớnh, mỗi tờn thuộctớnh là một từ của từ điển đú Trong chừng mực cú thể, cần loại bỏ tớnh đồng nghĩa hoặc nhiều nghĩacủa từ Cú thể dựng từ viết tắt để đặt tờn cho thuộc tớnh

ii) Miền giỏ trị Mỗi thuộc tớnh đều thuộc một kiểu dữ liệu, kiểu dữ liệu cú thể là vụ hướng hoặc cú

cấu trỳc Kiểu dữ liệu cú cấu trỳc được định nghĩa dựa trờn cỏc kiểu dữ liệu vụ hướng

Do ràng buộc toàn vẹn, một thuộc tớnh thường chỉ chọn lấy giỏ trị trong một tập hợp con của kiểu dữ

liệu Tập hợp cỏc phần tử mà một thuộc tớnh cú thể lấy giỏ trị gọi là miền giỏ trị (domain), núi cỏch

khỏc, miền giỏ trị tà tập hợp cỏc giỏ trị cựng loại cú thể cú của thuộc tớnh

Núi chung, một giỏ trị của một thuộc tớnh là sự thể hiện trong hệ thống thụng tin một giỏ trị của một

sự kiện của thế giới thực

Xột tập cỏc thuộc tớnh trong một hệ thống thụng tin, khi giỏ trị của một thuộc tớnh là giỏ trị nhận

được từ cỏc giỏ trị của cỏc thuộc tớnh khỏc thỡ thuộc tớnh này được gọi là thuộc tớnh tớnh toỏn, trong trường hợp ngược lại thỡ gọi là thuộc tớnh khụng tớnh toỏn Rừ ràng cỏc giỏ trị của một thuộc

tớnh khụng tớnh toỏn phải được cung cấp từ thế giới thực Vớ dụ: thuộc tớnh điểm trung bỡnh mụn(DTB) được tớnh toỏn từ điểm cỏc mụn, điểm cỏc mụn ta phải nhập vào Do đú DTB là thuộc tớnhtớnh toỏn, điểm cỏc mụn là thuộc tớnh khụng tớnh toỏn

Chỳ ý: Giỏ trị của một thuộc tớnh khụng phải lỳc nào cũng xỏc định được nờn người ta quy ước:

miền giỏ trị của cỏc thuộc tớnh đều cú thể chứa thờm một giỏ trị đặc biệt gọi là giỏ trị rỗng (null).

Giỏ trị rỗng này, tuỳ theo ngữ cảnh, cú thể đặc trưng cho một giỏ trị khụng thể xỏc định được hoặcđược đặc trưng cho một giỏ trị chưa thể xỏc định được ở thời điểm đang xột nhưng cú thể được biếtvào thời điểm khỏc

iii) Cỏch mụ tả miền giỏ trị của một thuộc tớnh

- Nếu số cỏc phần tử của miền giỏ trị là ớt thỡ liệt kờ tất cả cỏc giỏ trị của cỏc phần tử

Vớ dụ: {Giới tớnh, (nam, nữ)}, {Màu, (xanh, đỏ, tớm, vàng)}

- Nếu số cỏc phần tử của miền giỏ trị nhiều thỡ dựng cỏch mụ tả tập hợp

Trang 11

Vớ dụ: {Tuổi học sinh, số nguyờn N: N  [6, 18]}

- Nếu số cỏc phần tử của miền giỏ trị rất nhiều hoặc khụng biết trước được mà khụng cú tớnh chất đặctrưng nào thỡ mụ tả tập hợp đú theo kiểu của dữ liệu

Vớ dụ: {Họ tờn, chuỗi ký tự cú độ dài nhỏ hơn 50}

- Nếu kiểu dữ liệu của thuộc tớnh cú cấu trỳc thỡ miền giỏ trị của nú là tớch đề cỏc của cỏc miền giỏtrị thành phần

Tuy nhiờn, cú những trường hợp miền giỏ trị của một thuộc tớnh chỉ là một tập con thực sự của tớch

đề cỏc của cỏc miền giỏ trị thành phần

i

D

 sao cho hj(ai)  Da i

Núi cỏch khỏc, một quan hệ r trờn R là tập hợp con của tớch

đề cỏc của n miền giỏ trị Da i

x Da2

x … x Da n

Giỏ trị n được gọi là bậc của r, giỏ trị m được gọi

là lực lượng của r Theo định nghĩa, lực lượng của một quan hệ cú thể vụ hạn, nhưng chỉ cú ý nghĩa

sử dụng khi lực lượng của quan hệ là hữu hạn mặc dự nú cú thể rất lớn, vỡ vậy khi xột một quan hệ taluụn luụn coi rằng lực lượng của nú là hữu hạn

Quan h r cú th ệ r cú thể được biểu diễn dưới dạng bảng: ể được biểu diễn dưới dạng bảng: được biểu diễn dưới dạng bảng:c bi u di n dể được biểu diễn dưới dạng bảng: ễn dưới dạng bảng: ưới dạng bảng: ạng bảng:i d ng b ng:ảng:

Trang 12

h1 h1(a1) h1(a2) … h1(an)

1.3.3 Khỏi niệm phụ thuộc hàm (Function dependency)

Khỏi niệm về phụ thuộc hàm là một khỏi niệm cú tầm quan trọng rất lớn đối với việc thiết kế CSDLquan hệ Năm 1970 khỏi niệm này được E.F.Codd đề cập nhằm giải quyết vấn đề phõn ró cỏc quan hệ

(khi chuẩn hoỏ cỏc quan hệ) mà khụng làm mất thụng tin.

Định nghĩa 1 Phụ thuộc hàm trờn quan hệ

Cho R = {a1, a2, …, an} là một tập hữu hạn và khụng rỗng thuộc tớnh r = {h1, h2, …, hn} là một quan

hệ r trờn R, và A, B  R Khi đú ta núi A xỏc định hàm cho B hay B phụ thuộc hàm vào A trong r

Định nghĩa 2 Phụ thuộc hàm trờn tập cỏc thuộc tớnh

Cho R = {a1, a2, …, an} là một tập hữu hạn và khụng rỗng thuộc tớnh Một phụ thuộc hàm trờn tập cỏc thuộc tớnh R là một dóy ký tự cú dạng A B với A, B  R

Ta núi phụ thuộc hàm A B là đỳng trong quan hệ r nếu A

r

f

B, khi đú ta cũng núi rằng rthoả món A B

Chỳ ý: Ta cú thể viết (A, B) hoặc A B thay cho A 

r

f

B nếu khụng sợ nhầm lẫn về mặt kýphỏp

1.3.4 Khoỏ (Key)

Định nghĩa Giả sử r là một quan hệ trờn R và K R Khi đú K là một khoỏ của r nếu K R.Gọi K là một khoỏ tối thiểu của r nếu:

- K là một khoỏ của r

- Bất kỳ một tập con thực sự của K khụng là khoỏ của r

Cỏc thuộc tớnh tham gia vào một khoỏ được gọi là thuộc tớnh khoỏ, cỏc thuộc tớnh khụng tham gia vào một khoỏ gọi là thuộc tớnh khụng khoỏ.

Từ định nghĩa của quan hệ và định nghĩa của khoỏ dễ thấy rằng một quan hệ luụn luụn cú ớt nhất một

khoỏ (tầm thường nhất là lấy R làm khoỏ), cú thể cú nhiều khoỏ và cú thể cú nhiều khoỏ tối thiểu.

Trang 13

Từ định nghĩa của khoỏ và định nghĩa phụ thuộc hàm trờn quan hệ ta cú thể chứng minh rằng khoỏđược dựng làm cơ sở để phõn biệt hai bộ tuỳ ý trong một quan hệ Núi cỏch khỏc, khoỏ của một quan

hệ r trờn R là tập con K  R thoả món cỏc tớnh chất: Với bất kỳ hai bộ hi, hj r đều tồn tại thuộctớnh a  K sao cho hi(a)  hj(a) tức là khụng tồn tại hai bộ thuộc r mà cú giỏ trị bằng nhau trờn mọithuộc tớnh của K Do vậy mỗi giỏ trị của khoỏ K là xỏc định duy nhất

Từ đõy ta thấy ý nghĩa thực tế của khoỏ là dựng để nhận diện một bộ trong một quan hệ, nghĩa là khicần tỡm một bộ hi nào đú ta chỉ cần biết giỏ trị của cỏc thuộc tớnh khoỏ của hi là đủ Xột về mặt hiệuquả sử dụng thỡ dựng khoỏ tối thiểu là tốt nhất

Vớ dụ: xột quan hệ r trờn R = {SCMT, SBD, Họ và tờn, Ngày sinh, Điểm mụn 1, Điểm mụn 2,Điểm mụn 3} ta thấy quan hệ này ớt nhất cú cỏc khoỏ:

Dễ thấy {SBD} và {SCMT} là cỏc khoỏ tối thiểu

Trong trường hợp quan hệ cú nhiều khoỏ tối thiểu, khi cài đặt trờn một HQT CSDL người sử dụngchọn một trong số cỏc khoỏ tối thiểu để làm cơ sở nhận diện một bộ trong quan hệ, khoỏ được chọn

này được gọi là khoỏ chớnh (primary key) Khoỏ chớnh chỉ thật sự cú ý nghĩa trong quỏ trỡnh khai

thỏc CSDL, cũn về phương diện lý thuyết, khoỏ chớnh khụng cú vai trũ gỡ khỏc cỏc khoỏ tối thiểucũn lại

Trong một số HQT CSDL như Access, Oracle, DB2, … cú cài đặt cơ chế tự động kiểm tra tớnh duynhất trờn khoỏ chớnh Vớ dụ, nếu thờm một bộ mới hn cú giỏ trị khoỏ chớnh trựng với giỏ trị khoỏchớnh của một bộ hi đó cú thỡ hệ thống sẽ thụng bỏo lỗi và yờu cầu nhập lại một giỏ trị khỏc

Để cho thuận tiện trong cỏc phộp xử lý, người ta thường quy ước:

1 Trong một bộ của một quan hệ cỏc thuộc tớnh khoỏ khụng chứa cỏc giỏ trị rỗng

2 Khụng được phộp sửa đổi giỏ trị của thuộc tớnh khoỏ Nếu muốn sửa đổi giỏ trị của thuộc tớnhkhúa của một bộ h, người sử dụng phải xoỏ bộ h và sau đú thờm mới một bộ h’ với giỏ trị củathuộc tớnh khoỏ đó được sửa đổi

1.3.5 Lược đồ quan hệ (Relation Schema)

Định nghĩa: Một lược đồ quan hệ s (hay một sơ đồ quan hệ) là một cặp <R, F> trong đú R là một tập

hữu hạn và khụng rỗng cỏc thuộc tớnh, F là tập cỏc phụ thuộc hàm trờn R

Chỳ ý:

1 Cần phõn biệt khỏi niệm quan hệ và lược đồ quan hệ, một quan hệ thuộc vào khụng gian

cơ sở dữ liệu, một lược đồ quan hệ thuộc vào sơ đồ thiết kế

Trang 14

2 Thứ tự cỏc thuộc tớnh trong R, thứ tự cỏc bộ trong r, thứ tự cỏc phụ thuộc hàm trong F làkhụng quan trọng.

3 Trong một quan hệ khụng được cú 2 bộ bất kỳ tựng nhau

Vớ dụ: Trong hệ quản trị cơ sở dữ liệu Foxpro mỗi lược đồ quan hệ được đặt tương ứng với cấutrỳc của một file dữ liệu, cũn quan hệ chớnh là file dữ liệu đú Mỗi thuộc tớnh ứng với một trường,mỗi bộ ứng với một bản ghi Số lượng cỏc bản ghi chớnh là lực lượng của quan hệ

R

1

, ở đõy khụng đũi hỏi cỏc Ri phải phõn biệt với nhau Mục đớch của

phộp phõn ró này là nhằm loai bỏ cỏc dữ liệu dư thừa (redundancy) và loại bỏ cỏc dị thường: khụng nhất quỏn (inconsistency), dị thường khi thờm bộ (insertion anormalous), dị thường khi xoỏ bộ (Deletion anormalous) của quan hệ khi thực hiện cỏc phộp cập nhật (sửa, thờm, xoỏ) Vớ dụ xột quan

hệ HANG {Tờn hóng (TH), Địa chỉ (DC), Mặt hàng (MH), Đơn giỏ(DG)} ta sẽ thấy:

a Dư thừa dữ liệu: khi cú tờn hóng, thỡ lại cú địa chỉ của hóng đú trong quan hệ

b Khụng nhất quỏn, là hệ quả của a); giả sử trong quan hệ cú nhiều bộ ghi tờn hóng và địachỉ thỡ khi địa chỉ của hóng thay đổi, nếu ta chỉ sửa địa chỉ này trờn một số bộ thỡ cỏc

bộ khỏc vẫn giữ giỏ trị cũ

c Dị thường khi thờm bộ: một hóng chưa cung cấp mặt hàng nào thỡ chưa thể thờm bộ ứng

với hóng đú được (khụng đưa được mặt hàng, đơn giỏ vào).

d Dị thường khi xoỏ bộ: là vấn đề ngược lại của c); nếu bỏ tất cả cỏc mặt hàng trong quan

hệ thỡ tờn hóng và địa chỉ của hóng cũng bị xoỏ theo (nhất là trong trường hợp nhiều hóng cựng cung cấp một mặt hàng).

Do vậy, vấn đề đặt ra là: cú thể phõn ró quan hệ trờn thành một tập cỏc quan hệ con nhằm trỏnh tất cảcỏc điều đó núi ở trờn, nhưng khụng bị mất mỏt thụng tin Ta định nghĩa phộp phõn ró khụng mấtthụng tin như sau:

Định nghĩa 2: Giả sử lược đồ quan hệ s = <R, F> được phõn ró thành cỏc lược đồ quan hệ s1, s2, …, sk

với si = <Ri, Fi>, i = 1, 2, …, k Ri  R, Fi là chiếu của F trờn Ri Khi đú ta núi rằng, phộp phõn rótrờn là phõn ró khụng mất thụng tin (lossless join decomposition) đối với F nếu với quan hệ:

Trang 15

- Thiết lập một bảng với n cột và k hàng; hàng i ứng với sơ đồ quan hệ Ri, cột j ứng với thuộctớnh aj Tại ụ (i, j) điền Aj nếu aj Ri, ngược lại điền ký hiệu bij.

- Bõy giờ xột cỏc phụ thuộc hàm từ F ỏp dụng cho bảng vừa thiết lập được Giả sử X  Y 

F, xột cỏc hàng và nếu cú giỏ trị bằng nhau trờn thuộc tớnh X thỡ làm bằng cỏc giỏ trị củachỳng trờn thuộc tớnh Y theo cỏch sau: Nếu một giỏ trị là Aj thỡ chuyển cỏc giỏ trị thành Aj,ngược lại thỡ chuyển cỏc giỏ trị thành một trong cỏc ký hiệu bij

- Tiếp tục ỏp dụng cỏc phụ thuộc hàm cho bảng (kể cả việc lặp lại phụ thuộc hàm đó được ỏpdụng) cho đến khi khụng cũn ỏp dụng được nữa

- Cuối cựng, xem xột bảng kết quả: nếu xuất hiện một hàng cú đủ A1, A2, …, An thỡ phộp phõn

ró khụng mất thụng tin, ngược lại là phộp phõn ró mất thụng tin

Vớ dụ:

Cho s = <R, F> với R = {a, b, c, d, e, g}, F = {a  b, cd  a, bc  d, ae  g, ce  d},  = (s1, s2,

…, sk) với: R1 = {a, b}, R2 = {a, c, d}, R3 = {b, c, d}, R4 = {a, e, g}, R5 = {c, d, e} Kiểm tra xemphộp phõn ró mất thụng tin?

Trang 16

nờn ta kết luận phộp phõn ró này khụng mất thụng tin

1.3.7 Bao đúng của tập phụ thuộc hàm

Định nghĩa Xột lược đồ quan hệ s = <R, F>; A, B  R, A B là một phụ thuộc hàm Ta núi rằng

A B được suy diễn logic từ F nếu quan hệ r trờn R đều thoả món cỏc phụ thuộc hàm của F thỡcũng thoả món phụ thuộc hàm A B

Gọi tập tất cả cỏc phụ thuộc hàm được suy diễn logic từ F là bao đúng (closure) của F, ký phỏp là F+.Nếu F = F+ thỡ F được gọi là họ đầy đủ (full family) cỏc phụ thuộc hàm

1.3.8 Hệ tiờn đề cho phụ thuộc hàm

Để cú thể xỏc định được khoỏ của một quan hệ và cỏc suy diễn lụgic giữa cỏc phụ thuộc hàm cầnthiết phải tớnh được F+ từ F, điều này đũi hỏi phải cú cỏc quy tắc, muốn vậy phải xõy dựng hệ tiờn đềcho phụ thuộc hàm

Cho R là một tập hữu hạn và khụng rỗng cỏc thuộc tớnh, ký phỏp P(R) là tập cỏc tập con của R, giả

Bài tập: chứng minh hệ tiờn đề Armstrong là đỳng trờn quan hệ r.

Vớ dụ: Cho F = {A B C, C A}, dựng hệ tiờn đề Armstrong chứng minh rằng B C 

Trang 17

i) Phụ thuộc hàm đầy đủ (fully functional dependence)

Định nghĩa: Giả sử r là một quan hệ trờn tập thuộc tớnh R và A, B  P(R), khi đú B được gọi là phụ

thuộc hàm đầy đủ (fully functional dependence) vào A nếu B phụ thuộc hàm vào A, nhưng khụng phụ

thuộc hàm vào bất kỳ một tập con thực sự nào của A

ii) Phụ thuộc hàm bắc cầu

Định nghĩa: Giả sử r là một quan hệ trờn tập thuộc tớnh R và A, C  P(R), khi đú C được gọi là phụthuộc hàm bắc cầu vào A trờn R nếu tồn tại B P(R) sao cho A B, B C, nhưng B khụng xỏcđịnh hàm cho A với C  A  B T nh b c c u th hi n qua s ới dạng bảng: ắc cầu thể hiện qua sơ đồ sau: ầu thể hiện qua sơ đồ sau: ể được biểu diễn dưới dạng bảng: ệ r cú thể được biểu diễn dưới dạng bảng: ơ đồ sau: đồ sau: sau:

Điều kiện C  A  B là cần thiết vỡ nếu C  B  A thỡ theo tiờn đề phản xạ luụn cú A B

C, cũn điều kiện B khụng xỏc định hàm cho A để loại bỏ nhiều khoỏ khỏi quan hệ ở dạng chuẩn 3.1.4 CÁC PHẫP TOÁN CỦA NGễN NGỮ THAO TÁC DỮ LIỆU

Cỏc phộp tớnh cơ bản mà nhờ đú một cơ sở dữ liệu được thay đổi là chốn (insert), loại bỏ (delete), và thay đổi (change) Trong mụ hỡnh cơ sở dữ liệu quan hệ được nờu trờn, cỏc phộp tớnh này được ỏp

dụng cho từng bộ của cỏc quan hệ lưu trữ trong mỏy

Trang 18

Vớ dụ: Thờm một bộ hi = (Fujitsu, F8 fortuna LH, PC, 1200$) vào quan hệ HANG.

INSERT( HANG; TH = Fujitsu, DC = F8 fortuna LH, MH = PC, DG = 1200$)

Nếu xem thứ tự cỏc trường là cố định, khi đú cú thể biểu diễn phộp chốn dưới dạng khụng tườngminh như sau:

INSERT (r; d1, d2, …, dn)

Mục đớch của phộp chốn là thờm một bộ phận vào một quan hệ nhất định Kết quả của phộp tớnh này

cú thể gõy ra một số sai sút bởi những lý do sau:

1 Bộ mới được thờm vào là khụng phự hợp với lược đồ quan hệ cho trước

2 Một số giỏ trị của một số thuộc tớnh nằm ngoài miền giỏ trị của thuộc tớnh đú

3 Giỏ trị khoỏ của bộ mới cú thể là giỏ trị đó cú trong quan hệ đang lưu trữ

Vớ dụ: Xoỏ một bộ hi = (Fujitsu, F8 fortuna LH, PC, 1200$) trong quan hệ HANG

DEL ( HANG; Fujitsu, F8 fortuna LH, PC, 1200$)

Tuy nhiờn khụng phải bao giờ cũng cần cung cấp toàn bộ cỏc thụng tin (giỏ trị thuộc tớnh) trong

phộp loại bỏ, trong trường hợp ta biết khoỏ của quan hệ, chẳng hạn K = {b1, b2, …, bm}, thụng thường

m << n, thỡ khi đú phộp loại bỏ chỉ cần viết: DEL (r; b1 = d1, b2 = d2, …, bm = dm)

1.4.3 Phộp thay đổi (Change)

Ta cú thể dựng hai phộp tớnh trờn để xử lý toàn bộ cỏc thao tỏc trờn CSDL quan hệ, tuy nhiờn đụikhi người ta chỉ cần thay đổi giỏ trị của một hay một số cỏc thuộc tớnh nhất định, khi đú sử dụngphộp tớnh thay đổi (CH) là rất cần thiết, nhằm giảm thiểu cỏc thao tỏc cũng như sự nhầm lẫn cú thể

cú Phộp thay đổi như sau: Gọi tập {c1, c2, …, cp}  {a1, a2, …, an} là tập cỏc thuộc tớnh của bộ cần

thay đổi giỏ trị, phộp thay đổi cú dạng:

Trang 19

1.5 CÁCH THỨC TỔ CHỨC DỮ LIỆU VẬT Lí

1.5.1 Giới thiệu cỏch thức tổ chức dữ liệu

Dữ liệu vật lý là kết quả thể hiện của việc đưa thụng tin vào quản lý trờn mỏy tớnh Ở mức này cơ sở

dữ liệu vật lý được tổ chức dưới dạng cỏc tệp (file) dữ liệu, bao gồm cỏc bản ghi cú cựng cấu trỳc xỏc định (loại bản ghi), đồng thời mỗi bản ghi được phõn chia thành cỏc trường dữ liệu (field names), mỗi

trường chiếm một số xỏc định cỏc bytes và cú kiểu dữ liệu cố định Cỏc phộp tớnh đặc trưng trờn cỏctệp dữ liệu là:

- Thờm một bản ghi

- Xoỏ một bản ghi

- Sửa một bản ghi

- Tỡm một bản ghi theo giỏ trị xỏc định tại một trường hoặc một số trường nào đú

Chỳ ý: cần thận trọng trong việc xoỏ một bản ghi trong CSDL, thụng thường trong cỏc hệ quản trị

cơ sở dữ liệu người ta luụn cung cấp cơ chế xoỏ hai lần Lần thứ nhất là xoỏ về mặt logic, lần thứ hai mới thực sự xoỏ và trong trường hợp này ta khụng khụi phục lại được.

1.5.2 Mụ hỡnh tổ chức bộ nhớ ngoài

Bộ nhớ ngoài hay cũn gọi là bộ nhớ thứ cấp, bộ nhớ ngoài cú thể là bỡa đục lỗ, băng từ, đĩa từ, đĩaquang, trồng từ … Hiện nay, đĩa từ được sử dụng rất rộng rói, phổ biến và trở thành một phần khụngthể thiếu được đối với mỏy tớnh điện tử Do vậy ta chỉ xột việc tổ chức thụng tin trờn đĩa từ như một

vớ dụ chuẩn mực cho mụ hỡnh tổ chức bộ nhớ ngoài

Đĩa từ được chia thành nhiều rónh (track - được đỏnh số 0,1,2, … từ ngoài vào trong), tập cỏc rónh

cú cựng số thứ tự được gọi là cỏc cylinder, mỗi rónh lại được chia thành nhiều cỏc sector Cỏc sector hay cỏc khối vật lý (physical block) cú kớch cỡ như nhau Mỗi khối chiếm khoảng 512 bytes đến 4096

bytes và được đỏnh địa chỉ khối Địa chỉ này được gọi là địa chỉ tuyệt đối của cỏc khối

Mỗi tệp dữ liệu lưu trờn đĩa từ chiếm một hoặc nhiều khối, mỗi khối chứa một hoặc nhiều bản ghi.Việc thao tỏc với cỏc tệp dữ liệu sẽ thụng qua tờn tệp và thực chất là thụng qua địa chỉ tuyệt đối củacỏc khối

Cỏc bản ghi đều cú địa chỉ và thường được xem là địa chỉ tuyệt đối của byte đầu tiờn của bản ghihoặc là địa chỉ của khối chứa bản ghi đú

Địa chỉ của cỏc bản ghi hoặc cỏc khối được xỏc định thụng qua cỏc chỉ dẫn được gọi là con trỏ (pointer).

1.6 TỔ CHỨC CÁC TỆP CƠ SỞ DỮ LIỆU

Trang 20

1.6.1 Tệp băm

Trước hết ta xột khỏi niệm hàm băm (Hash function) Nếu mỗi bản ghi đều cú một khoỏ là giỏ trị số (vớ dụ x), hàm băm h(x) (đối số là x) nhận một giỏ trị trong khoảng [0, k] với k là một giỏ trị nguyờn dương đủ lớn nào đú (thường lấy k là một số nguyờn tố) khi đú h(x) = i mod k.

Tư tưởng cơ bản của tổ chức tệp băm là phõn chia tập cỏc bản ghi của tệp dữ liệu thành cỏc cụm

(Buckets) Mỗi cụm bao gồm một hoặc nhiều khối (block) Mỗi khối chứa một số lượng cố định cỏc

bản ghi

Mỗi cụm ứng với một địa chỉ băm Địa chỉ băm được đỏnh số từ 0 đến k-1 ở đầu mỗi khối đều chứa

con trỏ trỏ tới khối tiếp theo trong cụm, khối cuối cựng trong cụm chứa con trỏ rỗng Cú một bảng chỉ dẫn cụm (bucket directory) chứa k con trỏ, mỗi con trỏ ứng với một cụm, đú là địa chỉ của khối

đầu tiờn trong cụm

- Thờm một bản ghi

Trang 21

Giả sử cần thờm một bản ghi cú khoỏ là x vào tệp, thủ tục được thực hiện giống như tỡm kiếm mộtbản ghi.

- Nếu trong tệp đó cú một bản ghi cú khoỏ trựng với x, chứng tỏ bản ghi mới là sai (vỡ khoỏ làduy nhất)

- Nếu khụng cú bản ghi trựng khoỏ, bản ghi cú khoỏ x được thờm vào khối đầu tiờn trong cụmcũn chỗ trống Nếu khụng cũn chỗ trống nào trong mọi khối của cụm, thỡ phải tạo thờm một

khối mới, con trỏ null của khối cuối cựng được trỏ sang khối mới này Trong trường hợp này

bản ghi mới sẽ là bản ghi đầu tiờn của khối vừa được thiết lập và khối này trở thành khối cuốicựng

1.6.2 Tệp chỉ số

Một kiểu tổ chức tệp dữ liệu truy nhập khúa rất thường dựng trong CSDL là tệp chỉ số Để dễ trỡnhbày, ta giả thiết rằng tệp dữ liệu chớnh luụn luụn là tệp đó được sắp xếp theo khoỏ (vớ dụ theo thứ tựtăng dần) Khoỏ luụn luụn được quan niệm rằng, bao gồm một hoặc nhiều trường cú thứ tự và cú độdài cố định Giỏ trị của khoỏ cú thể là số, cú thể là một xõu kớ tự Nếu là một xõu ký tự, việc sắp xếp

là theo A, B, C, … hay thứ tự từ điển Chẳng hạn xi, yj là cỏc xõu ký tự, hai xõu x1…xk < y1…ym khi

và chỉ khi:

1 k < m và x1…xk = y1…yk hoặc

2 với i nào đú, i  min (k, m) cú x1 = y1, …, xi-1 = yi-1, xi = yi

Để hỗ trợ cho tệp dữ liệu chớnh, cần tạo một tệp chỉ số theo khoỏ được chọn Tệp chỉ số bao gồm cỏccặp (k, d) trong đú k là giỏ trị của khoỏ, d là địa chỉ của khối (hay con trỏ khối) Cỏc cặp này đượcsắp xếp theo giỏ trị của khoỏ

Trang 22

Giả sử cần tỡm một bản ghi nào đú cú giỏ trị khoỏ là x, cú thể cú nhiều cỏch duyệt trong tệp chỉ số.

Phương phỏp tỡm kiếm tuần tự

Duyệt trong tệp chỉ số cỏc cặp (k, d) trong bảng khối chỉ số, so sỏnh giỏ trị x với k; gặp cặp đầu tiờn(k’, d’) cú k’ > x thỡ dừng Như vậy giỏ trị x cú thể thuộc khối đứng ngay trước khối (k’, d’), vớ dụkhối (k1, d1) Trong khối (k1, d1) sẽ tỡm tuần tự theo tệp chỉ số cho tới khi gặp giỏ trị k nào đú bằng xthỡ giỏ trị d tương ứng là địa chỉ của bộ cần tỡm Nếu khụng cú giỏ trị k nào trong khối (k1, d1) bằngvới x, xem như bản ghi khụng tồn tại

Phương phỏp tỡm kiếm nhị phõn

Phương phỏp tỡm kiếm tuần tự núi chung là chậm, thường cú thể sử dụng cỏc phương phỏp khỏc nhưphương phỏp nhị phõn (chia đụi), vỡ tệp chỉ số bao giờ cũng được sắp xếp Giả sử tệp chỉ số được lưutrữ trờn n khối (b1, b2, …, bn) Để tỡm một bản ghi cú khoỏ x, trước hết chọn khối bn/2, so sỏnh giỏ trị

k thuộc khối bn/2 và x, nếu k > x thỡ bộ cần tỡm nằm ở một trong cỏc khối b1, b2, …, bn/2, ngược lạitrong cỏc khối từ bn/2+1, …, bn quỏ trỡnh lặp lại cho đến khi chỉ cũn một khối chứa bản ghi khoỏ x.Trong khối này tiếp tục tỡm tuần tự trong cỏc cặp (k, d) như phương phỏp tỡm tuần tự

- Thờm một bản ghi

Muốn thờm một bản ghi mới cú khoỏ là x vào tệp chỉ số, sử dụng thủ tục tỡm kiếm bản ghi như trờn

để xỏc định khối bi (i =1 ,n) sẽ chứa bản ghi đú Nếu trong khối bi cũn chỗ thỡ thờm bản ghi nàyvào khối đú theo đỳng thứ tự sắp xếp của khoỏ Việc đặt đỳng vị trớ này đũi hỏi phải chuyển chỗ cỏcbản ghi đứng sau bản ghi cú khoỏ x trong khối bi Nếu bản ghi khoỏ x là bản ghi đầu tiờn của khốithỡ phải sửa lại khoỏ k thành x trong bảng chỉ dẫn khối

Nếu việc thờm bản ghi vào khối bi hết chỗ thỡ bản ghi cuối cựng của khối bi sẽ chuyển sang làm bảnghi đầu tiờn của khối bi+1, khi đú phải sửa lại giỏ trị (k, d) của khối bi+1 tương ứng Nếu bản ghi cúkhoỏ x là bản ghi cuối cựng, tức x lớn hơn mọi khoỏ k trong tệp chỉ dẫn và mọi bi đều hết chỗ, khi đúthiết lập một khối mới bi+1, bản ghi khoỏ x sẽ là bản ghi đầu tiờn của khối mới này

- Xoỏ một bản ghi

Trang 23

Quỏ trỡnh giống như thờm bản ghi, lưu ý nếu khi xoỏ một bản ghi tạo nờn một khối rỗng, khi đú cúthể loại bỏ cả khối đú.

- Sửa một bản ghi

Sử dụng thủ tục tỡm một bản ghi để xỏc định bản ghi cần sửa

- Nếu cỏc trường cần sửa khụng phải là trường khoỏ, việc sửa đổi giỏ trị của bản ghi tiến hànhbỡnh thường, giỏ trị của bản ghi sau khi sửa được ghi lại vị trớ cũ

- Nếu cỏc giỏ trị cỏc trường cần sửa tham gia khoỏ, quỏ trỡnh sửa sẽ là xoỏ và sau đú thờmmới một bản ghi

Chỳ ý: Tệp chỉ số cú thể được cấu trỳc một cỏch đơn giản hơn rất nhiều Tệp này chỉ gồm hai

trường: khoỏ k, con trỏ d Mỗi bản ghi của tệp chỉ số tương ứng với một bản ghi của tệp chớnh, cũncon trỏ d là địa chỉ của bản ghi trong tệp chớnh Trong trường hợp này tệp dữ liệu chớnh khụng nhấtthiết phải được sắp xếp

1.6.3 B - Cõy (Balanced tree)

Một kiểu tổ chức dữ liệu thường được sử dụng trong cơ sở dữ liệu là tổ chức cõy cõn bằng (B-cõy).B-cõy được tổ chức theo cấp m, cú cỏc tớnh chất sau đõy:

- Gốc của cõy hoặc là một nỳt lỏ hoặc ớt nhất cú hai con,

- Mỗi nỳt (trừ nỳt gốc và nỳt lỏ) cú từ [m/2] đến m con,

- Mỗi đường đi từ gốc đến bất kỳ lỏ nào đều cú độ dài như nhau

Hỡnh 3 biểu diễn một cõy phõn cấp 5 Mỗi khối ứng với lỏ chứa tối đa 5 bản ghi Khối ứng với nỳtchứa được 5 con trỏ và 4 khoỏ Cỏc nỳt trong B-cõy thực chất là khối tệp chỉ số Cỏc khối chỉ sốđược phõn theo từng mức, mức càng cao độ chi tiết càng lớn

Cấu trỳc mỗi nỳt trong B-cõy cú dạng:

(p0, k1, p1, k2, …, kn, pn) với pi (i =1 ,n) là con trỏ trỏ tới khối i của nỳt cú ki là khoỏ đầu tiờn củakhối đú Cỏc khoỏ k trong một nỳt được sắp xếp theo thứ tự tăng dần

- Mọi khoỏ trong cõy con, trỏ bởi con trỏ p0 đều nhỏ hơn k1

- Mọi khoỏ trong cõy con, trỏ bởi con trỏ pi đều nhỏ hơn ki+1 Mọi khoỏ trong cõy con, trỏ bởicon trỏ pn đều lớn hơn kn

Cỏc nỳt lỏ chỉ chứa khoỏ của cỏc bản ghi trong tệp chớnh

Trang 24

kn, pn)) của B-cõy kể từ nỳt gốc Tại mỗi nỳt sẽ xỏc định con trỏ đi tới nỳt tiếp theo.

Thủ tục: So sỏnh khoỏ x với cỏc khoỏ k1, k2, …, kn tại nỳt đang xột Nếu ki  x <ki+1 sẽ chọn con trỏ

pi để duyệt tiếp nỳt con trỏ từ pi tới Quỏ trỡnh duyệt tiếp tục như trờn nếu x < k1 thỡ cú khả năngtỡm x trong nỳt trỏ p0, nếu x  kn thỡ tỡm theo nỳt trỏ từ pn

Cuối cựng sẽ tới một nỳt lỏ trong nỳt lỏ tỡm tuần tự bằng cỏch so sỏnh khoỏ x với cỏc giỏ trị khoỏtrong nỳt lỏ, từ đú sẽ nhận được bản ghi cần tỡm nếu bản ghi đú tồn tại, cũng cú thể khụng tồn tại bảnghi trong tệp

- Xoỏ một bản ghi

Giả sử cần loại bỏ bản ghi cú khoỏ x vào B-cõy, trước hết cần xỏc định vị trớ nỳt lỏ sẽ chứa bản ghi

đú Thủ tục xỏc định nỳt lỏ như thủ tục tỡm kiếm một bản ghi

Nếu bản ghi cần xoỏ là bản ghi đầu tiờn của nỳt L thỡ phải tỡm tới nỳt p ngay trờn nỳt L để chỉnh lạigiỏ trị khoỏ đầu tiờn của L cú trước đú

Nếu L lại là nỳt con đầu tiờn của p thỡ khoỏ đầu tiờn của L khụng đặt được ở p, khi đú khụng cầnthiết chỉnh sửa nữa Tuy nhiờn cú thể khoỏ đầu tiờn đú của p lại xuất hiện ở một nỳt trờn đú Do vậyviệc tỡm và chỉnh lý khoỏ này vẫn phải tiếp tục ngược lờn cho tới tận gốc như đường đi đó vạch rakhi dựng thủ tục tỡm kiếm

Nếu sau khi loại bỏ bản ghi khoỏ x khỏi nỳt L, L trở thành một nỳt rỗng, khi đú cần chỉnh lý lại cặp(k, p) ứng với L trong nỳt trờn là p để mụ tả lại sự thay đổi xảy ra Việc thay đổi này cú thể làm nỳt p

Trang 25

cú thể cú ớt hơn [m/2] cặp (k, p) khi đú ta xem xột cỏc nỳt cú hơn [m/2+1] cặp (k, p) sẽ phõn bố lạicỏc cặp này theo đỳng thứ tự sao cho mỗi nỳt ớt nhất cú [m/2] cặp (k, p) Ngược lại, nếu nỳt bờn trỏi

(hoặc phải) cú đỳng [m/2] cặp, khi đú ghộp p và p’ thành một nỳt mới với 2*[m/2]-1 cặp (k, p) và

chỉnh lại khoỏ và con trỏ ứng với nỳt trờn Quỏ trỡnh này cú thể truyền ứng ngược lờn tới tận gốc

Trang 27

2.1 ĐẠI SỐ QUAN HỆ

2.1.1 Giới thiệu về đại số quan hệ

Ngụn ngữ xử lý dữ liệu là một phần quan trọng trong cỏc hệ quản trị cơ sở dữ liệu Từ năm 1970E.F.Codd đưa ra 2 ngụn ngữ xử lý dữ liệu chớnh là ngụn ngữ đại số quan hệ và ngụn ngữ tớnh toỏnquan hệ (dựa vào phộp toỏn tõn từ)

Hầu hết cỏc ngụn ngữ xử lý của cỏc hệ quản trị cơ sở dữ liệu hiện nay đều dựng ngụn ngữ đại số quan

hệ nờn ta trỡnh bày cỏc phộp toỏn cơ sở của đại số quan hệ và sau đú là cỏc phộp toỏn đại số quan hệ

là hệ quả của cỏc phộp toỏn cơ sở

Cỏc phộp toỏn cơ sở của đại số quan hệ bao gồm: phộp hợp, phộp trừ, phộp tớch đề cỏc, phộp chiếu,phộp chọn

2.1.2 Phộp hợp (Union)

Gọi r1, r2 là hai quan hệ trờn tập thuộc tớnh R, phộp hợp của hai quan hệ r1, r2 là một quan hệ r Kýphỏp r= r1r2 bao gồm tất cả cỏc bộ thuộc r1 ( r1) hoặc  r2 hoặc thuộc cả hai, trong đú cỏc bộgiống nhau chỉ giữ lại một

Vớ dụ: cho c c quan hỏc quan hệ ệ r cú thể được biểu diễn dưới dạng bảng:

Trang 28

2.1.5 Tớch Đề cỏc mở rộng (Extended Cartesian Product)

Gọi: r1 là quan hệ trờn tập thuộc tớnh R1 = {a1, a2, …, an}

Trang 29

a a d e f g

2.1.6 Phộp chiếu (Projection)

Giả sử r là quan hệ trờn tập thuộc tớnh R = {a1, a2, …, an}, phộp chiếu ký phỏp  i2 i p với ij lấy

từ j = 1 , p lấy trong tập từ 1 đến n và pn trong ký phỏp thay cho i1, i2, …, ip ta cú thể viết abc…tvới a, b, c, …, t là tờn p thuộc tớnh lấy trong tập thuộc tớnh {a1, a2, …, an} được thực hiờn như sau:Giả sử p thuộc tớnh cú số hiệu là i1, i2, …, ip cỏc bộ trựng nhau chỉ giữ lại một kết quả nhận được làmột quan hệ trờn tập thuộc tớnh { a, b, c, …, t} hoặc {ai1, ai2, …, aip}

Vớ dụ: Cho quan h rệ r cú thể được biểu diễn dưới dạng bảng:

Gọi F là điều kiện nếu nú bao gồm:

- Cỏc toỏn hạng (tờn thuộc tớnh, cỏc hằng bao bởi cặp dấu nhỏy ‘ ‘)

- Cỏc phộp toỏn so sỏnh (<, =, >, <=, >=, #)

- Cỏc phộp toỏn logic (and( ), or( ), not (  ))

Vớ dụ: Cho quan hệ r, tỡm quan hệ thoả món điều kiện F = (A=’a’)  (C=’b’)

Giả sử r1 là quan hệ trờn tập thuộc tớnh R1 = {a1, a2, …, an}, r2 là quan hệ trờn tập thuộc tớnh R2 = {b1,

b2, …, bm} (Trong đú ai và bj khụng nhất thiết phải khỏc nhau, trường hợp giống nhau cần đỏnh dấu

Ngày đăng: 20/01/2014, 13:20

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
4. Giỏo trỡnh Cơ sở dữ liệu, Ths Nguyễn Quang Vinh, Khoa CNTT - ĐHQG Hà nội Sách, tạp chí
Tiêu đề: Giỏo trỡnh Cơ sở dữ liệu
Tác giả: Ths Nguyễn Quang Vinh
Nhà XB: Khoa CNTT - ĐHQG Hà nội
6. Tài liệu thiết kế của cỏc dự ỏn HRM, Payroll, ST, … , 2001 Sách, tạp chí
Tiêu đề: Tài liệu thiết kế của cỏc dự ỏn HRM, Payroll, ST, …
Năm: 2001
1. Nhập mụn Cơ sở dữ liệu quan hệ, Lờ Tiến Vương, nxb KH&amp;KT, 1997 Khác
2. Cơ sở dữ liệu - Đỗ Trung Tuấn, nxb GD, 1998 Khác
3. Cơ sở dữ liệu - kiến thức và thực hành, PGS. Vũ Đức Thi, nxb TK, 1997 Khác
5. Tài liệu thiết kế của dự ỏn NOIP, Fujitsu, 2000 Khác
7. Designing Relational Database Systems, Rebecca M. Riordan, Microsoft, 1999 Khác

HÌNH ẢNH LIÊN QUAN

Hỡnh 1.1 File dữ liệu HOSO.MDB - Tài liệu Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu docx
nh 1.1 File dữ liệu HOSO.MDB (Trang 6)
Bảng khối chỉ số Tệp chỉ số Tệp dữ liệu chớnh - Tài liệu Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu docx
Bảng kh ối chỉ số Tệp chỉ số Tệp dữ liệu chớnh (Trang 22)
Hỡnh 3 biểu diễn một cõy phõn cấp 5. Mỗi khối ứng với lỏ chứa tối đa 5 bản ghi. Khối ứng với nỳt chứa được 5 con trỏ và 4 khoỏ - Tài liệu Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu docx
nh 3 biểu diễn một cõy phõn cấp 5. Mỗi khối ứng với lỏ chứa tối đa 5 bản ghi. Khối ứng với nỳt chứa được 5 con trỏ và 4 khoỏ (Trang 23)
Đồ thị nối cỏc quan hệ - Tài liệu Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu docx
th ị nối cỏc quan hệ (Trang 52)
Hỡnh 3.1 Cỏc ký hiệu đồ hoạ của cỏc phộp đại số quan hệ. - Tài liệu Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu docx
nh 3.1 Cỏc ký hiệu đồ hoạ của cỏc phộp đại số quan hệ (Trang 55)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w