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

Bài giảng môn học Hệ cơ sở dữ liệu: Chương 2 - Nguyễn Như Hoa (Phần bài tập 1)

73 71 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

Định dạng
Số trang 73
Dung lượng 2,06 MB

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

Nội dung

Bài giảng Hệ cơ sở dữ liệu - Chương 2: Mô hình thực thể - kết hợp cung cấp cho người học các kiến thức: Các khái niệm trong Mô hình ER, các bước thiết kế Mô hình ER, các ví dụ minh họa. Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

Chương 2 – phần 1

Mô hình thực thể - kết hợp

(Entity-Relationship model)

Giáo trình & Tài liệu tham khảo:

1 Ramez Elmasri, Shamkant B Navathe, 2011 Fundamentals of Database

systems, 6th edition, Addison-Wesley

2 Giáo trình Cơ sở dữ liệu , Trần Đắc Phiến, ĐH Công nghiệp TPHCM

3 Bộ slide bài giảng của Nguyễn Minh Thư, Khoa CNTT, ĐH KHTN TPHCM

4 Bộ slide bài giảng của Trần Thị Kim Chi, Khoa CNTT, ĐH Công nghiệp TPHCM

Trang 2

• Bậc của mối quan hệ

• Lượng số của mối quan hệ

• Các bước thiết kế Mô hình ER

• Ví dụ và bài tập

Trang 3

Các giai đoạn thiết kế CSDL (nhắc lại)

Phụ thuộc HQT cụ thể Độc lập HQT

Thế giới thực Phân tích yêu cầu

Thiết kế mức quan niệm

Thiết kế mức logic

Thiết kế mức vật lý

Các yêu cầu về dữ liệu

Lược đồ quan niệm ( ERD )

Lược đồ logic ( RDB shema )

Giai đoạn 1

Giai đoạn 2 (*)

Giai đoạn 3 (*)

Giai đoạn 4

Trang 4

Các giai đoạn thiết kế CSDL

Giai đoạn 2 Giai đoạn 3

Mục tiêu của bài học

Trang 5

Mô hình thực thể - kết hợp

(Entity-Relationship model)

• Do Peter Chen đề xuất năm 1971

• Được dùng để thiết kế CSDL ở mức quan niệm

• Biểu diễn trừu tượng cấu trúc của CSDL

• Mô hình ER sử dụng 3 khái niệm để mô hình hóa

dữ liệu trong thế giới thực

– Tập thực thể (Entity Sets)

– Thuộc tính (Attributes)

– Mối quan hệ (Relationships)

5

Trang 6

Xét ví dụ Quản lý kết quả học tập của SV khoa CNTT

• Mô tả bài toán

Khoa CNTT đang xây dựng một Hệ thống quản lý kết quả học tập của sinh viên

Hệ thống cần quản lý thông tin về Sinh viên và Môn học Thông tin về Sinh viên bao gồm : Mã SV, Họ, Tên, Phái,

Trang 7

Xét ví dụ Quản lý kết quả học tập của SV khoa CNTT

Nhap mon tin hoc

Cau truc du lieu

Trang 8

Xét ví dụ Quản lý kết quả học tập của SV khoa CNTT

Nhap mon tin hoc

Cau truc du lieu

Trang 9

Xét ví dụ Quản lý kết quả học tập của SV khoa CNTT

4

Ta có Mô hình ER mô tả dữ liệu cần quản lý

Dựa trên mô hình ER, ở giai đoạn sau, ta thiết kế Database

Database được sử dụng để lưu dữ liệu

Trang 10

Xét ví dụ Quản lý kết quả học tập của SV khoa CNTT

• Mối quan hệ giữa các tập thực thể ?

Sơn Thư Lan Minh

SINHVIEN

COSC1310 COSC3320

MONHOC

Nhận diện mối quan hệ giữa các tập thực thể

Học

Trang 11

Xét ví dụ Quản lý kết quả học tập của SV khoa CNTT

• Mối quan hệ giữa các tập thực thể trong mô

Mối quan hệ mô tả trong mô hình ER là cơ sở để trả lời câu hỏi :

- Môn học X có những sinh viên nào tham gia ?

- Sinh viên A tham gia học những môn học nào ?

- Điểm của Sinh viên A ở môn học X ?

Trang 12

Xét ví dụ Quản lý kết quả học tập của SV khoa CNTT

Xem thế giới thực bao gồm :

– Các Đối tượng (người, sự vật, sự kiện, khái niệm, … ) tồn tại trong TG thực

– Các Dữ liệu của đối tượng

– Mối quan hệ giữa các đối tượng

Mô hình ER khái quát thế giới thực qua các khái

Trang 13

– Thường mô tả bằng một danh từ

• Trong bài toán quản lý điểm của sinh viên

– Một sinh viên là một thực thể Tập hợp các sinh viên

là một tập thực thể, đặt tên là SINHVIEN

– Một môn học là một thực thể Tập hợp các môn học

là một tập thực thể , đặt tên là MONHOC

Trang 14

Thuộc tính

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

– Thường mô tả bằng một danh từ

• Thuộc tính là tên đặt cho dữ liệu cần lưu trữ

– Tên thuộc tính, loại thuộc tính, kiểu dữ liệu, …

• Ví dụ tập thực thể sinh viên có những thuộc tính

– Họ tên

– Ngày sinh

– Địa chỉ

– …

Trang 15

– Một sinh viên thuộc về một lớp nào đó

– Một lớp có nhiều sinh viên

• Ví dụ : giữa tập thực thể SINHVIEN và MONHOC có mối liên kết

– Một sinh viên học một hoặc nhiều môn học

– Một môn học có một hoặc nhiều sinh viên

Trang 16

Lược đồ thực thể - kết hợp (Entity-Relationship Diagram)

• Bản vẽ của mô hình ER

• Chứa tập ký hiệu mà mô hình ER sử dụng để

mô tả dữ liệu cần quản lý qua các khái niệm

tập thực thể, thuộc tính, và mối quan hệ

Tên tập thực thể Tập thực thể

Tên thuộc tính Thuộc tính

Tên quan hệ Quan hệ

Đường nối giữa Tập thực thể và Thuộc tính, giữa Mối quan

hệ và Tập thực thể

Trang 17

Lược đồ thực thể - kết hợp (Entity-Relationship Diagram)

• Ví dụ : Yêu cầu của hệ thống QL KQHT

Khoa CNTT đang xây dựng một Hệ thống quản lý kết quả học tập của sinh

viên Hệ thống cần quản lý thông tin về Sinh viên và môn học Thông tin về Sinh viên bao gồm : Mã SV, Họ, Tên, Phái, Ngày sinh Thông tin về Môn học gồm: Mã MH, Tên MH, Số Tín chỉ Một sinh viên tham gia học nhiều môn học Mỗi môn học , sinh viên có một điểm tổng kết

=> lược đồ ER của hệ thống QL KQHT

học SINHVIEN

Trang 18

Mối quan hệ Các kiểu liên kết (Bậc của mối liên kết)

• Các kiểu liên kết hay Bậc của mối liên kết

– Liên kết 1 ngôi (unary relationship)

– Liên kết 2 ngôi (binary relationship)

– Liên kết 3 ngôi (ternary relationship)

Trang 19

Liên kết 1 ngôi

(unary relationship)

• Là mối quan hệ giữa cùng 1 tập thực thể

• Còn gọi là mối liên kết đệ quy (recursive

relationship)

Trang 20

Liên kết 2 ngôi (binary relationship)

• Là mối liên kết giữa hai tập thực thể

Trang 21

Liên kết 3 ngôi (ternary relationship)

• Là mối liên kết giữa 3 tập thực thể

Trang 22

Mối quan hệ Lượng số của mối kết hợp (Cardinality)

• Lượng số của A : là số thể hiện của tập thực

thể B mà có thể liên kết với mỗi thể hiện của

Trang 23

Mối quan hệ Lượng số của mối kết hợp (Cardinality)

Ví dụ – Một phòng ban có nhiều nhân viên

– Một nhân viên chỉ thuộc 1 phòng ban

– Một nhân viên có thể được phân công vào nhiều đề

án hoặc không được phân công vào đề án nào

– Một nhân viên có thể là trưởng phòng của 1 phòng

ban nào đó

(1,n)

NHANVIEN Lam_viec (1,1) PHONGBAN

NHANVIEN Phan_cong (0,n) DUAN

NHANVIEN La_truong_phong PHONGBAN

(0,1)

Trang 24

Ví dụ

NHANVIEN (1,n) Lam_viec PHONGBAN

NHANVIEN Lam_viec (1,1) PHONGBAN

Mỗi phòng ban : Có tối thiểu 1, và tối đa

n nhân viên

Mỗi nhân viên : thuộc về tối thiểu 1,

và tối đa 1 phòng ban

NHANVIEN (1,n) Lam_viec (1,1) PHONGBAN

Trang 25

Mối quan hệ Lượng số của mối kết hợp (Cardinality)

Ví dụ

• Một nhân viên chỉ thuộc 1 phòng ban Một phòng ban có nhiều nhân viên

• Một nhân viên chỉ thuộc 1 phòng ban, và một phòng ban

có tối thiểu 4 nhân viên

• Một giáo viên chỉ dạy tối đa 4 môn học trong một học kỳ Giáo viên cũng có thể không tham gia dạy nếu đang đi học Một môn học có thể có nhiều giáo viên dạy

(1,1)

(4,n)

Trang 26

• Mối kết hợp 1-1

• Mối kết hợp 1-n

• Mối kết hợp n-n

Mối quan hệ Lượng số của mối kết hợp (Cardinality)

Phân loại

(1,n) (1,n) (1,1)

Trang 27

Ký hiệu cho lượng số (min,max)

• Một bộ ký hiệu khác

Ví dụ :

Trang 28

Các Ký hiệu mô tả cho mối quan hệ

Trang 29

Một số ký hiệu tương đương khác

Làm việc

Trang 30

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

• Các loại thuộc tính

– Thuộc tính bắt buộc và thuộc tính tùy chọn

– Thuộc tính đơn và thuộc tính phức hợp

– Thuộc tính đơn trị và thuộc tính đa trị

– Thuộc tính chứa và thuộc tính dẫn xuất

– Thuộc tính khóa và thuộc tính không khóa

Trang 31

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

• Ký hiệu

Trang 32

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

• Ví dụ

DayOfBirth Composite attribute datetime yes

Age Derived Attribute numeric yes

= street, city, State, country

= First name, Last name

= date, month, year

Trang 33

phone

Age

DOB country

Trang 34

– Mỗi tập thực thể phải có 1 khóa

– Một khóa có thể có 1 hay nhiều thuộc tính

– Có thể có nhiều khóa trong 1 tập thực thể, ta sẽ chọn ra 1

khóa làm khóa chính cho tập thực thể đó

Trang 35

Thuộc tính khóa

• Ví dụ : thuộc tính khóa

học SINHVIEN

Trang 36

Thuộc tính CỦA mối quan hệ

• Thuộc tính của mối quan hệ mô tả tính chất

cho mối quan hệ đó

• Thuộc tính này không thể gắn liền với những

thực thể tham gia vào mối quan hệ

THGIAN

Trang 38

Identifying và non-identifying

Relationships

• Mối quan hệ giữa 2 tập thực thể cha/con là

Identifying relationship khi :

– Tập thực thể con là loại thực thể yếu

– Khóa chính của tập thực thể cha trở thành khóa chính hay một phần khóa chính của tập thực thể con

• Thông thường mối quan hệ giữa 2 tập thực thể là

Non-identifying relationship

– Thực thể con tồn tại độc lập, không phụ thuộc vào

thực thể cha, mặc dù có mối liên hệ

• Xem ví dụ số 3

Trang 39

Các bước thiết kế mô hình ER

Trang 40

Các qui tắc thiết kế

• Biểu diễn đúng thế giới thực

• Tránh trùng lắp

• Dễ hiểu

Trang 41

• Hệ thống quản lý Thư viện

Hệ thống cần quản lý thông tin về tác giả, người mượn sách, và sách

Thông tin về người mượn bao gồm : name, address, email, phone

Thông tin về tác giả gồm : name, address, email Thông tin về sách gồm : title, edition, year, price, ISBN, pages, aisle, decription

Hệ thống cần cập nhật thông tin về sách mới, tác giả và người mượn Khi người mượn đăng ký mượn sách, hệ thống cần ghi nhận ngày

mượn và tính số ngày có thể được mượn Nếu sách trả quá ngày qui định, người mượn sách bị phạt dựa theo số ngày quá hạn

Một lần mượn , độc giả (người mượn) có thể mượn nhiều cuốn sách Một tác giả có thể viết nhiều sách Một cuốn sách có thể có nhiều tác giả

Một tác giả có thể mượn sách , và được đặc cách không cần thủ tục như độc giả thông thường Tuy nhiên, hệ thống cũng cần ghi nhận

ngày mượn và ngày trả sách

Ví dụ 1

Trang 42

• Nhận diện các yêu cầu về dữ liệu, về xử lý và nhận diện các

