











Preview text:
lOMoAR cPSD| 61463864 BÀI TẬP CHƯƠNG 4
Câu 4.19. Xác định tất cả các khái niệm quan trọng được trình bày trong nghiên cứu điển hình
về cơ sở dữ liệu thư viện? Hãy xác định các khái niệm trừu tượng về phân loại (kiểu thực thể
và kiểu quan hệ), tổng hợp, nhận dạng và chuyên biệt hóa/ tổng quát hóa? Chỉ định các ràng
buộc về số lượng (tối thượng, tối đa) bất cứ khi nào có thể? Hãy liệt kê các chi tiết sẽ ảnh hưởng
đến thiết kế nhưng không liên quan đến thiết kế khái niệm? Hãy liệt kê các ràng buộc ngữ nghĩa
riêng biệt? Vẽ sơ đồ EER của cơ sở dữ liệu thư viện?
Nghiên cứu điển hình: Thư viện Georgia Tech (GTL) có khoảng 16.000 thành viên, 100.000 đầu
sách và 250.000 tập sách (trung bình 2,5 bản/cuốn). Khoảng 10% số đầu sách được cho mượn tại
bất kỳ thời điểm nào. Thủ thư đảm bảo rằng những cuốn sách mà thành viên muốn mượn luôn
có sẵn khi thành viên muốn mượn. Ngoài ra, thủ thư phải biết có bao nhiêu bản sao của mỗi cuốn
sách đang có trong thư viện hoặc đang được cho mượn tại bất kỳ thời điểm nào. Có một danh
mục sách trực tuyến liệt kê các cuốn sách theo tác giả, tên sách và chủ đề. Đối với mỗi đầu sách
trong thư viện, một mô tả sách được lưu trong danh mục; mô tả có thể dài từ một câu đến vài
trang. Thủ thư tham khảo muốn có thể truy cập vào mô tả này khi thành viên yêu cầu thông tin
về một cuốn sách. Nhân viên thư viện bao gồm thủ thư trưởng, thủ thư phó khoa, thủ thư tham
khảo, nhân viên thủ tục trả sách và trợ lý thư viện.
Sách có thể được mượn trong vòng 21 ngày. Thành viên chỉ được phép mượn tối đa năm cuốn
sách mỗi lần. Thành viên thường trả sách trong vòng ba đến bốn tuần. Hầu hết thành viên đều
biết rằng họ có một tuần gia hạn trước khi nhận được thông báo, vì vậy họ cố gắng trả sách trước
khi thời gian gia hạn kết thúc. Khoảng 5% thành viên phải nhận được lời nhắc trả sách. Hầu hết
sách quá hạn được trả trong vòng một tháng kể từ ngày đến hạn. Khoảng 5% sách quá hạn được
giữ lại hoặc không bao giờ được trả. Những thành viên tích cực nhất của thư viện được định
nghĩa là những người mượn sách ít nhất mười lần trong năm. 1% thành viên hàng đầu mượn 15%
số sách, và 10% thành viên hàng đầu mượn 40% số sách. Khoảng 20% thành viên hoàn toàn không
hoạt động, tức là họ là những thành viên không bao giờ mượn sách.
Để trở thành thành viên của thư viện, người nộp đơn phải điền vào mẫu đơn bao gồm mã số An
sinh Xã hội (SSN), địa chỉ gửi thư tại trường, địa chỉ nhà riêng và số điện thoại. Thủ thư sẽ cấp một
thẻ có thể đọc được bằng máy, được đánh số và có ảnh của thành viên trên đó. Thẻ này có giá trị
trong bốn năm. Một tháng trước khi thẻ hết hạn, thông báo sẽ được gửi đến thành viên để gia
hạn. Các giáo sư tại viện được coi là thành viên tự động. Khi một giảng viên mới gia nhập viện,
thông tin của họ sẽ được lấy từ hồ sơ nhân viên và thẻ thư viện sẽ được gửi đến địa chỉ trong
trường của họ. Các giáo sư được phép mượn sách trong ba tháng một lần và có thời gian gia hạn
hai tuần. Thông báo gia hạn cho các giáo sư sẽ được gửi đến địa chỉ trong trường của họ.
Thư viện không cho mượn một số sách, chẳng hạn như sách tham khảo, sách hiếm và bản đồ.
Thủ thư phải phân biệt sách nào được phép mượn và sách nào không được phép mượn. Ngoài lOMoAR cPSD| 61463864
ra, thủ thư phải có danh sách một số sách họ muốn mượn nhưng không thể mượn được, chẳng
hạn như sách hiếm hoặc sách đã hết bản in và sách bị mất hoặc bị hủy hoại nhưng chưa được
thay thế. Thủ thư phải có hệ thống theo dõi sách không được mượn cũng như sách nào họ muốn
mượn. Một số sách có thể có cùng tên; do đó, tên sách không thể được sử dụng làm phương tiện
nhận dạng. Mỗi cuốn sách được xác định bằng Mã số Sách Tiêu chuẩn Quốc tế (ISBN), một mã
quốc tế duy nhất được cấp cho tất cả các cuốn sách. Hai cuốn sách có cùng tên có thể có các mã
số ISBN khác nhau nếu chúng được viết bằng các ngôn ngữ khác nhau hoặc có bìa khác nhau (bìa
cứng hoặc bìa mềm). Các phiên bản của cùng một cuốn sách có các mã số ISBN khác nhau.
Hệ thống cơ sở dữ liệu đề xuất phải được thiết kế để theo dõi các thành viên, sách, danh mục và hoạt động mượn sách.
1. Các khái niệm trong nghiên cứu điển hình về cơ sở dữ liệu thư viện
Danh từ (thực thể/thuộc tính) o Thực thể: Member, Professor (con của Member),
MembershipCard, Staff, Title (ISBN), Volume (bản sao), Loan (phiếu mượn),
Notice (thư nhắc/renewal). o Thuộc tính tiêu biểu:
Member (SSN, Home_mail, phone, School_mail)
Title (ISBN, title_name, language, edition, description)
Volume (status, condition)
Loan (borrow_date, return_date, expire_date) …
• Động từ (mối quan hệ) o borrows (Member–Loan) o of (Loan–
Volume) o has (Title–Volume) o owns (Member–Card) o
processes (Staff–Loan) o receives (Member–Notice)
• Quy tắc/ràng buộc & thống kê nổi bật o Kỳ hạn mượn: thường
21 ngày, grace 7 ngày; Professor: 90 ngày, grace 14 ngày.
o ≤ 5 sách mượn chưa trả mỗi Member.
o Non-lendable: Reference, Rare, Map… không được mượn.
o Số liệu vận hành (16k members, 100k titles, 250k volumes, ~10% on loan, top
1% mượn 15%…) → chỉ phục vụ tối ưu, BI.
2. Xác định loại thực thể & thuộc tính (mạnh/yếu) + khóa Thực thể mạnh: o Member
(SSN) o Title (IBSN) o MembershipCard (carID) o Volume
o Loan (loanID) Thực thể yếu: o Notice lOMoAR cPSD| 61463864
3. Mối quan hệ & ràng buộc (min, max)
• Member – Loan (borrows): Member (1,N) ↔ Loan (1,1).
Ràng buộc hoạt động: mỗi Member ≤ 5 loans active.
• Loan – Volume (of): Loan (1,1) ↔ Volume (1,N) theo lịch sử; tại một thời điểm:
Volume (0,1) loan active.
• Title – Volume (has): Title (1,N) ↔ Volume (1,1).
• Member – MembershipCard (owns): Member (1,N) ↔ Card (1,1), tối đa 1 thẻ active/Member.
• Staff – Loan (processes): Staff 0,N ↔ Loan 0,1 (tuỳ lưu vết).
• Member – Notice (receives): Member 0,N ↔ Notice 1,1; Card – Notice (renews/expiry 0,N).
4. Chuyên biệt hóa/Tổng quát hóa & trừu tượng hóa khác
Member ⊇ {Professor, RegularMember} (disjoint, partial):
o RegularMember: loan_period=21, grace=7.
o Professor: loan_period=90, grace=14, renew notice gửi campus.
Staff có thể chuyên biệt theo vai trò (Chief, DeptAssociate, Reference, Checkout, Assistant).
5. Ràng buộc ngữ nghĩa (tách riêng)
• Giới hạn mượn: mỗi Member tối đa 5 sách chưa trả.
• Kỳ hạn & ân hạn: Regular 21+7 ngày; Professor 90+14 ngày.
• Cấm mượn với NonCirculatingTitle.
• ISBN duy nhất định danh Title; không dùng title_name làm khóa. Tính đơn trị theo
thời điểm: mỗi Volume tối đa 1 loan active.
• Thông báo & gia hạn thẻ: gửi 1 tháng trước ngày hết hạn; Professor gửi về campus address.
• Professor auto-member khi có hồ sơ nhân sự mới (tạo card & gửi campus).
6. Chi tiết ảnh hưởng thiết kế (không thuộc khái niệm)
• Quy mô: 16k members, 100k titles, 250k volumes, ~10% on loan.
• Tần suất mượn (top 1%, top 10%, 20% inactive, 5% overdue/never returned). 7. Sơ đồ EER lOMoAR cPSD| 61463864
Câu 4.20: Thiết kế một cơ sở dữ liệu để theo dõi thông tin cho một bảo tàng nghệ thuật. Giả sử
các yêu cầu sau đã được thu thập:
■ Bảo tàng có một bộ sưu tập ART_OBJECTS. Mỗi ART_OBJECT có một mã số nhận dạng (Id_no)
duy nhất, an Artist (nếu biết), a Year (khi tác phẩm được tạo ra, nếu biết), a Title, và a Description.
Các tác phẩm nghệ thuật được phân loại theo nhiều cách, như được thảo luận bên dưới.
■ ART_OBJECTS được phân loại dựa trên loại của chúng. Có ba loại chính— PAINTING,
SCULPTURE, and STATUE—cộng thêm một loại khác được gọi là OTHER để chứa các tác phẩm
không thuộc một trong ba loại chính.
■ A PAINTING có Paint_type (oil, watercolor, etc.), chất liệu mà nó được vẽ Drawn_on (paper,
canvas, wood, etc.), và Style (modern, abstract, etc.).
■ A SCULPTURE hoặc một bức tượng có Vật liệu tạo ra nó Material (wood, stone, etc.), Height, Weight, and Style.
■ Một tác phẩm nghệ thuật trong danh mục OTHER có Type (print, photo, etc.) and Style.
■ ART_OBJECTs được phân loại thành PERMANENT_COLLECTION (các tác phẩm thuộc sở hữu của
bảo tàng) và BORROWED. Thông tin được ghi lại về các tác phẩm trong PERMANENT_COLLECTION bao gồm Date_acquired,
Status (on display, on loan, or stored), and Cost. Thông tin được ghi lại về các
tác phẩm BORROWED bao gồm borrowed, Date_borrowed, and Date_returned.
■ Thông tin mô tả quốc gia hoặc nền văn hóa Origin (Italian, Egyptian, American, Indian, and so
forth) và Epoch (Renaissance, Modern, Ancient, and so forth) được ghi lại cho mỗi ART_OBJECT.
■ Bảo tàng lưu giữ thông tin của ARTIST, nếu biết: Name, DateBorn (if known), Date_died (if not
living), Country_of_origin, Epoch, Main_style, and Description. The Name là duy nhất. lOMoAR cPSD| 61463864
■ Nhiều EXHIBITIONS diễn ra, mỗi triển lãm có Name, Start_date, and End_date. EXHIBITIONS
liên quan đến tất cả các tác phẩm nghệ thuật đã được trưng bày trongtriển lãm.
■ Thông tin được lưu giữ về các COLLECTIONS khác mà bảo tàng tương tác; thông tin này bao gồm
Name (unique), Type (museum, personal, etc.), Description, Address, Phone, and current Contact_person.
Vẽ sơ đồ lược đồ EER cho ứng dụng này. Thảo luận về bất kỳ giả định nào bạn đưa ra, sau đó giải
thích các lựa chọn thiết kế EER của bạn.
1. Phân tích yêu cầu
• Danh từ (thực thể/thuộc tính) o ArtObject: Id_no, Title, Year, Description
o Phân loại theo loại tác phẩm: Painting, Sculpture, Statue,
OtherType o Phân loại theo sở hữu: PermanentCollection, Borrowed
o Artist: Name*, Date_born, Date_died, Country_of_origin,
Epoch, Main_style, Description o Origin (quốc gia/nền văn hóa), Epoch (thời
kỳ) – gắn cho mỗi
ArtObject o Exhibition: Name*, Start_date, End_date
o Collection: Name*, Type, Description, Address, Phone, Contact_person
• Động từ (mối quan hệ) o Artist created ArtObject
o ArtObject has_origin Origin; has_epoch Epoch o Exhibition
exhibits ArtObject o Borrowed borrowed_from Collection
• Quy tắc, ràng buộc nổi bật o Name của Artist và Collection là duy nhất. o Mỗi
ArtObject vừa có một loại (type), vừa có một trạng thái sở hữu (ownership).
2. Xác định loại thực thể & thuộc tính (mạnh/yếu) + khóa
Thực thể mạnh o ArtObject: PK= Id_no
o Artist: PK= Name o Origin: PK= origin_code o Epoch: PK=
epoch_code o Collection: PK= Name o Exhibition: PK= Name lOMoAR cPSD| 61463864
3. Loại mối quan hệ & ràng buộc (min,max) Artist — created — ArtObject: o Artist (1, N)
↔ ArtObject (0, 1) ArtObject — has_origin — Origin: o Origin (1, N) ↔ ArtObject (1,
1) ArtObject — has_epoch — Epoch: o Epoch (1, N) ↔ ArtObject (1, 1)
• Exhibition — exhibits — ArtObject:
o M:N (một triển lãm nhiều tác phẩm; một tác phẩm có thể xuất hiện ở nhiều triển lãm)
• Borrowed — borrowed_from — Collection:
o Borrowed (1, 1) ↔ Collection (1, N)
4. Chuyên biệt hóa/Tổng quát hóa & trừu tượng hóa khác
• ArtObject ⊇ {Painting, Sculpture, Statue, OtherType}
• ArtObject ⊇ {PermanentCollection, Borrowed}
5. Ràng buộc ngữ nghĩa (tách riêng) Ngày tháng hợp lệ:
o Exhibition: Start_date ≤ End_date. o Borrowed: Date_borrowed ≤ Date_returned (nếu có).
o Artist: Date_born ≤ Date_died (nếu có).
• Khóa tự nhiên duy nhất: Artist.Name, Collection.Name duy nhất.
6. Chi tiết ảnh hưởng thiết kế (không thuộc khái niệm)
• Quy mô số lượng tác phẩm, số triển lãm/năm, tần suất mượn/trao đổi → ảnh hưởng chỉ mục và phân vùng.
• Định dạng địa chỉ/điện thoại của Collection → lớp ứng dụng/validation. 7. Sơ đồ EER lOMoAR cPSD| 61463864
Câu 4.27: Hãy xem xét sơ đồ EER sau đây mô tả hệ thống máy tính tại một công ty. Hãy
cung cấp các thuộc tính và khóa của riêng bạn cho từng loại thực thể. Hãy cung cấp các
ràng buộc về số lượng tối đa để giải thích cho lựa chọn của bạn. Viết một mô tả tường
thuật đầy đủ về những gì sơ đồ EER này thể hiện.
1. Phân tích sơ đồ EER a. Các thực thể
• COMPUTER (siêu thực thể) có các chuyên biệt hóa o LAPTOP (con của
COMPUTER) o DESKTOP (con của COMPUTER) • OPERATING_SYSTEM • SOFTWARE
• COMPONENT có các chuyên biệt hóa o MEMORY o VIDEO_CARD o SOUND_CARD
• ACCESSORY (siêu thực thể phụ kiện). Các chuyên biệt hóa: o KEYBOARD o MOUSE o MONITOR
b. Các mối quan hệ
• SOLD_WITH: COMPUTER – ACCESSORY
• INSTALLED: COMPUTER – SOFTWARE
• INSTALLED_OS: COMPUTER – OPERATING_SYSTEM lOMoAR cPSD| 61463864
• MEM_OPTIONS: LAPTOP – MEMORY
• OPTIONS: DESKTOP – COMPONENT
• SUPPORTS: SOFTWARE – COMPONENT
c. Các trừu tượng hóa
• COMPUTER → {LAPTOP, DESKTOP} {disjoint, total)
• ACCESSORY → {KEYBOARD, MONITOR, MOUSE} {disjoint, partial}
• COMPONENT → {MEMORY, SOUND_CARD, VIDEO_CARD} {disjoint, partial)
2. Thuộc tính liên kết và khóa
• COMPUTER (ComputerID, Brand, Model, PurchaseDate, Price,
EmployeeAssigned, Location, Status)
• LAPTOP (ComputerID, Battery, Weight, ScreenSize)
• DESKTOP (ComputerID, FormFactor, PowerSupply)
• ACCESSORY (AccessoryID, Brand, Model, WarrantyPeriod)
• KEYBOARD (AccessoryID, Layout, ConnectionType)
• MONITOR ( AccessoryID , ScreenSize, Resolution)
• MOUSE (AccessoryID, DPI, ConnectionType)
• COMPONENT (ComponentID, Model, Manufacturer, InstalledDate)
• MEMORY ( ComponentID , Capicity, Type)
• SOUND_CARD (ComponentID, Channels, SamplingRate)
• VIDEO_CARD (ComponentID, Chipset, VramGB)
• SOFTWARE (SoftwareID, Name, Vendor, Version, LicenseKey, LicenseExpiryDate)
• OPERATING_SYSTEM(OSID, Name, Version, Arch, LicenseKey, LicenseExpiryDate )
3. Xác định các ràng buộc tối đa (min/max)
• COMPUTER (0,N) – ACCESSORY(0,N) trong SOLD_WITH o Một máy tính
có thể đi kèm nhiều phụ kiện
• COMPUTER(1,N) – SOFTWARE(1,N) trong INSTALLED o Một máy tính có
thể tải nhiều phần mềm và phần mềm có thể chạy trên nhiều máy • COMPUTER(1,N) – OPERATING_OS(0,N) trong INSTALLED_OS
o Một máy tính có ít nhất 1 hệ điều hành để chạy tại
1 thời điểm nhưng vẫn có thể chạy song song
• DESKTOP(1,N) – COMPONENT(0,N) trong OPTIONS o Desktop có thể có
nhiều linh kiện đi kèm, và mỗi linh kiện có thể gắn cho nhiều desktop lOMoAR cPSD| 61463864
• LAPTOP(1,N) – MEMORY(0,1) trong MEM_OPTIONS o Laptop có nhiều
lựa chọn bộ nhớ và một bộ nhớ chỉ gắn cho một laptop tại 1 thời điểm
• SOFTWARE(1,N) – COMPONENT(1,N) trong SUPPORT o Một phần mềm
cần nhiều linh kiện hỗ trợ và một linh kiện có thể hỗ trợ nhiều phần mềm
4. Mô tả tường thuật
Hệ thống quản lý tài sản CNTT mô hình hóa trọn vẹn các thành phần và quan hệ quanh
một COMPUTER trong công ty. Mỗi máy được chuyên biệt hóa disjoint, total thành
LAPTOP (mô tả bằng dung lượng pin, trọng lượng, kích thước màn hình) hoặc DESKTOP
(loại case, công suất nguồn), giúp chuẩn hóa cấu hình và chính sách bảo trì. Ở tầng phần
mềm, mỗi máy bắt buộc có đúng một hệ điều hành đang hoạt động nhưng có thể cài
nhiều ứng dụng; đồng thời, qua quan hệ “supports”, hệ thống ghi nhận các yêu cầu/khả
năng tương thích giữa phần mềm và phần cứng (ví dụ ứng dụng đồ họa đòi hỏi GPU
chuyên dụng hoặc driver tối thiểu). Ở tầng phần cứng rời, desktop có thể gắn nhiều linh
kiện (RAM, video card, sound card…), còn laptop chỉ cho phép tùy chọn 1–2 thanh RAM
theo số khe thực tế; mỗi linh kiện là một tài sản vật lý có serial và tại một thời điểm chỉ
gắn với một máy. Nhóm phụ kiện (bàn phím, chuột, màn hình) được quản lý thành thực
thể riêng, có lịch sử gán–trả: theo thời gian có thể luân chuyển qua nhiều máy, nhưng ở
một thời điểm thuộc về một máy duy nhất. Nhờ cấu trúc EER này, doanh nghiệp theo dõi
tập trung từ phần cứng, linh kiện, phụ kiện đến phần mềm và bản quyền, dựng được lịch
sử cấp phát–bảo trì, kiểm soát tính tương thích khi nâng cấp hoặc triển khai ứng dụng
mới, và tối ưu hiệu quả khai thác toàn bộ hạ tầng CNTT.
5. Tinh chỉnh sơ đồ EER lOMoAR cPSD| 61463864
6. Kiểm tra và hoàn thiện
• Ta bổ sung thêm các thuộc tính: EmployeeAssigned, Location, Status vào thực
thể COMPUTER để cho biết máy đó được giao cho nhân viên nào, ở phòng
ban nào và tình trạng của máy đó ra sao.
• Thuộc tính: WarrantyPeriod vào thực thể ACCESSORY để biết thời gian bảo
hành của phụ kiện đó.
• Thuộc tính LicenseExpiryDate vào thực thể SOFTWARE và
OPERATING_SYSTEM để biết ngày hết hạn giấy phép của phần mền và hệ điều hành Câu 4.28 lOMoAR cPSD| 61463864
Hãy xem xét một cơ sở dữ liệu GRADE_BOOK, trong đó các giảng viên trong một khoa ghi lại
điểm số của từng sinh viên trong lớp học của họ. Các yêu cầu về dữ liệu được tóm tắt như sau:
■ Mỗi sinh viên được xác định bằng một mã định danh duy nhất, họ tên và địa chỉ email.
■ Mỗi giảng viên giảng dạy một số khóa học nhất định trong mỗi học kỳ. Mỗi khóa học được
xác định bằng mã khóa học, mã môn học và học kỳ mà khóa học đó được giảng dạy. Đối với
mỗi khóa học mà mình giảng dạy, giảng viên sẽ chỉ định số điểm tối thiểu cần thiết để đạt
được điểm chữ A, B, C, D và F. Ví dụ: 90 điểm cho điểm A, 80 điểm cho điểm B, 70 điểm cho điểm C, v.v.
■ Sinh viên được ghi danh vào mỗi khóa học do giảng viên giảng dạy.
■ Mỗi khóa học có một số thành phần chấm điểm (chẳng hạn như bài kiểm tra giữa kỳ, bài
kiểm tra cuối kỳ, dự án, v.v.). Mỗi thành phần chấm điểm có số điểm tối đa (chẳng hạn như
100 hoặc 50) và trọng số (chẳng hạn như 20% hoặc 10%). Tổng trọng số của tất cả các thành
phần chấm điểm của một khóa học thường là 100.
■ Cuối cùng, giảng viên ghi lại điểm mà mỗi sinh viên đạt được trong mỗi thành phần chấm
điểm của mỗi khóa học. Ví dụ, sinh viên 1234 đạt 84 điểm cho thành phần chấm điểm giữa
kỳ của môn học CSc2310, phần 2, trong học kỳ mùa thu năm 2009. Thành phần chấm điểm
giữa kỳ có thể đã được xác định là có tối đa 100 điểm và trọng số bằng 20% điểm của khóa học.
Thiết kế một sơ đồ thực thể - quan hệ nâng cao cho cơ sở dữ liệu sổ điểm và xây dựng thiết
kế bằng công cụ mô hình hóa dữ liệu như ERwin hoặc Rational Rose.
1. Các thực thể và thuộc tính
• STUDENT(StudentID, LastName, FirstName, Email)
• INSTRUCTOR(InstructorID, LastName, FirstName, Email)
• COURSE(Course_number, Section_number, Term, MinPointA, MinPointB,
MinPointC, MinPointD, MinPointF)
• GRADING_COMPONENT(ComponentID, Name, Weight, Max_point)
2. Xác định ràng buộc
• INSTRUCTOR(1,N) – COURSE(1,1) trong TEACH
o Mỗi giảng viên dạy nhiều môn và một môn chỉ do một giảng viên đảm nhiệm.
• STUDENT(0,N) – COURSE(0,N) trong ENROLL lOMoAR cPSD| 61463864
o Sinh viên đăng ký nhiều môn trong một kỳ và một môn có nhiều sinh viên theo học.
• COURSE(1,N) – GRADING_COMPONENT(1,1) trong HAVE o Một môn
học có nhiều điểm thành phần
• STUDENT(0,N) – GRADING_COMPONENT(1,N) trong EARNED_GRADE
o Sinh viên có nhiều thành phần điểm.