Thiết kế cơ sở dữ liệu - Pdf 20

Bài 1 Thiết Kế CSDL
Mục tiêu bài học:
 Tìm hiểu các khái niệm thiết kế CSDL và mô hình hóa dữ liệu
 Mô tả mô hình E-R và sơ đồ E-R trong thiết kế CSDL
 Liệt kê các thành phần của sơ đồ E-R
 Tìm hiểu quá trình chuẩn hóa
 Liệt kê các dạng chuẩn
 Tìm hiểu các quy tắc chuẩn hóa
Giới thiệu
CSDL dùng để lưu trữ dữ liệu một cách có tổ chức và hiệu quả. CSDL giúp ta quản lý dữ liệu
một cách dễ dàng và nhanh chóng. SQL Server 2000 cung cấp một nền tảng quản lý dữ liệu cấp
doanh nghiệp. SQL Server 2000 là phiên bản mới nhất của CSDL SQL Server.
Trong kỳ học trước chúng ta đã nghiên cứu các khái niệm cơ bản của CSDL quan hệ cũng như
SQL Server 2000.
Trong kỳ học này chúng ta sẽ đi tìm hiểu tiếp một số chủ đề nâng cao hơn về SQL Server 2000.
Các chủ đề này bao gồm: mô hình hóa CSDL, xử lý theo lô, khóa, truy vấn con/liên kết, chỉ mục,
các thủ tục lưu trữ (stored procedure), trigger và các cơ chế bảo mật.
1.1 Thiết kế và mô hình hóa CSDL
CSDL là một tập hợp dữ liệu có tổ chức và có mối quan hệ giúp ta có thể dễ dàng truy xuất, quan
lý và cập nhật. Trong bài này chúng ta sẽ tìm hiểu cách thiết kế CSDL. Hãy xem ví dụ về một
công ty đã hưởng lợi từ việc thiết kế CSDL để lưu trữ các thông tin của mình.
Trong thế giới kinh doanh hiện nay, việc dữ đoán các sự kiện và chuẩn bị cho các sự kiện đó có
thể tiết kiệm tiền bạc và thời gian cho doanh nghiệp. Chúng ta cùng tìm hiểu ví dụ sau. Một công
ty sản xuất đồ hộp nhựa chất lượng cao đang lên kế hoạch nhập nguyên liệu thô hàng năm. Với
dữ liệu bán hàng trong 10 năm qua, ban lãnh đạo công ty có thể tính ra tỷ lệ tăng trưởng của
lượng hàng tiêu thụ được. Giá sử họ tính ra tỷ lệ tăng trưởng hàng năm từ 22% đến 27%. Dựa vào
tính toán này, họ có thể lên kế hoạch sản xuất với sản lượng tăng khoảng 30%.
Lúc này công ty sẽ chỉ đặt số lượng nguyên liệu phù hợp, nhờ đó tiết kiệm được ngoại tệ, nhà
xưởng và các tài nguyên liên quan khác. Kết quả là nhờ sự phân tích trên công ty có thể giao hàng
đúng hạn cho khách hàng.
Ví dụ này đã cho ta thấy một công ty có thể lập kế hoạch và lên lịch mua nguyên liệu dựa trên các

Bước đầu tiên của thiết kế CSDL là lập kế hoạch cho CSDL, kế hoạch này đóng vai trò là bản
hướng dẫn khi thực hiện thiết kế đồng thời làm tài liệu kỹ thuật cho CSDL khi đã hoàn thành thiết
kế. Chi tiết và độ phức tạp của CSDL được quyết định bởi một số yếu tố như sự phức tạp và độ
lớn của ứng dụng, số lượng người sử dụng.
Độ phức tạp của CSDL và tiến trình lập kế hoạch có thể biến đổi. Một CSDL có thể được thiết kế
bởi một người và có thể khá đơn giản hoặc cũng có thể rất lớn và phức tạp, ví dụ, CSDL xử lý
hàng trăm nghìn giao dịch ngân hàng. Với trường hợp đầu, việc thiết kế CSDL đơn giản chỉ cần
một vài chi chú lên giấy. Trong trường hợp sau ta cần phải có tài liệu chính thức hàng trăm trang
chứa tất cả các thông tin chi tiết có thể có trong CSDL.
Một số bước cơ bản sau có thể được sử dụng khi thiết kế CSDL bất kể độ lớn và độ phức tạp của
CSDL:
1. Thu thập thông tin
2. Xác định các đối tượng
3. Thiết kế mô hình
4. Xác định loại thông tin cho mỗi đối tượng
5. Xác định quan hệ giữa các đối tượng
Chúng ta đi nghiên cứu chi tiết của từng bước trên.
1. Thu thập thông tin
• Trước khi thiết kế CSDL ta cần nắm vững những yêu cầu của một CSDL và vai trò
của nó.
• Nếu CSDL được tạo ra để thay thế cho hệ thông dữ liệu giấy hay hệ thống quản lý
thông tin thủ công thì các hệ thống cũ sẽ là nguồn thông tin chính cần thu thập.
• Việc phỏng vấn những người dùng hệ thống để tìm hiểu công việc và yêu cầu của họ
cũng rất quan trọng.
• Cũng cần thiết phải xác định được chức năng của hệ thống mới cũng như xác định
các vấn đề, hạn chế và điểm tắc của hệ thống cũ.
• Cần thu thập các bản sao của các giấy tờ liên quan đến khách hàng, danh sách hàng
trong kho và bất kỳ tài liệu nào liên quan đến hệ thống cũ, bởi vì các tài liệu này rất có
ích trong thiết kế CSDL và giao diện.
2. Xác định các đối tượng

thường có những từ id hay number (ví dụ, employee_id,
invoice_number). Trường xác thực là thành phần chính được sử
dụng bởi cả người dùng và các cơ chế sử lý bên trong CSDL để truy
xuất một bản ghi dữ liệu trong bảng.
Các trường quan hệ
tham chiếu
Các trường này thiết lập kết nối giữa thông tin trong một bảng với
thông tin trong bảng khác. Ví dụ, bảng lưu thông tin về các giao
dịch bán hàng thường có liên kết với bảng customers giúp truy xuất
toàn bộ thông tin của khách hàng trong giao dịch bán hàng.
Bảng 1.1: Các trường dữ liệu
5. Xác định mối quan hệ giữa các đối tượng
Một trong những thế mạnh của CSDL quan hệ là khả năng gắn kết thông tin giữa nhiều đối
tượng trong CSDL. Các loại thông tin được lưu trữ độc lập nhưng CSDL có khả năng truy
xuất kết hợp dữ liệu khi cần thiết. Việc xác định mối quan hệ giữa các đối tượng trong quá
trình thiết kế đòi hỏi ta phải xem xét các bảng và tìm ra mối quan hệ logic giữa chúng, thêm
vào các trường dữ liệu quan hệ và thiết lập kết nối giữa các bảng.

4 Thiết kế CSDL và làm việc với CSDL SQL Server
1.1.3 Mô hình hóa CSDL
Sơ đồ mô hình dữ liệu thể hiện mối quan hệ giữa các bảng (thực thể). Sơ đồ này rất có ích với
người thiết kế, quản trị hay lập trình với CSDL.
Mô hình hóa CSDL có thể được chia thành 3 bước chính sau. Hình 1.2 mô tả quá trình thiết kế
CSDL.
Hình 1.2: Quá trình phát triển CSDL
Mô hình dữ liệu khái niệm là mô hình trừu tượng hóa dữ liệu mức cao. Mô hình này rất gần với
cách nhìn của người dùng về hệ thống. Mô hình này cũng là phương tiện giao tiếp giữa người
dùng và lập trình viên. Mô hình hóa khái niệm độc lập với các hệ quản trị CSDL.
Trong bài này, chúng ta sẽ tìm hiểu chi tiết về cách thiết kế CSDL logic.
Thiết kế CSDL vật lý liên quan đến cách lưu trữ, truyu xuất và ràng buộc dữ liệu để đảm bảo tốc

giới thực dưới dạng các đối tượng cơ bản và các mối quan hệ giữa chúng. Các thành phần của mô
hình E-R được liệt kê dưới đây:
 Thực thể - Thực thể là một đối tượng tồn tại và có thể phân biệt với các đối tượng khác. Ví
dụ, John có số an sinh xã hội là 890-12-3456 là một thực thể bởi người này có thể được xác
định là một người duy nhất trong xã hội. Một thực thể có thể là hữu hình (một quyển sách)
hay trừu tượng (như một kỳ nghỉ hay một khái niệm).
 Một tập hợp thực thể - Là một tập các thực thể cùng loại( ví dụ, những người có tài khoản
trong ngân hàng).
 Các thuộc tính – Một thực thể được mô tả bằng một tập các thuộc tính. Ví dụ: Name, SSN,
Age, Street, City là các thuộc tính của thực thể “Person”.
 Quan hệ và tập quan hệ - Quan hệ là sự gắn kết giữa hai hoặc nhiều thực thể. Một tập quan
hệ là một tập hợp các quan hệ cùng kiểu.
Chúng ta xem ví dụ về 2 tập thực thể Customers và Accounts. Ta dùng quan hệ CustAcct để mô tả
sự gắn kết giữa customers và các accounts của họ..
Hình 1.3: Quan hệ giữa 2 tập thực thể
Một tập quan hệ có thể chứa nhiều hơn 2 tập thực thể như trong hình 1.4. Các tập thực thể như
customers, loans và branches có thể được liên kết với nhâu bằng các quan hệ “Borrow”. Quan hệ
“Borrow” chỉ ra rằng một khách hàng có thể vay tiền ở một chi nhánh nào đó của ngân hàng.
Hình 1.4: Quan hệ giữa 3 tập thực thể
Tập thực thể trong một quan hệ không cần thiết phải là duy nhất. Vai trò quả một thực thể chính
là chức năng của nó trong quan hệ. Ví dụ, quan hệ works-for có thể xuất hiện giứa các cặp thực
thể employee. Thực thể employee đầu đóng vai trò là người quản lý, và có một người khác đóng
vai trò là nhân viên như trong hình sau:
6 Thiết kế CSDL và làm việc với CSDL SQL Server
Customers
Accounts
Cus
tAc
ct
Customers

Employee
Work
s
For
Worker
X
X
X
X
Y
Y
Y
Y
X
X
X
X
Y
Y
Y
Y
X
X
X
X
Y

Y
Y
X

(giúp xác định duy nhất một transaction) trong tập thực thể này. Do vậy transaction là một tập
thực thể yếu. Để một thực thể yếu tồn tại, nó phải tham gia vào quan hệ một – nhiều. Ý tưởng các
thực thể mạnh và yếu liên quan đến sự khác biệt về quan hệ tồn tại bàn ở trên. Các thành viên của
một tập thực thể yếu không có khóa chính, nhưng chúng vẫn cần có công cụ để phân biệt với
nhau. Yếu tố để phân tách các thực thể trong tập thực thể yếu là một tập các thuộc tính cho phép
ta phan biệt được các thực thể. Khóa chính của một thực thể yếu được tạo ra bằng cách lấy khóa
chính của thực thể mạnh kết hợp với trường phân biệt trong thực thể yếu.
‘Transaction’ là một thực thể yếu. Nó tồn tại phụ thuộc vào thực thể ‘account’. Khóa chính của
thực thể account là account_number. Thuộc tính Transaction_Number phân biệt các thực thể
transaction trong cùng một account (account_number,transaction_number). Do vậy, khóa chính
của thực thể yếu này được hình thành bằng cách lấy khóa chính của thực thể mạnh mà nó phụ
thuộc cùng với thuộc tính phân biệt của tập thực thể yếu.
Các thuộc tính của một tập quan hệ là các thuộc tính bao gồm các khóa chính của các tập thực thể
trong quan hệ. Ví dụ:: S.S.N là khóa chính của thực thể customer, và account-number là khóa
chính của thực thể account. Do đó các thuộc tính của quan hệ CustAcct chính là
(Account_Number, S.S.N). Đây là những thông tin đủ giúp chúng ta ràng buộc một account với
một person. Nếu quan hệ chứa các thuộc tính mô tả, chúng cũng được đưa vào tập thuộc tính của
quan hệ. Ví dụ, chúng ta có thể thêm thuộc tính date vào tập quan hệ trên, thuộc tính này mô tả
ngày truy vấn account gần nhất của một customer. Chú ý rằng thuộc tính này không thể đưa vào
bất kỳ thực thể nào do nó liên quan đến cả customer và account, và mối quan hệ giữa hai thực thể
này là nhiều – nhiều.
8 Thiết kế CSDL và làm việc với CSDL SQL Server


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status