You are on page 1of 39

Translated from English to Vietnamese - www.onlinedoctranslator.

com

CHƯƠNG
Cơ sở dữ liệu quan hệ

4
MỤC TIÊU HỌC TẬP

Sau khi học chương này, bạn sẽ có thể:

1. Giải thích tầm quan trọng và lợi thế của cơ sở dữ liệu, cũng như sự khác biệt
giữa hệ thống cơ sở dữ liệu và hệ thống kế thừa dựa trên tệp.

2. Giải thích sự khác biệt giữa khung nhìn logic và vật lý của cơ sở dữ liệu.

3. Giải thích các khái niệm cơ bản về hệ thống cơ sở dữ liệu như DBMS,
lược đồ, từ điển dữ liệu và ngôn ngữ DBMS.

4. Mô tả cơ sở dữ liệu quan hệ là gì và cách nó tổ chức dữ liệu.

5. Tạo một tập hợp các bảng có cấu trúc tốt để lưu trữ dữ liệu trong cơ sở dữ liệu quan hệ.

6. Thực hiện các truy vấn đơn giản bằng cơ sở dữ liệu Microsoft Access.

TÍCH HỢP IVE CASE S&S

S&S rất thành công và vận hành năm cửa hàng và một trang web nổi tiếng. Ashton Fleming tin rằng đã
đến lúc phải nâng cấp hệ thống thông tin kế toán (AIS) của S&S để Susan và Scott có thể dễ dàng truy
cập thông tin họ cần để vận hành doanh nghiệp. Hầu hết các AIS mới đều dựa trên cơ sở dữ liệu quan
hệ. Vì Ashton biết rằng Scott và Susan có thể có thắc mắc, anh ấy đã chuẩn bị một báo cáo ngắn gọn
giải thích tại sao AIS mới của S&S nên là một hệ thống cơ sở dữ liệu quan hệ. Báo cáo của anh ấy giải
quyết các câu hỏi sau:

1. Hệ thống cơ sở dữ liệu là gì và nó khác với hệ thống hướng tệp như thế nào?
2. Một là gì quan hệ hệ thống cơ sở dữ liệu?
3. Làm cách nào để bạn thiết kế một tập hợp các bảng có cấu trúc tốt trong cơ sở dữ liệu quan hệ?

4. Làm thế nào để bạn truy vấn một hệ thống cơ sở dữ liệu quan hệ?

Giới thiệu
Cơ sở dữ liệu quan hệ làm nền tảng cho hầu hết các AIS tích hợp hiện đại. Chương này và
các Chương từ 17 đến 19 giải thích cách tham gia vào việc thiết kế và triển khai cơ sở dữ
liệu. Chương này định nghĩa cơ sở dữ liệu, với trọng tâm là hiểu cơ sở dữ liệu quan hệ
82
kết cấu. Chương 17 giới thiệu hai công cụ được sử dụng để thiết kế cơ sở dữ liệu — lập sơ đồ mối quan
hệ-thực thể và mô hình hóa dữ liệu REA — và trình bày cách sử dụng chúng để xây dựng mô hình dữ
liệu. Chương 18 giải thích cách triển khai mô hình dữ liệu REA và cách tạo ra thông tin cần thiết để
quản lý một tổ chức. Chương 19 thảo luận về các vấn đề mô hình hóa dữ liệu nâng cao và thiết kế cơ
sở dữ liệu.

LỌC CÁC DỮ LIỆU PHIÊN BẢN


Để đánh giá cao sức mạnh của cơ sở dữ liệu, điều quan trọng là phải hiểu cách dữ liệu được lưu trữ trong hệ thống
máy tính. Hình 4-1 cho thấy một hệ thống phân cấp dữ liệu. Thông tin về các thuộc tính của khách hàng, chẳng hạn
như tên và địa chỉ, được lưu trữ trong các trường. Tất cả các trường chứa dữ liệu về một thực thể (ví dụ: một khách
hàng) tạo thành một bản ghi. Một tập hợp các hồ sơ liên quan, chẳng hạn như tất cả các hồ sơ khách hàng, tạo thành
một tệp (ví dụ: tệp khách hàng). Một tập hợp các tệp dữ liệu được phối hợp tập trung, có liên quan với nhau được lưu
trữ với ít dự phòng dữ liệu nhất có thể tạo thành mộtcơ sở dữ liệu. Cơ sở dữ liệu hợp nhất các bản ghi được lưu trữ cơ sở dữ liệu - Một tập hợp các tệp dữ
liệu được điều phối tập trung, có liên
trước đó trong các tệp riêng biệt thành một nhóm chung và phục vụ nhiều người dùng và ứng dụng xử lý dữ liệu
quan với nhau được lưu trữ với ít dữ liệu
khác nhau. dư thừa nhất có thể.
Cơ sở dữ liệu được phát triển để giải quyết sự gia tăng của các tệp chính. Trong nhiều năm, các
công ty đã tạo ra các tệp và chương trình mới mỗi khi có nhu cầu về thông tin. Bank of America từng
có 36 triệu tài khoản khách hàng trong 23 hệ thống riêng biệt. Sự gia tăng này đã tạo ra các vấn đề
chẳng hạn như lưu trữ cùng một dữ liệu trong hai hoặc nhiều tệp chính, như được hiển thị trong

Cơ sở dữ liệu

Khách hàng Việc bán hàng Hàng tồn kho

Tập tin Tập tin Tập tin

Bản ghi 1: Bản ghi 2: Bản ghi 3: Kỷ lục 1000:


Khách hàng 1 Khách hàng 2 Khách hàng 3 Khách hàng 1000

Trường 1: Trường 2:
Trường 3: Trường 4: Trường 5: Trường 6:
Khách hàng Khách hàng
Địa chỉ đường phố Thành phố Trạng thái Mã Bưu Chính
Số Tên

HÌNH 4-1
Các yếu tố cơ bản của cấu trúc phân cấp dữ liệu
83
84 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

hệ quản trị cơ sở dữ liệu Hình 4-2. Điều này gây khó khăn cho việc tích hợp và cập nhật dữ liệu cũng như để có được cái nhìn toàn tổ
(DBMS) - Chương trình quản lý
chức về dữ liệu. Nó cũng tạo ra sự cố vì dữ liệu trong các tệp khác nhau không nhất quán. Ví dụ: địa chỉ của
và điều khiển dữ liệu và các
giao diện giữa dữ liệu và các khách hàng có thể đã được cập nhật chính xác trong tệp chính gửi hàng nhưng không được cập nhật chính
chương trình ứng dụng sử xác trong tệp chính thanh toán.
dụng dữ liệu được lưu trữ
trong cơ sở dữ liệu.
Hình 4-2 minh họa sự khác biệt giữa hệ thống hướng tệp và hệ thống cơ sở dữ liệu.
Trong cách tiếp cận cơ sở dữ liệu, dữ liệu là tài nguyên của tổ chức được sử dụng và quản
hệ thống cơ sở dữ liệu - Cơ sở lý cho toàn bộ tổ chức, không chỉ bộ phận khởi tạo. MỘThệ quản trị cơ sở dữ liệu (DBMS)
dữ liệu, DBMS và các chương
trình ứng dụng truy cập cơ sở
là chương trình quản lý và điều khiển dữ liệu và các giao diện giữa dữ liệu và các chương
dữ liệu thông qua DBMS. trình ứng dụng sử dụng dữ liệu được lưu trữ trong cơ sở dữ liệu. Cơ sở dữ liệu, DBMS và
các chương trình ứng dụng truy cập cơ sở dữ liệu thông qua DBMS được gọi làhệ thống cơ
quản trị cơ sở dữ liệu - Người
chịu trách nhiệm điều phối, sở dữ liệu. Cácquản trị viên cơ sở dữ liệu (DBA) chịu trách nhiệm điều phối, kiểm soát và
kiểm soát và quản lý cơ sở dữ quản lý cơ sở dữ liệu.
liệu.

SỬ DỤNG KHO DỮ LIỆU CHO TRÍ TUỆ DOANH NGHIỆP


Trong nền kinh tế toàn cầu có nhịp độ nhanh ngày nay, ban lãnh đạo phải liên tục đánh giá lại
hiệu suất tài chính và hoạt động theo các mục tiêu chiến lược và nhanh chóng thay đổi kế hoạch
khi cần thiết. Vì việc ra quyết định chiến lược yêu cầu quyền truy cập vào lượng lớn dữ liệu lịch
kho dữ liệu - Cơ sở dữ liệu rất sử, các tổ chức đang xây dựng cơ sở dữ liệu riêng biệt được gọi là kho dữ liệu. MỘTkho dữ liệu
lớn chứa dữ liệu chi tiết và tóm là một hoặc nhiều cơ sở dữ liệu rất lớn chứa cả dữ liệu chi tiết và dữ liệu tóm tắt trong một số
tắt trong một số năm được sử
dụng để phân tích hơn là xử lý năm được sử dụng để phân tích thay vì xử lý giao dịch. Không có gì lạ khi các kho dữ liệu chứa
giao dịch. hàng trăm hoặc hàng nghìn terabyte dữ liệu.
Kho dữ liệu không thay thế cơ sở dữ liệu xử lý giao dịch; họ bổ sung bằng cách cung cấp hỗ
trợ cho việc ra quyết định chiến lược. Vì kho dữ liệu không được sử dụng để xử lý giao dịch,
kinh doanh thông minh - chúng thường được cập nhật định kỳ thay vì theo thời gian thực. Trong khi cơ sở dữ liệu xử lý
Phân tích lượng lớn dữ liệu để giao dịch giảm thiểu sự dư thừa và tối đa hóa hiệu quả của việc cập nhật chúng để phản ánh kết
ra quyết định chiến lược. quả của các giao dịch hiện tại, kho dữ liệu được dự phòng có chủ đích để tối đa hóa hiệu quả
xử lý phân tích trực tuyến truy vấn.
(OLAP) - Sử dụng các truy vấn Phân tích một lượng lớn dữ liệu để ra quyết định chiến lược thường được gọi là kinh doanh thông
để điều tra các mối quan hệ giả
minh. Có hai kỹ thuật chính được sử dụng trong kinh doanh thông minh: xử lý phân tích trực tuyến (OLAP) và
định giữa các dữ liệu.
khai thác dữ liệu.Xử lý phân tích trực tuyến (OLAP) đang sử dụng các truy vấn để điều tra các mối quan hệ
khai thác dữ liệu - Sử dụng phân giả định giữa các dữ liệu. Ví dụ: một người quản lý có thể phân tích các giao dịch mua của nhà cung cấp trong
tích thống kê phức tạp để
3 năm qua, sau đó là các truy vấn bổ sung “đi sâu vào” các cấp thấp hơn bằng cách nhóm các giao dịch mua
“khám phá” các mối quan hệ
chưa được đặt ra trong dữ liệu. theo số mặt hàng và theo thời kỳ tài chính.Khai thác dữ liệu Là

HÌNH 4-2 Phương pháp tiếp cận tệp Tiếp cận cơ sở dữ liệu

Hệ thống hướng tệp


so với Cơ sở dữ liệu
Cơ sở dữ liệu
Hệ thống
Tệp chính 1 Việc bán hàng
Sự thật A Sự thật B

Sự thật A Sự thật B Sự thật C Sự thật D


Chương trình
Sự thật C Sự thật D Sự thật E Sự thật F
Sự thật G

Cơ sở dữ liệu
Tệp chính 2
Ban quản lý
Đang chuyển hàng

Sự thật A Sự thật C Chương trình


Hệ thống
Sự thật E Sự thật F

Việc bán hàng Đang chuyển hàng Thanh toán

Chương trình Chương trình Chương trình

Tệp chính 3 Thanh toán

Sự thật A Sự thật D Chương trình


Sự thật E Sự thật G
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 85

sử dụng phân tích thống kê phức tạp, bao gồm các kỹ thuật trí tuệ nhân tạo như mạng nơ-ron, để “khám phá” các
mối quan hệ chưa được giả định trong dữ liệu. Ví dụ: các công ty thẻ tín dụng sử dụng khai thác dữ liệu để xác định
các cách sử dụng có dấu hiệu gian lận. Tương tự, các kỹ thuật khai thác dữ liệu có thể xác định các mối quan hệ chưa
biết trước đây trong dữ liệu bán hàng có thể được sử dụng trong các chương trình khuyến mãi trong tương lai.

Các biện pháp kiểm soát thích hợp là cần thiết để thu được những lợi ích đáng kể từ việc lưu trữ dữ liệu.
Kiểm soát xác thực dữ liệu là cần thiết để đảm bảo rằng đầu vào của kho dữ liệu là chính xác. Xác minh độ
chính xác, được gọi là lọc dữ liệu, thường là một trong những bước tốn thời gian và tốn kém nhất trong việc
tạo kho dữ liệu. Việc kiểm soát quyền truy cập vào kho dữ liệu cũng như mã hóa dữ liệu được lưu trữ cũng rất
quan trọng. Cuối cùng, điều quan trọng là phải thường xuyên sao lưu kho dữ liệu và lưu trữ các bản sao lưu
một cách an toàn.
Bank of America đã tạo cơ sở dữ liệu thông tin khách hàng để cung cấp dịch vụ khách hàng, phân
tích tiếp thị và thông tin quản lý. Nó là lớn nhất trong ngành ngân hàng, với hơn 600 tỷ ký tự dữ liệu.
Nó chứa tất cả dữ liệu ngân hàng về tài khoản séc và tiết kiệm; cho vay bất động sản, tiêu dùng và
thương mại; Máy ATM; và thẻ ngân hàng. Mặc dù ngân hàng chi 14 triệu đô la mỗi năm để duy trì kho
dữ liệu, nhưng chi phí đó là xứng đáng. Các truy vấn trước đây có thời lượng trung bình là 2 giờ chỉ
mất 5 phút. Vài phút sau khi Los Angeles hứng chịu trận động đất, ngân hàng đã sắp xếp danh mục
khoản vay thế chấp trị giá 28 tỷ đô la theo mã Zip, xác định các khoản vay trong khu vực động đất và
tính toán khoản vay có khả năng mất mát.

ƯU ĐIỂM CỦA HỆ THỐNG CƠ SỞ DỮ LIỆU


Hầu như tất cả các máy chủ và máy tính lớn đều sử dụng công nghệ cơ sở dữ liệu, và việc sử dụng cơ sở dữ liệu trong
máy tính cá nhân đang tăng lên nhanh chóng. Hầu hết các kế toán đều tham gia vào cơ sở dữ liệu thông qua việc
nhập dữ liệu, xử lý dữ liệu, truy vấn hoặc kiểm toán. Họ cũng phát triển, quản lý hoặc đánh giá các biện pháp kiểm
soát cần thiết để đảm bảo tính toàn vẹn của cơ sở dữ liệu. Cơ sở dữ liệu cung cấp cho tổ chức những lợi ích sau:

- Tích hợp dữ liệu. Các tệp chính được kết hợp thành “nhóm” dữ liệu lớn mà nhiều chương trình
ứng dụng truy cập. Một ví dụ là cơ sở dữ liệu nhân viên tổng hợp các tệp tổng thể về bảng
lương, nhân sự và kỹ năng công việc.
- Chia sẻ dữ liệu. Dữ liệu tích hợp được chia sẻ dễ dàng hơn với người dùng được ủy quyền. Cơ sở dữ
liệu dễ dàng được duyệt để nghiên cứu một vấn đề hoặc lấy thông tin chi tiết làm cơ sở cho một báo
cáo. FBI, vốn làm tốt công việc thu thập dữ liệu nhưng lại kém khả năng chia sẻ dữ liệu, đang chi 8
năm và 400 triệu đô la để tích hợp dữ liệu từ các hệ thống khác nhau của họ.
- Dự phòng dữ liệu tối thiểu và dữ liệu không nhất quán. Vì các mục dữ liệu thường chỉ được lưu
trữ một lần, nên giảm thiểu sự dư thừa dữ liệu và sự không nhất quán của dữ liệu.
- Độc lập dữ liệu. Bởi vì dữ liệu và các chương trình sử dụng chúng là độc lập với nhau, mỗi thứ có
thể được thay đổi mà không thay đổi cái khác. Điều này tạo điều kiện thuận lợi cho việc lập trình và
đơn giản hóa việc quản lý dữ liệu.
- Phân tích chức năng chéo. Trong hệ thống cơ sở dữ liệu, các mối quan hệ, chẳng hạn như mối
liên hệ giữa chi phí bán hàng và các chiến dịch khuyến mại, có thể được xác định rõ ràng và sử
dụng trong việc lập báo cáo quản lý.

