Chương 1: Phân tích và tạo lập CSDLMục tiêu: Hiểu, phân tích và tạo lập được CSDL Nội dung:Giới thiệu:Cơ sở dữ liệu databaseHệ quản trị cơ sở dữ liệuXác định các thuộc tính mô tả đ
Trang 1TIN HỌC ỨNG DỤNG TRONG KINH DOANH Nguyễn Hoàng Sơn Vĩ
Trang 2Nội dung bài học: 6 chương
Chương 1: Phân tích và tạo lập CSDL
Chương 2: Giới thiệu về Microsoft Access
Chương 3: Bảng biểu (Table), Khoá (key), quan hệ (relationship) và các phép nối (join) Table.
Chương 4: Câu truy vấn Query và ngôn ngữ SQL.
Chương 5: Tạo Báo biểu (Report)
Chương 6: Tạo Biểu mẫu (Form)
Điểm môn học:
•Điểm môn học = Điểm đánh giá quá trình x 40% + Điểm thi kết thúc môn học x 60%.
•Đánh giá quá trình:
- Đánh giá thường xuyên: (hệ số 1) hoàn thành theo từng phần bài tập được giao.- Đánh giá giữa kỳ: (hệ số 2) hình thức kiểm tra thực hành trên máy.
•Đánh giá cuối kì: bài thi thực hành trên máy
Trang 3Chương 1: Phân tích và tạo lập CSDL
Mục tiêu: Hiểu, phân tích và tạo lập được CSDL Nội dung:
Giới thiệu:
Cơ sở dữ liệu (database)
Hệ quản trị cơ sở dữ liệu
Xác định các thuộc tính mô tả đối tượng
Thiết lập mô hình quan hệ
Kiểm tra
Trang 41 Giới thiệu
1.1Cơ sở dữ liệu
Kháiniệm CSDL (Database)
•Kháiniệm CSDL trong Excel
Làbảng dữ liệu được tổ chức sắp xếp theo dạng dòng(row) và cột(column) dữ liệu
•Kháiniệm CSDL trong Access
Làtập hợp tất cả dữ liệu được tổ chức sắp xếp sao có tínhcấu trúc
và cókhả năngđáp ứng được nhu cầu truy xuất dữ liệu của nhiềungười trong cùng 1 thời điểm
Trang 51 Giới thiệu
1.1 Cơ sở dữ liệu
Tiến trình xây dựng ứng dụng CSDL: là tiến trình thu thập những thông tin yêu cầu đòi hỏi thực tế, sau đó phân tích những yêu cầu, rồi thiết kế dữ liệu và những chức năng của hệ thống, cuối cùng là vận hành hệ thống.
Trang 61 Giới thiệu
1.2 Hệ quản trị cơ sở dữ liệu
•Là phần mềm dùng để tổ chức, xây dựng và quản trị cơ sở dữ liệu
•Tùy thuộc vào mức độ lớn, nhỏ dữ liệu cần quản lý mà người dùng sẽchọn các hệ quản trị cơ sở dữ liệu khác nhau (quy mô quản lý dữ liệu,mức độ bảo mật, độ an toàn dữ liệu, nâng cấp và phát triển của hệthống thông tin,…)
•VD các hệ quản trị cơ sở dữ liệu thông dụngSQL Server, Oracle, DB2,…
•Tuy nhiên trong một vài tài liệu thì Access được gọi là cơ sở dữ liệu chứkhông phải là hệ quản trị cơ sở dữ liệu vì những tính năng như bảo mật,phân quyền hạn cho người dùng,…
Trang 71 Giới thiệu
1.3 Lược đồ quan hệ
•Lược đồ quan hệ là khái niệm để chỉ tất cả các thuộc tính mà mô tả chođối tượngtrong CSDL và được biểu diễn dưới dạng sau
HoaDon(MaHD, Ngaylap, Ngaygiao,#MaKH,#MaNV)
Ghi chú:
Lược đồ quan hệ đối tượng HoaDon
MaHD là khóa chính, #MaKH, #MaNV là khóa ngoại
•Lược đồ quan hệ được xây dựng dựa trên nền tảng lý thuyết tập hợp.
•Trong 1 CSDL sẽ có nhiều lược đồ quan hệ.
Trang 81 Giới thiệu
1.4 Mô hình quan hệ
•Là tập hợp tất cả các đối tượng trong cùng một CSDL có quan hệ với nhau được biểu diễn như sau:
Trang 92 Các bước thiết lập CSDL
2.1 Xác định mục tiêu xây dựng CSDL •Xây dựng CSDL quản lý cái gì?
•Mục đích của việc xây dựng CSDL làm gì? •Hệ thống quản lý cái gì?
2.2 Xác định các đối tượng trong CSDL •Các đối tượng là cái gì?
•Làm thế nào để xác định các đối tượng?
•Những vấn đề trùng lắp và dư thừa dữ liệu khi xác định những thuộc tính trong mỗi đối tượng.
Trang 10Dư thừa dữ liệu
VD lược đồ quan hệ giữa nhà cung cấp và sản phẩm
NhaCC(MSKH, TENKH, TP, PVC, MSMH, TENMH, DG, SL)
Nhận xét:
• Bảng dữ liệu trên có các thuộc tính lặp đi lặp lại trong một số trường dữ liệu (field)
Trang 11Dư thừa dữ liệu
1.TH sửa dữ liệu → bất tiện trong viêc sửa chữa dữ liệu
•Khi khách hàng S1 di chuyển vị trí từ thành phố London sang thành phố Chicago chẳng hạn → bắt buộc chúng ta phải duyệt lại hết toàn bộ dữ liệu nếu không sẽ dẫn đến tình trạng dữ liệu không nhất quán.
2.TH thêm dữ liệu → bất tiện trong viêc thêm dữ liệu
•Ví dụ: Ta không thể thêm thông tin của khách hàng S5 (Adams, Athens) vào quan hệ vì khách hàng này chưa cung ứng mặt hàng nào hết.
•Lý do: Nếu ta thêm khách hàng này vào quan hệ → MSMH sẽ để trống, mà MSMH là một phần của khóa chính trong quan hệ→ không chấp nhận một bộ mà các giá trị của khóa chính chưa xác định.
3.TH xóa dữ liệu → bất tiện trong viêc xóa dữ liệu
•Ví dụ: Ta có thông tin của khách hàng S3 chỉ cung cấp một mặt hàng, Trường hợp nếu khách hàng này ngưng cung cấp mặt hàng này thì ta sẽ mất hết toàn bộ thông tin của khách hàng S3.
•Lý do: không chấp nhận một bộ mà các giá trị của khóa chính chưa xác định.
Kết luận:
Cần phải tách đối tượng trên thành 2 đối tượng riêng để tổ chức lưu trữ dữ liệu riêng từng đối tượng là Nhà Cung Cấp và Sản phẩm (hay là Khách Hàng và Hàng Hóa)
Trang 122.3 Xác định các thuộc tính
•Thuộc tính là dữ liệu mô tả đối tượng.
•Thuộc tính của đối tượng nào sẽ mô tả cho đối tượng đó.
•Thuộc tính khóa chính (Primary Key) là thuộc tính có thể suy ra được các thuộc tính còn lại (là thuộc tính duy nhất không trùng lắp)
•VD thuộc tính khóa chính của đối tượng SanPham là MaSP (mã sản phẩm) Từ mã sản phẩm chúng ta có thể biết tên sản phẩm, giá,… và các thông tin khác liên quan đến sản phẩm đó
•Không lưu trữ các giá trị tính toán làm thuộc tính VD thuộc tính tuổi (vì tuổi có thể tính được từ ngày sinh,…)
•Phân rã các thuộc tính thành các trường dữ liệu nhỏ nhất VD như Họ và tên (Họ riêng, Tên riêng)
Trang 132.4 Thiết lập mô hình quan hệ
•Đây là bước thiết lập quan hệ các đối tượng với nhau nhằm mục đích để tạo sự liên kết dữ liệu với
Trang 14•VD: Hóa đơn và Nhân viên
• Một Nhân viên có thể lập nhiều hóa đơn Nhưng một hóa đơn thì chỉ có 1 nhân viên lập mà thôi
•Khi gặp quan hệ 1 – n thì chúng ta sẽ di chuyển khóa chính
bên bảng 1 sang bảng n làm khóa ngoại
Lưu ý: Khóa ngoại là thuộc tính du nhập từ bảng 1 qua bảng n để liên kết dữ liệu giữa 2 đối tượng có liên quan với nhau.
Trang 15Quan hệ 1-1 (một – một)
•VD: quan hệ giữa Hóa đơn và Phiếu thanh toán
• Một hóa đơn thì có 1 phiếu thanh toán và ngược lại •Đối với quan hệ 1 – 1 thì chúng ta phải chọn 1
trong 2 trường hợp sau:
• Di chuyển khóa chính bên bảng A sang B làm khóa ngoại
• Hoặc trường hợp thứ 2 là di chuyển khóa chính bên bảng B sang A làm khóa ngoại
Trang 16Quan hệ n – n (nhiều - nhiều)
•Đây là 1 quan hệ phức tạp
• Trong một Hóa đơn thì có nhiều Sản phẩm Nhưng một Sản phẩm cũng có trong nhiều Hóa đơn
•Khi gặp trường hợp này chúng ta sẽ tách quan hệ trên thành 1 bảng trung gian thứ 3 Sau đó di chuyển khóa chính ở 2 bảng trên qua để làm khóa chính cho bảng trung gian thứ 3
•VD: Chi tiết hóa đơn (bảng trung gian thứ 3)
• CTHD(#MaHD,#MaSP, SoLuong, DonGia)
Trang 17VD mô hình quan hệ CSDLQuản Lý Bán Hàng
Trang 182.5 Kiểm tra lại các bước trên
•Kiểm tra lại các bước phân tích thiết kế hệ thống, xác định đối tượng, các thuộc tính, thiết lập mô hình quan hệ Sau đó mô hình hóa các đối tượng trên thành các bảng dữ liệu lưu trữ trên máy tính Nhập dữ liệu chạy thử vào các bảng dữ liệu để kiểm tra lỗi và các trường hợp trùng lấp dữ liệu.
Trang 19Câu hỏi bài tập
1.Thiết kế CSDL quản lý nhân sự trong công ty
2.Thiết kế CSDL quản lý sinh viên đăng ký môn học3.Thiết kế CSDL quản lý bán hàng
Trang 20Chương 2: Giới thiệu về Microsoft Access
Mục tiêu: Giới thiệu và cung cấp kiến thức căn bản về MS Access 2010
Nội dung:
Giới thiệu MS Access
Các công cụ trong MS Access
Trang 211 Giới thiệu MS Access
Microsoft Access là một chương trình ứng dụng được dùng để tạo và quản lý CSDL
Giống như những chương trình ứng dụng khác trên máy tính Để sử dụng MS Access, người dùng phải cài đặt chương trình MS Access trong bộ Office của Microsoft.
CSDL Access là một tập tin có định dạng mdb (Office 2003 trở về trước) hoặc định dạng accdb (Office 2007 trở về sau)
Có thể mở và chạy tập tin CSDL Access bằng cách double click trực tiếp lên tập tin, hoặc có thể mở chương trình MS Access trong bộ Office rồi chỉ đường dẫn đến tập tin CSDL Access.
Đường dẫn chương trình: Start → Programs → Microsoft Office → Microsoft Access.
Trang 22Tạo mới CSDL
Đặt tên CSDL (đặt tên file)
Chọn đường dẫn lưu trữ tập tin CSDL
Chọn Create để tạo CSDL
Trang 232 Giới thiệu các công cụ trong Access
Tab File: để tạo, mở, lưu, export CSDL
Tab Home: chứa công cụ định dạng nội dung
Tab Create: chứa công cụ để tạo các đối tượng bảng, query, form, report, macro tùy theo mục đích sử dụng.
Tab External Data: chứa công cụ lấy dữ liệu từ bên ngoài
Tab Database tools: chứa công cụ xử lý CSDL
Tab Help: trợ giúp
Trang 242 Giới thiệu các công cụ trong Access
Công cụ dùng để thiết kế và tạo các mẫu giao diện tương tác với người dùng và cho phép người dùng nhập liệu hoặc xử lý dữ liệu từ các mẫu biểu này.
4 Report
Công cụ dùng để thiết kế và tạo các mẫu báo cáo với dữ liệu lấy từ query hoặc từ các bảng dữ liệu trong CSDL
5 Macro
Nhóm các tập lệnh cho phép người dùng xử lý dữ liệu trên form, report,… mà không cần phải biết lập trình
Trang 25Chương 3: Bảng biểu (Table), Khoá (key), quan hệ (relationship) và các phép nối (join) Table
Mục tiêu: Giới thiệu và cung cấp kiến thức, kỹ năng cơ bản về công cụ Table trong MS Access
Nội dung:
Tạo bảng
Khái niệm
Các kiểu dữ liệu
Khai báo các thuộc tính
Khóa chính, khóa ngoại
Thiết lập mô hình quan hệ
Các phép kết (join)
Trang 261 Giới thiệu
•Bảng là công cụ cho phép người dùng thiết kế và tổ chức lưu trữ dữ liệu trong CSDL
•Một số thuật ngữ liên quan
• Record
• Field
•Câu hỏi liên quan
• Tạo bảng như thế nào?
• Tổ chức lưu trữ như thế nào?
• Import dữ liệu như thế nào?
Trang 272 Tạo bảng
Có thể tạo bảng tự động (sử dụng wizard – trợ giúp tạo bảng nhanh từ MS Access)
Tạo bảng thủ công (sử dụng design – người dùng tự thiết kế riêng các thuộc tính và chọn lựa loại dữ liệu phù hợp)
Có thể import dữ liệu từ một CSDL khác từ bên ngoài để sử dụng lại các bảng, truy vấn,….
Trang 282 Tạo bảng
•Thứ tự các bước tạo bảng • Create → table design
• Khai báo các trường dữ liệu (field)
• Khai báo kiểu dữ liệu (data type) cho các trường dữ liệu • Khai báo các thuộc tính riêng cho các trường dữ liệu • Thiết lập khóa chính (Primary key) nếu có.
• Đóng, đặt tên và lưu bảng mới
•Lưu ý: Cách thức đặt tên bảng, các thuộc tính nên thống nhất:
•Không bỏ dấu tiếng việt tên bảng, tên thuộc tính.
•Viết tên bảng và tên các thuộc tính dính liền hoặc sử dụng dấu gạch nối để nối các chữ lại.
Trang 29•Số tăng tự động (auto number) (4 Byte)
•Ngày tháng (Date/Time) → 8 Byte
•Tiền tệ (Currency) → 8 Byte
•Yes/No (Bool) → 1 bit
Trang 304 Khai báo các thuộc tính và thiết lập khóa chính (Primary key)
Trang 31Ví dụ: Thiết kế bảng Nhân viên
Cột Field Name: Nơi chứa các thuộc tính mô tả đối tượng Nhân
viên gồm: MaNV, Hoten, Ngaysinh, ….
Cột Data Type: Nơi chọn các loại dữ liệu và cấp phát bộ nhớ lưu trữ
tương ứng với mỗi loại thuộc tính riêng của đối tượng Nhân viên
Cột Description (tùy chọn): Nơi ghi thêm thông tin diễn giải cho mỗi
thuộc tính riêng (giải thích từ ngữ viết tắt) Giúp cho người dùng mới tiếp cận nhanh và hiểu loại dữ liệu đang xử lý.
Trang 32Ví dụ: Thiết kế bảng Nhân viên
Thuộc tính riêng (Field Properties) cho mỗi trường dữ liệu
Cột General: Nơi lựa chọn những thuộc tính riêng mô tả cho mỗi trường dữ liệu riêng của mình.
Field size: số lượng ký tự tối đa nhập vào ô Mã NV
Format: định dạng nội dung chuyển chữ thường sang hoa và
•Ví dụ: đối với điện thoại nhân viên thì định dạng như sau:
@; “Không có”; “Chưa biết”
Caption: đặt tựa đề đầu mỗi cột dữ liệu trong bảng CSDL (không cần thiết)
Default Value: Giá trị mặc định lúc ban đầu
Validation Rule, Validdation Text: định dạng quy tắc hợp lệ và thông báo trả về nếu quy tắc bị vi phạm.
Required: quy định dữ liệu bắt buộc phải nhập.
Allow zero length: cho phép nhập chuỗi rỗng.
Trang 33Ví dụ: Thiết kế bảng Nhân viên
Chọn trường dữ liệu MaNV, sau đó chọn biểu tượng khóa chính (Primary Key) trong tab Design để thiết lập khóa chính cho bảng Nhân viên.
Lưu và đặt tên bảng T_NhanVien
Đóng bảng T_NhanVien
Trang 34Thực hiện tương tự cho các bảng còn lại theo yêu cầu bài tập.
Lưu ý:
Thực hiện tạo 1 CSDL chứa nhiều bảng.
Trang 355 Thiết lập mô hình quan hệ
•Click chọn tab Database tools → relationships •Đưa lần lượt các bảng vào cửa sổ relationships
•Di chuyển thuộc tính khóa chính bảng 1 sang thuộc tính khóa ngoại có quan hệ ở bảng n để thiết lập mô hình quan hệ giữa các đối tượng có liên quan.
•Ví dụ: thiết lập mô hình quan hệ giữa 2 bảng T_HoaDonBH và T_KhachHang
Trang 365 Thiết lập quan hệ
•Ràng buộc toàn vẹn (Enforce Referential Integrity)
• Thứ 1: Chúng ta không thể nhập dữ liệu bên bảng nhiều được nếu bên 1 chưa nhập dữ liệu
• Thứ 2: Chúng ta không thể xóa dữ liệu bên 1 nếu dữ liệu có quan hệ với bên bảng nhiều
• Thứ 3: Chúng ta không thể sửa đổi dữ liệu bên bảng 1 nếu dữ liệu có quan hệ với bên bảng nhiều).
•Tự động cập nhật dữ liệu (Cascade Update Related Fields) • Tự động cập nhật dữ liệu bên nhiều khi bên 1 thay đổi.
•Tự động xóa dữ liệu (Cascade Delete Related Records) • Tự động xóa dữ liệu bên bảng nhiều khi bên 1 xóa.
Trang 372.Kết trái (Left join)
▪Phép kết trái: Lựa chọn này cho phép người dùng chọn tất cả dữ liệu bên bảng trái (như hình minh họa thì ưu tiên chọn tất cả dữ liệu bảng khách hang Dù họ chưa có bất kỳ hóa đơn nào)
3.Kết phải (Right join)
•Phép kết phải: Lựa chọn này cho phép người dung chọn tất cả dữ liệu bên bảng phải (như trong hình minh họa bên thì không có ý nghĩa Vì không tồn tại hóa đơn mà không có khách hàng)
Trang 386 Các phép kết (join type)
Kết bằng
Kết quả phép kết Inner join (kết bằng):
Trang 396 Các phép kết (join type)
Kết trái
Kết quả phép kết Left join (kết trái):
Trang 406 Các phép kết (join type)
Kết phải
Kết quả phép kết Right join (kết phải):
Trang 41Thiết lập mô hình quan hệ theo yêu cầu bài tập.
Trang 42Thực hiện nhập dữ liệu theo yêu cầu vào các bảng để kiểm tra dữ liệu.
Một số câu hỏi:
1.Nguyên tắc nhập dữ liệu như thế nào?
2.Chỉnh sửa lại mô hình quan hệ như thế nào?
3.Chỉnh sửa lại các bảng trong CSDL như thế nào?
4.Sử dụng tính năng Import dữ liệu để lấy các bảng từ 1 CSDL khác như thế nào?
5.Sử dụng tính năng lookup value để chọn lại dữ liệu từ 1 bảng khác có quan hệ như thế nào?
Trang 43Chương 4: Câu truy vấn Query và ngôn ngữ SQL
Mục tiêu: Giới thiệu và cung cấp kiến thức kỹ năng truy vấn dữ liệu và ngôn ngữ truy vấn có cấu trúc SQL
Nội dung:
Giới thiệu công cụ truy vấn
Phân loại truy vấn
Trang 441 Giới thiệu
•Query là công cụ được dùng để truy vấn dữ liệu (truy xuất dữ liệu) từ các bảng trong CSDL.
•Những điểm lưu ý trong phần query
• Query là gì?
• Có bao nhiêu loại query?
• Có biết mối quan hệ các bảng không?
• Cách đặt điều kiện truy vấn như thế nào?
• Sử dụng các hàm để truy vấn dữ liệu như thế nào?
Trang 451 Giới thiệu
•Query là công cụ dùng để truy vấn dữ liệu Cho phép người sử dụng có thể truy xuất dữ liệu nhanh chóng từ các bảng, các query tạm khác vào bất kỳ thời điểm nào Cho phép người dùng có thể kết xuất dữ liệu lấy từ query đưa vào các bảng tạm, các query tạm, các mẫu biểu nhập liệu (forms), các báo cáo (reports)
•Công cụ query trong Access sử dụng ngôn ngữ SQL (Structure Query Language) tạm dịch là ngôn ngữ truy vấn có cấu trúc để truy vấn dữ liệu từ các bảng dữ liệu hoặc từ các query tạm khác.
Trang 461 Giới thiệu
•Để thực hiện truy vấn chọn tab create → query design
Trang 471 Giới thiệu
•Chọn các bảng có liên quan để tham gia truy vấn
•Chọn các thuộc tính cần xem trong bảng bằng cách double click vào các thuộc tính trong bảng đã chọn.
•Chọn loại query thực hiện theo từng mục đích khác nhau
•Thiết lập điều kiện để chọn lọc dữ liệu nếu cần Hoặc sử dụng các hàm để xử lý dữ liệu nếu cần.
•Chọn lệnh Run để chạy query.
•Đóng, lưu và đặt tên query
Trang 482 Phân loại query
•Select query (truy vấn chọn)
•Parameter query (truy vấn có tham số)
•Crosstab query (truy vấn tham khảo chéo)
•Action query (truy vấn xử lý dữ liệu)
•Make table query → Tạo bảng tạm chứa dữ liệu
•Append query → Nối thêm dữ liệu
•Update query → Cập nhật dữ liệu
•Delete query → Xóa dữ liệu