1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng môn Cơ sở dữ liệu

134 1,5K 1

Đ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 134
Dung lượng 2,29 MB

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

Nội dung

 Kiểu thực thể  entity type  Kiểu thực thể là tập hợp các thực thể thuộc cùng một loại thường tương ứng với một bảng..  Thuộc tính  attribute  Thuộc tính là một đặc tính / tính ch

Trang 1

Cơ sở dữ liệu

Trang 3

Cơ sở dữ liệu

database

Cơ sở dữ liệu là sự tập hợp có tổ chức các dữ liệu có liên quan luận lý với nhau.

Dữ liệu (data): sự biểu diễn của các đối

tượng và sự kiện được ghi nhận và được lưu trữ trên các phương tiện của máy tính.

Dữ liệu không có cấu trúc: hình ảnh, âm thanh, đoạn phim, …

Trang 4

Cơ sở dữ liệu

Có liên quan luận lý (logically related): dữ

liệu mô tả một lãnh vực mà nhóm người sử dụng quan tâm và được dùng để trả lời các câu hỏi liên quan đến lãnh vực này.

Trang 5

Các khái niệm cơ bản và định nghĩa

Thông tin: dữ liệu trong ngữ cảnh

Mã sinh viên Họ và tên sinh viên Lớp Tuổi

Trang 6

Các khái niệm cơ bản và định nghĩa

MT00 40%

MT01 20%

MT02 20%

MT99 20%

Thông tin: dữ liệu được tổng hợp / xử lý

Trang 8

Các khái niệm cơ bản và định nghĩa

Siêu dữ liệu cho Sinh_viên

Data Item Value

Name Type Length Min Max Description

MaSV Character 8 Ma sinh vien

Hoten Character 30 Ho ten sinh vien Lop Character 3 Lop

Tuoi Number 2 17 25 Tuoi

Trang 9

Hệ thống xử lý tập tin

file processing system

Hệ thống xử lý tập tin là tập hợp các chương trình dùng để lưu trữ, thao tác và truy xuất các tập tin dữ liệu có kích thước lớn.

Các tập tin dữ liệu được lưu trữ trong các thư

mục (folder).

Hệ thống xử lý tập tin

Trang 10

các dữ liệu được lưu trữ trong các tập tin.

Con người: người quản lý, chuyên gia, người lập trình, người sử dụng cuối cùng.

Các thủ tục: các lệnh và các qui tắc chi phối việc thiết kế và sử dụng các thành phần của phần mềm.

Dữ liệu: tập hợp các sự kiện.

Hệ thống xử lý tập tin

Trang 11

Quản lý dữ liệu của hệ thống tập tin

Các chương trình xử lý tập tin

Hệ thống xử lý tập tin

Trang 12

Nhược điểm của hệ thống xử lý tập tin

Phụ thuộc dữ liệu – chương trình

(Program-Data Dependence)

siêu dữ liệu (phần mô tả) của các tập tin mà chúng sử dụng.

Dư thừa dữ liệu / Trùng lặp dữ liệu (Data

Redundancy / Duplication of Data)

bản dữ liệu riêng biệt của cùng dữ liệu.

Hạn chế việc dùng chung dữ liệu

Mỗi ứng dụng có các tập tin riêng biệt, ít sử dụng chung dữ liệu với các ứng dụng khác.

Hệ thống xử lý tập tin

Trang 13

Nhược điểm của hệ thống xử lý tập tin

Thời gian phát triển lâu

liệu riêng và viết cách truy xuất tập tin cho mỗi ứng dụng mới.

Chi phí bảo trì chương trình cao

chương trình gặp nhiều khó khăn, thường chiếm khoảng 80% ngân sách phát triển HTTT.

Hệ thống xử lý tập tin

Trang 14

Phụ thuộc dữ liệu

Trang 15

Tốn vùng nhớ để lưu trữ dữ liệu dư thừa.

Gây ra các vấn đề khó về bảo trì dữ liệu.

Trang 16

Dư thừa dữ liệu

Duplicate Data

Trang 17

Kho dữ liệu trung tâm chứa các dữ liệu dùng chung.

Dữ liệu được quản lý bởi một đơn vị điều

khiển (controlling agent).

Dữ liệu được lưu trữ theo một dạng thức chuẩn và thích hợp.

Cần phải có một hệ quản trị CSDL.

Cách tiếp cận cơ sở dữ liệu

Trang 18

Ưu điểm của cách tiếp cận CSDL

Độc lập dữ liệu – chương trình (data -

program independence).

ứng dụng không cần quan tâm đến các dạng thức của dữ liệu.

do đó ứng dụng không cần xử lý việc truy xuất

Trang 19

Ưu điểm của cách tiếp cận CSDL

Nâng cao việc dùng chung dữ liệu (data

sharing).

nhìn khác nhau về dữ liệu.

Tăng hiệu suất phát triển ứng dụng.

Tuân thủ các tiêu chuẩn.

theo cùng một cách.

Nâng cao chất lượng của dữ liệu.

của dữ liệu (data validation rule).

Cách tiếp cận cơ sở dữ liệu

Trang 20

Ưu điểm của cách tiếp cận CSDL

Nâng cao tính truy xuất và tính đáp ứng của

dữ liệu.

Structured Query Language).

Giảm chi phí bảo trì chương trình.

Bảo mật (security).

Chép lưu (backup) và phục hồi (recovery).

Điều khiển tương tranh (concurrency

control).

Cách tiếp cận cơ sở dữ liệu

Trang 21

Chi phí và rủi ro của cách tiếp cận CSDL

Chi phí ban đầu

Chi phí vận hành

Mâu thuẫn về mặt tổ chức

Cách tiếp cận cơ sở dữ liệu

Trang 23

Các loại cơ sở dữ liệu

Trang 24

Hệ quản trị CSDL

DBMS – DataBase Management System

Hệ quản trị CSDL là tập hợp các chương trình dùng để quản lý cấu trúc và dữ liệu của CSDL và điều khiển truy xuất dữ liệu trong CSDL.

Cho phép người sử dụng định nghĩa, tạo lập

và bảo trì CSDL và cung cấp các truy xuất dữ liệu.

Hệ quản trị cơ sở dữ liệu

Trang 25

Hệ quản trị cơ sở dữ liệu

Trang 26

Các chức năng của hệ quản trị CSDL

Lưu trữ, truy xuất và cập nhật dữ liệu

Definition Language)

Ngôn ngữ thao tác dữ liệu (DML - Data

Manipulation Language).

Quản lý giao tác (transaction management).

Điều khiển tương tranh (concurrency control)

Chép lưu và phục hồi dữ liệu.

Bảo mật dữ liệu

Ngôn ngữ điều khiển dữ liệu (DCL - Data Control

Language).

Hỗ trợ truyền thông dữ liệu.

Duy trì tính toàn vẹn / nhất quán dữ liệu.

Cung cấp các tiện ích.

Hệ quản trị cơ sở dữ liệu

Trang 27

Ngôn ngữ định nghĩa dữ liệu: Tạo cấu trúc của bảng Customer

CREATE TABLE CUSTOMER

(CUST_ID NUMBER(11,0) NOT NULL,

NAME VARCHAR(25) NOT NULL,

ADDRESS VARCHAR(30),

CITY VARCHAR(20),

CONSTRAINT PK_CUSTOMER PRIMARY KEY (CUST_ID));

Ngôn ngữ thao tác dữ liệu: Liệt kê mã, tên và địa chỉ của các khách hàng thuộc thành phố ‘HCM’

SELECT CUST_ID, NAME, ADDRESS

Trang 28

Hệ CSDL quan hệ (relational): 1980 - nay

Hệ CSDL hướng đối tượng

Trang 29

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

entity-relationship model

Mô hình liên kết thực thể là cách tiếp cận chính để mô hình hóa dữ liệu ý niệm

(conceptual data modeling).

Mô hình ER là công cụ giao tiếp giữa người thiết kế CSDL và người sử dụng cuối cùng để xây dựng CSDL trong giai đoạn phân tích.

Mô hình ER được dùng để xây dựng mô hình

dữ liệu ý niệm (conceptual data model) nhằm

biểu diễn cấu trúc và các ràng buộc của CSDL.

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

Trang 31

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

Sơ đồ liên kết thực thể (ERD - Entity-Relationship Diagram)

Trang 32

Attribute symbols

Trang 33

Thể hiện thực thể

entity instance

Thể hiện thực thể là người, vị trí, đối tượng,

sự kiện, khái niệm (thường tương ứng với một hàng của bảng).

Thực thể nên là

Thực thể không nên là

Đặc điểm của thực thể là tính phân biệt

(distinctness): có thể phân biệt giữa thực thể

này với thực thể khác.

Thực thể

Trang 34

Kiểu thực thể

entity type

Kiểu thực thể là tập hợp các thực thể thuộc cùng một loại (thường tương ứng với một bảng).

Được biểu diễn bằng hình chữ nhật.

Thực thể

Trang 35

Thuộc tính

attribute

Thuộc tính là một đặc tính / tính chất của một kiểu thực thể (thường tương ứng với một vùng tin trong một bảng).

Được biểu diễn bằng hình bầu dục.

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.

Thuộc tính

Trang 36

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

Thuộc tính đơn (simple attribute) là thuộc

tính không bị phân rã thành nhiều thuộc tính khác.

Thuộc tính phức hợp (composite attribute) là

thuộc tính bị phân rã thành nhiều thuộc tính khác.

Thuộc tính

Trang 37

Thuộc tính

Thuộc tính đơn

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

Trang 38

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

Thuộc tính đơn trị (single-valued attribute) là

thuộc tính chỉ chứa một giá trị.

Thuộc tính đa trị (multivalued attribute) là

thuộc tính chứa nhiều giá trị khác nhau thuộc một miền trị, được biểu diễn bằng hình bầu dục nét đôi.

Thuộc tính

Trang 39

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

Thuộc tính chứa (stored attribute) là thuộc

tính mà giá trị của nó không được suy dẫn từ các thuộc tính khác.

Thuộc tính dẫn xuất (derived attribute) là

thuộc tính mà giá trị của nó được suy dẫn từ các thuộc tính khác, được biểu diễn bằng

hình bầu dục nét đứt.

Thuộc tính

Trang 41

Khóa / thuộc tính xác định

key / identifier

Khóa là một thuộc tính hoặc tổ hợp các thuộc tính dùng để xác định duy nhất một thể hiện của một kiểu thực thể.

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

Thuộc tính khóa là thuộc tính ở trong khóa.

key attribute / prime attribute / identifier attribute

Thuộc tính không khóa (non-key attribute) là

thuộc tính không ở trong khóa.

tính mô tả (descriptor).

Khóa

Trang 42

Khóa đơn và khóa phức hợp

Khóa đơn (simple key) là khóa chỉ có một

thuộc tính.

Khóa phức hợp (composite key) là khóa có

nhiều hơn một thuộc tính.

Khóa dự tuyển

candidate key

Khóa dự tuyển là khóa của một kiểu thực thể.

Một kiểu thực thể có ít nhất một khóa dự tuyển.

Khóa

Trang 45

Kiểu mối liên kết

relationship type

Kiểu mối liên kết là sự liên kết giữa các kiểu thực thể.

Được biểu diễn bằng hình thoi.

Mối liên kết có thể có nhiều thuộc tính dùng

để mô tả các đặc tính của sự liên kết giữa các thực thể.

Hai thực thể có thể có nhiều kiểu mối liên kết giữa chúng.

Mối liên kết

Trang 46

Mối liên kết

Mối liên kết có thuộc tính Hai thực thể có nhiều mối liên kết

Trang 47

Bậc / ngôi của mối liên kết

degree / arity of relationship

Bậc của mối liên kết là số lượng kiểu thực thể tham gia đồng thời vào mối liên kết này.

Các loại mối liên kết

Mối liên kết 1-ngôi (unary relationship)

Mối liên kết 2-ngôi (binary relationship)

Mối liên kết 3-ngôi (ternary relationship): 3

kiểu thực thể đồng thời tham gia vào mối liên kết.

Mối liên kết

Trang 48

Mối liên kết

One entity related to

another of the same

entity type

Entities of two different types related to each other

Entities of three different types related to each other

Trang 49

Mối liên kết

Mối liên kết 1-ngôi

Trang 50

Mối liên kết

Mối liên kết 2-ngôi

Trang 51

Mối liên kết

Mối liên kết 3-ngôi

Trang 52

một - nhiều (one-to-many): một thực thể a liên kết với nhiều thực thể b; một thực thể b liên kết với một thực thể a.

nhiều - nhiều (many-to-many): một thực thể a liên kết với nhiều thực thể b; một thực thể b liên kết với nhiều thực thể a.

Mối liên kết

Trang 53

Ràng buộc lượng số

cardinality constraint

Ràng buộc lượng số là số lượng thể hiện của thực thể này có thể hoặc phải liên kết với một thể hiện của thực thể khác.

Lượng số nhỏ nhất

Lượng số lớn nhất

Mối liên kết

Trang 54

Mối liên kết

Trang 55

Mối liên kết

Mối liên kết 1-ngôi một-một có lượng số tùy chọn

Mối liên kết 2-ngôi một-nhiều có lượng số bắt buộc

Trang 56

Mối liên kết

Mối liên kết có lượng số tối đa xác định

Lượng số lớn nhất

Trang 57

Quan hệ (relation) là một bảng dữ liệu hai

chiều bao gồm nhiều hàng (mẩu tin) và nhiều cột (thuộc tính hoặc vùng tin).

Mỗi hàng là duy nhất: không thể có hai hàng

có cùng các giá trị ở tất cả vùng tin.

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

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

Không phải mọi bảng đều là quan hệ Quan

hệ là một bảng không chứa các hàng giống hệt nhau.

Quan hệ

Trang 58

Quan hệ

Quan hệ: Supplier

S1 Nguyễn Trung Tiến SF

S3 Nguyễn Văn An SF

Trang 59

Khóa

key

Khóa quan hệ là một tập nhỏ nhất các thuộc tính dùng để xác định duy nhất một hàng.

Một khóa chỉ có một thuộc tính được gọi là

khóa đơn (simple key).

Một khóa có nhiều thuộc tính được gọi là

khóa phức hợp (composite key).

Khóa thường được sử dụng làm chỉ mục

(index) của bảng dữ liệu để làm tăng tốc độ

xử lý câu truy vấn.

Quan hệ

Trang 60

Khóa

Một quan hệ phải có ít nhất một khóa và có thể có nhiều khóa.

Các thuộc tính thuộc một khóa được gọi là

thuộc tính khóa (prime attribute), các thuộc

tính còn lại trong lược đồ quan hệ được gọi

là các thuộc tính không khóa (nonprime

attribute).

Các thuộc tính khóa được gạch dưới.

Các thuộc tính khóa không được có giá trị

rỗng (null value).

Quan hệ

Trang 61

Khóa

Tất cả các khóa của một quan hệ được gọi là

khóa dự tuyển (candidate key).

Một trong các khóa dự tuyển được chọn làm khóa tiêu biểu, khóa này được gọi là khóa chính (primary key).

Một quan hệ chỉ có một khóa chính và có thể

có nhiều khóa dự tuyển.

Trong một quan hệ, một hoặc nhiều thuộc tính được gọi là khóa ngoại (foreign key) nếu

chúng là khóa chính của một quan hệ khác.

Quan hệ

Trang 62

Cơ sở dữ liệu quan hệ (relational

database) bao gồm các bảng (quan hệ)

biểu diễn các thực thể và các khóa chính / khóa ngoại biểu diễn các mối liên kết.

Cơ sở dữ liệu quan hệ

Trang 63

Cơ sở dữ liệu quan hệ

Primary Key

Foreign Key (implements 1:N relationship between customer and order)

Combined, these are a composite

primary key (uniquely identifies the

order line)…individually they are

foreign keys (implement M:N

relationship between order and product)

Trang 64

Cơ sở dữ liệu quan hệ.

Cơ sở dữ liệu quan hệ

Trang 65

Mỗi quan hệ (bảng) tương ứng với một kiểu thực thể hoặc với một kiểu mối liên kết nhiều - nhiều.

Mỗi hàng tương ứng với một thể hiện thực thể hoặc với một thể hiện mối liên kết nhiều - nhiều.

Mỗi cột tương ứng với một thuộc tính.

quan hệ không có cùng nghĩa với từ mối

Sự tương ứng với mô hình ER

Trang 66

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

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

Emp (Empnum, Name, Sal, Tax, Mgrnum, Deptnum)

Dept (Deptnum, Name, Area, Mgrnum)

Supplier (Snum, Name, City)

Supply (Snum, Pnum, Deptnum, Quan)

Trang 67

Ràng buộc toàn vẹn

integrity constraint

Ràng buộc toàn vẹn là một qui tắc mà tất cả các dữ liệu trong CSDL phải thỏa mãn qui tắc này.

Trang 69

Ràng buộc toàn vẹn

Định nghĩa miền trị cho các thuộc tính

Trang 70

Ràng buộc toàn vẹn tham chiếu

referential integrity constraint

Ràng buộc toàn vẹn tham chiếu là một qui tắc mà tất cả các giá trị của khóa ngoại (nếu

khác null) trong quan hệ bên phía nhiều phải

có trong các giá trị của khóa chính trong

quan hệ bên phía một.

Ràng buộc toàn vẹn

Trang 71

Ràng buộc toàn vẹn tham chiếu

Qui tắc xóa các hàng dữ liệu

Hạn chế (restrict): không cho phép xóa các hàng bên phía cha (parent) nếu tồn tại các hàng liên quan bên phía phụ thuộc (dependent).

phụ thuộc tương ứng với các hàng bên phía cha.

Gán null (set-to-null): gán null cho khóa ngoại

của các hàng bên phía phụ thuộc tương ứng với các hàng bên phía cha Không áp dụng cho các thực thể yếu.

Ràng buộc toàn vẹn

Trang 72

Ràng buộc toàn vẹn

Ví dụ về ràng buộc toàn vẹn tham chiếu

Referential integrity constraints are drawn via arrows from

dependent to parent table

Trang 73

Qui tắc 1: Biến đổi một kiểu thực thể thành một quan hệ.

Đối với kiểu thực thể thông thường (regular

entity type): khóa của quan hệ là khóa của

Quan hệ không chứa các thuộc tính đa trị.

Biến đổi ERD thành các quan hệ

Trang 74

Biến đổi ERD thành các quan hệ

Biến đổi kiểu thực thể thông thường

CUSTOMER relation

CUSTOMER entity type with

simple attributes

Trang 75

Biến đổi ERD thành các quan hệ

CUSTOMER entity type with

composite attribute

CUSTOMER relation with address detail

Biến đổi thuộc tính phức hợp

Trang 77

Biến đổi ERD thành các quan hệ

Biến đổi thuộc tính đa trị

Multivalued attribute

becomes a separate

relation with foreign key

1–to–many relationship between original entity and new relation

Trang 78

Qui tắc 3: Biểu diễn mối liên kết 1-ngôi hoặc 2-ngôi có lượng số một-một.

Đặt khóa của kiểu thực thể bên phía bắt buộc

và các thuộc tính của mối liên kết vào quan

hệ của kiểu thực thể bên phía tùy chọn.

Biến đổi ERD thành các quan hệ

Ngày đăng: 12/08/2015, 09:31

HÌNH ẢNH LIÊN QUAN

Sơ đồ liên kết thực thể (ERD - Entity-Relationship Diagram) - Bài giảng môn Cơ sở dữ liệu
Sơ đồ li ên kết thực thể (ERD - Entity-Relationship Diagram) (Trang 31)
Hình bầu dục nét đứt. - Bài giảng môn Cơ sở dữ liệu
Hình b ầu dục nét đứt (Trang 39)
Hình 1.1. Cơ sở dữ liệu phân tán trên một mạng phân tán địa lý. - Bài giảng môn Cơ sở dữ liệu
Hình 1.1. Cơ sở dữ liệu phân tán trên một mạng phân tán địa lý (Trang 130)
Hình 1.2. Cơ sở dữ liệu phân tán trên một mạng cục bộ. - Bài giảng môn Cơ sở dữ liệu
Hình 1.2. Cơ sở dữ liệu phân tán trên một mạng cục bộ (Trang 131)
Hình 1.3. Hệ thống đa xử lý (multiprocessor system). - Bài giảng môn Cơ sở dữ liệu
Hình 1.3. Hệ thống đa xử lý (multiprocessor system) (Trang 132)

TỪ KHÓA LIÊN QUAN