TẦM QUAN TRỌNG CỦA DỮ LIỆU TỐT


Dữ liệu cơ sở dữ liệu không chính xác có thể dẫn đến những quyết định tồi, khiến người dùng bối rối và tức giận. Ví
dụ:

- Một công ty đã gửi một nửa danh mục đặt hàng qua thư đến các địa chỉ không chính xác. Một người quản lý cuối
cùng đã điều tra được số lượng lớn hàng trả lại và những lời phàn nàn của khách hàng. Chỉnh sửa địa chỉ khách hàng
trong cơ sở dữ liệu đã tiết kiệm cho công ty 12 triệu đô la mỗi năm.
- Valparaiso, Indiana, đã sử dụng cơ sở dữ liệu của quận để phát triển các mức thuế của nó. Sau khi các thông
báo thuế được gửi qua đường bưu điện, một sai sót lớn đã được phát hiện: Một căn nhà trị giá $ 121,900 $ 400
triệu và gây ra khoản thiếu $ 3,1 triệu tiền thuế bất động sản. Kết quả là thành phố, khu học chánh và các cơ
quan chính phủ đã phải cắt giảm ngân sách nghiêm trọng.

Viện Kho dữ liệu ước tính rằng dữ liệu xấu khiến các doanh nghiệp thiệt hại hơn 600 tỷ đô la mỗi
năm vì bưu phí, chi phí tiếp thị không cần thiết và mất uy tín của khách hàng. Nó được ước tính
86 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

rằng hơn 25% dữ liệu kinh doanh không chính xác hoặc không đầy đủ. Trong một cuộc khảo sát gần đây, 53%
trong số 750 chuyên gia công nghệ thông tin (CNTT) cho biết công ty của họ gặp sự cố do dữ liệu chất lượng
kém.
Việc quản lý dữ liệu trở nên khó khăn hơn hàng năm: Số lượng dữ liệu được tạo và lưu trữ tăng gấp đôi
sau mỗi 18 tháng. Để tránh dữ liệu lỗi thời, không đầy đủ hoặc có sai sót, ban quản lý cần có các chính sách
và quy trình đảm bảo dữ liệu sạch hoặc được lọc. Đạo luật Sarbanes-Oxley (SOX) quy định rằng các giám đốc
điều hành hàng đầu phải đối mặt với việc truy tố và ngồi tù nếu dữ liệu tài chính của một công ty không theo
thứ tự. Việc ngăn chặn và phát hiện dữ liệu xấu được thảo luận chi tiết hơn trong Chương 5 đến Chương 11.

Hệ thống cơ sở dữ liệu

QUAN ĐIỂM VẬT LÝ VÀ VẬT LÝ CỦA DỮ LIỆU


Trong các hệ thống hướng tệp, người lập trình phải biết vị trí vật lý và cách bố trí của các bản
ghi. Giả sử một lập trình viên muốn có một báo cáo hiển thị số khách hàng, hạn mức tín dụng và
số dư hiện tại. Để viết chương trình, cô ấy phải hiểu vị trí và độ dài của các trường cần thiết (tức
bố cục hồ sơ - Tài liệu hiển thị các
là ghi lại vị trí từ 1 đến 10 cho số khách hàng) và định dạng của mỗi trường (chữ và số). Quá trình
mục được lưu trữ trong tệp, bao này trở nên phức tạp hơn nếu dữ liệu từ một số tệp được sử dụng.
gồm thứ tự và độ dài của các MỘT bố cục hồ sơ là tài liệu thể hiện các mục được lưu trong tệp, bao gồm thứ tự và
trường dữ liệu và loại dữ liệu
được lưu trữ.
độ dài của các trường dữ liệu và loại dữ liệu được lưu trong tệp tài khoản phải thu. Hình 4-3
cho thấy bố cục hồ sơ của một tệp tài khoản phải thu.
quan điểm logic - Cách mọi Hệ thống cơ sở dữ liệu khắc phục vấn đề này bằng cách tách việc lưu trữ dữ liệu khỏi việc sử dụng
người tổ chức, xem và hiểu mối
quan hệ giữa các mục dữ liệu về các phần tử dữ liệu. Cách tiếp cận cơ sở dữ liệu cung cấp hai dạng xem dữ liệu riêng biệt: dạng xem
mặt khái niệm. vật lý và dạng xem logic. Cácquan điểm logic là cách mọi người tổ chức một cách khái niệm và hiểu
mối quan hệ giữa các mục dữ liệu. Ví dụ, một người quản lý bán hàng xem tất cả thông tin khách hàng
quan điểm vật lý - Cách dữ liệu
được sắp xếp vật lý và lưu trữ như được lưu trữ trong một bảng. Cácquan điểm vật lý đề cập đến cách dữ liệu được sắp xếp vật lý và
trong hệ thống máy tính. lưu trữ trong hệ thống máy tính.
Như trong Hình 4-4, phần mềm quản lý cơ sở dữ liệu (DBMS) liên kết cách dữ liệu được lưu trữ vật lý với
lược đồ - Mô tả các phần tử dữ
liệu trong cơ sở dữ liệu, mối chế độ xem dữ liệu logic của mỗi người dùng. DBMS cho phép người dùng truy cập, truy vấn hoặc cập nhật
quan hệ giữa chúng và mô hình cơ sở dữ liệu mà không cần tham chiếu đến cách thức hoặc vị trí dữ liệu được lưu trữ vật lý. Tách biệt chế độ
logic được sử dụng để tổ chức
xem logic và vật lý của dữ liệu cũng có nghĩa là người dùng có thể thay đổi chế độ xem logic của họ về dữ liệu
và mô tả dữ liệu.
mà không thay đổi cách dữ liệu được lưu trữ vật lý. Tương tự như vậy, DBA có thể thay đổi bộ nhớ vật lý để
lược đồ mức khái niệm - Chế cải thiện hiệu suất hệ thống mà không ảnh hưởng đến người dùng hoặc chương trình ứng dụng.
độ xem toàn tổ chức của toàn
bộ cơ sở dữ liệu liệt kê tất cả
các phần tử dữ liệu và mối SCHEMAS
quan hệ giữa chúng.
MỘT lược đồ là mô tả các phần tử dữ liệu trong cơ sở dữ liệu, các mối quan hệ giữa chúng
giản đồ cấp bên ngoài - Chế độ xem của
và mô hình lôgic được sử dụng để tổ chức và mô tả dữ liệu. Có ba cấp độ của lược đồ: khái
người dùng cá nhân về các phần của cơ sở
dữ liệu; cũng được gọi là một tiểu khí niệm, bên ngoài và bên trong. Hình 4-5 cho thấy mối quan hệ giữa ba cấp độ này. Cáclược
quản. đồ mức khái niệm, cái nhìn toàn tổ chức về toàn bộ cơ sở dữ liệu, liệt kê tất cả các phần tử
subchema - Một tập hợp con của
dữ liệu và các mối quan hệ giữa chúng. Cácgiản đồ cấp bên ngoài là chế độ xem của
lược đồ; cách người dùng xác định người dùng cá nhân về các phần của cơ sở dữ liệu, mỗi phần trong số đó được gọi là
dữ liệu và các mối quan hệ dữ subchema. Cáclược đồ cấp nội bộ, dạng xem cấp thấp của cơ sở dữ liệu, mô tả cách dữ
liệu.
liệu được lưu trữ và truy cập, bao gồm bố cục bản ghi, định nghĩa, địa chỉ và chỉ mục. Hình
lược đồ cấp nội bộ - Chế độ 4-5 kết nối mỗi mức bằng các mũi tên hai chiều để biểu diễn các ánh xạ lược đồ. DBMS sử
xem cấp thấp của toàn bộ cơ dụng ánh xạ để dịch yêu cầu dữ liệu của người dùng hoặc chương trình (được thể hiện
sở dữ liệu mô tả cách dữ liệu
thực sự được lưu trữ và truy
dưới dạng tên và mối quan hệ lôgic) thành các chỉ mục và địa chỉ cần thiết để truy cập vật lý
cập. vào dữ liệu.

HÌNH 4-3
Khách hàng Khách hàng
Bố cục hồ sơ tài
Tín dụng
Địa chỉ nhà Thăng bằng
Số Tên
MỘT Giới hạn
n
khoản phải thu n MỘT n
1 10 11 30 31 60 61 68 69 76
A = trường chữ và số
N = trường số
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 87

CHẾ ĐỘ XEM NHẬT KÝ — NGƯỜI DÙNG A CHẾ ĐỘ XEM NHẬT KÝ — NGƯỜI DÙNG B HÌNH 4-4
Chức năng của
Tài khoản Quá hạn Doanh số tháng 10 theo khu vực
DBMS: Hỗ trợ Nhiều
Tên Thăng bằng Ngày O / S
Quan điểm lôgic của dữ liệu
Jackson 2145 48 hướng Tây

(25%)
Houston 1595 52 phia Băc

(35%)
Wilson 1950 65
miền Nam
phía đông
(15%) (25%)

DBMS chuyển các chế độ xem logic của người


DBMS dùng thành các hướng dẫn mà dữ liệu sẽ được
truy xuất từ cơ sở dữ liệu.

Hệ điều hành chuyển các yêu cầu DBMS


Điều hành
thành các hướng dẫn để truy xuất vật lý
Hệ thống
dữ liệu từ các thiết bị lưu trữ khác nhau.

Cơ sở dữ liệu

Subchema Subchema Subchema HÌNH 4-5


Người dùng A Người dùng B Người dùng C

Cấp độ bên ngoài Ba cấp độ của


.......

Lược đồ
Một tập hợp các chế độ xem
..... .......... ..... John ...... 245
..... .......... ..... lôgic của người dùng cá nhân
............ Susan .... 378
. . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . .

..... .......... ..... Ryan ..... 274 các phần của cơ


sở dữ liệu

Ánh xạ các chế độ xem cấp bên ngoài thành lược đồ cấp khái niệm

Hàng tồn kho Việc bán hàng Khách hàng

Cấp khái niệm


Chế độ xem toàn doanh nghiệp

của toàn bộ cơ sở dữ liệu

Tiền mặt

Biên lai

Lập bản đồ các mục cấp khái niệm


đến mô tả cấp nội bộ

Bản ghi hàng tồn kho


Số mặt hàng - số nguyên (5), không rỗng, chỉ mục = itemx
Sự miêu tả - ký tự (15) Cấp độ nội bộ
Phí tổn - tiền tệ (6,2) Thông tin chi tiết về
lưu trữ dữ liệu, chẳng hạn như

dưới dạng bố cục hồ sơ,


định nghĩa, địa chỉ,
Hồ sơ bán hàng
chỉ mục
Số hóa đơn - số nguyên (6), không rỗng, chỉ mục = salesx
88 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

Tại S&S, lược đồ khái niệm cho cơ sở dữ liệu chu kỳ doanh thu chứa dữ liệu về khách hàng, doanh số bán hàng,
biên nhận tiền mặt, nhân viên bán hàng, tiền mặt và hàng tồn kho. Các biểu đồ con bên ngoài có nguồn gốc từ lược
đồ này, mỗi lược đồ phù hợp với nhu cầu của người dùng hoặc chương trình khác nhau. Mỗi subchema có thể ngăn
quyền truy cập vào những phần của cơ sở dữ liệu không áp dụng cho nó. Ví dụ: danh mục phụ nhập đơn đặt hàng
bao gồm dữ liệu về giới hạn tín dụng của khách hàng, số dư hiện tại, số lượng và giá cả hàng tồn kho. Nó sẽ không
bao gồm chi phí hàng tồn kho hoặc số dư tài khoản ngân hàng.

TỪ ĐIỂN DỮ LIỆU
từ điển dữ liệu - Thông tin về MỘT từ điển dữ liệu chứa thông tin về cấu trúc của cơ sở dữ liệu. Như thể hiện trong Bảng 4-1, đối với mỗi
cấu trúc của cơ sở dữ liệu, bao phần tử dữ liệu được lưu trữ trong cơ sở dữ liệu, có một bản ghi trong từ điển mô tả nó. DBMS duy trì từ điển
gồm mô tả của từng phần tử
dữ liệu. dữ liệu, có đầu vào bao gồm các phần tử dữ liệu mới hoặc đã xóa và các thay đổi về tên, mô tả hoặc cách sử
dụng phần tử dữ liệu. Kết quả đầu ra bao gồm các báo cáo cho người lập trình, nhà thiết kế và người dùng,
ngôn ngữ định nghĩa dữ liệu (DDL)
chẳng hạn như (1) chương trình hoặc báo cáo sử dụng mục dữ liệu, (2) từ đồng nghĩa với các phần tử dữ liệu
- Ngôn ngữ DBMS xây dựng từ
điển dữ liệu, tạo cơ sở dữ liệu, mô trong tệp và (3) phần tử dữ liệu được người dùng sử dụng. Các báo cáo này được sử dụng cho tài liệu hệ
tả các khung nhìn logic và chỉ định thống, thiết kế và triển khai cơ sở dữ liệu, cũng như là một phần của lộ trình đánh giá.
các ràng buộc bảo mật trường
hoặc bản ghi.
NGÔN NGỮ DBMS
ngôn ngữ thao tác dữ liệu
(DML) - Ngôn ngữ DBMS thay DBMS có một số ngôn ngữ. Cácngôn ngữ định nghĩa dữ liệu (DDL)xây dựng từ điển dữ liệu, tạo cơ sở dữ
đổi nội dung cơ sở dữ liệu, bao
liệu, mô tả các dạng xem logic cho từng người dùng và chỉ định các ràng buộc bảo mật trường hoặc bản ghi.
gồm các sáng tạo, cập nhật,
chèn và xóa phần tử dữ liệu. Cácngôn ngữ thao tác dữ liệu (DML) thay đổi nội dung cơ sở dữ liệu, bao gồm các sáng tạo, cập nhật, chèn
và xóa phần tử dữ liệu. Cácngôn ngữ truy vấn dữ liệu (DQL) là một ngôn ngữ giống như tiếng Anh ở cấp độ
cao, chứa các lệnh mạnh mẽ, dễ sử dụng cho phép người dùng truy xuất, sắp xếp, sắp xếp và hiển thị dữ liệu.
ngôn ngữ truy vấn dữ liệu (DQL) -
Ngôn ngữ DBMS cấp cao, giống MỘTngười viết báo cáo đơn giản hóa việc tạo báo cáo. Người dùng chỉ định các phần tử dữ liệu mà họ
tiếng Anh, chứa các lệnh mạnh muốn in và người viết báo cáo tìm kiếm cơ sở dữ liệu, trích xuất các phần tử dữ liệu và in chúng ở định dạng
mẽ, dễ sử dụng cho phép người
do người dùng chỉ định. DQL và người viết báo cáo có sẵn cho người dùng. DDL và DML nên được giới hạn
dùng truy xuất, sắp xếp, sắp xếp
và hiển thị dữ liệu. cho các quản trị viên và lập trình viên được ủy quyền.

người viết báo cáo - Ngôn ngữ DBMS


giúp đơn giản hóa việc tạo báo cáo.

Cơ sở dữ liệu quan hệ
mô hình dữ liệu - Một biểu diễn trừu DBMS được đặc trưng bởi logic mô hình dữ liệu, hoặc đại diện trừu tượng của nội dung cơ sở dữ liệu.
tượng của nội dung cơ sở dữ liệu.
Vì hầu hết các DBMS mới là cơ sở dữ liệu quan hệ, chương này chủ yếu tập trung vào chúng. Cácmô
mô hình dữ liệu quan hệ - Biểu diễn hình dữ liệu quan hệ đại diện cho các lược đồ mức khái niệm và bên ngoài như thể dữ liệu được lưu
dữ liệu dạng bảng hai chiều; mỗi trữ trong các bảng hai chiều như bảng được hiển thị trong Bảng 4-2. Dữ liệu thực sự không được lưu
hàng đại diện cho một thực thể duy
trữ trong bảng mà theo cách được mô tả trong lược đồ cấp nội bộ.
nhất (bản ghi) và mỗi cột là một
trường nơi các thuộc tính bản ghi Mỗi hàng trong một bảng, được gọi là tuple (vần với cặp đôi), chứa dữ liệu về một mục cụ
được lưu trữ. thể trong bảng cơ sở dữ liệu. Mỗi cột chứa dữ liệu về một thuộc tính của thực thể đó. Ví dụ: mỗi
hàng trong Bảng 4-2 chứa dữ liệu về một mục hàng tồn kho cụ thể mà S&S mang theo và mỗi
tuple - Một hàng trong bảng cột chứa dữ liệu về các thuộc tính hàng tồn kho cụ thể, chẳng hạn như mô tả, màu sắc và giá cả.
chứa dữ liệu về một mục cụ thể Tương tự, mỗi hàng trong bảng Khách hàng chứa dữ liệu về một khách hàng cụ thể và mỗi cột
trong bảng cơ sở dữ liệu.
chứa dữ liệu về các thuộc tính của khách hàng, chẳng hạn như tên và địa chỉ.

CÁC LOẠI PHÂN PHỐI


khóa chính - Thuộc tính cơ sở dữ MỘT khóa chính là thuộc tính cơ sở dữ liệu, hoặc tổ hợp các thuộc tính, xác định duy nhất một hàng
liệu, hoặc kết hợp các thuộc tính,
cụ thể trong bảng. Khóa chính trong Bảng 4-2 là Mã số mặt hàng vì nó xác định duy nhất từng mặt
xác định duy nhất mỗi hàng trong
bảng. hàng mà S&S bán. Thông thường, khóa chính là một thuộc tính duy nhất. Trong một số bảng, cần có
hai hoặc nhiều thuộc tính để xác định duy nhất một hàng cụ thể trong bảng. Khóa chính của bảng Bán
hàng-Khoảng không quảng cáo trong Bảng 4-5 là sự kết hợp của Số Hóa đơn Bán hàng và Số mặt
hàng.
khóa ngoại - Một thuộc tính trong MỘT khóa ngoại là một thuộc tính trong một bảng cũng là một khóa chính trong một bảng khác
bảng đồng thời là khóa chính trong
và được sử dụng để liên kết hai bảng. # Khách hàng trong Bảng 4-5 là khóa chính trong bảng Khách
bảng khác; được sử dụng để liên
kết hai bảng. hàng và khóa ngoại trong bảng Bán hàng. Trong bảng Bán hàng, # Khách hàng liên kết bán hàng với
dữ liệu về khách hàng đã mua hàng, như có trong bảng Khách hàng (xem các mũi tên nối các bảng).
BẢNG 4-1 Ví dụ về Từ điển dữ liệu

DỮ LIỆU HỒ SƠ KHÁC
THÀNH PHẦN TRONG ĐÓ CÁNH ĐỒNG CÁC CHƯƠNG TRÌNH TRONG ĐÓ ĐẦU RA TRONG ĐÓ ĐƯỢC SỰ CHO PHÉP DỮ LIỆU

TÊN SỰ MIÊU TẢ CHỨA NGUỒN CHIỀU DÀI LOẠI LĨNH VỰC ĐƯỢC SỬ DỤNG CHỨA NGƯỜI DÙNG TÊN

Khách hàng Định danh duy nhất của Bản ghi A / R, cus- Số lượng khách hàng- 10 Số Cập nhật A / R, khách hàng Báo cáo lão hóa A / R, cus- Không có hạn chế Không có

số mỗi khách hàng kỷ lục tomer, danh sách bến cập nhật tệp, bán hàng báo cáo trạng thái tomer,
phân tích bán hàng cập nhật phân tích, báo cáo phân tích bán hàng,
ghi lại Phân tích tín dụng Báo cáo tín dụng
Khách hàng Tên đầy đủ của Hồ sơ khách hàng Khách hàng ban đầu 20 Chữ và số Cập nhật tệp khách hàng, Báo cáo tình trạng khách hàng, Không có hạn chế Không có

Tên khách hàng gọi món xử lý báo cáo báo cáo hàng tháng
Địa chỉ nhà Đường phố, thành phố, tiểu bang và Hồ sơ khách hàng Tín dụng 30 Chữ và số Cập nhật tệp khách hàng, Báo cáo tình trạng khách hàng, Không có hạn chế Không có

Mã Bưu Chính đơn xin xử lý báo cáo báo cáo hàng tháng
Tín dụng Tín dụng tối đa mà Hồ sơ khách hàng, Tín dụng số 8 Số Cập nhật tệp khách hàng, Báo cáo tình trạng khách hàng, D. Trưởng khoa CR_limit
giới hạn có thể được mở rộng cho Bản ghi A / R đơn xin Cập nhật A / R, tín dụng Báo cáo lão hóa A / R, G. Allen
khách hàng phân tích Báo cáo tín dụng H. Heaton
Thăng bằng Số dư đến hạn từ Kỷ lục A / R, doanh số bán hàng Bán hàng khác nhau số 8 Số Cập nhật A / R, phân tích bán hàng- Báo cáo lão hóa A / R, doanh số bán hàng G. Burton Cust_bal
khách hàng tín dụng hồ sơ phân tích và thanh toán cập nhật của sis, tuyên bố báo cáo phân tích, B. Heninger
mua hàng giao dịch xử lý, tín dụng báo cáo hàng tháng, S. Summers
phân tích Báo cáo tín dụng
89
90 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

Các thuộc tính nonkey khác trong bảng lưu trữ thông tin quan trọng về thực thể đó. Bảng
kiểm kê trong Bảng 4-2 chứa thông tin về mô tả, màu sắc, số nhà cung cấp, số lượng trên tay và
giá của mỗi mặt hàng mà S&S mang theo.

BÀN

THIẾT KẾ CƠ SỞ DỮ LIỆU QUỐC TẾ CHO S&S, INC.


Trong hệ thống kế toán thủ công, S&S sẽ nắm bắt thông tin bán hàng trên một hóa đơn bán hàng in
sẵn để cung cấp cả cái nhìn logic và vật lý về dữ liệu được thu thập. Lưu trữ vật lý dữ liệu hóa đơn bán
hàng rất đơn giản; một bản sao của hóa đơn được lưu trữ trong tủ tài liệu.
Lưu trữ cùng một dữ liệu trong máy tính phức tạp hơn. Giả sử S&S muốn lưu trữ năm hóa đơn
bán hàng (được đánh số từ 101 đến 105) dưới dạng điện tử. Trên một số hóa đơn, một khách hàng
mua nhiều mặt hàng. Hãy để chúng tôi xem xét tác động của một số cách lưu trữ thông tin này.

1: Lưu trữ tất cả dữ liệu trong một bảng thống nhất. S&S có thể lưu trữ dữ liệu bán hàng trong một bảng, như
được minh họa trong Bảng 4-3. Cách tiếp cận này có hai nhược điểm. Đầu tiên, nó lưu trữ rất nhiều dữ liệu dư
thừa. Kiểm tra hóa đơn 102 trong Bảng 4-3. Vì ba mặt hàng tồn kho được bán, dữ liệu hóa đơn và khách hàng
(từ cột 1 đến cột 9) được ghi lại ba lần. Tương tự như vậy, mô tả hàng tồn kho và đơn giá được lặp lại mỗi khi
một mặt hàng được bán. Bởi vì khối lượng bán hàng cao trong một cửa hàng bán lẻ (hãy nhớ rằng, Bảng 4-3
chỉ đại diện cho năm hóa đơn), sự dư thừa như vậy làm cho việc bảo trì tệp mất thời gian không cần thiết và
dễ xảy ra lỗi.
Thứ hai, các vấn đề xảy ra khi dữ liệu hóa đơn được lưu trữ trong các loại bảng này. Đầu tiên được gọi là
cập nhật bất thường - Tổ chức cơ sở cập nhật bất thường, bởi vì các giá trị dữ liệu không được cập nhật chính xác. Thay đổi địa chỉ của khách
dữ liệu không đúng nơi một mục
hàng bao gồm việc tìm kiếm toàn bộ bảng và thay đổi mọi lần xuất hiện địa chỉ của khách hàng đó. Việc bỏ
không phải khóa chính được lưu trữ
nhiều lần; cập nhật mục ở một vị trí sót ngay cả một hàng sẽ tạo ra sự không nhất quán, bởi vì nhiều địa chỉ sẽ tồn tại cho cùng một khách hàng.
chứ không phải các vị trí khác gây Điều này có thể dẫn đến các thư trùng lặp không cần thiết và các lỗi khác.
ra sự mâu thuẫn dữ liệu.
Một chèn bất thường xảy ra trong ví dụ của chúng tôi vì không có cách nào để lưu trữ thông tin
về khách hàng tiềm năng cho đến khi họ mua hàng. Nếu dữ liệu khách hàng tiềm năng được nhập
chèn bất thường - Tổ chức cơ sở trước khi thực hiện mua hàng, thì cột # Hóa đơn bán hàng sẽ để trống. Tuy nhiên, Số hóa đơn bán
dữ liệu không đúng dẫn đến
hàng là khóa chính cho Bảng 4-3 và không được để trống, vì nó xác định duy nhất bản ghi.
không thể thêm bản ghi vào cơ sở
dữ liệu.
MỘT xóa bất thường xảy ra khi xóa một hàng có hậu quả không mong muốn. Ví dụ: nếu địa chỉ
xóa bất thường - Tổ chức cơ sở
của khách hàng được lưu trữ trong bảng bán hàng, thì việc xóa hàng nơi lưu trữ lần bán hàng duy
dữ liệu không đúng cách dẫn
đến mất tất cả thông tin về một nhất cho một khách hàng sẽ dẫn đến việc mất tất cả thông tin cho khách hàng đó.
thực thể khi một hàng bị xóa.
2: Thay đổi số lượng cột. Một giải pháp thay thế cho Bảng 4-3 là ghi lại hóa đơn bán hàng và dữ liệu
khách hàng một lần và thêm các cột bổ sung để ghi lại từng mặt hàng đã bán. Bảng 4-4 minh họa
BÀN
91
92 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

BẢNG 4-4 Ví dụ về lưu trữ dữ liệu bán hàng S&S bằng cách thêm cột cho mỗi mặt hàng bổ sung đã bán

cách tiếp cận này. Mặc dù điều này làm giảm sự dư thừa dữ liệu và loại bỏ một số dị thường liên quan
đến Bảng 4-3, nhưng nó có những hạn chế. S&S sẽ phải quyết định trước có bao nhiêu mặt hàng để lại
chỗ cho mỗi hàng (tức là, có bao nhiêu cột để đặt trong bảng; lưu ý trong Bảng 4-4 rằng để lưu trữ
mỗi mặt hàng bổ sung cần có năm cột bổ sung — Mặt hàng, Số lượng , Mô tả, Đơn giá và Số tiền Mở
rộng). Nếu chỗ trống cho bốn mặt hàng (20 cột), thì dữ liệu về một đợt bán hàng có tám mặt hàng (40
cột) sẽ được lưu trữ như thế nào? Tuy nhiên, nếu chỗ trống cho tám mặt hàng, sẽ có rất nhiều không
gian bị lãng phí, như trường hợp của hóa đơn bán hàng 103 và 104.

3: Giải pháp: Một Bộ Bàn. Các vấn đề lưu trữ trong Bảng 4-3 và 4-4 được giải quyết bằng cách sử dụng cơ sở
cơ sở dữ liệu quan hệ - Cơ sở dữ liệu dữ liệu quan hệ. Tập hợp các bảng trong Bảng 4-5 đại diện cho một cơ sở dữ liệu quan hệ có cấu trúc tốt.
được xây dựng bằng mô hình dữ liệu
quan hệ.

CÁC YÊU CẦU CƠ BẢN CỦA CƠ SỞ DỮ LIỆU QUỐC TẾ


Bây giờ chúng ta chuyển sang các hướng dẫn được sử dụng để phát triển một cơ sở dữ liệu quan hệ có cấu trúc đúng.

1. Mỗi cột trong một hàng phải có giá trị duy nhất. Trong cơ sở dữ liệu quan hệ, chỉ có thể có một
giá trị trên mỗi ô. Tại S&S, mỗi lần bán hàng có thể liên quan đến nhiều mặt hàng. Trên hóa đơn
102, khách hàng đã mua một tivi, một tủ đông và một tủ lạnh. Nếu Mặt hàng # là một thuộc tính
trong bảng Bán hàng, thì nó sẽ phải nhận ba giá trị (mặt hàng số 10, 20 và 30). Để giải quyết vấn
đề này, một bảng Hàng tồn kho đã được tạo để liệt kê từng mặt hàng được bán trên một hóa
đơn. Dòng thứ ba trong bảng Bán hàng-Hàng tồn kho trong Bảng 4-5 hiển thị hóa đơn 102 và mặt
hàng số 10 (tivi). Dòng thứ 4 ghi hóa đơn 102 và mặt hàng 20 (tủ đông). Dòng thứ năm ghi hóa
đơn 102 và mặt hàng 30 (tủ lạnh). Bảng này lặp lại số hóa đơn thường xuyên nếu cần để hiển thị
tất cả các mặt hàng đã mua trên hóa đơn bán hàng.
2. Các khóa chính không được để trống. Khóa chính không thể xác định duy nhất một hàng trong bảng
nếu nó là null (trống). Khóa chính không rỗng đảm bảo rằng mọi hàng trong bảng đại diện cho một thứ
quy tắc toàn vẹn thực thể - Khóa gì đó và nó có thể được xác định. Điều này được gọi làquy tắc toàn vẹn thực thể. Trong bảng Bán
chính không rỗng đảm bảo rằng hàng-Khoảng không quảng cáo ở Bảng 4-5, không có trường nào xác định duy nhất từng hàng. Tuy
mọi hàng trong bảng đại diện cho
một thứ gì đó và nó có thể được xác
nhiên, hai cột đầu tiên, được kết hợp với nhau, xác định duy nhất mỗi hàng và tạo thành khóa chính.
định.
3. Các khóa ngoại, nếu không phải là null, phải có giá trị tương ứng với giá trị của khóa chính trong
bảng khác. Khóa ngoại liên kết các hàng trong một bảng với các hàng trong bảng khác. Trong Bảng 4-5,
Số khách hàng chỉ có thể liên kết từng giao dịch bán hàng với khách hàng đã tham gia sự kiện đó nếu
giá trị # Khách hàng trong bảng Doanh số tương ứng với một số khách hàng thực tế trong bảng Khách
quy tắc toàn vẹn tham chiếu - hàng. Ràng buộc này, được gọi làquy tắc toàn vẹn tham chiếu, đảm bảo tính nhất quán của cơ sở dữ
Khóa ngoại liên kết các hàng
liệu. Các khóa ngoại có thể chứa giá trị rỗng. Ví dụ: khi khách hàng thanh toán bằng tiền mặt, Số khách
trong một bảng với các hàng
trong bảng khác phải có giá trị hàng trong bảng bán hàng có thể để trống.
tương ứng với giá trị của khóa 4. Tất cả các thuộc tính không phải khóa trong một bảng phải mô tả một đặc tính của đối
chính trong bảng khác.
tượng được xác định bởi khóa chính. Hầu hết các bảng chứa các thuộc tính khác ngoài khóa
chính và khóa ngoại. Trong bảng Khách hàng ở Bảng 4-5, # Khách hàng là khóa chính và tên
khách hàng, đường phố, thành phố và tiểu bang là những thông tin quan trọng mô tả khách
hàng.
3

Bốn ràng buộc này tạo ra một cơ sở dữ liệu có cấu trúc tốt (chuẩn hóa) trong đó dữ liệu nhất quán
và sự dư thừa dữ liệu được giảm thiểu và kiểm soát. Trong Bảng 4-5, việc có một bảng cho từng đối
tượng quan tâm sẽ tránh được các vấn đề bất thường đã thảo luận trước đó và giảm thiểu sự dư thừa.
Dự phòng không bị loại bỏ, vì một số mục nhất định, chẳng hạn như # Hóa đơn bán hàng, xuất hiện
trong nhiều bảng khi chúng là khóa ngoại. Quy tắc toàn vẹn tham chiếu đảm bảo rằng không có vấn
đề bất thường về cập nhật với các khóa ngoại.
Khi dữ liệu về các đối tượng quan tâm được lưu trữ trong các bảng cơ sở dữ liệu riêng biệt, có thể dễ
dàng thêm dữ liệu mới bằng cách thêm một hàng khác vào bảng. Ví dụ: thêm một khách hàng mới đơn giản
như thêm một hàng mới vào bảng Khách hàng. Do đó, các bảng được mô tả trong Bảng 4-5 không bị chèn
bất thường.
Cơ sở dữ liệu quan hệ cũng đơn giản hóa việc xóa dữ liệu. Xóa hóa đơn bán hàng 105, hóa đơn bán
hàng duy nhất cho khách hàng 153, không xóa tất cả dữ liệu về khách hàng đó, vì nó được lưu trữ trong bảng
Khách hàng. Điều này tránh xóa các dị thường.
Một lợi ích khác của lược đồ thể hiện trong Bảng 4-5 là không gian được sử dụng hiệu quả. Bảng Bán hàng-
Hàng tồn kho chứa một hàng cho mỗi mặt hàng được bán trên mỗi hóa đơn. Không có hàng trống nào, nhưng tất cả
dữ liệu bán hàng đều được ghi lại. Ngược lại, lược đồ trong Bảng 4-4 dẫn đến nhiều không gian bị lãng phí.

