Bài giảng Thiết kế cơ sở dữ liệu: Chương 1 Giới thiệu tổng quan về cơ sở dữ liệu nhằm trình bày về chu kỳ sống của một cơ sở dữ liệu, các giai đoạn thiết kế cơ sở dữ liệu, khái niệm về hệ thống cơ sở dữ liệu, mục tiêu chính của hệ quản trị cơ sở dữ liệu.
Trang 1ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong
Số tiết lý thuyết: 45 tiết
Trang 2 Chương 1: Giới thiệu tổng quan
Chương 2: Mô hình dữ liệu và các phụ thuộc dữ liệu
Chương 4: Lý thuyết đồ thị quan hệ
Chương 5: Thiết kế CSDL ở mức vật lý
Nội dung môn học:
Trang 3Nội dung đánh giá Tỷ lệ
điểm Ghi chú
BÀI TẬP TẠI LỚP
30%
Bài tập có thể làm việc theo nhóm (từ 2-3 sv) BÀI TẬP THỰC HÀNH
THI HẾT MÔN 70% Theo lịch thi PĐT
http://sites.google.com/site/khaiphong
Hình thức đánh giá:
Trang 4 Chương 1: Giới thiệu tổng quan
Chương 2: Mô hình dữ liệu và các phụ thuộc dữ liệu
Chương 4: Lý thuyết đồ thị quan hệ
Chương 5: Thiết kế CSDL ở mức vật lý
Nội dung môn học:
Trang 5Các giai đoạn thiết kế CSDL
Chương 1: Giới thiệu tổng quan
Giới thiệu
Chu kỳ sống của một CSDL
Trang 6 Khái niệm Hệ thống cơ sở dữ liệu:
Chương 1: Giới thiệu tổng quan
Hệ thống CSDL của một ứng dụng tin học là 1 tập hợp dữ liệu được tổ chức 1 cách chọn lọc, ghi trên các thiết bị trữ tin, nhằm phục vụ đồng thời cho nhiều người, với nhiều mục đích xử lý và khai thác khác nhau.
Ví dụ: Trong một công ty phần mềm:
Bộ phận quản lý tiền lương có nhu cầu lập bảng
lương cho đơn vị vđi các thông tin ghi trên bảng lươngnhư sau: STT, họ tên, hệ số lương, tiền lương, Chữ kýTrong đó, Tiền lương = hệ số lương X 500000; hệ sốlương được phân chia dựa trên học vị
Bộ phận quản lý dự án có nhu cầu lập danh sách
phân công nhân viên cho các dự án, với các thông tin:
STT, họ tên, chuyên môn, dự án
đó, nhân viên được phân công phải có chuyên
Trang 7 Khái niệm Hệ thống cơ sở dữ liệu:
Chương 1: Giới thiệu tổng quan
Hệ thống CSDL của một ứng dụng tin học là 1 tập hợp dữ liệu được tổ chức 1 cách chọn lọc, ghi trên các thiết bị trữ tin, nhằm phục vụ đồng thời cho nhiều người, với nhiều mục đích xử lý và khai thác khác nhau.
Ví dụ: Trong một công ty phần mềm:
Hệ thống CSDL được xây dựng sao cho có thể phục vụ
cho các mục tiêu trên của các phòng ban?
Trang 8 Khái niệm Hệ thống cơ sở dữ liệu:
Chương 1: Giới thiệu tổng quan
Hệ thống CSDL của một ứng dụng tin học là 1 tập hợp dữ liệu được tổ chức 1 cách chọn lọc, ghi trên các thiết bị trữ tin, nhằm phục vụ đồng thời cho nhiều người, với nhiều mục đích xử lý và khai thác khác nhau.
Ví dụ: Trong một công ty phần mềm:
Bộ phận quản lý tiền lương có nhu cầu lập bảng
lương cho đơn vị vđi các thông tin ghi trên bảng lươngnhư sau: STT, họ tên, hệ số lương, tiền lương, Chữ kýTrong đó, Tiền lương = hệ số lương X 500000; hệ sốlương được phân chia dựa trên học vị
Bộ phận quản lý dự án có nhu cầu lập danh sách
phân công nhân viên cho các dự án, với các thông tin:
STT, họ tên, chuyên môn, dự án
đó, nhân viên được phân công phải có chuyên
Môi trường CSDL
CT QLTL
CT QLDA
Bảng Lương
Bảng Phân công
Danh mụcHSL
Danh mục
Dự ánNhân viên
Trang 9 Mục tiêu chính của thiết kế CSDL:
Chương 1: Giới thiệu tổng quan
Làm thế nào chuyển đổi nhu cầu lưu trữ và khai thác dữ liệu của người dung thành một hệ thống CSDL hiệu quả?
Tính hiệu quả được thể hiện cụ thể bởi các tính chất:
Trang 10 Mục tiêu chính của thiết kế CSDL:
Chương 1: Giới thiệu tổng quan
Ví dụ: Thiết kế CSDL dữ liệu cho công ty phần mềm trên, với
cùng các nhu cầu lưu trữ và khai thác dữ liệu, có thể có nhiều cấu trúc CSDL khác nhau:
Trang 11 Tiêu chuẩn để lựa chọn một cấu trúc CSDL hiệu quả:
Chương 1: Giới thiệu tổng quan
• Thời quan truy xuất dữ liệu đáp ứng cho một yêu cầu
khai thác?
• Thời gian phục hồi CSDL khi có sự cố ?
• Chi phí tổ chức và cài đặt CSDL ?
• Dễ bảo trì, nâng cấp, sửa đổi khi phát sinh những nhu
cầu mới hay không?
Trang 12 Các thông tin vào / ra quy trình thiết kế:
Chương 1: Giới thiệu tổng quan
(1) Yêu cầu về thông tin: dùng CSDL cho vấn đề gì?
Xuất phát từ người sử dụng có nhu cầu và quan điểm?
(2) Yêu cầu về xử lý: mỗi nhóm người sử dụng sẽ nêu
ra các yêu cầu xử lý của riêng mình; Tần suất xử lý vàkhối lượng dữ liệu
(3) Đặc trưng kỹ thuật của hệ quản trị CSDL cần sử
(1) Cấu trúc quan niệm CSDL
(2) Cấu trúc Logic CSDL
(3) Cấu trúc Vật lý CSDL
Trang 13 Các thông tin vào / ra quy trình thiết kế:
Chương 1: Giới thiệu tổng quan
CTLGCSDLCTVLCSDL
Trang 14Các giai đoạn thiết kế CSDL
Chương 1: Giới thiệu tổng quan
Giới thiệu
Chu kỳ sống của một CSDL
Trang 15 Chu kỳ sống của một CSDL:
Chương 1: Giới thiệu tổng quan
Một ứng dụng tin học được triển khai thực hiện trải qua các giai đoạn:
G
Giai đoạn xây dựng CSDL
Giai đoạn thử nghiệm
và khai thác
Trang 16 Chu kỳ sống của một CSDL:
Chương 1: Giới thiệu tổng quan
Giai đoạn xây dựng CSDL
(A) Phân tích các nhu cầu của người sử dụng
(B) Thiết kế CSDL ở mức quan niệm: nghĩa là xác định nội dung CSDL (chứanhững thông tin gì ?) Chỉ quan tâm ở mức dữ liệu
(C) Thiết kế CSDL ở mức Logic: Chia vấn đề cần xử lý ra thành nhiều bước Ởđây chỉ chú ý đến các xử lý đặt ra, nhưng chưa chú ý đến phần mềm và phầncứng
(D) Thiết kế CSDL ở mức vật lý: Cài đặt CSDL như thế nào? Giải quyết nhữngvấn đề mang tính kỹ thuật
Ví dụ: Sử dụng phần mềm nào? Với cấu hình máy ra sao?.
Giai đoạn thử nghiệm và khai thác
(E) Cài đặt và chạy thử nghiệm: Nếu có sai sót thì phải hiệu chỉnh lại cấu trúcCSDL ở các mức quan niệm; logic; vật lý
(F) Đưa cho người sử dụng khai thác
(G) Thích ứng CSDL theo những nhu cầu mới
Trang 17Các giai đoạn thiết kế CSDL
Chương 1: Giới thiệu tổng quan
Giới thiệu
Chu kỳ sống của một CSDL
Trang 18 Các giai đoạn thiết kế CSDL:
Chương 1: Giới thiệu tổng quan
Quy trình thiết kế CSDL
Phân tích nhu cầu
Bản đặc tả các nhu cầu
Thiết kế quan niệm
Cấu trúc quan niệm CSDL
Trang 19 Chương 1: Giới thiệu tổng quan
Phân tích nhu cầu Đây là bước khó nhất trong quá trình thiết kế vì nó
được thực hiện thông qua sự tiếp xúc giữa người thiết kế
và người sử dụng
Nội dung:
• Thu thập thông tin về dữ liệu và xử lý từ người sửdụng, từ các tài liệu, chứng từ, biểu mẫu thống kêliên quan đến CSDL và cả những tài liệu của CSDL
cũ (nếu có)
• Sau khi thu thập phải tổng hợp và phân tích nhữngnhu cầu đó Kiểm tra xem có những mâu thuẩngiữa các nhu cầu không?
Trang 20DỊCH VỤ MƯỢN SÁCH THƯ VIỆN
TÍNH LƯƠNG SẢN XUẤT
- Có độ trễ
- Xử lý riêng từng trường hợp
- Có định kỳ
- Xử lý chung toàn bộ
Phân tích nhu cầu
Các giai đoạn thiết kế CSDL:
Trang 21• Đưa ra những dữ liệu cần thiết nhất.
• Phải có bộ hồ sơ hệ thống hoá những nhu cầu vàviết theo ngôn ngữ bình thường để người dùng đọclại và bổ sung những yêu cầu của họ
• Bộ hồ sơ này còn được dùng để nghiệm thu CSDL
Phân tích nhu cầu
Các giai đoạn thiết kế CSDL:
Trang 22• Phân chia các nhu cầu ra thành từng mảng Điều
đó dẫn đến sẽ có nhiều mô hình quan niệm dữ liệu,mỗi mô hình liên quan đến 1 mảng
• Cuối cùng cần tích hợp các mô hình đó lại Khi tổnghợp, cần phải xác định tất cả các ràng buộc toànvẹn và tạo ra từ điển dữ liệu
Phân tích nhu cầu
Thiết kế quan niệm
Các giai đoạn thiết kế CSDL:
Trang 23 Chương 1: Giới thiệu tổng quan
Ví dụ: Thiết kế CSDL quản lý một công ty gồm có 2 đốitượng: nhóm người quản trị kinh doanh và nhóm ngườiquản lý kho
Phân tích nhu cầu
Thiết kế quan niệm
Đối với người quản trị kinh doanh: chỉ quantâm đến các thành phẩm: Mã thành phẩm,tên, số lượng tồn, đơn giá bán
Đối với người quản lý kho: ngoài thông tínthành phẩm, người quản lý kho còn quantâm đến các chứng từ liên quan đến cácthành phẩm: số đợt, giá thành, số lượng
Các giai đoạn thiết kế CSDL:
Trang 24 Chương 1: Giới thiệu tổng quan
Mục đích:
• Dựa trên nhu cầu xử lý, nghiên cứu cách sử dụng
dữ liệu thông qua xử lý các thông tin cần: tần suất,khối lượng
• Trong giao đoạn thiết kế quan niệm, dữ liệu cần loại
bỏ những thông tin trùng lắp Nhưng ở giai đọanthiết kế logic, cần phải cân nhắc, dựa trên hiệu quả
xử lý, để quyết định có hay không có cài đặt thôngtin trùng lắp
Phân tích nhu cầu
Thiết kế quan niệm
Thiết kế logic
Các giai đoạn thiết kế CSDL:
Trang 25Giai đoạn này, đơn giản hay phức tạp tùy thuộc vàođặc trưng kỹ thuật của phần mềm và phần cứng
Phân tích nhu cầu
Thiết kế quan niệm
Thiết kế logic
Thiết kế vật lý
Các giai đoạn thiết kế CSDL:
Trang 26ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong
Trang 27mã ID cho khách hang đã đăng ký.
b) Các nhân viên làm việc được lưu trữ các thông tin: mã nhân viên, họ tên,ngày sinh, địa chỉ, ngày vào làm việc và lương
c) Mỗi sản phẩm được bán có thể cung cấp bởi nhiều nhà cung ứng (thông tin
về mỗi mặt hàng bao gồm: mã sản phẩm, tên sản phẩm, giá và đơn vị tính).Mỗi nhà cung ứng cần lưu tên công ty, địa chỉ, số phone, số fax
d) Mỗi khách hàng mua hàng thì chọn lựa hàng và sau đó đến quầy tính tiền
Ở quầy tính tiền sẽ in ra 1 bill gồm số hóa đơn, ngày lập hóa đơn, tên kháchmua, tên người bán và danh sách các mặt hàng mua kèm theo đơn giá bán
Câu hỏi : Liệt kê các quan hệ cần quản lý trên.
Trang 28(Tên Giảng viên) TEN_GV
(Học hàm Giảng viên) HH_GV
(Mức lương Giảng viên) ML_GV
(Tổng số sinh viên) TSSV
Cho dữ liệu của việc quản lý thông tin giảng dạy tại một Trường như sau:
Xây dựng bản đặc tả cho các CSDL dựa trên các thông tin trên
Trang 29 Chương 1: Giới thiệu tổng quan
Bài 3
Hãy thiết kế CSDL cho bài toán quản lý giáo vụ của một trường dựa trên các mô
tả và các quy tắc như sau:
a) Lưu trữ thông tin: Học viên , giáo viên, môn học
b) Xếp lớp cho học viên, chọn lớp trưởng cho lớp
c) Phân công giảng dạy: giáo viên dạy lớp nào với môn học gì, ở học kỳ, nămhọc nào
d) Lưu trữ kết quả thi: học viên thi môn học nào, lần thi thứ mấy, điểm thi baonhiêu
Câu hỏi : Liệt kê các quan hệ cần quản lý trên.
Trang 30ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong
Trang 31 MÔ HÌNH DỮ LIỆU QUAN HỆ
MÔ HÌNH
• Tên gọi: dãy ký tự (gợi nhớ)
• Kiểu dữ liệu: Số, Chuỗi, Thời gian,
Luận lý, OLE
• Miền giá trị: tập giá trị mà thuộc
tính có thể nhận Ký hiệu miền giátrị của thuộc tính A là Dom(A)
Trang 32MÔ HÌNH
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 33MÔ HÌNH
Quan hệ là một bảng (table) với các
cột là các thuộc tính và mỗi dòngđược gọi là bộ
Một bộ của quan hệ Q(A1,A2, ,AN) làq(a1,a2, ,aN) với ai Dom(Ai)
Ví dụ:
HOCVIEN(Mahv, Hoten, Ngsinh,Noisinh) có q=(1003,Nguyen VanLam, 1/1/1987,Dong Nai) nghĩa làhọc viên có mã số là 1003, họ tên là
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 34MÔ HÌNH
Thể hiện của quan hệ
Là tập hợp các bộ giá trị của quan hệtại một thời điểm nhất định
Ký hiệu:
Thể hiện của quan hệ Q là T Q
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 35MÔ HÌNH
Ký hiệu: ||Q||
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 36MÔ HÌNH
Ký hiệu: phép chiếu quan hệ R lên
tập thuộc tính A là R[A] hoặc R.A
Chiếu của một bộ lên tập thuộc tính:
dùng để trích chọn các giá trị cụ thểcủa bộ giá trị đó theo các thuộc tínhđược chỉ ra trong danh sách thuộctính của một quan hệ
Ký hiệu: chiếu của một bộ giá trị t
lên tập thuộc tính A của quan hệ R
là t R [A] hoặc t[A].Nếu A có 1 thuộc tính t R A
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 37MÔ HÌNH
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 38MÔ HÌNH
Nghĩa là: t1, t2 TQ, t1[K]
t2[K] K là siêu khóa của Q
Một quan hệ có ít nhất một siêukhóa (Q+) và có thể có nhiều siêukhóa
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 39MÔ HÌNH
- Thuộc tính tham gia vào mộtkhóa gọi là thuộc tính khóa, ngược lại là thuộc tính không
khóa.
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 40MÔ HÌNH
và gọi là khóa chính
Ký hiệu: 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.
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 41MÔ HÌNH
Ta nói K 2 là khóa ngoại của S tham
chiếu đến khóa chính K1 của R nếuthỏa các điều kiện sau:
- K1 và K2 có cùng số lượng thuộctính và ngữ nghĩa của các thuộctính trong K1 và K2 cũng giốngnhau
- Giữa R và S tồn tại mối quan hệ1-n trên K1 và K2,
- s S, !r R sao cho
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 42MÔ HÌNH
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ệđó
Trang 43MÔ HÌNH
Các quan hệ
MÔ HÌNH DỮ LIỆU QUAN HỆ
Trang 44ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong
Trang 45 CÁC NGÔN NGỮ LIÊN QUAN CSDL
Chọn kết hợp các cặp câu sau cho phù hợp:
Trang 46Cho CSDL QLDETAI (Quản lý đề tài) gồm các quan hệ:
G Giáo viên: G# Mã giáo viên, TG tên giáo viên, GT
giới tính, DC địa chỉ, NVL ngày vào làm
D Đề tài: D# mã đề tài, TD tên đề tài, NB ngày bắt
đầu, NK ngày kết thúc, G# giáo viên hướng dẫn, SL số
lượng sinh viên
S Sinh viên: S# mã sinh viên, TS tên sinh viên, D# mã
đề tài
CÁC NGÔN NGỮ LIÊN QUAN CSDL
Trang 47Cho CSDL QLDIEM (Quản lý điểm) gồm các quan hệ:
S sinh viên: S# Mã sinh viên, TS tên sinh viên, GT giới
tính, K khoá, SoMonDat số môn đạt, DTB điểm trung
bình
M Môn học: M# mã môn học, TM tên môn học, SoTC
số tín chỉ
K Kết quả thi: S# , M# , D điểm thi
CÁC NGÔN NGỮ LIÊN QUAN CSDL
Trang 48 Bài tập trên 1 quan hệ
Cho CSDL QLDETAI, viết các câu truy vấn sau bằng NN ĐSQH:
1 Liệt kê giáo viên (mã giáo viên, tên giáo viên) vào làm trong năm 2013
3 Liệt kê giáo viên (tên giáo viên) nữ vào làm trong năm 2010 hoặc 2013
(G:(GT=“nu” (year(NVL) = 2010 year(NVL) = 2013))[TG]
CÁC NGÔN NGỮ LIÊN QUAN CSDL
Trang 49 Bài tập trên 1 quan hệ
Cho CSDL QLDETAI, viết các câu truy vấn sau bằng NN ĐSQH:
4 Liệt kê các đề tài (tên đề tài) thực hiện trong năm 2013
5 Liệt kê các đề tài (tên đề tài) thực hiện trong năm 2013 và có số lượng
sinh viên thực hiện 2
6 Liệt kê các sinh viên (tên sinh viên) có chứa chữ Nguyen
Cho CSDL QLDIEM, viết các câu truy vấn sau bằng NN ĐSQH:
1 Liệt kê các sinh viên (tên sinh viên) khoá 10 có DTB 5
2 Liệt kê các sinh viên (tên sinh viên) nam khoá 10 có DTB 5 hoặc
sinh viên nữ khoá 12
CÁC NGÔN NGỮ LIÊN QUAN CSDL
Trang 50 Bài tập trên n quan hệ
Cho CSDL QLDETAI, viết các câu truy vấn sau bằng NN ĐSQH:
1 Liệt kê các đề tài (tên đề tài) do giáo viên Nguyen hướng dẫn
Trang 51 Bài tập trên n quan hệ
Cho CSDL QLDETAI, viết các câu truy vấn sau bằng NN ĐSQH:
4 Liệt kê các đề tài (mã đề tài, tên đề tài, tên giáo viên) bắt đầu hay kết
thúc trong năm 2010
5 Liệt kê các đề tài (mã đề tài, tên đề tài, tên giáo viên) do giáo viên ở
TPHCM hướng dẫn bắt đầu năm 2010
6 Liệt kê các đề tài (mã đề tài, tên đề tài, tên sinh viên) bắt đầu năm
2010
7 Liệt kê các đề tài (mã đề tài, tên đề tài, tên giáo viên, tên sinh viên) )
do giáo viên nam ở TPHCM hướng dẫn
CÁC NGÔN NGỮ LIÊN QUAN CSDL
Trang 52 Bài tập kết hợp các phép toán
Cho CSDL QLDETAI, viết các câu truy vấn sau bằng NN ĐSQH:
1 Liệt kê các giáo viên (mã giáo viên) không hướng dẫn đề tài nào
G[G#] – D[G#]
2 Liệt kê các giáo viên (mã giáo viên) không hướng dẫn đề tài nào bắt
đầu trong năm 2010
Trang 53 Bài tập kết hợp các phép toán
Cho CSDL QLDIEM, viết các câu truy vấn sau bằng NN ĐSQH:
2 Liệt kê môn học (tên môn học) chưa có sinh viên nào thi hay chưa có
sinh viên nào thi đạt (D>=5)
1 Liệt kê sinh viên (mã sinh viên) nam (GT=‘Nam’) chưa thi hay chưa thi
Trang 54ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong