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

Bài giảng Cơ sở dữ liệu – Database EE4253: Chương 2 - Các mô hình dữ liệu

31 40 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 đề Các mô hình dữ liệu
Tác giả Vũ Hải
Trường học Hanoi University of Science and Technology
Chuyên ngành Cơ sở dữ liệu
Thể loại Bài giảng
Năm xuất bản 2016
Thành phố Hà Nội
Định dạng
Số trang 31
Dung lượng 1,65 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 Cơ sở dữ liệu – Database EE4253: Chương 2 - Các mô hình dữ liệu cung cấp cho các bạn những kiến thức về mô hình dữ liệu quan hệ gồm có khái niệm, ràng buộc trong dữ liệu quan hệ, biến đổi ER sang mô hình quan hệ.

Trang 1

Cơ sở dữ liệu – Database

EE4253

Vũ Hải

2016

Trang 2

Ôn bài

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

• Thực thể, thực thể yếu ?

• Thuộc tính, các loại thuộc tính ?

• Liên kết, các loại liên kết ?

Trang 3

Bài tập

Biểu diễn các tập thực thể (với các thuộc

tính và liên kết kèm theo) sau bằng mô hình ER:

1.Giáo viên, sinh viên, khoá học, môn học, lớp học

2.Công ty, nhân viên, dự án, chi nhánh

3.Thư viện, người đọc, sách

4.Cửa hàng, khách hàng, hàng, nhà phân phối

Trang 4

• Sinh viên, khoá học, môn học, lớp học, Điểm thi, Giảng Viên, Khoa

Trang 5

Công ty, nhân viên, dự án, chi nhánh

Dự án

Mã dự án

Tên dự án Địa điểm Ngày bắt đầu

Ngày hoàn thành

Trang 6

Công ty, nhân viên, dự án, chi nhánh

Nhân viên

Mã nhân viên

Họ tên Ngày sinh Giới tính

Phòng ban/ Chi nhánh

Trang 7

Công ty, nhân viên, dự án, chi nhánh

Mã Nhân viên

Số ngày công

Mã Công trình

Trang 8

Số ngày công (1,n)

Trang 9

Chương 2: Các mô hình dữ liệu

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

• Mô hình quan hệ sử dụng lý thuyết tập hợp

và logic bậc nhất để biểu diễn dữ liệu

• Cho n loại dữ liệu: D1, D2, …, Dn.

• Mỗi loại dữ liệu có 1 miền giá trị dom(D1),

dom(D2), … dom(Dn)

Trang 10

2.2.1 Khái niệm cơ bản

• Tích đề các (Cartesian Product): Tích các () của n tập là tập tất cả các cách kếthợp của các thành phần trong n tập

đề-• Một quan hệ trên n loại dữ liệu, là một tậpcon của tích Đề-các trên n loại dữ liệu đó

r(R)  R

R = dom(D1) x dom(D2) x … x dom(Dn)

Trang 11

• Mỗi quan hệ được biểu diễn bằng một bảng(cột, hàng)

– Mỗi cột biểu diễn một kiểu dữ liệu

– Mỗi hàng tương ứng với một tập giá trị thực

tương ứng với tập dữ liệu

– Không có 2 hàng có tập giá trị trùng nhau.

– Thứ tự của các cột, các hàng là không quan trọng

2.2.1 Khái niệm cơ bản

Trang 12

• Lược đồ/Sơ đồ (schema) quan hệ <=>

tên_quan_hệ(tên_cột1:kiểu, tên_cột_2:kiểu, … )

• Bậc (degree) của quan hệ: số cột

• Thể hiện (instance) của quan hệ <=> các bộ giá trị có thể có (tuples)

• Lực lượng (cardinality) của quan hệ: số dòng

2.2.1 Khái niệm cơ bản

Trang 13

Ví dụ

• Bậc = ?

• Lực lượng = ?

• Lược đồ của quan hệ ?

– Đầy đủ: BOOK (id: integer, title: string, author:

string, pub-year: integer)

– Ngắn gọn: BOOK(id, title, author, pub-year)

1 The call of the wild Jack London 1903

2 The universe in a nutshell Stephen Hawking 2001

BOOK

Trang 14

2.2.2 Ràng buộc trong dữ liệu quan hệ

• Ràng buộc = quy tắc kiểm tra dữ liệu thỏa

mãn điều kiện nào đó:

– Ràng buộc về mặt ngữ nghĩa:

• Dữ liệu thuộc miền giá trị, < 1 giá trị, …

• Dữ liệu thuộc 1 định dạng cố định– Ràng buộc về khóa

– Ràng buộc thực thể– Ràng buộc tham chiếu

Trang 15

Khóa (key)

• “Không có 2 hàng có tập giá trị trùng nhau”

=> Khóa là cách để xác định duy nhất một bộ giá trị trong quan hệ.

• Cho 1 quan hệ r xác định trên tập thuộc tính U = {A1, A2,

D2 20000980 Vũ Minh 30/4/1967 50000 0903132123

Trang 16

Khóa (key)

đều không thể trở thành sieu khóa.

nhiều nhất 1 khóa chính.

EMPLOYEE

Department Eid Name Birthdate Salary CellPhone D1 20001234 Nguyễn Thành 22/11/1970 30000 0912304101 D1 20012322 Đỗ Văn Khôi 1/2/1978 27000 NULL

D2 20000980 Vũ Minh 30/4/1967 50000 0903132123 D3 19991323 Nguyễn Thành 10/10/1966 50000 NULL

Siêu khóa: {Name, Salary, Eid}, {Eid}, {Name, Birthdate, Eid}

Trang 17

Ràng buộc thực thể, tham chiếu

• Ràng buộc thực thể: Không thuộc tính nào trong khóa chính được gán giá trị NULL

• Ràng buộc tham chiếu:

– Xác định giữa hai quan hệ

– Duy trì liên kết giữa các bộ giá trị thuộc hai quan hệ

Trang 18

Khóa ngoài

không phải là khóa của quan hệ đó, mà lại là khóa chính của 1 quan hệ khác.

Trang 19

Kiểm tra ràng buộc

• Dữ liệu trong CSDL quan hệ thay đổi liên tục theo thời gian

• Khi có thao tác trên CSDL => kiểm tra

Trang 20

Kiểm tra ràng buộc

branchName balance accountNumber

branchName address assets

HaThanh Hai Ba Trung 900000000 DongDo Dong Da 400000000 ThangLong Hoan Kiem 500000000

BRANCH

customerNumber Name address homeBranch

111111 Anh Hai Ba Trung HaThanh

121314 Van Anh Hai Ba Trung Dong Do

515016 Son Hoan Kiem HaThanh

CUSTOMER

customer Number

accountNumb er

Trang 21

2.2.3 Biến đổi ER sang m.h quan hệ

• Thực thể => Quan hệ

EMPLOYEE(EID, Name, Address, Salary, Birthdate, Salary)

Trang 22

2.2.3 Biến đổi ER sang m.h quan hệ

• Thuộc tính phức hợp

EMPLOYEE(Eid, Name, Address, …)

EMPLOYEE(Eid, Name, Number, Street, City, …)

Trang 23

2.2.3 Biến đổi ER sang m.h quan hệ

• Thuộc tính đa trị

– Thêm 1 quan hệ mới là thuộc tính đa trị

EMPLOYEE(Eid, Name) EMP_DEGREES(Eid, Degree)

Trang 24

2.2.3 Biến đổi ER sang m.h quan hệ

• Thực thể yếu

EMPLOYEE(EID, Name, Address, …) EMP-DEPENDENT(EID, Name, Relationship, …)

Trang 25

2.2.3 Biến đổi ER sang m.h quan hệ

• Liên kết 1-1

Book(bid, name, author, publisher, pub_date) Design(dsid, color, shape)

- Sử dụng khóa ngoài:

- Design(dsid, color, shape, bid )

- Trộn: Book (bid, name, author, publisher, pub_date, color, shape )

Trang 26

2.2.3 Biến đổi ER sang m.h quan hệ

Trang 27

2.2.3 Biến đổi ER sang m.h quan hệ

• Liên kết n-n :

– Sinh ra một quan hệ phụ

Student(sid, name, birthday)

Class(cid, name, room, teacher)

Registration(sid, cid)

Trang 28

Ví dụ

Trang 29

2.2.3 Biến đổi ER sang m.h quan hệ

- Copy khóa của thực thể tổng quát sang thực thể chi tiết

CUSTOMER (Customer_ID, Name, Address, )

CALL (Call_Identifier, Customer_Id, Source_Number, Destination_Number, TimeOfDay)

REGULAR_CALL (Call_Identifier, Duration)

Trang 30

Sơ đồ CSDL

• Một mô hình quan hệ được biểu diễn dưới dạng sơ đồ

Trang 31

Bài tập

• Biến đổi sang mô hình dữ liệu quan hệ

Ngày đăng: 11/05/2021, 03:57

TỪ KHÓA LIÊN QUAN

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