Kiểm tra dạng chuẩn của lược đồ quan hệ
Bài 1
Cho biết các dạng chuẩn của lược đồ quan hệ sau
a) R=ABCDEG; F={A→BC, C→DE, E→G}
b) R=ABCDEG; F={C→AB, D→E, B→G}
c) R=ABCDEGH; F={A→BC, D→E, H→G}
d) R=ABCDEG; F={AB→C, C→B, ABD→E, G→A}
Bài 2
Kiểm tra các dạng chuẩn
a) R=ABCD; F={CA→D, A→B}
b) R=SDIM; F={SI→D, SD→M}
e) R=SNDTX; F={S→N, S→D, S→T, S→X}
d) R=ABCDEGHI; F={AC→B, BI→ACD, ABC→D, H→I, ACE→BCG,
CG→AE}
Chuẩn hóa lược đồ quan hệ
Bài 1
Chuẩn hóa lược đồ quan hệ sau về dạng 3NF vừa bảo toàn tập phụ thuộc
hàm vừa bảo toàn thông tin.
a) R=ABC; F={A→B, A→C, B→A, C→A, B→C}
b) R=ABCD; F={A→C,C→A, CB→D, AD→B, CD→B, AB→D}
c) R=ABCDGH; F={GH→AD, AG→B, CD→GH, C→A, BH→C}
Bài 2
Chuẩn hóa lược đồ quan hệ sau về dạng BNF
a) R=SDIM; F={SI→D, SD→M}
b) R=ABCD; F={A→B, B→C, D→B}
Kiểm tra bảo toàn tập phụ thuộc hàm và bảo toàn thông tin
Bài 1
Cho lược đồ quan hệ R=ABCDE
Tập phụ thuộc hàm F={A → C, B → C, C → D, DE → C, CE → A}
Phép tách
lược đồ thành các lược đồ con: R1=AD, R2=AB, R3=BE,
R4=CDE, R5=AE.
Kiểm tra phép tách có mất mát thông tin hay không ?
Bài 2
Cho lược đồ quan hệ R=ABCD
Tập phụ thuộc hàm F={A→B, B→C, A→D, D→C}
Phép tách lược đồ thành các lược đồ con : R1=AB, R2=AC, R3=BD
Kiểm tra phép tách có bảo toàn thông tin hay không?
Kiểm tra phép tách có bảo toàn tập phụ thuộc hàm với F ?
Bài 3
Cho lược đồ quan hệ R=ABCDEH
Tập phụ thuộc hàm F={C →ADEH, A →B, DEH →A}
Phép tách lược đồ thành các lược đồ con: R1=AB, R2 =CDEH, R3=DEHA
Kiểm tra phép tách có mất mát thông tin hay không ?
Xây dựng mô hình quan hệ cho cơ sở dữ liệu
Bài 1
Có các mô tả sau về CSDL “THƯ VIỆN”:
a) Thư viện được chia ra thành các nhánh. Thông tin về mỗi nhánh gồm có
Mã nhánh, Tên nhánh và Địa chỉ.
b) Mỗi cuốn sách trong thư viện có các thông tin về Mã sách, Tên sách Nhà
xuất bản và Tác giả…
c) Một tác giả có thể viết nhiều cuốn sách. Một cuốn sách có thể có nhiều
tác giả viết.
d) Một nhà xuất bản xuất bản nhiều cuốn sách. Một cuốn sách do một nhà
xuất bản xuất bản. Thông tin về Nhà xuất bản gồm có Tên NXB, Địa chỉ
NXB và Số điện thoại NXB.
e) Một cuốn sách có thể có nhiều bản sao được lưu trữ tại các nhánh. Thông
tin về bản sao sách gồm Mã sách, số các bản sao.
f) Thư viện có những người mượn sách. Thông tin về những người mượn
sách gồm có Số thẻ, Họ tên, Địa chỉ và Số điện thoại.
g) Sách được cho các người mượn mượn tại các nhánh. Thông tin về một
lần mượn gồm có Ngày mượn và ngày trả.
Hãy xây dựng lược đồ quan hệ cho CSDL “THƯ VIỆN ” từ các mô tả nói
trên.
Bài tập Access
Với các bảng cơ sở đã tạo trong bài tập SQL, dùng giao diện Design View
để tạo thêm các ràng buộc đối với các trường dữ liệu trên từng bảng như sau.
Bảng CHI_NHANH
(MA_NHANH, TEN_NHANH, DIA_CHI)
Tên cột
Kiểu dữ liệu
Độ dài xâu Ràng buộc khác
MA_NHANH
Char
10
TEN_NHANH Varchar
50
DIA_CHI
80
Bảng SACH
Varchar
Khóa chính. Bắt đầu bằng ký tự N
và sau đó là chữ số
(MA_SACH, TEN_SACH, MA_NHA_XB)
Tên cột
Kiểu dữ liệu
Độ dài xâu
Ràng buộc khác
MA_SACH
Char
10
Khóa chính. Mã
chỉ gồm ký tự in
hoa và chữ số.
TEN_SACH
Varchar
50
MA_NHA_XB
Char
10
Khóa ngoài. Giá
trị phải tồn tại
trong
bảng
NHA_XUAT_BAN
Bảng TAC_GIA
(MA_TG, TEN_TG, NAM_SINH, NAM_MAT)
Tên cột
Kiểu dữ liệu
Độ dài xâu
Ràng buộc khác
MA_TG
Char
10
Khóa chính. Bắt đầu
bằng hai chữ cái TG
sau đó là chữ số
TEN_TG
Varchar
50
NAM_SINH
Date
NAM_MAT
Date
Định dạng ShortDate,
Nhất thiết phai nhập
giá trị
Bảng SANG_TAC
(MA_SACH, MA_TG)
Tên cột
Kiểu dữ liệu
Độ dài xâu
Ràng buộc khác
MA_SACH
Char
10
Khóa chính. Giá
trị phải tồn tại
trong bảng SACH
MA_TG
Char
10
Khóa chính. Giá
trị phải tồn tại
trong
bảng
TAC_GIA
Bảng NHA_XUAT_BAN
(MA_NHA_XB, TEN_NHA_XB, DIA_CHI, DIEN_THOAI)
Tên cột
Kiểu dữ liệu
Độ dài xâu
Ràng buộc khác
MA_NHA_XB
Char
10
Khóa chính. Bắt
đầu bằng hai chữ
cái in hoa XB
TEN_NHA_XB
Varchar
50
DIA_CHI
Varchar
80
DIEN_THOAI
Char
10
Chỉ gồm chữ số và
dấu cách
Bảng BAN_SAO
(MA_SACH, MA_NHANH, SO_BAN_SAO)
Tên cột
Kiểu dữ liệu
Độ dài xâu
Ràng buộc khác
MA_SACH
Char
10
Khóa chính. Giá
trị phải tồn tại
trong bảng SACH
MA_NHANH
Char
10
Khóa chính. Giá
trị phải tồn tại
trong
bảng
CHI_NHANH
SO_BAN_SAO
Number
Bảng DOC_GIA
Không quá 100
(SO_THE, HO_TEN, DIA_CHI, DIEN_THOAI)
Tên cột
Kiểu dữ liệu
Độ dài xâu
Ràng buộc khác
SO_THE
Char
10
Khóa chính. Bắt
đầu băng 3 chữ
cái in hoa TTV
sau đó là chữ số.
HO_TEN
Varchar
50
DIA_CHI
Varchar
80
DIEN_THOAI
Char
10
Chỉ gồm chữ số và
dấu cách
Bảng MUON
(SO_THE, MA_SACH, MA_NHANH, NGAY_MUON, NGAY_TRA)
Tên cột
Kiểu dữ liệu
Độ dài xâu
Ràng buộc khác
SO_THE
Char
10
Khóa chính. Phải
tồn tại trong bảng
DOC_GIA
MA_SACH
Char
10
Khóa chính. Phải
tồn tại trong bảng
SACH
MA_NHANH
Char
10
Khóa chính. Phải
tồn tại trong bảng
CHI_NHANH
NGAY_MUON
Date
NGAY_TRA
Date
Khóa chính
Điền thông tin vào Khung lưới (Grid) ứng với mỗi yêu cầu truy vấn sau:
1. Để liệt kê các mã sách được mượn trong tháng 5/2008, mục Criteria của
trường NGAY_MUON trong bảng MUON sẽ phải điền thông tin gì?
2. Biết rằng mỗi bản sao của một đầu sách được hỗ trợ 12 nghìn đồng tiền sao
in. Muốn biết được số tiền hỗ trợ việc sao in sách cho từng chi nhánh thì
biểu thức trong mục Field dưới đây phải điền thông tin gì?
3. Muốn biết thông tin (tên tác giả-nhà xuất bản) của một đầu sách với mã sách
được nhập vào khi chạy câu truy vấn thì trong mục Criteria của trường
MA_SACH của bảng SACH cần phải điền thông tin gì?