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
Trang 1BÀI GIẢNG
PHÂN TÍCH THIẾT KẾ HỆ
THỐNG THÔNG TIN
Trang 2Bà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
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ụ
Trang 31 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?
Trang 4b.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ệ
Trang 5b1 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: 1 con chỉ có 1 PHÒNG
dữ liệu: trên xuống
KÝ NĂNG PHỤ VIỆC TRANG THIẾT BỊ
Trang 7b3 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í
Trang 8b4 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ệ
Trang 92 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?
Trang 10a.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:
Trang 11b 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ị
Trang 12Trong đó, 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 )
Trang 13d 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
Trang 14e 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”
Trang 15f 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: AB 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
Trang 16g 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
Trang 17h 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
Trang 18i 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:
Trang 193 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
Trang 21b Biểu diễn các thực thể
Qui tắc chuyển
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ỉ
KHÁCH HÀNG
KHÁCH (mãkhách, tênkhách, địachỉ, mãvùng)
Trang 22c 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
hệ bên nhiều làm khoá ngoại của nó
Mãnhóm tênnhóm Mãhàng đơnvị
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)
Trang 23d 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ị
Trang 24d 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 )
Trang 25e 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ó:
Trang 26f Tích hợp các quan hệ
Loại đi những quan hệ thừa (lặp - do tích hợp từ
nhiều ERM)
Chính xác hóa các thuộc tính đồng danh, đồng nghĩa
Hợp nhất các quan hệ có cùng khóa có thể xuất
hiện quan hệ chưa cấu trúc tốt, do vậy cần chuẩn hó
tiếp tục
Kết quả của quá trình này ta nhận được các quan hệ
của mô hình đều có cấu trúc tốt
Trang 274 Ví dụ
Bài toán: Một cơ sở bán hàng sử dụng hai loại chứng
từ (khung nhìn) sau để theo dõi hoạt động kinh doanh
Số Tên Đơn Đơn Số Thành
Số Tên Đơn Đơn Số Thành
tt hàng vị giá lượng tiền
tt hàng vị giá lượng tiền
xx xxx xxx xx xx xx xx xxx xxx xx xx xx
Trang 28a Xây dựng ERM
mãhàng
ngàyđặt địachỉ KHÁCH ĐẶT HÀNG đơnvị
khuvực sốlượng sốđơn
Trang 29a.Chuyển ERM sang
Trang 30b Chuẩn hoá các quan hệ
DÒNGĐƠN (sốđơn, mãhàng, sốlượngđặt)
PHIẾUGIAO(sốphiếu, ngàyzao, mãkhách, tênnơizao) (6) DÒNGPHIẾU (sốphiếu, mãhàng,sốlượngzao,đơngiázao(7) )
Trang 31c Vẽ biểu đồ liên kết các quan hệ
Biểu diễn mỗi quan hệ bằng 1 hình chữ nhật gồm tên (khoang trên) và các thuộc tính khóa (khoang dưới)
Nối từng cặp quan hệ với nhau nếu chúng chứa cùng 1
thuộc tính khóa, nhưng 1 bên là khóa chính, bên kia là
khóa ngoại (có thể lập bảng để xác định liên kết - tiếp
sau)
Xác định bản số cho mỗi quan hệ (dựa trên ngữ
nghĩa)
Đến đây ta nhận được mô hình quan hệ gồm các
quan hệ có cấu trúc tốt và biểu đồ liên kết chúng
Trang 33e Biểu đồ liên kết của mô hình
# tênnơizao