CHƯƠNG 2

CÁC MÔ HÌNH DỮ LIỆU

1. Tổng quan Quy trình phát triển ứng dụng CSDL

Source: Data Modeling Using Entity-Relationship Model, NGUYEN Kim Anh

Data modelling – Mô hình hóa dữ liệu

• Mục đích:

– Mô tả dữ liệu sẽ lưu trữ trong cơ sở dữ liệu (ví dụ các thực thể như sinh viên, bài học,…)

– Mô tả mối quan hệ giữa các dữ liệu – Mô tả các ràng buộc đối với dữ liệu

• Mô hình dữ liệu là :

– Một sự hình thức hóa toán học với một tập ký hiệu để mô tả dữ liệu

– Một tập các phép toán được sử dụng để

thao tác các dữ liệu

2. Mô hình thực thể liên kết (Entity Relationship Diagrams)

• Thực thể • Thuộc tính • Liên kết

Thực thể (Entity) • “Là một đối tượng cụ thể hay trừu tượng

trong thế giới thực mà nó tồn tại và có thể phân biệt với các đối tượng khác”

• Ví dụ: sinh viên, cán bộ • Tập thực thể: nhóm các thực thể giống

nhau

real customers

Tên của thực thể là duy nhất

customer surrogates

Thuộc tính (Attribute)

• Thuộc tính là một thông tin về thực thể. • Một thuộc tính có một miền giá trị • Thuộc tính (tập thuộc tính) khóa là thuộc tính (hay tập thuộc tính) mà giá trị của nó được xác định duy nhất cho mỗi thực thể

• Ví dụ:

– Số chứng minh thư nhân dân là thuộc tính khóa cho nhân viên trong một xí nghiệp

– Username và password là tập thuộc tính khóa

cho một tài khoản thư

Ví dụ

Mã số Giới tính Họ tên

Nhân viên

Tuổi Ngày sinh

Thực thể yếu (Weak entity)

-Là thực thể phụ thuộc vào thực thể khác -Liên kết định danh

+là liên kết giữa thực thể yếu và thực thể định danh nó

Thực thể yếu (Weak Entity)

VD:

-Thân nhân là thực thể yếu -Nhân viên là thực thể định danh của thân

nhân

-Phụ thuộc là liên kết định danh

Thực thể yếu(Weak Entity)

Giới tính Quan hệ Ngày sinh

Mã số

Tên Nhân viên Thân nhân Phụ thuộc

Liên kết 1-1 1 1

current marriage

partial functions

male- customer female- customer

A partial function from X to Y is a function ƒ: X' → Y, where X' is a subset of X

Liên kết 0-N và 1-N

N 1

partial function

airport from flt-schedule

Liên kết bắt buộc 0-N và 1-N

N 1

total function

airport from flt-schedule

Liên hết N-M (nhiều-nhiều)

N M customer reservation flt-instance

Liên hết N-M (nhiều-nhiều)

N

N

Đội bóng

Cấu thủ

Thi đấu cho đội nào

Sân nhà

tên

tên

Mức lương

Quốc tịch

Tài chính

Thể trạng

Liên kết lặp

out

connection

flt#

in

departure time

arrival time

flt-schedule

Liên kết «is-a»

• A “is-a” B nếu B là sự tổng quát hóa của A

Tên Thể lực Tốc độ MãNV Lương

Là-một Nhân viên Cầu thủ

2. Mô hình quan hệ

• Tích đề các (Cartesian Product): Tích đề các () của n tập là tập tất cả các cách kết hợp của các thành phần trong n tập.

• Miền giá trị (Domain) của một thuộc tính là tập tất cả các giá trị có thể của một thuộc tính. Kí hiệu miền giá trị của thuộc tính A là dom(A).

3. Mô hình quan hệ • Sơ đồ quan hệ (Relation Schema) biểu diễn R(A1, A2, …, An) là một quan hệ R và danh sách các thuộc tính A1, A2, …, An.

• Quan hệ (Relation): là một tập con của tích

Đề các trong miền giá trị. – Sơ đồ quan hệ R, – Quan hệ r – Tập các thuộc tính A1..An r(R)  (dom(A1)  dom(A2)  ...  dom(An))

3. Mô hình quan hệ (tt)

• Bộ quan hệ ((N)-tuple): là một tập các cặp thuộc tính-giá trị biểu diễn một thể hiện của quan hệ. • Bậc quan hệ (Degree) : là số thuộc tính của quan

hệ.

• Lực lượng của quan hệ (Cardinality): là số bộ

của quan hệ.

3. Mô hình quan hệ (tt)

• Khóa (Key): là một tập thuộc tính mà các giá trị của nó xác định duy nhất

một bộ trong quan hệ.

– t1 và t2 là 2 bộ trong quan hệ r trên mô hình quan hệ R

– sk là một tập các thuộc tính khóa

– t1[sk]  t2[sk].

• Khóa tối thiểu (Candidate key):

là tập thuộc tính khóa nhỏ nhất. Một

quan hệ có thể có nhiều tập khóa tối thiểu.

• Khóa chính (primary key): là khóa tối thiểu được lựa chọn làm khóa cho

quan hệ.

• Khóa ngoài (Foreign Key): là khóa tối thiểu của quan hệ A và được sử

dụng trong quan hệ B.

• Cơ sở dữ liệu: Là một tập quan hệ

3. Mô hình quan hệ - Ví dụ

Courseno Subject Lecturer Machine

CS250 Programming Lindsey Sun

CS260 Graphics Hubbold Sun

CS270 Micros Woods PC

CS290 Verification Barringer Sun

Course(Courseno, Subject, Lecturer, Machine)