1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo môn phương pháp mô hình hóa lớp se10 k21 đề tài chuyển đổi giữa mô hình erd và mô hình quan hệ

28 9 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

Tiêu đề Chuyển đổi giữa mô hình ERD và mô hình quan hệ
Tác giả Nhóm 10: Châu Minh Quang, Lê Minh Vương, Nguyễn Hữu Trí
Người hướng dẫn Lê Thanh Trọng
Trường học Trường Đại Học Công Nghệ Thông Tin - Khoa Công Nghệ Phần Mềm
Chuyên ngành Kỹ Thuật Phần Mềm
Thể loại Báo cáo môn phương pháp mô hình hóa
Năm xuất bản 2020
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 28
Dung lượng 3,45 MB

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

Nội dung

ớ ệ ệ1.Giới thiệu mô hình quan hệ -thực thể ER: -Lịch sử: Được CHEN giới thiệu vào năm 1976 là một mô hình được sử dụng rộng rãi trong các bản thiết kế cơ sở dữ liệu ở mức khái niệm, xây

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Châu Minh Quang 18521290

Nguyễn Hữu Trí 18521528

TP Hồ Chí Minh, ngày 15 tháng 05 năm 2020

1

Trang 2

M ụ c L ụ c

I.Giới thiệu mô hình ER và mô hình quan hệ 4

1.Giới thiệu mô hình quan hệ -thực thể ER: 4

a) Loại thực thể: 4

b) Thực thể: 4

c) Thuộc tính của loại thực thể: 5

d) Khóa của loại thực thể: 5

e) Loại mối kết hợp: 6

f) Số ngôi của loại mối kết hợp: 6

g) Thuộc tính của loại mối kết hợp: 6

h) Bản số: 6

2.Giới thiệu mô hình quan hệ 8

a) Thuộc tính (attribute) 8

b) Quan hệ (relation) 8

c) Bộ (tuple) 9

d) Tân từ 9

e) Khóa chính (primary key) 9

f) Khóa ngoại(foreign key): 10

3.Sự khác nhau giữa mô hình ER và mô hình quan hệ: 10

4.Lí do tại sao phải chuyển đổi giữa 2 mô hình: 11

II.Cách chuyển mô hình quan hệ ER và mô hình quan hệ 11

III Mô hình EER: 17

1 Tính kế thừa 18

2 Ràng buộc 18

a Ràng buộc rời rạc 19

Trang 3

c Ràng buộc đầy đủ 20

3 Chuyên biệt phân cấp và lưới 21

4 Kiểu hợp (union) 23

5 Tại sao nên dùng EER ? 23

IV Chuẩn hóa mô hình quan hệ : 23

1 Dạng chuẩn 1NF 24

2 Dạng chuẩn 2NF 25

3 Dạng chuẩn 3NF 26

4 Dạng chuẩn Boyce-Codd 27

V Tài liệu tham khảo: 28

3

Trang 4

I.Gi i thi u mô hình ER và mô hình quan h ớ ệ ệ

1.Giới thiệu mô hình quan hệ -thực thể ER:

-Lịch sử: Được CHEN giới thiệu vào năm 1976 là một mô hình được sử dụng rộng rãi trong các bản thiết kế cơ sở dữ liệu ở mức khái niệm, xây dựng việc nhận thức thế giới thông qua tập các đối tượng được gọi là các thực thể và mối quan hệ giữa các đối tượng đó

- Vai trò trong quá trình thiết kế cơ sở dữ liệu: phân tích dữ liệu, xác định các đơn vị thông tin cần thiết của các tổ chức, mô tả cấu trúc và mối liên hệ giữa chúng E-R là mô hình trung gian để chuyển những yêu cầu quản lý dữ liệu trong thế giới thực thành mô hình cơ sở dữ liệu quan hệ

