Professional Documents
Culture Documents
Kami Export - LyThuyetThietKeCSDL
Kami Export - LyThuyetThietKeCSDL
THIẾT KẾ
CƠ SỞ DỮ LIỆU
Dữ liệu thông tin tri thức là tài sản của tổ chức, có
Đặt vấn đề vai trò quan trọng trong sự thành công của tổ chức.
*Tri thức được xem là sự phối hợp giữa kinh nghiệm và thông tin
9
American Standard Code for Information Interchange
Object Attachment
/’ɒbdʒɪkt/ /əˈtætʃmənt/ …
11
Phân cấp dữ liệu
12
Bảo trì dữ liệu
Hiệu chỉnh
Thêm Xóa
(modify
(add /æd/) (delete /dɪˈliːt/)
/‘mɑːdɪfaɪ/)
các bản ghi các bản ghi
các bản ghi
13
Bảo trì dữ liệu
• Người dùng thêm (add) các bản ghi mới vào một hồ sơ khi
họ thu được dữ liệu mới
14
Bảo trì dữ liệu
15
Bảo trì dữ liệu
• Khi một bản ghi không còn cần thiết, người dùng xóa
(delete) nó khỏi hồ sơ
16
Bảo trì dữ liệu
• Xác nhận tính Kiểm tra Kiểm tra Kiểm tra tính Kiểm tra tính
hợp lệ (validation dạng chữ/số khoảng nhất quán đầy đủ
/ˌvælɪˈdeɪʃn/) đối …
chiếu dữ liệu với
một tập các quy
tắc hay giá trị
nhằm nhận biết
dữ liệu có đúng
hay không
17
Cách tiếp cận xử lý hồ sơ & CSDL
18
Cách tiếp cận xử lý hồ sơ & CSDL
Cần hệ quản lý
CSDL
19
Hệ quản lý CSDL (DBMS)
• Từ điển dữ liệu
(data dictionary
/‘deɪtə ˈdɪkʃəneri/)
chứa dữ liệu về
mỗi hồ sơ trong
CSDL và mỗi
trường trong các
hồ sơ đó (dữ liệu
về dữ liệu)
23
Hệ quản lý CSDL (DBMS)
Truy lục và bảo trì dữ liệu
24
Hệ quản lý CSDL (DBMS)
Truy lục và bảo trì dữ liệu
26
Hệ quản lý CSDL (DBMS)
Truy lục và bảo trì dữ liệu
27
Hệ quản lý CSDL (DBMS)
Truy lục và bảo trì dữ liệu
28
Hệ quản lý CSDL (DBMS)
Bảo mật, sao lưu & hồi phục dữ liệu
Hệ quản lý CSDL cung cấp các phương cách để đảm bảo rằng: chỉ những
người dùng được xác thực mới có thể truy xuất dữ liệu tại những thời
gian được phép
• Quyền truy xuất (access privilege): xác lập ai có thể xem, nhập, sửa, xóa dữ liệu
• Nguyên tắc quyền tối thiểu (principle of least privilege): Quyền truy xuất bị giới hạn ở mức thấp nhất có
thể (đủ để thực hiện các tác vụ cần thiết)
Hệ quản lý CSDL cung cấp nhiều kỹ thuật để hồi phục CSDL thành một
dạng có thể dùng được trong trường hợp nó bị hư hay bị phá (lỗi phần
cứng/mềm, sai sót của người dùng, hỏa hoạn,…)
• Bản sao lưu dự phòng (backup/copy): là toàn bộ CSDL được lưu lại bằng tiện ích sao lưu (có thể có trong
DBMS)
• Nhật ký (log): là danh sách cách hoạt động làm thay đổi nội dung của CSDL
• Tiện ích hồi phục (recovery utility): sử dụng bản sao lưu và/hay nhật ký để khôi phục CSDL
• Sao lưu liên tục (continuous backup): dữ liệu được sao lưu mỗi khi có thay đổi 29
Mô hình dữ liệu
?
• Mỗi CSDL và hệ quản lý CSDL dựa trên một mô hình dữ liệu cụ thể
• Mô hình dữ liệu (data model) bao gồm các quy tắc và các chuẩn
mực định nghĩa cách tổ chức dữ liệu trong CSDL
30
*Hai mô hình hiện không còn được sử dụng: phân cấp (hierarchical ), mạng (network )
Mô hình dữ liệu
CSDL quan hệ
32
Mô hình dữ liệu
CSDL hướng đối tượng
• CSDL hướng đối tượng (object-oriented database) lưu trữ dữ liệu ở dạng các
đối tượng (ngoài dữ liệu, đối tượng còn chứa các hành động đọc/xử lý dữ liệu)
• Một số ứng dụng của CSDL hướng đối tượng:
Computer-aided design Hypertext/hypermedia
Multimedia database Groupware database
database database
• Lưu trữ hình ảnh, đoạn • Lưu trữ các tài liệu như • Lưu trữ dữ liệu về các • CSDL hypertext chứa
audio và/hay video. thời khóa biểu, lịch, sổ bản thiết kế khoa học kỹ các liên kết dạng văn
• CSDL GIS (geographic tay, bản ghi nhớ, và báo thuật, kiến trúc. bản (text link) đến các
information system) biểu. • Dữ liệu trong CSDL bao tài liệu khác.
lưu trữ bản đồ và các • Người dùng thực hiện gồm: • CSDL hypermedia chứa
dữ liệu địa lý khác. các truy vấn để tìm kiếm • Danh sách các thành văn bản, hình đồ họa,
• CSDL hệ thống thư nội dung tài liệu. Ví dụ: phần của các hạng audio & video.
thoại (voice mail) lưu tìm thời khóa biểu của mục được thiết kế, • Web chứa nhiều CSDL
trữ các thông điệp mọi người để lên lịch • Mối quan hệ giữa các hypertext và
dạng audio. họp. thành phần, hypermedia. Bạn có thể
• CSDL đài truyền hình • Các phiên bản thiết kế tìm tài liệu, hình đồ họa,
lưu trữ các đoạn audio trước đó. audio & video, liên kết
và video. đến các trang Web.
* CSDL hướng đối tượng và CSDL quan hệ-đối tượng thường sử dụng ngôn ngữ truy vấn đối tượng
33
(OQL) để thao tác và truy lục dữ liệu
Mô hình dữ liệu
CSDL hướng đối tượng
34
Mô hình dữ liệu
CSDL đa chiều
36
Nhân sự CSDL
Vai trò của phân tích viên và quản trị viên CSDL
Phân tích viên và quản trị viên CSDL chịu trách nhiệm
quản lý và điều phối mọi hoạt động CSDL
Database Analyst (DA) Database Administrator (DBA)
Bố trí các trường phù hợp, định nghĩa Tạo và bảo trì từ điển dữ liệu, quản lý
mối liên kết dữ liệu, và nhận diện các bảo mật, theo dõi hiệu năng, và kiểm
quyền truy xuất của người dùng soát các thủ tục sao lưu và hồi phục
Thiên về ý nghĩa và sử dụng dữ liệu Thiên về kỹ thuật bên trong dữ liệu
* data modeller=DA
* Trong các công ty nhỏ, DA & DBA thường là cùng một người
38
Nhân sự CSDL
Vai trò của nhân viên (người dùng cuối)
• Lượng thông tin lớn Truy xuất thông tin nhanh giúp nhân viên
thực hiện công việc hiệu quả hơn Nhân viên nên học cách sử
dụng dữ liệu trong CSDL sao cho hiệu quả
– Nhân viên trong hầu hết
các cửa hàng bán lẻ tương
tác với CSDL liên quan đến
tồn kho
– Nhân viên phải đóng một
vai trò tích cực trong việc
nhận diện dữ liệu mới cho
CSDL
– Nhân viên có thể tham vào
quá trình thiết kế CSDL
39
Phân tích & thiết kế CSDL
Các chỉ dẫn thiết kế CSDL (trong một DBMS)
1. Xác định mục đích của CSDL.
2. Thiết kế các bảng.
– Thiết kế trên giấy trước (sử dụng ERD).
– Mỗi bảng nên chứa dữ liệu về một chủ thể. Ví dụ: bảng Student chứa dữ
liệu về sinh viên.
3. Thiết kế các bản ghi và trường cho mỗi bảng.
– Đảm bảo mỗi bản ghi có một khóa chính duy nhất.
– Đôi khi cần sử dụng nhiều trường cho một hạng mục. Ví dụ: tên có thể
được lưu trữ trong 6 trường: Title (Mr., Mrs., Dr., …), First Name, Middle
Name, Last Name, Suffix (Jr., Sr.,…), và Nickname.
– Không tạo trường cho thông tin có thể được suy từ các trường khác. Ví dụ:
không tạo trường tuổi, mà tạo trường ngày sinh rồi từ đó tính tuổi.
– Đảm bảo đủ chỗ cho mỗi trường.
– Thiết lập giá trị mặc định cho những dữ liệu được nhập thường xuyên.
4. Xác định mối liên kết giữa các bảng.
40
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết
• Thực thể (Entity) – đối tượng cần được lưu trữ dữ liệu. Ví dụ: người,
vật, nơi chốn, sự kiện, khái niệm ,… (thường tương ứng với một hàng
trong một bảng)
– Kiểu thực thể (Entity type) – tập hợp các thực thể cùng kiểu (thường
tương ứng với một bảng) thường được gọi tắt là thực thể
• Thuộc tính (Attribute) – tính chất hay đặc điểm của một kiểu thực thể
(thường tương ứng với một trường trong một bảng)
– Khóa (key/identifier ) 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ể.
• Mối liên kết (Relationship) – liên kết giữa các thực thể
– Kiểu mối liên kết (Relationship type) – liên kết giữa các kiểu thực thể
(thường tương ứng với các ràng buộc khóa chính-khóa ngoại trong các
bảng có liên quan) thường được gọi tắt là mối liên kết
42
43
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết: Bậc của mối liên kết
• Bậc (degree) 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
Một thực thể liên Các thực thể của 2 Các thực thể của 3
kết với một thực thể kiểu thực thể khác kiểu thực thể khác
khác thuộc cùng nhau liên kết với nhau liên kết với nhau
kiểu thực thể nhau
Mối liên kết 1 ngôi Mối liên kết 2 ngôi Mối liên kết 3 ngôi 44
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết: Lượng số của mối liên kết
45
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết: Lượng số của mối liên kết
1:1:1
1:1:N
1:N:N
N:N:N
50
50
Phân tích & thiết kế CSDL
Lược đồ thực thể-mối liên kết
51
Phân tích & thiết kế CSDL
Bài tập quản lý bán hàng
• Mỗi khách hàng có một mã khách hàng (MaKH) duy nhất, mỗi MaKH xác định
được các thông tin về khách hàng như: họ tên khách hàng (TenKH), địa chỉ (DiaChi),
thành phố (ThanhPho), số điện thoại (DienThoai).
• Nhân viên của cửa hàng có một mã nhân viên (MaNV) duy nhất, mỗi MaNV xác
định được các thông tin về nhân viên như: họ (HoNV), tên nhân viên (TenNV), giới
tính (GioiTinh), ngày sinh (NgaySinh), địa chỉ (DiaChi), số điện thoại (DienThoai).
• Các mặt hàng được phân loại theo từng loại hàng, mỗi loại hàng có một mã loại
(MaLoai) duy nhất, mỗi MaLoai xác định tên loại (TenLoai), tất nhiên một loại hàng
có thể có nhiều mặt hàng. Mỗi mặt hàng được đánh một mã số (MaSP) duy nhất,
mỗi MaSP xác định các thông tin về mặt hàng đó như: tên hàng (TenSP), đơn vị tính
(DonViTinh,) đơn giá bán (DonGia). Mỗi hóa đơn bán hàng có một số hóa đơn
(MaHD) duy nhất, mỗi MaHD xác định được khách hàng, nhân viên lập hóa đơn đó
và ngày lập hóa đơn (NgayLapHD), ngày nhận hàng (NgayNH). Với mỗi mặt hàng
trong một hóa đơn cho biết số lượng bán (SoLuong) của mặt hàng đó.
52
Phân tích & thiết kế CSDL
Lược đồ CSDL quan hệ
Khóa chính
Khóa ngoại
54
Phân tích & thiết kế CSDL
Lược đồ CSDL quan hệ
55
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 1
56
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2
57
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2
58
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2
59
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2
Quan hệ mới
Khóa ngoại
Khóa ngoại
60
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 2
62
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 3
64
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 3
66
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 3
67
*Đặt khóa của bên bắt buộc vào quan hệ.
Phân tích & thiết kế CSDL
Chuyển ERD thành lược đồ CSDL quan hệ: Bước 3
68
Phân tích & thiết kế CSDL
Bài tập quản lý bán hàng
• Mỗi khách hàng có một mã khách hàng (MaKH) duy nhất, mỗi MaKH xác định
được các thông tin về khách hàng như: họ tên khách hàng (TenKH), địa chỉ (DiaChi),
thành phố (ThanhPho), số điện thoại (DienThoai).
• Nhân viên của cửa hàng có một mã nhân viên (MaNV) duy nhất, mỗi MaNV xác
định được các thông tin về nhân viên như: họ (HoNV), tên nhân viên (TenNV), giới
tính (GioiTinh), ngày sinh (NgaySinh), địa chỉ (DiaChi), số điện thoại (DienThoai).
• Các mặt hàng được phân loại theo từng loại hàng, mỗi loại hàng có một mã loại
(MaLoai) duy nhất, mỗi MaLoai xác định tên loại (TenLoai), tất nhiên một loại hàng
có thể có nhiều mặt hàng. Mỗi mặt hàng được đánh một mã số (MaSP) duy nhất,
mỗi MaSP xác định các thông tin về mặt hàng đó như: tên hàng (TenSP), đơn vị tính
(DonViTinh,) đơn giá bán (DonGia). Mỗi hóa đơn bán hàng có một số hóa đơn
(MaHD) duy nhất, mỗi MaHD xác định được khách hàng, nhân viên lập hóa đơn đó
và ngày lập hóa đơn (NgayLapHD), ngày nhận hàng (NgayNH). Với mỗi mặt hàng
trong một hóa đơn cho biết số lượng bán (SoLuong) của mặt hàng đó.
69
Phân tích & thiết kế CSDL
Bài tập quản lý bán hàng
70
Phân tích & thiết kế CSDL
Bài tập làm thêm: Quản lý bất động sản
• Một công ty bất động sản có một số văn phòng tại nhiều địa
điểm. Mỗi văn phòng có mã số văn phòng và địa điểm. Mỗi
văn phòng có một số nhân viên. Mỗi nhân viên chỉ thuộc một
văn phòng, thông tin bao gồm: mã nhân viên, tên, ngày sinh,
ngày vào làm.
• Công ty có một danh sách các bất động sản cần bán. Thông
tin về bất động sản bao gồm: mã bất động sản, địa chỉ. Mỗi
bất động sản được rao bán tại nhiều văn phòng với giá khác
nhau. Tại mỗi văn phòng, có nhiều bất động sản được rao bán
và cũng có thể không có bất động sản nào được rao bán. Mỗi
bất động sản có một chủ nhân. Chủ nhân được xác định bởi
mã số chủ nhân. Một chủ nhân có thể có nhiều bất động sản.
Thông tin về chủ nhân còn có: tên, địa chỉ và số điện thoại.
71
Tóm tắt
• Dữ liệu và thông tin là tài sản đáng giá đối với một tổ chức
• Việc tổ chức dữ liệu trong một CSDL có nhiều thuận lợi so với
cách tiếp cận xử lý hồ sơ truyền thống
• Các chức năng của hệ quản lý CSDL: truy lục, bảo trì, bảo mật,
sao lưu và hồi phục,…
• Các mô hình dữ liệu phổ biến hiện nay: quan hệ, hướng đối
tượng, đa chiều
• Các loại người dùng CSDL: nhân viên (người dùng cuối), phân
tích viên & quản trị viên
• Các bước phân tích và thiết kế CSDL: lược đồ thực thể-mối liên
kết (ERD) (khái niệm) lược đồ CSDL (luận lý) lược đồ
trong một DBMS cụ thể (vật lý)
72
MÁY TÍNH TRONG
KINH DOANH
THIẾT KẾ
CƠ SỞ DỮ LIỆU