intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Vu Dat Dat | Ngày: | Loại File: PDF | Số trang:13

1.311
lượt xem
246
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tài liệu ôn tập môn cơ sở dữ liệu gồm các dạng bài tập Kiểm tra dạng chuẩn của lược đồ quan hệ. Mời các bạn cùng tham khảo học tập.

Chủ đề:
Lưu

Nội dung Text: Kiểm tra dạng chuẩn của lược đồ quan hệ

  1. 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}
  2. 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ả…
  3. 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
  4. (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
  5. 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
  6. (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ì?
  7. 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ì?
  8. 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
  9. (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
  10. 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
  11. 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
  12. 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.
  13. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2