1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thiết kế và xây dựng cơ sở dữ liệu truyền thanh tại đài tiếng nói việt nam

81 365 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

Định dạng
Số trang 81
Dung lượng 1,07 MB

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

Nội dung

Tổ chức lưu trữ dự liệu theo lý thuyết CSDL sẽ tránh được sự không nhất quán trong lưu trữ dữ liệu và đảm bảo được tính toàn vẹn của dữ liệu : Nếu một thuộc tính được mô tả trong nhiều t

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

Họ và tên tác giả luận văn

ĐỖ HỒNG AN

TÊN ĐỀ TÀI LUẬN VĂN

THIẾT KẾ VÀ XÂY DỰNG CƠ SỞ DỮ LIỆU TRUYỀN

THANH TẠI ĐÀI TIẾNG NÓI VIỆT NAM

Chuyên ngành : ĐIỆN TỬ VIỄN THÔNG

LUẬN VĂN THẠC SĨ KHOA HỌC ĐIỆN TỬ VIỄN THÔNG

NGƯỜI HƯỚNG DẪN KHOA HỌC :

TS BÙI VIỆT KHÔI

Hà Nội – Năm 2010

Trang 2

MỤC LỤC

LỜI CAM ĐOAN 4

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 5

DANH SÁCH CÁC HÌNH VẼ 6

MỞ ĐẦU 7

CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU 9

1.1 Khái niệm cơ sở dữ liệu 9

1.2 Sự cần thiết của các hệ cơ sở dữ liệu 9

1.3 Mô hình kiến trúc tổng quát cơ sở dữ liệu 3 mức 10

1.4 Hệ quản trị cơ sở dữ liệu (HQTCSDL) 12

1.5 Các đối tượng sử dụng CSDL 13

1.5.1 Đối tượng trực tiếp 13

1.5.2 Đối tượng gián tiếp 14

1.6 Các mô hình cơ sở dữ liệu 15

1.61 Khái niệm kiểu mô hình dữ liệu (Data model) 15

1.6.2 Khái niệm kiểu mô hình CSDL phân cấp (Hierarchy Data Model) 15

1.6.3 Mô hình CSDL mạng (Network Data Model) 16

1.6.4 Khái niệm mô hình CSDL quan hệ 17

CHƯƠNG 2: KỸ THUẬT THIẾT KẾ CƠ SỞ DỮ LIỆU 21

2.1 Các bước thiết kế một cơ sở dữ liệu 21

2.2 Mô hình dữ liệu quan hệ ER(Entity Relationship Model) 22

2.2.1 Khái niệm mô hình dữ liệu quan hệ E-R 22

2.2.2 Kiểu thực thể (Entity type), thuộc tính (Attributes), khóa (Keys) 23

2.2.3 Liên kết, kiểu liên kết và các ràng buộc liên kết 25

2.2.4 Kiểu thực thể yếu (Weak Entity) 27

2.2.6 Các bước xây dựng sơ đồ ER 27

2.3 Chuyển từ mô hình ER sang mô hình quan hệ 28

2.4 Phụ thuộc hàm (Functional Dependencies) 29

2.5 Các dạng chuẩn của quan hệ 30

2.5.1 Sự cần thiết chuẩn hóa dữ liệu 30

2.5.2 Định nghĩa các dạng chuẩn 31

2.5.3 Phép phân rã các lược đồ quan hệ 39

2.6 Ngôn ngữ cơ sở dữ liệu 41

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

2.6.2 Ngôn ngữ thao tác dữ liệu 41

CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG CSDL PHÁT THANH TẠI ĐÀI TIẾNG NÓI VIỆT NAM 43

3.1 Phân tích nhu cầu của đề tài 43

3.2 Hiện trạng Cơ sở dữ liệu tại Đài tiếng nói Việt Nam 44

3.2.1 Mô tả phần cứng 44

3.2.2 Mô tả Cơ sở dữ liệu 47

Trang 3

3.3 Thiết kế Cơ sở dữ liệu truyền thanh 50

3.3.1 Phân tích yêu cầu bài toán 50

3.3.2 Lựa chọn hệ quản trị CSDL 52

3.3.3 Thiết kế mô hình ER cho CSDL 54

3.3.4 Thiết kế cơ sở dữ liệu vật lý 57

3.5 Xây dựng CSDL truyền thanh 69

3.5.1 Tên và các thuộc tính của CSDL 69

3.5.2 Tạo cơ sở dữ liệu PHATTHANH 69

3.5.3 Các thuộc tính của Cơ sở dữ liệu 71

CHƯƠNG 4 : THỬ NGHIỆM VÀ ĐỀ XUẤT 72

KẾT LUẬN 75

TÀI LIỆU THAM KHẢO 76

PHỤ LỤC 77

Trang 4

LỜI CAM ĐOAN

Tôi xin cam đoan: Luận văn “Thiết kế và xây dựng Cơ sở dữ liệu truyền thanh tại Đài tiếng nói Việt Nam” là công trình nghiên cứu riêng của tôi

Các số liệu trong luận văn được sử dụng trung thực Các số liệu có nguồn trích dẫn, kết quả trong luận văn là trung thực và chưa từng công bố trong các công trình nghiên cứu khác

Tôi xin chân thành cảm ơn thầy Bùi Việt Khôi giảng viên Khoa Điện tử Viễn thông - trường Đại học Bách Khoa Hà Nội đã truyền đạt cho tôi kiến thức, tận tình hướng dẫn tôi hoàn thành tốt luận văn này

Hà Nội, ngày 30 tháng 09 năm 2010 Tác giả luận văn

ĐỖ HỒNG AN

Trang 5

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

HQTCSDL Hệ quản trị cơ sở dữ liệu (Database mangament system)

ER Thực thể quan hệ ( Entity Relationship Model)

Relational Database Management System RDBMS

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

Trang 6

DANH SÁCH CÁC HÌNH VẼ

Trang 7

và Nhà nước, Đài Tiếng nói Việt Nam ngoài việc truyền tải thông tin bằng âm thanh đến với bạn nghe đài trong và ngoài nước trên làn sóng phát thanh, Đài TNVN còn cung cấp các thông tin trong nước cũng như trên thế giới đến với bạn đọc thông qua báo Tiếng nói Việt nam Cùng với báo nói, báo viết, và báo hình Đài TNVN còn đưa lên mạng Internet các chương trình phát thanh trực tuyến nhằm đáp ứng nhu cầu về thông tin đối với đồng bào trong nước cũng như đồng bào ở xa Tổ quốc thông qua báo điện tử VOVNews Là một hệ thống mạng máy tính tương đối lớn,

có khả năng lưu trữ một khối lượng lớn các file âm thanh và văn bản nhưng lại chỉ dành riêng cho khối biên tập và khối sản xuất chương trình bên trong nội bộ mạng nên việc cung cấp tin bài với các đơn vị khác trong đài hoàn toàn bị hạn chế Điều này gây tốn kém về thời gian và công sức của phóng viên, biên tập trong quá trình khai thác tin Hệ thống mạng máy tính phát thanh sử dụng các phần mềm biên tập

âm thanh chuyên nghiệp Với các phần mềm này, định dạng file âm thanh là MPEGII Đây là một định dạng file âm thanh ít được hỗ trợ cho các phần mềm biên tập âm thanh thông thường Đối với biên tập viên và phóng viên thì việc có được một phần mềm biên tập âm thanh chuyên dụng là điều không thể Hầu hết các phóng viên và biên tập viên đều sử dụng những phần mềm biên tập âm thanh rẻ tiền hoặc miễn phí không hỗ trợ cho định dạng file MPEGII Do đó đề tài được xây dựng để thiết kế một cơ sở dữ liệu phù hợp với mục đích lưu trữ phục vụ nhu cầu

Trang 8

khai thác nguồn tin cho người sử dụng đồng thời đảm bảo an toàn cho hệ cơ sở dữ liệu phát thanh

Để có thể thực hiện được điều này, thì việc nghiên cứu, tìm hiểu hiện trạng

hệ thống của mỗi đơn vị, các quy tắc lưu trữ nguồn âm của từng đơn vị, và cơ sở dữ liệu gốc là điều vô cùng cần thiết để đưa ra một cơ sở dữ liệu mới phù hợp với mục đích của đề tài

Nội dung của luận án gồm 4 chương với những nội dung như sau:

”Chương 1 : Tổng quan về cơ sở dữ liệu” :là những kiến thức tổng quát về

Chương 4: Thực nghiệm và đề xuất

Đề tài “Thiết kế và xây dựng cơ sở dữ liệu tại Đài tiếng nói Việt Nam” nhằm mục đích nâng cao hiệu quả trao đổi tin, bài giữa mạng máy tính phát thanh với báo VOVNews và báo Tiếng nói Việt Nam, giữa các phóng viên biên tập viên và đảm bảo an toàn cho mạng máy tính phát thanh

Tuy đề tài chưa được triển khai thực tế, song nó đã cho thấy được hiệu quả trong việc cung cấp tin cho các đơn vị trên và khả năng triển khai trong thực tế là hoàn toàn có thể.Với đề tài này, việc cung cấp dữ liệu sẽ trở nên đơn giản hơn, thời gian lấy tin sẽ được rút ngắn lại

Trang 9

CHƯƠNG 1: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

1.1 Khái niệm cơ sở dữ liệu

Tập hợp dữ liệu được lưu trữ trong máy tính theo một quy định nào đó được gọi là cơ sở dữ liệu ( CSDL)

Cơ sở dữ liệu là một bộ sưu tập rất lớn về các loại dữ liệu tác nghiệp, bao gồm các loại dữ liệu âm thanh, tiếng nói, văn bản, đồ họa, hình ảnh…

Cơ sở dữ liệu là tài nguyên thông tin dùng chung cho nhiều người Bất kỳ người sử dụng nào trên mạng máy tính, tại các thiết bị đầu cuối, về nguyên tắc có quyền truy nhập khai thác toàn bộ hay một phần dữ liệu theo chế độ trực tuyến hay tương tác mà không phụ thuộc vào vị trí địa lý của người sử dụng với các tài nguyên đó

Cơ sở dữ liệu được các hệ ứng dụng khai thác bằng ngôn ngữ con dữ liệu hoặc bằng các chương trình ứng dụng để xử lý, tìm kiếm, tra cứu, sửa đổi bổ sung hay loại bỏ dữ liệu Tìm kiếm và tra cứu thông tin là một trong những chức năng quan trọng và phổ biến nhất của các dịch vụ cơ sở dữ liệu Hệ quản trị CSDL ( Database Mangament System – DBMS) là phần mềm điều khiển các chiến lược truy nhập CSDL Khi người sử dụng đưa ra yêu cầu truy nhập bằng một ngôn ngữ con dữ liệu nào đó, DBMS tiếp nhận và thực hiện các thao tác trên CSDL lưu trữ Đối tượng nghiên cứu của CSDL là các thực thể và mối quan hệ giữa các thực thể

1.2 Sự cần thiết của các hệ cơ sở dữ liệu

Giảm bớt dư thừa dữ liệu trong lưu trữ : Trong các ứng dụng lập trình truyền

thống, phương pháp tổ chức lưu trữ dữ liệu vừa tốn kém, lãng phí bộ nhớ và các thiết bị lưu trữ, vừa dư thừa thông tin lưu trữ, nếu tổ chức lưu trữ theo lý thuyết CSDL thì có thể hợp nhất các tệp lưu trữ và các chương trình ứng dụng có thể chia

sẻ tài nguyên trên cùng một hệ CSDL

Trang 10

Tổ chức lưu trữ dự liệu theo lý thuyết CSDL sẽ tránh được sự không nhất quán trong lưu trữ dữ liệu và đảm bảo được tính toàn vẹn của dữ liệu : Nếu một

thuộc tính được mô tả trong nhiều tệp dữ liệu khác nhau và lặp lại nhiều lần trong các bản ghi, khi thực hiện việc cập nhật, sửa đổi, bổ sung sẽ không sửa hết nội dung các mục đó Nếu dữ liệu càng nhiều thì sự sai sót khi cập nhật, bổ sung càng lớn Khả năng xuất hiện mâu thuẫn, không nhất quán thông tin càng nhiều, dẫn đến không nhất quán dữ liệu trong lưu trữ Tất yếu kéo theo sự dị thường thông tin, thừa, thiếu và mâu thuẫn thông tin

Đảm bảo sự nhất quán dữ liệu trong lưu trữ : đảm bảo tính toàn vẹn dữ liệu

1.3 Mô hình kiến trúc tổng quát cơ sở dữ liệu 3 mức

Mô hình kiến trúc 3 mức của hệ CSDL gồm : Mức trong, mức mô hình dữ liệu và mức ngoài Giữa các mức tồn tại các ánh xạ quan niệm trong và ánh xạ quan niệm ngoài Trung tâm của hệ thống là mức quan niệm, tức là mức mô hình dữ liệu Ngoài ra còn có khái niệm người sử dụng, hệ quản trị CSDL và người quản trị CSDL

Trang 11

Hình 1.1: Mô hình kiến trúc tổng quát Người sử dụng: là những người ở tại thiết bị đầu cuối truy cập vào các hệ

CSDL theo chế độ trực tuyến hay tương tác bằng các chương trình ứng dụng hay bằng ngôn ngữ con dữ liệu Người sử dụng có thể truy nhập toàn bộ hay một phần CSDL mà họ quan tâm, phụ thuộc vòa quyền truy nhập của họ

Mô hình ngoài: Mô hình ngoài là nội dung thông tin của CSDL dưới cách

nhìn của người sử dụng

Mô hình dữ liệu: hay còn gọi là mô hình quan niệm là cách nhìn dữ liệu một

cách tổng quát của người sử dụng Nghĩa là có rất nhiều cách nhìn dữ liệu ở mô hình ngoài nhưng chỉ có duy nhất một cách nhìn dữ liệu ở mức quan niệm Biểu diễn toàn bộ thông tin trong CSDL là duy nhất

Sơ đồ quan niệm luôn luôn ổn định, nghĩa là nếu mô tả thêm một kiểu thực thể đặc biệt sát nhập vào sơ đồ dữ liệu, không được làm thay đổi cơ sở dữ liệu cũ Nếu sơ

đồ dữ liệu không ổn định thì các ứng dụng và mô hình ngoài cũng không ổn định

Trang 12

Mô hình trong: Mô hình trong là mô hình lưu trữ vật lý dữ liệu Chỉ có duy

nhất một cà chỉ một cách biểu diễn CSDL dưới dạng lưu trữ vật lý Mô hình trong là cách biểu diễn cơ sở dữ liệu trìu tượng ở mức thấp nhất

Ánh xạ quan niệm trong được xác định giữa mô hình trong và mô hình dữ

liệu nhằm bảo đảm tính độc lập của dữ liệu Nếu cấu trúc lưu trữ của CSDL thay đổi, nghĩa là thay đổi định nghĩa về cấu trúc lưu trữ dữ liệu thì ánh xạ này phải cũng thay đổi tương ứng sao cho sơ đồ quan niệm ( mô hình dữ liệu) không thay đổi

Ánh xạ quan niệm – ngoài: là ánh xạ được xác định tương ứng một – một

giữa mô hình ngoài của người sử dụng với mô hình dữ liệu

Kiến trúc 3 mức có thể được sử dụng để giải thích khái niệm về độc lập dữ liệu Độc lập dữ liệu là khả năng thay đổi lược đồ ở một mức nào đó của hệ thống cơ sở

dữ liệu mà không cần phải thay đổi lược đồ ở mức cao hơn Ta có thể định nghĩa 2 kiểu của độc lập dữ liệu:

- Độc lập dữ liệu logic (Logical data independence): cho phép thay đổi lược đồ khái niệm mà không cần phải thay đổi lược đồ mức ngoài hoặc những chương trình ứng dụng Chúng ta có thể thay đổi lược đồ khái niệm để mở rộng (thêm các trường dữ liệu, các bản ghi) hoặc thu nhỏ cơ sở dữ liệu (xóa các trường dữ liệu, các bản ghi)

- Độc lập dữ liệu vật lý (Physical data independence): cho phép thay đổi lược đồ mức trong mà không cần thay đổi lược đồ khái niệm Có khi chúng ta cần thay đổi lược đồ mức trong vì các file vật lý đôi khi cần tổ chức lại để tăng hiểu quả thực hiện Nếu kiểu dữ liệu không thay đổi thì chúng ta không cần thay đổi lại lược đồ khái niệm

1.4 Hệ quản trị cơ sở dữ liệu (HQTCSDL)

HQTCSDL là tập hợp các phần mềm cho phép định nghĩa các cấu trúc để lưu trữ thông tin trên máy, nhập dữ liệu, thao tác trên các dữ liệu đảm bảo an toàn và bí mật của dữ liệu

Trang 13

Định nghĩa cấu trúc: Định nghĩa cấu trúc CSDL bao gồm việc xác định kiểu

dữ liệu, cấu trúc và những ràng buộc cho dữ liệu được lưu trữ trong CSDL

Nhập dữ liệu: là việc lưu trữ dữ liệu vào các thiết bị lưu trữ trung gian được

điều khiển bằng HQTCSDL

Thao tác dữ liệu: Thao tác trên CSDL bao gồm những chức năng như truy

xuất CSDL để tìm kiếm thông tin cần thiết, cập nhật CSDL và tổng hợp những báo cáo từ dữ liệu

1.5 Các đối tượng sử dụng CSDL

Tùy vào đối tượng sử dụng mà ta có những quy mô CSDL khác nhau từ một CSDL mang tính cá nhân như danh bạ, điện thoại cá nhân cho đến hệ thống CSDL quản lý tài chính của ngân hàng, điều hàh chuyến bay cho sân bay quốc tế thì cần rất nhiều người tham gia xây dựng, bảo trì CSDL và hàng trăm người sử dụng

1.5.1 Đối tượng trực tiếp

1.5.1.1 Quản trị cơ sở dữ liệu

Trong một tổ chức có nhiều người cùng sử dụng chung một nguồn dữ liệu thì nhất thiết phải có một người đứng đầu quản lý, chịu trách nhiệm đối với nguồn

dữ liệu này Đó chính là người quản trị CSDL ( Database Administrator _ DBA) DBA có nhiệm vụ tổ chức nội dung của cơ sở dữ liệu, tạo và phân quyền cho người sử dụng, đưa ra yêu cầu về phần cứng và phần mềm…nếu cần thiết DBA chịu trách nhiệm bảo vệ an toàn, Backup thông tin…khi có sự cố

1.5.1.2 Thiết kế cơ sở dữ liệu

Người thiết kế CSDL chịu trách nhiệm:

- Xác định những dữ liệu nào cần lưu trữ trong CSDL

- Lựa chọn những cấu trúc thích hợp để biểu diễn và lưu trữ những dữ liệu này

- Phỏng vấn tất cả những người sử dụng CSDL sau này để hiểu được những yêu cầu của họ đối với CSDL

Trang 14

- Tiến hành phân tích thiết kế hệ thống sau khi thống nhất được tất cả các yêu cầu của người sử dụng

Lập trình ứng dụng:

- Chạy thử chương trình (test)

- Chữa lỗi và gỡ rối chương trình (debug)

- Viết tài liệu, hướng dẫn sử dụng

- Bảo trì hệ thống

1.5.2 Đối tượng gián tiếp

Ngoài những đối tượng trực tiếp tham gia vào một CSDL cụ thể như đã nói ở trên, còn có một đội ngũ những người phân tích, phát triển, và thực hiện tạo ra môi trường hệ thống và phần mềm của hệ quản trị cơ sở dữ liệu Những người này không trực tiếp thao tác trên một hệ quản trị CSDL nào cụ thể Họ là:

Trang 15

1.6 Các mô hình cơ sở dữ liệu

1.61 Khái niệm kiểu mô hình dữ liệu (Data model)

Một mô hình dữ liệu là một hệ thống hình thức toán học, bao gồm:

- Hệ thống các ký hiệu biểu diễn dữ liệu

- Tập hợp các phép toán thao tác trên cơ sở dữ liệu

- Tính ổn định khi thiết kế mô hình dữ liệu

- Tính đơn giản có nghĩa là dễ hiểu và dễ thao tác

1.6.2 Khái niệm kiểu mô hình CSDL phân cấp (Hierarchy Data Model)

Trong mô hình CSDL phân cấp, dữ liệu được biểu diễn bằng cấu trúc cây Một CSDL phân cấp là tập các cây (rừng cây) Trong mỗi một cây chỉ chứa một và chỉ một xuất hiện của bản ghi gốc, gọi là bản ghi đỉnh, và dưới nó là tập các xuất hiện của các bản ghi phụ thuộc Các bản ghi phụ thuộc có thể là tùy ý hoặc không tồn tại Một bản ghi gốc có thể có một số bất kỳ các bản ghi phụ thuộc Các bản ghi phụ thuộc có thể có một số các bản ghi phụ thuộc mức thấp hơn

Ngôn ngữ thao tác trên CSDL phân cấp

gốc trỏ xuống các bản ghi phụ thuộc, hay từ bản ghi cha trỏ xuống bản ghi con biểu diễn mối quan hệ giữa các bản ghi trong mô hình phân cấp

gốc

đấy được chứa trong một xuất hiện kiểu bản ghi phụ thuộc duy nhất thì khi loại bỏ sẽ làm mất thông tin về vấn đề trên

Trang 16

- Sửa đổi: Nếu cần phải sửa đổi một số thông tin trong các xuất hiện kiểu bản ghi phụ thuộc thì phải duyệt toàn bộ mô hình dữ liệu, bằng cách phải

dò tìm trong từng xuất hiện Như vậy khả năng dò tìm không hết có thể xảy ra, sẽ dẫn đến sự xuất hiện mâu thuẫn thông tin và không nhất quán

dữ liệu trong lưu trữ

khi và chỉ khi tồn tại xuất hiện kiểu bản ghi gốc

Các truy vấn thường đối xứng nhau nhưng kết quả của các phép tìm kiếm không đối xứng Vì vậy trong cấu trúc lưu trữ của mô hình phân cấp rất hạn chế khi thực hiện việc tìm kiếm thông tin Nếu CSDL phân cấp càng lớn thì tính phức tạp càng cao Gây nhiều phức tạp cho người sử dụng, nhất là đối với lập trình viên phải mất nhiều thời gian công sức để lập trình và bảo trì, hiệu chỉnh các chương trình Tóm lại thông tin tổ chức lưu trữ theo mô hình phân cấp được biểu diễn dữ liệu trong một tệp duy nhất theo cấu trúc cây Trong mỗi một cây, tồn tại một và chỉ duy nhất một xuất hiện kiểu bản ghi gốc và cùng với nó có một tập các xuất hiện kiểu bản ghi phụ thuộc Khi thao tác trên CSDL phân cấp bẳng ngôn ngữ thao tác

dữ liệu, có nhiều khả năng xảy ra thừa hoặc thiếu thông tin, mâu thuẫn thông tin dẫn đến sự không nhất quán dữ liệu trong lưu trữ Tính toàn vẹn của dữ liệu không được đảm bảo Các câu hỏi – đáp, tìm kiếm không có tính đối xứng Tính độc lập của dữ liệu dễ bị vi phạm Tính ổn định không cao

1.6.3 Mô hình CSDL mạng (Network Data Model)

1.6.3.1 Cấu trúc biểu diễn dữ liệu mạng

Mô hình dữ liệu mạng là mô hình thực thể quan hệ, trong đó các mối liên kết