HAI CÁCH TIẾP CẬN ĐỂ THIẾT KẾ CƠ SỞ DỮ LIỆU


Một cách để thiết kế cơ sở dữ liệu quan hệ, được gọi là bình thường hóa, bắt đầu bằng cách giả định rằng bình thường hóa - Tuân theo các
quy tắc tạo cơ sở dữ liệu quan hệ
mọi thứ ban đầu được lưu trữ trong một bảng lớn. Các quy tắc sau đó được tuân theo để phân tách bảng ban
để thiết kế cơ sở dữ liệu quan hệ
đầu đó thành một tập hợp các bảng trong cái được gọi làdạng bình thường thứ ba (3NF), vì chúng miễn phí không bị xóa, chèn và cập nhật
cập nhật, chèn và xóa các điểm bất thường. Chi tiết của quá trình chuẩn hóa được tìm thấy trong Phụ lục của các bất thường.
chương này.
Trong một cách tiếp cận thiết kế thay thế, được gọi là mô hình dữ liệu ngữ nghĩa, người thiết kế mô hình dữ liệu ngữ nghĩa - Sử dụng
kiến thức về các quy trình nghiệp
sử dụng kiến thức về các quy trình nghiệp vụ và nhu cầu thông tin để tạo ra một sơ đồ cho thấy
vụ và nhu cầu thông tin để tạo ra
những gì cần đưa vào cơ sở dữ liệu. Sơ đồ này được sử dụng để tạo một tập hợp các bảng quan hệ đã một sơ đồ chỉ ra những gì cần đưa
có trong 3NF. vào cơ sở dữ liệu chuẩn hóa hoàn
toàn (trong 3NF).
Mô hình hóa dữ liệu ngữ nghĩa có những lợi thế đáng kể. Đầu tiên, việc sử dụng kiến thức
của nhà thiết kế hệ thống về các quy trình kinh doanh sẽ tạo điều kiện thuận lợi cho việc thiết kế
hiệu quả cơ sở dữ liệu xử lý giao dịch. Thứ hai, mô hình đồ họa thể hiện rõ ràng các quy trình và
chính sách kinh doanh của tổ chức và bằng cách tạo điều kiện giao tiếp với người dùng hệ
thống, giúp đảm bảo rằng hệ thống mới đáp ứng nhu cầu thực tế của người dùng. các công cụ
mô hình hóa dữ liệu, sơ đồ mối quan hệ thực thể và mô hình REA, được sử dụng để thiết kế cơ
sở dữ liệu xử lý giao dịch. Chương 18 thảo luận về cách triển khai mô hình dữ liệu REA trong cơ
sở dữ liệu quan hệ. Chương 19 thảo luận về các chủ đề đặc biệt trong mô hình REA.

TẠO CÂU HỎI CƠ SỞ DỮ LIỆU QUỐC GIA


Để lấy dữ liệu đã lưu trữ, người dùng truy vấn cơ sở dữ liệu. Phần này của chương trình bày cho bạn
cách truy vấn cơ sở dữ liệu bằng Microsoft Access. Nếu bạn muốn theo dõi bằng cách tạo các truy vấn
được minh họa trong phần này, hãy tải xuống Cơ sở dữ liệu S&S trong chương từ trang web của văn
bản. Khi bạn mở cơ sở dữ liệu và chọn ruy-băng Tạo, ruy-băng ở nửa trên của Bảng 4-6 sẽ xuất hiện.
Có hai cách để truy vấn cơ sở dữ liệu: tạo một truy vấn trong dạng xem Thiết kế (nút “Thiết kế Truy
vấn”) hoặc sử dụng trình hướng dẫn (nút “Trình hướng dẫn Truy vấn”). Các tùy chọn này
94 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

BÀN
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 95

được viền màu xanh lam ở nửa trên của Bảng 4-6. Dạng xem Thiết kế được sử dụng trong tất cả các ví
dụ truy vấn được hiển thị. Nhấp vào nút “Thiết kế Truy vấn” sẽ tạo ra cửa sổ Hiển thị Bảng được hiển
thị trong Bảng 4-6. Người dùng chọn các bảng cần thiết để tạo ra thông tin mong muốn; nếu nhiều
bảng hơn mức cần thiết được chọn, truy vấn có thể không chạy đúng cách.
Chúng ta sẽ sử dụng các bảng trong Bảng 4-5 để xem qua các bước cần thiết để tạo và chạy năm truy vấn. Điều
này sẽ không khiến bạn trở thành chuyên gia trong việc truy vấn cơ sở dữ liệu Access, nhưng nó sẽ chỉ cho bạn cách
tạo ra thông tin hữu ích.

CÂU 1
Truy vấn 1 trả lời hai câu hỏi: Số hóa đơn của tất cả các lần bán hàng được thực hiện cho D. Ainge, và ai
là người bán hàng cho mỗi lần bán hàng?
Bảng Bán hàng và Khách hàng có ba mục cần thiết để trả lời truy vấn này: Số Hóa đơn Bán
hàng, Nhân viên Bán hàng và Tên Khách hàng. Nhấp vào nút “Thiết kế Truy vấn” (xem Bảng 4-6)
và chọn bảng Bán hàng và Khách hàng bằng cách nhấp đúp vào tên của họ hoặc nhấp một lần
vào tên và nhấp vào nút Thêm. Các bảng được chọn xuất hiện như trong Bảng 4-7. Một dòng
giữa hai bảng kết nối các trường Khách hàng # (khóa chính của bảng Khách hàng và khóa ngoại
của bảng Bán hàng). Nhấp vào Đóng để làm cho cửa sổ Hiển thị Bảng biến mất.
Để điền vào nửa dưới của màn hình được hiển thị trong Bảng 4-7, hãy nhấp đúp vào Số hóa đơn
bán hàng, Nhân viên bán hàng và Tên khách hàng hoặc kéo và thả chúng vào hàng Trường. Access tự
động chọn hộp trong dòng Hiển thị, do đó, mục sẽ được hiển thị khi truy vấn được chạy.

Vì chúng tôi chỉ muốn bán hàng cho D. Ainge, hãy nhập giá trị đó vào dòng tiêu chí của cột Tên
khách hàng. Access sẽ tự động đặt dấu chấm hỏi xung quanh các tiêu chí. Chạy truy vấn bằng cách
nhấp vào màu đỏ! (dấu chấm than) trên ruy-băng Thiết kế Công cụ Truy vấn. Bảng 4-8 hiển thị các
bảng được sử dụng, mối quan hệ của khóa chính và khóa ngoài giữa các bảng và truy vấn

BÀN
96 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

BẢNG 4-7 Đã hoàn thành truy vấn 1

BÀN
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 97

câu trả lời. Câu trả lời truy vấn không tự động có tiêu đề "Ainge Sales". Để gán tên cho truy vấn, hãy
lưu nó bằng cách chọn Tệp từ menu Access, sau đó Lưu Đối tượng Dưới dạng, rồi nhập “Ainge Sales”
trong dòng đầu tiên của cửa sổ Lưu Dưới dạng, đảm bảo hộp chọn Đối tượng được đặt thành “Truy
vấn , ”Và sau đó nhấp vào OK. Khi truy vấn được chạy lại, tiêu đề hiển thị trong Bảng 4-8 sẽ xuất hiện.

CÂU 2
Câu hỏi 2 trả lời câu hỏi này: Có bao nhiêu chiếc ti vi đã được bán trong tháng 10?
Các bảng Bán hàng, Khoảng không quảng cáo và Bán hàng-Khoảng không quảng cáo chứa
ba mục cần thiết để trả lời truy vấn này: Ngày, Mô tả Khoảng không quảng cáo và Số lượng.
Nhấp vào nút “Thiết kế Truy vấn” trong ruy-băng Tạo và chọn ba bảng và ba trường, như được
hiển thị trong Bảng 4-9. Vì chúng tôi muốn số lượng TV bán được trong tháng 10, nên chúng tôi
thêm tiêu chí “Từ # 10/1/2018 # đến # 10/31/2018 #” vào trường Ngày và “Truyền hình” vào
trường Mô tả.
Để chỉ định tiêu chí, Access sử dụng các toán tử như “Và” “Hoặc” và “Giữa”. Toán tử “Và” trả về dữ
liệu đáp ứngtất cả các tiêu chí được liên kết bởi toán tử "Và". Toán tử "Giữa" chọn tất cả dữ liệu vào
tháng 10 năm 2018; nghĩa là, giữa và bao gồm các ngày đầu tiên và ngày cuối cùng của tháng. Toán tử
“Hoặc” trả về dữ liệu đáp ứng ít nhất một trong các tiêu chí được liên kết bởi toán tử “Hoặc”. Biểu
tượng “#” cho Access biết để tìm kiếm một ngày chứ không phải một số loại văn bản khác.

Vì chúng tôi chỉ tìm kiếm tổng doanh số bán hàng truyền hình trong tháng 10, nên chúng
tôi không cần hiển thị Ngày hoặc Mô tả. Bỏ chọn hộp "Hiển thị" trong cột Ngày và Mô tả. Để tạo
tổng doanh số, hãy nhấp vào nút “Tổng” trong phần Hiển thị / Ẩn của ruy-băng Thiết kế Công cụ
Truy vấn. Một hàng mới, có nhãn Tổng, xuất hiện (so sánh Bảng 4-7 và 4-9). Nhấp vào dòng Tổng
trong cột Số lượng, nhấp vào biểu tượng mũi tên xuống và chọn Tổng từ

BÀN
98 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

menu thả xuống xuất hiện. Hai trường còn lại trong dòng Tổng sẽ ở dưới dạng Nhóm Theo.
Chạy truy vấn trong Bảng 4-9 sẽ tạo ra câu trả lời được hiển thị.

CÂU 3
Câu hỏi 3 trả lời câu hỏi này: Tên và địa chỉ của khách hàng mua tivi trong tháng
10?
Truy vấn này cần các trường sau: Ngày (để chọn doanh số tháng 10), Mô tả (để chọn TV), và Tên
khách hàng, Đường phố, Thành phố và Tiểu bang (thông tin được yêu cầu). Tất cả bốn bảng đều được
sử dụng vì bảng Bán hàng-Hàng tồn kho được sử dụng để di chuyển giữa bảng Bán hàng và Bảng
hàng tồn kho. Truy vấn sử dụng cùng tiêu chí như Truy vấn 2. Dữ liệu Ngày và Mô tả không cần được
hiển thị, vì vậy các hộp trong dòng Hiển thị không được chọn. Chạy truy vấn sẽ tạo ra câu trả lời được
hiển thị trong Bảng 4-10.

CÂU 4
Truy vấn 4 trả lời câu hỏi này: Số hóa đơn bán hàng, ngày tháng và tổng số hóa đơn bán hàng tháng
10, được sắp xếp theo thứ tự giảm dần theo số tiền bán hàng là gì?
Vì cơ sở dữ liệu không chứa cột Tổng hóa đơn, nên nó được tính bằng cách nhân đơn giá với
số lượng cho mỗi lần bán. Ví dụ: chúng tôi sẽ tính tổng giá bán của từng mặt hàng đã bán bằng
cách nhân trường Số lượng trong bảng Hàng tồn kho với trường Đơn giá trong bảng Khoảng
không quảng cáo. Bảng Bán hàng-Hàng tồn kho trong Bảng 4-5 cho thấy ba mặt hàng đã được
bán trên Hóa đơn Bán hàng 102. Đối với mặt hàng 20, chúng tôi nhân số lượng (3) với Đơn giá
(699), tạo ra 2,097. Tính toán tương tự cũng được thực hiện cho các mục 10 và 30. Cuối cùng,
chúng tôi tính tổng ba mục để có tổng hóa đơn.

BẢNG 4-10 Đã hoàn thành Truy vấn 3 và Câu trả lời


CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 99

Truy vấn 4 yêu cầu bảng Bán hàng (Ngày, Số Hóa đơn Bán hàng), bảng Bán hàng-Hàng tồn kho (Số
lượng) và bảng Hàng tồn kho (Đơn giá). Tuy nhiên, một số trường sẽ không xuất hiện trong các cột trên cửa
sổ Truy vấn Chọn. Như được hiển thị trong Bảng 4-11, ba cột được hiển thị: Số hóa đơn bán hàng, Ngày và
Tổng số hóa đơn, chúng tôi sẽ tính toán. Các trường khác, Số lượng và Đơn giá, được sử dụng trong tính toán
Tổng hóa đơn.
Để tính Tổng hóa đơn, hãy nhập “Tổng hóa đơn:” vào ô Trường trống đầu tiên, nhấp
chuột phải vào ô và chọn Xây dựng từ menu bật lên xuất hiện. Cửa sổ Bộ dựng Biểu thức
(xem Bảng 4-12) xuất hiện, nơi công thức để tính Tổng Hóa đơn được nhập bằng cách gõ
“Sum ()”. Giữa các dấu ngoặc đơn, bấm vào dấu + ở phía trước thư mục Cơ sở dữ liệu nội bộ
S&S trong hộp Phần tử biểu thức. Sau đó, nhấp vào dấu + trong thư mục Tables sẽ làm
xuất hiện bốn bảng cơ sở dữ liệu. Nhấp vào bảng Bán hàng-Khoảng không quảng cáo và
các trường trong bảng Hàng tồn kho-Bán hàng sẽ xuất hiện. Bấm đúp vào Số lượng để đưa
trường này vào biểu thức. Lưu ý trong Bảng 4-12 rằng biểu thức hiển thị tên bảng và tên
trường, được phân tách bằng dấu chấm than. Để nhân Số lượng với Đơn giá, gõ * (ký hiệu
nhân) và chọn bảng Tồn kho và trường Đơn giá. Bây giờ công thức đã hoàn thành và màn
hình sẽ xuất hiện như hình. Để nhập biểu thức vào cửa sổ Chọn truy vấn, hãy nhấp vào OK.

Để hoàn thành Truy vấn 4, hãy nhấp vào nút Tổng số trong ruy-băng Thiết kế Công cụ Truy
vấn. Bấm vào mũi tên xuống trong hàng Tổng của cột Tổng Hoá đơn và chọn Biểu thức từ

BÀN
100 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

BẢNG 4-12 Trình tạo biểu thức cho Truy vấn 4

menu bật lên. Điều này cho Access tính toán biểu thức được chỉ định cho tất cả các mặt hàng có cùng
số và ngày hóa đơn bán hàng. Trong cùng một cột, hãy nhấp vào mũi tên xuống trong hàng Sắp xếp
và chọn Giảm dần để câu trả lời được hiển thị theo thứ tự Tổng số hóa đơn giảm dần. Trong phần tiêu
chí của cột Ngày, hãy sử dụng toán tử "Giữa" để chỉ định tháng của tháng Mười. Chạy Truy vấn 4 tạo ra
câu trả lời được hiển thị trong Bảng 4-11.

CÂU 5
Câu hỏi 5 sẽ trả lời câu hỏi này: Tổng doanh số của nhân viên bán hàng là bao nhiêu?
Truy vấn này tương tự như Truy vấn 4, ngoại trừ việc chúng tôi tổng số hóa đơn theo nhân viên bán
hàng chứ không phải theo số hóa đơn. Chúng tôi cũng không giới hạn truy vấn của mình vào tháng 10. Hãy
thử tự mình đưa ra truy vấn. Truy vấn đã hoàn thành và câu trả lời được hiển thị trong Bảng 4-13.

Hệ thống cơ sở dữ liệu và tương lai của kế toán


Hệ thống cơ sở dữ liệu có khả năng thay đổi đáng kể báo cáo bên ngoài. Thời gian và nỗ lực đáng kể
hiện đang được đầu tư vào việc xác định cách các công ty nên tóm tắt và báo cáo thông tin kế toán cho
người dùng bên ngoài. Trong tương lai, các công ty có thể cung cấp một bản sao cơ sở dữ liệu tài
chính của công ty cho người dùng bên ngoài thay cho các báo cáo tài chính truyền thống. Người dùng
có thể tự do phân tích dữ liệu thô theo cách họ thấy phù hợp.
Một lợi thế đáng kể của hệ thống cơ sở dữ liệu là khả năng tạo các truy vấn đặc biệt để cung cấp
thông tin cần thiết cho việc ra quyết định. Không còn thông tin tài chính chỉ có sẵn ở các định dạng
được xác định trước và vào những thời điểm cụ thể. Thay vào đó, các ngôn ngữ truy vấn cơ sở dữ liệu
quan hệ mạnh mẽ và dễ sử dụng có thể tìm và chuẩn bị các nhu cầu quản lý thông tin bất cứ khi nào
họ muốn.
Các DBMS quan hệ cũng có thể chứa nhiều dạng xem của cùng một hiện tượng cơ bản. Ví
dụ, các bảng lưu trữ thông tin về tài sản có thể bao gồm nguyên giá cũng như chi phí thay thế
hiện tại và giá trị thị trường. Do đó, các nhà quản lý sẽ không còn bị buộc phải xem xét dữ liệu
theo những cách mà kế toán đã xác định trước.
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 101

BÀN

Cuối cùng, các DBMS quan hệ có khả năng tích hợp dữ liệu tài chính và hoạt động. Ví dụ, dữ liệu về mức độ hài
lòng của khách hàng có thể được lưu trữ trong cơ sở dữ liệu, cung cấp cho các nhà quản lý một bộ dữ liệu phong phú
hơn để ra quyết định.
Các DBMS quan hệ có khả năng làm tăng việc sử dụng và giá trị của thông tin kế toán. Kế toán
viên phải hiểu các hệ thống cơ sở dữ liệu để họ có thể giúp thiết kế và sử dụng các AIS trong tương lai.
Sự tham gia như vậy rất quan trọng để đảm bảo rằng các biện pháp kiểm soát thích hợp được đưa vào
các hệ thống đó để bảo vệ dữ liệu và đảm bảo độ tin cậy của thông tin được tạo ra.

Tóm tắt và kết luận tình huống


Ashton đã chuẩn bị một bản báo cáo cho Scott và Susan tóm tắt những gì anh ấy biết
về cơ sở dữ liệu. Ông giải thích rằng hệ quản trị cơ sở dữ liệu (DBMS), phần mềm giúp
hệ thống cơ sở dữ liệu hoạt động, dựa trên mô hình dữ liệu logic cho thấy cách người
dùng nhận thức về cách dữ liệu được lưu trữ. Nhiều DBMS dựa trên mô hình dữ liệu
quan hệ biểu thị dữ liệu đang được lưu trữ trong các bảng. Mỗi hàng trong bảng quan
hệ chỉ có một giá trị dữ liệu trong mỗi cột. Cả vị trí hàng và cột đều không quan trọng.
Các thuộc tính này hỗ trợ việc sử dụng các ngôn ngữ truy vấn đơn giản nhưng mạnh
mẽ để tương tác với cơ sở dữ liệu. Người dùng chỉ cần xác định dữ liệu họ muốn và
không cần quan tâm đến cách dữ liệu được lấy ra. DBMS hoạt động như một trung
gian giữa người dùng và cơ sở dữ liệu,
Sau khi đọc báo cáo của Ashton, Scott và Susan đồng ý rằng đã đến lúc phải nâng cấp AIS của S&S
và thuê một công ty tư vấn để giúp lựa chọn và cài đặt hệ thống mới. Họ yêu cầu Ashton giám sát quá
trình thiết kế để đảm bảo rằng hệ thống mới đáp ứng nhu cầu của họ.
102 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

ĐIỀU KHOẢN QUAN TRỌNG

cơ sở dữ liệu 83 lược đồ 86 mô hình dữ liệu quan hệ 88


quản lý cơ sở dữ liệu lược đồ cấp khái niệm 86 tuple 88
hệ thống (DBMS) 84 lược đồ cấp ngoài 86 lược khóa chính 88
hệ thống cơ sở dữ liệu 84 đồ con 86 khóa ngoại 88
quản trị cơ sở dữ liệu từ điển dữ liệu schema cập nhật bất thường 90
(DBA) 84 86 cấp nội bộ 88 chèn bất thường 90
kho dữ liệu 84 ngôn ngữ định nghĩa dữ liệu xóa dị thường 90
kinh doanh thông minh 84 xử (DDL) 88 cơ sở dữ liệu quan hệ 92
lý phân tích trực tuyến ngôn ngữ thao tác dữ liệu quy tắc toàn vẹn thực thể 92
(OLAP) 84 (DML) 88 quy tắc toàn vẹn tham chiếu 92
khai thác dữ liệu 84 ngôn ngữ truy vấn dữ liệu chuẩn hóa 93
bố cục ghi 86 (DQL) 88 mô hình hóa dữ liệu ngữ nghĩa 93
quan điểm logic 86 người viết báo cáo 88
xem vật lý 86 mô hình dữ liệu 88

AIS đang hoạt động

CHƯƠNG QU IZ

1. Mô hình dữ liệu quan hệ mô tả dữ liệu được lưu trữ trong __________.


Một. hệ thống phân cấp C. các đối tượng

b. những cái bàn d. các tập tin

2. Cách người dùng tổ chức và hiểu dữ liệu về mặt khái niệm được gọi là __________.
Một. quan điểm vật lý C. chế độ xem mô hình dữ liệu

b. quan điểm logic d. chế độ xem tổ chức dữ liệu

3. Mỗi hàng trong bảng cơ sở dữ liệu quan hệ được gọi là gì?


Một. quan hệ C. nghĩa bóng
b. thuộc tính d. tuple

4. Chế độ nào sau đây là chế độ xem cơ sở dữ liệu của người dùng cá nhân?
Một. lược đồ mức khái niệm C. lược đồ cấp nội bộ
b. giản đồ cấp bên ngoài d. lược đồ mức logic
5. Người quản lý có khả năng sẽ sử dụng cách nào sau đây để truy xuất thông tin về
doanh số bán hàng trong tháng 10?
Một. DML C. DDL
b. DSL d. DQL
6. Thuộc tính nào sau đây có nhiều khả năng là khóa chính?
Một. tên đệm C. mã Zip của nhà cung cấp

b. số nhà cung cấp d. số dư tài khoản nhà cung cấp

7. Chương trình nào sau đây là chương trình phần mềm chạy hệ thống cơ sở dữ liệu?
Một. DQL C. DML
b. DBMS d. DDL
số 8. Ràng buộc mà tất cả các khóa chính phải có giá trị dữ liệu khác không được gọi là điều
nào sau đây?
Một. quy tắc toàn vẹn tham chiếu C. quy tắc chuẩn hóa
b. quy tắc toàn vẹn thực thể d. quy tắc mô hình dữ liệu quan hệ
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 103

9. Ràng buộc tất cả các khóa ngoại phải có giá trị null hoặc giá trị của khóa chính
trong bảng khác được gọi là giá trị nào sau đây?
Một. quy tắc toàn vẹn tham chiếu C. quy tắc giá trị khóa ngoại
b. quy tắc toàn vẹn thực thể d. quy tắc giá trị null

10. Thuộc tính nào sau đây trong bảng Biên lai tiền mặt (thể hiện các khoản thanh toán nhận
được từ khách hàng) có nhiều khả năng là khóa ngoại?
Một. số nhận tiền mặt C. mã số khách hàng
b. số kiểm tra khách hàng d. ngày nhận tiền mặt

C OMP REHENSIVEPROBL EM

Công ty tài trợ quản gia điều hành một doanh nghiệp môi giới thế chấp phù hợp với người cho vay và
người đi vay. Bảng 4-14 liệt kê một số dữ liệu mà Butler duy trì về người đi vay và người cho vay. Dữ
liệu được lưu trữ trong một bảng tính phải được cập nhật theo cách thủ công cho từng người vay,
người cho vay hoặc thế chấp mới. Việc cập nhật này dễ xảy ra lỗi, gây hại cho doanh nghiệp. Ngoài ra,
bảng tính phải được sắp xếp theo nhiều cách khác nhau để lấy dữ liệu cần thiết.

BẢNG 4-14 Bảng tính của công ty tài trợ quản gia

SINH- YÊU CẦU CHO VAY BẤT ĐỘNG SẢN

ROWER CUỐI CÙNG ĐẦU TIÊN HIỆN HÀNH THẾ CHẤP CHO VAY CHO VAY VĂN PHÒNG NGƯỜI PHÊ DUYỆT BẤT ĐỘNG SẢN

SỐ TÊN TÊN ĐỊA CHỈ SỐ LƯỢNG SỐ TÊN ĐỊA CHỈ SỐ TÊN NGƯỜI PHÊ DUYỆT

450 Adams Jennifer 450 Peachtree $ 245,000 13 Excel 6890 số 8 Advent Appraisers
Đường Thế chấp Sheridan Dr.
451 Adamson David 500 vòng $ 124,688 13 Excel 6890 Sheridan 9 Ap-
Xa lộ Thế chấp Dr. dịch vụ praisal
452 Bronson Paul 312 Núi $ 345,000 14 CCY 28 Buckhead 10 Tài sản Jones
Xem Dr. Đường Người thẩm định

453 màu nâu Marietta 310 vòng lặp $ 57.090 15 Thuận lợi 3345 hồ 10 Tài sản Jones
Xa lộ Người cho vay Bờ biển Dr. Người thẩm định

454 Charles Kenneth 3 Commons $ 34,000 16 Vốn 8890 San hô số 8 Advent Appraisers
Blvd. Tiết kiệm Blvd.
455 Coulter Tracey 1367 216.505 đô la 13 Excel 6890 số 8 Advent Appraisers
Cây đào Thế chấp Sheridan Dr.
Đường

456 Người nuôi dưỡng Harold 678 Vòng lặp $ 117.090 12 Quốc gia 750 16 St. 9 Ap-
Xa lộ Thế chấp dịch vụ praisal
457 Frank Vernon 210 Bicayne $ 89,000 12 Quốc gia 750 16 St. 10 Tài sản Jones
Blvd. Thế chấp Người thẩm định

458 Holmes Cây thạch nam 1121 Bicayne $ 459.010 16 Vốn 8890 San hô 10 Tài sản Jones
Blvd. Tiết kiệm Blvd. Người thẩm định

459 Johanson Sandy 817 Núi $ 67,900 15 Thuận lợi 3345 hồ 9 Ap-
Xem Dr. Người cho vay Bờ biển Dr. dịch vụ praisal
460 Johnson James 985 Vòng lặp $ 12.000 12 Quốc gia 750 16 St. 10 Tài sản Jones
Xa lộ Thế chấp Người thẩm định

461 Jones Holly 1650 Rửa- $ 67.890 15 Thuận lợi 3345 hồ 9 Ap-
ington Blvd. Người cho vay Bờ biển Dr. dịch vụ praisal
104 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

Tạo cơ sở dữ liệu từ bảng tính của Butler không có bất kỳ dị thường dữ liệu nào được giải thích trong
chương này. Để kiểm tra cơ sở dữ liệu, hãy chuẩn bị một truy vấn để cho biết những người đi vay nào (cả số
và tên người đi vay) đã vay các khoản vay từ Excel Mortgage và ai là người thẩm định cho mỗi khoản vay.

CÂU HỎI THẢO LUẬN

4.1. Đối chiếu các chế độ xem logic và vật lý của dữ liệu, đồng thời thảo luận tại sao các chế độ xem
riêng biệt lại cần thiết trong các ứng dụng cơ sở dữ liệu. Mô tả quan điểm nào hữu ích nhất cho
từng nhân viên sau: lập trình viên, người quản lý và đánh giá viên nội bộ. Việc hiểu cấu trúc dữ
liệu logic sẽ hỗ trợ bạn như thế nào khi thiết kế và sử dụng hệ thống cơ sở dữ liệu?

4.2. Mô hình dữ liệu quan hệ biểu diễn dữ liệu đang được lưu trữ trong các bảng. Bảng tính là một
công cụ khác mà kế toán sử dụng để trình bày dữ liệu dạng bảng. Một số điểm giống và khác
nhau trong cách các công cụ này sử dụng bảng là gì? Sự quen thuộc của một kế toán viên với
cách trình bày dạng bảng của bảng tính có thể tạo điều kiện hoặc cản trở việc học cách sử dụng
DBMS quan hệ như thế nào?

4.3. Một số người tin rằng công nghệ cơ sở dữ liệu có thể loại bỏ nhu cầu kế toán kép. Điều này
tạo ra ba khả năng: (1) mô hình mục nhập kép sẽ bị loại bỏ; (2) mô hình bút toán kép sẽ
không được sử dụng trực tiếp, nhưng một lược đồ cấp bên ngoài dựa trên mô hình bút
toán kép sẽ được xác định để kế toán sử dụng; hoặc (3) mô hình nhập kép sẽ được giữ lại
trong các hệ thống cơ sở dữ liệu. Bạn nghĩ thay thế nào có nhiều khả năng xảy ra nhất?
Tại sao?

4.4. Các ngôn ngữ truy vấn DBMS quan hệ cung cấp khả năng truy cập dễ dàng vào thông tin về các hoạt
động của tổ chức. Điều này có nghĩa là xử lý trực tuyến, thời gian thực nên được sử dụng cho tất cả
các giao dịch? Một tổ chức có cần báo cáo tài chính theo thời gian thực không? Tại sao hoặc tại sao
không?

4.5. Tại sao nó rất quan trọng để có dữ liệu tốt?

4.6. Từ điển dữ liệu là gì, nó chứa những gì và được sử dụng như thế nào?

4.7. So sánh và đối chiếu giữa cách tiếp cận hướng tệp và cách tiếp cận cơ sở dữ liệu. Giải thích những
ưu điểm chính của hệ thống cơ sở dữ liệu.

CÁC VẤN ĐỀ

4.1. Các phần tử dữ liệu sau đây bao gồm lược đồ mức khái niệm cho cơ sở dữ liệu:
địa chỉ thanh toán
Giá cả

giới hạn tín dụng

tên khách hàng


mã số khách hàng
sự miêu tả
số hóa đơn
số hàng
giá
số lượng trên tay
số lượng bán
Địa chỉ giao hàng
điều kiện
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 105

YÊU CẦU
Một. Xác định ba người dùng tiềm năng và thiết kế một danh mục phụ cho mỗi người. Điều chỉnh thiết kế của bạn bằng cách

giải thích lý do tại sao mỗi người dùng cần quyền truy cập vào các phần tử dữ liệu của danh mục phụ.

b. Sử dụng Microsoft Access hoặc một số sản phẩm cơ sở dữ liệu quan hệ khác để tạo các bảng lược
đồ. Chỉ định (các) khóa chính, (các) khóa ngoại và dữ liệu khác cho mỗi bảng. Kiểm tra mô hình của
bạn bằng cách nhập dữ liệu mẫu vào mỗi bảng.

4.2. Hầu hết các gói DBMS đều chứa ngôn ngữ định nghĩa dữ liệu, thao tác dữ liệu và truy vấn dữ liệu.
Đối với mỗi điều sau đây, hãy cho biết ngôn ngữ nào sẽ được sử dụng và tại sao.
Một. Người quản trị cơ sở dữ liệu xác định cấu trúc logic của cơ sở dữ liệu.
b. Người kiểm soát yêu cầu một báo cáo kế toán chi phí có chứa danh sách tất cả nhân viên
được trả cho hơn 10 giờ làm thêm trong một tuần nhất định.
C. Một lập trình viên phát triển một chương trình để cập nhật các bản ghi tài sản cố định được lưu trữ trong cơ sở dữ
liệu.
d. Người quản lý nguồn nhân lực yêu cầu một báo cáo ghi nhận tất cả các nhân viên sẽ nghỉ việc
trong vòng 5 năm.
e. Trường số sê-ri hàng tồn kho được mở rộng trong hồ sơ kiểm kê để cho phép
ghi nhận các mục hàng tồn kho bổ sung có số sê-ri chứa nhiều hơn 10 chữ số.

f. Một người dùng phát triển một chương trình để in ra tất cả các giao dịch mua được thực hiện trong 2 tuần qua.
g. Một trường bổ sung được thêm vào hồ sơ tài sản cố định để ghi giá trị cứu hộ ước tính
của mỗi tài sản.

4.3. Ashton muốn lưu trữ các dữ liệu sau về việc mua hàng tồn kho của S&S:
số hàng
ngày mua
số nhà cung cấp
địa chỉ nhà cung cấp

Tên nhà cung cấp

giá mua
số lượng mua
Số nhân viên
Tên nhân viên
số lượng đơn đặt hàng
sự miêu tả
số lượng trên tay
số tiền mở rộng
tổng số tiền mua

YÊU CẦU
Một. Thiết kế một tập hợp các bảng quan hệ để lưu trữ dữ liệu này. Tất cả các mục dữ liệu có cần
được lưu trữ trong một bảng không? Nếu không, cái nào không cần lưu trữ, và tại sao chúng
không cần lưu trữ?
b. Xác định khóa chính cho mỗi bảng.
C. Xác định các khóa ngoại cần thiết trong các bảng để triển khai tính toàn vẹn tham chiếu.
d. Triển khai các bảng của bạn bằng cách sử dụng bất kỳ sản phẩm cơ sở dữ liệu quan hệ nào mà bạn có quyền truy
cập.
e. Kiểm tra đặc điểm kỹ thuật của bạn bằng cách nhập dữ liệu mẫu vào mỗi bảng.
f. Tạo một vài truy vấn để truy xuất hoặc phân tích dữ liệu bạn đã lưu trữ.

4.4. Truy xuất Cơ sở dữ liệu S&S trong chương (ở định dạng Microsoft Access) từ trang web của
văn bản (hoặc tạo các bảng trong Bảng 4-5 trong một sản phẩm DBMS quan hệ). Viết truy
vấn để trả lời các câu hỏi sau.Ghi chú: Đối với một số câu hỏi, bạn có thể phải tạo hai truy
vấn — một truy vấn để tính Tổng Hóa đơn và truy vấn thứ hai để trả lời câu hỏi được đặt
ra.
Một. S&S bán bao nhiêu loại mặt hàng tồn kho khác nhau?
b. Có bao nhiêu doanh số bán hàng đã được thực hiện trong tháng Mười?
106 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

BÀN

C. Tổng doanh số bán hàng trong tháng Mười là bao nhiêu?

d. Số tiền trung bình của một giao dịch bán hàng là bao nhiêu?
e. Nhân viên bán hàng nào đã bán hàng lớn nhất?
f. Có bao nhiêu đơn vị của mỗi sản phẩm đã được bán?
g. Sản phẩm nào được bán thường xuyên nhất?

4.5. Nhập các bảng trong Bảng 4-15 vào một gói DBMS quan hệ. Viết truy vấn để trả lời các câu
hỏi sau.Ghi chú: Đối với một số câu hỏi, bạn có thể phải tạo hai truy vấn — một truy vấn
để tính tổng và truy vấn thứ hai để trả lời câu hỏi được đặt ra.
Một. Những khách hàng nào (hiển thị tên của họ) đã mua hàng từ Martinez?
b. Ai có hạn mức tín dụng lớn nhất?
C. Có bao nhiêu lần bán hàng đã được thực hiện trong tháng Mười?

d. Số mặt hàng, giá cả và số lượng của từng mặt hàng được bán trên hóa đơn số 103
là gì?
e. Mỗi nhân viên bán hàng đã bán được bao nhiêu?
f. Có bao nhiêu khách hàng sống ở Arizona?
g. Mỗi khách hàng vẫn còn bao nhiêu tín dụng?
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 107

h. Bao nhiêu của mỗi mặt hàng đã được bán? (Bao gồm mô tả của từng mục trong câu trả lời của
bạn.)
tôi. Những khách hàng nào vẫn có tín dụng khả dụng hơn 1.000 đô la?
j. Đối với những mặt hàng nào có ít nhất 100 đơn vị trên tay?

4.6. Công ty BusyB muốn lưu trữ dữ liệu về kỹ năng của nhân viên. Mỗi nhân viên có thể có
một hoặc nhiều kỹ năng cụ thể và một số nhân viên có thể có cùng một kỹ năng. Đưa
các thông tin sau vào cơ sở dữ liệu:
ngày thuê
ngày sinh

BÀN
108 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

kỹ năng ngày tháng có được

Tên nhân viên


Số nhân viên
tỷ lệ trả tiền

tên kỹ năng
số kỹ năng
người giám sát

YÊU CẦU
Một. Thiết kế một tập hợp các bảng quan hệ để lưu trữ các dữ liệu này.
b. Xác định khóa chính cho mỗi bảng và xác định bất kỳ khóa ngoại nào cần thiết.
C. Triển khai lược đồ của bạn bằng cách sử dụng bất kỳ DBMS quan hệ nào. Chỉ định khóa chính và khóa
ngoài, đồng thời thực thi tính toàn vẹn của tham chiếu. Thể hiện tính hợp lý trong thiết kế của bạn bằng
cách nhập dữ liệu mẫu vào mỗi bảng.

4.7. Bạn muốn mở rộng lược đồ được hiển thị trong Bảng 4-16 để bao gồm thông tin về các khoản
thanh toán của khách hàng. Một số khách hàng trả góp theo từng hóa đơn. Những người khác
viết séc để thanh toán cho một số hóa đơn khác nhau. Bạn muốn lưu trữ các thông tin sau:

số tiền áp dụng cho một số nhận tiền mặt


trên hóa đơn cụ thể
tên khách hàng
mã số khách hàng
ngày nhận
nhân viên xử lý thanh toán hóa
đơn thanh toán áp dụng cho
tổng số tiền nhận được

YÊU CẦU
Một. Sửa đổi tập hợp các bảng trong Bảng 4-16 để lưu trữ dữ liệu bổ sung này.
b. Xác định khóa chính cho mỗi bảng mới bạn tạo.
C. Triển khai lược đồ của bạn bằng cách sử dụng bất kỳ gói DBMS quan hệ nào. Cho biết thuộc
tính nào là khóa chính và khóa ngoại, đồng thời nhập dữ liệu mẫu vào mỗi bảng bạn tạo.

4.8. Tạo các bảng quan hệ để giải quyết việc cập nhật, chèn và xóa các dị thường trong
Bảng 4-17.

BẢNG 4-17 Bảng hóa đơn

GỌI MÓN KHÁCH HÀNG KHÁCH HÀNG


HÓA ĐƠN # NGÀY NGÀY TÔI TÊN MỤC # SỰ MIÊU TẢ SỐ LƯỢNG

52 19-6-2018 25-5-2018 201 Johnson 103 Đi bộ 9000 5


52 19-6-2018 25-5-2018 201 Johnson 122 Nimbus 4000 số 8
52 19-6-2018 25-5-2018 201 Johnson 10 Izzod 3000 11
52 19-6-2018 25-5-2018 201 Johnson 71 Huấn luyện viên LD 12
57 20-6-2018 6-01-2018 305 Henry 535 Tiêu chuẩn TR 18
57 20-6-2018 6-01-2018 305 Henry 115 NT 2000 15
57 20-6-2018 6-01-2018 305 Henry 122 Nimbus 4000 5
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 109

4.9. Tạo bảng quan hệ để giải quyết việc cập nhật, chèn và xóa các bất thường trong Bảng
4-18.

BẢNG 4-18 Bảng Đơn đặt hàng (PO)

MUA HÀNG MUA HÀNG GỌI MÓN SỐ LƯỢNG NGƯỜI BÁN


GỌI MÓN # NGÀY PHẦN # SỰ MIÊU TẢ ĐƠN VỊ GIÁ ĐÃ ĐẶT HÀNG NGƯỜI BÁN # TÊN NHÀ CUNG CẤP ĐỊA CHỈ

2 3/9/2018 334 XYZ $ 30 3 504 Cung cấp KL 75 Stevens Dr.


2 3/9/2018 231 PDQ $ 50 5 504 Cung cấp KL 75 Stevens Dr.
2 3/9/2018 444 YYM $ 80 6 504 Cung cấp KL 75 Stevens Dr.
3 4/5/2018 231 PDQ $ 50 2 889 OSCAN INC 55 Cougar Cir.

4.10. Từ cơ sở dữ liệu được tạo trong bài toán toàn diện, thực hiện các truy vấn dựa trên các bảng và
lưới truy vấn được hiển thị trong Bảng 4-19.
Một. Những người vay nào sử dụng Advent Appraisers?
b. Số tiền trung bình được vay từ National Mortgage là bao nhiêu?
C. Liệt kê tất cả các thẩm định viên tài sản.
d. Liệt kê tất cả những người cho vay.

e. Liệt kê những người cho vay đã cho vay hơn 100.000 đô la.
f. Người đi vay nào yêu cầu thế chấp lớn nhất?
g. Người đi vay nào yêu cầu thế chấp nhỏ nhất?

BÀN
110 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

TRƯỜNG HỢP 4-1 Dự án nghiên cứu

Như trong tất cả các lĩnh vực CNTT, DBMS liên tục thay đổi và 2. Sản phẩm DBMS nào dựa trên mô hình logic
cải tiến. Nghiên cứu cách các doanh nghiệp đang sử dụng khác với mô hình dữ liệu quan hệ?
DBMS và viết báo cáo về những phát hiện của bạn. Giải quyết 3. Điểm mạnh và điểm yếu tương đối của các kiểu khác
các vấn đề sau: nhau (mô hình quan hệ so với các mô hình lôgic
khác) của DBMS là gì?
1. Sản phẩm DBMS phổ biến nào dựa trên mô hình
dữ liệu quan hệ?

AIS in Action Solutions


QU IZKEY

1. Mô hình dữ liệu quan hệ mô tả dữ liệu được lưu trữ trong __________.


Một. phân cấp (Không chính xác. Cơ sở dữ liệu phân cấp mô tả dữ liệu như được lưu trữ trong
phân cấp.)
▶ b. bảng (Đúng. Mô hình dữ liệu quan hệ mô tả dữ liệu như được lưu trữ trong một bảng hoặc định dạng
quan hệ.)
C. các đối tượng (Không chính xác. Cơ sở dữ liệu hướng đối tượng mô tả dữ liệu như được lưu trữ dưới dạng các đối

tượng.)

d. tệp (Không chính xác. Mô hình dữ liệu dựa trên tệp mô tả dữ liệu như được lưu trữ trong tệp.)

2. Cách người dùng tổ chức và hiểu dữ liệu về mặt khái niệm được gọi là __________.
Một. chế độ xem vật lý (Không chính xác. Chế độ xem vật lý hiển thị cách thức và vị trí dữ liệu được lưu trữ vật
lý.)
▶ b. chế độ xem logic (Đúng. Chế độ xem logic cho biết cách người dùng tổ chức và hiểu dữ liệu
một cách khái niệm.)
C. dạng xem mô hình dữ liệu (Không chính xác. Đây không phải là dạng xem cơ sở dữ liệu điển hình.)

d. dạng xem tổ chức dữ liệu (Không chính xác. Đây không phải là dạng xem cơ sở dữ liệu điển hình.)

3. Mỗi hàng trong bảng cơ sở dữ liệu quan hệ được gọi là gì?


Một. quan hệ (Không chính xác. Một quan hệ là một bảng trong cơ sở dữ liệu quan hệ.)
b. thuộc tính (Không chính xác. Mỗi cột trong cơ sở dữ liệu quan hệ là một thuộc tính mô tả
một số đặc điểm của thực thể về dữ liệu được lưu trữ.)
C. dị thường (Không chính xác. Dị thường là sự cố trong cơ sở dữ liệu, chẳng hạn như dị thường chèn
hoặc dị thường xóa.)
▶ d. tuple (Đúng. Một tuple còn được gọi là một hàng trong cơ sở dữ liệu quan hệ.)

4. Chế độ nào sau đây là chế độ xem cơ sở dữ liệu của người dùng cá nhân?
Một. lược đồ mức khái niệm (Không chính xác. Một lược đồ mức khái niệm là chế độ xem toàn tổ
chức của toàn bộ cơ sở dữ liệu.)
▶ b. lược đồ cấp bên ngoài (Đúng. Lược đồ cấp bên ngoài đại diện cho chế độ xem cơ sở dữ liệu của
người dùng cá nhân.)
C. lược đồ cấp nội bộ (Không chính xác. Lược đồ cấp nội bộ biểu thị cách dữ liệu thực sự
được lưu trữ và truy cập.)
d. lược đồ mức logic (Không chính xác. Đây không phải là lược đồ được đề cập trong văn bản.)

5. Người quản lý có khả năng sẽ sử dụng cách nào sau đây để truy xuất thông tin về
doanh số bán hàng trong tháng 10?
Một. DML (Không chính xác. DML — ngôn ngữ thao tác dữ liệu — được sử dụng để bảo trì dữ liệu.)
b. DSL (Không chính xác. DSL không phải là ngôn ngữ DBMS.)
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 111

C. DDL (Không chính xác. DDL — ngôn ngữ định nghĩa dữ liệu — được sử dụng để xây dựng từ điển dữ liệu, tạo
cơ sở dữ liệu, mô tả các dạng xem logic và chỉ định bất kỳ giới hạn hoặc ràng buộc nào về bảo mật.)

▶ d. DQL (Đúng. DQL — ngôn ngữ truy vấn dữ liệu — được sử dụng để truy xuất thông tin từ cơ sở
dữ liệu.)

6. Thuộc tính nào sau đây có nhiều khả năng là khóa chính?
Một. tên nhà cung cấp (Không chính xác. Khóa chính phải là duy nhất. Nhiều thực thể có thể sử
dụng cùng một tên.)
▶ b. số nhà cung cấp (Đúng. Một số duy nhất có thể được chỉ định làm khóa chính cho mỗi thực
thể.)
C. Mã Zip của nhà cung cấp (Không chính xác. Khóa chính phải là duy nhất. Nhiều nhà cung cấp
có thể nằm trong cùng một mã Zip.)
d. số dư tài khoản nhà cung cấp (Không chính xác. Khóa chính phải là duy nhất. Số dư tài
khoản giống nhau, chẳng hạn như số dư $ 0,00, có thể được nhiều tổ chức duy trì).

7. Chương trình nào sau đây là chương trình phần mềm chạy hệ thống cơ sở dữ liệu?
Một. DQL (Không chính xác. DQL — ngôn ngữ truy vấn dữ liệu — được sử dụng để truy xuất thông tin từ cơ
sở dữ liệu.)
▶ b. DBMS (Đúng. DBMS — hệ thống quản lý cơ sở dữ liệu — là một chương trình phần mềm hoạt động
như một giao diện giữa cơ sở dữ liệu và các chương trình ứng dụng khác nhau.)
C. DML (Không chính xác. DML — ngôn ngữ thao tác dữ liệu — được sử dụng để bảo trì dữ liệu.)
d. DDL (Không chính xác. DDL — ngôn ngữ định nghĩa dữ liệu — được sử dụng để xây dựng từ điển dữ liệu, tạo
cơ sở dữ liệu, mô tả các dạng xem logic và chỉ định bất kỳ giới hạn hoặc ràng buộc nào về bảo mật.)

số 8. Ràng buộc mà tất cả các khóa chính phải có giá trị dữ liệu khác không được gọi là điều
nào sau đây?
Một. quy tắc toàn vẹn tham chiếu (Không chính xác. Quy tắc toàn vẹn tham chiếu quy định rằng
khóa ngoại phải có giá trị tương ứng với giá trị của khóa chính trong bảng khác hoặc để
trống.)
▶ b. quy tắc toàn vẹn thực thể (Đúng. Mọi khóa chính trong bảng quan hệ phải có giá trị
khác rỗng.)
C. quy tắc chuẩn hóa (Không chính xác. Văn bản không thảo luận về quy tắc chuẩn hóa.)
d. quy tắc mô hình dữ liệu quan hệ (Không chính xác. Văn bản không thảo luận về quy tắc mô hình dữ liệu quan hệ.)

9. Ràng buộc tất cả các khóa ngoại phải có giá trị null hoặc giá trị của khóa chính
trong bảng khác được gọi là giá trị nào sau đây?
▶ Một. quy tắc toàn vẹn tham chiếu (Đúng. Quy tắc toàn vẹn tham chiếu quy định rằng khóa
ngoại phải có giá trị tương ứng với giá trị của khóa chính trong bảng khác hoặc để
trống.)
b. quy tắc toàn vẹn thực thể (Không chính xác. Quy tắc này nói rằng mọi khóa chính trong bảng quan
hệ phải có giá trị khác rỗng.)
C. quy tắc giá trị khóa ngoại (Không chính xác. Văn bản không thảo luận về quy tắc giá trị khóa ngoại.)
d. quy tắc giá trị null (Không chính xác. Văn bản không thảo luận về quy tắc giá trị null.)

