1. Trang chủ
  2. » Thể loại khác

Tự luận cơ sở dữ liệu it06 ehou

10 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

TRUNG TÂM ĐÀO TẠO ELEARNING BÀI TẬP MÔN CƠ SỞ DỮ LIỆU Câu 1: Cho Mô hình ER như hình, hãy chuyển sang mô hình quan hệ a. Xác định các kiểu thực thể và thuộc tính trong Mô hình ER đã cho b. Xác định các mối liên kết giữa các kiểu thực thể trong mô hình trên c. Áp dụng các quy tắc chuyển đổi từ mô hình ER sang mô hình quan hệ để xây dựng mô hình quan hệ cho bài toán. Câu 2: Cho các quan hệ: NhanVien(MaNV, HotenNV, Ngaysinh, Gioitinh, ChucVu) CongTrinh(MaCT, TenCT, Ngaykhoicong, Ngayhoanthanh, Kinhphi) NV_CT(MaCT, MANV, Songaycong) Hãy dùng các phép toán đại số quan hệ để thực hiện các yêu cầu sau: a. Cho biết danh sách các công trình có năm hoàn thành là 2010. b. Cho biết danh sách nhân viên nữ và có chức vụ Trưởng phòng c. Cho biết danh sách các nhân viên làm việc cho công trình có tên là Cầu Thăng Long

Trang 1

TRUNG TÂM ĐÀO TẠO

ELEARNING

BÀI TẬP MÔN CƠ SỞ DỮ LIỆU

a. Xác định các kiểu thực thể và thuộc tính trong Mô hình ER đã cho

b. Xác định các mối liên kết giữa các kiểu thực thể trong mô hình trên

c. Áp dụng các quy tắc chuyển đổi từ mô hình ER sang mô hình quan hệ để xây dựng mô hình quan hệ cho bài toán

Câu 2:

Cho các quan hệ:NhanVien(MaNV, HotenNV, Ngaysinh, Gioitinh, ChucVu) CongTrinh(MaCT, TenCT, Ngaykhoicong, Ngayhoanthanh, Kinhphi) NV_CT(MaCT, MANV, Songaycong)

Hãy dùng các phép toán đại số quan hệ để thực hiện các yêu cầu sau:

a Cho biết danh sách các công trình có năm hoàn thành là 2010.b Cho biết danh sách nhân viên nữ và có chức vụ Trưởng phòngc Cho biết danh sách các nhân viên làm việc cho công trình có tên là Cầu Thăng Long

BÀI LÀMI.a

Các kiểu thực thể và thuộc tính:

1 BANK (Ngân hàng)

Câu 1: Cho Mô hình ER như hình, hãy chuyển sang mô hình quan hệ

Trang 2

o Thuộc tính:

 Code (Mã ngân hàng) Name (Tên ngân hàng) Addr (Địa chỉ ngân hàng)2 BRANCH (Chi nhánh)

 Branch_no (Số chi nhánh) Addr (Địa chỉ chi nhánh)3 ACCOUNT (Tài khoản)

 Ssn (Số căn cước)

Trang 3

 Name (Tên khách hàng) Phone (Số điện thoại)

Các mối liên kết giữa các thực thể:

1 BANK liên kết với BRANCH qua mối quan hệ 1-N (Một ngân hàng có

nhiều chi nhánh).2 BRANCH liên kết với ACCOUNT qua mối quan hệ 1-N (Một chi nhánh

có nhiều tài khoản).3 BRANCH liên kết với LOAN qua mối quan hệ 1-N (Một chi nhánh có

nhiều khoản vay).4 ACCOUNT liên kết với CUSTOMER qua mối quan hệ N-M (Một tài

khoản có thể có nhiều khách hàng, và một khách hàng có thể sở hữu nhiều tài khoản)

5 LOAN liên kết với CUSTOMER qua mối quan hệ N-M (Một khoản vay

có thể thuộc về nhiều khách hàng, và một khách hàng có thể có nhiều khoản vay)

I.bphần b - Xác định các mối liên kết giữa các kiểu thực thể trong mô hình ER Mối liên kết giữa các kiểu thực thể:

Mối liên kết giữa BANK và BRANCH (BANK_BRANCH):Mối quan hệ này là 1-N (một ngân hàng có nhiều chi nhánh), được thể hiện qua thuộc tính Branch_no trong bảng BRANCH Mỗi chi nhánh sẽ có một ngân hàng mẹ duy nhất

