Thực hành tổng hợp
Mỗi yêu cầu được ghi vào 1 query. Các bước thao tác với Query như sau: Bước 1: Mở Microsoft Access. Bước 2: Tạo cơ sở dữ liệu (New/ Blank Database). Nhập tên của cơ sở dữ liệu. Bước 3: Tạo 1 truy vấn (Query) mới. ...
Mỗi yêu cầu được ghi vào 1 query. Các bước thao tác với Query như sau:
Bước 1: Mở Microsoft Access.
Bước 2: Tạo cơ sở dữ liệu (New/ Blank Database).
Nhập tên của cơ sở dữ liệu.
Bước 3: Tạo 1 truy vấn (Query) mới.
- Kích chuột vào Create query in Design view.
- Chọn SQL.
- Soạn thảo câu lệnh SQL.
- Ghi và đặt tên cho mỗi Query.
- Thực hiện câu lệnh bằng cách nhấn vào ! trên thanh công cụ.
- Chọn Save, nhập tên của Query.
- Tất cả các yêu cầu của bài thực hành đều được thực hiện bằng lệnh của SQL thông qua Query.
- Mỗi một yêu cầu được ghi lại trong một Query. Đặt tên Query theo tên của câu hỏi. Ví dụ: Cau1, Cau2,…
1. Tạo một cơ sở dữ liệu có tên là Thuchanh.
2. Tạo một bảng có tên là DOCGIA, có các thuộc tính như sau
CREATE TABLE DOCGIA( MaDG Text(10) NOT NULL PRIMARY KEY, TenDG Text(30) NOT NULL, DiaChi Text(50) NOT NULL, Tuoi NUMBER);
3. Thêm một thuộc tính mới có tên là Ghichu cho bảng DOCGIA.
ALTER TABLE DOCGIA ADD COLUMN GhiChu Text(50));
4. Thay đổi kiểu dữ liệu của thuộc tính Ghichu thành kiểu dữ liệu Memo
ALTER TABLE DOCGIA ALTER COLUMN GhiChu Memo;
5. Xóa thuộc tính Ghichu trong bảng DOCGIA.
ALTER TABLE DOCGIA DROP COLUMN GhiChu;
6. Thực hiện các lệnh sau đây, mỗi lệnh này sẽ cho kết quả như thế nào? Nêu sự khác nhau giữa chúng.
Câu 1
INSERT INTO DOCGIA VALUES(‘DHTL05’,’Nguyễn Công Thành’,’Lớp 41NC’,22 );
Câu 2
INSERT INTO DOCGIA(MaDG, TenDG, DiaChi) VALUES(‘DHTL06’,’Nguyễn Phương Lan’,’Lớp 41NC’ );
7. Xóa một bản ghi có MaDG= ‘DHTL01’ trong bảng DOCGIA.
DELETE FROM DOCGIA WHERE MaDG=’DHTL01’;
8. Xóa những độc giả có địa chỉ là: 41NC trong bảng DOCGIA.
DELETE FROM DOCGIA WHERE Diachi=’41NC’;
9. Sửa địa chỉ của độc giả có MaDG là TD001 thành địa chỉ mới là CVK3I.
UPDATE DOCGIA SET (Diachi=’CVK3I’) WHERE MaDG=’TD001’;
1. Tạo một cơ sở dữ liệu (CSDL) dùng để quản lý nhân viên, lấy tên CSDL là QLNhanVien.
2. Cấu trúc của CSDL gồm các bảng với các quan hệ sau
- NHANVIEN
Tên thuộc tính | Kiểu dữ liệu | Kích cỡ | Khuôn dạng |
MaNV | Ký tự | 8 | Chữ hoa +số |
HoTen | Ký tự | 30 | |
Congviec | Ký tự | 50 | |
Luong | Số | ||
MaDV | Ký tự | 4 | |
MaPT | Ký tự | 8 | Chữ hoa + số(Mã người phụ trách) |
- DONVI
Tên thuộc tính | Kiểu dữ liệu | Kích cỡ | Khuôn dạng |
MaDV | Ký tự | 4 | Chữ hoa +số |
TenDV | Ký tự | 50 |
- BACLUONG
Tên thuộc tính | Kiểu dữ liệu | Kích cỡ | Khuôn dạng |
MaBac | Ký tự | 50 | Chữ hoa +số |
BacCao | Số | ||
BacThap | Số |
3. Thêm dữ liệu (bằng lệnh INERT) cho bảng NHANVIEN để có kết quả như sau
NHANVIEN | ||||
MaNV | HoTen | CongViec | Luong | MaDV |
NV001 | Phạm Thị Nhàn | Thư ký | 500 | 0001 |
NV002 | Hoàng Thanh Vân | Giáo viên | 600 | 0001 |
NV003 | Hoàng Thị Lan | Giáo viên | 200 | 0002 |
NV004 | Đỗ Trung Dũng | Thư ký | 700 | 0003 |
4. Thêm dữ liệu (bằng lệnh INERT) cho bảng DONVI để có kết quả như sau
DONVI | |
MaDV | TenDV |
0001 | KHTN |
0002 | DHTL |
0003 | DHQG |
5. Thêm dữ liệu (bằng lệnh INERT) cho bảng BACLUONG để có kết quả như sau
BACLUONG | ||
MaBac | BacThap | BacCao |
1 | 400 | 500 |
2 | 501 | 600 |
3 | 601 | 800 |
- Dùng câu lệnh truy vấn dữ liệu, đưa ra tất cả thông tin về nhân viên.
- Đưa ra Hoten, Congviec, Luong của tất cả các nhân viên.
- Đưa ra toàn bộ công việc của các nhân viên, các giá trị không trùng nhau.
- Đưa ra Hoten, LuongQuy của tất cả các nhân viên, với LuongQuy= Luong*3.
- Đưa ra Hoten, Luong sắp xếp theo thứ tự tăng dần/ giảm dần của Luong.
- Đưa ra Hoten, Luong của các nhân viên có Luong>300.
- Đưa ra Hoten, Luong của các nhân viên có Luong>300 và làm công việc là Giáo viên.
- Đưa ra những nhân viên có lương hoặc 200, 300, 600.
- Đưa ra những nhân viên có Lương trong khoảng 300 đến 600.
- Đưa ra Hoten, Congviec của các nhân viên có Họ tên bắt đầu bằng chữ ‘Hoàng’.
- Đưa ra lương trung bình, lương lớn nhất, nhỏ nhất của tất cả các nhân viên trong bảng NHANVIEN.
- Đưa ra Côngviệc, Lương trung bình của từng loại công việc.
- Đưa ra Côngviệc, Lương trung bình của tất cả các nhân viên có Luong>200 theo từng loại công việc.
- Đưa ra tổng lương của từng nhóm công việc trong từng đơn vị.
- Đưa ra những Congviec và trung bình lương của các công việc có trung bình lương >=300
- Đưa ra những đơn vị và lương lớn nhất của các đơn vị có lương lớn nhất >=300.
- Đưa ra Hoten, Congviec, TenDV của tất cả nhân viên.
- Câu lệnh sau cho kết quả như thế nào.
SELECT HoTen, CongViec, TenDV FROM NHANVIEN NV, DONVI DV WHERE NV.MaDV= DV.MaDV;
- Đưa ra Hoten, Congviec, MaBac của tất cả nhân viên
- Đưa ra HoTen, Congviec, TenDV, Luong của những nhân viên có Luong>=500.
- Câu lệnh sau cho kết quả như thế nào.
SELECT NV.MaNV, NV.Hoten, PT.MaNV, PT.Hoten FROM NHANVIEN NV, NHANVIEN PT WHERE (NV.MaNV=PT.MaPT) AND (NV.Luong>PT.Luong);
- Đưa ra những công việc trong đơn vị 1 có MaDV là 0001 và đơn vị 2 có MaDV là 0002.
- Đưa ra Hoten, TenDV, Congviec, Luong của những người có lương lớn hơn lương trung bình của toàn bộ nhân viên.
- Đưa ra những nhân viên có lương lớn hơn người có lương lớn nhất trong đơn vị có tên là DHTL.
- Đưa ra Hoten, MaDV, Luong của các nhân viên có Luong=Luong thấp nhất trong đơn vị của họ.
- Đưa ra Hoten, MaDV, Luong của các nhân viên có Luong=Luong thấp nhất trong một đơn vị nào đó.
- Đưa ra Hoten, Luong của các nhân viên có Luong lớn nhất của đơn vị có mã đơn vị là 0002.
- Đưa ra MaDV, AVG(Luong) của đơn vị có trung bình lương lớn hơn lương nhỏ nhất của đơn vị có mã đơn vị là 0003.
Thực hiện các thao tác sau cho Cơ sở dữ liệu dùng để quản lý một cửa hàng kinh doanh.
I. ĐỊNH NGHĨA DỮ LIỆU
1. Tạo cơ sở dữ liệu
Tạo một cơ sở dữ liệu dùng để quản lý cửa hàng đặt tên là QLCH bao gồm các bảng có mối quan hệ như sau:
Cấu trúc của mỗi bảng như sau:
Tên thuộc tính | Kiểu dữ liệu | Kích cỡ | Khuôn dạng |
Ma_khach | Ký tự | 6 | Chữ hoa +số |
Ten_kh | Ký tự | 30 | Chữ đầu viết hoa |
Diachi_kh | Ký tự | 30 | Chữ đầu viết hoa |
Tên thuộc tính | Kiểu dữ liệu | Kích cỡ | Khuôn dạng |
Ma_hang | Ký tự | 6 | Chữ hoa+số |
Ten_hang | Ký tự | 15 | Chữ đầu viết hoa |
Mota_hang | Ký tự | 30 | Chữ đầu viết hoa |
Don_vi | Ký tự | 10 | Chữ thường |
Tên thuộc tính | Kiểu dữ liệu | Kích cỡ | Khuôn dạng |
So_don | Ký tự | 6 | Chữ hoa +số |
Ma_khach | Ký tự | 15 | Chữ hoa +số |
Ngay_don | Ngày | 8 | Dd/mm/yy |
Tên thuộc tính | Kiểu dữ liệu | Kích cỡ | Khuôn dạng |
So_don | Ký tự | 6 | Chữ hoa +số |
Ma_hang | Ký tự | 6 | Chữ hoa +số |
So_luongd | Số | 7 | Số nguyên |
Tên thuộc tính | Kiểu dữ liệu | Kích cỡ | Khuôn dạng |
So_phieu | Ký tự | 6 | Chữ hoa +số |
Ma_khach | Ký tự | 6 | Chữ hoa +số |
Ngay_giao | Ngày | 30 | Dd/mm/yy |
Noi_giao | Ký tự | 30 | |
Tong_tien | Số | 9 | Số thực |
Tên thuộc tính | Kiểu dữ liệu | Kích cỡ | Khuôn dạng |
So_phieu | Ký tự | 6 | Chữ hoa+ số |
Ma_hang | Ký tự | 6 | Chữ hoa + số |
Don_gia | Số | 6 | Số thực |
So_luonggi | Số | 7 | Số thực |
2. Sửa đổi cấu trúc
a. Thêm một thuộc tính:
- Trong bảng KHACH, thêm một thuộc tính SoThich nhằm lưu vào bảng KHACH sở thích của khách hàng.
- Trong bảng HANG, thêm hai thuộc tính là NoiCungCap và NoiSanXuat nhằm lưu vào bảng HANG thông tin về nơi cung cấp hàng hóa đó và nơi sản xuất chúng.
b. Thay đổi kiểu của một thuộc tính.
- Trong bảng KHACH, thay đổi kiểu dữ liệu cho trường SoThich, từ kiểu Text thành kiểu Memo.
- Trong bang HANG, thay đổi kiểu dữ liệu cho trường NoiCungCap, từ kiểu Text thành kiểu Number.
c. Xóa một thuộc tính.
- Trong bảng HANG, hãy xóa 2 thuộc tính NoiCungCap và NoiSanXuat.
- Trong bảng KHACH, hãy xóa thuộc tính SoThich.
II. QUẢN TRỊ DỮ LIỆU
1. Thêm giá trị vào các dòng của bảng
- Thêm vào bảng KHACH các giá trị như sau:
KHACH | ||
Ma_khach | Ten_kh | diachi_kh |
K001 | Đào Minh Thư | Đại học Quốc Gia |
K002 | Nguyễn Liên Dung | BNC |
K003 | Phạm Hoàng Nhung | Đại học Thủy Lợi |
- Thêm vào bảng DONHANG các giá trị như sau:
DONHANG | ||
so_don | Ma_khach | ngay_don |
DH001 | K001 | 3/22/2002 |
DH002 | K001 | 7/13/2003 |
DH003 | K002 | 12/24/2002 |
- Thêm vào tất cả các bảng, mỗi bảng một số bộ giá trị phù hợp.
Chú ý: Hãy thử trường hợp thêm ma_khach là K0010 vào bảng DONHANG thì kết quả thế nào? Tại sao?
2. Thêm giá trị cho một số thuộc tính
- Thêm giá trị vào bảng KHACH để được giá trị như sau:
KHACH | ||
Ma_khach | Ten_kh | Diachi_kh |
K001 | Đào Minh Thư | Đại học Quốc Gia |
K002 | Nguyễn Liên Dung | BNC |
K003 | Phạm Hoàng Nhung | Đại học Thủy Lợi |
K004 | Trịnh Hồng Cường | |
K005 | Nguyễn Văn Hải | Đại học Thủy Lợi |
- Thêm giá trị vào bảng HANG để được giá trị như sau:
HANG | |||
ma_hang | ten_hang | Mota_hang | don_vi |
H001 | Hoa loa kèn | Hoa trắng, to | Bông |
H002 | Hoa hồng | Nhiều mau | Bông |
H003 | Hoa lan | Cành |
3. Xóa hàng
- Xóa một hàng có ma_hang = ‘H001’ trong bảng HANG.
- Xóa tất cả các khách hàng có Diachi_kh = ‘Đại học Thủy Lợi ‘ trong bảng KHACH.
- Xóa khách hàng có tên là Trịnh Hồng Cường.
4. Sửa đổi giá trị của một hàng.
- Sửa đổi địa chỉ của khách hàng thành địa chỉ mới là Đại học Quốc Gia với ma_khach là K002.
- Sửa đổi tất cả các tên hàng là “Hoa lan” thành “Hoa phong lan” và mô tả hàng là “Hàng nhập khẩu từ Đà Lạt”
III. CÁC LỆNH TRUY VẤN DỮ LIỆU
- Xem toàn bộ nội dung của bảng KHACH
- Xem toàn bộ nội dung của bảng HANG.
- Xem toàn bộ nội dung của bảng DONHANG.
- Đưa ra Tên và Địa chỉ của tất cả các Khách hàng trong bảng KHACH.
- Đưa ra Tên hàng, Mô tả hàng và Đơn vị tính của tất cả các mặt hàng trong bảng HANG.
- Đưa ra tất cả các đơn vị tính dùng để tính hàng hóa.
- Đưa ra tất cả các tên hàng trong bảng HANG.
- Đưa ra tất cả các địa chỉ của khách hàng.
- Đưa ra so_phieu, ma_hang, don_gia, soluonggi và Thành tiền (don_gia*so_luong) của tất cả các hàng trong bảng PHIEU_GIAO.
- Đưa ra so_phieu, ma_hang, don_gia, soluonggi và Thành tiền (don_gia*so_luong), sử dụng bí danh la thanh_tien của tất cả các hàng trong bảng PHIEU_GIAO .
- Đưa ra tất cả giá trị của bảng HANG theo thứ tự giảm dần của ma_hang.
- Đưa ra tất cả các giá trị của bảng PHIEUGIAO theo thứ tự tăng dần (giảm dần) của tổng tiền (tong_tien).
- Đưa ra tất cả các khách hàng có địa chỉ là Đại học Quốc Gia trong bảng KHACH.
- Đưa ra So_phieu, Ma_khach trong bảng PHIEUGIAO với điều kiện Tong_tien>=100.000, và sắp xếp theo điều kiện giảm dần của Tong_tien.
- Đưa ra ten_hang, mota_hang của những hàng hóa có don_vi được tính theo bông trong bảng HANG.
- Đưa ra danh sách các bản ghi bao gồm so_phieu, ma_khach, ngay_giao trong bảng PHIEUGIAO với điều kiện Noi_giao là Hà Nội và Tong_tien>50.000.
- Đưa ra danh sách các bản ghi bao gồm Ma_khach, Ten_khach trong bảng KHACH với điều kiện địa chỉ của khách ở Đại học Quốc Gia hoặc Đại học Thủy Lợi.
- Đưa ra những mặt hàng trong bảng HANG có đơn vị tính là Bông, Cành hoặc Bó.
- Đưa ra danh sách những khách hàng (Ma_khach, Tong_tien) nằm trong bảng PHIEUGIAO có Noi_giao nằm trong số các địa điểm sau: Hà Nội, Hồ Chí Minh, Hải Phòng.
- Đưa ra tất cả những thông tin trong bảng PHIEUGIAO với điều kiện tong_tien nằm trong khoảng từ 100.000 đến 500.000.
- Đưa ra ma_kh, ten_kh trong bảng KHACH của những khách hàng có họ là Nguyễn.
- Đếm số lần mua hàng của khách hàng có ma_kh là K001 trong bảng PHIEUGIAO. Thuộc tính mới này được đặt tên là SoLanMua.
- Tính tổng tiền trung bình của mỗi PHIEUGIAO. Thuộc tính mới này được đặt tên là TrungBinhPG.
- Tính tổng tiền trong bảng PHIEUGIAO của những khách hàng có ma_khach = ‘K002’.
- Tính tổng số các khách hàng trong bảng KHACH có địa chỉ (diachi_KH) là Đại học Thủy Lợi.
- Đưa ra ma_khach, ngay_giao, noi_giao trong bảng PHIEUGIAO có tong_tien thanh toán lớn nhất.
- Đưa ra ma_khach, ngay_giao, noi_giao trong bảng PHIEUGIAO có tong_tien thanh toán nhỏ nhất.