-Mục đích: làm thống nhất quan điểm về dữ liệu của những người tham gia hệ thống: Người quản lý, người dùng cuối, người thiết kế hệ thống Xác định các xử

lý về dữ liệu cũng như các ràng buộc trên các dữ liệu Giúp đỡ việc thể hiện cơ sở

dữ liệu về mặt cấu trúc: Sử dụng thực thể và các mối liên kết giữa các thực thể -Các thành phần cụ thể:

Trang 5

-Ví dụ: Loại thực thể là Học sinh có các thực thể :

(‘HS001’,’Nguyen Van A’,’10/2/1999’,’Nam’)

(‘HS002’,’Nguyen Thi B’,’8/5/2001’,’Nu’)

c) Thu c tính c a lo i th c th :ộ ủ ạ ự ể

-Là những tính chất đặc trưng của loại thực thể

-Ví dụ: Khách hàng có các thuộc tính: Mã khách hàng , Ngày sinh , Địa chỉ , Số điện thoại, …

-Ký hiệu:

-Các loại thuộc tính:

+Đơn trị: mỗi thực thể chỉ có 1 giá trị tương ứng với 1 thuộc tính

Ví dụ: Mã học sinh, Họ tên, …

+Đa hợp (Composite): thuộc tính có thể được tạo thành từ nhiều thành phần

Ví dụ: Địa chỉ(Số nhà, Đường, Phường, Quận)

Họ Tên(Họ, Tên lót, Tên)

+Đa trị (Multi-valued): thuộc tính có thể có nhiều giá trị đối với một thực thể

Ví dụ: Bằng cấp {Bằng lái xe, Bằng kỹ sư, Bằng bác sĩ, …}

d) Khóa c a lo i th c th :ủ ạ ự ể

-Khóa của loại thực thể là thuộc tính nhận diện thực thể

-Căn cứ vào giá trị của khóa có thể xác định duy nhất một thực thể

Ví dụ: Mỗi học sinh có một mã số duy nhất => Khoá của loại thực thể Học sinh là

Mã học sinh

5

Mã khách hàngNgày sinhKhách hàng

Số điện thoạiĐịa chỉ

Trang 6

e) Lo i môối kếốt h p:ạ ợ

-Là sự liên kết giữa hai hay nhiều loại thực thể

Ví dụ: giữa hai loại thực thể Học sinh và Lớp có loại mối kết hợp Thuộc

Ký hiệu: bằng một hình oval hoặc hình thoi

f) Sôố ngôi c a lo i môối kếốt h p:ủ ạ ợ

-Là số loại thực thể tham gia vào loại mối kế hợp đó

Ví dụ: Loại mối kết hợp Thi kết hợp 3 loại thực thể Học sinh, Môn học, Lần thi nên có số ngôi là 3

g) Thu c tính c a lo i môối kếốt h p:ộ ủ ạ ợ

-Bao gồm các thuộc tính khoá của các loại thực thể tham gia vào loại mối kết hợp đó

Ngoài ra, còn có thể có thêm 1 số thuộc tính khác

Ví dụ: Loại mối kết hợp Thi giữa ba loại thực thể Học sinh, Môn học và Lần thi có các thuộc tính là Mã học sinh, Mã môn học, Lần thi, ngoài ra còn có thuộc tính riêng là Điểm, Ngày thi

Trang 7

-Là số lượng tối thiểu và số lượng tối đa các thực thể thuộc nhánh đó tham gia vào loại mối kết hợp.

-Ký hiệu: (số lượng tối thiểu, số lượng tối đa)

Ví dụ: Loại thực thể Học sinh và Lớp có loại mối kết hợp Thuộc

Lớp

1-n

Trang 8

2.Giới thiệu mô hình quan hệ

- Được giới thiệu bởi E.F.Codd để mô hình hóa dữ liệu dưới dạng quan hệ hoặc bảng Sau khi thiết kể mô hình mức khái niệm bằng sơ đồ ER, chúng ta cần chuyển đổi mô hình khái niệm trong mô hình quan hệ bằng các ngôn ngữ RDMVS như Oracle SQL, MySQL, v.v

