CSDL và PMUD

Màu nền
Font chữ
Font size
Chiều cao dòng

CSDL

 Định nghĩa:

 Dữ liệu: phản ánh một sự vật hiện tượng trong

thế giới khách quan được lưu trữ trong máy

tính dưới dạng có cấu trúc (bản ghi) hoặc

không có cấu trúc (hình ảnh, âm thanh)

 CSDL: tập hợp dữ liệu tương quan có tổ chức

được lưu trữ trên các phương tiện lưu trữ như

đĩa từ, băng từ v..v nhằm thỏa mã các yêu cầu

khai thác thông tin (đồng thời) của nhiều người

sử dụng và của nhiều chương trình ứng dụng.

Đặc tính của CSDL

 Chia sẻ - tức CSDL cho phép nhiều

người dùng, nhiều ứng dụng.

 Bền vững - tức dữ liệu được đặt

trên thiết bị lưu trữ ổn định, cho

phép sử dụng lại nhiều lần

CSDL trong các ứng dụng

 Thông dụng

 Csdl trong các ứng dụng quản lý nguồn nhân

lực, dịch vụ công cộng (điện, nước...)

 Thương mại điện tử

 Csdl khách hàng, sản phẩm hàng hoá... của

các cửa hàng trực tuyến (B2C) sàn giao dịch

trực tuyến(B2B)

 Chuyên biệt

 Csdl lưu trữ dữ liệu của các ứng dụng chuyên

biệt như hệ thống thông tin địa lý (GIS_

Geographic Information System)

CSDL lưu trữ dưới dạng bảng (hay quan hệ) là hình

thức lưu trữ nhiều nhất và được ứng dụng rộng rãi

nhất hiện nay.

Csdl thông tin địa lý

lưu trữ

 Dữ liệu bản đồ (hình

ảnh bản đồ)

 Dữ liệu thuộc tính

(mô tả đặc tính, đặc

điểm và các hiện

tượng xảy ra tại một

vị trí địa lý cụ thể)

Mỗi lớp trong dữ liệu

bản đồ lưu trữ một

bản đồ liên quan đến

1 chức năng cụ thể

Tiêu chuẩn của CSDL

 Giảm việc dư thừa: Mỗi một ứng dụng

không cần phải có các tập tin dữ liệu

của riêng nó

 Tránh được sự không nhất quán dữ liệu

 Dữ liệu được chia sẻ

 Áp dụng các chuẩn nghiêm ngặt

 Áp dụng các biện pháp an toàn bảo

mật

 Các ràng buộc phải được duy trì

Người sử dụng CSDL

 Người dùng cuối: Khai thác CSDL thông

qua các ứng dụng hoặc dựa trên phần

mềm quản trị CSDL.

 Người lập trình ứng dụng: Là người viết

các chương trình ứng dụng cho phép

người sử dụng cuối sử dụng CSDL.

 Người quản trị CSDL (Database

Administrator): Là người thu thập dữ liệu,

thiết kế và bảo trì CSDL, thiết lập các cơ

chế đảm bảo an toàn cho CSDL (sao lưu,

phục hồi dữ liệu)

1.3. Hệ quản trị CSDL

 Khái niệm

 Hệ quản trị CSDL là một phần mềm cho

phép tạo lập CSDL và điều khiển mọi

truy nhập đối với CSDL đó.

 Đặc điểm

 Quản lý dữ liệu lâu dài

 Hỗ trợ truy nhập dữ liệu lớn một cách

hiệu quả

Chức năng của hệ QT CSDL

 Hỗ trợ ít nhất một cách tổ chức dữ liệu

(mô hình dữ liệu)

 Lưu trữ, truy xuất và cập nhật dữ liệu

 Quản lý giao dịch (transaction

management)

 Điều khiển tương tranh (concurrency

control)

 Chép lưu và phục hồi dữ liệu.

 Bảo mật dữ liệu

 Duy trì tính toàn vẹn/nhất quán dữ liệu.

 Cung cấp các tiện ích

 Hỗ trợ truyền thông dữ liệu

Phân loại hệ quản trị CSDL

Dựa trên cách thức tổ chức dữ liệu

 Hệ QTCSDL phân cấp (IMS của IBM)

 Hệ QTCSDL mạng (IDMS của

Cullinet Software)

 Hệ QTCSDL quan hệ

 Cho máy tính cá nhân:Microsoft Access

 Cho máy chủ: Microsoft SQL Server,

MySQL, Oracle

 Hệ QTCSDL đối tượng (Ozone)

1.4. Hệ CSDL

 Khái niệm

 Hệ CSDL là hệ thống gồm 4 thành phần

 Người sử dụng

 Hệ QTCSDL

 CSDL

 Phần cứng: Máy tính, ổ đĩa, băng từ dùng

để lưu trữ dữ liệu

