1. Trang chủ
  2. » Công Nghệ Thông Tin

Mô hình dữ liệu Mô hình thực thể liên kết Mô hình dữ liệu quan hệ

8 1,2K 6

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 663,24 KB

Nội dung

I.Mô hình thực thể liên kết 1.Thực thể và tập thực thể 2.Thuộc tính 3.Liên kết 4.Lập sơ đồ thực thểliên kết 5.Bài tập II.Mô hình dữ liệu quan hệ 1.Thuộc tínhtrường 2.Lược đồ quan hệ bảng 3.Khóa 4.Biến đổi sơ đồ thực thểliên kết sang sơ đồ quan hệ 5.Bài tập

Trang 1

Mô hình dữ liệu

Trần Việt Trung

Vũ Tuyết Trinh

trungtv@soict.hust.edu.vn

Bộ môn hệ thống thông tin Viện Công nghệ thông tin và truyền thông

Đại học Bách Khoa Hà Nội

Mô hình dữ liệu

•   Mô hình dữ liệu gồm

–   Một tập hợp các khái niệm dùng để mô tả cấu trúc của một CSDL:

•  Các kiểu dữ liệu

•  Các mối quan hệ trong dữ liệu

•  Các ràng buộc dữ liệu –   Một tập các phép toán để thao tác với các dữ liệu này

2

Ví dụ: mô hình mạng, mô hình phân cấp, mô hình quan hệ, mô hình thực thể-liên kết, mô hình hướng đối tượng

“ A data model is a plan for building a database”*

Vài nét về lịch sử

3

1965 1970 1975 1980 1985 1990 1995 2000 2005 2010

Mô hình

mạng

Mô hình

phân cấp

Mô hình

quan hệ

Mô hình hướng đối

tượng

Mô hình quan hệ mở rộng

Mô hình bán cấu trúc DMS(65),

CODASYL

(71), IDMS,

IDS

IMS,

System

2k,

System R(81), DB2,

ORACLE, SQL

Server, Sybase,

O2, ORION, IRIS,

DB2, ORACLE-10i , SQL Server

Lore (97),

XML

???

Mô hình

Thực thể-liên kết

IRDS(87)

,CDD

+,

Phân loại mô hình dữ liệu

•  Mô hình khái niệm (mức cao, ngữ nghĩa)

– Mô tả những thực thể/dữ liệu theo cách nhận thực của đa

số người dùng – Ví dụ: Mô hình thực thể liên kết, mô hình hướng đối tượng,

– Dựa trên khái niệm đối tượng

•  Mô hình logic (mức biểu diễn, cài đặt)

– Mô tả dữ liệu một cách logic, dễ dàng ánh xạ đến những cấu trúc lưu trữ của máy tính

– Ví dụ: mô hình mạng, mô hình quan hệ,

– Dựa trên khái niệm bản ghi

•  Mô hình vật l (mức thấp)

– Cho phép mô tả cách thức lưu trữ dữ liệu trong máy tính – Ví dụ: Unifying Model, Frame Memory

4

Các bước xây dựng một

CSDL

5

Mô hình hoá DL (vd: Sơ đồ thực thể-liên kết)

Mô tả DL logic với 1 mô hình DL cụ thể (vd: Sơ đồ quan hệ)

Mô tả ứng dụng

1: PHÂN TÍCH

2: THI ẾT K

Cài đặt với 1 hệ quản trị CSDL

(vd: ORACLE)

3: C ÀI ĐẶT

Mô hình hoá dữ liệu với mô hình thực thể - liên kết

Trang 2

Đặc điểm

•  Là mô hình dữ liệu thuộc mức quan niệm, sử dụng cho thiết kế CSDL

– Gần gũi với nhận thức của con người → dễ sử dụng

– Biểu diễn ngữ nghĩa phong phú của các thực thể và quan hệ giữa

các thực thể

–  Dễ chuyển đổi sang mô hình quan hệ

– Dựa trên 2 khái niệm chính

•  (tập) thực thể

•  (tập) liên kết

•  (Type & role)

•  Được biểu diễn bởi sơđồ thực thể - liên kết

7

Thực thể và thuộc tính

•  Thực thể: một đối tượng trong thế giới thực

•  Tập thực thể: gồm các thực thể có tính chất giống nhau

•  Thuộc tính: một đặc tính của một tập thực thể

–  Miền giá trị ~ tập các giá trị

có thể

–  Khoá ~ xác định sự duy nhất của 1 thực thể

8

• sv1

• sv2

• sv3 sinh_viên

