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

CHƯƠNG 2 NHỮNG CÁCH TIẾP cận một CSDL

30 641 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 30
Dung lượng 1,62 MB

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

Nội dung

KHÁI NIỆM MÔ HÌNH DỮ LIỆU Mô hình mức cao • Cung cấp các khái niệm gần gũi với người dùng • Mô hình phải tự nhiên và giàu ngữ nghĩa • VD: mô hình thực thể kết hợp ER Mô hình cài đặt

Trang 1

NỘI DUNG

Bài 1: Giới thiệu

Bài 2: Mô hình dữ liệu thực thể kết hợp

Bài 3: Mô hình dữ liệu quan hệ của E.F.CODD

Bài 4: Các bước chuyển từ mô hình thực thể kết

hợp sang mô hình quan hệ

Trang 2

BÀI 1

GiỚI THIỆU

3

KHÁI NIỆM MÔ HÌNH DỮ LIỆU

• Mô hình dữ liệu là sự trừu tượng hoá môi

trường thực

• Mô hình dữ liệu (Data Model) bao gồm:

- Các khái niệm biểu diễn dữ liệu

- Các phép toán xử lý dữ liệu

Trang 3

KHÁI NIỆM MÔ HÌNH DỮ LIỆU

Mô hình mức cao

• Cung cấp các khái niệm gần gũi với người dùng

• Mô hình phải tự nhiên và giàu ngữ nghĩa

• VD: mô hình thực thể kết hợp (ER)

Mô hình cài đặt

• Đưa ra các khái niệm người dùng có thể hiểu được

nhưng không quá xa với cách dữ liệu được tổ chức thật

sự trên máy tính

• VD: mô hình quan hệ

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

• Đưa ra các khái niệm mô tả chi tiết về cách thức dữ liệu

được lưu trữ trong máy tính

5

KHÁI NIỆM MÔ HÌNH DỮ LIỆU

• Ví dụ mô hình dữ liệu thực thể kết hợp

Trang 4

KHÁI NIỆM MÔ HÌNH DỮ LIỆU

• Ví dụ mô hình dữ liệu quan hệ

7

BÀI 2

MÔ HÌNH DỮ LIỆU THỰC THỂ KẾT HỢP

Trang 5

GIỚI THIỆU

Quy trình thiết kế một CSDL:

9

GIỚI THIỆU

• Mô hình dữ liệu quan hệ được dùng trong các

hệ quản trị CSDL, đây là mô hình dữ liệu ở

mức vật lý

• Để thành lập được mô hình dữ liệu quan hệ,

trước hết ta dùng mô hình thực thể kết hợp để

để đặc tả Đây là mô hình dữ liệu ở mức quan

niệm Sau đó mới chuyển hệ thống từ mô hình

thực thể kết hợp sang mô hình dữ liệu quan hệ

Trang 6

KHÁI NIỆM MÔ HÌNH THỰC THỂ KẾT HỢP

Mô hình thực thể kết hợp (Entity-Relationship model)

• Được xây dựng dựa trên nhận thức rằng thế

giới thực muốn phản ánh là một tập hợp các

đối tượng cơ sở và các mối quan hệ (còn gọi

là liên kết) giữa chúng Mô hình này dùng các

khái niệm “thực thể” (entity-E) và “mối quan

hệ” (Relationship-R) do đó còn được gọi là mô

hình E-R;

11

KHÁI NIỆM MÔ HÌNH THỰC THỂ KẾT HỢP

• Ví dụ:

Trang 7

CÁC KHÁI NIỆM CỦA MÔ HÌNH THỰC THỂ KẾT HỢP

• Môn học Cơ Sở Dữ Liệu

• Xe máy có biển số đăng ký 52-0549

Trang 8

Thuộc tính (attribute)

• Các đặc điểm riêng của thực thể gọi là các

thuộc tính

• Ký hiệu:

• Ví dụ: Thực thể sinh viên Nguyễn Văn Thành có

các thuộc tính là: mã số sinh viên, giới tính,

