1. Trang chủ
  2. » Giáo án - Bài giảng

Bài 7 Chuẩn hoá dữ liệu, Một số vấn đề khác

23 537 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 23
Dung lượng 608,55 KB

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

Nội dung

Khái niệm lược đồ quan hệ  sử dụng các dạng chuẩn normal forms: là tập hợp các tiêu chuẩn cho CSDL quan hệ nhằm giảm thiểu dư thừa và phụ thuộc của dữ liệu dựa vào khoá và các phụ thuộc

Trang 1

Bài 7: Chuẩn hoá dữ liệu,

Một số vấn đề khác

Trang 2

Chuẩn hoá dữ liệu

(data normalization)

Trang 3

Khái niệm

lược đồ quan hệ

 sử dụng các dạng chuẩn (normal forms): là tập hợp các tiêu chuẩn cho CSDL

quan hệ nhằm giảm thiểu dư thừa và phụ thuộc của

dữ liệu (dựa vào khoá và các phụ thuộc dạng hàm)

Trang 4

Các dạng chuẩn

Dạng chuẩn thứ nhất (First normal form – 1NF): 1970

Dạng chuẩn thứ hai (Second normal form – 2NF): 1971

Dạng chuẩn thứ ba (Third normal form – 3NF): 1971

Dạng chuẩn Boyce-Codd (Boyce-Codd normal form –

BCNF): 1974

Dạng chuẩn thứ tư (Forth normal form – 4NF): 1977

Dạng chuẩn thứ năm (Fifth normal form – 5NF): 1979

Dạng chuẩn thứ sáu (Sixth normal form – 6NF): 2003

Trang 5

Dạng chuẩn thứ nhất – 1NF

có nhóm thuộc tính nào được lặp lại

Order

id: int shipdate: date customer: string address: string item_name1: string item_number1: int item_price1: int item_name2: string item_number2: int item_price2: int

item_name9: string item_number9: int item_price9: int

Trang 6

item_name: string item_number: int item_price: int

OrderItem

order_id: int

Trang 7

 Tính dư thừa dữ liệu: họ tên

được lưu trữ nhiều lần

Trang 9

Phụ thuộc dạng hàm

(functional dependencies): là sự tổng quát hoá của

khái niệm khoá

là hai tập thuộc tính của R Gọi β phụ thuộc dạng

hàm vào α (ký hiệu: α → β) khi và chỉ khi mỗi giá trị của α xác định một giá trị của β

 Với ví dụ trước ta có:

mã-sv → họ-tên

 Với khái niệm này, có thể định nghĩa lại 2NF: không

có tập thuộc tính không khoá nào phụ thuộc dạng

hàm vào một tập con của thuộc tính khoá

Trang 10

Các tính chất của phụ thuộc dạng hàm

Trang 11

(Tồn tại phụ thuộc dạng hàm: tác-giả → năm-sinh-tg)

tên sách năm tác-giả năm-sinh-tg

The universe in a nutshell 2001 Stephen Hawking 1942

A brief history of time 1988 Stephen Hawking 1942

Trang 12

Chuyển về 3NF

tên sách năm tác-giả

The universe in a nutshell 2001 Stephen Hawking

The Da Vinci code 2003 Dan Brown

A brief history of time 1988 Stephen Hawking

Digital fortress 1998 Dan Brown

The lost symbol 2009 Dan Brown tác-giả năm-sinh-tg

Stephen Hawking 1942

Trang 13

Dạng chuẩn Boyce-Codd – BCNF

được gọi là 3.5NF

khi: với mỗi phụ thuộc dạng hàm α → β, một trong hai điều kiện sau thoả mãn:

 Tính chất:

hợp

Trang 14

Khung nhìn

(views)

Trang 15

Khái niệm

logic, được tạo ra dựa trên các quan hệ thực, nhằm giúp thuận tiện trong sử dụng

 Ví dụ:

nhà với các người dùng thông thường

DangKy thành một quan hệ ảo khác để dễ sử dụng

 Việc sửa đổi hay trích thông tin trên khung nhìn phải đảm bảo phản ánh đúng như khi thao tác trên các quan hệ thực

Trang 16

Lý do chính dùng khung nhìn

 Chỉ làm việc trên một phần của dữ liệu

 Có thể gộp nhiều quan hệ thành một quan hệ ảo

 Tạo ra các quan hệ có khả năng tuỳ biến cao theo nhu cầu sử dụng

 Khung nhìn không lưu trữ

thêm dữ liệu, mà thực thi

Trang 17

SQL

create view tên as select …;

select

drop view tên;

 Sau khi được tạo, việc truy vấn và cập nhật dữ liệu của khung nhìn tương tự như với các quan hệ

thường

Trang 18

3 rows in set (0.00 sec)

mysql> create view t1 as select qty, price as value from t where qty>2;

Query OK, 0 rows affected (0.02 sec)

mysql> select * from t1;

Trang 19

Đánh chỉ mục

(indexing)

Trang 20

Khái niệm

nhiều so với dữ liệu không được sắp xếp

 Ví dụ: bài toán tra từ điển

Đánh chỉ mục (indexing) là việc tạo ra các cấu trúc

dữ liệu (cây, bảng băm,…) phụ để giúp tìm kiếm dữ liệu nhanh hơn

được index (VD: tìm kiếm chuỗi con,…)

Trang 21

drop index tên-index on tên-quan-hệ;

 Liệt kê các index:

(SQL Server) exec sp_helpindex tên-quan-hệ;

vẫn như trước Việc sử dụng tới các index là tự

động do DBMS tự quyết định

Trang 22

1 row in set (1.74 sec)

mysql> create index thivien_poem_AUTHOR on thivien_poem(AUTHOR);

Query OK, 40349 rows affected (1 min 14.00 sec)

Records: 40349 Duplicates: 0 Warnings: 0

mysql> select count(*) from thivien_poem where AUTHOR=20;

Trang 23

Bài tập

1 Xác định xem quan hệ sau thuộc dạng chuẩn nào:

ITEM (SKU, PromID, Vendor, Style, Price)

(SKU, PromID) → (Vendor, Style, Price)

SKU → (Vendor, Style)

2 Chuẩn hoá quan hệ trên về dạng cao hơn

3 Chọn một khoá và liệt kê các phụ thuộc dạng hàm cho:

ITEMS (PONum, ItemNum, PartNum, Desc, Price, Qty)

Ngày đăng: 07/03/2015, 10:30

TỪ KHÓA LIÊN QUAN

w