2.1. Các mức trừu tượng

 Mức khung nhìn:

 Mô tả chỉ một phần của toàn bộ CSDL. Hệ

thống có thể cung cấp nhiều khung nhìn đối

với cùng một CSDL.

 Mức khái niệm (logic):

 Mô tả những dữ liệu nào được lưu trữ trong

CSDL và các mối quan hệ nào tồn tại giữa các

dữ liệu này.

 Mức vật lý:

 Mô tả dữ liệu được lưu trữ như thế nào. Tại

mức vật lý, các cấu trúc dữ liệu mức thấp phức

tạp được mô tả chi tiết.

 Một thiết kế tổng thể của CSDL

được gọi là lược đồ CSDL

 Lược đồ khái niệm là bộ khung của

CSDL mức khái niệm.

 Lược đồ vật lý là bộ khung của CSDL

mức vật lý.

 Lược đồ khung nhìn được gọi là lược đồ

con.

2.2. Lược đồ CSDL

2.3.Tính độc lập dữ liệu

 Khái niệm

 Khả năng thay đổi một định nghĩa lược đồ trong một mức

mà không ảnh hưởng đến định nghĩa lược đồ mức cao hơn

tiếp theo được gọi là tính độc lập dữ liệu.

 Phân loại

 Độc lập dữ liệu mức vật lý là khả năng thay đổi lược đồ

mức vật lý mà không dẫn đến các chương trình ứng dụng

phải viết lại. Các thay đổi tại mức vật lý đôi khi là cần

thiết để tăng hiệu năng hệ thống.

 Độc lập dữ liệu ở mức logic là khả năng thay đổi lược đồ

mức logic mà không dẫn đến các chương trình ứng phải

viết lại. Các thay đổi tại mức logic là cần thiết bất kể khi

nào cấu trúc logic của CSDL bị sửa đổi.

Độc lập dữ liệu mức logic là khó đạt được hơn so với

độc lập dữ liệu mức vật lý do các chương trình ứng

dụng phụ thuộc nhiều vào cấu trúc logic của dữ liệu mà

họ đang truy cập.

3. Mô hình dữ liệu

 Khái niệm

 Mô hình dữ liệu là một mô tả của việc tổ chức dữ

liệu trong CSDL: dữ liệu, ràng buộc được định nghĩa

cho dữ liệu cùng quan hệ giữa các dữ liệu.

 Ph

 Mô hình dữ liệu ân loại dựa trên đối tượng

 Ví dụ: Mô hình thực thể liên kết ER

(Entity-Relationship model)

 Mô hình dữ liệu dựa trên bản ghi

 Ví dụ: Mô hình dữ liệu phân cấp, mô hình dữ

liệu mạng, mô hình dữ liệu quan hệ.

3.1. Mô hình thực thể liên kết

 Mô hình thực thể liên kết dựa trên

cơ sở sự nhận thức của thế giới thực

bao gồm một tập các đối tượng cơ

sở được gọi là các thực thể và một

tập các liên kết giữa các đối tượng

này.

 Mô hình thực thể liên kết là cách tiếp cận

chính để mô hình hóa dữ liệu theo khái

niệm (conceptual data modeling).

 Mô hình ER là công cụ giao tiếp giữa

người sử dụng cuối cùng và người thiết kế

CSDL để xây dựng CSDL trong giai đoạn

phân tích.

 Mô hình ER được dùng để xây dựng mô

hình dữ liệu theo khái niệm (conceptual

data model) nhằm biểu diễn cấu trúc và

các ràng buộc của CSDL.

8

Bài giảng - CSDL và Phần mềm

ứng dụng 31

3.1.1. Thực thể và liên kết

 Một thực thể là một đối tượng có thể được

định nghĩa và dữ liệu về nó có thể được

lưu trữ.

 Đặc tính của thực thể gọi là thuộc tính của

thực thể.

 Một liên kết là sự kết hợp giữa một số

thực thể.

 Liên kết 1- 1

 Liên kết 1- nhiều

 Liên kết nhiều- nhiều

 Liên kết là-một

Biểu diễn tập thực thể ở mức sơ đồ

 Nhóm bao gồm tập thực thể giống

nhau (ít nhất cần có một tập các

thuộc tính chung) được gọi là một

tập thực thể (kiểu thực thể)

 Biểu diễn

Các dạng thuộc tính

 Thuộc tính định danh/khóa :Xác định thực thể

một cách duy nhất

 Mô tả được gạch chân để phân biệt với các thuộc

tính khác

 Giá trị khác rỗng và thành phần không chứa các

thông tin thay đổi

 Khóa đơn, khóa phức, khóa dự tuyển, khóa chính

 Thuộc tính mô tả: Cung cấp thông tin làm rõ

thêm về thực thể

 Chỉ nên xuất hiện trong một kiểu thực thể tránh dư

thừa dữ liệu

 Thuộc tính phức hợp: Hợp thành