10. Thuộc tính nào sau đây trong bảng Biên lai tiền mặt (thể hiện các khoản thanh toán nhận
được từ khách hàng) có nhiều khả năng là khóa ngoại?
Một. số nhận tiền mặt (Không chính xác. Số biên lai là một ứng cử viên sáng giá cho
khóa chính của bảng Biên lai tiền mặt.)
b. số séc của khách hàng (Không chính xác. Vì không có lý do gì để lưu số séc của khách
hàng trong một bảng riêng, nên nó không phải là ứng cử viên tốt cho khóa ngoại.)
▶ C. số khách hàng (Đúng. Số khách hàng sẽ là một khóa ngoại trong bảng Biên lai
tiền mặt và sẽ liên kết bảng Biên lai tiền mặt với Bảng khách hàng.)
d. Ngày nhận tiền mặt (Không chính xác. Ngày thường không phải là ứng cử viên tốt cho
khóa ngoại. Ngày nhận tiền mặt có thể là một thuộc tính trong bảng Biên lai tiền mặt.)
112 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

C OMP REHENSIVEPROBL EM SOLUTI BẬT

Vì dữ liệu của Người cho vay và Người thẩm định được lặp lại trong Bảng 4-14, nên bảng tính có cập
nhật, chèn và xóa các điểm bất thường. Để loại bỏ các vấn đề bất thường và giảm dư thừa, chúng tôi
chia bảng tính thành ba bảng nhỏ hơn: người đi vay (Bảng 4-20), người cho vay (Bảng 4-21) và người
thẩm định (Bảng 4-22).
Số người vay, số người cho vay và số người thẩm định là các khóa chính vì mỗi khóa xác định duy
nhất các hàng trong bảng tương ứng của chúng. Các khóa chính từ bảng Người cho vay và Người
thẩm định được thêm vào bảng Người vay dưới dạng khóa ngoại để bảng Người cho vay và Người
thẩm định sẽ có liên kết trực tiếp đến bảng Người vay.
Tạo các bảng nhỏ hơn với các khóa chính và khóa ngoài giải quyết ba vấn đề bất
thường:

BẢNG 4-20 Bảng Bên vay

CHO VAY NUM- THUỘC TÍNH AP-


BORROWER YÊU CẦU BER (CHO- SỐ NHÂN VIÊN
SỐ CUỐI CÙNG ĐẦU TIÊN THẾ CHẤP ĐĂNG KHÓA ĐẾN (TỪ KHÓA NGOẠI TỚI
(KHÓA CHÍNH) TÊN TÊN ĐỊA CHỈ HIỆN TẠI SỐ LƯỢNG BẢNG CHO VAY) BẢNG PHÊ DUYỆT)
450 Adams Jennifer 450 Đường Peachtree. $ 245,000 13 số 8
451 Adamson David Đường cao tốc 500 vòng $ 124,688 13 9
452 Bronson Paul 312 Mountain View Dr. $ 345,000 14 10
453 màu nâu Marietta Đường cao tốc 310 Vòng $ 57.090 15 10
454 Charles Kenneth 3 Commons Blvd. $ 34,000 16 số 8
455 Coulter Tracey 1367 Peachtree Rd. 216.505 đô la 13 số 8
456 Người nuôi dưỡng Harold Đường cao tốc vòng 678 $ 117.090 12 9
457 Frank Vernon 210 Đại lộ Bicayne $ 89,000 12 10
458 Holmes Cây thạch nam 1121 Bicayne Blvd. $ 459.010 16 10
459 Johanson Sandy 817 Mountain View Dr. $ 67,900 15 9
460 Johnson James Xa lộ 985 Loop $ 12.000 12 10
461 Jones Holly 1650 Đại lộ Washington $ 67.890 15 9

BẢNG 4-21 Bảng cho vay

SỐ CHO VAY
(KHÓA CHÍNH) TÊN CHO VAY ĐỊA CHỈ VĂN PHÒNG CHO VAY

12 Thế chấp quốc gia 750 16 St.


13 Thế chấp bằng Excel 6890 Sheridan Dr.
14 CCY 28 Buckhead Way
15 Người cho vay lợi thế 3345 Bờ hồ Dr.
16 Tiết kiệm vốn 8890 Coral Blvd.

BẢNG 4-22 Bảng thẩm định viên

SỐ NGƯỜI PHÊ DUYỆT TÀI SẢN (KHÓA CHÍNH) TÊN NGƯỜI PHÊ DUYỆT TÀI SẢN
số 8 Advent Appraisers
9 Dịch vụ thẩm định độc lập
10 Người thẩm định tài sản Jones
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 113

-
yêu cầu một người đi vay.

một thế chấp không xóa thông tin về người cho vay và người thẩm định.

khi người cho vay di chuyển và thay đổi địa chỉ của mình, thay vì thay đổi tất cả các hàng trong
bảng tính lưu trữ địa chỉ người cho vay.

Sau khi dữ liệu được nhập vào bảng Microsoft Access, chúng tôi có thể truy vấn cơ sở dữ
liệu. Truy vấn trong Bảng 4-23, tìm người vay và người thẩm định liên quan đến các khoản vay từ
Excel Mortgage, được tạo như sau:

và khóa ngoại.

Tên và Tên người thẩm định tài sản.

BÀN
114 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

Phụ lục: Chuẩn hóa dữ liệu1


Như đã nêu trong chương kèm theo, nếu tất cả dữ liệu được dồn vào một tệp lớn, thì việc thêm,
xóa và thay đổi dữ liệu sẽ rất khó khăn. Ví dụ, khi cơ sở dữ liệu chứa dữ liệu dư thừa (cùng một
dữ liệu được lặp lại ở các vị trí khác nhau trong cơ sở dữ liệu) cần được thay đổi, mỗi phiên bản
của dữ liệu phải được tìm thấy và thay đổi nếu không sẽ đưa các lỗi vào dữ liệu. Vấn đề này được
giải quyết bằng cách tổ chức cơ sở dữ liệu sao cho giảm bớt hoặc loại bỏ sự dư thừa dữ liệu. Phụ
lục này thảo luận về chuẩn hóa dữ liệu, là quá trình phân tích dữ liệu để tạo ra cấu trúc cơ sở dữ
liệu hiệu quả nhất. Nói cách khác, nó đang chia một bảng dữ liệu lớn thành các bảng nhỏ hơn để
giảm dư thừa dữ liệu.
Để chuẩn hóa dữ liệu chưa được tổ chức, dữ liệu được đưa qua ba dạng khác nhau, được
gọi là dạng chuẩn đầu tiên (1NF), dạng chuẩn thứ hai (2NF) và dạng chuẩn thứ ba (3NF). Lưu đồ
trong Hình A4-1 mô tả bằng đồ thị quá trình chuẩn hóa.
Để giúp giải thích quá trình chuẩn hóa dữ liệu, chúng tôi sẽ hướng dẫn bạn qua một ví dụ đơn giản và
khi làm như vậy, chúng tôi sẽ xác định tất cả các thuật ngữ chuẩn hóa dữ liệu. Giả sử các bản ghi của hệ
thống thông tin sinh viên được lưu trên một tờ giấy như trong Hình A4-2.
Thông tin cá nhân của học sinh tương đối không đổi (tên và số học sinh hiếm khi thay đổi).
Tuy nhiên, lịch học của sinh viên sẽ thay đổi theo từng học kỳ và một sinh viên có thể học nhiều
lớp khác nhau. Điểm trung bình sẽ thay đổi mỗi khi học sinh hoàn thành một khóa học.

Bảng A4-1 thể hiện một tệp máy tính đơn giản dành cho ba học sinh có thể trông như thế nào. Có
các trường dữ liệu cho từng trường sau: số sinh viên, tên, chuyên ngành, các khóa học và điểm khóa
học. Đây là một bảng không chuẩn hóa vì nó có các nhóm dữ liệu lặp lại; nghĩa là, một hoặc nhiều
thuộc tính bao gồm nhiều hơn một giá trị. Thuộc tính Khóa học và Điểm khóa học là một nhóm lặp lại
(nhiều hơn một mục nhập duy nhất) cho mỗi sinh viên.
Một bảng ở dạng 1NF khi những việc sau được thực hiện:

- Nhóm Lặp lại đã bị xóa.


- Một khóa chính duy nhất tồn tại cho mỗi bản ghi.

HÌNH A4-1
Để chuyển đổi bảng dữ liệu chưa chuẩn hóa

Một đồ họa Dữ liệu không chuẩn hóa thành bảng bình thường đầu tiên của nó

Đại diện của hình thức, tất cả các nhóm lặp lại
phải được loại bỏ bằng cách
Quy trình chuẩn hóa chọn một khóa chính làm cho
mỗi bản ghi hoặc hàng khác
với mọi hàng khác
hoặc ghi lại.

Dạng bình thường đầu tiên

(1NF)
Biểu mẫu thứ 2 chỉ cần thiết
nếu khóa chính là một
khóa (nghĩa là bao gồm 2 trường trở
lên). Để biến đổi một bảng không
chuẩn hóa thành bảng bình thường
thứ 2, hãy loại bỏ tất cả một phần
sự phụ thuộc.
Bình thường thứ hai
Biểu mẫu (2NF)

Để chuyển đổi một bảng từ 1


hoặc dạng thứ 2 đến dạng thứ 3,
loại bỏ tất cả bắc cầu
sự phụ thuộc.

Dạng thông thường thứ ba


(3NF)

Phỏng theo một tài liệu do Bill Heninger tại Đại học Brigham Young chuẩn bị ban đầu
1
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 115

Hồ sơ sinh viên HÌNH A4-2


Hồ sơ sinh viên
Tên học sinh: Stephanie Moore
Số sinh viên: 86432
Chuyên ngành sinh viên: Hệ thông thông tin

Các khóa học

Khóa học Sự miêu tả Lớp


LÀ 315 Cơ sở dữ liệu MỘT
Kế toán 324 Kế toán quốc tế B
Quản lý 401 Tài chính C-
GPA 3.2

BẢNG A4-1 Bảng sinh viên (Biểu mẫu chưa chuẩn hóa)

SINH VIÊN KHÓA HỌC


SỐ TÊN HỌC SINH HỌC SINH CHÍNH KHÓA HỌC LỚP
86432 Stephanie Moore Hệ thông thông tin LÀ 315 MỘT
Kế toán 324 B
Quản lý 401 C−
86789 Bob Archer Ban quản lý Quản lý 101 B+
Lịch sử 201 A−
98653 Haley Mills Âm nhạc Âm nhạc 371 C+
Toán 212 B−
Quản lý 101 B

Khóa chính là trường dữ liệu hoặc kết hợp các trường dữ liệu làm cho mỗi bản ghi trong bảng là
duy nhất. Nếu một bản ghi không thể được xác định duy nhất bằng một trường dữ liệu, một khóa nối
(hai hoặc nhiều trường dữ liệu, khi kết hợp, xác định duy nhất mỗi bản ghi) sẽ được sử dụng.
Bảng A4-2 cho thấy dữ liệu trong 1NF. Lưu ý rằng khi chúng tôi chuyển từ không chuẩn hóa sang 1NF,
chúng tôi phải sao chép Tên sinh viên và Chuyên ngành để tạo một hàng hoàn chỉnh và duy nhất cho mỗi bản
ghi. Các khóa chính được ký hiệu bằng một PK.
Riêng Mã số học sinh không xác định duy nhất mỗi bản ghi vì cùng một học sinh
có thể học nhiều hơn một lớp. Tuy nhiên, sự kết hợp của Mã số sinh viên và Khóa học
xác định duy nhất mỗi bản ghi. Nói cách khác, Học sinh # 86432 (Stephanie Moore) lấy
IS 315 là một hồ sơ khác với Học sinh # 86432 (Stephanie Moore) lấy Kế toán 324.

Một bảng ở trong 2NF khi những việc sau được thực hiện:

- Đã ở dạng 1NF (mỗi bản ghi được xác định duy nhất và do đó là duy nhất)
- Không có thuộc tính khóa không chính nào chỉ phụ thuộc vào một phần của khóa chính (phụ
thuộc một phần).

BẢNG A4-2 Bảng sinh viên (1NF)

SINH VIÊN SINH VIÊN KHÓA HỌC


SỐ (PK) KHÓA HỌC (PK) TÊN HỌC SINH CHÍNH LỚP
86432 LÀ 315 Stephanie Moore Hệ thống thông tin MỘT
86432 Kế toán 324 Stephanie Moore Hệ thống thông tin B
86432 Quản lý 401 Stephanie Moore Hệ thống thông tin C−
86789 Quản lý 101 Bob Archer Ban quản lý B+
86789 Lịch sử 201 Bob Archer Ban quản lý A−
98653 Âm nhạc 371 Haley Mills Âm nhạc C+
98653 Toán 212 Haley Mills Âm nhạc B−
98653 Quản lý 101 Haley Mills Âm nhạc B
116 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

Dạng chuẩn thứ hai chỉ xảy ra khi khóa chính được nối (tạo thành từ nhiều hơn một
trường dữ liệu). Nếu không có khóa nối, bạn có thể bỏ qua 2NF và chuyển trực tiếp đến
3NF.
Trong Bảng A4-2, khóa chính của bảng Sinh viên là sự kết hợp của Số Sinh viên và Khóa học.
Tuy nhiên, vì Tên và Chuyên ngành của Sinh viên chỉ mô tả và phụ thuộc vào Sinh viên chứ
không phải Khóa học, chúng tôi có “phụ thuộc một phần”. Sự phụ thuộc từng phần này phải
được loại bỏ bằng cách chia bảng thành các bảng nhỏ hơn.
Trong Bảng A4-3 và A4-4, bảng 1NF trong Bảng A4-2 được chia thành hai bảng bằng cách nhóm
dữ liệu sinh viên lại với nhau và bằng cách nhóm dữ liệu khóa học của sinh viên lại với nhau. Điều này
giúp loại bỏ sự phụ thuộc một phần (Tên sinh viên và Chuyên ngành sinh viên chỉ phụ thuộc vào Số
sinh viên, không phụ thuộc vào Khóa học). Trường duy nhất phụ thuộc vào cả Số sinh viên và Khóa học
cùng nhau là Hạng khóa học. Giảm dư thừa dữ liệu, vì tên và chuyên ngành của sinh viên chỉ được liệt
kê một lần trong bảng Sinh viên.
Một bảng ở dạng 3NF khi những việc sau được thực hiện:

- Đã ở trong 1NF hoặc 2NF, và


- Không tồn tại phụ thuộc bắc cầu. Có nghĩa là, tất cả các trường dữ liệu về mặt chức năng phụ
thuộc vào khóa chính và chỉ khóa chính.

Phụ thuộc bắc cầu xảy ra khi một trường dữ liệu có thể được xác định tốt hơn bởi một trường khác so
với khóa chính hiện có. Đó là, khi một thuộc tính không phải khóa phụ thuộc về mặt chức năng vào một hoặc
nhiều thuộc tính không phải khóa khác.
Bảng A4-5 là một ví dụ về sự phụ thuộc bắc cầu.
Vì khóa học # là khóa chính nên nó có vẻ như để xác định giá trị của tất cả các thuộc tính
khác. Tuy nhiên, Điện thoại hướng dẫn phụ thuộc vào thuộc tính Người hướng dẫn. Để loại bỏ
sự phụ thuộc bắc cầu này, Bảng A4-5 được tách thành bảng khóa học (Bảng A4-6) và bảng giảng
viên (Bảng A4-7).

BẢNG A4-3 Bàn học sinh

SỐ SINH VIÊN (PK) TÊN HỌC SINH HỌC SINH CHÍNH


86432 Stephanie Moore Hệ thống thông tin

86789 Bob Archer Ban quản lý


98653 Haley Mills Âm nhạc

BẢNG A4-4 Bảng dành cho sinh viên-khóa học (2NF)

SỐ SINH VIÊN (PK) KHÓA HỌC (PK) LỚP KHÓA HỌC


86432 LÀ 315 MỘT
86432 Kế toán 324 B
86432 Quản lý 401 C−
86789 Quản lý 101 B+
86789 Lịch sử 201 A−
98653 Âm nhạc 371 C+
98653 Toán 212 B−
98653 Quản lý 101 B

BẢNG A4-5 Ví dụ về phụ thuộc bắc cầu

KHÓA HỌC # (PK) MÔ TẢ KHÓA HỌC HƯỚNG DẪN VIÊN ĐIỆN THOẠI HƯỚNG DẪN VIÊN

LÀ 315 Cơ sở dữ liệu Gibson 378-5555


Toán 215 Giải tích Ryan 378-4444
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 117

BẢNG A4-6 Bàn khóa học

KHÓA HỌC # (PK) MÔ TẢ KHÓA HỌC HƯỚNG DẪN VIÊN (FK)

LÀ 315 Cơ sở dữ liệu Gibson


Toán 215 Giải tích Ryan

BẢNG A4-7 Bảng hướng dẫn

HƯỚNG DẪN VIÊN (PK) ĐIỆN THOẠI HƯỚNG DẪN VIÊN

Gibson 378-5555
Ryan 378-4444

FK trong Bảng A4-6 là viết tắt của khóa ngoài. Vì chúng tôi có thể cần kết nối lại các
bảng này trong tương lai, nên chúng tôi luôn để lại một trường “chung” giữa hai bảng mà
chúng tôi đã tạo. Trường đó thường là khóa chính của một trong các bảng mới được tạo.

Một cách để ghi nhớ các tiêu chí cho hình thức thứ ba là nghĩ đến Perry Mason. Khi Perry Mason
gọi ai đó đến làm chứng trước tòa, nhân chứng luôn phải thề “nói toàn bộ sự thật và không có gì khác
ngoài sự thật”. Bảng 2NF giống như phần “toàn bộ sự thật” của lời tuyên thệ (mỗi thuộc tính hoặc
trường dữ liệu phụ thuộc vào toàn bộ khóa chính, không chỉ một phần của khóa chính). Bảng 3NF
giống như phần "không có gì ngoài sự thật" của lời thề (mỗi thuộc tính không phụ thuộc vào gì ngoài
khóa chính (trên khóa chính và không phụ thuộc vào thuộc tính hoặc trường dữ liệu nào khác). Trong
3NF, một thuộc tính phải phụ thuộc vào "Toàn bộ khóa chính" và "không có gì ngoài khóa chính."

Nếu bảng dữ liệu không được chia nhỏ thành 3NF, sự cố hoặc dị thường sẽ xảy ra. Những vấn đề
này được gọi là cập nhật, chèn và xóa các dị thường và được giải thích trong chương. Nếu một bảng
không chuẩn hóa được chia nhỏ thành 3NF, các bất thường cập nhật, chèn và xóa sẽ biến mất.

Bản tóm tắt

Khi bắt đầu với một bảng chưa chuẩn hóa, đây là các bước trong quá trình chuẩn hóa:

1. Loại bỏ tất cả các nhóm dữ liệu lặp lại để tạo 1NF và chọn khóa chính.
2. Loại bỏ các phụ thuộc một phần (các thuộc tính phụ thuộc vào một phần của khóa chính) để
tạo 2NF. Điều này chỉ áp dụng khi bảng 1NF có một khóa được nối.
3. Loại bỏ tất cả các phụ thuộc bắc cầu (thuộc tính khóa không chính hoặc trường dữ liệu, phụ thuộc vào các
thuộc tính khóa không chính khác hoặc trường dữ liệu) để tạo 3NF.

Ví dụ về chuẩn hóa thứ hai


Như một sự trợ giúp thêm trong việc hiểu về chuẩn hóa dữ liệu, một ví dụ thứ hai được cung
cấp. Bảng A4-8 đại diện cho một bảng không chuẩn hóa về điểm của học sinh với dữ liệu dư
thừa hoặc lặp lại. Ba bước được đề cập ở trên sẽ được sử dụng để chuẩn hóa dữ liệu.

Bước 1: Xóa các nhóm lặp lại


Để xóa các nhóm lặp lại khỏi Bảng A4-8, hãy chọn một thuộc tính hoặc kết hợp các thuộc tính tạo nên
mỗi hàng hoặc bản ghi duy nhất. Sinh viên # không phải là một ứng cử viên tốt vì nó lặp lại cho mỗi
khóa học mà sinh viên tham gia. Khóa học là một khả năng, nhưng nhiều hơn một sinh viên
118 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

BẢNG A4-8 Bảng dữ liệu sinh viên chưa chuẩn hóa

SINH VIÊN KHÓA HỌC HƯỚNG DẪN VIÊN VĂN PHÒNG VĂN PHÒNG KHÓA HỌC
SINH VIÊN# TÊN CHÍNH KHÓA HỌC SỰ MIÊU TẢ TÊN GIỜ ĐỊA ĐIỂM ĐIỆN THOẠI LỚP
86432 Stethi Acct Acc 315 Fin Acct cá đuối 9–11 442 378-4545 MỘT
Acc 324 Mgt Acct Paul 8–10 448 378-8945 MỘT
Mgt 401 Tài chính Gibson 12–1 501 378-5555 B
86789 Người bắn cung Mgt Mgt 101 Giới thiệu Mgt Bueli 4–6 463 378-2345 C
Lịch sử 201 Lịch sử Hoa Kỳ Rockly 1–2 558 378-5987 B
98653 Mills Acct Acc 371 Nghiên cứu Ind Knox 8–11 443 378-4543 B
Toán 212 Giải tích Geluski 3–4 158 378-7848 B
Mgt 101 Giới thiệu Mgt Bueli 4–6 463 378-2345 C

có thể học cùng một khóa học. Như trong ví dụ trước của chúng tôi, việc kết hợp hai trường này dẫn đến một số
nhận dạng duy nhất cho mỗi bản ghi. (Điều này giả định rằng một học sinh không thể học cùng một khóa học hai
lần.) Bây giờ, mỗi hàng hoặc bản ghi trong Bảng A4-9 được xác định duy nhất hoặc khác với tất cả các bản ghi khác.

BẢNG A4-9 Sinh viên-Khóa học-Lớp (1NF)

SINH VIÊN# KHÓA HỌC KHÓA HỌC VĂN PHÒNG VĂN PHÒNG KHÓA HỌC
(PK) SINH VIÊN CHÍNH (PK) SỰ MIÊU TẢ HƯỚNG DẪN VIÊN GIỜ ĐỊA ĐIỂM ĐIỆN THOẠI LỚP
86432 Stethi Acct Acc 315 Fin Acct cá đuối 9–11 442 378-4545 MỘT
86432 Stethi Acct Acc 324 Mgt Acct Paul 8–10 448 378-8945 MỘT
86432 Stethi Acct Mgt 401 Vây Schoals 12–1 501 378-5555 B
86789 Người bắn cung Mgt Mgt 101 Giới thiệu Mgt Bueil 4–6 463 378-2345 C
86789 Người bắn cung Mgt Lịch sử 201 Lịch sử Hoa Kỳ Rockly 1–2 558 378-5987 B
98653 Mills Acct Acc 371 Nghiên cứu Ind Knox 8–11 443 378-4543 B
98653 Mills Acct Toán 212 Giải tích Geluski 3–4 158 378-7848 B
98653 Mills Acct Mgt 101 Giới thiệu Mgt Bueli 4–6 463 378-2345 C

Một vấn đề với Bảng A4-9 là nếu một sinh viên thay đổi chuyên ngành của mình (nó được
liệt kê mỗi khi Mã số sinh viên được liệt kê), chúng tôi sẽ phải tìm mọi hồ sơ của sinh viên đó và
thay đổi chuyên ngành. Điều này làm tăng khả năng mắc lỗi (đây là một ví dụ bất thường về cập
nhật).
Chúng tôi giải quyết vấn đề này bằng cách lấy dữ liệu sinh viên dư thừa ra khỏi Bảng A4-9
và tạo Bảng A4-10, hiển thị mỗi sinh viên một lần, với tên và chuyên ngành đi kèm. Dữ liệu còn
lại được hiển thị trong bảng Lớp-Khóa học (Bảng A4-11).
Với Bảng A4-10 trong 3NF, chúng ta có thể thay đổi tên hoặc chuyên ngành của học sinh mà không ảnh
hưởng đến bất kỳ dữ liệu nào khác trong bảng Lớp-Khóa học. Chúng tôi chỉ cần cập nhật một hồ sơ học sinh
thay vì tìm kiếm tất cả dữ liệu học sinh dư thừa trong bảng chưa chuẩn hóa.
Chúng tôi đã sao chép thuộc tính khóa chính (Số sinh viên) vào bảng Sinh viên nhưng để lại một
bản sao trong bảng Hạng khóa học (Bảng A4-11) vì một số thông tin trong bảng Hạng khóa học phụ
thuộc vào mã định danh duy nhất đó cho mỗi sinh viên. Ví dụ: Điểm chỉ có ý nghĩa khi nó được gắn với
một học sinh cụ thể và một khóa học cụ thể. Vì vậy, chúng tôi cần giữ cả số nhận dạng học sinh và số
nhận dạng khóa học để duy trì điểm mà học sinh nhận được cho một khóa học cụ thể.

BẢNG A4-10 Bảng sinh viên (3NF)

HỌC SINH # (PK) SINH VIÊN CHÍNH


84632 Stethi Acct
86789 Người bắn cung Mgt
98653 Mills Acct
CHƯƠNG 4 CƠ SỞ DỮ LIỆU QUAN HỆ 119

BẢNG A4-11 Khoá học (1NF)

SINH VIÊN# KHÓA HỌC VĂN PHÒNG VĂN PHÒNG KHÓA HỌC
(PK) KHÓA HỌC (PK) SỰ MIÊU TẢ HƯỚNG DẪN VIÊN GIỜ ĐỊA ĐIỂM ĐIỆN THOẠI LỚP
86432 Acc 315 Fin Acct cá đuối 9–11 442 4545 MỘT
86432 Acc 324 Mgt Acct Paul 8–10 448 8945 MỘT
86432 Mgt 401 Vây Schoals 12–1 501 5555 B
86789 Mgt 101 Giới thiệu Mgt Bueil 4–6 463 2345 C
86789 Lịch sử 201 Lịch sử Hoa Kỳ Rockly 1–2 558 5987 B
98653 Acc 371 Nghiên cứu Ind Knox 8–11 443 4543 B
98653 Toán 212 Giải tích Geluski 3–4 158 7848 B
98653 Mgt 101 Giới thiệu Mgt Bueli 4–6 463 2345 C

Bảng A4-11 nằm trong 1NF nhưng vẫn đưa ra một số vấn đề đòi hỏi nó phải được
phân tích thêm. Bảng Lớp học vẫn hiển thị ba điểm bất thường về chuẩn hóa:
1. Cập nhật Điểm bất thường: Để thay đổi mô tả của Mgt 101 từ Intro Mgt (Giới thiệu về quản
lý) thành MgtPrin (Nguyên tắc quản lý), mỗi bản ghi trong bảng Lớp khóa học sẽ cần được
tìm kiếm cho bất kỳ sinh viên nào tham gia khóa học đó.
2. Chèn điểm bất thường: Không thể thêm khóa học mới vào bảng này vì không có sinh viên nào
đăng ký tham gia khóa học. Tình trạng khó xử này tồn tại bởi vì việc xác định duy nhất mỗi bản
ghi trong bảng yêu cầu toàn bộ khóa chính, bao gồm cả Số sinh viên và Khóa học.
3. Xóa dị thường: Giả sử chỉ có một học sinh được đăng ký ACC 371, Nghiên cứu độc lập.
Nếu sinh viên rút khỏi trường đại học và hồ sơ của sinh viên bị xóa, nó cũng sẽ xóa dữ
liệu về khóa học và giảng viên vì những mục dữ liệu đó không thể tồn tại trong bảng
mà không có khóa chính của chúng. Do đó, người hướng dẫn và dữ liệu khóa học
không nên được xác định bởi phần Học viên # của khóa chính, mà chỉ bởi phần số khóa
học của khóa chính.
Bước 2: Loại bỏ các phần phụ thuộc
Trước khi một bảng trong 1NF có thể được coi là trong 2NF, các phụ thuộc một phần phải được loại bỏ
khi có một khóa được nối. Chúng ta có thể lấy dữ liệu Hạng khóa học ra khỏi Bảng A4-11, vì đây là dữ
liệu duy nhất yêu cầu khóa được nối. Tách dữ liệu này cho chúng ta Bảng A4-12 (bảng Lớp học sinh)
trong 3NF và Bảng A4-13 (bảng Giáo viên-Khóa học) trong 2NF.

Bước 3: Loại bỏ các yếu tố phụ thuộc bắc cầu


Việc chèn và xóa các dị thường được giảm bớt trong bảng Người hướng dẫn khóa học (Bảng A4-13,
nhưng không bị loại bỏ do phụ thuộc bắc cầu. Để loại bỏ các dị thường, bảng Người hướng dẫn khóa
học phải được phân tách thành 3NF.

BẢNG A4-12 Cấp học sinh (3NF)

HỌC SINH # (PK) KHÓA HỌC (PK) LỚP KHÓA HỌC


86432 Acc 315 MỘT
86432 Acc 324 MỘT
86432 Mgt 401 B
86789 Mgt 101 C
86789 Lịch sử 201 B
98653 Acc 371 B
98653 Toán 212 B
98653 Mgt 101 C
120 PHẦN I CƠ SỞ KHÁI NIỆM VỀ HỆ THỐNG THÔNG TIN KẾ TOÁN

BẢNG A4-13 Người hướng dẫn khóa học (2NF)

KHÓA HỌC VĂN PHÒNG VĂN PHÒNG

KHÓA HỌC (PK) SỰ MIÊU TẢ HƯỚNG DẪN VIÊN GIỜ ĐỊA ĐIỂM ĐIỆN THOẠI

Acc 315 Fin Acct cá đuối 9–11 442 378-4545


Acc 324 Mgt Acct Paul 8–10 448 378-8945
Mgt 401 Vây Schoals 12–1 501 378-5555
Mgt 101 Giới thiệu Mgt Bueil 4–6 463 378-2345
Lịch sử 201 Lịch sử Hoa Kỳ Rockly 1–2 558 378-5987
Acc 371 Nghiên cứu Ind Knox 8–11 443 378-4543
Toán 212 Giải tích Geluski 3–4 158 378-7848
Mgt 101 Giới thiệu Mgt Bueli 4–6 463 378-2345

Trong bảng Người hướng dẫn khóa học, chỉ có thể tìm thấy giờ làm việc, địa điểm văn phòng và số điện
thoại của người hướng dẫn bằng cách tìm kiếm các khóa học mà người hướng dẫn đã dạy. Nói cách khác, để
tìm số điện thoại của Giáo sư Ray, một sinh viên sẽ phải tìm kiếm trong bảng Người hướng dẫn khóa học để
tìm thông tin đó thay vì nhìn vào bảng chỉ chứa thông tin người hướng dẫn.
Để loại bỏ sự phụ thuộc bắc cầu, chúng tôi đặt thông tin người hướng dẫn và thông tin khóa học trong các
bảng riêng biệt, như được thể hiện trong Bảng A4-14 (Bảng khóa học) và A4-15 (Bảng giảng viên). Trường Người
hướng dẫn cũng được để lại trong bảng Khóa học dưới dạng khóa ngoại để chúng tôi biết ai đang giảng dạy từng
khóa học và vì vậy chúng tôi có thể liên kết các bảng này lại với nhau khi cần.
Bởi vì tất cả các bảng đều nằm trong 3NF và tất cả các điểm bất thường đều bị loại bỏ, các bảng có thể
được sử dụng một cách hiệu quả bởi cơ sở dữ liệu quan hệ. Khi chúng tôi kết thúc quá trình chuẩn hóa, dữ
liệu học sinh chưa chuẩn hóa trong Bảng A4-8 đã được chia thành bốn bảng riêng biệt:

1. Bảng A4-10: Bảng học sinh (3NF)


2. Bảng A4-12: Cấp độ học sinh (3NF)
3. Bảng A4-14: Khóa học (3NF)
4. Bảng A4-15: Người hướng dẫn (3NF)

BẢNG A4-14 Khóa học (3NF)

KHÓA HỌC (PK) MÔ TẢ KHÓA HỌC HƯỚNG DẪN VIÊN (FK)

Acc 315 Fin Acct cá đuối

Acc 324 Mgt Acct Paul


Mgt 401 Vây Schoals
Mgt 101 Giới thiệu Mgt Bueil
Lịch sử 201 Lịch sử Hoa Kỳ Rockly
Acc 371 Nghiên cứu Ind Knox
Toán 212 Giải tích Geluski

BẢNG A4-15 Người hướng dẫn (3NF)

HƯỚNG DẪN VIÊN (PK) GIỜ HÀNH CHÍNH ĐỊA ĐIỂM VĂN PHÒNG ĐIỆN THOẠI

cá đuối 9–11 442 378-4545


Paul 8–10 448 378-8945
Schoals 12–1 501 378-5555
Bueil 4–6 463 378-2345
Rockly 1–2 558 378-5987
Geluski 3–4 158 378-7848
Knox 8–11 443 378-4543

You might also like