maSV tenSV ngaysinh nam diachi

Kiểu thuộc tính

•  Thuộc tính đơn giản (thuộc

tính nguyên tố)

– có kiểu dữ liệu nguyên tố

•  Thuộc tính phức

– có kiểu phức, định nghĩa bởi

các thuộc tính khác

tenSV = ‘‘Trầ T Bình’’

= ‘‘Ng Đ Trung’’

9

sinh_viên

maSV tenSV ngaysinh nam

diachi so_pho quan thanh_pho

Kiểu thuộc tính (2)

•  Thuộc tính đa giá trị

– tương ứng với mỗi thực thể,

có thể nhận nhiều giá trị

•  Thuộc tính suy diễn

– có thể tính toán được từ (các) thuộc tính khác

10

mon_hoc

maMH tenmon soHT giao_vien sinh_viên

maSV tenSV ngaysinh nam

diachi tuoi

Liên kết

•   Đ/n: là sự kết hợp giữa một số thực thể

•   Thuộc tính

11

maMH tenmon soHT

maSV

tenSV

ngaysinh

nam

Ràng buộc của kết nối

  1-1: Liên kết 1 thực thể của một tập thực thể với nhiều nhất 1 thực thể của tập thực thể khác

  1-n: Liên kết 1 thực thể của một tập thực thể với nhiều thực thể của tập thực thể khác

  n-m: Liên kết 1 thực thể của một tập thực thể với nhiều thực thể của tập thực thể khác và ngược lại

  đệ quy: Liên kết giữa các thực thể cùng kiểu

12

sinh_viên n dang_ky m mon_hoc

mon_hoc

dieu_kien

lop_hoc 1 chu_nhiem 1 giao_vien

Trang 3

Lập sơ đồ thực thể - liên kết

•  B1: Xác định các thực thể

•  B2: Xác định các liên kết giữa các thực thể

– Bậc của liên kết

– Ràng buộc (1-1, 1-n, n-m, đệ quy)

13

Bài tập

•   Xác định sơ đồ thực thể - liên kết từ một mô

tả bài toán

14

Mô hình dữ liệu quan hệ

Đặc điểm

•   Dựa trên lý thuyết tập hợp

•   dễ dàng ánh xạ đến cấu trúc lưu trữ vật lý

•   Các khái niệm cơ bản

–   Thuật ngữ toán học: quan hệ, bộ và thuộc tính –   Thuật ngữ hướng dữ liệu: bảng, bản ghi và trường

•   Được biểu diễn bởi lược đồ quan hệ

16

Thuộc tính - trường

•  Đ/n: 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

– Ký hiệu: A

•  Tên thuộc tính:

– maSV, tenSV,ngaysinh,nam,diachi,lop

•  Kiểu dữ liệu, miền giá trị (Dom(A))

– text, number, boolean, date/time, memo

– maSV: text(10)

tenSV: text(30)

ngaysinh: date

nam: boolean

17

Lược đồ quan hệ - bảng

•   Đ/n: được xác định trên một tập các thuộc tính Ai

•   Ký hiệu:

R(A1,A2, … An)

•   R(A1,A2, … An) ⊆ Dom(A1) x

… x Dom(An)

18

SINH_VIEN (maSV,tenSV,ngaysinh, nam, diachi,lop)

VI DU???

Trang 4

Bộ - bản ghi

•   Đ/n: các thông tin của một đối tượng thuộc

quan hệ

•   Ký hiệu

t a1, a2, … an)

•   t(a1,a2, … an) ∈ Dom(A1) x … x Dom(An)

19

Lược đồ cơ sở dữ liệu quan hệ

•   Lược đồ cơ sở dữ liệu quan hệ (S) : là sự trừu tượng hoá của các quan hệ ở mức độ cấu trúc của một bảng 2 chiều

–   S = {Ri} –   SINH_VIEN(maSV,tenSV, ngaysinh, nam, diachi,malop) LOP(malop,lop, khoa, GVCN, loptruong)

MON_HOC(maMH,tenmon,soHT)

•   Thể hiện của quan hệ : tập hợp các bộ giá trị của quan hệ R vào một thời điểm (relation state)

20

•  

–  

•  

•  

–  

–  

–  

• 

•  

21

Khoá

•   Đ/n

–   Cho R(A1,A2, … An), K ⊆ {Ai},

–   K l à khoá nếu v ới ∀t1, t2 ∈R, ∃Ai ∈K: t1.K≠t2.K

SINH_VIEN (maSV,tenSV,ngaysinh,nam, diachi,lop)

22

Phân loại khoá

