MỤC LỤC
Chúng ta hãy xem xét một ví dụ về cơ sở dữ liệu BanHangnhằm quản lý các thông tin về khách hàng, các mặt hàng, các lần bán hàng cùng với số lượng hàng bán của một công ty. Chú ý rằng các hồ sơ có thể liên quan với nhau, chẳng hạn như trong hồ sơ BanHang có thông tin về HoTenKH, cho biết hóa đơn đó bán cho khách hàng nào, hoặc có thông tin về MaMH, cho biết mặt hàng nào được bán với số lượng bao nhiêu.
Bước thứ hai là thao tác trên cơ sở dữ liệu, liên quan đến cập nhật và truy vấn. Cập nhật là phản ánh sự thay đổi trong thế giới thực vào cơ sở dữ liệu chẳng hạn như: ghi nhận thêm một mặt hàng mới là ‘Sô cô la sữa’ với đơn giá.
Cơ sở dữ liệu BanHang. Bước thứ hai là thao tác trên cơ sở dữ liệu, liên quan đến cập nhật và truy vấn. Cập nhật là phản ánh sự thay đổi trong thế giới thực vào cơ sở dữ liệu chẳng hạn như: ghi nhận thêm một mặt hàng mới là ‘Sô cô la sữa’ với đơn giá. 2) Một công ty sản xuất bánh kẹo cần tổ chức một cơ sở dữ liệu nhằm quản lý nhân sự của công ty. Yêu cầu: Hãy định nghĩa cấu trúc cho cơ sở dữ liệu nói trên và cung cấp một số dữ liệu mẫu như trong ví dụ Hình I-.
Ví dụ: với mục đích quản lý sinh viên trong trường đại học, Hình I- thể hiện một lược đồ cơ sở dữ liệu được gọi là DaiHoc gồm có năm quan hệ: DaiHoc = { Khoa, SinhVien, MonHoc, LopHoc, KetQua }. Lúc này thuộc tính MaKH được gọi là khóa ngoại của quan hệ SinhVien (quan hệ con) vì nó tham chiếu đến khóa chính MaKhoa của quan hệ Khoa (quan hệ cha). Ràng buộc toàn vẹn về khóa ngoại phát biểu rằng: với một giá trị tại thuộc tính khóa ngoại trong quan hệ con, thì giá trị đó phải tồn tại trước trong quan hệ cha. Đây là một trạng thái không hợp lệ vì tại bộ thứ của quan hệ SinhVien, MaKH. ‘NN’ chưa tồn tại tại thuộc tính MaKhoa ở bất cứ bộ nào trong quan hệ Khoa. Trạng thái sau đây mới được gọi là hợp lệ. Như vậy, có thể thiết lập các mối quan hệ và ràng buộc toàn vẹn về khóa ngoại cho lượt đồ cơ sở dữ liệu DaiHoc như sau:. MaSV Ho Ten NgaySinh GioiTinh HocBong MaKH. Khoa MaKhoa TenKhoa. CN Công nghệ Thông tin KT Kinh tế. SinhVien MaSV HoSV TenSV NgaySinh GioiTinh HocBong MaKH. Khoa MaKhoa TenKhoa. CN Công nghệ Thông tin KT Kinh tế. NN Ngoại ngữ. SinhVien MaSV HoSV TenSV NgaySinh GioiTinh HocBong MaKH. Mối liên hệ và ràng buộc khóa ngoại giữa các lượt đồ quan hệ trong CSDL DaiHoc. Các ràng buộc khác 1) Ràng buộc về miền giá trị. Quy định Diem chỉ nhận các giá trị từ đến 10 là một ràng buộc miền giá trị. 2) Ràng buộc giá trị NULL.
Để có thêm cột TenKhoa, cần thực hiện phép kết giữa bảng SinhVien và bảng Khoa, sau đó thực hiện phép nhóm như bình thường, tuy nhiên cột TenKhoa phải được đưa vào làm thuộc tính nhóm chung với MaKhoa. MaSVG DiemTB: Sum(Diem*SoTinChi)/Sum(SoTinChi)(tam) Kết quả:. 1) Cho cơ sở dữ liệu về BanHang như bên dưới:. Hãy cho biết biểu thức đại số quan hệ để thực hiện các câu truy vấn sau và cho biết nội dung kết quả của từng câu truy vấn:. a) Liệt kê tên các mặt hàng có đơn giá lớn hơn 10.000 (MaMH, TenMH, DonGia) b) Cho biết tên khách hàng ứng với từng hóa đơn (MaHD, NgayHD, TenKH) c) Hãy cho biết tên các khách hàng đã mua mặt hàng ‘Sữa chua Vinamilk’. e) Tính thành tiền của từng hóa đơn (MaHD, NgayHD, TenKH, ThanhTien). f) Cho biết tên các mặt hàng mà khách hàng ‘Nguyễn Trang’ đã mua, với tổng số lượng và trị giá là bao nhiêu. g) Tính doanh thu bán hàng theo từng ngày (NgayHD, DoanhThu). h) Tính doanh thu bán hàng theo từng ngày của từng mặt hàng (NgayHD, TenMatHang, DoanhThu). KhachHang MaKH HoTen DiaChi. MatHang MaMH TenMH DonViTinh DonGia. HoaDon MaHD NgayHD MaKH. MatHangBan MaHD MaMH SoLuong. Hãy cho biết khóa chính, mối liên hệ và ràng buộc khóa ngoại giữa các quan hệ trong cơ sở dữ liệu trên. Thực hiện các câu truy vấn sau bằng biểu thức đại số quan hệ và cho biết nội dung kết quả của từng câu truy vấn:. a) Liệt kê các phòng ban và tên trưởng phòng của từng phòng ban (họ tên đầy đủ). b) Tìm các nhân viên lương ít hơn. ở ‘Phòng Kinh doanh’ hoặc ít hơn. c) Liệt kê các nhân viên và cho biết tên trưởng phòng của từng nhân viên đó. d) Hãy cho biết các phòng ban nào có thực hiện dự án tại ‘Nha Trang’. e) Tính mức lương trung bình của từng phòng ban. f) Trong các dự án thực hiện tại Nha Trang, tính tổng số giờ nhân viên của từng dự án. g) Với mỗi giờ làm việc cho dự án, một nhân viên sẽ được thưởng 1% tiền lương. Tính số tiền thưởng của từng nhân viên. h) Tính số tiền thưởng của từng nhân viên theo từng dự án.
In Thuộc, trong tập hợp hoặc miền giá trị (dùng trong các câu truy vấn). Trong khoảng từ…đến…. & Ghép chuỗi. + Ghép chuỗi hoặc cộng số. Date Ngày hiện hành. Màu, ví dụ. Now Ngày giờ hiện. hành [white] : màu trắng. Một số hàm sử dụng trong MS Access. Hàm Kết quả. 2) Các hàm về ngày tháng. (với điều-kiện là biểu thức logic. Ý nghĩa: nếu điều-kiện đúng thì kết quả của biểu thức IIF là biểu thức A, nếu điều-kiện sai thì kết quả của biểu thức IIF là biểu thức B. Hãy thực hiện các thao tác sau trên máy tính:. 3) Trong cơ sở dữ liệu vừa tạo, quan sát các mục Table, Query, Form, Report, Macro và Module. 4) Đóng cơ sở dữ liệu và đóng Access. Open, không được dùng menu File -> New).
Thể hiện khái niệm mối liên hệ giữa các quan hệ trong mô hình lý thuyết (xem phần Phần I2.3.2). Đi kèm với mối liên hệ là ràng buộc toàn vẹn về khóa ngoại. Mỗi bản ghi của bảng này sẽ không liên kết hoặc liên kết với duy nhất tới một bản ghi của bảng kia và ngược lại. Ví dụ: Mỗi số báo danh của thí sinh thi đại học chỉ có 1 số phách bài thi và số phách của mỗi bài thi chỉ thuộc về 1 số báo danh. Một bản ghi trong bảng A không kết hợp hoặc kết hợp với một hay nhiều bản ghi trong bảng B, nhưng ngược lại một bản ghi trong bảng B chỉ có thể kết hợp duy nhất với một bản ghi trong bảng A. Ví dụ: một khoa của trường Đại học Nha Trang có nhiều sinh viên nhưng một sinh viên chỉ thuộc về duy nhất một khoa. Xây dựng cấu trúc bảng. Sử dụng chế độ Design View để tạo bảng. Tab Tables Create Table in Design View hoặc Tab Tables . Sau đó ta được bảng thiết kế như sau:. Lựa chọn kiểu dữ liệu. Mô tả ngắn gọn của trường. Bảng thiết kế sau khi đã được nhập giá trị:. Tên trường có thể đặt tùy ý, tuy nhiên để dễ quản lý nên đặt ngắn gọn, dễ gợi nhớ, không chứa ký tự trắng và không dùng chữ tiếng Việt có dấu. b) Kiểu dữ liệu (Data Type). Số dương hiển thị bình thường Số âm được bao giữa 2 dấu ngoặc ( ) Số bị bỏ trống. Null hiện chữ Null. Hiển thị dấu + phía trước nếu số dương Hiển thị dấu - phía trước nếu số âm Hiển thị. nếu âm hoặc Null. Định dạng do ACCESS cung cấp. Định dạng Hiển thị. Định dạng do ACCESS cung cấp. Định dạng Tác dụng. Yes / No Đúng Sai. True / False Đúng Sai. On / Off Đúng Sai. Định dạng do người sử dụng: Gồm 3 phần. - Phần : Trường hợp giá trị trường đúng - Phần 2: Trường hợp giá trị trường sai Ví dụ. Định dạng Hiển thị. Trường hợp True Trường hợp False. Chú ý: Để xem được hiển thị của kiểu Yes/No ta phải thay đổi thuộc tính Display Control ở thẻ Lookup thành Text Box. Mặt nạ định dạng dữ liệu, người sử dụng bắt buộc phải nhập dữ liệu cho trường đúng theo quy định đã cài đặt ở thuộc tính này. Ký tự Tác dụng. Bắt buộc nhập ký tự số. Không bắt buộc nhập, ký tự số. ? Không bắt buộc nhập, ký tự chữ hoặc khoảng trắng a Bắt buộc nhập, ký tự chữ hoặc số. A Không bắt buộc nhập, ký tự chữ hoặc số. & Bắt buộc nhập, ký tự bất kỳ C Không bắt buộc nhập ký tự bất kỳ. < Các ký tự bên phải được đổi thành chữ thường. > Các ký tự bên phải được đổi thành chữ hoa. ! Dữ liệu được ghi từ phải sang trái Ví dụ:. Input Mask Dữ liệu nhập vào. Ngoài ra ta có thể sử dụng những Input Mask có sẵn do Access cung cấp. Dùng làm tiêu đề cho các trường trong chế độ Datasheet của bảng, có thể dùng tiếng Việt. Chuỗi ký tự này cũng xuất hiện tại nhãn các của các điều khiển trong các biểu mẫu hoặc báo cáo. Nếu không xác định Caption thì Access sẽ lấy tên trường để làm tiêu đề. Quy định giá trị mặc định cho trường trừ Auto number và OEL Object. Có thể là một biểu thức, hằng, các hàm mẫu và các phép toán. h) Validation rule và Validation Text.
- Đặt tiêu đề hiển thị cho Form, tiêu đề này cũng sẽ là tên của Form (tuy nhiên tên Form có thể được thay đổi ở cửa sổ các đối tượng CSDL mà không ảnh hưởng đến tiêu đề Form). - Lựa chọn Open the form to view or enter information: hiển thị Form sau khi click Finish - Lựa chọn Modify the form’s design: mở giao diện Form Design để chỉnh sửa Form. Nếu lựa chọn hiển thị Form thì:. Chỉnh sửa lại tên các nhãn, tiêu đề trong Form: click biểu tượng thiết kế Form. Xem/Thiết kế Form. Hiển thị bản ghi đầu tiên. Hiển thi bản ghi trước đó. Hiển thị bản ghi tiếp theo. Hiển thị bản ghi cuối cùng. Thêm bản ghi mới. Sử dụng Design View để tạo Form. Để tạo ra được form mang tính chuyên nghiệp và đáp ứng được sát yêu cầu thực tế bắt buộc phải sử dụng đến Form Design View. Nói như vậy không có nghĩa là không dùng Form Wizard để tạo form, mà trong nhiều tính huống vẫn dùng Form Wizard rồi sử dụng đến Form Design View để tiếp tục hoàn thiện yêu cầu. Tạo form mới ngay từ đầu. Chọn Forms → Create form in Design view. Thiết kế lại form đã tạo trước đó bằng Form Wizard Chọn Form click vào biểu tượng thiết kế. Màn hình thiết kế form xuất hiện như sau. 1) Cửa sổ thuộc tính (Properties): mô tả chi tiết về đối tượng của form đang được thiết kế. - Muốn thay đổi định dạng của đối tượng trên form (ví dụ: font chữ, màu nền, màu chữ…) thì chọn đối tượng tinh chỉnh ở cửa sổ thuộc tính. 2) Thanh công cụ Toolbox: nơi chứa những đối tượng, những công cụ có thể đưa lên form với mục đích thiết kế giao diện và điều khiển dữ liệu theo mục đích thiết kế. 3) Field List: hiển thị danh sách các trường của nguồn dữ liệu được khai báo ở cửa sổ thuộc tính.
Trong giao diện Grouping muốn hiển thị dữ liệu theo nhóm giá trị của trường nào thì Add trường đó từ danh sách bên trái hộp thoại sang hộp preview bên phải hộp thoại. - Đặt tiêu đề hiển thị cho Report, tiêu đề này cũng sẽ là tên của Report (tuy nhiên tên Report có thể được thay đổi ở cửa sổ các đối tượng CSDL mà không ảnh hưởng đến tiêu đề Report).
Bước 2: Tiếp theo chọn table SinhVien và các trường MaSV, HoSV, TenSV, NgaySinh, GioiTinh, HocBong. Giao diện này cung cấp 6 lựa chọn bố cục báo cáo (Layout) và 2 cách bố trí hướng trang giấy (Orentation).
Từ bảng SinhVien, KetQua, LopHoc, MonHoc hãy tạo ra bảng sau có tên BangDiem_SV gồm các thông tin: MaSV, HoTenSV, TenMH, SoTinChi, Diem, KetQua. Thực hiện các biểu mẫu (Form) : Hãy dùng công cụ Wizard để tạo biểu mẫu 1) Tạo Form cho phép nhập dữ liệu vào bảng Khoa, SinhVien, MonHoc. 2) Tạo Form Main-Sub Form cho phép nhập dữ liệu vào bảng Lớp Học và nhập kết quả cho các sinh viên trong lớp học đó. Main-Form lấy dữ liệu từ bảng LopHoc và Sub-Form lấy dữ liệu từ Query 17. 4) Dùng Report Wizard để tạo các báo cáo sau:. 1) Lập báo cáo danh sách các môn học. 2) Danh sách sinh viên theo từng khoa.
MaMH Text Mã mặt hàng Dùng LOOKUP (làm tương tự). Row Source : MATHANG SoLuong Number Số lượng bán Field size : Long Integer DonGiaBan Number Đơn giá bán Field size : Long integer. 2) Thiết lập mối quan hệ giữa các bảng đã cho. 0 Cty trà Thái Nguyên. 02 Văn phòng đại diện sữa Hà Lan 03 Cty sữa VinaMilk. 04 Cty sữa đường Khánh Hòa 05 Cty nước giải khát Bến Thành 06 Công ty rượu Bình Tây. 07 Cửa hàng bánh ngọt Nha Trang 08 Công ty Bia Bến Thành. MaNV HoNV TenNV GioiTinh DienThoai Luong. MaKH HoKH TenKH DiaChi DienThoai. KH005 Lê Anh Đoàn Trần Nghiệp. KH006 Nguyễn Bình Nguyễn Đình Chiểu. MaMH TenMH DVT MaLoaiMH MaNhaCC. SoHDB MaMH SoLuong DonGiaBan SoHDB MaKH MaNV NgayBan. 4) Thực hiện các truy vấn sau : Truy vấn chọn (Select Query). (chú ý mối liên hệ giữa HoaDonBan và CTHDB phải là Cascade Update). Truy vấn khác:. Tính số tiền phải trả của các khách hàng mua hàng từ ngày 1/4/2 đến ngày. Liệt kê những nhân viên không tham gia bán hàng trong thời gian qua. Liệt kê những mặt hàng chưa bán được trong thời gian qua. Tạo các biểu mẫu cho bảng NhanVien, KhachHang, MatHang. Ví dụ form NhanVien. Thao tác: Nhập mới một số nhân viên và quan sát sự thay đổi của dữ liệu trong bảng NhanVien. Tạo biểu mẫu Loại Mặt Hàng dạng Main Sub Form. Trong đó Form chính : bảng LoaiMatHang, Form phụ : bảng MatHang. Thao tác: Nhập mới một số loại mặt hàng và một số mặt hàng, quan sát sự thay đổi của dữ liệu trong bảng LoaiMH và MatHang. Tạo biểu mẫu Húa Đơn Bỏn dạng Main Sub Form để theo dừi chi tiết đơn đặt hàng. Thao tác: Bổ sung thêm một số chi tiết bán cho hóa đơn, quan sát sự thay đổi của số tiền tổng cộng hóa đơn. 6) Thực hiện các báo cáo (Report): Hãy dùng công cụ Wizard để tạo báo cáo 1.
Dùng LOOKUP, Row Source : DocGia ChiTietPM(MaPhieu, MaSach). Field Name Data Type Description Field Properties MaPhieu Text Mã phiếu mượn Field size : 4. Dùng LOOKUP Row Source : Sach. 2) Thiết lập mối quan hệ giữa các bảng đã cho 3) Nhập dữ liệu cho các bảng. Thống kê số lần mượn sách của từng độc giả trong từng tháng năm 2 10 (crosstab) 10. Cho biết tên hai cuốn sách được mượnar nhiều lần nhất trong năm 2. Cho biết tên độc giả mượn nhiều sách nhất trong năm 2 12. Cho biết tên các độc giả đã mượn hai cuốn sách trở lên. Liệt kê các quyển sách chưa được mượn lần nào. Tạo các biểu mẫu cho bảng LoaiSach, Sach, DocGia. Tạo biểu mẫu Phiếu Mượn dạng Main Sub Form để theo dừi chi tiết phiếu mượn. 6) Thực hiện các báo cáo (Report): Hãy dùng công cụ Wizard để tạo báo cáo 1.
Decimal, Scale:18, Precision:1 ThanNhan(MaNV, TenThanNhan, NgaySinh, QuanHe). Field Name Data Type Description Field Properties. MaNV Text Mã nhân viên FieldSize: 4. Row Source : NhanVien TenThanNhan Text Tên thân nhân của. NgaySinh DateTime Ngày sinh của thân nhân. QuanHe Text Mối quan hệ của thân nhân và nhân viên. 2) Thiết lập mối quan hệ giữa các bảng đã cho 3) Nhập dữ liệu cho các bảng. Tạo biểu mẫu Main/Sub Form cho bảng DuAn (main) và NhanVien (sub). 6) Thực hiện các báo cáo (Report): Hãy dùng công cụ Wizard để tạo báo cáo 1.