Mối liên kết giữa BRANCH và ACCOUNT (ACCTS):

Trang 4

Mối quan hệ này là 1-N (một chi nhánh có nhiều tài khoản), được thể hiện qua thuộc tính Acct_no trong bảng ACCOUNT Mỗi tài khoản sẽ thuộc về một chi nhánh.

Mối liên kết giữa BRANCH và LOAN (LOANS):Mối quan hệ này cũng là 1-N (một chi nhánh có nhiều khoản vay), được thể hiệnqua thuộc tính Loan_no trong bảng LOAN Mỗi khoản vay sẽ thuộc về một chi nhánh

Mối liên kết giữa ACCOUNT và CUSTOMER (A_C):Mối quan hệ này là N-M (một tài khoản có thể thuộc về nhiều khách hàng, và một khách hàng có thể có nhiều tài khoản) Điều này được biểu diễn bằng bảng trung gian có chứa các khóa ngoại Acct_no và Ssn (số căn cước khách hàng).Mối liên kết giữa LOAN và CUSTOMER (L_C):

Mối quan hệ này cũng là N-M (một khoản vay có thể thuộc về nhiều khách hàng, và một khách hàng có thể có nhiều khoản vay) Điều này được biểu diễn bằng bảng trung gian có chứa các khóa ngoại Loan_no và Ssn

Tóm tắt các mối quan hệ:BANK - BRANCH: 1-N (Một ngân hàng có nhiều chi nhánh)BRANCH - ACCOUNT: 1-N (Một chi nhánh có nhiều tài khoản)BRANCH - LOAN: 1-N (Một chi nhánh có nhiều khoản vay)ACCOUNT - CUSTOMER: N-M (Một tài khoản có thể thuộc về nhiều khách hàng, và ngược lại)

LOAN - CUSTOMER: N-M (Một khoản vay có thể thuộc về nhiều khách hàng, và ngược lại)

Áp dụng các quy tắc chuyển đổi từ mô hình ER sang mô hình quan hệ để xây dựng mô hình quan hệ cho bài toán.

Trang 5

Quy tắc chuyển đổi từ mô hình ER sang mô hình quan hệ:

Dựa trên các thực thể và mối quan hệ đã xác định trong mô hình ER, mình sẽ chuyển đổi sang mô hình quan hệ như sau:

1 BANK (Ngân hàng):

o Bảng chứa các thông tin về ngân hàng

BANK(Code, Name, Addr)o Code là khóa chính (Primary Key).

2 BRANCH (Chi nhánh):

o Bảng chứa các thông tin về chi nhánh Mỗi chi nhánh thuộc về một

ngân hàng thông qua khóa ngoại Code.

BRANCH(Branch_no, Addr, Code)o Branch_no là khóa chính.

o Code là khóa ngoại liên kết đến bảng BANK.

3 ACCOUNT (Tài khoản):

o Bảng chứa thông tin về tài khoản Mỗi tài khoản thuộc về một chi

nhánh thông qua khóa ngoại Branch_no.

Trang 6

ACCOUNT(Acct_no, Balance, Type, Branch_no)o Acct_no là khóa chính.

o Branch_no là khóa ngoại liên kết đến bảng BRANCH.

4 LOAN (Khoản vay):

o Bảng chứa thông tin về khoản vay Mỗi khoản vay thuộc về một chi

nhánh thông qua khóa ngoại Branch_no.

LOAN(Loan_no, Amount, Type, Branch_no)o Loan_no là khóa chính.

o Branch_no là khóa ngoại liên kết đến bảng BRANCH.

5 CUSTOMER (Khách hàng):

o Bảng chứa thông tin về khách hàng

CUSTOMER(Ssn, Name, Phone, Addr)o Ssn là khóa chính.

6 ACCOUNT_CUSTOMER (Liên kết N-M giữa ACCOUNT và

CUSTOMER):o Bảng trung gian để thể hiện mối quan hệ nhiều-nhiều giữa khách hàng và tài khoản

Trang 7

ACCOUNT_CUSTOMER(Acct_no, Ssn)o Acct_no là khóa ngoại liên kết đến bảng ACCOUNT.

o Ssn là khóa ngoại liên kết đến bảng CUSTOMER.

o Cả Acct_no và Ssn kết hợp tạo thành khóa chính.

7 LOAN_CUSTOMER (Liên kết N-M giữa LOAN và CUSTOMER):

o Bảng trung gian để thể hiện mối quan hệ nhiều-nhiều giữa khách hàng và khoản vay