ngày sinh, hộ khẩu thường trú, lớp đang theo

- Đơn trị: các thuộc tính có giá trị duy nhất cho

Trang 9

Loại thực thể (entity type)

Trang 10

Loại thực thể (entity type)

• Khoá của loại thực thể E là một hay một tập

các thuộc tính của E có thể dùng để phân biệt

hai thực thể bất kỳ của E

• Ký hiệu: Thuộc tính khoá được gạch dưới

bằng nét liền

• Ví dụ khoá của loại thực thể Sinhvien là MASV,

của Lớp là MALOP, của Khoa là MAKHOA, của

Monhoc là MAMH,…

Thuộc tính

Trang 11

Ví dụ

Bài toán quản lý điểm của sinh viên được phát

biểu như sau:

•Mỗi sinh viên cần quản lý các thông tin như: họ và

tên (HOTENSV),ngày tháng năm sinh(NGAYSINH),

giới tính (NU), nơi sinh(NOISINH), hộ khẩu thường

trú (TINH) Mỗi sinh viên được cấp một mã số sinh

viên duy nhất (MASV) để phân biệt với mọi sinh viên

khác của trường, mỗi sinh viên chỉ thuộc về một lớp

nào đó

21

Ví dụ (tt)

• Mỗi lớp học có một mã số lớp (MALOP) duy nhất

để phân biệt với tất cả các lớp học khác trong

trường: có một tên gọi (TENLOP) của lớp, mỗi lớp

chỉ thuộc về một khoa

• Mỗi khoa có một tên gọi (TENKHOA) và một mã số

duy nhất (MAKHOA) để phân biệt với các khoa

khác

• Mỗi môn học có một tên gọi (TENMH) cụ thể,

được học trong một số đơn vị học trình (DONVIHT)

và ứng với môn học là một mã số duy nhất

(MAMH) để phân biệt với các môn học khác

Trang 12

Ví dụ (tt)

• Mỗi giảng viên cần quản lý các thông tin: họ và

tên(HOTENGV), cấp học vị (HOCVI), thuộc một

chuyên ngành (CHUYENNGANH) và được gán cho

một mã số duy nhất gọi là mã giảng viên(MAGV) để

phân biệt với các giảng viên khác Mỗi giảng viên có

thể dạy nhiều môn ở nhiều khoa, nhưng chỉ thuộc

về sự quản lý hành chính của một khoa

• Mỗi sinh viên với một môn học được phép thi tối đa

3 lần, mỗi lần thi (LANTHI), điểm thi (DIEMTHI)

• Mỗi môn học ở mỗi lớp học chỉ phân công cho một

giảng viên dạy (tất nhiên là một giảng viên thì có thể

dạy nhiều môn ở một lớp)

23

Ví dụ (tt)

• Các loại thực thể cần quản lý như: Sinhvien,

Monhọc, Khoa, Lop, Giangvien

• Loại thực thể Sinhviên quản lý các thuộc tính:

MASV,HOTENSV, NU, NGAYSINH, NOISINH,

TINH

MASV

HOTENSV NU NGAYSINH

NOISINH TINH SINHVIEN

Trang 13

Mối Kết Hợp (relationship)

• Mối kết hợp diễn tả sự liên hệ giữa các loại thực

thể trong một ứng dụng tin học

• Ví dụ mối kết hợp giữa hai loại thực thể Sinhviên

và Lop, mối kết hợp giữa Sinhviên với Mônhọc,

• Mối kết hợp được biểu diễn bằng một hình thoi

và hai bên là hai nhánh gắn kết với các loại thực

thể liên quan, tên mối kết hợp thường là: thuộc,

gồm , chứa,

25

Mối Kết Hợp (relationship) (tt)

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

Sinh viên, giữa Sinhviên với Mônhọc

SINHVIEN ketqua MONHOC

Trang 14

Chiều của mối kết hợp

• Chiều của mối kết hợp là số tập thực thể tham gia

vào mối kết hợp đó

• Mối quan hệ một chiều (đệ quy-phản xạ): mối kết