của một số thành phần thông tin-

thuộc tính của thực thể.

 Phân rã thành thuộc tính đơn (không

thể bị phân rã) tùy thuộc nhu cầu xử

lý.

 Thuộc tính đa trị: Nhận nhiều hơn

một giá trị

Biểu diễn tập liên kết mức sơ đồ

 Nhóm bao gồm các liên kết cùng kiểu

được gọi là một tập liên kết (kiểu mố

liên kết/mối liên kết)

Các kiểu mối liên kết giữa hai tập thực

thể (E1, E2)

 một - một (one-to-one): một thực thể a

trong E1 liên kết với một thực thể b trong

E2 và ngược lại

 nhiều - nhiều (many-to-many): một thực

thể a trong E1 liên kết với nhiều thực thể

b trong E2 và ngược lại.

 một - nhiều (one-to-many): một thực thể

a trong E1 liên kết với nhiều thực thể b

trong E2; một thực thể b trong E2 liên kết

với một thực thể a trong E1.

 là một: Tập thực thể E2 là sự tổng quát

hóa của tập thực thể E1, hay E1 là một

kiểu đặc biệt của E2

Thuộc tính của mối liên kết

 Mối liên kết có thể có nhiều thuộc tính

dùng để mô tả các đặc tính của sự liên

kết giữa các thực thể

3.1.2. Sơ đồ thực thể liên kết

 Sơ đồ tóm tắt thông tin cần lưu trữ

trong một csdl được mô tả bằng mô

hình thực thể liên kết được gọi là sơ

đồ thực thể liên kết hay sơ đồ ER.

 Sơ đồ ER của một cơ sở dữ liệu

thuộc một ứng dụng được xây dựng

trên các đặc tả của dữ liệu cho ứng

dụng đó.

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

 B1: Xác định các kiểu thực thể liên

kết chính

 B2: Xác định các thuộc tính cho các

kiểu thực thể này

 B3: Xác định các thuộc tính khóa và

thuộc tính kết nối

 B4: Xác định các mối liên kết

 B5: Xây dựng lược đồ

3.2. Mô hình quan hệ (Relation Model)

 Biểu diễn mọi dữ liệu dưới dạng các

bảng, bảng được định dạng gồm các

hàng và cột.

 Mô tả việc tổ chức dữ liệu trong hệ

quản trị cơ sở dữ liệu.

3.2.1. Các khái niệm trong mô hình

quan hệ

 Quan hệ

 Thuộc tính

 Bộ giá trị

 Khóa

 Lược đồ quan hệ

 Thể hiện của quan hệ

Quan hệ (Relation)

 Một quan hệ là một

bảng

 Mỗi hàng (bản ghi)

biểu diễn một bộ giá

trị của quan hệ. Số

các bộ được gọi là lực

lượng của quan hệ.

 Mối cột (trường) biểu

diễn một thuộc tính/

thành phần của các

bộ. Số các thành

phần được gọi là bậc

của quan hệ.

Thuộc tính (Property)

 Ý nghĩa:

 Thuộc tính là một tính chất riêng biệt

của một đối tượng cần được lưu trữ

trong CSDL để phục vụ cho việc khai

thác dữ liệu về đối tượng.

 Ví dụ:

 Các thuộc tính cho đối tượng nhà cung

cấp hàng hóa là TenNCC, ĐiaChi, ...

 Thuộc tính được đặc trưng bởi: Tên gọi,

kiểu dữ liệu, miền giá trị

 Tên gọi: Thuộc tính được đặt tên một cách gợi

nhớ nhưng không quá dài hoặc quá ngắn. VD:

SNAME, TEN_NCC, TenNCC, TênNCC

 Kiểu: Mỗi thuộc tính đều phải thuộc một kiểu

kiểu dữ liệu nhất định. Ví dụ: TenNCC kiểu xâu kí

tự Char, NgaySinh kiểu ngày tháng Date.

 Miền giá trị (MGT): Là tập tất cả các giá trị

mà thuộc tính có thể có. Ví dụ: SanPham có các

giá trị thuộc tập {Bánh mỳ, Bánh ngọt, Kẹo}. Giá trị

đặc biệt: giá trị rống/NULL.

Bộ giá trị (Tupe)

 Ý nghĩa

 Một bộ là các thông tin của một đối

tượng thuộc quan hệ.

 Đặc điểm

 Hai bộ bất kỳ trong quan hệ là khác

nhau ở ít nhất giá trị của một thuộc

tính.

 Một bộ không thể được xác định nhờ vị

trí của nó trong quan hệ  bộ nhận

diện nhờ khóa

Khóa (Key)

 Khóa của quan hệ là một hay một tập hợp các

thuộc tính mà giá trị của nó xác định duy nhất

một bộ trong một quan hệ (khóa nội).

 Khóa đơn là khóa chỉ có một thuộc tính.Khóa kép là