LOAN_CUSTOMER(Loan_no, Ssn)o Loan_no là khóa ngoại liên kết đến bảng LOAN.

o Ssn là khóa ngoại liên kết đến bảng CUSTOMER.

o Cả Loan_no và Ssn kết hợp tạo thành khóa chính.Mô hình quan hệ hoàn chỉnh:

1 BANK(Code, Name, Addr)

2 BRANCH(Branch_no, Addr, Code)

3 ACCOUNT(Acct_no, Balance, Type, Branch_no)

4 LOAN(Loan_no, Amount, Type, Branch_no)

5 CUSTOMER(Ssn, Name, Phone, Addr)

6 ACCOUNT_CUSTOMER(Acct_no, Ssn)

Trang 8

7 LOAN_CUSTOMER(Loan_no, Ssn)Giải thích:

Các bảng BANK, BRANCH, ACCOUNT, LOAN, CUSTOMER là các

bảng chính để lưu trữ thông tin về ngân hàng, chi nhánh, tài khoản, khoản vay, và khách hàng tương ứng

Bảng trung gian ACCOUNT_CUSTOMER và LOAN_CUSTOMER

được sử dụng để lưu trữ mối quan hệ nhiều-nhiều giữa tài khoản và khách hàng, cũng như giữa khoản vay và khách hàng

Câu 2:

Câu 2:

Cho các quan hệ: NhanVien (MaNV, HotenNV, Ngaysinh, Gioitinh, ChucVu)

CongTrinh (MaCT, TenCT, Ngaykhoicong, Ngayhoanthanh, Kinhphi)

NV_CT (MaCT, MaNV, Songaycong)

Sử dụng các phép toán đại số quan hệ để thực hiện các yêu cầu sau:

a Cho biết danh sách các công trình có năm hoàn thành là 2010Dùng phép SELECT để lọc các công trình có năm hoàn thành là 2010:

π TenCT (σ Ngayhoanthanh = '2010' (CongTrinh)) Giải thích:

o Phép σ (select) được dùng để chọn các hàng có điều kiện Ngayhoanthanh = '2010'.

o Sau đó, dùng phép π (projection) để lấy danh sách tên công trình TenCT từ kết quả đã lọc.

Trang 9

b Cho biết danh sách nhân viên nữ và có chức vụ Trưởng phòngDùng phép SELECT để lọc các nhân viên nữ và có chức vụ Trưởng phòng:

π HotenNV (σ Gioitinh = 'Nữ' ∧ ChucVu = 'Trưởng phòng' (NhanVien)) Giải thích:

o Phép σ (select) được dùng để chọn các nhân viên có điều kiện Gioitinh = 'Nữ' và ChucVu = 'Trưởng phòng'.

o Sau đó, dùng phép π (projection) để lấy danh sách tên nhân viên HotenNV từ kết quả đã lọc.

c Cho biết danh sách các nhân viên làm việc cho công trình có tên là Cầu Thăng Long

Đầu tiên, ta cần lọc công trình có tên là "Cầu Thăng Long", sau đó tìm nhân viên

làm việc cho công trình đó Dùng phép JOIN giữa các bảng CongTrinh, NV_CT, và NhanVien:

π HotenNV (σ TenCT = 'Cầu Thăng Long' (CongTrinh) ⨝ NV_CT ⨝ NhanVien)

Giải thích:

o Phép σ (select) được dùng để lọc công trình có tên TenCT = 'Cầu Thăng Long'.

Trang 10

o Sau đó, dùng phép ⨝ (natural join) để kết hợp bảng CongTrinh, NV_CT, và NhanVien thông qua khóa ngoại MaCT và MaNV.

o Cuối cùng, dùng phép π (projection) để lấy tên các nhân viên HotenNV từ kết quả đã kết hợp.

Tóm tắt câu trả lời:

1 Danh sách công trình hoàn thành năm 2010:

π TenCT (σ Ngayhoanthanh = '2010' (CongTrinh))2 Danh sách nhân viên nữ và có chức vụ Trưởng phòng:

π HotenNV (σ Gioitinh = 'Nữ' ∧ ChucVu = 'Trưởng phòng' (NhanVien))3 Danh sách nhân viên làm việc cho công trình Cầu Thăng Long:

π HotenNV (σ TenCT = 'Cầu Thăng Long' (CongTrinh) ⨝ NV_CT ⨝ NhanVien)

Ngày đăng: 21/09/2024, 14:07

w