bị hạn chế trong kiểu một – một và nhiều – một Trong mô hình CSDL mạng, dữ liệu được biểu diễn trong các bản ghi liên kết với nhau bằng các mối nối liên kết (link) tạo thành một đồ thị có hướng CSDL mạng có cấu trúc tổng quát hơn so với cấu trúc CSDL phân cấp Mỗi một xuất hiện của một bản ghi có thể có rất nhiều các xuất hiện kiểu bản ghi trên nó và các xuất hiện kiểu bản ghi dưới nó Ngoài các kiểu

Trang 17

bản ghi biểu diễn dữ liệu còn có kiểu bản ghi các phần tử kết nối, biểu diễn sự kết hợp giữa các biểu diễn dữ liệu Cho phép mô hình hóa tương ứng nhiều – nhiều

1.6.3.2 Ngôn ngữ dữ liệu thao tác trên CSDL mạng

- Chèn thêm: Khi thêm các kiểu bản ghi mới, có thể con trỏ tự trỏ vào nó

kiểu bản ghi kết nối trong mô hình CSDL mạng mà không ảnh hưởng tới tính nhất quán và tính toàn vẹn dữ liệu

và cũng không làm xuất hiện mâu thuẫn dữ liệu

cũng đối xứng với nhau như trong mô hình CSDL quan hệ

Mô hình CSDL mạng là mô hình đối xứng, vì vậy các câu hỏi và kết quả các câu hỏi tìm kiếm thường đối xứng với nhau Khi thực hiện các phép lưu trữ như chèn thêm, loại bỏ hay sửa đổi dữ liệu trong mô hình CSDL mạng vẫn đảm bảo được sự nhất quán của dữ liệu và tính toàn vẹn của dữ liệu Cách tiếp cận CSDL mạng là phương pháp biểu diễn dữ liệu trong các tệp theo cấu trúc dữ liệu chặt chẽ Các xuất hiện kiểu bản ghi được kết nối với nhau bằng các xuất hiện kiểu bản ghi liên kết Khi thao tác các phép cập nhật không xuất hiện các dị thường thông tin Tuy nhiên cấu trúc dữ liệu trong mô hình CSDL mạng quá phức tạp vì quá nhiều liên kết xuất hiện với nhau bằng các xuất hiện kết nối Vì vậy việc thiết kết và cài đặt CSDL mạng thường rất khó khăn, nhất là xây dựng các phép toán thao tác trên

1.6.4 Khái niệm mô hình CSDL quan hệ

1.6.4.1 Khái niệm

Mô hình CSDL quan hệ lần đầu tiên được E.F.Codd và tiếp sau đó được công

ty IBM giới thiệu vào năm 1970 Ngày nay, hầu hết các tổ chức đã áp dụng CSDL quan hệ để quản lý dữ liệu trong đơn vị mình

Trang 18

Mô hình cơ sở dữ liệu quan hệ là cách thức biểu diễn dữ liệu dưới dạng bảng hay còn gọi là quan hệ, mô hình được xây dựng dựa trên cơ sở lý thuyết đại số quan

hệ

1.6.4.2 Ngôn ngữ thao tác CSDL quan hệ

Ngôn ngữ con dữ liệu kiểu quan hệ là tập các phép toán có các cấu trúc quan

hệ thao tác trên các dữ liệu dưới dạng quan hệ Dữ liệu được biểu diễn một cách duy nhất Ngôn ngữ con dữ liệu gồm nhóm các phép toán tìm kiếm và nhóm các phép toán cập nhật, lưu trữ

- Các phép toán lưu trữ: là các phép toán chèn thêm, sửa đổi và loại bỏ, là các toán tử được xây dựng trên đại số quan hệ Các phép toán này có khả năng xử lý tập hợp theo lô, các quan hệ được xem như toán hoạng trong các toán tử Khi thực hiện các phép lưu trữ không có khả năng xuất hiện

dị hường thông tin và không làm mất sự nhất quán dữ liệu, Bằng ngôn ngữ con dữ liệu kiểu quan hệ, thao tác trên các quan hệ bảo đảm được tính toàn vẹn dữ liệu

một quan hệ Vì vậy với cách tiếp cận quan hệ, người ta hoàn toàn có khả năng xây dựng dễ dàng một ngôn ngữ con dữ liệu rất đơn giản nhưng cũng rất mạnh ở mức tập hợp nhằm cung cấp các khả năng thuận tiện cho người sử dụng Đây cũng là một trong những điểm mạnh của cách tiếp cận quan hệ và ngôn ngữ đại số quan hệ Các câu hỏi tìm kiếm là đối xứng nhau

1.6.4.3 Các tính chất của một quan hệ

- Giá trị đưa vào cột là đơn nhất

- Giá trị trong cùng một cột phải thuộc cùng một miền giá trị (cùng kiểu)

Trang 19

1.6.4.4 Các ràng buộc toàn vẹn trên quan hệ

Ràng buộc là những quy tắc được áp đặt lên trên dữ liệu đảm bảo tính tin cậy

và độ chính xác của dữ liệu Các luật toàn vẹn được thiết kế để giữ cho dữ liệu phù hợp và đúng đắn

Có 4 kiểu ràng buộc chính: ràng buộc miền giá trị (Domain Constraints), ràng buộc khóa (Key Constraints), ràng buộc thực thể (Entity Integrity Constraints) và ràng buộc toàn vẹn tham chiếu (Referential Integrity Constraints)

a Ràng buộc miền giá trị:

Là một hợp các kiểu dữ liệu và những giá trị giới hạn mà thuộc tính có thể nhận được Thông thường việc xác định miền giá trị của các thuộc tính bao gồm

một số các yêu cầu sau: tên thuộc tính, kiểu dữ liệu, dộ dài dữ liệu, khuôn dạng của

dữ liệu, các giá trị giới hạn cho phép, ý nghĩa, có duy nhất hay không, có cho phép giá trị rỗng hay không

b Ràng buộc khóa:

là nguồn của một phụ thuộc hàm mà đích lần lượt là các thuộc tính còn lại

nhiều thuộc tính có thể dùng được làm khóa chính Các thuộc tính đó được gọi là khóa dự tuyển Khóa dự tuyển cần thỏa mãn 2 tính chất sau: + Xác định duy nhất

+ Không dư thừa: Khi xóa đi bất kỳ một thuộc tính nào của khóa đều phá hủy tính xác định duy nhất của khóa

bảng được đưa sang làm thuộc tính bên bảng khác, thuộc tính đó gọi là khóa ngoại Khóa ngoại đóng vai trò thể hiện liên kết giữa hai bảng

trong bảng

Trang 20

c Ràng buộc thực thể

Mỗi một lược đồ quan hệ R, chúng ta phải xác định khóa chính của nó Khóa chính trong lược đồ quan hệ được gạch chân ở phía dưới của thuộc tính

d Ràng buộc toàn vẹn tham chiếu

Một bộ giá trị trong quan hệ tham chiếu tới một bộ giá trị đã tồn tại trong một quan hệ khác

Ràng buộc toàn vẹn tham chiếu phải xác định trên 2 quan hệ: quan hệ tham

chiếu (referencing relation) và quan hệ được tham chiếu (referenced relation)

Trang 21

CHƯƠNG 2: KỸ THUẬT THIẾT KẾ CƠ SỞ DỮ LIỆU

2.1 Các bước thiết kế một cơ sở dữ liệu

Sau khi tất cả các yêu cầu đã được tập hợp và phân tích, bước tiếp theo là xây dựng lược đồ khái niệm(conceptual schema) cho cơ sở dữ liệu Lược đồ khái niệm

là nơi biểu diễn xúc tích những yêu cầu của người sử dụng và biểu diễn chi tiết

Trang 22

những kiểu thực thể (entity types), quan hệ (relationships) và những ràng buộc (constraints) của dữ liệu, phần này sử dụng những khái niệm được cung cấp trong

mô hình dữ liệu mức cao Mô hình dữ liệu mức cao là mô hình dữ liệu được dùng

để giao tiếp với người sử dụng bình thường vì thế nó rất dễ hiểu, nó chỉ ra cái gì cần được lưu trong cơ sở dữ liệu chứ không chỉ ra cụ thể dữ liệu được thực hiện như thế nào

Bước tiếp theo trong quá trình thiết kế là cài đặt cơ sở dữ liệu trên một mô hình dữ liệu thực hiện, sử dụng các hệ quản trị cơ sở dữ liệu nào đó Vì thế chúng ta cần thiết phải chuyển từ mô hình dữ liệu mức cao sang những mô hình dữ liệu thực hiện Bước này được gọi là thiết kế logic (logical design) hoặc ánh xạ mô hình dữ liệu (data model mapping) và kết quả của bước này là lược đồ cơ sở dữ liệu trong

mô hình cơ sở dữ liệu thực hiện

Bước cuối cùng là thiết kế vật lý cho cơ sở dữ liệu(physical design), bao gồm việc thiết kế những cấu trúc lưu trữ dữ liệu bên trong, đường dẫn truy cập, tổ chức file của các file dữ liệu

2.2 Mô hình dữ liệu quan hệ ER(Entity Relationship Model)

2.2.1 Khái niệm mô hình dữ liệu quan hệ E-R

Mô hình E-R là một mô tả logic chi tiết dữ liệu của một tổ chức hay một lĩnh vực nghiệp vụ Nó giúp nhà thiết kế cơ sở dữ liệu mô tả thế giới thực gần gũi với quan niệm và cách nhìn nhận bình thường của con người Nó là công cụ để phân tích thông tin nghiệp vụ

Mục đích của mô hình E-R:

thống: người quản lý, người dùng cuối, người thiết kế hệ thống

- Xác định các xử lý về dữ liệu cũng như các ràng buộc trên các dữ liệu

- Giúp đỡ việc thể hiện cơ sở dữ liệu về mặt kiến trúc: Sử dụng thực thể và các mối liên kết giữa các thực thể Biểu diễn mô hình quan hệ thực thể bằng một sơ đồ

Trang 23

2.2.2 Kiểu thực thể (Entity type), thuộc tính (Attributes), khóa (Keys)

2.2.2.1 Thực thể

Các thực thể vốn tồn tại trong thế giới thực Một thực thể là một khái niệm để chỉ một lớp các đối tượng cụ thể hay các khái niệm có cùng những đặc tính mà chúng ta quan tâm

Tên thực thể là tên của một đối tượng Trong 1 CSDL, tên thực thể không được trùng nhau

Ký hiệu: Trong mô hình E-R, thực thể được biểu diễn bằng một hình chữ nhật bên trong

Các kiểu thuộc tính trong mô hình ER:

- Thuộc tính đơn (simple) hay còn gọi là thuộc tính nguyên tử (Atomic): chỉ

có một giá trị trong một thuộc tính của một thực thể

attribute): thuộc tính lưu trữ là thuộc tính mà giá trị của nó phải được lưu

Trang 24

trữ, còn thuộc tính suy diễn là thuộc tính mà giá trị của nó có thể suy ra từ giá trị của những thuộc tính khác

thực thể có thể không có giá trị tương ứng cho một thuộc tính hoặc thuộc tính có giá trị nhưng giá trị này chưa được biết đến Trong trường hợp này một giá trị đặc biệt được tạo ra, đó là giá trị Null

2.2.2.3 Kiểu thực thể, khóa và tập giá trị

Kiểu thực thể: là tập hợp những thực thể có cùng các thuộc tính căn bản

Khóa: Mỗi một kiểu thực thể phải có một hoặc một tập các thuộc tính mang giá trị duy nhất (unique value) để phân biệt giữa bản ghi này với bản ghi khác Thuộc tính đó gọi là khóa của kiểu thực thể (Key attribute) Khóa có thể gồm một hoặc một tập các thuộc tính

Tập giá trị hay còn gọi là miền xác định (Domain): là tập những giá trị mà thuộc tính có thể nhận được

Tập giá trị không được biểu diễn trong lược đồ ER

Hình 2.2 : Một số ký hiệu của thuộc tính

Trang 25

2.2.3 Liên kết, kiểu liên kết và các ràng buộc liên kết

2.2.3.1 Định nghĩa liên kết và kiểu liên kết

Liên kết (Relationship) dùng để chỉ mối quan hệ giữa hai hay nhiều thực thể khác nhau

Những liên kết của cùng một kiểu được nhóm lại gọi là kiểu liên kết (Relationship Type)

Trong lược đồ ER, người ta sử dụng hình thoi và bên trong ghi tên kiểu liên kết để ký hiệu kiểu liên kết

Ký hiệu:

2.2.3.2 Bậc của kiểu liên kết

Là số lượng các kiểu thực thể tham gia vào liên kết Có các kiểu liên kết sau:

- Kiểu liên kết bâc 1 là mối quan hệ giữa cùng 1 kiểu thực thể

- Kiểu liên kết bậc 2 là mối liên kết giữa hai kiểu thực thể

- Kiểu liên kết bậc 3 là mối liên kết giữa 3 kiểu thực thể

Trang 26

Tỷ số 1:N Một thực thể của kiểu A có lieenkeets với nhiều thực thể của kiểu B Nhưng một thực thể của kiểu B lại có liên kết duy nhất với thực thể của kiểu A

Tỷ số M:N: Một thực thể của kiểu A có liên kết với nhiều thực thể của kiểu B và ngược lại

b Ràng buộc về sự tham gia liên kết (Participation constraint)

Ràng buộc về sự tham gia liên kết được xác định trên từng thực thể trong từng kiểu liên kết mà thực thể đó tham gia, bao gồm: lực lượng tham gia toàn bộ (total participation) và lực lượng tham gia bộ phận (partial participation)

Trong sơ đồ ER, kiểu thực thể có lực lượng tham gia liên kết toàn bộ được nối với liểu liên kết bằng gạch nối kép, còn kiểu thực thể có lực lượng tham gia bộ phận được nối với kiểu liên kết bằng gạch nối đơn

c Lực lượng tham gia liên kết

Trong mối liên kết giữa các thực thể, ta cần quan tâm đến lực lượng tham gia liên kết, đó là số bản ghi lớn nhất và nhỏ nhất của thực thể tham gia vào liên kết đó

Ký hiệu: Thêm (min, max) vào mối liên kết

Trong đó:

- min là số bản ghi nhỏ nhất tham gia vào liên kết

- max là số bản ghi lớn nhất tham gia vào liên kết

d Thuộc tính của kiểu liên kết

Kiểu liên kết cũng có thể có thuộc tính Ví dụ: Số giờ nhân viên làm việc cho

dự án (hours) là thuộc tính của mối liên kết giữa hai kiểu thực thể EMPLOYEE và PROJECT

Trang 27

2.2.4 Kiểu thực thể yếu (Weak Entity)

Kiểu thực thể yếu là kiểu thực thể tồn tại phụ thuộc vào thực thể khác (thực thể làm chủ hay còn gọi là xác định nó) Kiểu thực thể yếu không có khóa

Kiểu thực thể yếu được xác định bằng:

- Một hay một tập các thuộc tính xác định kiểu thực thể yếu

Kiểu thực thể yếu luôn có lực lượng tham gia liên kết toàn bộ

2.2.6 Các bước xây dựng sơ đồ ER

a Liệt kê, chính xác hóa và lựa chọn thông tin cơ sở

Xác định một thực thể bao gồm tất cả các thuộc tính Chính xác hóa các thuộc tính đó Thêm các từ cần thiết để thuộc tính đó mang đầy đủ ý nghĩa không gây nhầm lẫn, hiểu nhầm Các thuộc tính phải đặc trưng cho một lớp các đối tượng được xét Chọn một thuộc tính một lần nều lặp lại thì bỏ qua Một thuộc tính phải là

sơ cấp nếu giá trị của nó có thể suy ra từ các thuộc tính khác thì bỏ qua

b Xác định các thực thể và các thuộc tính của nó, sau đó xác định thuộc tính định danh cho từng thực thể

Duyệt danh sách các thuộc tính từ trên xuống để tìm ra thuộc tính tên gọi Mỗi thuộc tính tên gọi sẽ tương ứng với một thực thể Xác định thuộc tính định danh cho từng thực thể

c Xác định mối quan hệ và các thuộc tính riêng của nó

d Vẽ sơ đồ mô hình thực thể - mối quan hệ, xác định lực lượng tham gia liên kết cho các thực thể

e Chuẩn hóa sơ đồ và thu gọn sơ đồ

Trang 28

- Vẽ sơ đồ

và các thuộc tính phụ thuộc thời gian → sơ đồ chỉ còn các thực thể đơn và các thuộc tính đơn

2.3 Chuyển từ mô hình ER sang mô hình quan hệ

Như chúng ta đã biết, mô hình ER là mô hình dữ liệu mức khái niệm Sau quá trình khảo sát thiết kế, ta thu được mô hình này Từ mô hình này ta có thể sử dụng các quy tắc chuyển sang mô hình quan hệ để thực hiện quản lý cơ sở dữ liệu trên máy tính

Các bước thực hiện:

B1: Mỗi kiểu thực thể bình thường trong mô hình ER trở thành một quan hệ Quan hệ đó bao gồm tất cả các thuộc tính đơn giản và thuộc tính tổ hợp của thực thể Thuộc tính định danh của thực thể là khóa chính của quan hệ

B2: Cho mỗi thực thể yếu trong mô hình ER tạo thanh một quan hệ R, tất cả các thuộc tính đơn giản của thực thể yếu trở thành thuộc tính của R Thêm vào đó, thuộc tính định danh của thực thể chủ trở thành khóa ngoại của R Khóa chính của

R là sự kết hợp giữa thuộc tính định danh của thực thể chủ và thuộc tính định danh của thực thể yếu

B3: Cho mỗi mối liên kết 1-1 trong mô hình ER

kết trở thành quan hệ S, thực thể còn lại trở thành quan hệ T

- Thuộc tính của mối quan hệ S_T trở thành thuộc tính của S

B4: Cho mỗi mối liên kết 1_N trong mô hình ER Chuyển khóa chính của quan hệ phía 1 sang làm khóa ngoại của quan hệ phía N

B5: Cho mỗi mối liên kết MN, sinh ra một quan hệ mới R, chuyển khóa chính của hai quan hệ phía M và N thành khóa ngoai của quan hệ R, khóa chính của R là sự kết hợp của hai khóa ngoại

Trang 29

B6: Nếu gặp thuộc tính đa trị:

- Thuộc tính đinh danh ( hoặc 1 phần của thuộc tính đinh danh) của thực thể chính chuyển thành khóa ngoại của quan hệ mới

ngoại do thực thể chính chuyển sang

B7: Cho mỗi mối liên kết có bậc (>2), tạo ra quan hệ mới (R), khóa chính xủa các quan hệ tham gia liên kết được đưa làm khóa ngoại của quan hệ R và các khóa ngoại này đồng thời đóng vai trò là khóa chính của R

B8: Xử lý quan hệ giữa lớp cha/ lớp con và chuyên biệt hóa hoặc tổng quát hóa

2.4 Phụ thuộc hàm (Functional Dependencies)

Cho trước một quan hệ R, chúng ta nói rằng, thuộc tính Y của R là phụ thuộc hàm vào thuộc tính X của R nếu và chỉ nếu mỗi giá trị của X trong R được kết hợp đúng một giá trị của Y trong R tại bất kỳ thời điểm nào

hệ tốt

quan giữa các thuộc tính

Theo lý thuyết quan hệ ta có thể định nghĩa phụ thuộc hàm như sau:

ƒ Cho R(U) là một lược đồ quan hệ với U={A1,….An} là tập thuộc tính X

và Y là tập con của U

ƒ Nói rằng X → Y ( đọc là X xác định hàm Y hoặc Y phụ thuộc hàm vào X) nếu r là một quan hệ xác định trên R(U) sao cho đối với bất kỳ hai bộ t1 và t2 ∈ r mà t1[X] =t2[X] thì t1[Y] = t2[Y]

ƒ Khái niệm phụ thuộc hàm đầy đủ:

Trang 30

Thuộc tính Y được gọi là phụ thuộc hàm đầy đủ vào thuộc tính X nếu nó là phụ thuộc hàm vào X và không phụ thuộc hàm vào bất kỳ một tập con nào của thuộc tính X ( X phải là thuộc tính ghép)

2.5 Các dạng chuẩn của quan hệ

2.5.1 Sự cần thiết chuẩn hóa dữ liệu

Khi thực hiện các phép lưu trữ trên các quan hệ chưa được chuẩn hóa thường xuất hiện các dị thường thông tin Nghĩa là trong dữ liệu lưu trữ, sự dư thừa, mất dữ liệu, mâu thuẫn hay không nhất quán dữ liệu có thể xảy ra khi cập nhật, bổ sung hay sửa đổi dữ liệu Dị thường thông tin là nguyên nhân gây cản trở cho việc tìm kiếm hỏi đáp thông tin Mục tiêu của chuẩn hóa dữ liệu là triệt tiêu mức cao nhất khả năng xuất hiện các dị thường thông tin khi thực hiện các phép lưu trữ Có như vậy mục tiêu của các hệ cơ sở mới được bảo đảm Dữ liệu lưu trữ phản ánh thế giới hiện thực khách quan, đầy đủ hơn và sinh động hơn

Hình 2.3 : Mối quan hệ giữa các lớp dạng chuẩn và lược đồ quan hệ

Khi thiết kế và cài đặt các hệ CSDL, chuẩn hóa là quá trình khảo sát danh sách các thuộc tính và áp dụng tập các quy tắc phân tích vào danh sách đó, biến đổi chúng thành nhiều tập nhỏ hơn sao cho:

- Tối thiểu việc lặp lại

Trang 31

Quá trình chuẩn hóa là quá trình tách lược đồ quan hệ về một nhóm tương đương các lược đồ quan hệ chiếu sao cho khi kết nối tự nhiên không làm tổn thất thông tin và bảo toàn được các phụ thuộc hàm Cơ sở chuẩn hóa dựa trên các khái niệm về phụ thuộc hàm, phụ thuộc đầy đủ, khóa, các thuộc tính không khóa… Một

mô hình được xem là mô hình chuẩn hóa tốt, lý tưởng là mô hinhfh ở đó mỗi một thuộc tính không khóa phụ thuộc hàm vào khóa Quan hệ chuản hóa là những quan

hệ mà mỗi giá trị thuộc tính trong bộ là những thuộc tính nguyên tố, không phân chia ra được Nói cách khác, mỗi tọa độ của hàng và cột trong quan hệ chỉ có đúng một giá trị chứ không phải là một tập các giá trị

2.5.2 Định nghĩa các dạng chuẩn

2.5.2.1 Dạng chuẩn 1 (First Nornal Form_1NF)

a Định nghĩa

Một quan hệ ở dạng chuẩn 1 nếu các giá trị của tất cả thuộc tính trong quan

hệ là nguyên tử ( tức là chỉ có 1 giá trị tại một thời điểm)

b Nhận xét:

Quan hệ ở dạng chuẩn 1 có tồn tại sự dư thừa dữ liệu

2.5.2.2 Dạng chuẩn 2 ( Second Nornal Form_2NF)

tính

2.5.2.3 Dạng chuẩn 3 ( Third Nornal Form_3NF)

Trang 32

a Định nghĩa

Một quan hệ ở dạng chuẩn 3 nếu :

hàm bắc cầu nếu tồn tại hai phụ thuộc hàm Y→X và X→Z

b Nhận xét:

3

dự tuyển gối lẫn nhau, hoặc quan hệ có thuộc tính không khóa xác định một thuộc tính khóa

2.5.2.4 Dạng chuẩn Boyce_Codd(Boyce-Codd Normal Form)

