Tải bản đầy đủ (.ppt) (33 trang)

Bài 7 Mô hình dữ liệu Logic

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (890.14 KB, 33 trang )

BÀI GIẢNG
PHÂN TÍCH THIẾT KẾ HỆ
THỐNG THÔNG TIN
Bài 7- Mô hình dữ liệu logic
Nội dung
 Mô hình dữ liệu lôgic: Mô hình dữ liệu quan
hệ (Relational Data Model)
 Các thành phần của mô hình quan hệ
 Chuyển một ERM sang mô hình quan hệ
 Các bước để thiết kế 1 cơ sở dữ liệu logic
 Ví dụ
Oct - 2007
2
1. Mô hình dữ liệu lôgic
a. Câu hỏi
 Mô hình dữ liệu logic là gì?
 Có những loại mô hình dữ liệu logic nào?
Đặc trưng mỗi loại?
 Tại sao cần mô hình dữ liệu lôgic?
Oct - 2007
4
b.Mô hình dữ liệu logic
 Khái niệm: Mô hình dữ liệu logic là sự mô tả các dữ
liệu sao cho một hệ quản trị CSDL có thể xây dựng
trên nó để tổ chức việc lưu trữ và khai thác dữ liệu một
cách hiệu quả.
 Cho đến nay đã có 4 loại mô hình dữ liệu lôgic:
 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ệ
 Mô hình dữ liệu hướng đối


tượng
 Mô hình được nhiều hệ quản trị CSDL sử dụng là mô
hình quan hệ.
Oct - 2007
5
b1. Mô hình dữ liệu phân cấp
 Các bản ghi sắp xếp từ
trên xuống tạo thành một
cây.
 Thuật ngữ cha, con được
sử dụng mô tả mô hình:
PHÒNG
 1 con chỉ có 1 cha.
 1 cha có thể có nhiều con
NHÂN VIÊN
DỰ ÁN
 Mô hình chỉ biểu diễn 1
pham vi hẹp các cấu trúc
dữ liệu: trên xuống
KÝ NĂNG
PHỤ VIỆC
TRANG THIẾT BỊ
Oct - 2007
6
b2. Mô hình dữ liệu mạng
 1 bản ghi có thể được kết nối với
1số bất kỳ các bản ghi khác
 Nó đã phát triển vượt qua được
phạm vi ứng dụng hạn hẹp của mô
hình phân cấp.

 Tuy vây, cấu trúc là phức tạp cho
PHÒNG
việc quản lý.
NHÂN VIÊN DỰ ÁN
PHỤ VIỆC
TRANG THIẾT BỊ
Oct - 2007
7
b3. Mô hình dữ liệu quan hệ
 Mô hình dữ liệu quan hệ
cấu thành từ các bảng
dữ liệu hai chiều có quan
PHÒNG
hệ lôgíc với nhau thông
qua các giá trị cột khóa
mãphòng tênphòng
vịtrí
P10
Kỹ thuật bắc
 Nó được xây dựng trên
P20
Kế toán
đông
cơ sở toán học tập hợp:
đơn giản nhưng hiệu quả
NHÂN VIÊN
 Hiện được sử dụng
mã nhân viên họ tên telephon mã phòng
rộng rãi trong các hệ
NV001 Nguyễn văn 8.775566 P10

QTCSDL
A
NV002 Trần thị B 7.234544 P20
Oct - 2007
8
b4. Mô hình dữ liệu h1ướng đối tượng
 Mô hình dữ liệu hướng đối tượng là một loại mô
hình mới để lưu trữ dữ liệu của các đối tượng, bao
gồm cả thuộc tính dữ liệu và hành vi của chúng
 Mô hình phát triển chưa lâu, chưa hoàn chỉnh.
 Đã có một số cơ sở dữ liệu hướng đối tượng,
nhưng chưa được hoàn thiện, chưa được sử dụng
rộng rãi.
 Nhiều hệ thống hướng đối tượng, nhưng việc lưu
trữ dữ liệu của nó vẫn sử dụng hệ CSDL quan hệ
Oct - 2007
9
2. Mô hình dữ liệu quan hệ
Câu hỏi
 Mô hình cấu thành từ những bộ phận nào?
 Những yêu cầu gì đặt ra cho một quan hệ?
 Quan hệ có cấu trúc tốt là gì?
 Những yếu tố nào xác định cấu trúc của quan hệ?
Có những dạng cấu trúc (chuẩn) nào?
 Nội dung chuẩn hóa để được quan hệ cấu trúc tốt?
 Các ràng buộc toàn vẹn trong mô hình quan hệ là gì?
 Tiến trình phát triển một thiết kế CSDL liệu lôgic?
Oct - 2007
10
a.Khái niệm: mô hình quan hệ

Mô hình quan hệ bao gồm:
 Các quan hệ
 Các liên kết giữa chúng: thể hiện ra bằng mô
hình liên kết giữa các quan hệ
 Quan hệ là một bảng dữ liệu 2 chiều gồm:
 Các cột có tên, gọi là các thuộc tính của nó
 Các dòng không có tên, gọi là các bộ dữ liệu hay
bản ghi
Và có các tính chất sau:
Oct - 2007
11
b. Tính chất của một quan hệ
Và có các tính chất:
 Phần tử nằm giao giữa dòng và cột là duy nhất
 Các phần tử trong 1 cột thuộc 1 miền giá trị
 Các dòng là khác nhau
 Thứ tự các dòng là không quan trọng (cập
nhật theo thứ tự bất kỳ)
 Thứ tự các cột là không quan trọng (sắp đặt tùy ý)
Oct - 2007
12
c. Ví dụ: quan hệ
SINH VIÊN
mãsv tênsv ngàysinh lớp mônhọc điểm
97001
Nguyễ n T.Tài
13/05/80 K41C CSDL 7
97002
Trần H.Tráng
08/10/79 K41T CSDL 8

97002
Trần H.Tráng
08/10/79 K41T C++ 7
98001 Hoàng .Minh 15/12/80 K42T C++ 9
98006 Lê H.Nhung 12/06/81 k42T Anh 9
K41C
Trong đó, SINHVIÊN là tên quan hệ,
 mãsv, tênsv, ngaysinh, lớp, mônhọc, điểm: là các
thuộc tính  mỗi dòng là 1 bộ dữ liệu xác định duy nhất nhờ
khóa (mãsv,mônhọc )
Oct - 2007
13
d. Lược đồ của một quan hệ
 Một quan hệ có thể không chứa 1 dòng dữ liệu nào.
Khi đó nó được gọi là 1 lược đồ quan hệ
 Cho 1 lược đồ quan hệ bao gồm:
 Tên quan hệ,
 Các thuộc tính và ràng buộc giữa chúng
Ví dụ: quan hệ SINHVIÊN có lược đồ sau:
SINHVIÊN (mãsv, tênsv, ngàysinh, lớp, mônhọc, điểm)
và Tập U= {các ràng buộc phụ thuộc giữa các
thuộc tính} sau này ta gọi tập U là các phụ thuộc
hàm
Oct - 2007
14
e. Một quan hệ có cấu trúc tốt
 Quan hệ được sử dụng để lưu dữ liệu trong các
CSDL nên nó cần có cấu trúc sao cho khi cập nhật
(xem, sửa, xóa) không gây ra sai sót dữ liệu.
 1 quan hệ có cấu trúc tốt: có dư thừa ít nhất và

cho phép thêm, sửa, xóa dữ liệu trong nó mà
không gây ra lỗi hoặc sự thiếu nhất quán.
 Quan hệ SINHVIÊN là không có cấu trúc tốt, vì khi
sửa K41T ở dòng 3 thành K41C thì dẫn đến sai
vì thiếu nhất quán: “sinh viên Trần H.Tráng vừa
thuộc lớp K41T , vừa thuộc K41C”
Oct - 2007
15
f. Phụ thuộc hàm giữa thuộc tính
 Phụ thuộc hàm: Cho 1 quan hệ R với A & B là 2 tập
thuộc tính phân biệt của nó. B gọi là phụ thuộc hàm
vào A nếu đối với mỗi dòng các giá trị của A xác
định duy nhất các giá trị của B.
 Sự phụ thuộc hàm của B vào A còn gọi là A xác định B
và được ký hiệu: AB. Có hệ tiên đề về phụ thuộc hàm
 Ví dụ, trong quan hệ SINH VIEN có 2 phụ thuộc hàm:
{mãsv} {tênsv, ngàysinh, lớp}
{mãsv, môn} {điểm}
 xác định các phụ thuộc hàm dựa trên ngữ nghĩa của chúng
Oct - 2007
16
g. Các khóa trong một quan hệ
 Khóa dự tuyển của 1 quan hệ là tập các thuộc tính mà
giá trị của chúng xác định giá trị của các thuộc tính còn
lại trên mỗi dòng.
 Khóa của 1 quan hệ là 1 khóa dự tuyển và tối thiểu -
nghĩa là: nếu bỏ đi 1 thuộc tính trong khóa thì nó không
còn là 1 khóa dự tuyển
 Khóa ngoại là 1 thuộc tính của quan hệ mà là thuộc
tính khóa chính của 1 quan hệ khác.

 Có nhiều thuật toán xác định khóa. Khóa tốt là khóa có
ít thuộc tính nhất.
Oct - 2007
17
h. Các dạng chuẩn
Ba chuẩn cơ bản:
 Chuẩn 1 (First Normal Form - 1NF): 1 quan hệ là chuẩn
1 nếu không chứa thuộc tính lặp
 Chuẩn 2 (2NF): 1 quan hệ là chuẩn 2 nếu:
ƒ Là 1NF
 Không chứa thuộc tính phụ thuộc vào 1 phần khóa
 Chuẩn 3 (3NF): 1 quan hệ là chuẩn 3 nếu:
ƒ Là 2NF
 Không chứa thuộc tính phụ thuộc bắc cầu vào khóa
Ngoài ra còn có các chuẩn Boyce Codd, chuẩn 4, chuẩn 5
Oct - 2007
18
i. Các ràng buộc toàn vẹn trong
mô hình quan hệ
 Toàn vẹn thực thể: Khóa xác định duy nhất các bản ghi
 giá trị khóa khác null
 Toàn vẹn giá trị thuộc tính: mỗi thuộc tính phải thuộc 1
miền giá trị xác đinh (xác định = kiểu, kích cỡ/giới hạn,
định dạng).
 Toàn vẹn tham chiếu: Khóa ngoại xác định mối quan hệ
ràng buộc (lôgic) giữa hai quan hệ
 Các toàn vẹn khác: Các trigger là công cụ tổ chức các
ràng buộc nghiệp vụ (đa dạng) khác về dữ liệu:
Oct - 2007
19

3. Phát triển mô hình DL lôgic
Quá trình phát triển một mô hình dữ liệu lôgic
cho một ứng dụng qua 2 pha:
1. Xây dựng mô hình dữ liệu quan niệm - kết
quả là một mô hình thực thể - mối quan hệ
(ERM)
2. Chuyển mô hình thực thể mối quan hệ sang
một mô hình dữ liệu lôgic: mô hình quan
hệ
Sau đây trình bày nội dung quá trình chuyển
này
Oct - 2007
20
a. Tiến trình phát triển MHDLLG
Mô hình
Biểu
Biểu Chuẩn
thực thể
diễn các
diễn các hoá các
-mối quan
mối
thực thể quan hệ
hệ: ERM
quan hệ
Mô hình dữ
Vẽ biểu
Hợp
liệu lôgic:
đồ của

nhất các
Mô hình
mô hình
quan hệ
quan hệ
Oct - 2007
21
b. Biểu diễn các thực thể
 Qui tắc chuyển
 Tên thực thể tên quan hệ
 Thuộc tính thực thể thuộc tính quan hệ
 Thuộc tính định danh khoá quan hệ
tênkhách
địachỉ
mãkhách
mãvùng
KHÁCH HÀNG
KHÁCH (mãkhách, tênkhách, địachỉ, mãvùng)
Oct - 2007
22
c. Biểu diễn các mối quan hệ loại 1
a. Mối quan hệ bậc 2, dạng 1:m và không có thuộc tính
riêng: thêm khoá của quan hệ bên 1 vào quan
hệ bên nhiều làm khoá ngoại của nó
Mãnhóm
đơnvị
tênnhóm
Mãhàng
tênhàng
NHÓM HÀNG

THUỘC
HÀNG
NHÓMHÀNG (mãnhóm, tênnhóm)
HÀNG (mãhàng, tênhàng, đơnvị, mãnhóm)
Oct - 2007
23
d. Biểu diễn mối quan hệ loại 2
b. Mối quan hệ dạng khác trường hợp (a) trên: thêm
một mối quan hệ mới gồm các thuộc tính
là :
 Thuộc tính riêng của mối quan hệ
 Các định danh của các thực thể liên quan
Mãkhách
tênkhách
sốđơn
Mãhàng
tênhàng
địachỉ
KHÁCH
ĐẶT
HÀNG
khuvực
sốlượng
ngàyđặt đơnvị
Oct - 2007
24
d. Biểu diễn mối quan hệ loại 2
 Mối quan hệ dạng khác trường hợp trên: thêm
1quan hệ mới :
mãkhách

tênkhách
sốđơn
mãhàng
tênhàng
địachỉ
KHÁCH
ĐẶT
HÀNG
khuvực
sốlượng
ngàyđặt đơnvị
ĐƠNHÀNG (sốđơn, ngàyđặt, sốlượng, mãkhách, mãhàng)
Oct - 2007
25
e. Xác định khóa và chuẩn hóa
 Chỉ cần xét các quan hệ thêm vào ở bước 2
 Nếu 1 quan hệ chưa 1NF thì chuẩn hóa nó:
 Tách các thuộc tính lặp và phần khóa xác định
nó thành 1 quan hệ.
 Quan hệ còn lại: gồm các thuộc tính còn lại và
toàn bộ khóa nhưng không chứa thuộc tính lặp
Ví dụ:
ĐƠNHÀNG (sốđơn, ngàyđặt, sốlượng• mãkhách, mãhàng•)
DÒNGĐƠN(sốđơn, mãhàng, sốlượng)
ĐƠNHÀNG (sốđơn, ngàyđặt, mãkhách)
Oct - 2007
26

×