khóa có hai thuộc tính trở lên

 Khóa tối thiểu là khóa chứa tối thiểu các thuộc tính

để có thể tạo thành 1 khóa cho quan hệ. Khóa chính

(primary key) là một khóa tối thiểu tốt nhất cho

quan hệ.Các khóa còn lại gọi là khóa dự bị

 Một/ một tập thuộc tính của quan hệ mà giá trị của

nó khớp với khóa chính của một quan hệ khác thì nó

được gọi là khóa ngoại (foreign key) của quan hệ

đó.

Lược đồ quan hệ

 Mô tả:

 Lược đồ quan hệ được mô tả thông qua

một tân từ

 Ví dụ:

 Lược đồ CUNG_UNG(TenNCC, SanPham,

Gia)

 Tân từ : Mỗi sự cung ứng sẽ được thực

hiện bởi một nhà cung cấp, tương ứng với

một sản phẩm. Mỗi sản phẩm được cung

ứng bởi một nhà cung cấp sẽ có một giá.

Thể hiện của quan hệ

 Thể hiện (tình trạng) của quan hệ

R, ký hiệu là TR, là tập hợp các bộ

giá trị của quan hệ R vào một thời

điểm. Tại những thời điểm khác

nhau thì quan hệ sẽ có những thể

hiện khác nhau

3.2.2. Biến đổi sơ đồ ER sang lược đồ

CSDL quan hệ

Bước 1: Biến đổi các tập thực thể

 Một tập thực thể E được biến thành một quan

hệ R mà lược đồ của R bao gồm các thuộc tính

của E. Mỗi bộ của R là một thực thể trong E

 Ví dụ: tập thực thể CUSTOMERS 

CUSTOMERS(CNAME, CADDR, BALANCE)

 Nếu các thực thể trong E được xác định thông

qua một liên kết với một tập thực thể F nào đó thì

lược đồ R tương ứng có thuộc tính là các thuộc

tính trong khóa chính của F.

 Ví dụ: tập thực thể MANAGERS chỉ có một thuộc

tính ENAME là khóa của EMPS.

Bước 2: Biến đổi liên kết

 Một liên kết giữa các tập thực thể E1, E2, .., Ek

được biến thành một lược đồ R trong đó thuộc

tính của R là tập tất cả các thuộc tính trong khóa

của mỗi E1, E2, ..., Ek

 Ví dụ: Ta có quan hệ WORKS IN (ENAME, DNAME)

trong đó ENAME là nhân viên trong phòng DNAME,

còn quan hệ MANAGES (ENAME, DNAME) thì ENAME

là quản lý của phòng DNAME

 Chú ý khi lấy các tập thuộc tính của R' cần:

 Đặt lại tên nếu có 2 thuộc tính của hai tập nào đó

trùng tên

 Xác định miền giá trị và không làm mất các thực

thể.

Bước 3: Tìm khóa cho các lược đồ

 Ngyên tắc

 Nếu một lược đồ quan hệ được biến đổi từ một tập

các thực thể, khóa của lược đồ quan hệ chính là

khóa của tập thực thể.

 Nếu một lược đồ quan hệ được biến đổi từ một liên

kết nhiều - nhiều thì khóa của quan hệ là tất cả các

thuộc tính (khoá) của quan hệ

 Nếu một lược đồ quan hệ được biến đổi từ một liên

kết một - một giữa hai tập thực thể E và F thì khóa

của lược đồ quan hệ có thể là khoá của E hoặc là

khoá của F.

 Nếu một lược đồ quan hệ được biến đổi từ một liên

kết nhiều - một từ E1, E2, ..., Ek-1 đến Ek thì khóa

thường là hợp các khóa của E1, E2, .., Ek-1.

Bước 4: Giản ước lược đồ CSDL

 Nguyên tắc

 Khi hai lược đồ quan hệ có khoá chung,

có thể tổ hợp các thuộc tính của hai

lược đồ này và thay thế hai lược đồ này

bằng một lược đồ quan hệ mới với tập

thuộc tính là hợp của hai tập thuộc tính

của hai lược đồ quan hệ ban đầu.

 Tiết kiệm không gian bộ nhớ

 Truy vấn thuận tiện

1. Giới thiệu chung

1.1. Thiết kế CSDL QH và các cách tiếp

cận

 Thiết kế cơ sở dữ liệu quan hệ  xây

dựng lược đồ CSDL QH gồm một tập các

lược đồ quan hệ thỏa mãn hai yêu cầu:

 Lưu trữ thông tin không dư thừa

 Tìm kiếm thông tin dễ dàng

 Quan hệ CUNG_UNG_0

Dư thừa dữ liệu

Một nhà cung cấp cung cấp nhiều mặt hàng.

Lặp các thông tin về nhà cung cấp ứng với mỗi một mặt

hàng khác nhau của cùng nhà cung cấp đó.

 Quan hệ CUNG_UNG_0

Không nhất quán

Dị thường khi cập nhật thông tin về nhà cung cấp như

thay đổi địa chỉ.

Dị thường khi thêm bộ

Dị thường khi thêm mới thông tin về nhà cung cấp nhưng

nhà cung cấp chưa cung cấp mặt hàng nào.

Dị thường khi xóa bộ

Tồn tại nhà cung cấp chỉ cung cấp một mặt hàng.

Dị thường khi xóa thông tin về sự cung cấp  xóa luôn

thông tin về nhà cung cấp.

Tìm kiếm thông tin

Quan hệ CUNG_UNG_0 tách thành 2 quan hệ CUNG_UNG_11

và CUNG_UNG_12

 Lưu trữ thông tin không dư thừa ???

 Tìm kiếm thông tin dễ dàng ???

Các cách tiếp cận

 Từ trên xuống(Topdown):

 Xây dựng sơ đồ thực thể liên kết ER từ các đặc tả

 Chuyển đổi sơ đồ ER thành lược đồ CSDL quan hệ.

 Chuẩn hóa lược đồ CSDL quan hệ (nếu cần)

 Từ dưới lên (Bottom Up):

 Xây dựng lược đồ quan hệ ban đầu từ các đặc tả.

 Chuẩn hóa lược đồ quan hệ.

1.2. Phụ thuộc hàm

a. Khái niệm

 Cho quan hệ R, thuộc tính B của quan

hệ R được gọi là phụ thuộc hàm vào

thuộc tính A của quan hệ R nếu với mỗi

giá trị của A xác định duy nhất một giá

trị của B. A được gọi là xác định hàm

của B.

 Ký hiệu: A->B

a. Khái niệm (t)

 Tập các phụ thuộc hàm F của 1 lược

đồ quan hệ R là một tập gồm các

phụ thuộc hàm xác định trên R.

 Ví dụ: Tập phụ thuộc hàm F={AB,

BC} của R(A,B,C)

 Trong quan hệ R, ký hiệu A, B, C dành

cho các thuộc tính đơn, X, Y, Z dành

cho tập các thuộc tính.

b. Hệ tiên đề Amstrong

 Giả thiết

 Lược đồ quan hệ R.

 X,Y,Z: tập các thuộc tính thuộc R.

 XY=XUY

 Hệ 3 tiên đề với các phụ thuộc hàm:

 Phản xạ:XY->X; XY->Y

 Tăng trưởng: X->Y thì XZ0>YZ

 Bắc cầu:X->Y, Y->Z thì X->Z

Luật suy ra từ hệ tiên đề

 Luật hợp

 Nếu XY, XZ thì XYZ

 Luật tựa bắc cầu

 Nếu XY, WYZ thì XWZ

 Luật tách

 Nếu XY, Z thuộc Y thì XZ

c. Phụ thuộc hàm đầy đủ

và phụ thuộc bắc cầu

 Phụ thuộc hàm đầy đủ

 Y phụ thuộc hàm đầy đủ vào X nếu Y phụ

thuộc hàm vào X 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 X.

 Ví dụ

 Lược đồ R(A, B, C, D)

 F={ABC; ABD; BD}

 C phụ thuộc hàm đầy đủ vào {A,B}

 D không phụ thuộc hàm đầy đủ vào

{A,B}

Phụ thuộc bắc cầu

 Phụ thuộc hàm X  A, A được gọi là

phụ thuộc bắc cầu vào X nếu tồn

tại Y để cho X  Y, Y  A, Y / X

và A  XY

 Ví dụ:

 F = {AB, BC}

 AC: C phụ thuộc bắc cầu vào A

d. Bao đóng và phủ của tập các phụ

thuộc hàm

 Cho tập các phụ thuộc hàm F xác

định trên R.

 Bao đóng F+ của tập các phụ thuộc

hàm F là tập tất cả các phụ thuộc hàm

được suy diễn logic từ F.

 Phủ G của tập các phụ thuộc hàm F

(G≈F) là tập các phụ thuộc hàm xác

định trên R sao cho G+ = F+.

X+

?

 Bao đóng X+ của thuộc tính X đối

với tập phụ thuộc hàm F là tất cả

các thuộc tính A mà phụ thuộc hàm

XA có thể được suy diễn logic từ F

nhờ hệ tiên đề Amstrong.

 Một phụ thuộc hàm XY thuộc F+

nếu Y thuộc X+: Kiểm tra XY có

thuộc F+

Ý nghĩa của phụ thuộc hàm

 Chỉ ra các phụ thuộc dữ liệu/ràng

buộc có thể xảy ra giữa tập thuộc

tính của một lược đồ quan hệ.

Giúp xác định khóa tối thiểu, khóa

chính của quan hệ.

Giúp chuẩn hóa lược đồ quan hệ

2. Chuẩn hóa lược đồ quan hệ

 Khái niệm

 Là quá trình phân tách các lược đồ

quan hệ thành các lược đồ quan hệ nhỏ

hơn theo một số tiêu chuẩn nhằm loại

bỏ việc lưu trữ dư thừa dữ liệu.

 Phép tách thành các lược đồ quan hệ

đơn giản hơn, nhỏ hơn phải đảm bảo

không làm mất mát thông tin.

2.1. Các dạng chuẩn

 Dạng chuẩn 1

 Dạng chuẩn 2

 Dạng chuẩn 3

 Dạng chuẩn Boye-Codd

 Chuẩn 4 và các dạng chuẩn khác

a. Dạng chuẩn 1(1NF)

 Định nghĩa

 Một lược đồ quan hệ R ở dạng chuẩn 1

nếu và chỉ nếu toàn bộ các miền giá trị

của các thuộc tính trong R đều chỉ chứa

các giá trị nguyên tố.

 Một quan hệ xác định trên lược đồ quan

hệ ở dạng chuẩn 1 được gọi là quan hệ

ở dạng chuẩn 1.

Dạng chuẩn 1 (t)

 Một quan hệ thuộc dạng chuẩn 1 là

một quan hệ trong đó mỗi miền giá

trị của một thuộc tính chỉ chứa

những giá trị nguyên tố (không

phân chia được nữa).

 Một quan hệ thuộc dạng chuẩn 1

nếu mỗi một ô trong bảng chỉ chứa

duy nhất một giá trị

b. Dạng chuẩn 2 (2NF)

 Định nghĩa

 Một lược đồ quan hệ R được gọi là ở

dạng chuẩn 2 nếu nó đã ở dạng chuẩn

1 và mọi thuộc tính không khóa đều

phụ thuộc hàm đầy đủ vào khóa chính.

 Một quan hệ xác định trên lược đồ quan

hệ ở dạng chuẩn 2 được nói là quan hệ

ở dạng chuẩn 2.

c. Dạng chuẩn 3

 Định nghĩa

 Một lược đồ quan hệ R được gọi là ở

dạng chuẩn 3 nếu nó đã ở dạng chuẩn

2 và mọi thuộc tính không khóa của R

đều chỉ phụ thuộc hàm duy nhất vào

khóa chính.

 Một quan hệ xác định trên lược đồ quan

hệ ở dạng chuẩn ba được nói là quan

hệ ở dạng chuẩn 3

d. Dạng chuẩn Boye-Codd (BCNF)

 Chuẩn 3 không đáp ứng được những

lược đồ quan hệ

 Có nhiều hơn một khóa tối thiểu

 Các khóa tối thiểu là khóa kép

 Các khóa tối thiểu giao nhau

 Định nghĩa

 Một lược đồ quan hệ R thuộc dạng

chuẩn Boye-Codd khi và chỉ khi mọi

xác định hàm đều là một khóa.

2.2.1.Tách bảo toàn thông tin và tách

bảo toàn tập phụ thuộc hàm

a. Phép tách bảo toàn thông tin

 Khái niệm

 Phép tách bảo toàn thông tin là phép

tách lược đồ quan hệ sao cho khi kết

nối tự nhiên các quan hệ xác định

trên các lược đồ con, kết quả cho lại

quan hệ ban đầu.

Phép kết nối tự nhiên

 Phép ghép các cặp

bộ của hai quan

hệ trên các thuộc

tính bằng nhau

của hai quan hệ,

một trong hai

thuộc tính của

phép so sánh "="

được loại bỏ sau

khi thực hiện phép

ghép.

Thuật toán kiểm tra

 Kiểm tra phép tách không mất mát thông tin của

một lược đồ quan hệ thành nhiều lược đồ quan hệ

con.

 Vào

 Lược đồ quan hệ: R=(A1, A2,... An)

 Tập phụ thuộc hàm F trên R

 Phép tách ρ=(R1, R2,... Rk)

 Ra

 Một khẳng định rằng phép tách ρ có mất mát

thông tin hay không?

Thuật toán kiểm tra (t)

 Phương pháp

 Bước 1: Xây dựng một bảng k hàng, n cột

 Hàng i tương ứng với Ri

 Cột j tương ứng với thuộc tính Aj

 Giá trị tại hàng i, cột j

 aj

: Nếu Aj

thuộc Ri

 bij

: Nếu Aj

không thuộc Ri

Phương pháp

 Bước 2: Lặp

 Áp dụng các phụ thuộc hàm cho bảng v

được xây dựng: XY: Nếu tồn tại hai

hàng có cùng giá trị trên X thì làm bằng

nhau các giá trị trên Y.

 Nếu có giá trị một hàng thuộc Y là aj

thì c

giá trị khác thuộc Y gán bằng aj

.

 Nếu không gán bằng một trong các giá trị

bij.

 Dừng khi các giá trị trong bảng

không thể thay đổi được nữa

Phương pháp

 Bước 3: Kiểm tra

 Nếu trong bảng có một hàng gồm toàn

ký hiệu a1, a2, a3,... an

thì phép tách là

không mất mát thông tin.

 Ngược lại phép tách là mất mát thông

tin.

Định lý kiểm tra

 Kiểm tra phép tách không mất mát thông

tin của một lược đồ quan hệ thành hai

lược đồ quan hệ con.

 Cho

 lược đồ quan hệ R

 Tập phụ thuộc hàm F trên R

 ρ=(R1, R2)

 Phép tách là không mất mát thông tin

nếu R1

R2 R1\R2 hoặc R1 R2 

R2\R1.

b. Phép tách bảo toàn tập phụ thuộc

hàm

 Khái niệm

 Phép tách lược đồ quan hệ R thành các lược đồ

quan hệ con Ri

là bảo toàn các tập phụ thuộc

hàm nếu hợp của các phụ thuộc hàm là hình

chiếu của F trên Ri

suy diễn logic được tất cả

các phụ thuộc hàm trong F.

 Hình chiếu của F lên Ri

là các phụ thuộc hàm

XY thỏa mãn:

 X, Y thuộc Ri

 XY thuộc F+

a. Thuật toán tìm một khóa tối thiểu của lược

đồ quan hệ dựa vào tập phụ thuộc hàm

 Khóa của lược đồ quan hệ

 Giá trị của tập thuộc tính khóa trên mỗi

bộ của quan hệ là duy nhất

 Mọi thuộc tính của quan hệ phải phụ

thuộc hàm vào khóa.

 Thuật toán tìm một khóa tối thiểu

 Loại bỏ dần từng thuộc tính thuộc khóa

của quan hệ cho tới khi tập thuộc tính

nhỏ nhất còn lại vẫn thỏa mãn là một

khóa khóa tối thiểu của quan hệ.

b.Thuật toán tách không mất mát thông tin

và bảo toàn tập phụ thuộc hàm về dạng

chuẩn 3

 Vào:

 Lược đồ quan hệ R

 Tập phụ thuộc hàm F (phủ tối thiểu)

 Ra:

 Tập sơ đồ con, trong đó mỗi sơ đồ con

Thuộc dạng chuẩn 3

 Phụ thuộc hàm là hình chiếu của F lên

b.Thuật toán tách không mất mát thông tin

và bảo toàn tập phụ thuộc hàm về dạng

chuẩn 3 (t)

 Phương pháp:

 Nếu tồn tại một thuộc tính thuộc R không

có mặt ở vế trái hay vế phải của bất kỳ

phụ thuộc hàm nào thì tách thuộc tính này

ra khỏi R.

 Nếu tồn một tại phụ thuộc hàm liên quan

tới mọi thuộc tính của R thì kết quả là R.

 Nếu các phụ thuộc hàm dạng:

 XA : lược đồ con ở dạng XA.

 XA1, ...XAn: lược đồ con ở dạng XA1...

An

c.Thuật toán tách không mất mát thông tin

về dạng chuẩn Boye-Codd

 Vào :

 Lược đồ quan hệ R

 Tập phụ thuộc hàm F

 Ra:

 Tập sơ đồ con, trong đó mỗi sơ đồ con

 Thuộc dạng chuẩn Boye-Codd

 Phụ thuộc hàm là hình chiếu của F lên nó

c.Thuật toán tách không mất mát thông

tin về dạng chuẩn Boye-Codd (t)

 Phương pháp:

 ρ = (R)

 Lặp

 S là một sơ đồ quan hệ trong ρ không ở dạng

chuẩn Boye-Codd. Xét một phụ thuộc hàm

XA của S. Nếu X không chứa khóa của S, A

không thuộc X thì S được tách thành:

 S1 = A U{X}

 S2

= S\{A}

 Dừng cho tới khi mọi sơ đồ con trong ρ đã

thuộc dạng chuẩn Boye-Codd

2.2.3. Tách lược đồ quan hệ theo từng

bước

 Quy tắc

 Quy tắc 1: Loại bỏ các thuộc tính phụ thuộc chỉ

một phần vào khóa chính.

 Chuẩn hóa về 2NF

 Quy tắc 2: Loại bỏ các thuộc tính không khóa

không phụ thuộc vào khóa chính.

Chuẩn hóa về 3NF

 Quy tắc 3: Loại bỏ các thuộc tính là giao của

các khóa tối thiểu.

Chuẩn hóa về BCNF

3. Ràng buộc toàn vẹn trong CSDL quan

hệ (Integrity Constraint)

3.1. Khái niệm ràng buộc toàn vẹn

 Ràng buộc toàn vẹn là điều kiện bất biến không được vi phạm trong một

CSDL.

 Các điều kiện mà mọi thể hiện của quan hệ phải thỏa mãn

 RBTV xuất phát từ các quy tắc quản lý được áp đặt lên thế giới thực

 Ví dụ:

 RBTV1: Mỗi bộ của quan hệ DON_DAT_HANG phải ứng với một đơn

đặt hàng với mã đơn đặt hàng (MaDDH) duy nhất.

 RBTV2: Mọi chi tiết về đơn đặt hàng phải có mã hàng (MaHang) thuộc

về danh mục hàng.

 RBTV3: Mã đơn đặt hàng (MaDDH) khác NULL.

 RBTV4: Tổng các trị giá của các mặt hàng trong CHI_TIET_DON_HANG

có cùng MaDDH phải bằng TongGT ghi trong DON_DAT_HANG

 Mục đích của RBTV

 Đảm bảo tính nhất quán của dữ liệu(RBTV2, RBTV4)

 Đảm bảo ngữ nghĩa nghĩa thực tế của dữ liệu(RBTV1, RBTV3)

 RBTV được xác định và mô tả trong quá

trình thiết kế csdl. RBTV có 3 yếu tố

chính:

 Nội dung

 Bối cảnh

 Tầm ảnh hưởng

 RBTV được khai báo thông qua ngôn ngữ

định nghĩa và thao tác dữ liệu và được hỗ

trợ bởi hqt csdl.

 Mệnh đề check, arssertion, triger

 RBTV được kiểm tra và xử lý bởi hqt csdl.

1.1.Đại số quan hệ

 Đại số quan hệ cung cấp tám phép

toán tác động trên các quan hệ và

cho kết quả cũng là một quan hệ

gồm:

 Các phép toán tập hợp: Hợp, trừ, giao,

tich Đề các.

 Các phép toán quan hệ: Chọn, chiếu,

kết nối, chia

Quan hệ khả hợp

 Định nghĩa: Hai quan hệ là khả hợp nếu

chúng được xác định trên cùng tập

thuộc tính và các thuộc tính cùng tên

có cùng miền giá trị.

a. Phép hợp (union)

 Định nghĩa:

 Phép hợp của hai quan hệ khả hợp r và

s, ký hiệu là r U s, là tập tất cả các bộ

thuộc r hoặc thuộc s hoặc thuộc cả hai

quan hệ.

b. Phép giao

 Định nghĩa:

 Phép giao của hai quan hệ khả hợp r và

s, ký hiệu là r s, là tập tất cả các bộ

thuộc cả hai quan hệ r và s

c. Phép trừ

 Định nghĩa:

 Phép trừ của hai quan hệ khả hợp r và

s, ký hiệu là r-s, là tập tất cả các bộ

thuộc r nhưng không thuộc s.

d. Phép tích Đề các

 Định nghĩa:

 Cho quan hệ r xác định trên tập thuộc

tính {A1, ..., An} và quan hệ s xác định

trên tập thuộc tính {B1, ..., Bm}. Tích Đề

các của hai quan hệ r và s ký hiệu là

r x s là tập tất cả các (m+n)-bộ có n

thành phần đầu tiên là một bộ thuộc r

và m thành phần sau là một bộ thuộc s.

e. Phép chiếu

 Định nghĩa;

 Cho quan hệ r xác định trên tập thuộc

tính U={A1, ..., An}. X U. Phép chiếu

của r trên tập thuộc tính X , ký hiệu là

Πx(r), là tập các bộ của r xác định trên

X.

 Phép chiếu trên một quan hệ thực

chất là phép toán loại bỏ đi một số

thuộc tính và chỉ giữ lại những thuộc

tính còn lại của quan hệ đó.

f. Phép chọn

 Định nghĩa:

 Cho r là một quan hệ, F là một biểu

thức điều kiện. Phép chọn trên r với

biểu thức chọn F, ký hiệu σF(r), là tập

tất cả các bộ của r thỏa mãn điều kiện

F.

Phép chọn là phép toán lọc ra một

tập con các bộ của quan hệ đã cho

thỏa mãn một điêu kiện xác định.

Điều kiện dó được gọi là điều kiện

chọn hay biểu thức chọn.

g. Phép chia

 Định nghĩa:

 Cho hai quan hệ r xác định trên n thuộc

tính, s xác định trên m thuộc tính

(n>m, s ≠ ø), phép chia quan hệ r cho

quan hệ s, ký hiệu r ÷ s, là các bộ t sao

cho với mọi bộ v thuộc s thì t ghép với

v thuộc r.

h. Phép kết nối

 Khái niệm:

 Phép kết nối hai quan hệ r, s, ký hiệu

r s là phép ghép các cặp bộ của hai

quan hệ thỏa mãn một điều kiện kết nối

hay một biêu thức kết nối F.

Bạn đang đọc truyện trên: Truyen2U.Pro