qui tắc nghiệp vụ ?

Hệ thống quản lý Thư viện

Hệ thống cần quản lý thông tin về tác giả, người mượn sách , sách Thông

tin về người mượn bao gồm : name, address, email, phone Thông tin về

tác giả gồm : name, address, email Thông tin về sách gồm : title, edition,

year, price, ISBN, pages, aisle, decription

Hệ thống cần cập nhật thông tin về sách mới, tác giả và người mượn Khi

người mượn đăng ký mượn sách, hệ thống cần ghi nhận ngày mượn và tính

số ngày có thể được mượn Nếu sách trả quá ngày qui định, người mượn

sách bị phạt dựa theo số ngày quá hạn

Một lần mượn , độc giả (người mượn) có thể mượn nhiều cuốn sách

Một tác giả có thể viết nhiều sách Một cuốn sách có thể có nhiều tác giả

Một tác giả có thể mượn sách , và được đặc cách không cần thủ tục như

độc giả thông thường Hệ thống cũng cần ghi nhận ngày mượn và ngày trả

Dữ liệu gì ?

Trang 43

Ví dụ 1

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

Trang 44

Ví dụ 1

• B2a: Xác định thuộc tính của mỗi tập thực thể

Chỉnh lại ?? (B2b)

Trang 45

Chỉnh lại ?? (B2b)

Trang 46

Ví dụ 1

• B2b: Thực hiện điều chỉnh ( khi chuyển từ mô

hình ER sang mô hình quan hệ _ trong chương 3 )

– Các thuộc tính phức -> chia nhỏ thành các thuộc tính

đơn ? Nếu USER cần tìm kiếm tác giả hay người mượn

theo Tên hoặc Họ thì tách NAME thành FIRST_NAME

và LAST_NAME

– Hỏi USER có cần lưu nhiều số phone ko ? Nếu chỉ cần

lưu 1 số phone thì PHONE là thuộc tính đơn trị Nếu cần lưu nhiều số phone thì PHONE là thuộc tính đa trị

Trang 47

Ví dụ 1

• B3 : Lựa chọn thuộc tính khóa

– Sử dụng BOOK_ID (tự gán) hay mã vạch (ISBN) của nhà

xuất bản ?

• B4 & 5: Xác định các mối quan hệ, thuộc tính của mối quan hệ (nếu có) và Lượng số

– các thuộc tính của mối quan hệ BORROWER->BOOK :

LOAN_DATE (ngày mượn) , RETURN_DATE (ngày trả)

Trang 48

Ví dụ 1

=> Lược đồ ER ?

Trang 49

Ví dụ 2

(Giáo trình Cơ sở dữ liệu của Trần Đắc Phiến, ĐH Công nghiệp TPHCM)

• Những người phụ trách đào tạo của Trường cao

đẳng cộng đồng núi Ayers mong muốn tạo lập một

CSDL về các môn đào tạo của trường (như: chứng chỉ leo núi, công nghệ bay) và học viên ghi danh vào

những môn học này Trường cũng có qui định là cùng một lúc, học viên chỉ có thể ghi danh vào một môn học Họ chỉ quan tâm về dữ liệu của đợt ghi danh

hiện tại Một khi học viên kết thúc môn học thì nhà trường sẽ không còn quan tâm đến họ và những học viên này phải được xóa khỏi CSDL

• Thông tin cần lưu trữ về một học viên bao gồm: mã học viên, tên học viên, địa chỉ, ngày sinh, số điện

thoại, ngày nhập học Thông tin về môn học gồm mã môn học, tên môn học, thời lượng

Trang 50

Ví dụ 2

(Giáo trình Cơ sở dữ liệu của Trần Đắc Phiến, ĐH Công nghiệp TPHCM)

Nhận diện các yêu cầu về dữ liệu, và các qui tắc quản lý

• Những người phụ trách đào tạo của Trường cao đẳng cộng đồng

núi Ayers mong muốn tạo lập một CSDL về các môn đào tạo của

trường (như: chứng chỉ leo núi, công nghệ bay) và học viên ghi

danh vào những môn học này

• Trường cũng có qui định là cùng một lúc, học viên chỉ có thể ghi

danh vào một môn học

• Họ chỉ quan tâm về dữ liệu của đợt ghi danh hiện tại Một khi

học viên kết thúc môn học thì nhà trường sẽ không còn quan

tâm đến họ và những học viên này phải được xóa khỏi CSDL

• Thông tin cần lưu trữ về một học viên bao gồm: mã học viên, tên

học viên, địa chỉ, ngày sinh, số điện thoại, ngày nhập học Thông

tin về môn học gồm mã môn học, tên môn học, thời lượng

Yêu cầu

về dữ liệu

Yêu cầu

về dữ liệu Qui tắc quản lý

Trang 53

Ví dụ 2

Đặc tả vấn đề 2 :

• Những người phụ trách đào tạo của Trường cao đẳng cộng

đồng núi Ayers mong muốn tạo lập một CSDL về các môn đào tạo của trường (như: chứng chỉ leo núi, công nghệ bay) và học viên ghi danh vào những môn học này Trường cũng có qui

định : học viên có thể ghi danh tối đa 3 môn học trong cùng một lúc Ngày nhập học của các môn học này là giống nhau

Họ chỉ quan tâm về dữ liệu của đợt ghi danh hiện tại Một khi học viên kết thúc môn học thì nhà trường sẽ không còn quan tâm đến họ và những học viên này phải được xóa khỏi CSDL

• Thông tin cần lưu trữ về một học viên bao gồm: mã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoại, ngày nhập học Thông tin về môn học gồm mã môn học, tên môn học, thời lượng

Trang 55

Ví dụ 2

Đặc tả vấn đề 3 :

• Những người phụ trách đào tạo của Trường cao đẳng cộng đồng núi Ayers mong muốn tạo lập một CSDL về các môn đào tạo của trường (như: chứng chỉ leo núi, công nghệ bay) và học viên ghi danh vào những môn học này Trường cũng có qui định : học

nhập học của các môn học mà học viên đăng ký có thể khác

nhau Họ chỉ quan tâm về dữ liệu của đợt ghi danh hiện tại Một khi học viên kết thúc môn học thì nhà trường sẽ không còn quan tâm đến họ và những học viên này phải được xóa khỏi CSDL

• Thông tin cần lưu trữ về một học viên bao gồm: mã học viên, tên học viên, địa chỉ, ngày sinh, số điện thoại, ngày nhập học Thông tin về môn học gồm mã môn học, tên môn học, thời lượng

Trang 57

Ví dụ 3 (*)

• Vẽ lược đồ ER cho mô tả sau

– Mỗi phòng ban gồm 1 hay nhiều nhân viên, mỗi nhân viên làm việc cho 1 phòng ban

– Mỗi phòng ban có một trưởng phòng

– Mỗi nhân viên không có hoặc có một hay nhiều

người phụ thuộc, mỗi người phụ thuộc là thân

nhân của một nhân viên

– Mỗi nhân viên có hồ sơ về quá trình làm việc

(history)

57

Trang 59

Ví dụ 4 (*)

Hệ thống quản lý việc sử dụng máy tính tại IUH

• IUH có nhiều tòa nhà (building), mỗi tòa nhà gồm nhiều phòng học (room) , các phòng học

có thể được trang bị một hay nhiều máy tính (computer)

• Các máy tính đặt trong cho một tòa nhà có thể đặt ở những vị trí khác (ngoài phòng học) ,như văn phòng khoa, phòng bảo trì , hay kho chứa của tòa nhà

Trang 60

Ví dụ 4

• Để mô tả đúng đắn tất cả các mối quan hệ

trong thế giới thực => Mô hình nào đúng ?

MODEL 1

MODEL 2

Trang 61

Ví dụ 4

MODEL 1

Model 1 chỉ mô tả Computer trang bị cho các phòng học Không thể hiện

các Computer thuộc một Building

Model 2 : đúng

Trang 62

thành phố

• Một phòng ban có nhiều nhân viên (employee), mỗi nhân viên chỉ thuộc một phòng ban

Công ty X cần quản lý thông tin về Nhân viên , Phòng ban và Vị trí Sau đây là tóm

tắt về hiện trạng của công ty

Trang 63

Ví dụ 5

• Cần trả lời được câu hỏi “ nhân viên mã SG37

thuộc phòng ban nào ? ” => Mô hình nào

đúng ?

MODEL 1

MODEL 2

Trang 64

1

MODEL 1 không trả lời được câu hỏi “ nhân viên mã SG37

Trang 65

n

MODEL 2 trả lời được câu hỏi “ nhân viên mã SG37 thuộc

Ngày đăng: 04/11/2020, 07:01

TỪ KHÓA LIÊN QUAN

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