Nội dung

CƠ SỞ DỮ LIỆU

! Các khái niệm cơ bản ! Mô hình ER ! Mô hình quan hệ ! Đại số quan hệ ! Phụ thuộc hàm ! Chuẩn hóa lược đồ

45 tiết Lý thuyết trinhxuan@gmail.com //sites.google.com/site/trinhxuan => CSDL

Cơ sở dữ liệu – Ths. Trịnh Thị Xuân

19/2/16

4"

Chủ động – Tích cực Học tập

Tài liệu tham khảo

Tiêu chuẩn đánh giá sinh viên

! Hình thức đánh giá

! Tài liệu bắt buộc:

" Bài tập lớn – nhóm 4 sinh viên

" Giáo trình CSDL, Khoa CNTT – Viện ĐH Mở Hà Nội, lưu hành nội bộ

! Cách tính điểm

" 10%: Chuyên cần " 20%: Điểm giữa kỳ

! Tài liệu tham khảo

!  Kiểm tra !  BTVN !  Lên bảng

" 70%: Thi kết thúc môn – BTL

" Giáo trình nhập môn CSDL quan hệ, Lê Tiến Vương – NXB Giáo dục 2004 " Cơ sở dữ liệu, Đỗ Trung Tuấn " Cơ sở dữ liệu - lý thuyết và thực hành, Nguyễn Bá Tường

! Đánh giá riêng ! Quá trình làm BTL + Buổi thi cuối cùng

19/2/16

19/2/16

5"

6"

Chủ động – Tích cực Học tập

Chủ động – Tích cực Học tập

Thảo luận: Vì sao phải học CSDL?

! (cid:4)(cid:23)(cid:1)(cid:8)(cid:31)(cid:2)(cid:1) (cid:21)(cid:12)(cid:1)(cid:17)(cid:15)(cid:22)(cid:14)(cid:1)(cid:16)(cid:18):(cid:14)(cid:1)(cid:13)(cid:24)(cid:1)(cid:7)(cid:22)(cid:14)(cid:1)(cid:11)(cid:21)(cid:14)(cid:10)(cid:1)(cid:25)(cid:12)(cid:30)(cid:14)(cid:1)(cid:17)(cid:11)(cid:15)(cid:28)(cid:12)(cid:1)

Hãng SX

Mô tả

ĐG

SL Thành

Ngày bán

Họ Tên

ST T

Điện thoại

tiền

Mã NV

Tài khoản

HueNT

Galaxy A Samsung Cảm ứng

300$

5

1500$

7/8/2013 NV01

1

Nguyễn Thị Huệ

HuyDT

2

Nokia

Thẻ nhớ 2GB

250$

4

1000$

7/8/2013 NV02

Đàm Thanh Huy

Nokia 7280

ThuyTT

3

Nokia

Thẻ nhớ 2GB

250$

3

750$

10/8/2013 Nv03

Trần Thành Thủy

Nokia 7280

CHƯƠNG I: CÁC KHÁI NIỆM CƠ BẢN

ThuyTT

4

Galaxy A Samsung Cảm ứng

300$

2

600$

10/8/2013 Nv03

Trần Thành Thủy

HuyDT

5

Galaxy S

Samsung

Ảnh 2px

500$

4

2000$

10/8/2013 NV02

Đàm Thanh Huy

HueNT

6

Nokia

Thẻ nhớ 2GB

250$

6

1500$

11/8/2013 NV01

Nguyễn Thị Huệ

Nokia 7280

HuyDT

4

Galaxy A Samsung Cảm ứng

300$

3

900$

11/8/2013 NV02

Đàm Thanh Huy

HueNT

5

Galaxy S

Samsung

Ảnh 2px

500$

1

500$

12/8/2013 NV01

Nguyễn Thị Huệ

ThuyTT

6

Nokia

Thẻ nhớ 2GB

250$

2

500$

12/8/2013 Nv03

Trần Thành Thủy

Nokia 7280

HuyDT

4

Galaxy A Samsung Cảm ứng

300$

4

1200$

12/8/2013 NV02

Đàm Thanh Huy

Cơ sở dữ liệu – Ths. Trịnh Thị Xuân

19/2/16

19/2/16

9"

10"

Chủ động – Tích cực Học tập

Giải pháp

Cách lưu trữ truyền thống

! Lưu trữ dữ liệu bằng các tệp tin truyền thống. ! Ví dụ: Các file .xls, .doc, .txt, ….

! Tổ chức riêng rẽ ! Phục vụ cho một mục đích duy nhất

! Ưu

! Xây dựng CSDL quản lý riêng biệt, ví dụ: " Thông tin về điện thoại " Thông tin về bán hàng "  Thông tin về nhân viên bán hàng …

! Đáp ứng yêu cầu nhanh chóng ! Ít cần đầu tư tiền của, chất xám, …

! Nhược

! Thông tin không nhất quán, dư thừa ! Thiếu sự kế thừa, chia sẻ thông tin.

# Không phù hợp với các hệ thống thông tin lớn!!!

19/2/16

19/2/16

11"

12"

Bảng Bán Hàng SL Thành Ngày bán Mã ĐT tiền S1 5 1500$ … N1 4 1000$ … N1 3 750$ … S1 2 600$ … S2 4 2000$ … N1 6 1500$ … … … … … Bảng Điện thoại Mã ĐT Tên Đt Hãng SX Mô Tả Đơn giá S1 Galaxy A Sam Sung Cảm ứng 300 N1 Nokia 7280 Nokia Thẻ nhớ 2GB 250 S2 Galaxy S Sam sung Ảnh 2px 500

Chủ động – Tích cực Học tập

Chủ động – Tích cực Học tập

I. Cơ sở dữ liệu là gì?

Ví dụ CSDL

Bảng Môn học ! Bài toán quản lý điểm sinh viên Mã Môn Tên môn ĐVHT CSDL Cơ sở dữ liệu 3

$ Cơ sở dữ liệu (Database): là tập hợp dữ liệu có cấu trúc được lưu trữ trên các thiết bị lưu trữ nhằm thỏa mãn đồng thời cho nhiều người sử dụng khác nhau với các mục đích khác nhau

CTDL Cấu trúc dữ liệu 4 " Thông tin về sinh viên " Thông tin về môn học " Thông tin điểm từng môn sinh viên NNTV Ngôn ngữ truy vấn 3 TDC Tin đại cương 4 Bảng Điểm Mã Môn Mã SV Điểm

Bảng Sinh viên

$ CSDL bao gồm các loại dữ liệu: âm thanh, văn bản, hình ảnh, … được mã hóa và lưu trữ dưới dạng file cụ thể

Họ Tên

Ngày sinh

Quê quán

Lưu trữ thông tin

CSDL SV1 5

Mã SV

Giới tính

SV1

Nguyễn Hằng

Nữ

3/4/96

Thái Bình

Người dùng

SV2

Phạm Khóa

Nam

5/4/97

Thanh Hóa

CSDL

SV3

Trần Đức

Nam

6/7/97

Hải Phòng

SV4

Đỗ Huy Duy

Nam

5/3/97

Thái Bình

Cho phép truy cập thông tin

SV5

Phạm Hải

Nữ

2/8/97

19/2/16

13"

CTDL SV2 7 NNTV SV1 7 TDC SV2 6 CSDL SV3 7 8 CTDL

Chủ động – Tích cực Học tập

Thanh Hóa 15"

SV3 Chủ động – Tích cực Học tập

Các yêu cầu cơ bản của CSDL

Các vấn đề CSDL cần giải quyết

%  Tính chủ quyền của dữ liệu

Tính cấu trúc

%  phương diện an toàn dữ liệu, %  khả năng biểu diễn mối liên hệ ngữ nghĩa của dữ liệu và tính

chính xác của dữ liệu,

Tính không dư thừa

Tính toàn vẹn

%  cập nhật cho dữ liệu các thông tin mới %  Tính bảo mật và quyền khai thác thông tin %  Có nhiều người khai thác đồng thời %  Có cơ chế bảo mật phân quyền khai thác CSDL

%  Tranh chấp dữ liệu

%  Khi nhiều người sử dụng với mục đích khác nhau => Tranh

chấp

Tính độc lập

Tính nhất quán

%  Cơ chế ưu tiên khi truy cập CSDL & cấp quyền ưu tiên cho

từng người

%  Đảm bảo an toàn dữ liệu khi có sự cố

%  Khả năng backup dữ liệu và khôi phục lại dữ liệu

Tính an toàn – bảo mật

19/2/16

17"

Chủ động – Tích cực Học tập

Chủ động – Tích cực Học tập

16"

*Phân loại cơ sở dữ liệu

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

Cơ sở dữ liệu dạng file

-được lưu dưới dạng các

Cơ sở dữ liệu quan hệ -được lưu trữ trong các

file văn bản

-VD: text, doc, dbf, …

bảng, giữa các bảng có quan hệ với nhau

-VD: Access, SQL

Server

Cơ sở dữ liệu hướng đối tượng

-được lưu trữ trong các

Cơ sở dữ liệu bán cấu trúc -được lưu dưới định

dạng XML,

-mô tả về đối tượng thể

Mức khái niệm (mức trung gian): giải quyết vấn đề lưu trữ dữ liệu như thế nào (dữ liệu gì, loại gì, lưu trữ bao nhiêu, và mối quan hệ giữa các loại dữ liệu) & cho biết dữ liệu nào được lưu trữ trong hệ CSDL

