Bài 1
Thiết Kế Cơ Sở Dữ
Liệu
Database Design and Implementation with
SQL Server / Session 1 /
2 of 23
Mục đích bài học
Ôn lại khái niệm CSDL quan hệ và các thành phần cơ bản của
SQL Server.
Tìm hiểu nội dung của thiết kế CSDL và các khái niệm liên quan
như mô hình hóa CSDL.
Tìm hiểu khái niệm chuẩn hóa CSDL trong quan hệ với mô hình
hóa CSDL
Tìm hiểu sơ đồ quan hệ - thực thể và cách dùng trong thiết kế
CSDL
Khái niệm toàn vẹn dữ liệu và thao tác với toàn vẹn dữ liệu
Tìm hiểu từ điển dữ liệu, thiết kế bảo mật, thiết kế vật lý trong
quan hệ với thiết kế CSDL
Database Design and Implementation with
SQL Server / Session 1 /
3 of 23
Các khái niệm cơ bản về CSDL
quan hệ và SQL Server
Sự cần thiết của CSDL và các mô hình của một CSDL
Khái niệm bảo toàn thực thể
Khóa chính
Khóa phụ
Tạo bảng trong SQL Server 2000
Khái niệm về công cụ Enterprise Manager và Query Analyzer
Định nghĩa các ràng buộc về toàn vẹn và lựa chọn các ràng buộc đảm bảo toàn
vẹn
Khái niệm T-SQL và Enterprise Manager
Các kiểu dữ liệu trong SQL Server và các biểu thức điều kiện
Thao tác với dữ liệu trong bảng dùng T-SQL
Các câu lệnh T-SQL truy vấn CSDL
Các câu lệnh T-SQL truy vấn dữ liệu theo nhóm
Các hàm tập hợp trong SQL Server
Dùng INNER JOINS truy vấn dữ liệu từ nhiều bảng trong SQL Server 2000
Khái niệm về xuất và nhập dữ liệu dùng các công cụ chuyển đổi của Enterprise
Manger
Database Design and Implementation with
SQL Server / Session 1 /
4 of 23
Các mục đích chính của bài
học
Tìm hiểu quá trình thiết kế CSDL và các khái niệm liên quan như
mô hình hóa CSDL
Tìm hiểu khái niệm xử lý theo lô (Batch processing)
Tìm hiểu khái niệm giao dịch (transactions)
Tìm hiểu các khái niệm khóa (lock), khóa chết (deadlocks) trong
CSDL
Tìm hiểu cơ chế bảo mật của SQL Server 2000
Quản lý các truy vấn con (Sub-Queries), chỉ mục (indexes) và
các liên kết (joins)
Tìm hiểu khái niệm stored procedures và Triggers trong SQL
Server 2000
Database Design and Implementation with
SQL Server / Session 1 /
5 of 23
Thiết kế và mô hình hóa
CSDL
CSDL: là một tập hợp các dữ liệu được tổ
chức giúp cho việc truy xuất, quản lý và cập
nhật dễ dàng hơn
Thông tin là kết quả phân tích dữ liệu một
cách thông minh
Thiết kế CSDL: là đưa ra cấu trúc của các đối
tượng dữ liệu và mối quan hệ giữa các đối
tượng đó trong CSDL
Database Design and Implementation with
SQL Server / Session 1 /
6 of 23
CSDL thông tin học viên
Database Design and Implementation with
SQL Server / Session 1 /
7 of 23
Một số đặc điểm của thiết
kế CSDL
Thiết kế CSDL tồi:
CSDL hoạt động không hiệu quả
Có nhiều vấn đề trong việc cập nhật và
truy xuất dữ liệu
Thiết kế CSDL tốt:
CSDL hoạt động hiệu quả cao
Dễ dàng mở rộng
Thuận lợi cho việc phát triển ứng dụng
Database Design and Implementation with
SQL Server / Session 1 /
8 of 23
Thiết kế một CSDL
Bất kể độ lớn và tính phức tạp của một CSDL,
việc thiết kế một CSDL đều theo các bước
sau:
Thu thập thông tin
Xác định các đối tượng dữ liệu
Thiết kế mô hình dữ liệu
Xác định các loại thông tin cần quản lý cho từng
đối tượng dữ liệu
Xác định mối quan hệ giữa các đối tượng
Database Design and Implementation with
SQL Server / Session 1 /
9 of 23
Các bước thiết kế CSDL
Thu thập thông tin
Phỏng vấn những người liên quan đến hệ thống.
Xác định các yêu cầu của người dùng đối với hệ thống mới.
Xác định các vấn đề, các hạn chế của hệ thống hiện tại.
Thu thập các báo cáo khách hàng, báo cáo kho, báo cáo quản lý và
toàn bộ các tài liệu liên quan đến hệ thống hiện tại
Xác định các đối tượng dữ liệu
Xác định các đối tượng và thực thể chính cần quản lý trong CSDL
Các đối tượng hữu hình : một người, một sản phẩm
Các đối tưựong vô hình : một giao dịch kinh doanh,một phòng ban
của công ty hay một kỳ lương
Mỗi đối tượng duy nhất xác định được sẽ tương ứng với một bảng
dữ liệu trong CSDL
Database Design and Implementation with
SQL Server / Session 1 /
10 of 23
Mô hình hóa các đối tượng
Record the objects in a way that represents the
system visually
Xác định các loại hình thông tin của mỗi
đối tượng dữ liệu
Xác định các loại thông tin cần lưu trữ của mỗi đối
tượng
Các trường dữ liệu đơn thuần: Lưu các thông
tin hữu hình như tên, các thông tin này được xác
định bởi các nguồn bên ngoài CSDL.
Các trường dữ liệu phân loại: Phân loại hoặc
nhóm dữ liệu và lưu các dữ liệu mục lục như
true/false, married/single, VP/Director/Group
Manager, v.v….
Các bước thiết kế CSDL
(tiếp…)
Database Design and Implementation with
SQL Server / Session 1 /
11 of 23
Các trường dữ liệu xác định thực thể: giúp xác định
từng thực thể lưu trong bảng; thông thường tên các trường
này có từ id hay number (ví dụ: employee_id,
invoice_number)
Các trường quan hệ tham chiếu: giúp thiết lập kết nối
các thông tin trong một bảng với thông tin liên quan trong
bảng khác
Xác định mối quan hệ giữa các đối tượng
Xem xét các bảng dữ liệu
Xác định mối quan hệ logic giữa chúng
Thêm các trường quan hệ thiết lập kết nối giữa các bảng
Các bước thiết kế CSDL
(tiếp…)
Database Design and Implementation with
SQL Server / Session 1 /
12 of 23
Mô hình hóa dữ liệu
Các yêu cầu về thông tin nghiệp vụ
CSDL thực thi
Mô hình dữ liệu
khái niệm
Mô hình dữ liệu
Logic
Mô hình dữ liệu
vật lý
Mô hình
nghiệp vụ
Mô hình
hệ thống
Database Design and Implementation with
SQL Server / Session 1 /
13 of 23
Mô hình dữ liệu khái niệm
Mô hình dữ liệu trừu tượng mức cao
Giản đồ khái niệm (Conceptual schema) cung
cấp mô tả cố định các yêu cầu của CSDL
Độc lập với CSDL
Có 3 loại trừu tượng hóa
Phân loại
Tổng hợp
Khái quát
Database Design and Implementation with
SQL Server / Session 1 /
14 of 23
Mô hình dữ liệu Logic
Thông tin được sử dụng trong doanh nghiệp dựa trên một mô hình dữ
liệu cụ thể
Không phụ thuộc vào loại CSDL dùng hay các ràng buộc vật lý khác
Mô hình quan hệ thực thể : là quá trình thiết kế CSDL thể hiện toàn bộ
cấu trúc logic của CSDL
Thực thể : Thực thể là một đối tượng tồn tại độc lập với các đối tượng
khác. Thực thể có thể là một đối tượng cụ thể (như một người hay một
cuốn sách) hay là một đối tượng vô hình(như một kỳ nghỉ hay một khái
niệm).
Tập hợp các thực thể: là một tập hợp các thực thể cùng loại (ví dụ:
những người có tài khoản ở ngân hàng).
Thuộc tính: Một thực thể được cụ thể hóa bằng một tập các thuộc tính. Ví
dụ: Tên, Số bảo hiểm xã hội (SSN), Tuổi, Địa chỉ, Thành phố của một thực
thể “Người”.
Quan hệ và tập hợp các quan hệ: Quan hệ là sự liên kết giữa hai hay
nhiều thực thể. Một tập hợp các quan hệ bao gồm các quan hệ cung kiểu
với nhau.
Database Design and Implementation with
SQL Server / Session 1 /
15 of 23
Quan hệ
Customer
Account
CustAcc
t
Quan hệ giữa hai thực thể
Customer
Loan
Borrow
Branch
Quan hệ giữa ba thực thể
Database Design and Implementation with
SQL Server / Session 1 /
16 of 23
Các loại hình quan hệ
X
X
X
X
Y
Y
Y
Y
Một - một
X
X
X
X
Y
Y
Y
Y
Một – nhiều
X
X
X
X
Y
Y
Y
Nhiều – một
X
X
X
X
Y
Y
Y
Y
Nhiều – Nhiều
Database Design and Implementation with
SQL Server / Session 1 /
17 of 23
Sơ đồ quan hệ thực thể
(E-R Diagrams)
Street
Customer
Cust_Name
City
Date
Acct_Type
Acct_Numbe
r
Account
CustAcct
Deposito
r
Street
Customer
Cust_Name
City
Date
CustAcct
Deposito
r
Acct_Type
Acct_Number
Account
Một – nhiều
Một – Một
Database Design and Implementation with
SQL Server / Session 1 /
18 of 23
E R Diagrams (tiếp…)
Street
Customer
Cust_Name
City
Date
CustAcct
Depositor
Acct_Type
Acct_Number
Account
Account
Acct_numbe
r
Acct_Type
Log
Transaction
Date
Amount
Trans_Number
Nhiều – nhiều
E-R diagram với một tập các thực thể có quan hệ yếu
Database Design and Implementation with
SQL Server / Session 1 /
19 of 23
Các ký hiệu dùng trong E-
R Diagram
Ký hiệu Ý nghĩa
THỰC THỂ
THỰC THỂ YẾU
QUAN HỆ
THUỘC TÍNH
THUỘC TÍNH CHÍNH
THUỘC TÍNH CHỨA NHIỀU
GIÁ TRỊ
THUỘC TÍNH TẬP HỢP
THUỘC TÍNH PHÁI SINH
Database Design and Implementation with
SQL Server / Session 1 /
20 of 23
Chuẩn hóa dữ liệu
Khái niệm chuẩn hóa
Đưa cấu trúc CSDL về dạng đơn giản nhất
Loại bỏ những trường dữ liệu không cần thiết
Xác định các dữ liệu phụ thuộc lẫn nhau
Các hình thức chuẩn hóa
Chuẩn 1 (1NF)
Chuẩn 2 (2NF)
Chuẩn 3 (3NF)
Chuẩn 4 (4NF)
Chuẩn 5 (5NF)
Các khái niệm khác
Sự phụ thuộc chức năng
Thêm mới, cập nhật và xóa dữ liệu bất thường
Database Design and Implementation with
SQL Server / Session 1 /
21 of 23
Các bước chuẩn hóa
Loại bỏ các trường dữ liệu lặp lại trong bảng để đưa dữ liệu về
chuẩn 1.
Loại bỏ các dữ liệu không phụ thuộc hoàn toàn vào khóa chính
để được chuẩn 2.
Loại bỏ dữ liệu không thuộc bảng (các trường dữ liệu phụ thuộc
hoàn toàn vào trường dữ liệu không phải khóa chính hay các
trường khóa ngoại) để được chuẩn 3.
Đảm bảo rằng mỗi bản ghi chỉ thể hiện 1 thực thể.
Có thể đưa vào bảng 1 số dữ liệu dư thừa để tăng hiệu năng
tránh không phải liên kết dữ liệu giữa các bảng trong truy vấn.
Bước này còn được gọi là phi chuẩn hóa.
Database Design and Implementation with
SQL Server / Session 1 /
22 of 23
Các hình thức chuẩn hóa
Bảng dữ liệu ở chuẩn 1 nếu và chỉ nếu tất cả các
trường dữ liệu chỉ chứa một giá trị.
Bảng dữ liệu ở chuẩn 2 nếu nó đã ở chuẩn 1 và tất
cả các trường không phải khóa chính hoàn toàn phụ
thuộc vào khóa chính của bảng.
Bảng dữ liệu ở chuẩn 3 nếu nó đã ở chuẩn 2 và tất
cả các trường không phải khóa chính phụ thuộc
không trực tiếp vào khóa chính của bảng.
Từ sơ đồ quan hệ thực thể đến các bảng
Với mỗi thực thể và quan hệ chúng ta được một bảng
Mỗi bảng có một số trường (thuộc tính) với tên duy nhất.
Database Design and Implementation with
SQL Server / Session 1 /
23 of 23
Các yếu tố khác trong thiết
kế CSDL
Từ điển dữ liệu
Các định nghĩa thành tố dữ liệu có thể độc
lập với các định nghĩa của bảng hay một
phần định nghĩa của mỗi bảng.
Các kiểu dữ liệu
Thực thi toàn vẹn dữ liệu
Là độ tin cậy và chính xác của dữ liệu
Thiết kế máy chủ CSDL