Bài giảng Tin học ứng dụng - Bài 2: Xây dựng cơ sở dữ liệu Access - Thiều Quang Trung
Bảng dữ liệu
• Bảng dữ liệu:
– Nơi lưu trữ dữ liệu tác nghiệp cho ứng dụng;
– Mỗi cột lưu giữ một loại thông tin;
– Mỗi dòng lưu trữ thông tin của một đối tượng bao
gồm tất cả các cột.
• Một CSDL có thể có nhiều bảng. Các bảng phải được
thiết kế:
– Có thể lưu trữ được đầy đủ dữ liệu cần thiết
– Giảm tối đa tình trạng gây dư thừa dữ liệu
– Dễ dàng bảo trì CSDL (thuận tiện trong cập nhật, tìm
kiếm, truy vấn)
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học ứng dụng - Bài 2: Xây dựng cơ sở dữ liệu Access - Thiều Quang Trung", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Tin học ứng dụng - Bài 2: Xây dựng cơ sở dữ liệu Access - Thiều Quang Trung
BÀI 2 XÂY DỰNG CƠ SỞ DỮ LIỆU ACCESS GV Th.S. Thiều Quang Trung Trường Cao đẳng Kinh tế Đối ngoại • Bảng dữ liệu và các thuật ngữ liên quan 1 • Kiểu dữ liệu và các thuộc tính của trường dữ liệu 2 • Mối liên kết và các kiểu liên kết 3 • Thuộc tính Lookup 4 Nội dung GV. Thiều Quang Trung 2 Giới thiệu • Xây dựng CSDL là bước đầu tiên trong quy trình phát triển một ứng dụng trên Access – Một CSDL được thiết kế tốt sẽ đáp ứng yêu cầu của người dùng • CSDL Access là một đối tượng bao gồm: – Các bảng dữ liệu (tables) – Mối liên kết giữa các bảng (relationships) GV. Thiều Quang Trung 3 Bảng dữ liệu • Bảng dữ liệu: – Nơi lưu trữ dữ liệu tác nghiệp cho ứng dụng; – Mỗi cột lưu giữ một loại thông tin; – Mỗi dòng lưu trữ thông tin của một đối tượng bao gồm tất cả các cột. • Một CSDL có thể có nhiều bảng. Các bảng phải được thiết kế: – Có thể lưu trữ được đầy đủ dữ liệu cần thiết – Giảm tối đa tình trạng gây dư thừa dữ liệu – Dễ dàng bảo trì CSDL (thuận tiện trong cập nhật, tìm kiếm, truy vấn) GV. Thiều Quang Trung 4 Minh họa bảng dữ liệu Field Record Tên bảng GV. Thiều Quang Trung 5 Bảng dữ liệu • Bảng bao gồm: – Tên bảng – Các trường (fields) • Tên trường, kiểu dữ liệu, kích thước trường, thuộc tính cần thiết cho mỗi trường – Các bản ghi (records) – Khoá chính (primary key) GV. Thiều Quang Trung 6 Bảng dữ liệu • Tên bảng: – Tên bảng thường được đặt sau khi tạo xong cấu trúc của bảng – Có thể đổi lại tên bảng • Lưu ý: Không nên sử dụng dấu cách (space), các ký tự đặc biệt hoặc chữ tiếng Việt có dấu trong tên bảng GV. Thiều Quang Trung 7 Trường dữ liệu (cột/field) • Lưu trữ thông tin liên quan đến một thuộc tính của đối tượng; • Mỗi trường trong bảng là duy nhất, nhận diện qua một tên duy nhất trong bảng (đặt tên không chứa các ký tự !@#$%^&*()?><); • Mỗi trường có một tập hợp các thuộc tính miêu tả trường dữ liệu đó như: kiểu dữ liệu, trường khoá, độ lớn, định dạng, GV. Thiều Quang Trung 8 Các kiểu dữ liệu • Mỗi trường chỉ chứa duy nhất một kiểu dữ liệu T T Kiểu dữ liệu Mô tả Độ lớn 1 Text Xâu ký tự dài tối đa 255 ký tự 2 Memo Xâu ký tự có độ dài tối đa 65.535 ký tự 3 Number Số nguyên, thực dài : 1 , 2, 4 hoặc 8 Byte 4 Date/time Ngày tháng/giờ dài 8 Byte 5 Currency Tiền tệ dài 8 Byte 6 AutoNumber Số nguyên tự động được đánh số. 4 bytes GV. Thiều Quang Trung 9 Các kiểu dữ liệu T T Kiểu dữ liệu Mô tả Độ lớn 7 Yes/No Kiểu Logic Dữ liệu chỉ nhận một trong 2 giá trị true/false 8 OLE Object Đối tượng Hình ảnh, âm thanh, đồ họa 9 Lookup Wizard Cho phép chọn giá trị từ một danh sách các giá trị của một trường ở bảng khác .. GV. Thiều Quang Trung 10 Thuộc tính của trường • Công dụng: – Điều khiển hình thức thể hiện dữ liệu – Nhập liệu theo mẫu – Kiểm tra dữ liệu, ngăn cản nhập sai – Tăng tốc độ tìm kiếm GV. Thiều Quang Trung 11 Thuộc tính của trường Field Size Số ký tự của trường Text, hoặc kiểu của trường number Format Dạng hiển thị dữ liệu kiểu ngày và số Decimal Places Số chữ số thập phân trong kiểu number và cunency InputMask (Mặt nạ nhập) Quy định khuôn dạng nhập liệu Caption Đặt nhãn cho trường. Nhãn sẽ được hiển thị khi nhập liệu thay vì tên trường (nhãn mặc định). Default Value Xác định giá trị mặc định của trường Validation Rule Quy tắc dữ liệu hơp lệ. Dữ liệu phải thoả mãn quy tắc này mới được nhập Required Không chấp nhận giá trị rỗng. Cần phải nhập một dữ liệu cho trường. AllowZeroLength Chấp nhận chuỗi rỗng trong trường Text, Memo. Indexed Tạo chỉ mục để tăng tốc độ tìm kiếm trên trường này GV. Thiều Quang Trung 12 Thuộc tính của trường • Thuộc tính Validation Rule – Để kiểm tra sự hợp lệ của dữ liệu nhập vào => dựa trên một biểu thức (điều kiện) hợp lệ. Ví dụ: 0 : giá trị nhập vào phải khác 0 0 or >1 : giá trị nhập vào phải bằng 0 hoặc lớn hơn 1 Like "K???“ : phải nhập 4 ký tự, ký tự đầu phải là K Like "CTY*" : 3 ký tự đầu phải là CTY <#1/1/2016# : ngày nhập trước năm 2016 >=#1/1/2015# and <#1/1/2016# : ngày nhập phải trong năm 2015 GV. Thiều Quang Trung 13 Thuộc tính của trường • Thuộc tính Indexed – Thuộc tính này có thể nhận các giá trị: – No: không tạo chỉ mục hoặc xoá chỉ mục đã lập – Yes (Dupticates Ok): tạo chỉ mục – Yes (No Duplicates): tạo chỉ mục kiểu Unique (các giá trị cần khác nhau, giống như khoá chính). GV. Thiều Quang Trung 14 Khóa chính (primary key) • Khóa chính là tập hợp của một hoặc nhiều cột dữ liệu duy nhất không trùng lắp; • Dữ liệu của khóa chính trong bảng không được rỗng; • Khoá chính có tác dụng phân biệt giá trị các bản ghi trong cùng một bảng với nhau. GV. Thiều Quang Trung 15 Khóa chính (primary key) • Lợi ích của khóa chính: – Access tự động tạo chỉ mục (Index) trên khoá nhằm tăng tốc độ truy vấn và các thao tác khác; – Khi xem mẫu tin (dạng bảng hay mẫu biểu), các mẫu tin sẽ được trình bầy theo thứ tự khoá chính; – Khi nhập số liệu, Access kiểm tra sự trùng nhau trên khoá chính; – Access dùng khoá chính để tạo sự liên kết giữa các bảng. GV. Thiều Quang Trung 16 Khóa chính (primary key) • Đặt khóa chính: – Chon Field hoặc tổ hợp Field làm khóa chính (nhấn Ctrl khi chọn nhiều Field) – Ấn nút lệnh Primary Key (hoặc chọn Edit –> Primary Key) – Khoá chính là không bắt buộc, có thể xóa khóa sau khi đã thiết lập khoá chính GV. Thiều Quang Trung 17 Khóa chính (primary key) • Xoá khoá chính: Chọn View Indexes. Kết quả nhận được cửa sổ Indexes trong đó chứa các trường của khoá chính • Chọn các trường (của khoá chính, mỗi trường trên một dòng) cần xoá rồi bấm phím Delete. GV. Thiều Quang Trung 18 Bản ghi dữ liệu (mẫu tin/record) • Là một thể hiện dữ liệu của các cột trong bảng; • Mỗi bản ghi lưu trữ thông tin của một đối tượng; • Tại vị trí con trỏ bản ghi (đang nằm ở bản ghi nào) người dùng có thể chỉnh sửa dữ liệu bản ghi đó; • Bản ghi trắng cuối cùng của mỗi bảng được gọi là EOF. GV. Thiều Quang Trung 19 Tiến trình thiết kế CSDL • Xác định thông tin cần lưu trữ • Xây dựng các bảng, có hai cách tiếp cận – Tìm ra các kiểu thực thể (đối tượng, chủ thể, khái niệm, sự kiện) • Mỗi kiểu thực thể Một bảng • Sau đó, với mỗi kiểu thực thể tìm ra các trường mô tả chúng – Phát hiện các trường cần lưu trữ, sau đó gom các trường liên quan vào các bảng GV. Thiều Quang Trung 20 Tiến trình thiết kế CSDL • Ví dụ xác định các bảng lưu trữ sau: – “Một công ty cần lưu trữ các thông tin về khách hàng và các cuộc gọi đến công ty của khách hàng và được nhân viên công ty tiếp nhận” • Khách hàng • Cuộc gọi • Nhân viên GV. Thiều Quang Trung 21 Tạo bảng bằng Design View Trường khóa Các thuộc tính của trường Kiểu dữ liệu GV. Thiều Quang Trung 22 Tạo bảng bằng Design View • Gõ tên trường ở ô trong cột Fieldname • Chọn kiểu trường trong cột Data Type • Mô tả (Description): thông tin mô tả trường, phần này có thể có hoặc không. • Xác định các thuộc tính của trường trong bảng Properties • Lưu bảng : Mở Menu File, chọn Save, đặt tên bảng, chọn OK GV. Thiều Quang Trung 23 Lưu cấu trúc bảng và đặt tên • Chọn File, Save hoặc bấm chuột tại biểu tượng Save trên thanh công cụ. Khi ghi lần đầu thì Access sẽ hiện cửa sổ Save as: – Trong hộp Table Name, gõ tên bảng, rồi bấm OK. – Tên bảng không nên chứa dấu cách, các ký tự đặc biệt khác hoặc chữ Việt có dấu. GV. Thiều Quang Trung 24 Lưu cấu trúc bảng và đặt tên • Với những bảng không thiết lập trường khoá, trong quá trình ghi lại cấu trúc bảng, máy tính sẽ hỏi: • Nhấn Yes- máy tính sẽ tạo thêm một trường mới có tên ID và thiết lập trường này làm khoá. Nếu không muốn như vậy hãy nhấn No; nhấn Cancel để huỷ lệnh lưu GV. Thiều Quang Trung 25 Thay đổi thiết kế, chỉnh sửa cấu trúc bảng • Khi thiết kế bảng, thường có các yêu cầu sau: – Xoá một hoặc nhiều trường – Thay đổi tên, kiểu, mô tả và thuộc tính của trường – Thay đổi vị trí của trường – Thêm trường mới GV. Thiều Quang Trung 26 Thay đổi thiết kế, chỉnh sửa cấu trúc bảng • Xoá trường: chọn trường, bấm phím Delete hoặc chọn Delete Field từ Menu Edit (Để xoá đồng thời nhiều trường, có thể dùng các phím Shift và Ctrl để chọn các trường cần xoá, rồi bấm phím Delete hoặc chọn Edit, Delete Field). • Chèn thêm một trường mới: chọn trường mà trường mới sẽ được chèn vào trước, rồi chọn Edit, Insert Field. • Di chuyển trường: chọn trường cần di chuyển, rồi kéo trường tới vị trí mới. GV. Thiều Quang Trung 27 Thiết lập quan hệ giữa các bảng • Mối liên kết (relationships) giữa các bảng là sự gom nhóm các bảng để đảm bảo tính ràng buộc toàn vẹn giữa các bảng liên quan (trong các thao tác thêm, sửa, xoá các bản ghi). • Nguyên tắc tạo mối liên kết: đặt quan hệ giữa khoá chính của một bảng (gọi là bảng chính) với trường nào đó của bảng khác (gọi là bảng quan hệ), các trường này thường cùng tên, cùng kiểu. • Khóa ngoại (foreign key): là một trường trên bảng quan hệ dùng để liên kết với khóa chính của bảng chính. GV. Thiều Quang Trung 28 Thiết lập quan hệ giữa các bảng • Minh họa các mối liên kết giữa 3 bảng GV. Thiều Quang Trung 29 Các kiểu liên kết • Có 2 kiểu liên kết: – Liên kết 1-1: • Các trường sử dụng để tạo quan hệ trong 02 bảng đều là khoá chính. • Mỗi bản ghi trong bảng quan hệ phải có một bản ghi tương ứng trong bảng chính, ngược lại, với mỗi giá trị khóa trong bảng chính thì chỉ có duy nhất một bản ghi tương ứng trong bảng quan hệ GV. Thiều Quang Trung 30 Minh họa liên kết 1-1 giữa hai bảng GV. Thiều Quang Trung 31 Các kiểu liên kết – Liên kết 1-n: • Trường liên kết dùng trong bảng chính phải là khoá chính, còn trường trong bảng quan hệ là khoá ngoại; • Mỗi bản ghi bên bảng chính liên kết với một hoặc nhiều bản ghi bên bảng quan hệ, ngược lại, mỗi bản ghi bên bảng quan hệ chỉ liên kết duy nhất với 1 bản ghi bên bảng chính; • Cách thiết lập mối liên kết 1-n: lấy khóa chính của bảng chính làm khóa ngoại của bảng quan hệ. GV. Thiều Quang Trung 32 Minh họa liên kết 1-n giữa hai bảng GV. Thiều Quang Trung 33 Cách tạo mối liên kết giữa các bảng • Bước 1: Mở cửa sổ thiết lập quan hệ: Database Tools | Relationships • Bước 2: Add các bảng tham gia thiết lập quan hệ thông qua hộp thoại Show Tables (nếu chưa thấy hộp thoại này dùng thực đơn Relationships | Show table) GV. Thiều Quang Trung 34 Cách tạo mối liên kết giữa các bảng • Bước 3: Dùng chuột kéo (drag) trường cần liên kết của bảng này thả (drop) lên trường cần liên kết đến của bảng kia. Khi đó hộp thoại Edit Relationships xuất hiện: GV. Thiều Quang Trung 35 Cách tạo mối liên kết giữa các bảng • Trường hợp muốn thiết lập các thuộc tính đảm bảo toàn vẹn dữ liệu (Enforce Referential Integrity) cho các bảng, chọn 3 mục chọn sau: : => đồng ý thiết lập các thuộc tính đảm bảo toàn vẹn dữ liệu. : => đảm bảo toàn vẹn dữ liệu khi xoá dữ liệu giữa 2 bảng liên quan: nếu một bản ghi ở bảng chính bị xoá, toàn bộ các bản ghi bên bảng quan hệ sẽ được tự động xoá theo. GV. Thiều Quang Trung 36 Cách tạo mối liên kết giữa các bảng : => đảm bảo toàn vẹn dữ liệu khi cập nhật dữ liệu giữa 2 bảng liên quan: nếu giá trị trường khoá liên kết bên bảng chính bị thay đổi thì toàn bộ giá trị trường khoá liên kết ở bảng quan hệ cũng bị thay đổi theo. GV. Thiều Quang Trung 37 Thuộc tính LOOKUP • Thuộc tính LOOKUP dùng để dò tìm giá trị, được thiết lập tại trường tham gia liên kết bên bảng quan hệ (phía quan hệ nhiều) sang trường khóa tham gia liên kết bên bảng chính. GV. Thiều Quang Trung 38 Thuộc tính LOOKUP • Ví dụ: thiết lập thuộc tính LOOKUP cho trường khachID của bảng HOADON sang trường khachID của bảng KHACH trong CSDL quản lý bán hàng: – Bước 1: Mở bảng có trường cần thiết lập LOOKUP ở chế độ Design View; – Bước 2: Kích hoạt trình LookUp Wizard bằng cách: Tại cột Data Type của trường cần thiết lập thuộc tính LOOKUP, chọn mục Lookup Wizard từ danh sách thả xuống: GV. Thiều Quang Trung 39 Thuộc tính LOOKUP GV. Thiều Quang Trung 40 Thuộc tính LOOKUP • Hộp thoại Lookup Wizard xuất hiện: GV. Thiều Quang Trung 41 Thuộc tính LOOKUP • Nhấn Next để tiếp tục • Bước 3: Chọn dữ liệu cho danh sách: GV. Thiều Quang Trung 42 Thuộc tính LOOKUP • Chọn xong nhấn Next, hộp thoại sau xuất hiện: GV. Thiều Quang Trung 43 Thuộc tính LOOKUP • Về nguyên tắc chỉ cần đưa trường khachID của bảng KHACH vào danh sách Selected Fields: là đủ, tuy nhiên nên đưa thêm trường tenkhach để thuận tiện hơn khi chọn lựa dữ liệu khi nhập sau này. • Chọn xong nhấn Next để kết thúc. GV. Thiều Quang Trung 44 GV: Thiều Quang Trung 45 Câu 1: Câu phát biểu nào sau đây sai ? a. Khóa chính là tập hợp của một hoặc nhiều cột dữ liệu duy nhất không trùng lắp b. Mối liên kết giữa các bảng là sự gom nhóm các bảng để đảm bảo tính ràng buộc toàn vẹn giữa các bảng liên quan c. Trong liên kết 1-1, mỗi bản ghi trong bảng quan hệ phải có một bản ghi tương ứng trong bảng chính, ngược lại, với mỗi giá trị khóa trong bảng chính thì chỉ có duy nhất một bản ghi tương ứng trong bảng quan hệ d. “Cascade Update Related Fields” đảm bảo toàn vẹn dữ liệu khi cập nhật dữ liệu, nếu giá trị trường khoá liên kết bên bảng quan hệ bị thay đổi thì toàn bộ giá trị trường khoá liên kết ở bảng chính cũng bị thay đổi theo. GV. Thiều Quang Trung 46 Câu 2: trong sơ đồ quan hệ sau, câu nào sau đây là sai? GV. Thiều Quang Trung 47 a. Bảng NHACUNGCAP liên kết 1-n với bảng DONDH b. Bảng KHACHHANG liên kết 1-n với bảng DONDH c. Bảng DONDH liên kết 1-n với bảng CTDONDH d. Bảng MATHANG liên kết 1-n với bảng DONDH Câu 3: trong sơ đồ quan hệ sau, câu nào sau đây là đúng? GV. Thiều Quang Trung 48 a. Bảng LOAIVT liên kết 1-n với bảng DMVT trên cột MAVT b. Bảng CTHOADON liên kết 1-1 với HOADON trên 3 cột LOAIHD, SOHD, MAVT c. Bảng CTHOADON liên kết 1-n với DMVT trên cột LOAIHD d. Bảng HOADON liên kết 1-n với CTHOADON trên 2 cột LOAIHD, SOHD Câu 4: trong sơ đồ quan hệ sau, câu nào sau đây là sai? GV. Thiều Quang Trung 49 a. MALOAI là khóa chính của bảng LOAIVT và là khóa ngoại của bảng DMVT b. MAVT là khóa chính của bảng DMVT và là khóa ngoại của bảng CTHOADON c. LOAIHD và SOHD là khóa chính của bảng CTHOADON và là khóa ngoại của bảng HOADON d. MAKHO là khóa ngoại của bảng HOADON và là khóa chính của bảng DMKHO Câu 5: Giả sử khi tạo các mối liên kết có check “Enforce Referential Integrity”, câu nào sau đây là sai? GV. Thiều Quang Trung 50 a. Khi nhập DMVT, giá trị MALOAI phải tồn tại trong bảng LOAIVT b. Khi nhập CTHOADON, giá trị MAVT phải tồn tại trong bảng DMVT c. Khi nhập HOADON, các giá trị LOAIHD, SOHD phải tồn tại trong bảng CTHOADON d. Khi nhập HOADON, giá trị MAKHO phải tồn tại trong bảng DMKHO
File đính kèm:
- bai_giang_tin_hoc_ung_dung_bai_2_xay_dung_co_so_du_lieu_acce.pdf