bảng nhưng có bổ sung thêm các hành vi đối tượng

hiện trong các thẻ

Mức khung nhìn (mức ngoài): thể hiện tập tất cả các dữ liệu mà người sử dụng cụ thể có thể nhìn thấy, là mức của người sử dụng và các chương trình ứng dụng & thể hiện một phần CSDL mà người dùng cần khai thác Mức vật lý (mức trong): Đây là mức lưu trữ dữ liệu cụ thể. Mục đích của mức này giải quyết vấn đề lưu trữ dữ liệu (dữ liệu được lưu trữ như thế nào và nhằm mục đích gì) & Tập hợp các file dữ liệu

-VD: class

19/2/16

21"

Chủ động – Tích cực Học tập

Chủ động – Tích cực Học tập

19"

II. Đối tượng sử dụng CSDL

! Các ứng dụng của cơ sở dữ liệu:

" Kinh doanh: thông tin sản phẩm, khách hàng, nhà cung cấp,… " Doanh nghiệp: cán bộ, lương, công việc,.. " Giáo dục: học sinh, điểm, môn học, giáo viên,.. " Thư viện: tài liệu, tác giả, độc giả… " Y tế: bệnh nhân, thuốc, bác sỹ, điều trị,… " …

19/2/16

19/2/16

22"

23"

Chủ động – Tích cực Học tập

Chủ động – Tích cực Học tập

1. Đối tượng trực tiếp

! Người dùng cuối

! Thiết kế viên

" Truy vấn " Cập nhật " Thống kê

" Phỏng vấn người sử dụng để nắm được yêu cầu " Xác định dữ liệu cần lưu trữ " Lựa chọn cấu trúc thích hợp để biểu diễn " Phân tích thiết kế hệ thống sau khi thống nhất được các yêu cầu.

! Lập trình viên: thực hiện các yêu cầu thông qua lập trình sử dụng ngôn ngữ phù hợp " Viết code " Chạy thử " Chữa lỗi, gỡ rối " Viết tài liệu hướng dẫn sử dụng " Bảo trì hệ thống.

! Quản trị viên – Database Administrator: người quản lý và chịu trách nhiệm với nguồn dữ liệu " Tổ chức nội dung " Phân quyền truy cập " Đảm bảo an toàn, bảo mật, sao lưu, phục hồi,…

19/2/16

19/2/16

24"

25"

Chủ động – Tích cực Học tập

Chủ động – Tích cực Học tập

2. Đối tượng gián tiếp

III. Hệ quản trị CSDL

! Một hệ quản trị CSDL là

! Người phân tích và xây dựng hệ QTCSDL ! Người phát triển công cụ ! Người kiểm tra và bảo trì phần cứng và phần mềm của hệ thống

" 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, cho phép điều khiển truy xuất DL trong CSDL " Cho phép: định nghĩa, tạo lập, bảo trì và truy xuất CSDL " HQTCSDL cung cấp giao diện giữa người sử dụng và dữ liệu

! Một Hệ quản trị CSDL phải có ít nhất các chức năng sau:

" Định nghĩa dữ liệu → DDL (Data Definition Language) " Thêm, sửa, xóa dữ liệu → DML (Data Manipulation Language) " Truy vấn dữ liệu → SQL (Structured Query Language) " Quản lý dữ liệu → DCL (Data Control Language) …

! Các hệ quản trị CSDL hiện nay:

" Access, SQL Server, Oracle, DB2, SQL Lite, …

19/2/16

19/2/16

26"

28"

Chủ động – Tích cực Học tập

Chủ động – Tích cực Học tập

*Phân loại Hệ QTCSDL

*Các thành phần trong hệ QT CSDL

! Theo mô hình dữ liệu:

Mô hình dữ liệu

Hệ QT CSDL

•  CSDL: cho phép nhiều người sử dụng, nhiều chương trình ứng dụng cùng chia sẻ, dùng để lưu trữ dữ liệu

Quan hệ

Hệ QT CSDL quan hệ

Mạng

Hệ QT CSDL mạng

Phân cấp

Hệ QT CSDL phân cấp

•  Người sử dụng (user): Là những người có nhu cầu truy cập vào CSDL để thực hiện một thao tác nào đó. VD: các lập trình viên ứng dụng, những người sử dụng thiết bị cuối từ xa, …)

•  Phần mềm QT CSDL: •  Phần cứng: Các thiết bị nhớ thứ cấp được sử dụng

! Theo số người sử dụng đồng thời:

để lưu trữ dữ liệu

" Hệ QT CSDL đơn " Hệ QT CSDL đa người dùng ! Theo vị trí đặt CSDL:

19/2/16

19/2/16

31"

32"

" Hệ QT CSDL tập trung " Hệ QT CSDL phân tán

Chủ động – Tích cực Học tập

Chủ động – Tích cực Học tập