•   Khoá tối thiểu

– Cho R(A1,A2, … An), K ⊆

{Ai},

– K là khoá tối thiểu nếu K

là khoá và !∃K’⊆ K mà K’

là khoá

•   Khoá ngoài

– Cho R(A1,A2, … An),

R’(A’1,A’2, … A’m), K ⊆

{Ai},

– K là khoá ngoài của R tham

chiếu đến quan hệ R’ nếu K

là khoá chính của R’

23

SINH_VIEN (maSV,tenSV,ngaysinh,

nam, diachi,malop)

LOP(malop,lop, khoa, GVCN,

loptruong)

Rằng buộc trong cơ sở dữ liệu

•  

•  

–   Rằng buộc toàn vẹn của thực thể (entity integrity

•   –   Rằng buộc toàn vẹn tham chiếu (referential

•   Rằng buộc toàn vẹn ngữ nghĩa (semantic

–  

24

Trang 5

Biến đổi: Sơ đồ thực thể - liên kết

→ Sơ đồ quan hệ

•   Biến đổi tập các thực thể

•   Biến đổi các liên kết

•   Các khoá của các sơ đồ quan hệ

•   Các sơ đồ quan hệ với khoá chung

Ví dụ

CNTT03 Phân tích và thiết kế hệ thống 4

LOP

SINH_VIEN

27

Nhắc lại: Các bước xây dựng một CSDL

28

Mô hình hoá DL (vd: Sơ đồ thực thể-liên kết)

Mô tả DL logic với 1 mô hình DL cụ thể (vd: Sơ đồ quan hệ)

Mô tả ứng dụng

1: PHÂN TÍCH

2: THI ẾT K

Cài đặt với 1 hệ quản trị CSDL (vd: ORACLE)

3: C ÀI ĐẶT

Biến đổi các tập thực thể

B1: 1 tập thực thể -> 1 quan hệ

–   thuộc tính → thuộc tính (trường),

–   1 thực thể → 1 bộ

–   khoá của tập thực thể → khoá của quan hệ,

29

• sv1

• sv2

• sv3

86 L T N

45 H B T

56 Đ C V

21 T Q B

diachi

IT7 IT6 IT5 IT4

malop

0 29/2/1980

Ng T Phương SV0034

0 26/3/1982 Trần M Quế SV0067

1 3/2/1980

Ng Đ Trung SV0025

0 1/4/1981 Trần T Bình SV0011

nam ngaysinh tenSV

maSV

SINH_VIEN

• sv1

• sv2

• sv3

• sv4

maSV tenSV ngaysinh nam diachi malop

sinh_viên

Biến đổi các tập thực thể (2)

B2: 1 tập thực thể xác định từ tập thực thể khác (E) qua 1 liên kết

Ø   1quan hệ chứa khoá cuả E

LOPTRUONG(maSV)

30

sinh_viên la_mot lop_truong

Trang 6

Biến đổi các liên kết

B3: Liên kết 1-1

Ø   Thêm 1 quan h ệ m ới xác định bởi các thuộc tính

nằm trong khóa của các thực thể có liên quan

CHU_NHIEM_LOP(malop,maGV) è KHONG DUOC

hoặc

Ø   Dùng khoá ngoài

LOP_HOC(malop,lop,khoa,maGV)

31

lop_hoc chu_nhiem giao_vien

malop

lop

khoa

maSV ngaysinh trinhdo khoa

Biến đổi các liên kết (2)

B4: Liên kết 1-n

Ø   Thêm 1 quan hệ mới xác định bởi các thuộc tính nằm trong khóa của các thực thể có liên quan

SINHVIEN_LOP(malop,maSV)

hoặc

Ø   Dùng khoá ngoài: th êm khoá chính của quan hệ bên 1 vào quan hệ bên n làm khoá ngoài

SINH_VIEN(maSV,tenSV,ngaysinh,nam, diachi, malop)

32

lop_hoc gom sinh_vien

malop lop khoa

maSV tenSV ngaysinh nam diachi

Biến đổi các liên kết (3)

B5: Liên kết n-n

Ø   Thêm 1 quan hệ mới xác định bởi các thuộc

tính nằm trong khóa của các thực thể có liên

quan và các thuộc tính của liên kết

DANG_KY(maSV,maMH, diem)

33

sinh_viên n dang_ky m mon_hoc

maSV

tenSV

ngaysinh

nam

diachi

maMH ten soHT diem

Thuộc tính đa trị

B6: Với mỗi thuộc tính đa trị Ø   Thêm 1 quan hệ mới xác định bởi thuộc tính đa trị và khoá của tập thực thể tương ứng

MH_GV(maMH,giao_vien)

34

mon_hoc

maMH tenmon soHT giao_vien

Bài tập

•   Biến đổi sơ đồ thực thể/liên kết → sơ đồ

quan hệ

35

Kết luận

•   Mô hình thực thể-liên kết cho phép biểu diễn

dữ liệu gần với nhận thức của con người

•   Mô hình quan hệ

–   Cho phép biểu diễn logic dữ liệu –   dễ ánh xạ sang cấu trúc lưu trữ vật lý –   Dựa trên nền tảng toán học cho phép tối ưu hoá các truy xuất dữ liệu

36

“More than 90% of current database applications are built on

relational database systems which utilise relational model

as its underlying data model”*

* R Elmasri and S Navathe Fundamentals of Database Systems

Trang 7

Các điểm cần lưu ý

•  Khái niệm chung về mô hình dữ liệu

•  Mô hình thực thể - liên kết

•  Mô hình dữ liệu quan hệ

•  Các bước xây dựng một CSDL

•  Biến đổi từ sơ đồ thực thể - liên kết sang lược đồ quan hệ

37

Tài liệu tham khảo

•   Entity-Relationship Modeling: Historical Events, Future Trends, and Lessons Learned

•   Fundamentals of Database Systems (6th Edition)

38

39

Vài nét về lịch sử

•  Mô hình dữ liệu mạng:

– Được đề xuất và cài đặt đầu tiên trong hệ thống IDS (1964/1965)

– Được phát triển bởi CODASYL (1971) Sau đó tiếp tục được sử dụng rổng rãi trong các hệ thống IDMS (Cullinet), DMS 1100 (Unisys), IMAGE (H.P.), VAX -DBMS (Digital Equipment Corp.)

•  Mô hình dữ liệu phân cấp:

– Được đề xuất và cài đặt bởi IBM và North American Rockwell (1965)

–  Sử dụng rộng rãi trong các hệ thống ÍMS, ngoài ra con được sử dụng trong System 2k (SAS inc.)

–  Là một mô hình khá phổ biến

•  Mô hình quan hệ:

– Được đề xuất bởi E.F Codd (IBM-1970) –  Thương mại hoá năm1981/1982 trong System R –  Hiện được sử dụng trong rất nhiều các phần mềm thương mại như DB2, ORACLE, SQL Server, SYBASE, INFORMIX,

40

Vài nét về lịch sử (2)

•  (Các) Mô hình dữ liệu hướng đối tượng:

– Ngôn ngữ lập trình hướng đối tượng như C++ (trong

OBJECTSTORE hay VERSANT), Smalltalk (trong GEMSTONE)

–  Các hệ thống như O2, ORION (MCC - ITASCA), IRIS (at H.P.- used

in Open OODB)

•  (Các) Mô hình đối tượng-quan hệ (mô hình quan hệ mở

rộng):

– Sự kết hợp giữa mô hình hướng đối tượng và mô hình quan hệ

– Được phát triển gần đây và được thương mại hoá trong các hệ

thống Informix Universal Server,Oracle-10i, DB2, and SQL

Server,

  (Các) mô hình dữ liệu bán cấu trúc

–  Đượcđề xuất ăm 1997/1998 bởi nhóm nghiên cứu tạiĐH

Standford

– Chưa được chuẩn hoá và không được thực sự thương mại hoá

trên danh nghiă (các hệ thương mại hoá được găn với XML)

41

Clasification

•  Object-Based Logical Models

1 The Entity-Relationship Model

2 The Binary Data Model

3 The Semantic Data Model

4 The Info-logical Data Model

•  Record-Based Logical Data Models

1 The Relational Data Model

2 The Network Data Model

3 The Hierarchical Data Model

•  Physical Data Models

1 Unifying Model

2 Frame Memory

42

Trang 8

Các khái niệm cơ bản (5)

•  Phụ thuộc hàm

– R(A1,A2, … An); X, Y ⊂ {Ai}

Nếu ∃ f: XàY: X xác định

hàm Y hay Y phụ thuộc hàm

vào X

•  Ràng buộc toàn vẹn

– Một quy tắc định nghĩa trên

một hay nhiều quan hệ do

môi trường ứng dụng quy

định để đảm bảo tính nhất

quán của dữ liệu trong

CSDL

43

•  

–  

•  

–   How data is stored on the computer storage

•   In-between: representational (logic) data

–  

44

Ngày đăng: 12/10/2014, 16:58

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w