cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/danhsach/ch02_er model.pdf ·...

49
C ddliliCơ Cơ ssddliu liu VănGiang Nguyn Bmôn Hthng thông tin, Khoa Công nghthông tin, Hc vinKthut quân sE il i @ t d Email: giangnv@mta.edu.vn Slides courtesy of : Đỗ ThMai Hường, HTTT, CNTT, HVKTQS

Upload: others

Post on 03-Nov-2019

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

CC ởở dữdữ liệliệCơCơ sởsở dữdữ liệuliệu

ễVăn‐Giang Nguyễn

ốBộ môn Hệ thống thông tin, Khoa Công nghệ thông tin,Học viện Kỹ thuật quân sựE il i @ t dEmail: [email protected]

Slides courtesy of : Đỗ Thị Mai Hường, HTTT, CNTT, HVKTQS

Page 2: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Nội dung môn học

Chương 1: Tổng quan về cơ sở dữ liệu (5)

Chương 2: Mô hình liên kết thực thể (5)

Chương 3: Mô hình dữ liệu quan hệ (10)Chương 3: Mô hình dữ liệu quan hệ (10)

Chương 4: Phụ thuộc hàm và các dạng chuẩn CSDL (1Ch 5 Hệ ả t ị SQL S (10)Chương 5: Hệ quản trị SQL Server (10)

Chương 6: Ngôn ngữ truy vấn CSDL (15)

Chương 7: Lập trình T-SQL (15)

- 2 -

Page 3: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Nội dung chi tiết

Quá trình thiết kế CSDL

Mô hình thực thể liên kết (ER)

Xây dựng ER

íVí dụ

- 3 -

Page 4: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Quá trình thiết kế CSDL

Thiết kế E/RLược đồquan hệ

HQT CSDL quan hệÝ tưởng q ệ q ệg

- 4 -

Page 5: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Quá trình thiết kế CSDL

E-R là mô hình trung gian để chuyển những yêucầu quản lý dữ liệu trong thế giới thực thành môhì h CSDL hệhình CSDL quan hệ.

DBMS

Mô hình E/RMô hình

CSDL quanhệ

Bài toánthực tế

DB

- 5 -

Page 6: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Nội dung chi tiết

Quá trình thiết kế CSDL

Mô hình thực thể liên kết (ER)

Xây dựng ER

íVí dụ

- 6 -

Page 7: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

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

Đượ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 CSDLBiểu diễn trừu tượng cấu trúc của CSDL

Lược đồ thực thể - liên kết (Entity – RelationshipLược đồ thực thể - liên kết (Entity Relationshipdiagram)

Tập thực thể (Entity sets)Thuộc tính (Attributes)Mối quan hệ (Relationship)

- 7 -

Page 8: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Tập thực thể

Một thực thể là một đối tượng của thế giới thực.Thực thể được mô tả bởi các thuộc tính

Tập hợp các thực thể giống nhau tạo thành mộttập thực thể

Chú ýể Cấ t ú ủ dữ liệThực thể (Entity)

Đối tượng (Object)Tập thực thể (Entity set)

Cấu trúc của dữ liệu

Thao tác trên dữ liệuTập thực thể (Entity set)Lớp đối tượng (Class of objects)

- 8 -

Page 9: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Tập thực thể

Ví dụ “Quản lý đề án công ty”Một nhân viên là một thực thểTậ h á hâ iê là tậ th thểTập hợp các nhân viên là tập thực thể

Một đề án là một thực thểMột đề án là một thực thểTập hợp các đề án là tập thực thể.

Một hò b là ột th thểMột phòng ban là một thực thểTập hợp các phòng ban là tập thực thể.

- 9 -

Page 10: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Thuộc tính

Là tập các giá trị có thể gán cho thuộc tính đốivới mội thực thể riêng biệt.

Miền giá trị của thuộc tính (domain)Kiểu chuỗi (string)( g)Kiểu số nguyên (integer)Kiểu số thực…

Ví dụ tập thực thể NHANVIEN có các thuộc tínhHọ tên (hoten: string[20]Họ tên (hoten: string[20]Ngày sinh (ns: date)Điểm trung bình (DTB: float)

- 10 -

Page 11: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Thuộc tính

Loại thuộc tínhThuộc tính đơn – Không thể tách nhỏ ra đượcTh ộ tí h hứ h ó thể tá h thà hThuộc tính phức hợp – có thể tách ra thànhcác thành phần nhỏ hơn.

Loại giá trị của thuộc tínhĐơn giá trị: các thuộc tính có giá trị duy nhấtĐơn giá trị: các thuộc tính có giá trị duy nhấtcho một thực thể (Ví dụ: CMND)Đa trị: các thuộc tính có một tập giá trị choù ộ h hể (VD bằ ấ )cùng một thực thể (VD: bằng cấp, ect)

Suy diễn được (năm sinh tuổi.)

- 11 -

Page 12: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Thuộc tính

Tất cả các thực thể nằm trong tập thực thể cócùng tập thuộc tính

Mỗi thực thể đều được phân biệt bởi một thuộctính khóa

Mỗi thuộc tính đều có miền giá trị tương ứng với nó

- 12 -

Page 13: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Thuộc tính

Ví dụ tập thực thể NHANVIEN có các thuộc tínhMã NV (MaNV: integer)H tê (H t t i [20])Họ tên (Hoten: string[20])Ngày sinh (NS: date)Địa chỉ (diachi: string[100])Địa chỉ (diachi: string[100])Quê quán (quequan: string[30])Hệ số lương (hsluong: float)Hệ ố h ấ (h h fl t)Hệ số phụ cấp (hsphucap: float)Tổng lương (tongluong: float)

Loại thuộc tính? Miền giá trị? Loại giá trị củathuộc tính?

- 13 -

uộc

Page 14: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Thuộc tính: Ví dụ và ký hiệu

Student_ID Student_name

Other_attributes

STUDENTThuộc tính khóa Thuộc tính đơnSTUDENTThuộc tính khóa Thuộc tính đơn

Address Thuộc tính phức

- 14 -

Street_address

City Postal_code

Page 15: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Thuộc tính: Ví dụ và ký hiệu

Employee_nameEmployee_

IDAddress

Thuộc tính đơn trị

EMPLOYEEYears_employed

Skill

Thuộc tính dẫn xuất Thuộc tính đa trị

Date_employed Thuộc tính chứa

- 15 -

Page 16: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Mối quan hệ

Quan hệ: Là sự liên kết giữa 2 hay nhiều tập thựcthể

Ví dụ: Giữa tập thực thể NHANVIEN vàPHONGBAN có các liên kết

Một nhân viên thuộc một phòng ban nào đóMột phòng ban có một nhân viên làm trưởngphòngphòng.

Tập các quan hệ: là tập hợp các mối quan hệgiống nhaugiống nhau.

- 16 -

Page 17: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Lược đồ ER

Là đồ thị biểu diễn các tập thực thể, thuộc tính vàmối quan hệ

Đỉ hĐỉnh: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ệ

Cung là đường nối giữa: (i) tập thực thể vàố ểthuộc tính; (ii) mối quan hệ và tập thực thể.

- 17 -

Page 18: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ví dụ về lược đồ ER

Kiểu liên kết

- 18 -

Page 19: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ví dụ về lược đồ ER

Thể hiện liên kết

- 19 -

Page 20: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Thể hiện của lược đồ ER

Một CSDL được mô tả bởi lược đồ ER sẽ chứađựng những dữ liệu cụ thể gọi là thể hiện CSDL

Mỗi tậ th thể ẽ ó tậ h hữ h áMỗi tập thực thể sẽ có tập hợp hữa hạn cácthực thể: VD: Tập thực thể NHANVIEN có cácthực thể như NV1, NV2, …, NVnthực thể như NV1, NV2, …, NVnMỗi thực thể sẽ có một giá trị cụ thể tại mỗithuộc tính

NV1 TENNV “T i t” NS “01/01/1993”NV1: TENNV=“Triet”, NS=“01/01/1993”NV2: TENNV = “Hoang”, NS=“02/09/1993”

Chú ý:Không lưu trữ lược đồ ER trong CSDLLược đồ ER chỉ giúp ta thiết kế CSDL trước khi

- 20 -

Lược đồ ER chỉ giúp ta thiết kế CSDL trước khichuyển các quan hệ và dữ liệu xuống mức vậtlý

Page 21: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ràng buộc trên kiểu liên kếtể ố ểThể hiện CSDL còn chứa các mối quan hệ cụ thểCho mối quan hệ R kết nối n tập thực thể E1,E2 EE2, …, En.Thể hiện của R là tập hữu hạn các danh sách(e1, e2, …, en)Trong đó ei là các giá trị được chọn từ các tậpthực thể Ei.

Xét mối quan hệNHANVIEN PHONGBANLam_viec

NHANVIEN PHONGBAN

Tùng Nghiên cứu

- 21 -

T ng g

Dũng Điều hành

Hoàng Quản lý

Page 22: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ràng buộc trên kiểu liên kết

Xét mối quan hệ nhị phân R giữa 2 tập thực thể Avà B, ràng buộc liên kết bao gồm

A BQuan_hệ1 1

A BQuan_hệ1 n

A BQuan_hện 1

A BQuan_hện n

- 22 -

Page 23: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ràng buộc trên kiểu liên kết

(min,max) chỉ định mội thực thể tham giaít nhất và nhiều nhất vào thể hiện của R

e E∈

E FQuan_hệ(min,max) (min,max)

(0,1) – không hoặc 1(1,1) – duy nhất 1(0,n) – không hoặc nhiều(1 n) một hoặc nhiều(1,n) – một hoặc nhiều

- 23 -

Page 24: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ràng buộc trên kiểu liên kết – Ví dụ

Một phòng ban có nhiều nhân viên

NV PBLam viec(n,1)

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

NV PBLam_viec

(1 1)

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

NV PBLam_viec(1,1)

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.

NV DAphan cong(0,n)

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

NV DAphan_cong

- 24 -

p ò g ba ào đóNV PBLa_truog_p

hong

(0,1)

Page 25: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ràng buộc trên kiểu liên kết – Ví dụ

Một loại thực thể có thể tham gia nhiều lần vàomột quan hệ với nhiều vai trò khác nhau.

Là người quản lýNV Quan_ly

(0,1)

Là người quản lý

Được quản lý bởi(0,n)

- 25 -

Page 26: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Thuộc tính trên mối quan hệ

Thuộc tính trên mối quan hệ mô tả tính chất chomối quan hệ đó.

Thuộc tính này không thể gắn liền với nhữngthực thể tham gia vào mối quan hệ.g

(1 ) (0 )NHANVIEN DUANLam_viec(1,n) (0,n)

THGIAN

- 26 -

Page 27: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Thuộc tính khóa

Các thực thể trong tập thực thể cần phải đượcphân biệt

Khóa K của tập thực thể E là một hay nhiều thuộctính sao cho

Nếu lấy ra 2 thực thể bất kỳ e1 và e2 trong E,Thì e1 và e2 không thể có các giá trị giốngnhau tại các thuộc tính trong Knhau tại các thuộc tính trong K.

Chú ýMỗi tập thực thể phải có 1 khóaMỗi tập thực thể phải có 1 khóaMỗi khóa có thể có 1 hay nhiều thuộc tínhCó thể có nhiều khóa trong 1 tập thực thể, ta

- 27 -

sẽ chọn ra 1 khóa làm khóa chính cho tậpthực thể đó.

Page 28: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ví dụ thuộc tính khóaNS LUONGLUONG

DCHI

HONV

MANV MAPB

NHANVIEN PHONGBAN

TENNVTENPBLam_vi

ec

GT La_trg_phong

Phu_trach

DUANDDIEM

Phan cong

ach

DUAN

TEN

MADA

Phan_cong

- 28 -

MADA

Page 29: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Nội dung chi tiết

Quá trình thiết kế CSDL

Mô hình thực thể liên kết (ER)

Các bước xây dựng ER

íVí dụ

- 29 -

Page 30: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Các bước xây dựng ER

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

ốXác đinh mối quan hệ

ắXác định thuộc tính vào gắn thuộc tính cho tậpthực thể và mối quan hệ.

Quyết định thuộc tính khóa

ế ốQuyết định (min, max) cho mối quan hệ.

- 30 -

Page 31: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Quy tắc xây dựng

Chính xác

Tránh trùng lặp

Dễ hiểu

Chọn đúng mối quan hệ

Chọn đúng kiểu thuộc tính

- 31 -

Page 32: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Nội dung chi tiết

Quá trình thiết kế CSDL

Mô hình thực thể liên kết (ER)

Xây dựng ER

íVí dụ

- 32 -

Page 33: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ví dụ ‘Quản lý đề án công ty’

CSDL đề án công ty theo dõi các thông tin liên quanđến nhân viên, phòng ban và đề án

Cô t ó hiề hò b ỗi hò b ó tê dCông ty có nhiều phòng ban, mỗi phòng ban có tên duynhất, mã phòng ban duy nhất, mội trưởng phòng, và ngàynhậm chức. Mỗi phòng ban có thể ở nhiều địa điểm kháchnhau.Đề án có tên duy nhất, mã duy nhất, do một phòng banchủ trì và được triển khai ở 1 địa điểm.

ố ỉNhân viên có mã số, tên, địa chỉ, ngày sinh, giới tính vàlương. Mỗi nhân viên làm việc ở 1 phòng ban, tham giavào các đề án với số giờ làm việc khác nhau, mỗi nhân

ề ếviên đều có một người quản lý trực tiếp.Một nhân viên có thể có những người con được hưởngbảo hiểm theo nhân viên. Mỗi người con của nhân viêncó tên, giới tính, ngày sinh

- 33 -

Page 34: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ví dụ

- 34 -

Page 35: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ví dụ

- 35 -

Page 36: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Bài tập 1 – ER cho CSDL “TRƯỜNG”Trường được chia thành các trường con: Trường KHTN, KHXH, Công nghệ,…Mỗi trường có một hiệu trưởng quản lý. Mỗi hiệu trưởng quản lý một trườngMỗi trường có nhiều khoa. (Ví dụ: KHTN có các khoa Toán, Lý, Hóa). Mỗi khoachỉ thuộc về một trường Thông tin về khoa gồm mã khoa tên khoa địa chỉ sốchỉ thuộc về một trường. Thông tin về khoa gồm mã khoa, tên khoa, địa chỉ, sốđiện thoại, tên trường.Mỗi khoa cung cấp nhiều môn học. Mỗi môn học gồm có: Tên, mã, số đơn vị họctrình, trình độ, tên khoa.ỗ ể ề ầ ỗ ầ ằMỗi môn học có thể có nhiều học phần. Mỗi học phần được lưu trữ bằng các

thông tin: Mã học phần, tên môn học, tên giáo viên dạy, học kỳ.Mỗi khoa có nhiều giáo viên làm việc, nhưng mỗi giáo viên chỉ làm việc cho mộtkhoa Mỗi khoa có 1 chủ nhiệm khoa và đó là 1 giáo viênkhoa. Mỗi khoa có 1 chủ nhiệm khoa, và đó là 1 giáo viên.Mỗi giáo viên có thể dạy nhiều nhất là 4 học phần và cũng có thể không dạy họcphần nào.Mỗi sinh viên phải học nhiều học phần.Mỗi kh ó hiề i h iê ỗi i h iê hỉ th ộ ề ột kh Thô ti ềMỗi khoa có nhiều sinh viên, mỗi sinh viên chỉ thuộc về một khoa. Thông tin vềmỗi sinh viên gồm: mã sinh viên, họ tên, địa chỉ, ngày sinh, giới tính, lớp, tênkhoa, và chế độ đào tạo.Mỗi sinh viên có một người giám sát (giáo viên chủ nhiệm), người đó là một giáoộ g g (g ệ ), g ộ gviên.Sau mỗi học kỳ sẽ có một danh sách điểm để phân loại. Nó gồm các thông tin:mã sinh viên, mã học phần, điểm bằng chữ, điểm bằng số. - 36 -

Page 37: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Bài tập 2 – ER cho CSDL “THƯ VIỆN”

Thư viện được chia thành các nhánh. Thông tin về mỗi nhánhgồm có Mã nhánh, tên nhánh và địa chỉ.Mỗi cuốn sách trong thư viện có các thông tin về mã sách, têng ệ gsách, nhà xuất bản và tác giả.Mỗi tác giả có thể viết nhiều cuốn sách. Một cuốn sách có thể cónhiều tác giả tham gia viết.g gMột nhà xuất bản xuất bản nhiều cuốn sách. Một cuốn sách domột nhà xuất bản xuất bản. Thông tin về nhà xuất bản gồm cóTên, địa chỉ, số điện thoại.Tên, địa chỉ, số điện thoại.Một cuốn sách có thể có nhiều bản sao được lưu trữ tại cácnhánh. Thông tin về bản sao sách gồm Mã sách, số các bản sao.Thư viên có những người mượn sách Thông tin về những ngườiThư viên có những người mượn sách. Thông tin về những ngườimượn sách gồm có: số thẻ, họ tên, địa chỉ và số điện thoại.Sách được cho những người mượn mượn tại các nhánh. Thôngtin về một lần mượn gồm có ngày mượn và ngày trảtin về một lần mượn gồm có ngày mượn và ngày trả.

- 37 -

Page 38: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Biến đổi từ mô hình ER sang mô hìnhquan hệquan hệ

Các quy tắc biến đổi

ể ồ

Mô hình E-R Mô hình CSDL Quan hệ

Một tập thực thể

Mỗi thuộc tính

Một lược đồ quan hệ

Một thuộc tínhMỗi thuộc tính

Mỗi thuộc tính

Một thuộc tính

Khóa chínhộnhận diện

Mỗi mối kết hợp Khóa ngoại/LĐ quan hệ mớiố

- 38 -

(trong mối quan hệ 1-n)

Ghi chú: Chỉ áp dụng cho mối kết hợp 2 ngôi.

Page 39: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ví dụ 1 – Mối kết hợp 1-1

NGƯỜI LÁI XE BẰNG LÁIMã NLXTênĐịa chỉNgày sinh

Mã BLLoại BLNgày hết hạn

Sở hữu

Ngày sinh1 1

(1,1)(1,1)

Chuyển khóa chính từquan hệ 1 sang quan hệ 2 hoặc ngược lạihoặc ngược lại

NGƯỜI LÁI XE (mã NLX tên địa chỉ ngày sinh)NGƯỜI LÁI XE (mã NLX, tên, địa chỉ, ngày sinh)BẰNG LÁI (mãBL, loại BL, ngày hết hạn, mãNLX)hoặcNGƯỜI LÁI XE (mã NLX tên địa chỉ ngày sinh mãBL)

- 39 -

NGƯỜI LÁI XE (mã NLX, tên, địa chỉ, ngày sinh, mãBL)BẰNG LÁI (mãBL, loại BL, ngày hết hạn)

Page 40: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ví dụ 2 – Mối kết hợp 1-M

HỌCVIÊN MÔNHỌCMã học viênTênĐịa chỉNgày sinh

Mã môn họcTên môn họcThời lượng

Ghi danh

Ngày sinhSố ĐTNgày nhập học

M 1

Chuyển khóa chính bênmột sang bên nhiều

HỌCVIÊN (mã học viên Tên địa chỉ ngày sinh số ĐTHỌCVIÊN (mã học viên, Tên, địa chỉ, ngày sinh, số ĐT, ngày nhập học, mã môn học)

MÔN HỌC (Mã môn học, tên môn học, thời lượng)

- 40 -

Page 41: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Ví dụ 3 – Mối kết hợp M-N

HỌCVIÊN MÔNHỌCMã học viênTênĐịa chỉNgày sinh

Mã môn họcTên môn họcThời lượng

Ngày nhập học

Ghi danh

Ngày sinhSố ĐT M N

g y

Tạo một quan hệ mới

HỌCVIÊN (mã học viên Tên địa chỉ ngày sinh số ĐT)HỌCVIÊN (mã học viên, Tên, địa chỉ, ngày sinh, số ĐT)MÔN HỌC (Mã môn học, tên môn học, thời lượng)PHIẾU GHI DANH (mã học viên, mã môn học, ngày nhập học)

- 41 -

Page 42: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Bài tập

ồGIÁOVIÊN HỒSƠGD

Mã GVHọ tênĐịa chỉSố ĐT

Mã hồ sơNgàyCông việcĐề tài

Số ĐTBằng cấp

Đề tàiVị trí1 1

- 42 -

Page 43: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Bài tập

THẺTV PHIẾUMƯỢNMã ĐGHọ tênNgày sinhĐịa chỉ

Số PMNgàymượn

Địa chỉNghề nghiệp 1 M

- 43 -

Page 44: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Bài tập

TÁCGIẢ TỰASÁCHMã TGHọ tênNgày sinhĐịa chỉ

Mã sáchLoại sáchNăm XBNhà XB

Sáng tác

Địa chỉ Nhà XBSố trangSố tập

M N

- 44 -

Page 45: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Bài tập

Một trường CĐ có nhu cầu tin học hóa công tác quản lý củamình.Trường có nhiều khoa Mỗi khoa có thông tin mã khoa tênTrường có nhiều khoa. Mỗi khoa có thông tin mã khoa, tênkhóa.Mỗi khoa có nhiều lớp học. Thông tin về lớp học: mã lớp,tên lớp sĩ sốtên lớp, sĩ số.Mỗi sinh viên khi nhập học được xếp vào một lớp và thuộclớp này trong suốt khóa học. Thông tin về sinh viên gồm:mã SV họ tên ngày sinh giới tính địa chỉmã SV, họ tên, ngày sinh, giới tính, địa chỉ.Sinh viên học nhiều môn học. Kết thúc mỗi môn học, sinhviên có một điểm thi. Kết thúc khóa học, sinh viên có mộtđiểm tốt nghiệp Môn học có thông tin: mã môn tên mônđiểm tốt nghiệp. Môn học có thông tin: mã môn, tên môn,số tín chỉ.Mỗi sinh viên có một thẻ thư viên. Và một thẻ thư viện chỉthuộc về một sinh viên Thông tin thẻ thư viện: số thẻthuộc về một sinh viên. Thông tin thẻ thư viện: số thẻ,ngày cấp, ngày hết hạn.

- 45 -

Page 46: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Mã khoaTên khoa

Mã mônTên mônSố tín chỉ

Khoa Môn họcMã SVHọ tên1

MọNgày sinhGiới tínhĐịa chỉĐiểmTN

củaHọc

NM

LớpSinh viênMã lớp

Tên lớp

ĐiểmTNM

1Tên lớpSĩ số có

1M

1

1

Thẻ thư viện

Thuộc1

Số thẻNgày cấpNgày hết hạn

Page 47: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Bài tập

B1: Chuyển các tập thực thể thành quan hệKHOA (mã khoa, tên khoa)LỚP (mã lớp tên lớp sĩ số)LỚP (mã lớp, tên lớp, sĩ số)SINH VIÊN(mã sinh viên, họ tên, giới tính, địa chỉ,

ngày sinh, điểm TN)MÔN HỌC (mã môn tên môn số tín chỉ)MÔN HỌC (mã môn, tên môn, số tín chỉ)THẺTHƯVIỆN(số thẻ, ngày cấp, ngày hết hạn

B2: Chuyển các mối kết hợpB2: Chuyển các mối kết hợpMối kết hợp KHOA-LỚP chuyển thành khóa ngoại Mã

khoa trong quan hệ LỚP.ố ế Ớ S ểMối kết hợp LỚP-SINHVIEN chuyển thành khóa ngoạimã lớp trong SINHVIEN

Mối kết hợp SINHVIEN-THẺ THƯ ViỆN chuyển thànhẺ

- 47 -

khóa ngoại Mã sinh viên trong quan hệ THẺ THƯ ViỆNMối kết hợp SINHVIEN-MÔN HỌC chuyển thành mối

quan hệ mới HỌC (Mã sinh viên, mã môn, điểm thi)

Page 48: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

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

KHOA (mã khoa, tên khoa)LỚP (mã lớp, tên lớp, sĩ số, mã khoa)SINHVIÊN ( ã i h iê h tê iới tí h đị hỉSINHVIÊN (mã sinh viên, họ tên, giới tính, địa chỉ,

ngày sinh, điểm TN, mã lớp)

MÔN HỌC (mã môn, tên môn, số tín chỉ)HOC (mã sinh viên, mã môn, điểm thi)THẺ THƯ ViỆN ( ố thẻ à ấ à hết hTHẺ THƯ ViỆN (số thẻ, ngày cấp, ngày hết hạn,

mã sinh viên)

- 48 -

Page 49: Cơơ ssở dddữ liliệu - fit.mta.edu.vnfit.mta.edu.vn/files/DanhSach/Ch02_ER model.pdf · Một nhân viên có thểđược phân công vào nhiều đề NV Lam_viec PB (1,1)

Nhận xét

Mối kết hợp giữa các tập thực thể trong mô hìnhE-R được chuyển thành khóa ngoài trong môhì h CSDL hệhình CSDL quan hệ.Như vậy, trong mô hình quan hệ, các quan hệliên hệ với nhau nhờ có chung một hay một sốliên hệ với nhau nhờ có chung một hay một sốthuộc tínhCó 2 loại mối quan hệ trong mô hình quan hệ: 1-1à 1 Mvà 1-M

- 49 -