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

HỆ THỐNG cơ sở dữ LIỆU

214 327 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 214
Dung lượng 2,61 MB

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

Nội dung

 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ể.. Cơ sở dữ liệu quan hệ  Cơ sở dữ liệu quan hệ relational database bao g

Trang 1

GIỚI THIỆU MÔN HỌC: HỆ CƠ SỞ DỮ LIỆU

Database System

Trang 2

NỘI DUNG ÔN TẬP

 Giới thiệu

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

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

 Chuyển từ ER sang quan hệ

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

 Đại số quan hệ

 Ngôn ngữ SQL

Trang 3

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

 Dữ liệu có cấu trúc: số, ngày, chuỗi ký tự, …

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

Có tổ chức (organized): người sử dụng có thể dễ dàng

Trang 4

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

nghĩa

 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

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

50010273 Nguyễn Trung Tiến MT00 20

50100298 Lê Việt Hùng MT01 19

59900012 Trần Hùng Việt MT99 21

Hồ Xuân Hương

Trang 6

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

nghĩa

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

MT00 40%

MT01 20%

MT02 20%

MT99 20%

Trang 7

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

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

 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)

Trang 10

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

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

 Tạo cấu trúc tập tin

 Thêm dữ liệu vào tập tin

 Xóa dữ liệu của tập tin

 Sửa dữ liệu của tập tin

 Liệt kê dữ liệu của tập tin

Trang 11

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

 Phụ thuộc dữ liệu – chương trình (Program-Data

 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

Trang 12

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

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

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

 Người lập trình phải thiết kế các dạng tập tin dữ 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

 Các nhược điểm nêu trên làm cho việc bảo trì 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

Trang 13

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

 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

Trang 14

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

 Giảm bớt dư thừa dữ liệu

Trang 15

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

 Chi phí ban đầu

 Chi phí cài đặt và quản lý

 Chi phí chuyển đổi (conversion cost)

 Chi phí vận hành

 Cần nhân viên mới có chuyên môn

 Cần phải chép lưu và phục hồi

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

 Rất khó thay đổi các thói quen cũ

Trang 16

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

Trang 17

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

Trang 18

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

 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

Trang 19

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

Trang 20

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

 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

 Ngôn ngữ định nghĩa dữ liệu (DDL - Data 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

Trang 21

Sự phát triển các hệ CSDL

Hệ thống tập tin (flat file): 1960 - 1980

Hệ CSDL phân cấp (hierarchical): 1970 - 1990

Hệ CSDL mạng (network): 1970 - 1990

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

Hệ CSDL hướng đối tượng (object-oriented): 1990 -

Trang 22

Các mức biểu diễn CSDL

Mức trong: (mức vật lý – Physical) là mức lưu trữ CSDL

(cần giải quyết vấn đề gì? Dữ liệu gì? Lưu trữ như thế nào?

ở đâu? Cần các chỉ mục gì? Truy xuất tuần tự hay ngẫu

nhiên Dành cho người quản trị và người sử dụng chuyên môn

Mức quan niệm: (Conception hay Logical) cần phải lưu trữ

bao nhiêu loại dữ liệu? là dữ liệu gì? mối quan hệ

Mức ngoài: của người sử dụng và các chương trình ứng

dụng

Trang 23

Các mức biểu diễn CSDL

Cấu trúc ngoài 1

Cấu trúc ngoài 2

Cấu trúc ngoài n

Mức quan niệm hoặc mức logic

Mức vật lý – Cấu trúc vật lý

Môi trường thực thế giới thực NSD1

NSD2

Trang 24

 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

Trang 25

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

 Thực thể và các thuộc tính

 Mối liên kết và các thuộc tính

Trang 26

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

Trang 27

Attribute symbols

Trang 28

 Đặ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

 Kiểu thực thể

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)

Trang 29

 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 30

Thuộc tính

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

Trang 31

Thuộc tính

Thuộc tính đơn

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

Trang 32

Thuộc tính

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

Trang 33

Thuộc tính

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

Trang 34

Thuộc tính

Thuộc tính đơn trị

Thuộc tính đa trị

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

Trang 35

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óa được gạch dưới

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

Trang 36

Khóa

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

Trang 37

 Một kiểu thực thể chỉ có một khóa chính

 Khóa chính dùng để liên kết giữa các thực thể

Trang 38

Khóa

Khóa đơn

Thuộc tính không khóa

Trang 39

Mối liên kết

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

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

Trang 40

Mối liên kết

Hai thực thể có nhiều mối liên kết

Trang 41

Mối liên kết

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

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

Trang 42

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 43

Mối liên kết

Trang 44

Mối liên kết

Trang 45

Mối liên kết

Trang 47

 Lượng số nhỏ nhất

 Nếu 0 là tùy chọn (optional)

 Nếu một hoặc nhiều là bắt buộc (mandatory)

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

Trang 48

Mối liên kết

Trang 49

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

Trang 50

Mối liên kết

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

Trang 51

Relational Data Model

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

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

Trang 52

Quan hệ

Quan hệ: Supplier

Trang 54

 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

Trang 55

 Trong một quan hệ, một hoặc nhiều thuộc tính được gọi

khóa ngoại (foreign key) nếu chúng là khóa chính của

một quan hệ khác

Trang 56

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

 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

Trang 57

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 58

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

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

database schema

Lược đồ cơ sở dữ liệu là một tập hợp các lược đồ quan hệ

 Trong một lược đồ cơ sở dữ liệu, các tên lược đồ quan hệ là duy nhất

 Lược đồ quan hệ Q với tập thuộc tính A1,A2, An được viết là Q(A1,A2, An)

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

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

Dept (Deptnum, Name, Area, Mgrnum)

Supplier (Snum, Name, City)

Trang 59

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

 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

 Từ quan hệ (relation) trong cơ sở dữ liệu quan hệ không có cùng nghĩa với từ mối quan hệ

(relationship) trong mô hình ER

Trang 60

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

 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 kiểu thực thể

 Thuộc tính của quan hệ là thuộc tính của kiểu thực thể

 Quan hệ chỉ chứa các thuộc tính thành phần của thuộc tính phức hợp

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

Trang 61

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

CUSTOMER relation

CUSTOMER entity type with

simple attributes

Trang 62

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

CUSTOMER entity type with

composite attribute

CUSTOMER relation with address detail

Trang 63

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

Trang 64

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

Multivalued attribute

becomes a separate

relation with foreign key

1–to–many relationship between

Trang 65

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

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

Trang 66

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

EMPLOYEE relation with recursive foreign key EMPLOYEE entity with Manages relationship

Trang 67

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

Trang 68

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

có lượng số một-nhiều

Đặt khóa của kiểu thực thể bên phía một 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 nhiều

Trang 69

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

EMPLOYEE relation with recursive foreign key EMPLOYEE entity with Manages relationship

Trang 70

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

Note the mandatory one

Again, no null value in the foreign key…this is

Trang 71

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

 Qui tắc 5: Biến đổi mối liên kết 1-ngôi hoặc 2-ngôi

có lượng số nhiều-nhiều thành một quan hệ

 Quan hệ chứa các khóa của các kiểu thực thể tham gia vào mối liên kết

 Khóa của quan hệ gồm cả hai khóa của hai kiểu thực thể

 Thuộc tính của quan hệ là thuộc tính của mối liên kết

Trang 72

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

Bill-of-materials relationships (M:N)

ITEM and COMPONENT relations

Trang 73

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

Trang 74

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

 Qui tắc 6: Biến đổi mối liên kết 3-ngôi thành một quan hệ

 Quan hệ chứa ba khóa của ba kiểu thực thể tham gia vào mối liên kết

Mối liên kết có bao nhiêu kiểu thực thể bên phía một thì

quan hệ có bấy nhiêu khóa: đối với một kiểu thực thể bên phía một thì khóa của quan hệ gồm cả hai khóa của

hai kiểu thực thể còn lại Nếu không có kiểu thực thể bên phía một thì khóa của quan hệ bao gồm cả ba khóa

của ba kiểu thực thể

Trang 75

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

Trang 76

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

Trang 77

 Các giá trị cho phép của một thuộc tính

Trang 78

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

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

Trang 79

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

 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)

 Tầng (cascade): tự động xó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

 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

Trang 81

mà ràng buộc đó có hiệu lực Bối cảnh của một ràng buộc toàn vẹn có thể là một hoặc nhiều quan hệ

Trang 83

 RBTV có bối cảnh trên 1 quan hệ

Trang 84

Lược đồ CSDL quản lý giáo vụ

HOCVIEN (MAHV, HO, TEN, GIOITINH, MALOP)

LOP (MALOP, TENLOP, SISO)

KHOA (MAKHOA, TENKHOA)

MONHOC (MAMH, TENMH, MAKHOA)

GIAOVIEN(MAGV, HOTEN, NGVL, HOCVI, HESO, MUCLUONG, MAKHOA)

GIANGDAY(MALOP, MAMH, MAGV, HOCKY, NAM, TUNGAY, DENNGAY)

KETQUATHI (MAHV, MAMH, LANTHI, NGTHI, DIEM)

Trang 85

Là tập giá trị mà một thuộc tính có thể nhận

 Nội dung:

 hv  HOCVIEN( hv.Gioitinh  {„Nam‟,‟Nữ‟})

 Bối cảnh: quan hệ HOCVIEN

 Bảng tầm ảnh hưởng:

Ràng buộc miền giá trị

R1 Thêm Xóa Sửa

Trang 86

 Là ràng buộc giữa các thuộc tính với nhau trên 1

bộ của quan hệ

R2:Ngày bắt đầu (TUNGAY) giảng dạy một môn học cho một

lớp luôn nhỏ hơn ngày kết thúc (DENNGAY)

Trang 87

Ràng buộc liên bộ

Là ràng buộc giữa các bộ trên cùng một quan hệ

R3: Tất cả các học viên phải có mã số phân biệt

 Nội dung:

 h1,h2 HOCVIEN(h1 h2  h1.Mahv  h2.Mahv)

 h1 HOCVIEN(Count(h2  HOCVIEN( h2.Mahv = h1.Mahv))(*)=1)

 Bối cảnh: quan hệ HOCVIEN

 Bảng tầm ảnh hưởng:

Sửa

Trang 89

 Là ràng buộc quy định giá trị thuộc tính trong một bộ của quan hệ R (tập thuộc tính này gọi

là khoá ngoại), phải phụ thuộc vào sự tồn tại của một bộ trong quan hệ S (tập thuộc tính này là khoá chính trong quan hệ S)

 RBTV tham chiếu còn gọi là ràng buộc phụ thuộc tồn tại hay ràng buộc khóa ngoại

Ràng buộc tham chiếu

Ngày đăng: 03/12/2015, 15:10

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN