Tải bản đầy đủ (.pdf) (13 trang)

Kiểm tra dạng chuẩn của lược đồ quan hệ pps

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (556.89 KB, 13 trang )

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: R
1


=AD, R
2
=AB, R
3
=BE,
R
4
=CDE, R
5
=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 : R
1
=AB, R
2
=AC, R
3
=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 Khóa chính. Bắt đầu bằng ký tự N
và sau đó là chữ số
TEN_NHANH Varchar 50
DIA_CHI Varchar 80

Bảng SACH
(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 Định dạng ShortDate,
Nhất thiết phai nhập
giá trị
NAM_MAT Date

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 Không quá 100

Bảng DOC_GIA
(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 Khóa chính
NGAY_TRA Date

Đ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ì?


4. Giả thiết có một bảng tên BANG_TAM (SACH, TEN_TG, TEN_NHA_XB)
hãy lưu các thông tin trong câu truy vấn trên ra bảng đó bằng cách biến đổi câu
truy vấn trên thành câu truy vấn bổ sung (Append Query), bổ sung dữ liệu vào
BANG_TAM.
5. Hãy thiết kế câu truy vấn QBE (Delete Query) để xoá thông tin về việc mượn
sách của một độc giả với số thẻ được nhập vào từ bàn phím.
6. Hãy thiết kế câu truy vấn QBE cập nhật (Update Query) để cập nhật thông tin
về tên tác giả (tên mới là Huỳnh Ngọ
c Diệp) với tác giả có mã là TG002
7. Hãy thiết kế câu truy vấn QBE để thống kê số lượng các chi nhánh của thư viện
có tại các tỉnh thành.



Bài tập SQL
1. Tạo bảng
Tạo các bảng cơ sở bằng lệnh SQL cho cơ sở dữ liệu Thư viện 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 Khóa chính
TEN_NHANH Varchar 50
DIA_CHI Varchar 80

Bảng SACH
(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
TEN_SACH Varchar 50
MA_NHA_XB Char 10 Khóa ngoài, tham
chiếu tới 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
TEN_TG Varchar 50
NAM_SINH Date
NAM_MAT Date

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
MA_TG Char 10 Khóa chính

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
TEN_NHA_XB Varchar 50
DIA_CHI Varchar 80
DIEN_THOAI Char 10

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
MA_NHANH Char 10 Khóa chính
SO_BAN_SAO Number

Bảng DOC_GIA
(
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
HO_TEN Varchar 50
DIA_CHI Varchar 80
DIEN_THOAI Char 10


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
MA_SACH Char 10 Khóa chính
MA_NHANH Char 10 Khóa chính
NGAY_MUON Date Khóa chính
NGAY_TRA Date

2. Sửa đổi cấu trúc bảng
Tạo các ràng buộc tham chiếu (Khóa ngoài + Xóa lan truyền + Cập nhật lan truyền
giữa các bảng)
Bảng tham chiếu Bảng được tham chiếu
SANG_TAC SACH, TAC_GIA
MUON DOC_GIA, CHI_NHANH, SACH
BAN_SAO SACH, CHI_NHANH
Xóa ràng buộc tham chiếu hiện tại giữa bảng SACH và NHA_XUAT_BAN
Tạo ràng buộc tham chiếu mới với đặc tính xóa lan truyền và cập nhật lan truyền
3. Thêm các bộ giá trị mới

Thêm các bộ giá trị sau vào bảng CHI_NHANH
CHI_NHANH
MA_NHANH TEN_NHANH DIA_CHI
N001 Thư viện Quốc Gia,chi nhánh 1 Hà Nội
N002 Thư viện Quốc Gia, chi nhánh 2 Hà Nội
N003 Thư viện Quốc Gia-, chi nhánh 3 Hồ Chí Minh
N004 Thư viện Quốc Gia, chi nhánh 4 Huế
N005 Thư viện Quốc Gia, chi nhánh 5 Đà Nẵng


Thêm các bộ giá trị sau vào bảng BAN_SAO
BAN_SAO
MA_SACH MA_NHANH SO_BAN_SAO
GT001 N001 4
KH001 N001 10
KH001 N002 5
KH001 N003 6
KH002 N004 7

Thêm các bộ giá trị sau vào bảng SACH
SACH
MA_SACH TEN_SACH MA_NHA_XB
GT001 Giáo trình mạng XB002
KH001 Thế giới quanh ta XB003
KH002 101 Câu hỏi tại sao XB001

Thêm các bộ giá trị sau vào bảng TAC_GIA
TAC_GIA
MA_TG TEN_TG NAM_SINH NAM_MAT
TG001 Trần Duy Nghĩa 1/1/1950
TG002 Phan Ngọc Diệp 1/2/1949

Thêm các bộ giá trị sau vào bảng NHA_XUAT_BAN
NHA_XUAT_BAN
MA_NHA_XB TEN_NHA_XB DIA_CHI DIEN_THOAI
XB001 Lao động Hà Nội

XB002 Thanh niên Hà Nội


XB003 Phụ nữ Hồ Chí Minh


Thêm các bộ giá trị sau vào bảng SANG_TAC
SANG_TAC
MA_TG MA_SACH
TG001 KH001
TG001 KH002
TG002 GT001

Thêm các bộ giá trị sau vào bảng DOC_GIA
DOC_GIA
SO_THE HO_TEN DIA_CHI DIEN_THOAI
TTV001 Bùi Xuân Trường Hà Nội

TTV002 Nguyễn Quang Trung Hồ Chí Minh

TTV003 Nguyễn Thị Hội Huế

TTV004 Phan Đa Phúc Hà Nội

TTV005 Hàn Minh Phương Đà Nẵng


Thêm các bộ giá trị sau vào bảng MUON
MUON
SO_THE MA_SACH MA_NHANH NGAY_MUON NGAY_TRA
TTV001 KH001 N002 5/4/2008
TTV002 KH001 N003 4/3/2008
TTV003 KH002 N004 5/5/2008 7/5/2008

TTV004 KH001 N002 5/4/2008

4. Tìm kiếm thông tin trên csdl thư viện
a. Đưa ra danh sách các đầu sách có trong thư viện. Mỗi đầu sách có những
thông tin ( Tên sách, Tác giả, Nhà xuất bản).
b. Giả sử trường địa chỉ trong bảng CHI_NHANH chỉ lưu thông tin về thành
phố có chi nhánh của thư viện. Hãy đưa ra danh sách tất cả các thành phố
có chi nhánh của thư viện.
c. Thống kê tất cả số bản sao của sách có tên là ‘Thế giới quanh ta’ tại các chi
nhánh ở
Hà Nội
d. Liệt kê danh sách các cuốn sách có mã sách chưa được mượn lần nào.
e. Đưa ra số bản sao của các đầu sách có mã là KH001 có trong nhánh có mã
nhánh là N002
f. Đưa ra số bản sao chưa được mượn của các đầu sách có mã là KH001 tại
nhánh có mã nhánh là N002.
g. Liệt kê danh sách các nhà xuất bản có mã sách có số lượt mượn nhiều nhất
trong tháng 04/ 2008





×