Giáo trình mô đun Hệ quản trị cơ sở dữ liệu (Mới nhất)

PHẦN 1: KIẾN THỨC TỔNG QUAN SQL SERVER

BÀI 1: TỔNG QUAN VỀ MÔ HÌNH CLIENT/ SERVER

Mục tiêu:

- Tiếp cận với mô hình cơ sở dữ liệu Client / Server

- Các đặc trưng của mô hình Client / Server

- Phân tích được các tầng cấu trúc của mô hình Client/Server.

- Phân biệt được các mô hình CSDL

1.1 Các kiến thức tổng quan về CSDL

Một hệ CSDL (DB system) bao gồm một CSDL (Database) và một hệ quản

trị CSDL (DBMS)

CSDL (CSDL) là một tập hợp dữ liệu được tổ chức và lưu trữ theo một cấu

trúc chặt chẽ nhằm phục vụ nhiều đối tượng sử dụng với nhiều mục đích khác

nhau.

Hệ quản trị CSDL (Database Management System - DBMS) là một công cụ

phần mềm tổng quát nhằm hỗ trợ việc lưu trữ, truy xuất và quản trị CSDL. Nó

cung cấp cho người dùng và ứng dụng một môi trường thuận tiện và sử dụng hiệu

quả tài nguyên dữ liệu. Nói cách khác, Hệ quản trị CSDL là phần mềm chuyên

dụng để giải quyết tốt các tình huống mà CSDL đặt ra như: bảo mật, cạnh tranh

trong truy xuất.7

1.2 Các giai đoạn phát triển của một hệ quản trị CSDL.

Những năm 1975-1976, IBM lần đầu tiên đưa ra hệ quản trị CSDL kiểu quan hệ

mang tên SYSTEM-R với ngôn ngữ giao tiếp CSDL là SEQUEL (Structured

English QUEry Language), đó một ngôn ngữ con để thao tác với CSDL.

Năm 1976 ngôn ngữ SEQUEL được cải tiến thành SEQUEL2. Khoảng năm

1978-1979 SEQUEL2 được cải tiến và đổi tên thành Ngôn ngữ truy vấn có cấu

trúc (Structured Query Language - SQL) và cuối năm 1979 được cải tiến thành

SYSTEM-R.

Năm 1986 Viện Tiêu Chuẩn Quốc Gia Mỹ (American National Standards

Institute - ANSI) đã công nhận và chuẩn hóa ngôn ngữ SQL, và sau đó Tổ chức

Tiêu chuẩn Thế giới (International Standards Organization - ISO) cũng đã công

nhận ngôn ngữ này. Đó là chuẩn SQL-86.

Tới nay SQL đã qua 3 lần chuẩn hóa lại (1989, 1992, 1996) để mở rộng các

phép toán và tăng cường khả năng bảo mật và tính toàn vẹn dữ liệu.

Ngôn ngữ CSDL được cài đặt khác nhau đối tùy theo các hệ quản trị CSDL

khác nhau, tuy nhiên đều phải theo một chuẩn (Standard) nhất định. Hiện nay, đa

phần các ngôn ngữ truy vấn CSDL dựa trên chuẩn SQL-92.

pdf155 trang | Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 592 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Giáo trình mô đun Hệ quản trị cơ sở dữ liệu (Mới nhất), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
i mỗi phòng ban, liệt kê tên phòng ban và lương trung bình của những nhân viên làm việc cho phòng ban đó. 29. Với các phòng ban có mức lương trung bình trên 30,000, liệt kê tên phòng ban và số lượng nhân viên của phòng ban đó. 30. Với mỗi phòng ban, cho biết tên phòng ban và số lượng đề án mà phòng ban đó chủ trì 31. Với mỗi phòng ban, cho biết tên phòng ban, họ tên người trưởng phòng và số lượng đề án mà phòng ban đó chủ trì 32. Với mỗi phòng ban có mức lương trung bình lớn hơn 50,000, cho biết tên phòng ban và số lượng đề án mà phòng ban đó chủ trì. 33. Cho biết số đề án diễn ra tại từng địa điểm 34. Với mỗi đề án, cho biết tên đề án và số lượng công việc của đề án này. 35. Với mỗi công việc trong đề án có mã đề án là 20, cho biết số lượng nhân viên được phân công . 3.3 TRUY VẤN LỒNG + GOM NHÓM 36. Cho biết danh sách các đề án (MADA) có: nhân công với họ (HONV) là 'Lê' hoặc có người trưởng phòng chủ trì đề án với họ (HONV) là 'Lê'. 37. Danh sách những nhân viên (HONV, TENLOT, TENNV) có trên 2 thân nhân. 115 38. Danh sách những nhân viên (HONV, TENLOT, TENNV) không có thân nhân nào (dùng NOT IN, LEFT JOIN, NOT EXISTS) 39. Danh sách những trưởng phòng (HONV, TENLOT, TENNV) có tối thiểu một thân nhân. 40. Tìm họ (HONV) của những trưởng phòng chưa có gia đình. 41. Cho biết họ tên nhân viên (HONV, TENLOT, TENNV) có mức lương trên mức lương trung bình của phòng "Nhân sự" 42. Cho biết tên phòng ban và họ tên trưởng phòng của phòng ban có đông nhân viên nhất. 43. Cho biết danh sách các mã đề án mà nhân viên có mã là 60 chưa làm. 44. Danh sách nhân viên gồm MaNv, HovaTen (được nối từ các cột HONV, TENLOT, TENNV) và địa chỉ (DCHI) của những nhân viên làm việc cho một đề án ở 'TP HCM' nhưng phòng ban mà họ trực thuộc lại không tọa lạc ở thành phố 'TP HCM' . 45. Tổng quát câu 16, tìm họ tên và địa chỉ của các nhân viên làm việc cho một đề án ở một thành phố nhưng phòng ban mà họ trực thuộc lại không toạ lạc ở thành phố đó. 3.5 COMPUTE/COMPUTE BY 1. Danh sách nhân viên gồm MaNv, HovaTen (được nối từ các cột HONV, TENLOT, TENNV), Tuổi và tuổi trung bình của các nhân viên trong công ty (dùng COMPUTE) 2. Danh sách các Phòng ban, Tên đề án và tổng lương trung bình phải trả cho mỗi đề án (COMPUTE BY). Lương trung bình được tính từ trung bình của tổng lương_đề án các nhân viên, trong đó lương_đề án của mỗi nhân viên = LUONGx với số giờ làm việc cho mỗi đề án 116 của nhân viên đó. 3.4 PHÉP CHIA 1. Danh sách những nhân viên MaNV, Phái, HoTen được nối từ HONV, TENLOT, TENNV làm việc trong mọi đề án của công ty 2. Danh sách những nhân viên MaNV, Phái, HoTen được nối từ HONV, TENLOT, TENNV được phân công tất cả đề án do phòng số 5 chủ trì. 3. Tìm những nhân viên MaNV, Phái, HoTen (HONV, TENLOT, TENNV) được phân công tất cả đề án mà nhân viên Lê Minh Tính làm việc 4. Cho biết danh sách nhân viên tham gia vào tất cả các đề án ở TP HCM 5. Cho biết phòng ban chủ trì tất cả các đề án ở HaNoi 3.6. UNION/INTERSECT 6. Cho biết những phòng ban có nhân viên tham gia cả 2 dự án ở HaNoi và Tp.HCM. 7. Cho biết những phòng ban có nhân viên tham gia dự án ở Tp.HCM hoặc ở HaNoi. Phần 4: câu lệnh DELETE Lưu ý, việc xóa dữ liệu là công việc cần thận trọng, nên chúng ta ít thao tác trên CSDL với lệnh DELETE, trừ khi loại bỏ dữ liệu tạm. Nên phần này yêu cầu chúng ta phải sao chép dữ liệu trước khi thực hiện các công việc sau: 1. Hãy xóa các nhân viên chưa tham gia đề án nào. 2. Hãy xóa các nhân viên không có thân nhân. Sẽ có nhiều record không xóa được, bạn tìm hiểu tại sao? Ghi trả lời. 117 TỔNG HỢP Bài 1. Tạo CSDL có tên QLNV bao gồm các bảng có cấu trúc như sau: Bảng PHONG lưu trữ thông tin về các phòng ban trong cơ quan. STT Tên trường Kiểu Độ rộng Ý nghĩa 1 MAPHONG Char 3 Mã phòng ban 2 TENPHONG Nvarchar 40 Tên phòng ban 3 DIACHI Nvarchar 50 Địa chỉ phòng ban 4 TEL char 10 Số điện thoại Bảng DMNN lưu trữ danh mục các ngoại ngữ STT Tên trường Kiểu Độ rộng Ý nghĩa 1 MANN Char 2 Mã ngoại ngữ 2 TENNN Nvarchar 20 Tên ngoại ngữ Bảng NHANVIEN lưu trữ thông tin chung về nhân viên STT Tên trường Kiểu Độ rộng Ý nghĩa 1 MANV Char 5 Mã nhân viên 2 HOTEN Nvarchar 40 Họ và tên 3 GIOITINH Char 3 Giới tính 4 NGAYSINH Date/Time Ngày sinh 118 5 LUONG Int Lương chính 6 MAPHONG Char 3 Mã phòng ban 7 SDT Char 10 Số điện thoại 8 NGAYBC Date/Time Ngày vào biên chế Bảng TDNN lưu trữ thông tin về trình độ ngoại ngữ của các nhân viên trong cơ quan. STT Tên trường Kiểu Độ rộng Ý nghĩa 1 MANV Char 5 Mã nhân viên 2 MANN Char 2 Mã ngoại ngữ 3 TDO Char 1 Trình độ ngoại ngữ Ghi chú: Các trường in đậm, gạch chân thuộc khóa chính. Bài 2. Nhập dữ liệu cho các bảng trong cơ sở dữ liệu QLNV theo mẫu sau: Nhập dữ liệu cho bảng PHONG gồm các bản ghi: MAPHONG TENPHONG DIACHI TEL HCA Hành chính tổ hợp 123, Láng Hạ, Đống Đa, Hà Nội 04 8585793 KDA Kinh Doanh 123, Láng Hạ, Đống Đa, Hà Nội 04 8574943 KTA Kỹ thuật 123, Láng Hạ, Đống Đa, Hà Nội 04 9480485 QTA Quản trị 123, Láng Hạ, Đống Đa, Hà Nội 04 8508585 119 Nhập dữ liệu cho bảng DMNN gồm các bản ghi: MANN TENNN 01 Anh 02 Nga 03 Pháp 04 Nhật 05 Trung Quốc 06 Hàn Quốc Nhập dữ liệu cho bảng nhân viên gồm các bản ghi: MAN V HOTEN GIOITI NH NGAYSI NH LUONG MAPHO NG Sd t NGAYB C HC001 Nguyễn Thị Hà Nữ 8/27/1950 2500000 HCA 2/8/1975 HC002 Trần Văn Nam Nam 6/12/1975 3000000 HCA 6/8/1997 HC003 Nguyễn Thanh Huyền Nữ 7/3/1978 1500000 HCA 9/24/1999 KD001 Lê Tuyết Anh Nữ 2/3/1977 2500000 KDA 10/2/2001 KD002 Nguyễn Anh Tú Nam 7/4/1942 2600000 KDA 9/24/1999 KD003 Phạm An Thái Nam 5/9/1977 1600000 KDA 9/24/1999 KD004 Lê Văn Hải Nam 1/2/1976 2700000 KDA 6/8/1997 KD005 Nguyễn Phương Minh Nam 1/2/1980 2000000 KDA 10/2/2001 120 KT001 Trần Đình Khâm Nam 12/2/1981 2700000 KTA 1/1/2005 KT002 Nguyễn Mạnh Hùng Nam 8/16/1980 2300000 KTA 1/1/2005 KT003 Phạm Thanh Sơn Nam 8/20/1984 2000000 KTA 1/1/2005 KT004 Vũ Thị Hoài Nữ 12/5/1980 2500000 KTA 10/2/2001 KT005 Nguyễn Thu Lan Nữ 10/5/1977 3000000 KTA 10/2/2001 KT006 Trần Hoài Nam Nam 7/2/1978 2800000 KTA 6/8/1997 KT00 7 Hoàng Nam Sơn Nam 12/3/19 40 30000 00 KTA 7/2/196 5 KT00 8 Lê Thu Trang Nữ 7/6/195 0 25000 00 KTA 8/2/196 8 KT00 9 Khúc Nam Hải Nam 7/22/19 80 20000 00 KTA 1/1/200 5 KT01 0 Phùng Trung Dũng Nam 8/28/19 78 22000 00 KTA 9/24/19 99 Nhập dữ liệu cho bảng TDNN gồm các bản ghi: MANV MANN TDO MANV MANN TDO HC001 01 A KD004 05 A HC001 02 B KD005 01 B HC002 01 C KD005 02 D 121 HC002 03 C KD005 03 B HC003 01 D KD005 04 B KD001 01 C KT001 01 D KD001 02 B KT001 04 E KD002 01 D KT002 01 C KD002 02 A KT002 02 B KD003 01 B KT003 01 D KD003 02 C KT003 03 C KD004 01 C KT004 01 D KD004 04 A KT005 01 C Bài 3. Viết câu lệnh SQL thực hiện các câu truy vấn sau 1. Đưa ra thông tin của nhân viên có mã số KT001? 2. Hãy sửa họ tên nhân viên trên thành ký tự tiếng Việt (Unicode) 3. Đưa ra danh sách các nhân viên nữ? 4. Tìm những nhân viên có họ ‘Nguyễn’? 5. Đưa ra danh sách các nhân viên có tên chứa từ ‘Văn’ 6. Đưa ra những nhân viên có tuổi dưới 30? (Đưa ra cả thông tin tuổi trong kết quả) 7. Đưa ra danh sách các nhân viên có tuổi nằm trong khoảng 25 đến 30 tuổi? (Đưa ra cả thông tin tuổi trong kết quả) 8. Đưa ra các mã nhân viên đã học các ngoại ngữ 01 ở trình độ C trở lên? 9. Đưa ra danh sách các nhân viên vào biên chế trước năm 2000? 122 10. Đưa ra danh sách các nhân viên đã vào biên chế hơn 10 năm? 11. Đưa ra danh sách các nhân viên năm nay đủ tuổi nghỉ hưu (Nam >=60 tuổi, Nữ >=55 tuổi)? 12. Cho biết thông tin (Mã phòng, tên phòng, điện thoại liên hệ) về các phòng ban? 13. Đưa ra thông tin (họ tên, ngày sinh, ngày vào biên chế) về 2 nhân viên đầu tiên trong bảng nhân viên? 14. Cho biết mã nhân viên, họ tên, ngày sinh, lương của các nhân viên có lương nằm trong khoảng từ 2000000 đồng đến 3000000 đồng? 15. Đưa ra danh sách các nhân viên chưa có số điện thoại? 16. Đưa ra danh sách các nhân viên sinh nhật trong tháng 3 17. Hãy đưa ra danh sách nhân viên theo theo chiều tăng dần của lương? 18. Cho biết lương trung bình của phòng Kinh doanh? 19. Cho biết tổng số nhân viên và trung bình lương phòng Kinh doanh? 20. Cho biết tổng lương của mỗi phòng? 21. Cho biết các phòng có tổng lương lớn hơn 500.0000? 22. Cho biết danh sách mã nhân viên, họ tên, mã phòng và tên phòng họ làm việc? 23. Đưa ra danh sách tất cả các nhân viên cùng với thông tin về phòng ban của họ (kể cả các nhân viên chưa ở phòng nào)? 24. Đưa ra danh sách tất cả các phòng cùng với thông tin về các nhân viên của các phòng (kể cả các phòng chưa có nhân viên nào)? 123 Mở cơ sở dữ liệu QLNV và thực hiện các truy vấn sau: 1. Cho biết địa chỉ, số điện thoại của phòng “Kinh doanh”? 2. Cho biết mã nhân viên, họ tên, ngày vào biên chế của những nhân viên có lương thấp (lương <=1500000)? 3. Sắp xếp danh sách nhân viên trong bảng nhân viên theo thứ tự tăng dần của trường tên nhân viên, nếu tên trùng nhau thì sắp xếp theo thứ tự giảm dần của trường ngày sinh. 4. Đưa ra danh sách nhân viên của phòng “Kỹ thuật”? Thông tin đưa ra gồm mã nhân viên, họ, tên, ngày sinh của nhân viên. 5. Tìm những nhân viên vào biên chế trước ngày 10/2/2001, do phòng “Kỹ thuật” hoặc phòng “Kinh doanh” quản lý. 6. Tìm những nhân viên học tiếng Anh hoặc tiếng Pháp, đạt trình độ từ C trở lên? Thông tin đưa ra gồm mã nhân viên, họ, tên, ngày sinh, tên ngoại ngữ, trình độ ngoại ngữ. 7. Những ngoại ngữ nào chưa có nhân viên học? 8. Những nhân viên nào chưa học bất kỳ một ngoại ngữ nào? 9. Cho biết toàn cơ quan có bao nhiêu nhân viên nữ? 10. Tìm những nhân viên biết từ 3 ngoại ngữ trở lên? Thông tin đưa ra gồm mã nhân viên, họ tên, số ngoại ngữ mà nhân viên này học. 11. Tính tổng lương của mỗi phòng? Thông tin đưa ra gồm mã phòng, tên phòng, tổng lương của phòng đó. 12. Cho biết lương lớn nhất, lương nhỏ nhất, lương trung bình, số nhân viên của mỗi phòng ? 13. Cập nhật lương cho các nhân viên phòng Kỹ thuật thêm 15%. 14. Tạo một bảng có cấu trúc như bảng nhân viên tên là NGHI_HUU để lưu thông tin về các nhân viên đến tuổi nghỉ hưu. Sau đó dùng câu lệnh Insert 124 Select để sao danh sách các nhân viên đến tuổi nghỉ hưu ở bảng NHANVIEN vào bảng nghỉ hưu. (Điều kiện về hưu: Nam từ 60 tuổi trở lên, nữ từ 55 tuổi trở lên). Sau đó, xóa thông tin về các nhân viên này trong bảng NHANVIEN. 15. Thêm các ràng buộc not null, default, unique, primary key, foreignreference vào các bảng trong CSDL QLNV. 125 BÀI 5: LÀM VIỆC VỚI VIEW VÀ TRIGGER Phần 1: VIEWS 1. Viết truy vấn liệt kê tên các nhân viên cùng với các dự án mà nhân viên đó tham gia. Run và kiểm tra kết quả. 2. Tạo một View có tên NV_DA với nội dung truy vấn là câu 1. Mở cửa sổ Object Explorer, xem view vừa tạo lưu ở đâu?. Xem kết quả dữ liệu từ View vừa tạo (SELECT * FROM NV_DA) và so sánh với kết quả ở câu 1; có khác nhau không?. Tại sao? 3. Thêm một dòng tùy ý vào bảng PHANCONG, sau đó thực hiện lệnh SELECT * FROM NV_DA, kết quả có thay đổi so với câu 2 không?. Tại sao? 4. Thực hiện lệnh UPDATE NV_DA SET TENDA = N‘Quản lý các dự án CNTT thông tin’ WHERE TENDA=N’Resort nghỉ dưỡng’ Câu lệnh có thực hiện được không?. Tại sao? Thực hiện câu lệnh: SELECT * FROM NV_DA và SELECT * FROM DEAN để xem sự thay đổi dữ liệu 5. Viết truy vấn hiển thị HoTen của nhân viên, tên dự án nhân viên đó tham gia cùng với tổng tiền lương của nhân viên theo dự án (tiền lương = số giờ * LUONG). Sắp xếp tiền lương tăng dần. Sau đó, thực hiện các yêu cầu sau: a. Tạo một View5a dựa trên query này. Bạn sẽ gặp lỗi, tại sao? b. Hãy hiệu chỉnh để có thể tạo được View5b dựa trên query trên. 6. Tạo View6 gồm các thông tin của bảng DEAN nhưng chỉ lấy các 126 dự án có địa điểm ở Tp.HCM. a. Sửa câu View6 thành View6a có thêm tùy chọn WITH ENCRYPTION. Sử dụng sp_helptext để xem lại mã lệnh. Có xem được không? b. Sửa câu View6 thành View6b có thêm tùy chọn WITH SCHEMABINDING. Bạn cần hiệu chỉnh điều gì để có thể thực thi được view. c. Sửa câu View6 thành View6c có thêm tùy chọn WITH CHECK OPTION. Sau đó thêm một dòng dữ liệu sau thông qua View6c: INSERT View6c VALUES(‘99’,’Xây dựng đường cao tốc LT-DN’, ‘Đồng Nai’,’5’) Bạn có thêm được không, tại sao? Sửa lại dữ liệu để có thể thêm được thông qua View6c. d. Xóa dữ liệu vừa thêm ở câu c thông qua View6c. 7. Tạo 3 bảng DEAN_HCM, DEAN_HANOI, DEAN_VT gồm các cột: MaDA varchar(2) Primary Key, TenDA nvarchar(50), DDIEM_DA varchar(20), PHONG varchar(2). Trong đó : - DEAN_HCM: check contraint của DDIEM_DA là ‘Tp.Hồ Chí Minh’ - DEAN_HANOI: check contraint của DDIEM_DA là ‘Hà Nội’ - DEAN_VT: check contraint của DDIEM_DA là ‘Vũng Tàu’ Thêm vào mỗi bảng 2 record với ràng buộc tương ứng. Tạo một partition view từ 3 bảng dữ liệu trên. Xem kết quả view vừa tạo được. 127 PHẦN 2: USER-DEFINED FUNCTIONS 1. Viết hàm trả về tổng tiền lương trung bình của một phòng ban tùy ý (truyền vào MaPB) 2. Viết hàm trả về tổng lương nhận được của nhân viên theo dự án (truyền vào MaNV và MaDA) 3. Viết hàm trả về tổng tiền lương trung bình của các phòng ban 4. Viết hàm trả về tổng tiền thưởng cho nhân viên dựa vào tổng số giờ tham gia dự án(Time_Total) như sau: - Nếu Time_Total >=30 và <=60 thì tổng tiền thưởng = 500 ($) - Nếu Time_Total >60 và <100 thì tổng tiền thưởng = 1000 ($) - Nếu Time_Total >=100 và <150 thì tổng tiền thưởng =1200($) - Nếu Time_Total >=150 thì tổng tiền thưởng = 1600 ($) 5. Viết hàm trả ra tổng số dự án theo mỗi phòng ban. 6. Viết hàm trả về kết quả là một bảng (Table), viết bằng hai cách: Inline Table-Valued Functions và Multistatement Table- Valued. Thông tin gồm: MaNV, HoTen, NgaySinh, NguoiThan, TongLuongTB. PHẦN 3: TRIGGER 1. Tạo triggers trên bảng nhân viên cho thao tác UPDATE. Khi có thao tác UPDATE xảy ra trên field TENNV thì thông báo cho người dùng ‘Không được cập nhật’ và hủy thao tác. 2. Thêm một cột ToTal_Time vào trong bảng nhân viên. Viết trigger cho thao tác insert, update, delete trên bảng PhanCong. Khi có mẫu tin được thêm vào, hay cập nhật, hay xóa thì ToTal_Time được tính lại tương ứng cho nhân viên được phân công. Lưu ý, giả sử ban đầu ToTal_Time = 0. ToTal_Time là tổng thời gian phân công cho nhân viên của các dự án. 128 3. Tạo trigger cho thao tác insert, update trên bảng Nhanvien để kiểm tra ràng buộc liên thuộc tính giữa ngày sinh và Hire_date, trong đó ngày sinh luôn luôn < Hire_date – 40. (40 là giá trị của datepart ‘yy’). 4. Tạo trigger để kiểm tra thao tác insert trên bảng THANNHAN sao cho số lượng thân nhân được thêm vào tương ứng với một nhân viên không quá 5 người. 129 PHẦN 3: CÂU HỎI TRẮC NGHIỆM 1) Trong câu truy vấn lấy dữ liệu từ hai bảng đã đc gọi là join với nhau , kết quả trả về chỉ gồm các bản ghi nằm trong bảng bên phải . Xác định loại join đc dung trong câu truy vấn trên (chọn1) (1 Mark) A) Outer Join B) Right Outer Join C) Full Join D) Right Inner join 2) Trong mô hình CSDL phân cấp (Hierarchical Database model)_____ dùngđể thiết lập mối quan hệ giữa bảng cha với bảng con (0,5 Mark) A) Dollars B) Pointers C) Line D) Bảng cha và bảng con ko thể thiết lập mối quan hệ 3) Mô hình CSDL mà một bảng con có nhiều bảng cha thuộc loại____(1 Mark) A) Mô hình CSDL (Flat-file Database model) B) Mô hình CSDL phân cấp (Hierarchical Database Model) C) Mô hình CSDL mạng (Network Systems Database Model) 4) Chỉ ra cú pháp để tạo một bảng bằng T-SQL (1 Mark) A) CREATE TABLE () B) CREATE TABLE () C) CREATE TABLE () D) CREATE TABLE () 130 5) Khi muốn xóa bảng Books trong CSDL , cú pháp nào dưới đây đc sử dụng (1 Mark) A) DROP Books B) DROP TABLE Books FROM library C) DROP TABLE Books D) DELETE TABLE Books E) DELETE TABLE Books FROM library 6) Một câu lệnh truy cập vào dữ liệu trong CSDL gọi là____ (0,5 Mark) A) Transaction B) Operation C) Query D) Statement 7) Khi sử dụng bất kỳ hàm tập hợp nào trong câu lệnh SELECT , chỉ nên sử dụng hàm đó trên trường đầu tiên trong câu lệnh SELECT (0,5 Mark) A) Đúng B) Sai 8) Đâu là cú pháp đúng cho hàm AVG (1,5 Mark) A) AVG([DISTINCT] Biểu Thức) B) AVG([ALL|DISTINCT] Biểu Thức) C) AVG(Biểu Thức) D) AVG([ALL]Biểu Thức) E) Tất cả các lựa chọn trên 9) Phát biểu nào dưới đây là đúng về hàm COUNT? (Chọn3) (1,5 Mark) 131 A) Khi sử dụng hàm COUNT trên trường khóa chính luôn trả về kết quả chính xác do trường khóa chính ko có các giá trị null B) Khi đc dung kết hợp với từ khóa DISTINCT , hàm COUNT chỉ đếm những giá trị riêng biệt C) Cú pháp của hàm COUNT chỉ thực hiện trên những trường có kiểu dữ liệu là số D) Cú pháp hàm COUNT là COUNT(Biểu thức) E) Khi sử dụng hàm COUNT trên trường khóa ngoại có thể trả về kết quả không chính xác do trường khóa ngoại có thể có các giá trị null 10) DML viết tắt bởi (0,5 Mark) A) Data Moulding Language B) Data Manipulation Language C) Data Modeling Language D) Data Marketing Language 11) Những kiểu dữ liệu nào dưới đây đc hỗ trợ bởi SQL 2000 (chọn 3) (0,5 Mark) ( SQL 2000 hok quan tâm) A) String B) Char C) Tinyint D) Ntext E) Double 12) Giả sử bạn có 1 bảng tên A , trong bảng đó có trường tên là ‘xyz’ với kiểu dữ liệu là int . Giá trị của tất cả các trường trong 1 bản ghi của bảng đó phải là giá trị số nguyên (0,5 Mark) 132 A) Đúng B) Sai 13) DBMS hỗ trợ hệ thống lưu trữ CSDL tập trung (0,5 Mark) A) Đúng B) Sai 14) Phát biểu nào dưới đây là đúng về Joins (1,5 Mark) A) Join có thể đc sử dụng trong mệnh đề FROM . Trong các truy vấn có mệnh đề WHERE ko đc sử dụng Join B) Trong SQL 2000 các bảng đc join với nhau dựa trên mối quan hệ trên các bảng đó C) Join chỉ ra mối quan hệ giữa 2 bảng D) Khi đc sử dụng , join sẽ loại bỏ khái niệm về quan hệ khóa ngoại giữa các bảng E) Joins chỉ có thể dung trên 2 bảng 15) Đề cập nhật dữ liệu ở mức độ trường , câu lệnh nào dưới đây đc sử dụng (1 Mark) A) UPDATE Table_name, Column_name B) UPDATE Table_name SET (Column_name) C) Column_name UPDATE D) UPDATE Column_name E) UPDATE ( Column_name ) 16) Phát biểu nào dưới đây là sai (Chọn2) (1,5 Mark) 133 A) Outer joins sẽ trả về tất cả các bản ghi của 1 bảng nào đó trong mệnh đề FROM , nếu những bản ghi đó thỏa mãn những điều kiện trong mệnh đề WHERE và HAVING B) Có 4 loại outer joins C) Inner Joins trả về tất cả các bản ghi ngay cả khi ko có bản ghi nào tương ứng với nó trong bảng lien quan D) Inner Joins loại bỏ những bản ghi mà ko có bản ghi nào tương ứng với nó trong bảng liên quan 17) Xác định cú pháp đúng cho LEFT OUTER JOIN (Chọn1) (1,5 Mark) A) LEFT OUTER TABLE SELECT from ON First_Table.=Second_Table. B) SELECT from LEFT OUTER TABLE ON First_Table.=Second_Table. C) SELECT from LEFT OUTER JOIN ON First_Table.=Second_Table. D) SELECT from LEFT OUTER JOIN ON First_Table.=Second_Table. 18) Toàn vẹn thực thể còn đc gọi là_____ (Chọn 1) (0,5 Mark) A) Database Integrity (Toàn vẹn CSDL) B) Table Integrity (Toàn vẹn bảng) 134 C) Column Integrity(Toàn vẹn cột) D) Row Intergrity(Toàn vẹn dòng) 19) Thuật ngữ miền (domain) chỉ ra một tập hợp các giá trị đc phép lưu trữ trong một trường (0,5 Mark) A) Sai B) Đúng 20) Khi phải lựa chọn khóa chính giữa 1 trường đơn và trường phức , tốt hơn nên chọn trường phức (composite key) (0,5 Mark) A) Đúng B) Sai 21) Dữ liệu trong trường khóa chính phải đc thay đổi thường xuyên để đảm bảo tính phân biệt của bản ghi (identity of the row) (0,5 Mark) A) Đúng B) Sai 22) Tìm ra phát biểu đúng (1 Mark) Phát biểu 1 – Bảng đc tạo ra để lưu trữ thực thể Phát biểu 2 – Các trường đc tạo ra để thể hiện các thuộc tính của thực thể A) Phát biểu 2 là đúng B) Phát biểu 1 là đúng C) Cả 2 phát biểu đều đúng D) Không có phát biểu nào đúng 23) Xác định khóa chính và khóa ngoại cho các bảng dưới đây Patient: Patient_Code , Patient_Name , Address , Age , Physician_Code (Bệnh 135 nhân) Prescription : Patient_Code , Drug , date , Amount , Caution , Physician_Code (Đơn thuốc) (1 Mark) A) Physician_Code , Patient_Code B) Patient_Code , Physician_Code C) Patient_Code , date D) Patient_Name , Patient_Code 24) Những yếu tố nào dưới đây đc xem xét trong quá trình xác định khóa chính cho bảng ? (1 Mark) A) Tình đồng bộ và tính chính xác (Concurrency and accuracy) B) Tính tối thiểu và tính ổn định (Minimality and Stability) C) Tính tin cậy và tính đồng bộ (Reliability and concurrency) D) Tính tối thiểu và tính bảo mật (Minimalyti and Security) 25) Tìm ra phát biểu đúng về toàn vẹn tham chiếu ? (Chọn1) (1 Mark) A) Toàn vẹn tham chiếu ko đảm bảo tính nhất quán về giá trị của trường khóa trong các bảng B) Toàn vẹn tham chiếu đảm bảo mối quan hệ giữa các bảng ko bị mất thao tác trên các bản ghi của chúng ta C) Toàn vẹn tham chiếu đảm bảo khi giá trị của trường khóa bị thay đổi , tất cả các tham chiếu đến nó cũng đc thay đổi theo 26) Xác định phát biểu đúng về khóa chính? (Chọn3) (2 Mark) A) Ràng buộc khóa chính có thể đc thay đổi khi cần thiết B) Khi một khóa chính đc tham chiếu bởi 1 khóa ngoại , ta ko thể xóa khóa chính đó C) Một bảng có thể có nhiều hơn 1 khóa chính D) Khóa chính có chức năng phân biệt từng bản ghi trong bảng 136 27) Tìm ra phát biểu đúng ? (chọn2) (1 Mark) A) Để tạo mối quan hệ trên các bảng , các bảng đó phải có cùng số trường và các trường phải giống nhau về kiểu dữ liệu B) Các bảng có quan hệ với nhau dựa trên các trường chung C) Các bảng có quan hệ với nhau phải nằm trong cùng 1 CSDL D) Một mối quan hệ là một sự tương ứng giữa hai bản 28) Toàn vẹn miền (Domain Integrity) trên một bảng có thể được thực hiện bởi bốn cơ chế A) Sai B) Đúng 29) Bảo mật CSDL được thực hiện bởi DBA A) Sai B) Đúng (trang 7) 30) Mô hình CSDL Flat – file gồm nhiều bảng A) Đúng B) Sai (Trang 10) 31) Khóa ngoại là trường mà giá trị của nó trùng với khóa duy nhất (unique key), không trùng với khóa chính (primary key) A) Đúng B) Sai 32) Để phân biệt từng bản ghi trong bảng, có thể sử dụng A) Primary key B) Foreign Key C) Unique key 137 33) Trong Sơ đồ thực thể quan hệ (ER-Diagram), hình elip dùng để thể hiện _________ A) Mối quan hệ giữa các thực thể B) Thực thể trong CSDL C) Thuộc tính của thực thể 34) Đâu là cú pháp đúng cho hàm AVG (chọn 1) A) AVG([ALL|DISTNICT] Biểu thức) B) Tất cả lựa chọn ở trên C) AVG(Biểu thức) D) AVG([ALL]Biểu thức) E) AVG([DISTNICT] Biểu thức) 35) DML viết tắt bởi A) Data Moulding Language B) Data Manipulation Language C) Data Modeling Language D) Data Marketing Language 36) Dữ liệu kiểu image, text và ntext được lưu trữ dưới dạng một chuỗi các byte. A) Đúng B) Sai 37) Giả sử bạn có một bảng tên là A, trong bảng đó có trường tên là ‘xyz’ với kiểu dữ liệu là int. Giá trị của tất cả các trường trong một bản ghi của bảng đó phải là giá trị số nguyên A) Đúng B) Sai 138 38) Trong câu truy vấn lấy dữ liệu từ hai bảng đã được join với nhau, kết quả trả về c nshuong ns: 39) Toàn vẹn thực thể còn được gọi là _________ (chọn 1) A) Column Integrity (Toàn vẹn cột) B) Row Integrity (Toàn vẹn dòng) C) Table Integrity (Toàn vẹn bảng) D) Database Integrity (Toàn vẹn CSDL) 40) Chỉ ra một số thuận lợi khi sử dụng CSDL tập trung (chọn 2) A) Dữ liệu có thể dùng chung cho nhiều người B) Làm tăng dữ liệu dư thừa trong CSDL C) Giảm thiểu dữ liệu không thống nhất trong CSDL D) Không thể tích hợp được dữ liệu E) Không cần bảo mật đối với CSDL tập trung 41) Nhiều ràng buộc UNIQUE có thể được đặt trên một bảng A) Sai B) Đúng 42) Phát biểu nào dưới đây là đúng về các hàm tập hợp (aggregate functions) (chọn 3) A) Các hàm tập hợp tạo ra dữ liệu ở dạng tổng hợp B) Cá 43) Tìm ra phát biểu đúng về toàn vẹn tham chiếu (chọn 1) A) Toàn vẹn tham chiếu đảm bảo khi giá trị của trường khóa bị thay đổi, tất cả các tham chiếu đến nó cũng được thay đổi theo B) Toàn vẹn tham chiếu không đảm bảo tính nhất quán về giá trị của trường 139 khóa trong các bảng C) Toàn vẹn tham chiếu đảm bảo mối quan hệ giứa các bảng không bị mất khi thao tác trên các bản ghi của chúng 44) Xác định phát biểu đúng về khóa chính (chọn 3) A) Khóa chính có chức năng phân biệt từng bản ghi trong bảng B) Khi đặt một trường là khóa chính, SQL Server 2000 kiểm tra xem liệu trường đó có chứa các giá trị trùng nhau hay không, các giá trị null được coi là hợp lệ. C) Ràng buộc khóa chính có thể được thay đổi được 46) Câu nào dưới đây sai khi nói về hệ CSDL khách – chủ? A) Trong kiến trúc khách-chủ, các thành phần (của hệ

Các file đính kèm theo tài liệu này:

  • pdfgiao_trinh_mo_dun_he_quan_tri_co_so_du_lieu_moi_nhat.pdf