hợp giữa các thực thể của cùng một tập thực thể

27 NHANVIEN quanly

Chiều của mối kết hợp (tt)

• Mối quan hệ hai chiều: là sự kết nối giữa hai tập thực

thể, còn gọi là mô hình nhị nguyên

• Mối quan hệ nhiều chiều: mối kết hợp có số tập thực

thể tham gia lớn hơn 2, còn gọi là mô hình đa nguyên

GIAOVIEN

day

SINHVIEN

Trang 15

Bản số của mối kết hợp

• Bản số của một nhánh E trong mối kết hợp thể

hiện số lượng các thực thể thuộc thực thể ở

nhánh F có liên hệ với một thực thể của nhánh

E

• Mỗi bản số là một cặp số (min,max), chỉ số

lượng tối thiểu và số lượng tối đa của thực thể

khi tham gia vào mối kết hợp đó

29

Bản số của mối kết hợp (tt)

Trang 16

Bản số của mối kết hợp (tt)

• Ví dụ: mỗi sinh viên thuộc một và chỉ một lớp,

mỗi lớp có thể có 1 hoặc nhiều sinh viên

• Mối kết hợp có thể có các thuộc tính đi kèm do

đó chúng được đặt tên với ý nghĩa đầy đủ hơn

• Ví dụ giữa hai loại thực thể Monhoc và Sinhvien

có mối kết hợp ketqua với ý nghĩa: “mỗi sinh viên

ứng với mỗi lần thi của mỗi môn học có một kết

quả điểm thi duy nhất”

LanThi DiemThi

Trang 17

Tập thực thể yếu

• Là thực thể mà khóa có được từ những thuộc

tính của tập thực thể khác

• Thực thể yếu (weak entity set) phải tham gia

vào mối kết hợp mà trong đó có một tập thực

thể chính (kiểu thực thể chủ)

• Mô tả kiểu thực thể yếu bằng hình thoi và hình

chữ nhật nét đôi

33

Khoá của mối kết hợp

• Là hợp của các khoá của các loại thực thể liên quan

• Ví dụ:

• MAGV là thuộc tính khoá của loại thực thể

Giangvien

• MALOP là thuộc tính khoá của loại thực thể Lop

• MAMH là thuộc tính khoá của loại thực thể Monhoc

• Mối kết hợp phancong (giữa các loại thực thể

Giangvien, Lop, Monhoc) có khoá là

{MAGV,MAMH,MALOP}

• phancong là mối kết hợp 3 ngôi

Trang 19

Bài tập 1: Quản lí đặt và giao hàng

• Một cửa hàng chuyên bán sĩ và lẻ các mặt hàng đủ loại Mỗi khi hết hàng, cửa hàng

đặt mua thêm hàng ở các nhà cung cấp Mỗi lần đặt hàng, cửa hàng sẽ điền một

phiếu đặt hàng Mỗi lần đặt hàng sẽ có một phiếu giao hàng Cửa hàng muốn theo dõi

việc đặt hàng và giao hàng trên Sau đây là kết quả của việc phân tích yêu cầu ứng

dụng

• Một nhà cung cấp có tên, địa chỉ và điện thoại của nhà cung cấp Cần lưu lại thông tin

về tất cả các mặt hàng mà cửa hàng có mua bán: mã mặt hàng, tên hàng, đơn vị tính,

quy cách, số lượng tồn Mỗi nhà cung cấp có thể cung ứng nhiều mặt hàng khác nhau

và mỗi mặt hàng cũng có thể được cung cấp bởi nhiều nhà cung cấp khác nhau Mỗi

khi đặt hàng, cửa hàng phải điền các thông tin sau vào đơn đặt hàng: số đơn đặt hàng,

ngày đặt hàng, 1 nhà cung cấp có thể cung cấp các mặt hàng cần đặt, ghi chú, số mặt

hàng cần đặt Đối với từng mặt hàng trong đơn đặt hàng, cần ghi rõ số lượng đặt và

đơn giá đặt Nhà cung cấp có thể áp dụng những đơn đặt hàng mà nhà cung cấp có

cung ứng Sau khi đặt hàng xong, nếu nhà cung cấp đến giao hàng thì phải lưu các

phiếu giao hàng ứng với từng lần giao hàng Trên phiếu giao hàng cần có các thông tin

sau: số phiếu giao hàng, ngày giao, giao cho đơn đặt hàng nào Mỗi lần đặt hàng, nhà

cung cấp chỉ được giao hàng tối đa là 3 lần

Hãy vẽ mô hình thực thể kết hợp cho ứng dụng trên

37

Bài tập 2: Quản lý đề án

Xây dựng cơ sở dữ liệu đề án công ty theo dõi các thông tin liên quan tới

Nhân viên, Phòng ban, và đề án

• Công ty được tổ chức thành các phòng ban (PHONGBAN) Mỗi phòng ban có

một tên duy nhất, mã số phòng ban duy nhất, và một nhân viên quản l{

phòng đó Ta ghi nhận lại ngày nhận chức trưởng phòng Mỗi phòng ban có

thể có nhiều địa điểm khác nhau

• Mồi phòng ban chủ trì nhiều Đề án (DEAN) Mỗi đề án có một tên duy nhất,

mã số đề án duy nhất và được triển khai ở một địa điểm

• Ta lưu trữ thông tin liên quan tới nhân viên (NHANVIEN) của công ty: mã

nhân viên, địa chỉ, lương, phái, và ngày sinh Mỗi nhân viên làm việc ở một

phòng ban nhưng có thể tham gia nhiều đề án, trong đó đề án không nhất

thiết phải do chính phòng ban của nhân viên đó chủ trì Ta ghi nhận thời gian

tham gia đề án trong tuần của nhân viên ứng với từng đề án mà nhân viên đó

tham gia Ta cũng ghi nhận người quản l{ trực tiếp của từng nhân viên

• Mỗi nhân viên có thể có nhiều thân nhân (THANNHAN) Với mỗi thân nhân,

Trang 20

• Mô hình này cung cấp một cấu trúc dữ liệu đơn

giản, đồng bộ quan hệ - và nền tảng l{ thuyết vững

chắc (đặt biệt về xử l{ và tối ưu hóa truy vấn)

• Mô hình dữ liệu quan hệ là cơ sở của hầu hết các

DBMS thương mại như: Oracle, Informix, DB2,

Sybase, Foxpro, Microsoft SQL Server, …

Trang 21

CÁC KHÁI NIỆM CỦA MÔ HÌNH DỮ LiỆU QUAN HỆ

Trang 22

Quan hệ (tt)

• Một dòng trong bảng tương ứng với một thực thể

• Một quan hệ tương ứng với một tập thực thể

• Một quan hệ có n thuộc tính được gọi là quan hệ n

• Thuộc tính đặc trưng bởi 3 yếu tố:

• Tên gọi: một dãy kí tự bất kz, gợi nhớ

• Kiểu dữ liệu: số, chuỗi, ngày, logic, OLE,

• Miền giá trị của thuộc tính: xác định tập giá trị

mà thuộc tính có thể nhận

Kí hiệu của miền giá trị A là Dom(A)

Trang 23

Thuộc tính (tt)

Ví dụ:

• Quan hệ SINHVIEN có các thuộc tính MaSV, HoTen,

NgaySinh, QueQuan, Phai

• Thuộc tính MaSV, HoTen, QueQuan, Phai thuộc kiểu

chuỗi, thuộc tính NgaySinh thuộc kiểu ngày

• Thuộc tính Phai có miền giá trị là ,nam,nữ-

45

Bộ giá trị (tuple)

• Bộ là một dòng dữ liệu trong một quan hệ

• Bộ thường gọi là mẫu tin hay Record

Trang 24

Thể hiện của quan hệ

• Thể hiện của một quan hệ là tập hợp các bộ giá trị cụ

thể của một quan hệ tại một thời điểm nhất định

• K{ hiệu thể hiện của quan hệ R là TR

• Ví dụ: thể hiện của quan hệ KHOA

47

Khóa

Siêu khóa (Super keys):

• Là một tập con các thuộc tính của R+ mà nhờ vào đó

chúng ta có thể phân biệt 2 bộ khác nhau trong cùng

một thể hiện TR bất kz

∀ t1, t2 ∈ TR t1*K+ ≠ t2[K]  K là siêu khóa của R

• Một quan hệ có ít nhất một siêu khóa (R+) và có thể

có nhiều siêu khóa

• VD: Các siêu khóa của quan hệ NHANVIEN

là:,MANV-, ,MANV, HOTEN-,…

Trang 25

Khóa (tt)

Khóa:

• Là một siêu khóa “nhỏ nhất” (chứa ít thuộc tính và

khác rỗng)

• Cho R+ = ,A1, A2… An-, K = ,A1, A2… Am- với m<n,

K⊆ R+, K ≠ ∅ thì K là khóa của R nếu:

K là siêu khóa của R

Nếu ∃K1⊂K, K1 không là siêu khóa

• Thuộc tính tham gia vào một khóa gọi là thuộc tính

khóa, ngược lại là thuộc tính không khóa

• VD: MaNV là thuộc tính khóa của quan hệ NHANVIEN

49

Khóa (tt)

Khóa chính (Primary keys):

• Khi cài đặt trên một HQTCSDL cụ thể, nếu quan hệ có

nhiều hơn một khóa, ta chỉ được chọn một khóa và

gọi là khóa chính

• 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

Trang 26

Khóa (tt)

Khóa ngoại

• Cho 2 quan hệ R và S Một tập thuộc tính K của quan

hệ R được gọi là khóa ngoại của quan hệ R nếu K là

khóa chính của quan hệ S

• VD:

• PHONGBAN (MaPHG, TenPHG)

• NHANVIEN (MaNV, HoTen, MaPHG)

• K1=,MaPHG- là khóa chính của quan hệ

PHONGBAN

• K2=,MaPHG- là khóa ngoại của NHANVIEN tham

chiếu đến K1 của PHONGBAN

51

Lược đồ quan hệ

• Cấu trúc của một quan hệ là tập thuộc tính hình thành

nên quan hệ đó

• Lược đồ quan hệ nhằm mục đích mô tả cấu trúc của

một quan hệ và các mối liên hệ giữa các thuộc tính

trong quan hệ đó

• Lược đồ quan hệ được đặc trưng bởi :

• Một tên phân biệt

• Một tập hữu hạn các thuộc tính (A1, A2… An)

• Kí hiệu một lược đồ quan hệ R gồm n thuộc tính

(A1, A2… An) là R(A1, A2… An)

Trang 27

Lược đồ quan hệ (tt)

• Vd : Lược đồ quan hệ phòng ban

• PHONGBAN (MaPHG,TenPHG,TR_PHG,NG_NhamChuc)

• Mô tả : Mỗi phòng ban được cấp một mã số duy nhất

để phân biệt với các phòng ban khác trong công ty, và

có tên một phòng ban phân biệt, một trưởng phòng

cùng ngày nhận chức của trưởng phòng

53

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

• Là tập hợp gồm các lược đồ quan hệ và các mối liên hệ

giữa chúng trong cùng một hệ thống quản l{

• Vd : Lược đồ CSDL «Quản l{ đề án công ty »

NHANVIEN(MaNV, HoNV, TenNV, Phai, Luong, NgaySinh,

DiaChi, Ma_NQL )

PHONGBAN(MaPHG, TenPHG, TR_PHG, NG_NhanChuc)

DEAN(MaDA, TenDA, DiaDiem_DA, Phong)

Trang 28

BÀI 3

CÁC BƯỚC CHUYỂN TỪ MÔ HÌNH THỰC

THỂ KẾT HỢP SANG MÔ HÌNH QUAN HỆ

55

Quy tắc 1

Ngày đăng: 03/12/2015, 01:18

TỪ KHÓA LIÊN QUAN

w