Cần nhấn mạnh là bản thân các quan hệ 1NF và 2NF không thực sự quan trong, chúng chỉ là các điểm trung gian trên đường dẫn tới 3NF và 4NF

Cho đến nay chúng ta đã thiết kế các quan hệ của CSDL sao cho chúng không còn các phụ thuộc hàm không đầy đủ vào khóa chính cũng như không còn phụ thuộc hàm bắc cầu vào khóa chính vì các dạng phụ thuộc hàm này dẫn đến các

dị thường trong các phép toán lưu trữ

Tuy nhiên những định nghĩa này không xem xét các trường hợp nếu như các phụ thuộc hàm này tồn tại trên các khóa ứng cử nếu có

Boyce và Codd đã xem xét các phụ thuộc hàm của cả các khóa ứng cử trong quan hệ và đã đưa ra một định nghĩa mà được gọi là dạng chuẩn Boyce_Codd (Boyce-Codd Normal Form –BCNF)

tính khác nào đó là phụ thuộc hàm đầy đủ vào nó là một thuộc tính quyết định (determinant)

Trang 33

- Quan hệ đã được chuẩn hóa R được gọi là ở dạng chuẩn BCNF nếu mọi thuộc tính quyết định đều là khóa ứng cử (candidate key)

Xét các trường hợp khác nhau để thấy rõ tác dụng của định nghĩa mới BCNF

a Trường hợp 1:

• Quan hệ không phải 3NF thì vẫn không là BCNF

• Đối với quan hệ chỉ có một khóa ứng cử thì các định nghĩa 3NF và BCNF là tương đương

Phụ thuộc đa trị (multivalued dependency – MVD):

Cho R là một quan hệ với A, B và C là các tập con bất kỳ của các thuộc tính

R

Chúng ta nói rằng B là phụ thuộc đa trị vào A (ký hiệu là A→> B và đọc là

“A xác định đa trị B” hay đơn giản là “A mũi tên kép B”) nếu và chỉ nếu tập các giá

Trang 34

trị của B (B-values) mà phù hợp với cặp các giá trị đã cho của A và C (A-value, C- value) trong R chỉ phụ thuộc vào giá trị của A (A-value) và độc lập với giá trị của C (C- value)

Vấn đề tồn tại với các quan hệ 3NF là một số tường hợp chúng gồm các phụ thuộc đa trị nhưng lại không phải là các phụ thuộc hàm

Dạng chuẩn thứ tư được định nghĩa như sau:

Quan hệ đã được chuẩn hóa R được gọi là ở dạng chuẩn thứ tư (4NF) nếu và chỉ nếu mỗi khi tồn tại một phụ thuộc đa trị trong R của thuộc tính B vào thuộc tính

A thì tất cả các thuộc tính của R cũng đều phụ thuộc hàm vào A

Mục tiêu chủ yếu của quá trình trên là giảm dần sự dư thừa và do vậy khắc phục được những vấn đề dị thường khi cập nhật dữ liệu

2.5.2.6 Dạng chuẩn thứ năm

a Giới thiệu

Định nghĩa của dạng chuẩn thứ tư đưa ra một ứng dụng của dạng phụ thuộc mới, đó là phụ thuộc đa trị (MultiValued Dependency –MVD)

MVD là tổng quát hóa của phụ thuộc hàm FD

Tương tự như vậy, định nghĩa của dạng chuẩn thứ năm đưa ra một ứng dụng cảu dạng phụ thuộc mới, được gọi là phụ thuộc kết nối (Joint Dependency –JD)

JD là tổng quát hỏa của MVD cũng như MVD là tổng quát hóa của FD

b Phụ thuộc kết nối và dạng chuẩn thứ năm

Đến nay, chúng ta đã ngầm giả thiết là thao tác cần thiết cứng hoặc là thao tác có thể trong quá trình phân rã là thay thế một quan hệ ( theo cách thức không mất mát thông tin) bằng hai ánh xạ của nó

Giả thiết này được thực hiện thành công cho đến dạng chuẩn 4NF

Tuy nhiên lại tồn tại các quan hệ mà không thể phân rã không mất mát thông tin thành hai ánh xạ nhưng lại có thể phân raz không mất mát thông tin thành ba hay hơn nữa các ánh xạ

Những quan hệ như vật được gọi là “n-decomposable” (n-phân rã) (với n>2)

Trang 35

Điều này có nghĩa các quan hệ đó có thể phân rã không mất mát thông tin thành n ánh xạ nhưng không thể thành bất kỳ một số ánh xạ nào nhỏ hơn n

Một quan hệ mà có thể phân rã không mất mát thành hai ánh xạ được gọi là

“2-decomposable”

Định nghĩa của phụ thuộc kết nối(Joint Dependency)

Cho R là một quan hệ và A,B,…,Z là các tập con bất kỳ của các tập thuộc tính của R Ta nói rằng R thỏa mãn điều kiện cảu phụ thuộc kết nối JD mà được ký hiệu *(A,B,…,Z) nếu và chỉ nếu R bằng kết nối cảu các ánh xạ của nó trên A,B,…Z)

Định lý của Fagin đã được trình bày ở mục trước về việc quan hệ R{A,B,C}

có thể phân rã không mất mát thông tin thành các ánh xạ của nó theo {A,B} và {A,C} khi và chỉ khi tồn tại các phụ thuộc đa trị MVDA ->>B và A->>C trong R có thể phát biểu lại như sau:

R{A,B,C} thỏa mãn điều kiện JD * (A,B,C) nếu và chỉ nếu nó thỏa mãn phụ thuộc đa trị MVD A->>B\C

Vì định lý này có thể coi như định nghĩa của phụ thuộc đa trị nên có thể suy

ra là phụ thuộc đa trị MVD là trường hợp đặc của phụ thuộc kết nối JD hoặc JD là

sự tổng quát hóa của MVD

Hơn nữa có thể suy trực tiếp từ định nghĩa của JD là JD là dạng phụ thuộc tổng quát nhất có thể có Có nghĩa là không còn tồn tại một dạng phụ thuộc cao hơn nào sao cho JD chỉ đơn thuần là một trường hợp riêng của dạng chuẩn cao hơn này

vì cho đến nay, chúng ta đã hạn chế sự chú ý tới các sự phụ thuộc liên quan đến các thực thể được phân rã bằng phép ánh xạ và kết hợp lại bằng phép kết nối

Tuy nhiên, nếu chúng ta cho phép sử dụng cả các phép toán phân rã và kết hợp khác thì có thể xuất hiện cả các dạng phụ thuộc khác

Định nghĩa dạng chuẩn thứ năm:

- Quan hệ R được gọi là ở dạng chuẩn thứ 5 (5NF)- còn gọi là dạng chuẩn

ánh xạ -kết nối (Projection – Joint Normal Form – PJ/NF) - nếu và chỉ

Trang 36

nếu mọi phụ thuộc kết nối trong R đều được tạo ra bởi các khóa ứng cử của R

Thực tế, Fagin đã chỉ ra là bất kỳ MVD nào nhận được bởi khóa ứng cử thì nhất định cũng là FD trong đó, chính khóa ứng cử đó là thuộc tính quyết định

thể phân rã không mất mát thông tin thành tập tương đương các quan hệ ở dạng 5NF

Trong trường hợp chung, Fagin đã đưa ra giải thuật trong đó với phụ thuộc kết nối JD và tập khóa ứng cử cho trước, có thể thử xem phụ thuộc kết nối JD đó có được tạo bởi các khóa ứng cử đó không

Như vậy cho trước một quan hệ R, chúng ta có thể kết luận quan hệ đó ở dạng chuẩn 5NF hay không nếu ta biết được tất cả các khóa ứng cử và tất cả các phụ thuộc kết nối JD trong R

Tuy nhiên phát hiện ra tất cả các phụ thuộc kết nối JD là điều khó khăn

Nghĩa là, trong khi tương đối dễ dàng nhận ra các phụ thuộc hàm FD và phụ thuộc đa trị MVD ta lại không thể nói như vậy đối với các phụ thuộc kết nối JD – các JD mà không phải là MVD và không phải FD – vì có thể ý nghĩa trực giác của các phụ thuộc kết nối là không hiển nhiên

Do đó quá trình xác định khi nào quan hệ đã cho ở dạng 4NF nhưng chưa ở dạng 5NF và như vậy có thể phân rã trước vẫn còn chưa rõ ràng

c Kết luận

• Cần lưu ý là từ định nghĩa suy ra dạng chuẩn 5NF là dạng chuẩn tốt nhất

về phương diện ánh xạ và kết nối (mà còn có tên gọi khác là dạng chuẩn ánh xạ - kết nối, projection – joint normal form)

• Có nghĩa là dạng chuẩn 5NF được đảm bảo không còn các dị thường mà

có thể hạn chế bằng cách tạo ánh xạ

Đương nhiên điều này không có nghĩa quan hệ này không còn tất cả các dị thường có thể có

Trang 37

Điều này chỉ có nghĩa là không còn các dị thường mà có thể loại bỏ bằng cách tạo ánh xạ

• Nếu quan hệ ở dạng 5NF, các phụ thuộc kết nối duy nhất là các phụ thuộc được tạo ra bởi các khóa ứng cử và như vậy, các phân rã hợp lệ duy nhất đều dựa trên các khóa ứng cử này

Mỗi ánh xạ trong việc phân rã như vậy được tạo bởi một hoặc hơn nữa các khóa ứng cử cùng với các thuộc tính phụ khác

d Các bước chuyển mô hình dữ liệu quan hệ thành các quan hệ ở dạng chuẩn thứ 5

Bước 1: Chuyển một quan hệ từ dạng chưa chuẩn hóa thành một tập các quan

hệ tương đương ở dạng chuẩn hóa 1NF:

Có hai phương pháp chuyển một quan hệ từ dạng chưa chuẩn hóa thành một tập các quan hệ tương đương ở dạng chuẩn hóa 1NF:

• Loại bỏ các nhóm lặp lại bằng cách đưa dữ liệu thích hợp vào các cột trống của các hàng chứa dữ liệu lặp lại Nói một cách khác, chúng ta điền vào các ô trống bằng cách lặp lại dữ liệu chưa được lặp lại Cách này thường được gọi là “làm phẳng” (“flattening”) bảng đã cho Kết quả chúng ta nhận được một bảng mà có thể gọi là một quan hệ tương đương với bảng ban đầu nhưng chỉ chứa các giá trị nguyên tố (giá trị đơn) ở các

ô cắt nhau của mỗi hàng và mỗi cột và do đó là ở dạng 1NF Với phương pháp này, sự dư thừa đã được đưa vào quan hệ kết quả và sau này sự dư thừa này sẽ được loại bỏ trong qua trình chuẩn hóa

• Trong cách thứ hai, ta chỉ định một hoặc một nhóm các thuộc tính làm khóa chính cho bảng chưa chuẩn hóa sau đó loại bỏ các nhóm lặp lại bằng cách đặt dữ liệu lặp lại cùng với bản copy của khóa chính vào một quan hệ tách biệt Nhận diện khóa chính cho các quan hệ mới nhận được Đôi khi bảng chưa chuẩn hóa có thể chứa hơn một nhóm lặp lại hay các nhóm lặp lại lồng nhau Trong các trường hợp như vậy, cách tiếp cận này

Trang 38

được ứng dụng lặp đi lặp lại cho đến khi nào không còn các nhóm lặp lại nữa

Cả hai cách tiếp cận đều đúng, tuy nhiên với cách tiếp cận thứ hai ngay từ đầu sẽ tạo ra những quan hệ ít nhất là ở dạng chuẩn thứ nhất (1NF) với ít sự dư thừa hơn

Bước 2: Tạo các ánh xạ của quan hệ gốc 1NF để hạn chế mọi phụ thuộc hàm

không đầy đủ vào khóa chính Điều này sẽ tạo ra một một tập các quan hệ 2NF Thủ tục để chuyển quan hệ 1NF mà chưa phải là 2NF sang tập các ánh xạ tương đương

ở dạng 2NF:

quan hệ tách biệt

của khóa chính có nghĩa là lần lượt kết hợp cảu hai, ba… thuộc tính cho đến khi tạo được quan hệ với toàn bộ khóa chính gốc Chỉ định thuộc tính hoặc kết hợp các thuộc tính này làm khóa chính cho các quen hệ mới

còn lại vào các khóa chính đã tìm ra và đặt nó vào quan hệ tương ứng với khóa chính này Khi đã xét hết các thuộc tính còn lại trong quan hệ gốc thì

ta bỏ đi các quan hệ mà chỉ có các thuộc tính khóa chứ không có các thuộc tính khác Các quan hệ đã tạo ra chính là các quan hệ 2NF tương đương với quan hệ ban đầu

Bước 3: Tạo các ánh xạ của các quan hệ 2NF này để hạn chế mọi phụ thuộc

hàm bắc cầu của các thuộc tính không khóa vào khóa chính

Để chuyển thành 3NF từ quan hệ 2NF ban đầu, chuyển tất cả các thuộc tính không khóa mà phụ thuộc hàm vào các thuộc tính không khóa khác cùng bản copy thuộc tính quyết định thành một quan hệ mới và bản copy thuộc tính quyết định sẽ được chỉ định làm khóa chính của quan hệ mới

Lưu ý: trường hợp quan hệ đã ở dạng 3NF nhưng có các khóa ứng cử phủ nhau nên chưa thể khẳng định là ở dạng chuẩn BCNF

Trang 39

Nếu tập các thuộc tính quyết định và tập các khóa ứng cử không phủ nhau thì phải copy thuộc tính quyết định mà không phải khóa ứng cử cùng thuộc tính phụ thuộc hàm vào nó ra một quan hệ mới

Bước 4: Tạo các ánh xạ của các quan hệ 3NF này để hạn chế mọi phụ thuộc

đa trị mà không phải là các phụ thuộc hàm Cuối cùng ta sẽ nhận được một tập các quan hẹ 4NF

Bước 5: Từ tập các quan hệ ở dạng 4NF mà chưa ở dạng 5NF, tách các quan

hệ mà không có có mọi phụ thuộc kết nối trong đó đều được tạo ra bởi các khóa ứng cử thành tập tương đương các ánh xạ đều có mọi phụ thuộc kết nối trong mọi ánh xạ đều được tạo ra bởi các khóa ứng cử

Hình 2.4 : Các cấp chuẩn hóa quan hệ

2.5.3 Phép phân rã các lược đồ quan hệ

2.5.3.1 Định nghĩa

Phép phân rã các lược đồ quan hệ R={A1,A2,… An} là việc thay thế lược

2.5.3.2 Phép phân rã không mất mát thông tin

phụ thuộc dữ liệu Phép phân rã không mất mát thông tin nếu khi thực hiện phép

Trang 40

toán kết nối tự nhiên các quan hệ thành phần R1, R2,…Rn ta vẫn nhận được kết quả của quan hệ ban đầu

2.5.3.3 Thuật toán kiểm tra phép phân rã không mất mát thông tin

Input :

Output : Kết luận phép tách ρ không mất mát thông tin

Các bước của thuật toán:

Bước 1:

(tương ứng với k quan hệ), trong đó cột thứ j ứng với thuộc tính Aj, dòng thứ i ứng với lược đồ Ri

- Tại dòng i và cột j, ta điền ký hiệu aj nếu thuộc tính Aj∈ Rj Ngược lại ta điền ký hiệu bij

Bước 2:

trên thuộc tính X thì làm bằng các giá trị của chúng trên Y Ngược lại làm bằng chúng bằng ký hiệu bij Tiếp tục áp dụng các phân tích cho bảng ( kể

cả việc lặp lại các phụ thuộc hàm đã áp dụng) cho tới khi không còn áp dụng được nữa

Bước 3:

a2,….an thì kết luận phép tách ρ không mất mát thông tin

Ngày đăng: 22/07/2017, 23:17

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