- Mô hình quan hệ thể hiện các dữ liệu được lưu trữ trong Cơ sở dữ liệu quan hệ Một cơ sở dữ liệu quan hệ lưu trữ dưới dạng quan hệ Ví dụ một quan hệ Sinh viên quan hệ với các thuộc tính ROLL_NO, Tên, Địa chỉ, Điện Thoại và tuổi,

- Các thành phần cụ thể:

a) Thu c tính (attribute)

Thuộc tính bao gồm :

-Tên gọi: dãy ký tự (gợi nhớ)

-Kiểu dữ liệu: Số, Chuỗi, Thời gian, Luận lý

-Miền giá trị: tập giá trị mà thuộc tính có thể nhận.Ví dụ:GIOITINH kiểu dữ liệu

là Chuỗi, miền giá trị Dom(GIOITINH)=(‘Nam’,’Nu’)

Tại một thời điểm, một thuộc tính không có giá trị hoặc chưa xác định được giá trị

=> giá trị Null

NV

Trang 9

b) Quan h (relation)

Định nghĩa: quan hệ là một tập hữu hạn các thuộc tính Ký hiệu: Q(A1,A2,A3,…)Trong đó Q là tên quan hệ, (A1,A2,A3,…) là tập các thuộc tính của quan hệ Q

Ví dụ:

HOCVIEN (Mahv, Hoten, Ngsinh, Gioitinh, Noisinh, Malop)

LOP (Malop, Tenlop, Siso, Trglop, Khoa)

d) Tân từ

Định nghĩa: tân từ là một quy tắc dùng để mô tả một quan hệ

Ví dụ: THI (Mahv, Mamh, Lanthi, Diem)

||THI||: mỗi học viên được phép thi một môn học nhiều lần, mỗi lần thi lưu trữ học viên nào thi môn gì? lần thi thứ mấy? và điểm là bao nhiêu?

e) Khóa chính (primary key)

Khóa chính dùng để định danh mỗi một record (dòng) trong quan hệ (table) duy nhất của cơ sở dữ liệu

9

Trang 10

Các thuộc tính nằm trong khóa chính khi liệt kê trong quan hệ phải được gạch dưới

Ví dụ:

HOCVIEN (Mahv,Hoten,Gioitinh,Noisinh,Malop)

GIANGDAY(Mamh,Malop,Magv,Hocky,Nam)

f) Khóa ngo i(foreign key):

Khóa ngoại của 1 bảng được xem như là con trỏ trỏ tới khóa chính của các bảng khác

3.Sự khác nhau giữa mô hình ER và mô hình quan hệ:

Là mô hình khái niệm cấp cao Là mô hình đại diện thực hiện

Trang 11

Có thể dùng cho người không biết cơ

sở dữ liệu thực thi thế nào Dược dùng bởi lập trình viênĐại diện cho một bộ các thực thể và

mối quan hệ giữa chúng Biểu thị dữ liệu dưới dạng bảng vàmối quan hệ của chúngBao gồm các gói như thực thể, loại

thực thể Bao gồm tên miền, thuộc tính, bộ dữliệu

Có thể hiểu được mối quan hệ giữa

các thực thể dễ dàng

Rút ra các mối quan hệ giữa các bảngkhác nhau khó hơn

4.Lí do tại sao phải chuyển đổi giữa 2 mô hình:

Giúp việc quản lí cơ sở dữ liệu trên máy tính trở nên dễ dàng hơn và mang tính tổ chức và giúp người dùng dễ hình dung , nắm bắt mọi thông tin cần quản lí cũng như giúp người xây dựng hệ thống có cái nhìn trực quan về hệ thống mình đang xây dựng

II.Cách chuy n mô hình quan h ER và mô hình quan h ể ệ ệ

Ba thành phần của quá trình chuyển đổi:

Trang 12

Chuyển thành quan hệ mới có khoá chính gồm thuộc tính đa trị và thuộc tính

khoá của thực thể Sau khi chuyển thành quan hệ mới, thuộc tính đa trị sẽ biến mất khỏi thực thể cũ

 Mô hình ER cho Project:

Trang 13

 Chuyển thực thể Project sang mô hình quan hệ:

Thuộc tính Location không có trong quan hệ vì nó là thuộc tính đa trị.Project (project_id, name, number)

Project_Location(project_id,location)

Bước 2: Cho mỗi thực thể yếu ( Weak Entity) trong mô hình ER, tạo thành quan hệ

R, tất cả thuộc tính đơn giản của thực thể trở thành thuộc tính của R Thêm vào đó, thuộc tính định danh của thực thể chủ trở thành khóa ngoại của R

Khóa chính của R là sự kết hợp giữa thuộc tính định danh của thực thể chủ và thuộc tính đinh danh của thực thể yếu

13

Trang 14

 Mô hình ER cho EMPLOYEE và DEPENDENT:

 Chuyển thực thể sang mô hình mô hình quan hệ:

EMPLOYEE( Em_id, Address, Name)

-Với lược đồ DEPENDENT thì khóa chính sẽ là Em_id và De_id

DEPENDENT( Em_id,De_id, Name, Sex, Relationship)

Bước 3: Chuyển quan hệ 2 ngôi 1:1

- Đầu tiên chuyển mỗi thực thể và mối quan hệ sang các bảng Thuộc tính

khóa của bên này được lấy làm khóa ngoại bên kia hoặc ngược lại

Trang 15

Bước 4: Chuyển quan hệ 1:N

- Cho mỗi liên kết trong mô hình ER Chuyển khóa chính của quan hệ 1

sang làm khóa ngoại của quan hệ N

- Với mối quan hệ đệ quy 1:N ( mối kết hợp phản thân ) ta thêm khóa

chính của thực thể bên ngôi số 1 vào trong thuộc tính của quan hệ

15

Trang 16

Bước 5: Chuyển mối quan hệ N:N

- Sinh ra quan hệ mới, chuyển khóa chính của hai mối quan hệ thành khóa

ngoại của quan hệ mới, khóa chính của quan hệ mới là sự kết hợp của cáckhóa ngoại

*Code SQL Quản lí đề án công ty:

create table PHONGBAN

( MaPB int primary key ,

TenPB varchar (10

)

create table DIADIEM

(MaDD int primary key ,

TenDD varchar (10)

)

create table NHANVIEN

(MaNV int primary key ,

MaQL int ,

MaPB int foreign key references PHONGBAN (MaPB),

TenNV varchar (15

GioiTinh varchar ( ),

Trang 17

create table THANNHAN

MaDA int primary key ,

MaPB int foreign key references PHONGBAN ( MaPB ),

TenDA varchar (10

DiaDiemDA varchar (25)

)

create table NHANVIEN_DEAN

( MaNV int foreign key references NHANVIEN ( MaNV ),

MaDA int foreign key references DEAN ( MaDA ),

constraint PK_NHANVIEN_DEAN primary key (MaNV MaDA , ),

ThoiGian smalldatetime

)

create table TRUONGPHONG

( MaNV int foreign key references NHANVIEN ( MaNV ),

MaPB int foreign key references PHONGBAN ( MaPB ),

constraint PK_TRUONGPHONG primary key ( MaNV,MaPB ),

NgayNhanChuc smalldatetime

)

create table QUANHE

(

MaTN int foreign key references THANNHAN ( MaTN ),

MaNV int foreign key references NHANVIEN ( MaNV ),

TenQuanHe varchar (10)

)

create table DIADIEM_PHONGBAN

(

MaDD int foreign key references DIADIEM (MaDD),

MaPB int foreign key references PHONGBAN ( MaPB ),

constraint PK_DIADIEM_PHONGBAN primary key (MaDD MaPB , )

)

III Mô hình EER:

- Các khái niệm cơ bản về mô hình ER không đủ để biểu diễn một số ứng

dụng phức tạp: CSDL dùng cho công nghệ và sản xuất như viễn thông, khai phá dữ liệu, vì vậy cần thêm vào ER một số khái niệm để tăng khả

17

Trang 18

năng mô tả đối tượng rõ ràng và chính xác hơn… Mô hình EER là giải pháp bằng việc thể hiện các khái niệm trừu tượng và ràng buộc rõ ràng hơn.

- Một số khái niệm cơ bản trong mô hình EER như : các đặc tính có trong

kế thừa và chuyên biệt, lưới và kiểu hợp

1 Tính kế thừa

- Lớp con thừa kế thuộc tính và quan hệ của lớp cha và có thể có một số

thuộc tính và quan hệ riêng của nó Mối quan hệ giữa lớp cha và lớp con còn gọi là kiểu IS-A và là liên kết 1:1

Nhân viên có thể là Quản lí, nhân viên kĩ thuật,…

- Mô hình EER còn có tính chất tổng quát hóa và đặc biệt hóa.

2 Ràng buộc

Trang 19

a Ràng bu c r i r cộ ờ ạ

- Ràng buộc rời rạc mô tả mối quan hệ giữa lớp cha và lớp con phải độc

lập hoàn toàn ( một thực thể của lớp cha chỉ thuộc một lớp con được đặc biệt hóa)

- Trong sơ đồ EER, ràng buộc rời rạc được kí hiệu bởi chữ d (disjoint) nằm

trong vòng tròn

b.

Ràng bu c chôồng chéo

19

Trang 20

- Ràng buộc chồng chéo cho biết mối quan hệ giữa lớp cha và các thực thể

ở lớp con không thể tách rời được ( một thực thể có thể là thành viên của của nhiều lớp con theo sự đặc biệt hóa)

- Trong lược đồ EER, ràng buộc này được mô tả bởi chữ o bên trong vòng

tròn

c Ràng bu c đâồy độ ủ

- Ràng buộc đầy đủ bao gồm :

o Ràng buộc toàn bộ cho biết tất cả các thực thể của lớp cha phải là thành viên của ít nhất một lớp con nào đó trong đặc biệt hóa ( Thể hiện bằng đường nét đôi giữa lớp cha và vòng tròn chuyên biệt)

Trang 21

o Ràng buộc từng phần cho phép một thực thể ở lớp cha không thuộcbất kì một lớp con nào khi đặc biệt hóa ( Thể hiện bằng đượng nét đơn)

3 Chuyên biệt phân cấp và lưới

Trong chuỗi quan hệ thì một lớp con có thể lại là cha của lớp khác :

- Phân cấp là ràng buộc trong đó tất cả các lớp con chỉ tham gia vào 1 liên

kết lớp cha/con (thừa kế đơn ánh)

- Lưới là ràng buộc trong đó lớp con có thể tham gia vào nhiều hơn 1 liên

kết cha/con ( thừa kế bội)

- Lớp con không chỉ thừa kế thuộc tính của cha nó mà còn thừa kế thuộc

tính của lớp bên trên ( cha của lớp cha nó)

21

Trang 22

VD: Chuyên biệt phân cấp

Trang 23

4 Kiểu hợp (union)

- Trong chuyên biệt lưới lớp con thừa kế từ nhiều lớp cha, thừa hưởng tất

cả thuộc tính của lớp cha

5 Tại sao nên dùng EER ?

- Cả 2 mô hình EER và ER rất hữu ích cho cái nhìn trừu tượng về dữ liệu

Và nên dùng lược đồ nào thì tùy vào độ lớn và chi tiết của dữ liệu

Dữ liệu càng phức tạp thì càng cần EER để có thể tổ chức mọi quan hệ trong dữ liệu

IV Chu n hóa mô hình quan h : ẩ ệ

- Chủ yếu nhằm hai mục đích :

+Giảm thiểu dư thừa dữ liệu

+Loại bỏ các bất thường khi cập nhật dữ liệu

-Có 4 dạng chuẩn hóa cơ bản đó là:

First Normal Form (1NF): dạng chuẩn 1NF

Second Normal Form (2NF): dạng chuẩn 2NF

23

Trang 24

Third Nomal Form (3NF): dạng chuẩn 3NF

Boyce-Codd Normal Form (BCNF): dạng chuẩn Boyce-Codd

Các dạng chuẩn được sắp xếp theo thứ tự từ thấp đến cao Để chuẩn hóa 2NF thì cơ

sở dữ liệu phải đạt chuẩn 1NF, tương tự nếu đạt chuẩn 3NF thì phải đạt chuẩn 1NF

và 2NF Và chuẩn Boyce-Codd sẽ bao gồm 3 loại chuẩn 1NF, 2NF và 3NF

1 Dạng chuẩn 1NF

Ví dụ 1: Bảng chưa chuẩn hóa:

Bảng có 3 khóa chính là customer_id, order_id và product_id

Bảng dữ liệu này vi phạm cả điều kiện của chuẩn 1NF vì:

address chứa các giá trị trùng lặp, hơn thế nữa, giá trị address trong từng hàng không phải là đơn trị (chỉ có 1 giá trị), thêm vào đó, thuộc tính total_amount hoàn toàn có thể tính toán được bằng cách quantity * unit_price, không nhất thiết phải đưa vào bảng, gây ra dư thừa dữ liệu

Qua nhận xét trên, ta có thể hình dung ra 3 điều kiện cần phải tuân theo đó là:

Các thuộc tính của bảng phải là nguyên tố

Giá trị của các thuộc tính trên các hàng phải là đơn trị, không chứa nhóm lặp Không có một thuộc tính nào có giá trị có thể tính toán được từ một thuộc tính khác

Trang 25

Tách các thuộc tính lặp trong bảng như: customer_name, phone ra thành một bảng mới là customers

Tách address thành một bảng riêng có khóa là customer_id để biết địa chỉ đó thuộc

về customer nào

Loại bỏ thuộc tính total_amount

2 Dạng chuẩn 2NF

Quy tắc chuẩn hóa từ chuẩn 1NF thành 2NF:

Bước 1: Loại bỏ các thuộc tính không khóa phụ thuộc vào một bộ phận khóa chính

và tách ra thành một bảng riêng, khóa chính của bảng là bộ phận của khóa mà chúng phụ thuộc vào.

Bước 2: Các thuộc tính còn lại lập thành một quan hệ, khóa chính của nó là khóa chính ban đầu.

Bảng dữ liệu mới mà ta thiết kế vẫn chưa đạt chuẩn 2NF là vì: một số thuộc tính như description , unit_price phụ thuộc vào 1 phần của khóa là product_id chứ không cần phụ thuộc cả vào tập khóa (customer_id, order_id, product_id), hay thuộc tính customer_name và phone cũng chỉ phụ thuộc vào customer_id, thuộc tính order_date phụ thuộc vào customer_id và order_id, thuộc tính quantity phụ thuộc vào order_id và product_id

25

Trang 26

Vậy nên để đạt chuẩn 2NF thì ta sẽ thiết kế tiếp bảng dữ liệu chuẩn 1NF như sau:

Tách các thuộc tính (product_id, description, unit_price) thành một bảng riêng

Bước 1: Loại bỏ các thuộc tính phụ thuộc bắc cầu ra khỏi quan hệ và tách chúng

Ngày đăng: 17/08/2023, 10:32

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w