Professional Documents
Culture Documents
Giai BT
Giai BT
Giai BT
Để giúp các bạn nào chưa biết làm các bài tập trong sách giáo trình, nay mình xin mạng
phép lập topic này nhằm hướng dẫn các bạn giải các bài tập trong sách giáo trình, các bạn
nào cảm thấy được thì xin đóng góp vào luôn nhé.
Để thực hiện được các bài tập trong này bắt buộc các bạn phải cài Microsoft Access, và
tải cơ sở dữ liệu mẫu tại đây:http://www.mediafire.com/?mtdyiekndin
Các bạn lưu ý dữ liệu trong này hơi khác so với dữ liệu trong bài tập, nhưng cấu trúc thì
hoàn toàn giống nhau nên cũng không có gì sai cả.
Chương 2: bài tập trang 27-30 (giáo trình CSDL Quan Hệ & SQL)
Câu 8: Câu này rất đơn giản, toàn bộ yêu cầu đều nằm trong bảng GRADE, các bạn chỉ
cần dung lệnh select là xong
Giải:
SELECT *
FROM grade;
Tuy nhiên nếu bạn muốn trông giống như trong sách thì có thể thêm lệnh As (lệnh gán)
vào sau các trường:
Câu này dễ nên mình cũng không cần giải thích các bạn cũng đã hiểu.
Câu 9: Câu này là câu cơ bản nhất trong các bài tập liên kết giữa các bảng, các bạn bắt
buộc phải hiểu và làm được câu này thì các câu sau mới có thể làm được
Giải:
Câu 13:
Giải:
Giải thích: Trong bài này các bạn cần chú ý đến lệnh In, lệnh này tương đương với lệnh
Or ( hoặc), trong bài yêu cầu là hiển thị nhân viên là tại phòng 10 và 20, nhưng các bạn
cần phải chú ý không được dùng lệnh And ( có một số bạn bị sai chỗ này) mà phải dùng
lệnh In vi mỗi nhân viên chỉ làm việc tại 1 phòng 50 hoặc 60 mà thôi. Lệnh where (điều
kiện) thì các bạn chắc cũng đã biết, mình không cần phải nói lại (tham khảo trang 20)
Câu 16: Chúng ta thay TH bằng ng. Nếu muốn gồm 2 chuỗi kí tự như trong sách thì các
bạn chỉ cần thêm lệnh In hoặc Or cũng được.
Giải:
SELECT *
FROM emp
WHERE LastName like "*ng*";
Giải thích: Ở đây các bạn cần lưu ý là trong sách thì để dùng lệnh like thì dùng kí tự “%”
“or” / để làm kí tự đại diện. Tuy nhiên 2 kí tự trên chỉ dùng được trong HQTCSDL
Oracle or SQL mà thôi, còn trong Access không hỗ trợ nên nếu làm y trong sách không ra
thì cũng không phải là sai đâu.
Câu 18:
Giải:
Câu 19:
Giải:
Giải thích: câu này phức tạp hơn so với các câu trên nhưng không khó nếu bạn hiểu được
lệnh liên kết. Để cho dễ nhìn, các bạn mở bảng Relationships lên (Tool/ Relationships).
Như hình trên các bạn thấy là các trường chúng ta cần lấy đó là LocationId của bảng
DEPT, City của bảng LOCATION, Lastname của bảng EMP. Để có thể lấy 3 trường như
trên (trường này ứng với trường kia) thì buộc các bảng trên phải liên kết với nhau. Chúng
ta chú ý thấy rằng bảng LOCATION liên kết với bảng DEPT thông qua trường
LocationId, bảng DEPT thì liên kết với bảng EMP thông qua trường DeptId, tương tự sơ
đồ sau (L – D) –E. Nói cho dễ hiểu thì các bạn muốn lấy dữ liệu từ 2 bảng trở lên thì chỉ
cần liên kết chúng với nhau là được, nếu khó hiểu thì các bạn cần bỏ chút thời gian ra suy
nghĩ.
Câu 20:
Giải:
Câu 22:
Giải:
Câu 23:
Giải:
Giải thích: câu này tương tự câu 19 & 20,ta chỉ cần kết hợp chúng lại mà thôi.
Câu 24:
Giải:
Giải thích: Nói một cách đơn giản như thế này, bạn cần tìm mã nv, tên nv, mã người quản
lý và tên người quản lý. Các bạn hay mở trang 26 ra và đọc ví dụ, như thế ta phải chia
bảng emp thành 2 bảng khác nhau và lấy dữ liệu trên 2 bảng đó. Như thê thì 3 trường đầu
tiên sẽ được lấy từ bảng emp As e (nên ta đặt e. trước 3 trường đầu tiên). Các bạn chú ý,
ở đây điều khó nhất chính là lấy tên người quản lí, như vậy để lấy tên người quản lí thì
cần có mã người quản lý (ở bảng e) bằng mã nhân viên (ở bảng p).
Câu 25:
Giải:
Vậy là kết thúc các bài tập chương 2, các bạn nào không hiểu chỗ nào xin cứ nêu câu hỏi,
nếu mình có thể giúp được thì sẵn sàng trả lời.