Academia.eduAcademia.edu
Giáo trình “Các hệ qu n tr c s dữ liệu" Ch ng 1 TỔNG QUAN CƠ SỞ DỮ LIỆU ACCESS 1. GI I THI U MICROSOFT ACCESS Microsoft Access là một Hệ Qu n Tr C S Dữ Liệu (QTCSDL) tư ng tác ngư i sử dụng chạy trong môi trư ng Windows. Microsoft Access cho chúng ta một công cụ hiệu lực và đầy sức mạnh trong công tác tổ chức, tìm kiếm và biểu diễn thông tin. Microsoft Access cho ta các kh năng thao tác dữ liệu, kh năng liên kết và công cụ truy v n mạnh mẽ giúp quá trình tìm kiếm thông tin nhanh. Ngư i sử dụng có thể ch dùng một truy v n để làm việc với các dạng c s dữ liệu khác nhau. Ngoài ra, có thể thay đổi truy v n b t kỳ lúc nào và xem nhiều cách hiển th dữ liệu khác nhau ch cần động tác nh p chuột. Microsoft Access và kh năng kết xu t dữ liệu cho phép ngư i sử dụng thiết kế những biểu mẫu và báo cáo phức tạp đáp ứng đầy đủ các yêu cầu qu n lý, có thể vận động dữ liệu và kết hợp các biểu mẫu va báo cáo trong một tài liệu và trình bày kết qu theo dạng thức chuyên nghiệp. Microsoft Access là một công cụ đầy năng lực để nâng cao hiệu su t công việc. Bằng cách dùng các Wizard của MS Access và các lệnh có sẵn (macro) ta có thể dễ dàng tự động hóa công việc mà không cần lập trình. Đối với những nhu cầu qu n lý cao, Access đưa ra ngôn ngữ lập trình Access Basic (Visual Basic For application) một ngôn ngữ lập trình mạnh trên CSDL. 2. KH I Đ NG VÀ THOÁT KH I ACCESS 2.1. Kh i đ ng ACCESS Ch n nút Start trên thanh Task bar Ch n Programs Ch n Microsoft ACCESS Khoa Công nghệ Thông tin http://www.ebook.edu.vn 79 Giáo trình “Các hệ qu n tr c s dữ liệu" Khung hội thoại Microsoft ACCESS gồm: Create a New Database Using : Tạo CSDL ứng dụng mới. Blank Database : Tạo CSDL trống. Database Wizard : Tạo với sự trợ giúp của Wizard. Open an Existing Database : M một CSDL có sẵn. 2.2. Thoát kh i ACCESS Ch n File/Exit hoặc nh n tổ hợp phím ALT+F4 3. CÁC THAO TÁC TRÊN T P TIN C S D LI U ACCESS 3.1. T o m t t p tin CSDL Thực hiện các thao tác sau: Ch n File/New hoặc ch n biểu tượng New trên thanh công cụ Ch n Database, ch n OK Trong mục Save in: Ch n thư mục cần chứa tên tập tin. File name: Ch n tên tập tin cần tạo (Phần m rộng mặc đ nh là MDB) 3.2. M m t CSDL đã t n t i trên đĩa Ch n File/Open database (Hoặc click biểu tượng Open) Trong mục Look in : Ch n thư mục cần chứa tên tập tin cần m . File name: Ch n tên tập tin cần m . Ch n Open 3.3. Đóng m t CSDL Ch n File/Close hoặc ALT+F4 3.4. Các thành ph n c b n c a m t t p tin CSDL ACCESS Một tập tin CSDL ACCESS gồm có 6 thành phần c b n sau Bảng (Tables) Khoa Công nghệ Thông tin : Là n i chứa dữ liệu http://www.ebook.edu.vn 80 Giáo trình “Các hệ qu n tr c s dữ liệu" Truy vấn (Queries) : Truy v n thông tin dựa trên một hoặc nhiều b ng. Biểu mẫu (Forms) : Các biểu mẫu dùng để nhập dữ liệu hoặc hiển th dữ liệu. Báo cáo (Reports) : Dùng để in n. : Tạo trang dữ liệu. Pages (Trang) Macros (Tập lệnh) : Thực hiện các tập lệnh. Modules (Đơn thể) : Dùng để lập trình Access Basic 4. CÁCH S D NG C A S Như đã nói DATABASE trên, một CSDL của Access chứa trong nó 7 đối tượng chứ không đ n thuần là b ng dữ liệu. Sau khi tạo mới một CSDL hoặc m một CSDL có sẵn Access sẽ hiển th một cửa sổ Database, trên đó hiển th tên của CSDL đang m và liệt kê 7 đối tượng mà nó qu n lý, mỗi lớp đối tượng đều được phân lớp rõ ràng để tiện theo dõi. 4.1. T o m t đ i t ng m i Trong cửa sổ Database, ch n tab chứa đối tượng cần tạo (B ng, Truy v n, Biểu mẫu, Báo cáo,...) hoặc thực hiện lệnh View/D atabase Object - Table/Query/Form/ReportPages/Macros/Modules Ch n nút New. 4.2. Th c hi n m t đ i t ng trong CSDL Trong cửa sổ Database, ch n tab cần thực hiện. Cửa sổ Database liệt kê tên các đối tượng có sẵn, ch n tên đối tượng cần m . Ch n nút Open (đối với B ng, Truy v n, Biểu mẫu, Trang) hoặc Preview (đối với Báo biểu) hoặc Run (đối với Macro và Module). 4.3. S a đ i m t đ i t ng có sẵn trong CSDL Trong cửa sổ Database, ch n tab cần thực hiện. Cửa sổ Database liệt kê tên các đối tượng có sẵn, ch n tên đối tượng cần m , Ch n nút Design. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 81 Giáo trình “Các hệ qu n tr c s dữ liệu" BẢNG DỮ LIỆU Ch ng 2 B ng là đối tượng chủ yếu chứa các thông tin cần qu n lý, có thể đó ch là một vài đ a ch đ n gi n hay c vài chục nghìn b n ghi chứa đựng thông tin liên quan đến các hoạt động SXKD của một công ty xu t nhập khẩu nào đó. Trước khi ta muốn làm việc với b t kỳ một CSDL nào thì ta ph i có thông tin để qu n lý, các thông tin đó nằm trong các b ng, nó là c s để cho ngư i sử dụng tạo các đối tượng khác trong CSDL như truy v n, biểu mẫu, báo biểu... 1. THI T K C S D LI U Một CSDL được thiết kế tốt cho phép ngư i sử dụng truy cập nhanh chóng đến những thông tin cần tham kh o, giúp tiết kiệm được th i gian truy xu t thông tin. Một CSDL thiết kế tốt giúp ngư i sử dụng rút ra được những kết qu nhanh chóng và chính xác h n. Để thiết kế một CSDL tốt chúng ta ph i hiểu cách mà một Hệ QTCSDL qu n tr các CSDL như thế nào. MS Access hay b t kỳ một Hệ QTCSDL nào có thể cung c p các thông tin cho chúng ta một cách chính xác và hiệu qu nếu chúng được cung c p đầy đủ m i dữ kiện về nhiều đối tượng khác nhau lưu trữ trong các b ng dữ liệu. Ví dụ ta cần một b ng để chứa thông tin về lý l ch của cán bộ, một b ng khác để chứa các đề tài nguyên cứu khoa h c của các cán bộ... Khi bắt tay thiết kế CSDL, chúng ta ph i xác đ nh và phân tích các thông tin muốn lưu trữ thành các đối tượng riêng rẽ, sau đó báo cho Hệ QTCSDL biết các đối tượng đó liên quan với nhau như thế nào. Dựa vào các quan hệ đó mà Hệ QTCSDL có thể liên kết các đối tượng và rút ra các số liệu tổng hợp cần thiết. CÁC B B C THI T K CSDL c 1: Xác đ nh mục tiêu khai thác CSDL của chúng ta. Điều này quyết đ nh các loại sự kiện chúng ta sẽ đưa vào MS Access. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 82 Giáo trình “Các hệ qu n tr c s dữ liệu" B c 2: Xác đ nh các b ng dữ liệu cần thiết. Mỗi đối tượng thông tin sẽ hình thành một b ng trong CSDL của chúng ta. B c 3: Sau khi đã xác đ nh xong các b ng cần thiết, tiếp đến ta ph i ch rõ thông tin nào cần qu n lý trong mỗi b ng, đó là xác đ nh các trư ng. Mỗi loại thông tin trong b ng g i là trư ng. M i mẫu in trong cùng một b ng đều có chung c u trúc các trư ng. Ví dụ: Trong lý l ch khoa h c cán bộ, những trư ng (thông tin) cần qu n lý là: “H VÀ TÊN”, “CHUYÊN MÔN”, “H C V ”, “H C HÀM”,... B c 4: Xác đ nh các mối quan hệ giữa các b ng. Nhìn vào mỗi b ng dữ liệu và xem xét dữ liệu trong b ng này liên hệ thế nào với dữ liệu trong b ng khác. Thêm trướng hoặc tạo b ng mới để làm rõ mối quan hệ này. Đây là v n đề hết sức quan tr ng, tạo được quan hệ tốt sẽ giúp chúng ta nhanh chóng truy tìm tìm và kết xu t dữ liệu. B c 5: Tinh chế, hiệu ch nh lại thiết kế. Phân tích lại thiết kế ban đầu để tim lỗi, tạo b ng dữ liệu và nhập vào vài b n ghi, thử xem CSDL đó ph n ánh thế nào với những yêu cầu truy xu t của chúng ta, có rút được kết qu đúng từ những b ng dữ liệu đó không. Thực hiện các ch nh sửa thiết kế nếu th y cần thiết. 2. KHÁI NI M V B NG B ng là n i chứa dữ liệu về một đối tượng thông tin nào đó như SINH VIÊN, HÓA Đ N,... Mỗi hàng trong b ng g i là một b n ghi (record) chứa các nội dung riêng của đối tượng đó. Mỗi b n ghi của một b ng đều có chung c u trúc, tức là các tr ng (field). Ví dụ: Cho b ng dưới đây để qu n lý lý l ch khoa h c cán bộ trong trư ng đại h c, có các trư ng MACB (Mã cán bộ), TRINHDOVH (Trình độ văn hóa), CHUYENMON (Chuyên môn),... Trong một CSDL có thể chứa nhiều b ng, thư ng mỗi b ng lưu trữ nhiều thông tin (dữ liệu) về một đối tượng thông tin nào đó, mỗi một thông tin đều có những kiểu đặc trưng riêng, mà với Access nó sẽ cụ thể thành những kiểu dữ liệu của các trư ng. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 83 Giáo trình “Các hệ qu n tr c s dữ liệu" 3. T O B NG M I TRONG C S D LI U Trong MS Access có hai cách để tạo b ng, một là cách dùng Table Wizard, nhưng các trư ng dụng. đây MS Access tự động đặt tên và không có bàn tay can thiệp của ngư i sử đây, sẽ đưa ra cách tạo mới b ng hoàn toàn do ngư i sử dụng. 3.1. T o b ng không dùng Table Wizard Trong cửa sổ Database, ch n tab Table (hoặc Lệnh View/Daatbase object - Table) Ch n nút New, xu t hiện hộp thoại Datasheet View: Trên màn hình sẽ xu t hiện một b ng trống với các trư ng (tiêu đề cột) lần lượt Field1, field2 Design View: Trên màn hình xu t hiện cửa sổ thiết kế b ng, ngư i sử dụng tự thiết kế b ng. Table Wizard: Thiết kế b ng với sự trợ giúp của MS Access Import table: Nhập các b ng và các đối tượng từ các tập tin khác vào CSDL hiện th i. Link table: Tạo b ng bằng cách nối vào CSDL hiện th i các b ng của CSDL khác. Ch n chức năng Design View, ch n OK. 3.2. S d ng Design View Field Name: Tên trư ng cần đặt (thông tin cần qu n lý) Data Type: Kiểu dữ liệu của trư ng Desciption: Mô t trư ng, phần này ch mang ý nghĩa làm rõ thông tin qu n lý, có thể bỏ qua trong khi thiết kế b ng. Field properties: Các thuộc tính của trư ng Xác đ nh khoá chính của b ng (nếu có) Xác đ nh thuộc tính của b ng, Lưu b ng dữ liệu Khoa Công nghệ Thông tin http://www.ebook.edu.vn 84 Giáo trình “Các hệ qu n tr c s dữ liệu" Đặt tên tr ng Tên trư ng đây không nh t thiết ph i có độ dài hạn chế và ph i sát nhau, mà ta có thể đặt tên trư ng tùy ý nhưng không vượt quá 64 ký tự kể c ký tự trắng. Lưu ý rằng, tên trư ng có thể đặt dài nên nó dẽ mô t được thông tin qu n lý, nhưng sẽ khó khăn h n khi ta dùng các phát biểu SQL và lập trình Access Basic. Do đó khi đặt tên trư ng ta nên đặt ngắn g n, dễ gợi nhớ và không chứa ký tự trắng. Ki u d li u MS Access cung c p một số kiểu dữ liệu c b n sau: Ki u d li u D li u vào Kích th c Text Văn b n Tối đa 255 byte Memo Văn b n nhiều dòng, trang Tối đa 64000 bytes Number Số 1,2,4 hoặc 8 byte Date/Time Ngày gi 8 byte Currency Tiền tệ (Số) 8 byte ACCESS tự động tăng lên một Auto number khi một b n ghi được tạo 4 byte Yes/No Lý luận (Boolean) 1 bit OLE Object Đối tượng của phần mềm khác Tối đa 1 giga byte Trư ng nhận giá tr do Lookup Wizard ngư i dùng ch n từ 1 b ng khác hoặc 1 danh sách giá tr đ nh trước Hyper link Liên kết các URL Quy đ nh thu c tính, đ nh d ng cho tr ng Đặt thuộc tính là một phần không kém quan tr ng, nó quyết đ nh đến dữ liệu thực sự lưu giữa trong b ng, kiểm tra độ chính xác dữ liệu khi nhập vào, đ nh dạng Khoa Công nghệ Thông tin http://www.ebook.edu.vn 85 Giáo trình “Các hệ qu n tr c s dữ liệu" dữ liệu nhập vào ... Mỗi một kiểu dữ liệu sẽ có các thuộc tính và các đặc trưng và khác nhau. Sau đây là các thuộc tính, đ nh dạng của các kiểu dữ liệu. Để tăng thêm tốc độ xử lý khi nhập dữ liệu cũng như các công việc tìm kiếm sau này thì việc quy đ nh dữ liệu r t quan tr ng. Các trư ng trong ACCESS có các thuộc tính sau: 3.2.1. Field Size Quy đ nh kích thước của trư ng và tùy thuộc vào từng kiểu dữ liệu Kiểu Text: Chúng ta quy đ nh độ dài tối đa của chuỗi. Kiểu Number: Có thể ch n một trong các loại sau: Byte: 0..255 Integer: -32768..32767 Long Integer: -3147483648.. 3147483647 Single:-3,4x1038..3,4x1038 (Tối đa 7 số lẻ) Double: -1.797x10308 ..1.797x10308 (Tối đa 15 số lẻ) Decimal Places Quy đ nh số chữ số thập phân ( Ch sử dụng trong kiểu Single và Double) Đối với kiểu Currency mặc đ nh decimal places là 2 3.2.2. Format Quy đ nh dạng hiển th dữ liệu, tùy thuộc vào từng kiểu dữ liệu. Kiểu chuỗi: Gồm 3 phần <Phần 1>;<Phần 2>;<Phần 3> Trong đó: <Phần 1>: Chuỗi đ nh dạng tư ng ứng trong trư ng hợp có chứa văn b n. <Phần 2>: Chuỗi đ nh dạng tư ng ứng trong trư ng hợp không chứa văn b n. <Phần 3>: Chuỗi đ nh dạng tư ng ứng trong trư ng hợp null Khoa Công nghệ Thông tin http://www.ebook.edu.vn 86 Giáo trình “Các hệ qu n tr c s dữ liệu" Các ký t dùng đ đ nh d ng chu i Ký t Tác dëch vuû du lëch ng @ Chuỗi ký tự > Đổi t t c ký tự nhập vào thành in hoa < Đổi t t c ký tự nhập vào thành in thư ng “Chuỗi ký tự “ \<ký tự> [black] [White] [red] Chuỗi ký tự giữa 2 d u nháy Ký tự nằm sau d u \ Màu Hoặc [<số>] Trong đó 0<=số<=56 Ví dụ Cách đ nh d ng D li u Hi n th @@@-@@@@ 123456 123-456 abcdef abc-def > Tinhoc TINHOC < TINHOC Tinhoc @;”Không có”;”Không biết” Chuỗi b t kỳ Hiển th chuỗi Chuỗi rỗng Không có Giá tr trống (Null) Không biết Kiểu Number Đ nh dạng do ACCESS cung c p D ng D li u Hi n th General Number 1234.5 1234.5 Currency 1234.5 $1.234.50 Fixed 1234.5 1234 Khoa Công nghệ Thông tin http://www.ebook.edu.vn 87 Giáo trình “Các hệ qu n tr c s dữ liệu" Standard 1234.5 1,234.50 Pecent 0.825 82.50% Scientific 1234.5 1.23E+03 Định dạng do người sử dụng <Phần 1>;<Phần 2>;<Phần 3>;<Phần 4> <Phần 1>:Chuỗi đ nh dạng tư ng ứng trong trư ng hợp số dư ng. <Phần 2>: Chuỗi đ nh dạng tư ng ứng trong trư ng hợp số âm. <Phần 3>: Chuỗi đ nh dạng tư ng ứng trong trư ng hợp số bằng zero. <Phần 4>: Chuỗi đ nh dạng tư ng ứng trong trư ng hợp null. Các ký tự đ nh dạng Ký t Tác d ng .(Period) D u ch m thập phân ,(comma) D u phân cách ngàn 0 Ký tự số (0-9) # Ký tự số hoặc kho ng trắng $ D u$ % Phần trăm Ví dụ Đ nh d ng Hi n th Số dư ng hiển th bình thư ng 0;(0);;”Null” Số âm được bao giữa 2 d u ngoặc Số zero b bỏ trống Null hiện chữ Null Hiển th d u + phía trước nếu số dư ng +0.0;-0.0;0.0 Hiển th d u - phía trước nếu số âm Hiển th 0.0 nếu âm hoặc Null Khoa Công nghệ Thông tin http://www.ebook.edu.vn 88 Giáo trình “Các hệ qu n tr c s dữ liệu" Kiểu Date/Time Các kiểu đ nh dạng do ACCESS cung c p D ng Hi n th General date 10/30/99 5:10:30PM Long date Friday, may 30 , 1999 Medium date 30-jul-1999 Short date 01/08/99 Long time 6:20:00 PM Medium time 6:20 PM Short time 18:20 Các ký tự đ nh dạng Ký t Tác d ng : (colon) D u phân cách gi / D u phân cách ngày d Ngày trong tháng (1-31) dd Ngày trong tháng 01-31) ddd Ngày trong tuần (Sun -Sat0 W Ngày trong tuần (1-7) WW Tuần trong năm (1-54) M Tháng trong năm (1-12) MM Tháng trong năm (01-12) q Quý trong năm (1-4) y Ngày trong năm (1-366) yy Năm (01-99) h Gi (0-23) n Phút (0-59) s Giây (0-59) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 89 Giáo trình “Các hệ qu n tr c s dữ liệu" Ví dụ Đ nh d ng Hi n th Ddd,”mmm d”,yyyy Mon,jun 2, 1998 Mm/dd/yyyy 01/02/1998 Kiểu Yes/No Các kiểu đ nh dạng Đ 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 1>;<Phần 2>;<Phần 3> Trong đó: <Phần 1>: Bỏ trống <Phần 2>: Trư ng hợp giá tr trư ng đúng <Phần 3>: 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 ;”Nam”;”Nu” Nam Nu ;”co”;”Khong” Co Khong 3.2.3. Input mask (Mặt nạ) Thuộc tính này dùng để quy đ nh mặt nạ nhập dữ liệu cho một trư ng. Các ký tự đ nh dạng trong input mask Khoa Công nghệ Thông tin http://www.ebook.edu.vn 90 Giáo trình “Các hệ qu n tr c s dữ liệu" Ký t Tác d ng 0 Bắt buộc nhập ký tự số 9 Không bắt buộc nhập, ký tự số # Không bắt buộc nhập, số 0-9, kho ng trắng, d u + và - L Bắt buộc nhập, ký tự chữ ? 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 \<Ký tự> Ký tự theo sau \ sẽ được đưa thẳng vào Ví dụ Input mask D li u nh p vào (000)000-0000 (054)828-8282 (000)AAA-A (123)124-E H Chú ý: Nếu muốn các ký tự gõ vào quy đ nh thuộc tính input mask là password (Khi nhập dữ liệu vào tại các v trí đó xu t hiện d u *). 3.2.4. Caption Quy đ nh nhãn là một chuỗi ký tự sẽ xu t hiện tại dòng tiêu đề của b ng. 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. 3.2.5. Default value Quy đ nh giá tr mặc đ nh cho trư ng trừ Auto number và OEL Object 3.2.6. Validation rule và Validation Text Khoa Công nghệ Thông tin http://www.ebook.edu.vn 91 Giáo trình “Các hệ qu n tr c s dữ liệu" Quy đ nh quy tắc hợp lệ dữ liệu (Validation rule) để giới hạn giá tr nhập vào cho một trư ng. Khi giới hạn này b vi phạm sẽ có câu thông báo Validation text. Các phép toán có thểt dùng trong Validation rule Các phép toán Phép toán Tác d ng Phép so sánh >, <, >=, <=, =, <> Phép toán logic Or, and , not Hoặc, và, phủ đ nh Phép toán về chuỗi Like Giống như H Chú ý: Nếu hằng trong biểu thức là kiểu ngày thì nên đặt giữa 2 d u #. Ví dụ Validation rule Tác d ng <>0 Khác số không Like “*HUE*” Trong chuỗi ph i chứa HUE <#25/07/76# Trước ngày 25/07/76 >=#10/10/77# and <=#12/11/77# Trong kho ng từ 10/10/77 đến 12/12/77 3.2.7. Required Có thể quy đ nh thuộc tính này để bặt buộc hay không bắt buộc nhập dữ liệu cho trư ng. Required Tác d ng Yes Bắt buộc nhập dữ liệu No Không bắt buộc nhập dữ liệu 3.2.8. AllowZeroLength Thuộc tính này cho phép quy đ nh một trư ng có kiểu Text hay memo có thể hoặc không có thể có chuỗi có độ dài bằng 0. H Chú ý: Cần phân biệt một trư ng chứa giá tr null ( chưa có dữ liệu) và một trư ng chứa chuỗi có độ dài bằng 0 ( Có dữ liệu nhưng chuỗi rỗng “”). Khoa Công nghệ Thông tin http://www.ebook.edu.vn 92 Giáo trình “Các hệ qu n tr c s dữ liệu" AllowZeroLength Tác d ng Yes Ch p nhận chuỗi rỗng No Không ch p nhận chuỗi rỗng 3.2.9. Index Quy đ nh thuộc tính này để tạo ch mục trên một trư ng. Nếu chúng ta lập ch mục thì việc tìm kiếm dữ liệu nhanh h n và tiện h n. Index Tác d ng Yes( Dupplicate OK) Tạo ch mục có trùng lặp Yes(No Dupplicate ) Tạo ch mục không trùng lặp No Không tạo ch mục 3.2.10. New value Thuộc tính này ch đối với dữ liệu kiểu auto number, quy đ nh cách thức mà trư ng tự động điền số khi thêm b n ghi mới vào. New value Tác d ng Increase Tăng dần Random L y số ngẫu nhiên 4. THI T L P KHOÁ CHÍNH (primary key) 4.1. Khái ni m khoá chính Sức mạnh của một Hệ QTCSDL như Microsoft Access, là kh năng mau chóng truy tìm và rút dữ liệu từ nhiều b ng khác nhau trong CSDL. Để hệ thống có thể làm được điều này một cách hiệu qu , mỗi b ng trong CSDL cần có một trư ng hoặc một nhóm các trư ng có thể xác đ nh duy nh t một b n ghi trong số r t nhiều b n ghi đang có trong b ng. Đây thư ng là một mã nhận diện như Mã nhân viên hay Số Báo Danh của h c sinh. Theo thuật ngữ CSDL trư ng này được g i là khóa chính (primary key) của b ng. MS Access dùng trư ng khóa chính để kết nối dữ liệu nhanh chóng từ nhiều b ng và xu t ra kết qu yêu cầu. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 93 Giáo trình “Các hệ qu n tr c s dữ liệu" Nếu trong b ng chúng ta đã có một trư ng sao cho ứng với mỗi tr thuộc trư ng đó chúng ta xác đ nh duy nh t một b n ghi của b ng, chúng ta có thể dùng trư ng đó làm trư ng khóa của b ng. Từ đó cho ta th y rằng t t c các tr trong trư ng khóa chính ph i khác nhau. Chẳng hạn đừng dùng tên ngư i làm trư ng khóa vì tên trư ng là không duy nh t. Nếu không tìm được mã nhận diện cho b ng nào đó, chúng ta có thể dùng một trư ng kiểu Autonunter (ví dụ Số Thứ Tự) để làm trư ng khóa chính. Khi ch n trư ng làm khóa chính chúng ta lưu ý m y điểm sau: MS Access không ch p nhận các giá tr trùng nhau hay trống (null) trong trư ng khóa chính. Chúng ta sẽ dùng các giá tr trong trư ng khóa chính để truy xu t các b n ghi trong CSDL, do đó các giá tr trong trư ng này không nên quá dài vì khó nhớ và khó gõ vào. Kích thước của khóa chính nh hư ng đến tốc độ truy xu t CSDL. Để đạt hiệu qu tối ưu, dùng kích thước nhỏ nh t để xác đ nh m i giá tr cần đưa vào trư ng. 4.2. Cách đặt khoá chính Ta có thể tự ch n trư ng làm khóa chính cho b ng bằng các bước sau đây: M b ng chế độ Design View Nhắp ch n trư ng cần đặt Thực hiện lệnh Edit - Primary Key hoặc nhắp ch n nút trên thanh công cụ của mục này . Hchú ý: Không ph i m i trư ng đều có thể làm khóa chính, mà ch có các trư ng có các kiểu dữ liệu không ph i là Memo và OLE Object., Hyper Link. Để hủy bỏ khóa chính hoặc các đã thiết lập thì thực hiện lệnh View - Indexes, trong hộp thoại này ch n và xóa đi những trư ng khóa đã thiết lập: Khoa Công nghệ Thông tin http://www.ebook.edu.vn 94 Giáo trình “Các hệ qu n tr c s dữ liệu" 5. L U B NG Sau khi thiết kế xong, ta tiến hành lưu b ng vào CSDL, có thể thực hiện một trong hai thao tác sau: Thực hiện lệnh File - Save. Nhắp ch n nút trên thanh công cụ của mục này (Table Design) 6. HI U CH NH B NG 6.1. Di chuy n tr ng: Các thao tác để di chuyển thứ tự các trư ng Đưa con trỏ ra đầu trư ng đến khi con trỏ chuột chuyển thành Ä thì nhắp ch n. Đưa con trỏ ra đầu trư ng vừa ch n, nh n và kéo đếnv trí mới. 6.2. Chen tr ng : Các thao tác lần lượt như sau Ch n trư ng hiện th i là trư ng sẽ nằm sau trư ng được chen vào Thực hiện lệnh Insert/ Row 6.3. Xóa tr ng: Các thao tác lần lượt như sau Ch n trư ng cần xóa Thực hiện lệnh Edit - Delete Rows 6.4. Quy đ nh thu c tính c a b ng M b ng chế độ Design View, ch n View/Properties Description: Dòng mô t b ng Validation Rule: Quy tắc hợp lệ dữ liệu cho toàn b ng. Validation Text: Thông báo lỗi khi dữ liệu không hợp lệ. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 95 Giáo trình “Các hệ qu n tr c s dữ liệu" 7. XEM THÔNG TIN VÀ B 7.1. Xem thông tin SUNG B N GHI ch đ datasheet Muốn xem thông tin trong một b ng chúng ta ph i chuyển b ng sang một chế độ hiển th khác g i là Datasheet. Trong chế độ hiển th này, mỗi b n ghi được thể hiện trên một hàng ngang, hàng đầu tiên là các tên trư ng. Sau đây là các cách để chuyển sang chế độ hiển th Datasheet: Trong của sổ Database của CSDL đang m , nh p ch n tab Table. Trong mục này ch n b ng cần hiển th rồi ch n nút Open, b ng sẽ được m để bổ sung và ch nh sửa dữ liệu. Ta có thể chuyển sang chế độ Datasheet ngay khi đang cách nhắp ch n nút trong chế Design, bằng thì b ng sẽ chuyển sang chế độ Datasheet, để quay tr về chế độ Design, ta nhắp ch n lại nút . Hoặc ch n lệnh View - /Design View. 7.2. B sung b n ghi cho b ng Sau khi hoàn thành công việc thiết kế c u trúc b ng, ta tiến hành nhập dữ liệu, tức là bổ sung các b n ghi, cho b ng. Hiển th b ng diện cho một b n ghi. chế độ hiển th Datasheet, mỗi hàng đại đây có các ký hiệu chúng ta cần biết công dụng của chúng B n ghi hiện th i B n ghi đang nhập dữ liệu B n ghi mới 7.2.1. Bổ sung bản ghi mới cho CSDL Đang đứng tại một b n ghi nào đó (không ph i là b n ghi mới), ch n nút trên thanh công cụ. Hoặc thực hiện lệnh Record - Go To - New. 7.2.2. Di chuyển giữa các bản ghi Khoa Công nghệ Thông tin http://www.ebook.edu.vn 96 Giáo trình “Các hệ qu n tr c s dữ liệu" Ta có thể di chuyển qua lại giữ các b n ghi bằng cách dùng công cụ Chọn lựa bản ghi (Record Selector). 7.2.3. Nhập dữ liệu cho bản ghi Khi đang nhập dữ liệu cho một b n ghi nào đó, thì đầu hàng của b n ghi đó xu t hiện biểu tượng . T h p phím Tác d ng Tab Sang ô kế tiếp Shift Tab Sang ô phía trước Home Đến đầu dòng End Đến cuối dòng Ctrl Home Đến b n ghi đầu tiên Ctrl End Đến b n ghi cuối cùng Shift F2 Zoom Theo chuẩn, khi nhập dữ liệu thì Access sẽ l y font mặc đ nh là MS San Serif, điều này có thể giúp cho ta hiển th được tiếng Việt ch khi MS San Serif đó là của VietWare hoặc của ABC. Để không phụ thuộc vào điều này, ta nên ch n font trước khi tiến hành nhập dữ liệu. Trong chế độ hiển th Datasheet, thực hiện lệnh Format - Font... Khi nhập dữ liệu là trư ng cho trư ng OLE Object, ta thực hiện như sau: Lệnh Edit - Object... 7.2.4. Chọn các bản ghi Đánh d u ch n b n ghi: Ch n Edit/Select Record: Để ch n b n ghi hiện hành Ch n Edit/ Select all Record để ch n toàn bộ Khoa Công nghệ Thông tin http://www.ebook.edu.vn 97 Giáo trình “Các hệ qu n tr c s dữ liệu" 7.2.5. Xóa bản ghi Ch n các b n ghi cần xóa, sau đó thực hiện lệnh Edit - Delete (hoặc nh n phím DELETE) . 8. THI T L P QUAN H GI A CÁC B NG 8.1. Các lo i quan h trong c s d li u ACCESS 8.1.1. Quan hệ một -một (1-1) Trong quan hệ một -một, mỗi b n ghi trong b ng A có tư ng ứng với một b n ghi trong b ng B và ngược lại mỗi b n ghi trong b ng B có tư ng ứng duy nh t một b n ghi trong b ng A. Ví dụ: Cho 2 b ng dữ liệu B ng Danhsach(Masv, ten, Ngaysinh, gioitinh) và b ng Diemthi(Masv, diem) Ten Ngaysinh Gioitinh Masv Masv diem An 20/10/77 Yes A001 A001 9 Bình 21/07/80 No A002 A002 7 Thuỷ 02/12/77 Yes A003 A003 9 Lan 03/04/80 No A004 A004 4 Hồng 12/11/77 No A005 A005 5 B ng Danhsach và diemthi có mối quan hệ 1-1 dựa trên trư ng Masv. 8.1.2. Quan hệ một nhiều ( 1-∞ ) Là mối quan hệ phổ biến nh t trong CSDL, trong quan hệ một nhiều : Một b n ghi trong b ng A sẽ có thể có nhiều b n ghi tư ng ứng trong b ng B, nhưng ngược lại một b n ghi trong b ng B có duy nh t một b n ghi tư ng ứng trong b ng A. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 98 Giáo trình “Các hệ qu n tr c s dữ liệu" Ví dụ: Trong một khoa của một trư ng h c nào đó có nhiều sinh viên, những một sinh viên thuộc một khoa nh t đ nh. Ta có 2 b ng dữ liệu như sau: B ng Danhsachkhoa(Makhoa, tenkhoa, sodthoai) B ng danhsachsv(Makhoa, Ten, Quequan, lop) Tenkhoa Sodthoai Makhoa Makhoa Ten Queuqan Lop CNTT 826767 01 01 Thanh Huế K23 TOÁN 878787 02 01 Tùng Qbình K24 LÝ 868785 03 02 Thuỷ Huế K25 02 Hùng ĐN K26 03 Lan Huế K25 03 Hư ng ĐN K26 B ng Danhsachkhoa và b ng danhsachsv có mối quan hệ 1-∞ dựa trên trư ng Makhoa. 8.3. Quan hệ nhiều nhiều( ∞-∞ ) Trong quan hệ nhiều nhiều, mỗi b n ghi trong b ng A có thể có không hoặc nhiều b n ghi trong b ng B và ngược lại mỗi b n ghi trong b ng B có thể có không hoặc nhiều b n ghi trong b ng A. Khi gặp mối quan hệ nhiều- nhiều để không gây nên sự trùng lặp và dư thừa dữ liệu thì ngư i ta tách quan hệ nhiều-nhiều thành 2 quan hệ một-nhiều bằng cách tạo ra một b ng phụ chứa khóa chính của 2 b ng đó. Ví dụ: Một giáo viên có thể dạy cho nhiều trư ng và một trư ng có nhiều giáo viên tham gia gi ng dạy. Đây là một mối quan hệ nhiều-nhiều B ng Danhsachgv(Magv,ten) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 99 Giáo trình “Các hệ qu n tr c s dữ liệu" B ng Danhsachtruong(Matruong, Tentruong) Tạo ra b ng Phancongday(Magv, matruong) Ten Magv Magv Matruong Matruong tentruong Thanh G1 G1 KH KH DHKH Thuý G2 G1 SP SP DHSP Hùng G3 G2 YK YK DHYK G2 SP G3 KH G3 YK B ng Danhsachgv và b ng Phancongday có mối quan hệ 1-∞ dựa trên trư ng Magv. B ng Danhsachtruong và b ng Phancongday có mối quan hệ 1-∞ dựa trên trư ng Matruong. 8.4. Thi t l p m i quan h gi a các b ng d li u (Relationships) Tại cửa sổ Database, thực hiện lệnh Tools/Relationship Trong cửa sổ Show Table ch n Table và ch n các b ng cần thiết lập quan hệ, sau đó ch n Add và Close. Kéo trư ng liên kết của b ng quan hệ vào trư ng của b ng được quan hệ (Table related). Khoa Công nghệ Thông tin http://www.ebook.edu.vn 100 Giáo trình “Các hệ qu n tr c s dữ liệu" Bật chức năng Enforce Referential Integrity ( Nếu muốn quan hệ này b ràng buộc tham chiếu toàn vẹn), ch n mối quan hệ (one-many) hoặc (one-one). Ch n nút Create. H Chú ý Quan hệ có tính tham chiếu toàn vẹn sẽ đ m b o các v n đề sau: Khi nhập dữ liệu cho trư ng tham gia quan hệ bên nhiều thì ph i tồn tại bên một. Không thể xoá một b n ghi của b ng bên một nếu trong quan hệ đã tồn tại những b n ghi bên nhiều có quan hệ với b n ghi bên một đó. Trư ng hợp vi phạm các quy tắc trên thì sẽ nhận được thông báo lỗi. 8.4.1. Thiết lập thuộc tính tham chiếu toàn vẹn trong quan hệ Trong khi ch n mối quan hệ giữa các b ng, có 2 thuộc tính tham chiếu toàn vẹn đó là Cascade update related fields,Cascade Delete related records, có thiết lập 2 thuộc tính này. Nếu ch n thuộc tính Cascade update related fields, khi dữ liệu trên khoá chính của b ng bên một thay đổi thì Access sẽ tự động cập nhật sự thay đổi đó vào các trư ng tư ng ứng (có quan hệ) trên các b ng bên Nhiều, hay nói cách khác, dữ liệu b ng bên nhiều cũng thay đổi theo. Nếu ch n thuộc tính Cascade Delete related records, khi dữ liệu trên b ng bên một b xoá thì dữ liệu trên b ng bên nhiều cũng sẽ b xoá.. 8.4.2. Kiểu kết nối (Join type) Trong quá trình thiết lập quan hệ giữa các b ng, nếu không ch n nút Create, ch n nút join type để ch n kiểu liên kết Mục 1: Liên kết nội (Inner join) Mục 2 và mục 3 là liên kết ngoại (outer join) 8.4.3. Điều chỉnh các mối quan hệ M cửa sổ quan hệ (Tools/Relationship) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 101 Giáo trình “Các hệ qu n tr c s dữ liệu" Click chuột ph i, ch n edit relationship 8.4.4. Xoá các mối quan hệ M cửa sổ quan hệ (Tools/Relationship) Ch n mối quan hệ giữa các b ng, nh n delete. 9. S P X P VÀ L C D LI U 9.1. M t s phép toán và hàm 9.1.1. Một số phép toán Ký tự thay thế: ? : Thay thế cho một ký tự b t kỳ Ký tự * : Thay thế cho một dãy các ký tự. Phép toán Like: Giống như In: Kiểm tra một giá tr có thuộc một tập các giá tr hay không? Is Null: Giá tr của một trư ng là Null. Is not Null:Giá tr của một trư ng là không Null. Between.....and: Kiểm tra xem một giá tr có thuộc một "đoạn" nào đó hay không? 9.1.2. Một số hàm Hàm Left$(<Chu i>,<n>): Trích bên trái chuỗi n ký tự. Hàm Right$(<Chu i>,<n>): Trích bên ph i chuỗi n ký tự. Hàm Ucase(<Chu i>): Tr lại một chuỗi in hoa. Hàm Lcase(<Chu i>): Tr lại một chuỗi in thư ng. Hàm IIF(<Đi u ki n>,<Giá tr 1>,< Giá tr 2>): Nếu <Điều kiện> nhận giá tr true thì hàm tr lại <Giá tr 1>, ngược lại hàm tr lại <Giá tr 2>. 9.2. S p x p d li u 9.2.1. sắp xếp trên một trường Đặt con trỏ tại tru ng cần sắp xếp Thực hiện lệnh Records/ Sort/ Sort Ascending (Nếu sắp xếp tăng dần) / Sort Descending (Nếu sắp xếp gi m dần) 9.2.2. sắp xếp trên nhiều trường Khoa Công nghệ Thông tin http://www.ebook.edu.vn 102 Giáo trình “Các hệ qu n tr c s dữ liệu" M b ng trong chế độ Datasheet rồi thực hiện lệnh Records/ Filter/ Advanced Filter sort Trong hàng Field: Ch n các trư ng cần sắp xếp (Thứ tự ưu tiên từ trái sang ph i) Trong hàng Sort: Ch n tiêu chuẩn sắp xếp. Trong hàng Criteria: Ch n điều kiện sắp xếp (nếu có). Xem kết qu .: Ch n Filter/Apply filter. 9.3. L c d li u M b ng trong chế độ Datasheet rồi thực hiện lệnh Records/ Filter/ Advanced Filter sort Trong hàng Field: Ch n các trư ng làm tiêu chuẩn l c dữ liệu Trong hàng Criterie: Ch n tiêu chuẩn l c dữ liệu. Thực hiện lệnh Filter/ Apply filter sort để xem kết qu .. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 103 Giáo trình “Các hệ qu n tr c s dữ liệu" TRUY VẤN (QUERY) Ch ng 3 Sức mạnh thực sự của CSDL là kh năng tìm đúng và đầy đủ thông tin mà chúng ta cần biết, trình bày dữ liệu sắp xếp theo ý muốn. Để đáp ứng yêu cầu trên, Acces cung c p một công cụ truy v n cho phép đặt câu hỏi với dữ liệu đang chứa bên trong các b ng trong CSDL. 1. KHÁI NI M TRUY V N Truy v n là một công cụ cho phép đặt câu hỏi với dữ liệu trong b ng dữ liệu trong CSDL. Loại truy v n thông dụng nh t là truy v n ch n (Select Query ). Với kiểu truy v n này chúng ta có thể xem xét dữ liệu trong các b ng, thực hiện phân tích và ch nh sửa trên dữ liệu đó, có thể xem thông tin từ 1 b ng hoặc có thể thêm nhiều trư ng từ nhiều b ng khác nhau. Ví dụ: Cho 2 b ng dữ liệu KHOHANG (MAHANG, TENHANG, GIA) BANHANG(MAHANG, TENKHACH, SOLUONG, NGAYMUA). Hãy hiển th những khách hàng mua hàng trong tháng 7 bao gồm các thông tin: MAHANG, TENHANG, GIA, TENKHACH. Sau khi thực hiện truy v n, dữ liệu thỏa mãn yêu cầu được rút ra và tập hợp vào một b ng kết qủa g i là Dynaset (Dynamic set). Dynaset cũng hoạt động như 1 b ng (Table) nhưng nó không ph i là b ng vfa kết qu khi hiển th có thể cho phép sửa đổi. Một loại b ng thể hiện kết qu truy v n khác là Snapshot, nó tư ng tự như dynaset tuy nhiên không thể sửa đổi thông tin ( Như truy v n Crosstab....). 1.1. Các lo i truy v n trong Access Select Query : Truy v n ch n Crosstab Query : Truy v n tham khỏa chéo (Thể hiện dòng và cột) Action Query : Truy v n hành động gồm Truy v n tạo b ng (make table Query ) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 104 Giáo trình “Các hệ qu n tr c s dữ liệu" Truy v n nối (append Query ) Truy v n cập nhật ( Update Query ) Truy v n xóa dữ liệu ( Delete Query ) SQL Query : Truy v n được viết b i ngôn ngữ SQL. Pass throught Query : G i các lệnh đến một CSDL SQL như Microsoft SQL server. 1.2. S c n thi t c a truy v n Khi đứng trước một v n đề nào đó trong CSDL, nếu sử dụng công cụ truy v n thì có thể thực hiện được các yêu cầu sau: Sự lựa ch n các trư ng cần thiết. Lựa ch n những b n ghi. Sắp xếp thứ tự các b n ghi. L y dữ liệu chứa trên nhiều b ng khác nhau trong CSDL. Thực hiện các phép tính. Sử dụng truy v n làm nguồn dữ liệu cho một biểu mẫu (Form), báo cáo (report) hoặc một truy v n khác (Query ). Thay đổi dữ liệu trong b ng. 2. CÁC CH Đ HI N TH TRUY V N 2.1. C a s thi t k truy v n (Design view). Trong chế độ này, ngư i sử dụng có thể tạo, sửa chữa một truy v n nào đó. Màn hình truy v n chứa hai phần, phần thứ nh t chứa các b ng (hoặc truy v n) tham gia truy v n, phần thứ hai g i là vùng lưới QBE (Query By Example). 2.2. C a s hi n th truy v n (DataSheet view). Sử dụng chế độ này để xem kết qu . 2.3. C a s l nh SQL (SQL view). Sử dụng chế độ này để xem mã lệnh của truy v n đang tạo 3. T O TRUY V N 3.1.T o m i 1 truy v n Khoa Công nghệ Thông tin http://www.ebook.edu.vn 105 Giáo trình “Các hệ qu n tr c s dữ liệu" Từ cửa sổ Database, click vào đối tượng Queries. Ch n nút New. Ch n Design View, ch n OK Trong b ng Show Table ch n tables để hiển th các b ng, ch n các b ng tham gia vào truy v n và nh n nút Add, sau đó nh n Close. (Nếu ch n Queries thì hiển th truy v n, ch n both thì hiển th c truy v n và b ng dữ liệu). Đưa các trư ng từ các b ng vào tham gia truy vần bằng cách kéo các trư ng và th vào hàng Field trong vùng lưới QBE. Trong hàng Sort: Sắp xếp dữ liệu (nếu có) Trong hàng Criteria đặt tiêu chuẩn (nếu có) Lưu truy v n. H Chú ý Mỗi truy v n có: Tối đa là 32 b ng tham gia. Tối đa là 255 trư ng. Kích thước tối đa của b ng dữ liệu (do truy v n tạo ra) là 1 gigabyte. Số trư ng dùng làm khóa sắp xếp tối đa là 10. Số truy v n lồng nhau tối đa là 50 c p. Số ký tự tối đa trong ô của vùng lưới là 1024. Số ký tự tối đa trong dòng lệnh SQL là 64000. Số ký tự tối đa trong tham số là 255. 3.2. Thay đ i thứ t , xóa các tr ng Các trư ng trong truy v n sẽ hiển th theo thứ tự như xu t hiện trong vùng lưới QBE. 3.2.1.Thay đổi thứ tự của trường Đưa con trỏ vào thanh ch n sao cho con trỏ biến thành hình mũi tên trỏ xuống Khoa Công nghệ Thông tin http://www.ebook.edu.vn 106 Giáo trình “Các hệ qu n tr c s dữ liệu" Click để ch n trư ng Drag để thay đổi v trí. 3.2.2.xoá trường Đưa con trỏ vào thanh ch n sao cho con trỏ biến thành hình mũi tên trỏ xuống Click để ch n trư ng Nh n phím delete (Nếu muốn xoá t t c các trư ng trong vùng lưới QBE: ch n Edit/clear grid) 3.3. Th hi n hoặc che d u tên b ng trong vùng l i QBE Muốn biết tên trư ng hiện tại trong vùng lưới QBE là của tên b ng nào, tại chế độ Design View ngư i sử dụng thực hiện View/tables name. 3.4. Xem k t qu c a truy v n. Tại cửa sổ Database ch n tên truy v n rồi ch n Open, hoặc trong khi thiết kế truy v n thực hiện lệnh View/datasheet View. 3.5. Đ i tiêu đ c t trong truy v n. Đổi tên tiêu đề cột trong truy v n mục đích là làm cho b ng kết xu t dễ đ c h n (Trừ khi đã quy đ nh thuộc tính Caption). Muốn đổi tên tiêu đề cột thực hiện theo các bước sau: M truy v n chế độ Design View Ch n vào bên trái ký tự đầu tiên của tên trư ng trong vùng lưới QBE Gõ vào tên mới, theo sau là d u 2 ch m (:). Ví dụ: 3.6. Đ nh thứ t s p x p Có thể sử dụng nhanh trong chế độ datasheet View . Khoa Công nghệ Thông tin http://www.ebook.edu.vn 107 Giáo trình “Các hệ qu n tr c s dữ liệu" Có thể tạo sắp xếp trong khi thiết kế truy v n bằng cách ch n Ascending (tăng dần) hoặc Descending (giám dần) trong hàng Sort của vùng lưới QBE . H Chú ý: Nếu có nhiều trư ng đ nh v sắp xếp thì theo thứ tự ưu tiên từ trái sang ph i. 3.7. Che d u hay th hi n các tr ng trong Dynaset Tại hàng Show ứng với trư ng cần che d u chúng ta không ch n mặt dù nó vẫn tồn tại, vẫn tham gia truy v n. 3.8. M i quan h gi a thu c tính c a tr ng trong truy v n và trong b ng d li u Theo mặc nhiên, các trư ng trong truy v n kế thừa t t c các thuộc tính của trư ng trong b ng làm nguồn dữ liệu. Nếu không quy đ nh lại trong truy v n, các trư ng trong Dynaset hoặc snapshot luôn kế thừa các thuộc tính của b ng làm nguồn dữ liệu. Nếu thay đổi thiết kế trong b ng làm nguồn dữ liệu và thay đổi thuộc tính của các trư ng thì thuộc tính này cũng được thay đổi trong truy v n. Tuy nhiên, nếu quy đ nh lại các thuộc tính cho các trư ng trong truy v n thì các thuộc tính của các trư ng trong b ng làm nguồn dữ liệu không thay đổi. 4. THI T K TRUY V N CH N 4.1. Đ nh nghĩa truy v n ch n Truy v n ch n là loại truy v n được ch n lựa, rút trích dữ liệu từ các b ng dữ liệu thỏa mãn một hoặc nhiều điều kiện nào đó. Khi thực hiện truy v n ch n, Access tác động lên dữ liệu và thể hiện các b n ghi tho mãn các điều kiện đăt ra trong một b ng kết qu g i là Recordset. 4.2. L p phép ch n trong truy v n 4.2.1. Chọn một nhóm các bản ghi thỏa mãn một điều kiện nào đó Khoa Công nghệ Thông tin http://www.ebook.edu.vn 108 Giáo trình “Các hệ qu n tr c s dữ liệu" Muốn thực hiện các phép ch n trong khi thể hiện truy v n ngư i ta thư ng sử dụng các phép toán sau: Phép toán Ví d Ý nghĩa < <#20/10/99# Trước ngày 20/10/99 > >#10/10/98# Sau ngày 10/10/98 >= >= #05/05/90# Sau và trong ngày 05/05/90 <> <>#01/01/99# Khác ngày 01/01/99 = = #10/10/97# Trong ngày 10/10/97 Between .... and Between #1/2/97# and #1/7/97# Từ ngày 1/2/97 đến 1/7/97 ... Ví dụ: Cho 2 b ng dữ liệu Dslop(Malop, Tenlop, Nganh_hoc, khoahoc) Dssv(Masv, malop, hotensv, ngaysinh, quequan, giotinh, hocbong) Tạo một truy v n để hiển th danh sách những sinh viên có ngaysinh trong kho ng th i gian từ 05/05/75 đến 05/05/79 bao gồm các trư ng: Tenlop, Hotensv, Ngaysinh, nganh_hoc. Tạo truy v n ch n và đưa 2 b ng dslop và dssv vào tham gia truy v n Đưa các trư ng Tenlop, hotensv, ngaysinh, nganh_hoc vào vùng lưới QBE Trong hàng Criteria của trư ng Ngaysinh: Between #05/05/75# and #05/05/79# 4.2.2. Ký tự thay thế Ký tự * : Thay thế một nhóm ký tự b t kỳ. Ký tự ? : Thay thế 1 ký tự. Ký tự [ ] : Thay thế các ký tự trong ngoặc vuông. Ký tự ! : Phủ đ nh. Ký tự - : Từ ký tự đến ký tự. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 109 Giáo trình “Các hệ qu n tr c s dữ liệu" Ví dụ Cho 2 b ng dữ liệu Dslop(Malop, Tenlop, Nganh_hoc, khoahoc) Dssv(Masv, malop, hotensv, ngaysinh, quequan, giotinh, hocbong) Tạo một truy v n để hiển th danh sách những sinh viên có Tenlop bắt đầu là "T" bao gồm các trư ng: Tenlop, Hotensv, Ngaysinh, nganh_hoc. Tạo truy v n ch n và đưa 2 b ng dslop và dssv vào tham gia truy v n Đưa các trư ng Tenlop, hotensv, ngaysinh, nganh_hoc vào vùng lưới QBE Trong hàng Criteria của trư ng Tenlop: Like "T*" 4.2.3. Chọn các bản ghi không phù hợp với một giá trị nào đó Dùng toán tử Not Ví dụ: Tạo một truy v n để hiển th danh sách những sinh viên có Tenlop không bắt đầu là "T" bao gồm các trư ng: Tenlop, Hotensv, Ngaysinh, nganh_hoc. 4.2.4. Định nhiều tiêu chuẩn trong lựa chọn Dùng phép “Và” và phép “Hoặc” trong một trường Muốn quy đ nh nhiều tiêu chuẩn trong cùng một trư ng, chúng ta ph i sử dụng toán tử AND (và ) cùng toán tử OR (hoặc). Ví dụ: Tạo một truy v n để hiển th danh sách những sinh viên có H là "Nguy n" và Tên "Thuỷ" bao gồm các trư ng: Tenlop, Hotensv, Ngaysinh. Tạo truy v n ch n và đưa 2 b ng dslop và dssv vào tham gia truy v n Khoa Công nghệ Thông tin http://www.ebook.edu.vn 110 Giáo trình “Các hệ qu n tr c s dữ liệu" Đưa các trư ng Tenlop, hotensv, ngaysinh vào vùng lưới QBE Trong hàng Criteria của trư ng Hotensv : Like "Nguyễn *" and "* Thuỷ" Dùng phép “Và” và phép “Hoặc”trên nhiều trường Ví dụ: Tạo một truy v n để hiển th danh sách những sinh viên có H là "Nguy n" và tên "Thuỷ" và có quê quán "Hu " bao gồm các trư ng: Tenlop, Hotensv, ngaysinh Quequan. Tạo truy v n ch n và đưa 2 b ng dslop và dssv vào tham gia truy v n Đưa các trư ng Tenlop, hotensv, ngaysinh, quequan vào vùng lưới QBE Trong hàng Criteria của trư ng Hotensv : Like "Nguyễn *" and "* Thuỷ" Quequan : Huế Tạo một truy v n để hiển th danh sách những sinh viên có H là "Lê" hoặc có quê quán "Đà Nẵng bao gồm các trư ng: Tenlop, Hotensv, Ngaysinh, Quequan. Tạo truy v n ch n và đưa 2 b ng dslop và dssv vào tham gia truy v n Đưa các trư ng Tenlop, hotensv, ngaysinh , Quequanvào vùng lưới QBE Trong hàng Criteria của trư ng Hotensv : Like "Lê *" Trong hàng or của trư ng Quequan : Đà Nẵng Khoa Công nghệ Thông tin http://www.ebook.edu.vn 111 Giáo trình “Các hệ qu n tr c s dữ liệu" 4.2.5. Chọn các bản ghi có chứa có giá trị Chúng ta có thể ch n các b n ghi có chứa hoặc không chứa giá tr , chẳng hạn như tìm những sinh viên mà không có số điện thoại nhà . Access cung c p 2 phép toán Phép toán Ý nghĩa IS NULL Trư ng không chứa giá tr IS NOT NULL Trư ng có chứa giá tr Ví dụ: Tạo một truy v n để hiển th danh sách những sinh viên không có h c bổng bao gồm các trư ng: Tenlop, Hotensv, hocbong. 4.2.6. Chọn các bản ghi thuộc danh sách các giá trị nào đó Chúng ta có thể sử dụng phép toán IN (Danh sách giá trị) Ví dụ Tạo một truy v n để hiển th danh sách những sinh viên thuộc lớp "Tin K23" hoặc "Tin K24" hoặc "Tin K25" bao gồm các trư ng: Tenlop, Hotensv, hocbong. 4.2.7. Tham chiếu đến các trường khác Khoa Công nghệ Thông tin http://www.ebook.edu.vn 112 Giáo trình “Các hệ qu n tr c s dữ liệu" Nếu trong biểu thức ch n của truy v n, các tính toán tham chiếu đến các trư ng ph i đặt trong d u [ ], trư ng hợp tham chiếu đến trư ng của b ng khác ph i ch rõ b ng nguồn của nó. [Tên b ng]![Tên tr ng]. 4.2.8. Tạo trường kiểu biểu thức Ví dụ Cho 2 b ng dữ liệu Dssv( Masv, hotensv, ngaysinh, quequan, gioitinh) Dsdiem( Masv, mamon, diem_lan1, diem_lan2) Tạo truy v n để hiển th các thông tin: Hotensv, mamon, diem_lan1, diem_lan2, dtb, trong đó dtb=(diem_lan1+ diem_lan2*2)/3. H Chú ý Sau khi thực hiện truy v n chúng ta không thể thay đổi giá tr trong trư ng kiểu biểu thức, tuy nhiên nếu thay đổi giá tr trong trư ng tham gia biểu thức thì kết qu trong trư ng kiểu biểu thức cũng thay đổi theo. 4.2.9 .Chọn giá trị duy nhất Theo mặc đ nh, access sẽ ch n t t c các b n ghi thoã mãn điều kiện, tuy nhiên đôi khi có nhiều giá tr giống nhau được lặp đi lặp lại, do đó để cô đ ng dữ liệu thì chúng ta có thể quy đ nh thuộc tính duy nh t trong khi hiển th Thu c tính Unique-values Ch n Yes: Không thể hiện các giá tr trùng nhau Ch n No: Thể hiện các giá tr trùng nhau Thu c tính Unique-Records Ch n Yes: Không thể hiện các b n ghi trùng nhau Ch n No: Thể hiện các b n ghi trùng nhau 4.2.10. Chọn các giá trị đầu Khoa Công nghệ Thông tin http://www.ebook.edu.vn 113 Giáo trình “Các hệ qu n tr c s dữ liệu" Khi hiển th truy v n đôi khi chúng ta muốn hiển th một số b n ghi đầu tiên nào đó tho mãn các điều kiện thì sử dụng thuộc tính Top values. 5. TRUY V N D A TRÊN NHI U B NG D LI U Để tạo truy v n dựa trên nhiều b ng dữ liệu thì các b ng đó ph i được thiết lập mối quan hệ, nếu các b ng không thiết lập mối quan hệ thì khi truy v n dữ liệu access sẽ cho ra những bộ dữ liệu là tích Đề-Các giữa các bộ dữ liệu trong các b ng. 5.1. Liên k t các b ng trong truy v n Khi các b ng dữ liệu được thiết lập mối quan hệ thì trư ng nối với nhau g i là trư ng liên kết, trong access phân biệt 3 loại liên kết sau 5.1.1. Liên kết nội (Inner join) Đây là loại liên kết r t phổ biến nh t giữa 2 b ng dữ liệu. Trong đó dữ liệu khi thể hiện trên Dynaset sẽ gồm những b n ghi mà dữ liệu chứa trong trư ng liên kết hai b ng ph i giống nhau hoàn toàn. 5.1.2. Liên kết ngoại (Outer join) Đây là loại liên kết cho phép dữ liệu thể hiện trên Dynaset của một trong hai b ng tham gia có nội dung trư ng liên kết không giống nội dung trong trư ng tư ng ứng của b ng còn lại. Liên kết ngoại được chia làm hai loại Left Outer Join: Trong kiểu liên kết này, dữ liệu b ng bên "1" thể hiện toàn bộ trên Dynaset và ch những b n ghi bên b ng "nhiều" có nội dung trong trư ng liên kết giống trư ng tư ng ứng bên b ng "1". Right Outer Join: Trong kiểu liên kết này, dữ liệu b ng bên "nhiều" thể hiện toàn bộ trên Dynaset và ch những b n ghi bên b ng "1" có nội dung trong trư ng liên kết giống trư ng tư ng ứng bên b ng "nhiều". 5.1.3. Tự liên kết (Seft join) Là kiểu liên kết của một b ng dữ liệu với chính nó. Trong đó một b n ghi trong b ng dữ liệu sẽ liên kết với những b n ghi khác trong b ng dữ liệu đó. Tự liên kết có thể hiểu như là liên kết nội hay liên kết ngoại từ một b ng vào một b ng sao chính nó. Để thực hiện việc tạo tự liên kết chúng ta ph i đưa một b ng vào tham gia truy v n 2 lần. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 114 Giáo trình “Các hệ qu n tr c s dữ liệu" 5.2.T o liên k t ngo i Muốn tạo liên kết ngoại giữa 2 b ng dữ liệu ta thực hiện Tools/Relationships Double click vào đư ng liên kết giữa 2 b ng dữ liệu, ch n Join Type Trong hộp thoại Join Properties ch n mục 2 hoặc mục 3. 5.3.T o m t t liên k t Để tạo một tự liên kết chúng ta thực hiện Tạo truy v n mới và đưa b ng dữ liệu vào truy v n 2 lần Tạo các liên kết Ví dụ: Cho b ng Dsdiem(Masv, Hoten, Diem_lan1, Diem_lan2) Tạo truy v n để hiển th danh sách những sinh viên có điểm thi Lần 1 bằng điểm thi lần 2... Tạo truy v n mới và đưa b ng Dsdiem vào tham gia truy v n 2 lần Tạo liên kết nội (Inner join) giữa 2 trư ng Masv Tạo liên kết nội từ trư ng Diem_lan1 vào Diem_lan2 Đưa các trư ng vào vùng lưới QBE và xem kết qu 5.3. T đ ng tìm ki m d li u (Auto lookup) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 115 Giáo trình “Các hệ qu n tr c s dữ liệu" Khi nhập dữ liệu vào Dynaset, chức năng tự động tìm kiếm dữ liệu cho phép chúng ta ch nhập dữ liệu các trư ng của b ng bên "nhiều" ( quan hệ 1-∞) còn Acces sẽ tự động tìm kiếm dữ liệu tư ng ứng trên b ng "1" để hiển th . Chức năng Auto Lookup hoạt động trong các truy v n mà hai b ng tham gia có mối quan hệ 1-∞. Tạo một truy v n có sử dụng chức năng Auto Lookup chúng ta thực hiện: Tạo truy v n và đưa 2 b ng vào tham gia truy v n Đưa trư ng liên kết cu b ng bên nhiều vào vùng lưới QBE Đưa các trư ng cần hiển th dữ liệu của b ng bên "1". H Chú ý: Khi nhập dữ liệu ch nhập dữ liệu các trư ng của b ng "nhiều" 6. TÍNH T NG TRONG TRUY V N CH N Trong thực tế, chúng ta thư ng có những câu hỏi đặt ra về việc nhóm dữ liệu nào đó, chẳng hạn trong tháng 10 công ty xăng dầu XYZ bán được bao nhiêu lít xăng, tổng thành tiền bao nhiêu? Trong Access chúng ta có thể thực hiện một số phép tính lên một nhóm b n ghi bằng cách dùng truy v n tính tổng M t s phép toán th ng s d ng Phép toán Ý nghĩa Sum Tính tổng các giá tr của một trư ng Avg Tính giá tr trung bình của một trư ng Min Tính giá tr nhỏ nh t của một trư ng Max Tính giá tr lớn nh t của một trư ng Count Đếm số giá tr khác rỗng có trong một trư ng First Last Giá tr của trư ng Giá tr của trư ng b n ghi đầu tiên trong b ng b n ghi cuối cùng trong b ng Where Giới hạn điều kiện khi tính tổng Expression Trư ng kiểu biếu thức Khoa Công nghệ Thông tin http://www.ebook.edu.vn 116 Giáo trình “Các hệ qu n tr c s dữ liệu" H Chú ý: Khi thực hiện truy v n Total, dữ liệu trong b ng kết qu của nó trình bày không thể ch nh sửa. 6.1. T o truy v n tính t ng Tạo truy v n ch n và đưa các b ng vào tham gia truy v n Thực hiện lệnh: View/Totals Trong vùng lưới QBE: Tại hàng Field ch n các trư ng Total ch n các phép toán tư ng ứng. Criteria: Ch n điều kiện giới hạn tính tổng (Nếu có) Lưu và thực hiện truy v n 6.2. Tính t ng c a t t c các b n ghi Tạo truy v n ch n. Đưa các b ng cần thiết vào truy v n. Đưa các trư ng cần thiết vào vùng lưới QBE Ch n menu View/Totals, dòng Total sẽ xu t hiện trên vùng lưới. Trong hàng total của mỗi trư ng ch n phư ng pháp tính tổng (Sum, Avg, count...). Vì đang tính tổng của t t c các b n ghi nên không được phép ch n “Group by” b t kỳ trư ng nào. Chuyển sang DataSheet View để xem kết qu . (View/ Datasheet View) Ví dụ: Để qu n lý các mặt hàng bán ra trong một cửa hàng ngư i ta sử dụng 2 b ng dữ liệu như sau: Dshang( Mahang, tenhang, dongia) Dskhach(Mahang, tenkhach, ngaymua, diachi, soluong, thanhtien) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 117 Giáo trình “Các hệ qu n tr c s dữ liệu" Tạo truy v n để thống kê xem trong cửa hàng bán bao nhiêu mặt hàng và trung bình đ n giá của mỗi mặt hàng là bao nhiêu? Tạo truy v n và đưa b ng Dshang vào tham gia truy v n Đưa 2 trư ng Mahang và dongia vào vùng lưới QBE. Ch n View/Totals Trong hàng Total của trư ng Mahang ch n phép toán Count Trong hàng Total của trư ng Dongia ch n phép toán Avg Ch n View/Datasheet View để xem kết qu . H Chú ý: Có thể đếm số b n ghi bằng cách dùng Count(*) 6.3. Tính t ng trên t ng nhóm b n ghi Trong nhiều trư ng hợp chúng ta có thể tính toán trên một nhóm b n ghi nào đó. Chúng ta quy đ nh khi thiết kế truy v n những trư ng nào sẽ được tính theo nhóm, trư ng nào sẽ được tính tổng. Tạo truy v n Đưa các b ng tham gia vào truy v n Đưa các trư ng vào vùng lưới Ch n View/Totals Tại hàng total Ch n “Group by” cho trư ng làm khóa để nhóm Khoa Công nghệ Thông tin http://www.ebook.edu.vn 118 Giáo trình “Các hệ qu n tr c s dữ liệu" Ch n các phép toán tính tổng ( Sum,count..) cho các trư ng còn lại Ch n View/Datasheet View để xem kết qu . Ví dụ: Tạo một truy v n để tính tổng soluong, thanhtien của mỗi mặt hàng bán được là bao nhiêu? Tạo truy v n và đưa 2 b ng dshang và dskhach vào tham gia truy v n Ch n View/Totals Đưa các trư ng Tenhang, soluong, thanhtien vào vùng lưới QBE. Tại hàng Total của trư ng Tenhang: Ch n phép toán Group by Tại hàng Total của trư ng Soluong, thanhtien: Ch n phép toán SUM. Ch n View/Datasheet View để xem kết qu . Ta có thể thay đổi tiêu đề cột trong khi thực hiện truy v n tính tổng như sau 6.4. Tính t ng trên nhi u nhóm b n ghi Access cho phép tính tổng không ch trên một mà còn nhiều nhóm b n ghi. Để làm được điều đó chúng ta ch n “Group by” trên nhiều trư ng và khi thực hiện Khoa Công nghệ Thông tin http://www.ebook.edu.vn 119 Giáo trình “Các hệ qu n tr c s dữ liệu" Access sẽ theo thứ tự từ trái sang ph i trư ng bên trái là nhóm mức cao h n, trư ng kế tiếp theo là nhóm mức th p h n. Ví dụ: Tạo truy v n để tính tổng thanhtien của mỗi mặt hàng bán được theo từng năm nào đó? Tạo truy v n và đưa 2 b ng dshang và dskhach vào tham gia truy v n Ch n View/Totals Đưa các trư ng tenhang, ngaymua, thanhtien vào vùng lưới QBE Tại hàng Total của trư ng tenhang ch n phép toán Group by Tại hàng field của trư ng ngayban sử dụng hàm year([ngayban]) và tại hàng total ch n phép toán Group by. Tại hàng Total của trư ng Thanhtien ch n phép toán Sum. Thay đổi tiêu đề cột trong truy v n. Ch n View/ Datasheet View để xem kết qu 6.5. L p bi u thức ch n cho các tr ng dùng đ nhóm khi tính t ng Cũng như với những truy v n khác, chúng ta có thể lập biểu thức ch n cho truy v n tính tổng theo từng nhóm. Để thực hiện công việc này, chúng ta lập biểu thức điều kiện ngay hàng Criteria của trư ng “group by”. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 120 Giáo trình “Các hệ qu n tr c s dữ liệu" Ví dụ: Tạo truy v n để tính tổng thanhtien của mỗi mặt hàng bán được trong năm 1999. Tạo truy v n và đưa 2 b ng dshang và dskhach vào tham gia truy v n Ch n View/Totals Đưa các trư ng tenhang, ngaymua, thanhtien vào vùng lưới QBE Tại hàng Total của trư ng tenhang ch n phép toán Group by Tại hàng field của trư ng ngayban sử dụng hàm year([ngayban]) và tại hàng total ch n phép toán Group by. Tại hàng Total của trư ng Thanhtien ch n phép toán Sum. Tại hàng Criteria của trư ng ngaymua: gõ vào giá tr 1999 Thay đổi tiêu đề cột trong truy v n. Ch n View/ Datasheet View để xem kết qu 6.6. L p bi u thức ch n đ gi i h n nh ng b n ghi. Trong các phần trước, chúng ta đã biết cách giới hạn các b n ghi trong truy v n theo một điều kiện nào đó, sự giới hạn này g i là gi i h n sau khi tính t ng. Bây gi chúng ta lập biểu thức ch n giới hạn số b n ghi trước khi đưa vào tính tổng trong truy v n g i là gi i h n tr c khi tính t ng . Cách t o Tạo truy v n mới và đưa các b ng tham gia vào truy v n Khoa Công nghệ Thông tin http://www.ebook.edu.vn 121 Giáo trình “Các hệ qu n tr c s dữ liệu" Đưa các trư ng vào vùng lưới QBE. Ch n menu View/Total Thiết lập hàng Total thành Where đối với trư ng chúng ta muốn dùng để đặt biểu thức điều kiện giới hạn số b n ghi trước khi tính tổng. Gõ biểu thức điều kiện tại hàng Criteria tư ng ứng. Chuyển sang chế độ datasheet view để xem kết qu . Ví dụ: Tạo truy v n để tính tổng soluong, thanhtien của mỗi mặt hàng bán được đối với khách mua hàng có Queuqan "Hu " H Chú ý: Trong đa số trư ng hợp, đặt điều kiện l c trước và sau khi tính tổng có giá tr khác nhau. 6.7. Dùng truy v n đ c p nh t b n ghi Khi truy v n ch dựa trên một b ng, hoậchi b ng có quan hệ 1-1 thì t t c các trư ng đều có thể thay đổi, cập nhật. Trong trư ng hợp có nhiều h n hai b ng tham gia truy v n mà có quan hệ 1-∞ thì sẽ phức tạp h n. 6.7.1. Khi nào dữ liệu trong trường có thể sửa đổi được B ng sau đây liệt kê các trư ng hợp khi nào một trư ng trong kết qu truy v n hay trong biểu mẫu có thể sửa đổi được. Lo i truy v n hay tru ng D li u trong tr ng có cho phép s a đ i hay không? Truy v n dựa trên 1 b ng Có Truy v n dựa trên nhiều b ng có quan hệ 1-1 Khoa Công nghệ Thông tin Có http://www.ebook.edu.vn 122 Giáo trình “Các hệ qu n tr c s dữ liệu" Truy v n dựa trên nhiều b ng có Thông thư ng quan hệ 1-∞ Truy v n Tham kh o chéo Không Truy v n tính tổng Không Truy v n với thuộc tính Unique values được thiết lập thành Yes Không Truy v n hội Không Truy v n chuyển nhượng Không Trư ng kiểu biểu thức Không Trư ng trong b n ghi đã b xoá hoặc b khoá b i một ngư i khác trong môi trư ng Không nhiều ngư i sử dụng 6.7.1. Chỉnh sửa bản ghi trong truy vấn dựa trên hai bảng có quan hệ 1-∞ Trong truy v n dựa trên dữ liệu là hai b ng có quan hệ 1-∞, chúng ta có thể sửa đổi t t c các trư ng trừ trư ng liên kết của b ng bên "1". Tuy nhiên có hai trư ng hợp mà vẫn có thể sửa đổi dữ liệu trong trư ng liên kết bên "1" là: Có thể sửa đổi dữ liệu trư ng liên kết bên b ng "1" trong trư ng hợp liên kết ngoại và trư ng tư ng ứng của liên kết bên b ng "nhiều" không chứa giá tr . Có thể sửa đổi dữ liệu trư ng liên kết bên b ng "1" trong trư ng hợp đã khai báo thuộc tính tham chiếu toàn vẹn. 7. TRUY V N THAM S (Parameter Query) 7.1. Khái ni m Nếu thư ng xuyên chạy cùng một truy v n, nhưng mỗi lần một tiêu chuẩn khác nhau, thay vì ph i thiết kế lại truy v n sau mỗi lần thực hiện, có thể tiết kiệm th i gian bằng cách tạo truy v n tham số. Khi thực hiện loại này Access sẽ nhắc nhập điều kiện ch n trong hộp thoại enter parameter Value. Ví dụ: Khoa Công nghệ Thông tin http://www.ebook.edu.vn 123 Giáo trình “Các hệ qu n tr c s dữ liệu" Gi sử thư ng xuyên chạy một truy v n để liệt kê danh sách nhân viên của một c quan nào đó có mã c quan nhập vào b t kỳ. H Chú ý: Nội dung các tham số mà chúng ta nhập vào có thể là hằng ( số,chuỗi,ngày..) nhưng không được biểu thức. 7.2. T o truy v n tham s Tạo truy v n ch n và đưa các b ng cần thiết vào tham gia truy v n. Kéo các trư ng cần thiết vào vùng lưới QBE. Tại hàng Criteria gõ vào biểu thức có chứa tham số với chú ý tên tham số ph i nằm giữa 2 d u ngoặc vuông ( [ ]) Tên tham số cũng là chuỗi nhắc nh .Access cho phép có kho ng trắng và độ dài tối đa 255 ký tự. Quy đ nh kiểu dữ liệu cho tham số: Ch n queries/ parameter query. Trong hộp thoại query parameters: Trong mục Parameter ch n tham số, trong mục Data type ch n kiểu dữ liệu tư ng ứng. Ví dụ: Tạo truy v n để hiển th danh sách các khách hàng mua một mặt hàng nào đó (mặt hàng được nhập b t kỳ từ bàn phím). Tạo truy v n để hiển th danh sách các khách hàng mua hàng có h lót được nhập từ bàn phím. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 124 Giáo trình “Các hệ qu n tr c s dữ liệu" 7.3. Truy v n nhi u tham s Có thể tạo truy v n , khi chạy truy v n nhập nhiều dữ liệu cho điều kiện ch n lựa. Muốn vậy tạo truy v n nhiều tham số. Ví dụ: Tạo một truy v n hiển th danh sách các khách hàng mua hàng trong kho ng th i gian nào đó (Th i gian được nhập từ bàn phím). Tạo truy v n ch n và đưa các 2 b ng dshang và dskhach vào tham gia truy v n. Kéo các trư ng tenhang, tenkhach, ngaymua vào vùng lưới QBE. Tại hàng Criteria của trư ng NGAYSINH ch n: Between [Từ ngày] and [Đến ngày] Ch n query/Parameter khai báo kiểu dữ liệu cho 2 tham số là date/time. Khi chạy truy v n sẽ cho kết qu sau 7.4. K t h p gi a truy v n tham s và truy v n tính t ng Khoa Công nghệ Thông tin http://www.ebook.edu.vn 125 Giáo trình “Các hệ qu n tr c s dữ liệu" Trong nhiều bài toán qu n lý ngư i ta thư ng gặp những yêu cầu như: Hãy thống kê xem mỗi loại hàng trong một tháng nào đó bán được với tổng số lượng là bao nhiêu? Tổng thành tiền là bao nhiêu? (Tháng được nhập từ bàn phím). Vì vậy trước hết chúng ta ph i thực hiện truy v n tính tổng xong mới kết hợp truy v n tham số. Ví dụ: Hãy tạo một truy v n để hiển th tổng thanhtien của mỗi mặt hàng bán được trong một năm nào đó (Năm được nhập từ bàn phím). Tạo một truy v n ch n, đưa b ng Dshang và dskhach vào tham gia truy v n. Đưa các trư ng tenhang, ngayban, thanhtien vào vùng lưới QBE. Ch n View/Totals Trong hàng Total: Ch n Group by đối với trư ng tenhang, và year([ngayban]) Trong hàng Criteria đối với trư ng Ngaysinh, ta ch n tham số sau: [Nhap vao nam ban hang]. 8. TRUY V N THAM KH O CHÉO (Crosstab query) 8.1. Khái ni m Truy v n tham kh o chéo là loại truy v n dùng để tóm lược dữ liệu và trình bày kết qu theo dạng như một b ng tính. Truy v n tham kh o chéo cũng có thể thống kê một khối lượng dữ liệu lớn và trình bày đ n gi n h n do đó thư ng sử dụng để so sánh dữ liệu. 8.2. T o truy v n tham kh o chéo Muốn tạo một truy v n tham kh o chéo chúng ta ph i xác đ nh được 3 yếu tố chính: Trư ng làm tiêu đề cột ( Duy nh t 1 trư ng), trư ng làm tiêu đề hàng ( Có thể nhiều trư ng), trư ng tính giá tr (Duy nh t 1 trư ng). Khoa Công nghệ Thông tin http://www.ebook.edu.vn 126 Giáo trình “Các hệ qu n tr c s dữ liệu" Cách t o Tạo truy v n ch n và đưa các b ng vào tham gia truy v n Đưa các trư ng vào vùng lưới QBE Ch n Query/Crosstab Quy định trường làm tiêu đề cột Tại hàng Total: Bắt buộc ch n phép toán Group by Tại hàng Crosstab: Ch n Column heading Quy định trường làm tiêu đề hàng Tại hàng Total: Ít nh t một trong các trư ng ph i ch n phép toán Group by Tại hàng Crosstab: Ch n Row heading Quy định trường tính giá trị Tại hàng Total: Ch n phép toán thích hợp Tại hàng Crosstab: Ch n Value Ví dụ: Cho 2 b ng dữ liệu Dstruong(matruong, tentruong, sodt) Danhsach(matruong, hoten, ngaysinh, gioitinh, xeploai) Tạo một truy v n Crosstab để ph n ánh tổng số lượng sinh viên xếp mỗi loại của trong từng trư ng bao nhiêu.? Tạo truy v n và đưa 2 b ng dữ liệu vào tham gia truy v n, đưa các trư ng tentruong và xeploai vào vùng lưới QBE. (Trư ng Xeploai đưa vào 2 lần) Ch n Query/ crosstab query Tại hàng Total của trư ng tentruong: Ch n phép toán Group by, hàng crosstab: ch n Row heading Tại hàng Total của tru ng Xeploai: Ch n phép toán Group by, hàng Crosstab ch n Column heading. Tại hàng Total của tru ng Xeploai: Ch n phép toán Count, hàng Crosstab ch n Value. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 127 Giáo trình “Các hệ qu n tr c s dữ liệu" Ch n View/ Datasheet View để xem kết qu 8.3. Đ nh d ng cho tiêu đ c t Với truy v n Crosstab, chúng ta có thể can thiệp nhiều h n về cách trình bày tiêu đề cột trong b ng. Chúng ta có thể thay đổi bằng cách đặt lại thuộc tính Column Heading của truy v n. Thuộc tính này cho phép chúng ta: Ch đ nh sắp xếp các tiêu đề cột. Muốn đ nh dạng tiêu đề cột thực hiện các bước sau: Tạo truy v n Crosstab. Chuyển sang chế độ Design View. M b ng thuộc tính truy v n. Tại hàng Column Heading : Gõ các tiêu đề cột theo thứ tự mà chúng ta muốn Các giá tr này ph i cách nhau b i d u ch m phẩy ( ;) 9. TRUY V N HÀNH Đ NG 9.1. Các lo i truy v n hành đ ng Truy v n hành động giúp ngư i sử dụng tạo b ng mới hay sửa đổi dữ liệu trong các b ng. Có 4 loại truy v n hành động: Khoa Công nghệ Thông tin http://www.ebook.edu.vn 128 Giáo trình “Các hệ qu n tr c s dữ liệu" Truy vấn tạo bảng (Make table query): Tạo b ng mới từ một b ng hay nhiều b ng đã tồn tại dữ liệu. Truy vấn cập nhật (Update query): Dùng để cập nhật dữ liệu cho một hoặc nhiều tru ng trong b ng dữ liệu. Truy vấn xoá (Delete query):Xoá các b n ghi tho mãn các điều kiện từ một hay nhiều b ng dữ liệu. Truy vấn nối (Append query): Nối một số b n ghi từ một hoặc nhiều b ng dữ liệu vào sau một hoặc nhiều b ng dữ liệu khác. 9.2. Truy v n t o b ng Truy v n tạo b ng sẽ tạo ra một b ng mới bằng cách rút các b n ghi thoã mãn các điều kiện nào đó. Cách t o truy v n Để tạo truy v n tạo b ng chúng ta tạo truy v n ch n và đưa b ng vào tham gia truy v n. Đưa các trư ng vào vùng lưới QBE Ch n query/ make table query Trong mục Table name: Đặt tên mới cho b ng muốn tạo. Ch n Current Database: CSDL hiện th i Another Database: Tạo b ng trong CSDL khác. Ch n các điều kiện (Nếu có). 9.3. Truy v n xoá Truy v n xoá giúp chúng ta loại bỏ các b n ghi tho mãn một số điều kiện nào đó Cách t o truy v n Để tạo truy v n xoá chúng ta tạo truy v n ch n và đưa b ng vào tham gia truy v n. Ch n query/ Delete query Trong vùng lưới QBE tại hàng Field ch n các trư ng cần so sánh với điều kiện xoá Tại hàng Delete: Ch n phép toán Where Tại hàng Criteria: Ch n điều kiện xoá Ví dụ: Tạo truy v n để xoá những sinh viên có matruong là "SP" Khoa Công nghệ Thông tin http://www.ebook.edu.vn 129 Giáo trình “Các hệ qu n tr c s dữ liệu" 9.3. Truy v n c p nh t Truy v n này dùng để cập nhật giá tr hoặc sửa đổi giá tr của các trư ng trong b ng dữ liệu. Cách t o truy v n Tạo một truy v n ch n và đưa b ng vào tham gia truy v n Ch n Query/Update query Tại hàng Field: Ch n trư ng cần cập nhật dữ liệu Tại hàng Update to: Ch n Biểu thức cần tính giá tr Tại hàng Criteria: Ch n điều kiện (nếu có). Ví dụ: Cho 2 b ng dữ liệu Dsphong(tenphong, dongia) Dskhachtro (tenphong, ngayden, ngaydi, thanhtien) Tạo truy v n để cập nhật giá tr cho trư ng Thanhtien=(ngaydi-ngayden)*dongia 9.4. Truy v n n i d li u Truy v n nối dữ liệu dùng để nối dữ liệu từ một b ng này vào sau một b ng khác. Cách t o truy v n Tạo truy v n ch n và đưa b ng dữ liệu vào để nối với b ng khác tham gia truy v n. Ch n Queries/Append query Trong mục Table name: Ch n b ng cần nối vào và ch n OK. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 130 Giáo trình “Các hệ qu n tr c s dữ liệu" Ch n Current Database: CSDL hiện th i Another Database: Tạo b ng trong CSDL khác. Trong vùng lưới QBE của truy v n tại hàng Field: Đưa các trư ng của b ng gốc vào. Trong hàng Append to: Đưa các trư ng tư ng ứng của b ng cần nối và đặt điều kiện nếu cần thiết. H Chú ý Trong truy v n nối dữ liệu thì các trư ng được nối với nhau tư ng ứng ph i cùng kiểu dữ liệu. Nếu các trư ng tư ng ứng không có cùng kiểu dữ liệu thì sẽ không được nối. Nếu các trư ng có Field size không phù hợp thì tuỳ theo việc nối dữ liệu mà sẽ cắt bớt hoặc thêm vào ký tự trắng. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 131 Giáo trình “Các hệ qu n tr c s dữ liệu" NGÔN NGỮ SQL Ch ng 4 1. GI I THI U V NGÔN NG SQL SQL là một ngôn ngữ dùng để truy xu t dữ liệu, cập nhật, thay đổi và qu n lý các CSDL quan hệ. Khi tạo một truy v n thì ACCESS tự động xây dựng các câu lệnh SQL tư ng ứng. Một số truy v n của ngôn ngữ SQL như sau: Truy vấn hội (Union Query) Truy vấn chuyển nhượng (pass through Query) Truy vấn định nghĩa dữ liệu (Data Definition Query) Truy vấn con (Sub Query) H Chú ý Trong SQL mỗi câu lệnh có thể được viết trên nhiều hàng và kết thúc mỗi câu lệnh là d u ch m phẩy (;) 2. SQL X LÝ TRÊN B NG D LI U 2.1. T o b ng m i Cú pháp Create table <Table name>(<Field1> <Type>[(Size)][, <Field2> <Type>[(Size)].......... [Constraint < Primary key name> primary key <Fieldname key>] [Constraint <Index name> Unique <Field name Index>] Chức năng: T o c u trúc của một b ng mới. Giải thích chức năng các tham số Table name: Tên b ng cần tạo Fieldname1, Fieldname2....: Các trư ng trong b ng cần tạo, tối thiểu 1 trư ng. Type: Các kiểu dữ liệu tư ng ứng. Size Primary key name Khoa Công nghệ Thông tin : Kích thước của trư ng : Tên khoá chính http://www.ebook.edu.vn 132 Giáo trình “Các hệ qu n tr c s dữ liệu" Fieldname key : Trư ng làm khoá chính Index name : Tên ch mục Fieldname Index : Tru ng làm ch mục Constraint........Primary key : Dùng để thiết lập khoá chính Constraint........ Unique: Thiết lập ch mục (Không trùng nhau) H Chú ý: Đối với các kiểu dữ liệu khi sử dụng trong SQL Ki u d li u chu n ng ứng trong SQL Khai báo t Text Text(Size) Byte Byte Integer Short Long Integer Long Single Single Double Double Date/Time Datetime Yes/No Yesno OLE Object OLE Object Currency, Memo, Counter Currency, Memo, Counter Ví dụ : Tạo b ng DSTRUONG có c u trúc sau Fieldname Data Type size Matruong Text 2 Tenruong Text 20 SODT Text 9 Create table dstruong(matruong text(2), tentruong text(20), Sodt text(9)); Ví dụ Tạo b ng DSHOCVIEN có c u trúc sau Fieldname Data Type size Mahv Text 4 Tenhv Text 30 Ngaysinh Date/time Khoa Công nghệ Thông tin (Khoá chính) http://www.ebook.edu.vn 133 Giáo trình “Các hệ qu n tr c s dữ liệu" SODT Text 9 (Lập ch mục) Create table dshocvien(mahv text(4), tenhv text(30), ngaysinh Datetime, sodt text(9), Constraint khoa primary key (mahv), Constraint chimuc unique (sodt)); H Chú ý: Nếu tên tru ng có ký tự trắng hoặc tên b ng, tên khoá chính, tên ch mục thì ph i đặt trong cặp d u [...] Ví dụ Create table [Bang NV] ([Ma nv] text(2), [ ho va ten] text(30)); 2.2. Thay đ i c u trúc c a b ng 2.2.1.Thêm hoặc loại bỏ trường Cú pháp Alter table <Table name>[ add column <fieldname><type>] [Drop column <Field name>] [Add Constraint <Index name> unique <fieldname>] [Drop Constraint <Index name>] Chức năng:Thay đổi c u trúc của b ng Gi i thích: ADD Column..: Thêm trư ng vào b ng Drop column..: Loại bỏ trư ng ra khỏi b ng Add Constraint.....: Thêm tên ch mục Drop Constraint...... Loại bỏ tên ch mục Ví dụ: Gi sử đã tồn tại b ng MATHANG c u trúc sau Fieldname Data Type size MAHANG Text 4 TENHANG Text GIA Integer MAXN Text Ngaynhap Date/time 20 2 Thêm trư ng SOLUONG có kiểu byte vào b ng MATHANG Alter Table mathang soluong byte; Khoa Công nghệ Thông tin http://www.ebook.edu.vn 134 Giáo trình “Các hệ qu n tr c s dữ liệu" Ví dụ : Thêm ch mục có ten cmx cho trư ng MAXN Alter table mathang add constraint cmx unique Maxn Ví dụ : Loại bỏ ch mục cmx Alter table mathang drop constraint cmx Ví dụ : Loại bỏ trư ng ngaynhap ra khỏi b ng MATHANG Alter table mathang drop column ngaynhap 2.2.2. Loại bỏ chỉ mục Cú pháp Drop Index <Index name> on <Table name> Chức năng: Loại bỏ 1 ch mục nào đó. 2.3. Xoá b ng Cú pháp Drop table <Table name> Chức năng: Xoá b ng dữ liệu nào đó. Ví dụ: Xoá b ng MATHANG Drop table MATHANG 3. SQL X LÝ TRÊN TRUY V N 3.1.Truy v n ch n (Select query) Cú pháp Select <Scope> <Fieldname1> [AS <New name>]......... From <Table name> [Where <Condition>] Chức năng: Tạo truy v n ch n Trong đó: Scope: Phạm vi (Mặc đ nh là ALL, Top n: L y n b n ghi đầu tiên) Nếu có AS <New name> thì sẽ thay thế tên cho Fieldname tư ng ứng. Table name: Tên b ng cần l y dữ liệu. Condition: Điều kiện để hạn chế dữ liệu. Ví dụ: Cho b ng dữ liệu DOCGIA sau Khoa Công nghệ Thông tin http://www.ebook.edu.vn 135 Giáo trình “Các hệ qu n tr c s dữ liệu" Fieldname Data Type Size Description MADG Text 2 Mã độc gi (Khoá chính) MASACH Text 4 HOTEN Text 30 QUEQUAN Text 30 NGAYSINH Date/time 8 NGAYMUON Date/time 8 Ch n 2 tru ng MADG và HOTEN Select MADG, hoten From docgia; Ch n 2 trư ng Masach và hoten mà ch những masach bắt đầu là T Select MADG, hoten From docgia where masach like “T*”; Ch n Hoten, quequan, madg cho những độc gi có quê quán Huế và đổi tên trư ng hoten thành H và tên Select hoten AS [H và tên], queuqan, madg From docgia where quequan=”Huế”; Ch n những độc gi mượn sách trong tháng 8 hoặc năm 1999. Select * from docgia where month([ngaymuon])=8 or year([ngaymuon])=1999; 3.2. Truy v n tính t ng (Total query) Cú pháp Select ..........from.......[where < Condition>] Group by [Group fieldname] [Having <Group Condition>]; Chức năng: Tạo một truy v n tính tổng. Ví dụ: Cho b ng dữ liệu BANHANG có c u trúc Fieldname Data type size Mahang text 2 Soluong integer Khoa Công nghệ Thông tin http://www.ebook.edu.vn 136 Giáo trình “Các hệ qu n tr c s dữ liệu" Ngayban Date/time 8 Tạo một truy v n để thống kê xem mỗi loại hàng bán được với số lượng là bao nhiêu? Select mahang, sum([soluong]) From banhang Group by mahang; Tạo truy v n để thống kê xem mỗi loại hàng trong thàng 7 bán được với số lượng bao nhiêu? Ch hiển th những loại hàng mà số lượng bán trên 20. Select mahang, sum([soluong]) From banhang where month([ngayban])=7 Group by mahang having sum([soluong])>20; 3. 3.Truy v n tham kh o chéo Cú pháp Transform <Value Express> Select......From.......Where....... Group by <Row Heading Field> Pivot <Column heading Field> Chức năng: Tạo truy v n tham kh o chéo Ví dụ Transform sum([soluong]) select Mahang, tenhang, sum([soluong]) from dskhang Group by tenhang Pivot Mahang; 3.4. Truy v n t o b ng Cú pháp Select <Field select> into <New Table name) From <Old Table name> [Where <Condition>] Khoa Công nghệ Thông tin http://www.ebook.edu.vn 137 Giáo trình “Các hệ qu n tr c s dữ liệu" Chức năng: Tạo một truy v n tạo b ng Ví dụ Select Mahang, tenhang into Luu From Dskhang Where Mahang Like “A*”; 3.5. Truy v n n i d li u Cú pháp Insert into <append Table name> Select <field select> From <Table name> [Where <Condition>] Chức năng: Tạo truy v n nối dữ liệu Nếu ch thêm 1 b n ghi với các giá tr cụ thể thì ta thực hiện câu lệnh Insert into <Table name and Field list> values <append values> Ví dụ: Insert into luu1(Hoten, quequan) Values (“Nguyen an”, “Hue”) 3.6. Truy v n c p nh t d li u Cú pháp Update <Update Table name> Set <Field name>=<Express> [Where <Condition>] Chức năng: Tạo một truy v n dùng để cập nhật dữ liệu Ví dụ: Update dssv set [hocbong]=[hocbong]+200000 Where Uutien=”1”; Khoa Công nghệ Thông tin http://www.ebook.edu.vn 138 Giáo trình “Các hệ qu n tr c s dữ liệu" 3.7. Truy v n xoá Cú pháp Delete <Table.*> From <Delete Table name> [Where <Condition>] Chức năng: Dùng để tạo một truy v n xoá các b n ghi trong b ng theo một hoặc nhiều điều kiện nào đó. H Chú ý: nếu mệnh đề From chỏ có 1 b ng duy nh t thì không cần liệt kê các b ng trong mệnh đề DELETE. Ví dụ: Có 2 b ng dữ liệu DSHS và DSDTHI có quan hệ 1-1 trên trư ng MAHS. Hãy xoá những h c sinh có điểm thi <5 trong b ng DSHS và DSDTHI. Delete DSHS.* From DSHS INNER JOIN DSDTHI ON DSHS.MAHS=DSDTHI.MAHS Where diem<5.; 3.8. T o m i quan h gi a các b ng Muốn tạo một truy v n để truy xu t dữ liệu từ 2 hay nhiều b ng thì ph i tạo các mối quan hệ giữa các b ng đó. Cú pháp ........ From <Table name 1> inner join <Table name 2> ON <Table name 1>.<Field name1>=<Table name 2>.<Field name 2>......... Hoặc .........From <Table name 1> Left join/ Right join <Table name 2> ON <Table name 1>.<Field name1>=<Table name 2>.<Field name 2>........... Ví dụ: Tạo truy v n gồm : Matruong, tentruong, hoten từ 2 b ng Dstruong và DSHS dựa vào trư ng liên kết Matruong. Select Matruong, tentruong, hoten From Dstruong inner join dshs on Dstruong.matruong=dshs.matruong; Khoa Công nghệ Thông tin http://www.ebook.edu.vn 139 Giáo trình “Các hệ qu n tr c s dữ liệu" Ví dụ: Cho 3 b ng dữ liệu Dstruong( Matruong, tentruong) Dskhoa(Matruong, tenkhoa, Makhoa) DSSV(Makhoa, Hoten, Ngaysinh, quequan) Tạo một truy v n để hiển th danh sách sinh viên thuộc mỗi khoa của mỗi trư ng Select Distinctrow Matruong, tentruong, tenkhoa, hoten From Dstruong inner join (Dskhoa inner join DSSV ON Dskhoa.Makhoa=DSSV.Makhoa) ON Dstruong.Matruong=Dskhoa.Matruong; H Chú ý Có thể sử dụng liên kết ngoại trái Left join hoặc ph i Right join 3.9. Truy v n con (Sub query) Truy v n con là một mệnh đề Select.....From........Wheres được lồng ghép vào một trong các mệnh đề sau: Select.......From......Where Select.......Into................ Insert........Into................ Delete......... Update......... Cú pháp Select...........From...........Where....... <Biểu thức so sánh> ANY|SOME|ALL <Mệnh đề truy vấn con> <Biểu thức tìm kiếm> IN | NOT IN <Mệnh đề truy vấn con> EXIST | NOT EXISTS <Mệnh đề truy vấn con>; Chức năng: Tạo một truy v n con Gi i thích các tham s <Biểu thức so sánh>: Là một biểu thức và một phép toán so sánh. <Biểu thức tìm kiếm>: Là một biểu thức mà tập hợp kết qu của truy v n con sẽ được tìm kiếm. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 140 Giáo trình “Các hệ qu n tr c s dữ liệu" <Mệnh đề truy v n con>: Là dạng mệnh đề trong cú pháp và đặt giữa hai d u ( ). ANY, SOME: Các b n ghi trong truy v n chính tho mãn điều kiện so sánh với b t kỳ hoặc một vài các b n ghi nào truy xu t được từ truy v n con. ALL: Các b n ghi trong truy v n chính tho mãn với điều kiện so sánh với t t c b n ghi nào truy xu t được từ truy v n con. IN: Các b n ghi trong truy v n chính mà có tồn tại một vài b n ghi trong truy v n con có giá tr bằng nó. NOT IN: Các b n ghi trong truy v n chính mà không tồn tại một vài b n ghi trong truy v n con có giá tr bằng nó. EXISTS (NOT EXISTS): Phép so sánh True/ False để xác đ nh nhận truy v n con có kết qu là b n ghi nào không. Ví dụ: Cho 2 b ng dữ liệu KHO(Mahang, Tenhang, Dongia) NKBAN (Mahang, Hoten, Ngaymua, Giamgia, Dongia) Tìm t t c những mặt hàng mà đ n giá lớn h n vài mặt hàng được bán với Giamgia là 20%. Select * From Kho Where dongia> ANY (select dongia From NKBAN Where giamgia=20%); Tìm những mặt hàng bán ra với gi m giá >=10%. Select * from Kho Where Mahang IN (Select mahang From NKBAN Where giamgia>=0.1); Ví dụ: Cho 2 b ng danh sách DSKH(MAKHACH, HOTEN, QUEQUAN, SDT) DATHANG(MAKHACH, SOLUONG, NGAYDAT) Tìm những ngư i khách đặt hàng trước 10/10/99 bao gồm Hoten, Quequan. Select Hoten, quequan From DSKH Where Makhach IN (Select makhach from DATHANG Where NGAYDAT<=#10/10/99#;. 3.10. Truy v n h i (Union Query) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 141 Giáo trình “Các hệ qu n tr c s dữ liệu" Dùng để nối (Kết hợp) dữ liệu các trư ng tư ng ứng từ 2 hay nhiều b ng hoặc truy v n vào trư ng. Cú pháp: Select .........From.........Where...... UNION | UNION ALL Select........... Chức năng: Tạo truy v n hội Gi i thích: UNION: Không muốn các b n ghi trùng nhau hiển th UNION ALL: Hiển th các b n ghi trùng nhau Ví dụ: Cho 2 b ng dữ liệu DHSVIEN( Hoten, Lop, Matruong, Diachi) CDHSVIEN( Hoten, Lop, Matruong, Diachi) Sử dụng truy v n hội để liệt kê Hoten, Lop, Matruong của sinh viên 2 hệ (Đ a h c, Cao đẳng). Select Hoten, Lop, Matruong from DHSVIEN UNION Select Hoten, Lop, Matruong from DHSVIEN Liệt kê Hoten, Lop của những sinh viên 2 hệ và có quê quán Huế Select Hoten, Lop from DHSVIEN UNION Select Hoten, Lopfrom DHSVIEN Where Diachi=”Huế”; Khoa Công nghệ Thông tin http://www.ebook.edu.vn 142 Giáo trình “Các hệ qu n tr c s dữ liệu" BIỂU MẪU Ch ng 5 Từ trước đến nay chúng ta vẫn làm việc một cách đ n điệu với các b ng, truy v n với cách trình bày dữ liệu hiệu qu nhưng không đẹp mắt. Với biểu mẫu (form) trong Access sẽ giúp chúng ta khắc phục điều này. Biểu mẫu trong Access r t linh động, chúng ta có thể dùng biểu mẫu để nhập, xem, hiệu ch nh dữ liệu. Hoặc là dùng biểu mẫu để tạo ra các b ng ch n công việc làm cho công việc của chúng ta thuận lợi và khoa h c h n. Hoặc dùng biểu mẫu để tạo ra các hộp thoại nhằm thiết lập các tùy ch n cho công việc qu n lý của mình. 1. KHÁI NI M V BI U M U Nếu chúng ta đã quen điền các t biểu, mẫu trong cuộc sống hàng ngày thì chúng ta có thể hình dung một biểu mẫu trong Access cũng vậy. Một biểu mẫu trong Access đ nh nghĩa một tập dữ liệu chúng ta muốn l y và từ đó đưa vào CSDL. Cũng vậy biểu mẫu cùng có thể dùng để xem xét dữ liệu hay in ra máy in. Trong môi trư ng của Hệ QTCSDL Access chúng ta có thể thiết kế các biểu mẫu có hình thức trình bày đẹp, dễ sử dụng và thể hiện đúng các thông tin cần thiết. Chúng ta có thể đưa vào biểu mẫu các đối tượng như văn b n, hình nh, đư ng vẽ két hợp với các màu sắc sao cho biểu mẫu của chúng ta đạt được nội dung và hình thức trình bày ưng ý nh t. Hình thức và cách bố trí các đối tượng ra sao trên biểu mẫu hoàn toàn tùy thuộc vào kh năng thẩm mỹ và ng khiếu trình bày của chúng ta. 2. TÁC D NG VÀ K T C U C A BI U M U 2.1.Tác d ng c a bi u m u Biểu mẫu cung c p một kh năng thuận lợi để hiển th dữ liệu. Chúng ta có thể xem m i thông tin của một b n ghi thay vì chế độ Datasheet nghèo nàn trước đây bằng chế độ Form View, một phư ng cách tiên tiến h n. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 143 Giáo trình “Các hệ qu n tr c s dữ liệu" Sử dụng biểu mẫu tăng kh năng nhập dữ liệu, tiết kiệm th i gian và ngăn ngừa các lỗi do đánh sai. Chẳng hạn thay vì gõ vào các giá tr của t t c các trư ng chúng ta có thể tạo những danh sách (g i là combo box) để ch n trên biểu mẫu (đây là phư ng cách áp dụng r t hiệu qu để tránh đánh sai dữ liệu). Biểu mẫu cung c p một hình thức trình bày hết sức tiện nghi để xem, nhập và hiệu ch các b n ghi trong CSDL. Access cung c p các công cụ thiết kế biểu mẫu hỗ trợ r t đắc lực cho chúng ta trong việc thiết kê những biểu mẫu dễ sử dụng mà lại có thể tận dụng được các kh năng: Hình thức thể hiện dữ liệu đẹp, trình bày lôi cuốn với các kiểu font và hiệu ứng đồ h a đặc biệt khác ... Quen thuộc với ngư i sử dụng vì nó giống các biểu mẫu trên gi y thông thư ng. Có thể tính toán được. Có thể chứa c biểu đồ. Có thể hiển th dữ liệu từ nhiều b ng (hoặc truy v n) Tự động hóa một số thao tác ph i làm thư ng xuyên. 2.2. K t c u c a bi u m u Các thông tin trên biểu mẫu có thể l y dữ liệu từ một b ng hay truy v n nào đó, nhưng cũng có thể độc lập đối với c b ng lẫn truy v n, chẳng hạn như các đối tượng đồ h a. Dáng vẻ trình bày của biểu mẫu được thực hiện trong quá trình thiết kế. T t c các thông tin thể hiện trên biểu mẫu được chứa trong những đối tượng g i là điều khiển (control). Điều khiển có thể dùng để thể hiện dữ liệu hoặc thực hiện các hàng động hoặc trang trí cho biểu mẫu. Một số điều khiển được buộc vào với các trư ng của b ng hay truy v n, g i là b ng c s hay truy v n c s . Do đó chúng ta có thể dùng biểu mẫu để nhập dữ liệu vào Khoa Công nghệ Thông tin http://www.ebook.edu.vn 144 Giáo trình “Các hệ qu n tr c s dữ liệu" các trư ng hay l y dữ liệu từ các trư ng đó ra để xem. Ví dụ dùng Text box để nhập hay hiển th chuỗi và số, dùng Object frame để thể hiện hình nh. Một số điều khiển khác trình bày thông tin được lưu trữ trong thiết kế b ng. Ví dụ dùng Label (nhãn) để thể hiện thông tin có tính ch t mô t ; đư ng và các hình khối để tổ chức dữ liệu và làm biểu mẫu có hình thức h p dẫn h n. 3. T O BI U M U 3.1. T o bi u m u t đ ng v i Autoform Access cung c p chức năng Autoform cho phép chúng ta tạo biểu mẫu dựa trên các b ng hoặc truy v n đã được xây dựng trước đó. Cách t o Trong cửa sổ Database, ch n form, ch n New Trong mục Choose the table or query Where the object's data comes from: Ch n b ng hoặc truy v n làm nguồn dữ liệu cho form. Ch n Autoform Columnar: Nếu muốn tạo lập biểu mẫu dạng cột, trong đó mỗi trư ng trong b ng hay truy v n là một dòng. Ch n Autoform Tabular: Nếu muốn tạo lập biểu mẫu dạng hàng, trong đó mỗi trư ng trong b ng hay truy v n là một cột và một b n ghi trong một dòng. Ch n Autoform Datasheet: Nếu muốn tạo lập biểu mẫu theo dạng b ng, trong đó mỗi cột tư ng ứng một trư ng và mỗi dòng là một b n ghi. Ch n OK. Ví dụ Cho b ng Danhsach( Tenphong, hoten, ngayden, ngaydi, thanhtien) Hãy thiết kế biểu mẫu dựa trên chức năng Autoform sử dụng b ng Danhsach làm nguồn dữ liệu. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 145 Giáo trình “Các hệ qu n tr c s dữ liệu" Biểu mẫu dạng Autoform Columnar Biểu mẫu dạng Autoform tabular Biểu mẫu dạng Autoform Datasheet 3.2. T o bi u m u s d ng Wizard Tạo biểu mẫu sử dụng công cụ Autoform thì Access không cho phép ngư i sử dụng can thiệp vào quá trình tạo biểu mẫu, chẳng hạn như hạn chế số trư ng..... thì Form Wizard cho phép ngư i sử dụng can thiệp vào quá trình tạo biểu mẫu. Cách t o Trong cửa sổ Database ch n Form, ch n New Trong mục Choose the table or query Where the object's data comes from: Ch n b ng hoặc truy v n làm nguồn dữ liệu cho form. Ch n Form Wizard Ch n OK Trong mục Avaiable Field: Ch n các trư ng đưa vào biểu mẫu, nh n nút >> Ch n nút Next. Ch n Columnar : Biểu mẫu hiển th theo dạng cột Tabular : Biểu mẫu hiển th theo dạng hàng Datasheet : Biểu mẫu hiển th theo dạng b ng Justified : Biểu mẫu hiển bình thư ng (đều). Ch n Next Ch n loại biểu mẫu Ch n Next Đặt tiêu đề cho Form Khoa Công nghệ Thông tin http://www.ebook.edu.vn 146 Giáo trình “Các hệ qu n tr c s dữ liệu" Ch n Open the form to view or enter information: Nếu muốn m Form sau khi ch n Finish. Ch n Modify the form’s design: Nếu muốn form dạng thiết kế. Ch n Finish . Lưu form. 3.3. T o bi u m u không s d ng Wizard (Do ng i s d ng t thi t k ) Tạo biểu mẫu sử dụng công cụ Autoform và Form wizard ngư i sử dụng có thể nhanh chóng thiết kế các biểu mẫu nh vào các đặc tính hỗ trợ của Access. Nhưng đối với hai cách trên ch cung c p một số hạn chế các phư ng án xây dựng biểu mẫu mà không thoã mãn yêu cầu của ngư i sử dụng khi muốn thiết kế biểu mẫu teho ý của riêng mình. Do đó ngư i sử dụng ph i tự thiết kế một biểu mẫu không cần sự hỗ trợ của Access. Cách t o Trong cửa sổ Database ch n Form, ch n New Ch n b ng dữ liệu hoặc truy v n làm nguồn dữ liệu cho form, ch n OK Xây dựng các điều khiển cho biểu mẫu (Đưa các trư ng trong b ng dữ liệu vào biểu mẫu). Thiết lập các thuộc tính cho các điều khiển. Lưu biểu mẫu. 4. CÁC CH Đ HI N TH VÀ CÁC THÀNH PH N C A BI U M U 4.1. Các ch đ hi n th Có 4 chế độ hiển th của biểu mẫu 4.1.1.Chế độ Design View Dùng để tạo biểu mẫu mới hay thay đổi c u trúc của một biểu mẫu đã tồn tại. Khi đang trong cửa sổ Database: Ch n form /ch n tên form/ ch n Design ( Có Khoa Công nghệ Thông tin http://www.ebook.edu.vn 147 Giáo trình “Các hệ qu n tr c s dữ liệu" thể click chuột ph i rồi ch n Design). Khi đang chế độ Form view: Ch n View/ Form Design 4.1.2. Chế độ Form View Dùng để nhập, thay đổi và xem dữ liệu. Trong chế độ Form View ngư i sử dụng có thể xem t t c các trư ng của một b n ghi tại một th i điểm. Khi đang trong cửa sổ Database: Ch n form /ch n tên form/ ch n Open ( Có thể click chuột ph i rồi ch n Open). Khi đang chế độ Design view: Ch n View/ Form View. 4.1.3. Chế độ hiển thị biểu mẫu dưới dạng bảng (Datasheet View) Dùng để nhập, thay đổi và xem dữ liệu trong biểu mẫu theo dạng b ng biểu. Để m chế độ hiển th dạng Datasheet View chúng ta thực hiện như sau: Khi đang chế độ Design View: Ch n View/Datasheet. Khi đang chế độ Form View: Ch n View/ Datasheet View. 4.1.4. Chế độ hiển thị Print Preview Dùng để xem biểu mẫu trước khi quyết đ nh in n. Trong chế độ Print Preview sẽ duy trì hình dạng trình bày dữ liệu đã được thiết kế trước đó. Khi đang trong cửa sổ Database: Ch n form /ch n tên form/ Ch n File/Print Preview. 4.2. Các thành ph n bi u m u trong ch đ Design View Khi muốn thiết kế biểu mẫu thì ngư i sử dụng ph i làm việc trong chế dộ Design View khi đó biểu mẫu có các thành phần chính sau: Th c(Ruler): Điều ch nh kích thước của các điều khiển. Tiêu đ form (form header):Sử dụng để trình bày tiêu đề của form, tiêu đề form luôn được trình bày phần trên cùng, đầu tiên của biểu mẫu và trang in biểu mẫu. Chân form (Form Footer): Sử dụng để trình bày chân của form, chân form luôn được trình bày phần dưới cùng, xu t hiện cuối biểu mẫu và trang in biểu mẫu. Tiêu đ trang (Page header): Sử dụng để chứa tiêu đề trang Chân trang (Page footer): Sử dụng để chứa chân trang nhưng xu t hiện phần trước của Form footer trong trang biểu mẫu in. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 148 Giáo trình “Các hệ qu n tr c s dữ liệu" H Chú ý Page header và Page footer ch xu t hiện trong trang biểu mẫu in nên chúng không có những tính ch t thông thư ng như Form header và Form footer. Ch n View/ Page header/ footer (Nếu 2 thành phần này chưa xu t hiện trên biểu mẫu). Chi ti t form (Detail): Đây là phần r t quan tr ng chứa các điều khiển nhằm trình bày các dạng dữ liệu từ các b ng dữ liệu hoặc các truy v n. Các loại điều khiển có thể là điều khiển buộc, không buộc hoặc tính toán. 5. CÁC LO I ĐI U KHI N T t c thông tin trên biểu mẫu được chứa trong những đối tượng g i là điều khiển (Control). Điều khiển có thể dùng để thể hiện dữ liệu, thực hiện các hành động hoặc thiết kế biểu mẫu đẹp mắt. Trong ACCESS hệ thống đ nh nghĩa một số loại điều khiển như sau: Điều khiển nhãn (Label). Điều khiển hộp văn bản (Text box). Điều khiển nhóm lựa chọn (Option group). Điều khiển loại hộp Combo (Combo box) và hộp danh sách (List Box). Ngoài ra còn có một số điều khiển khác như command button..... Khi tạo lập điều khiển, chúng ta thu ng xác đ nh hình thức dữ liệu trình bày trong chúng. Có những điều khiển l y dữ liệu từu các trư ng trong b ng hay truy v n, có điều khiển ch dùng vào mục đích trang trí, làm tiêu đề, có những điều khiển l y dữ liệu từ một biểu thức nào đó. Vì vậy ngư i ta phân ra thành ba nhóm điều khiển chính: Điều khiển buộc ( Bound control) Điều khiển không buộc ( Unbound control) Điều khiển tính toán ( Caculated control) 5.1. Đi u khi n b bu c (bound), không bu c (unbound) và tính toán đ (calculated). Khoa Công nghệ Thông tin http://www.ebook.edu.vn 149 c Giáo trình “Các hệ qu n tr c s dữ liệu" Khi tạo một điều khiển trong biểu mẫu thì ph i xác đ nh nó l y dữ liệu từ nguồn nào để thể hiện. Ví dụ Tạo một điều khiển loại hộp văn b n (Text box) để hiển th tên các mặt hàng, chúng ta ph i ch đ nh cho điều khiển l y dữ liệu trong trư ng TEN_HANG của b ng MAT_HANG. Hộp văn b n này g i là b buộc. Điều khiển cũng có thể thể hiện những thông tin không có trong CSDL (Không b buộc). Ví dụ: Tạo tiêu đề cho biểu mẫu... Tóm l i Điều khiển b buộc (Bound Control) là điều khiển mà nguồn dữ liệu của nó l y từ một trư ng trong b ng hoặc truy v n Trong biểu mẫu dùng điều khiển buộc vào các trư ng để hiển th nội dung hoặc cập nhật các trư ng của CSDL, các giá tr cập nhật có thể là: Văn b n, Date,Num ber, yes/No, Picture, chart trong đó dạng văn b n là phổ biến nh t. Điều khiển không b buộc (Unbound Control) là điều khiển không l y dữ liệu từ một nguồn nào c là điều khiển không b buộc. Dùng điều khiển không buộc để trình bày thông tin không có trong các b ng hay rút được từ truy v n. Điều khiển tính toán (Calculated Control) là điều khiển mà nguồn dữ liệu của nó không ph i là một trư ng mà là một biểu thức g i là điều khiển tính toán (Calculated Control). Chúng ta qui đ nh giá tr xu t hiện trong điều khiển bằng cách lập biểu thức cho nó. Biểu thức này là nguồn dữ liệu của điều khiển .Trong biểu thức có thể dùng các toán tử (+, -,=...) với tên điều khiển. Ví dụ: Tạo một điều khiển THANHTIEN=SOLUONG*DONGIA 5.2. T o đi u khi n lo i h p văn b n ( text box) Text box có thể là một điều khiển b buộc, không buộc hoặc tính toán. Tạo hộp văn bản bị buộc (Bound Text box). Chúng ta buộc điều khiển Text box vào một trư ng bằng cách ch đ nh điều khiển đó l y dữ liệu trên trư ng nào. Ch n trư ng để buộc vào điều khiển bằng cách Click biểu Khoa Công nghệ Thông tin http://www.ebook.edu.vn 150 Giáo trình “Các hệ qu n tr c s dữ liệu" tượng Field List để m danh sách các trư ng của b ng hay truy v n làm nền t ng cho biểu mẫu. Theo mặc đ nh như vậy thì hệ thống sẽ tạo một điều khiển loại Text box. Một cách khác dùng hộp dụng cụ Toolbox để tạo điều khiển và sau đó gõ tên trư ng muốn buộc vào hộp văn b n. Mở hộp danh sách trường M biểu mẫu trong chế độ Design (Tạo biểu mẫu trước). Trong cửa sổ Database Ch n Form/New (C n b ng hoặc truy v n làm nền cho biểu mẫu). Ch n View/Field List hoặc click vào biểu tượng Field List trên thanh công cụ). Tạo một Text Box bị buộc Từ danh sách trư ng ch n một hoặc nhiều trư ng kéo và đưa vào biểu mẫu. 5.3. T o m t đi u khi n khác dùng h p công c Dùng hộp công cụ (Toolbox) để tạo những điều khiển không buộc (Unboud control) hoặc để tính toán. Đặc biệt dùng các tính năng của hộp này để tạo những điều khiển b buộc khác ngoài buộc khác ngoài (Text box). Để bật hộp công cụ ta ch n View/Toolbars. Tạo điều khiển dùng hộp công cụ Click vào biểu tượng công cụ tu ng ứng với điều khiển muốn tạo. Tạo điều khiển b buộc bằng cách ch n một trư ng trong danh sách trư ng (Field List) và kéo vào biểu mẫu. Hoặc tạo điều khiển không buộc hay dùng để tính toán bằng cách click vào một v trí trên biểu mẫu. Tạo điều khiển dùng để tính toán Nếu muốn trình bày kết qu của một phép toán trong biểu mẫu, khai báo nguồn dữ liệu của điều khiển là một biểu thức. Sau này mỗi lần m biểu mẫu, ACCESS tính toán lại kết qu của vùng dữ liệu được cập nhật mới nh t từ các b ng. Tạo điều khiển nhãn (Label Control) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 151 Giáo trình “Các hệ qu n tr c s dữ liệu" Muốn trình bày một chuỗi ký tự trên biểu mẫu như để làm tiêu đề... chúng ta dùng loại điều khiển g i là điều khiển nhãn (label control). Nhãn không thể hiện dữ liệu của một trư ng hay biểu thức nào , chúng luôn luôn là không b buộc. Click vào biểu tượng Label trong Toolbox Click v trí muốn đặt nhãn trên biểu mẫu. Thay đổi các thuộc tính của điều khiển. Sau khi tạo biểu mẫu, biến đổi một số thuộc tính của điều khiển có thể hoàn thiện thêm về thiết kế và hình thức trình bày của số liệu. Nhắp kép vào điều khiển. Trong hộp lựa ch n trên đầu b ng thuộc tính, ch n một lớp thích hợp để làm việc. All Properties: Trình bày t t c các thuộc tính của điều khiển Data Properties: n đ nh các đặc tính thể hiện dữ liệu trong điều khiển như giá tr mặc nhiên, đ nh dạng số. Even Properties: Qui đ nh một tập lệnh (Macro) hay thủ tục (Procedure).. Layout Properties: Đ nh nghĩa các hình thức của điều khiển như cao, rộng. Other Properties: Một số thuộc tính khác như tên điều khiển, thông tin mô t dòng trạng thái. Click ch n một trong các thuộc tính của b ng để thực hiện. 5.4. Thi t l p m t s thu c tính b sung 5.4.1. Các thuộc tính hỗ trợ nhập liệu Thuộc tính Default value: Gán giá tr mặc đ nh vào nội dung trình bày trong điều khiển. Thuộc tính ValidationRule và ValidationRule Text: Kiểm tra tính hợp lệ khi nhập dữ liệu cho một điều khiển và thông báo lỗi nếu dữ liệu không hợp lệ 5.4.2. Các thuộc tính gióng lề Thuộc tính General: Gióng hàng văn b n theo lề trái, dữ liệu số và ngày tháng theo lề ph i. Thuộc tính Left: Gióng hàng văn b n theo lề trái. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 152 Giáo trình “Các hệ qu n tr c s dữ liệu" Thuộc tính Center: Xác lập hàng văn b n chính giữa. Thuộc tính Center: Gióng hàng văn b n theo lề ph i. 5.4.3. Các thuộc tính màu sắc Thuộc tính Backcolor: Thiết lập màu nền cho điều khiển hay cho biểu mẫu Thuộc tính Forecolor: Thiết lập màu cho hàng chữ trong điều khiển. Thuộc tính Bodercolor: Thiết lập màu cho khung bao quanh trong điều khiển. 5.4.3. Các thuộc tính khung bao Thuộc tính BoderStyle:Thiết lập loại khung cho điều khiển Thuộc tính BoderWidth: Thiết lập độ dày hay đậm của khung bao. Thuộc tính BoderColor: Thiết lập màu của khung bao. 6. NÂNG C P BI U M U Access cung c p nhiều loại điều khiển để làm cho biểu mẫu dễ sử dụng và có nhiều hiệu ứng tốt. Có thể thay thế một Textbox với một List box hay Combo box để ch n từ các giá tr có sẵn thay vì buộc ngư i sử dụng ph i nhớ để nhập giá tr vào. 6.1. Dùng đi u khi n List box và Combo box đ t o danh sách ch n l a. Trong nhiều trư ng hợp, ch n một danh sách có sẵn thư ng tiện lợi h n ph i nhớ để gõ vào từ bàn phím. Access cung c p hai kh năng điều khiển tạo danh sách ch n lựa: List box và Combo box. List box đ n gi n là một danh sách để ch n, combo box tư ng tự như một text box và một combo box kết hợp vào một điều khiển, có nghĩa là có thể gõ thẳng giá tr vào text box hay ch n từ một danh sách có sẵn. u đi m c a List box: Danh sách luôn được thể hiện và ngư i dùng ch được phép ch n trong danh sách, do đó dữ liệu nhập luôn luôn là hợp lệ. u đi m c a Combo box: Danh sách không được thể hiện cho đến khi ngư i dùng m hộp điều khiển, do đó ít tốn chỗ trên biểu mẫu h n. 6.2. T o List box và Combo box không s d ng Wizard Tắt chức năng Control Wizard trong menu View hoặc trong thanh công cụ. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 153 Giáo trình “Các hệ qu n tr c s dữ liệu" Click biểu tượng List box hoặc Combo box trong hộp công cụ. Tạo điều khiển buộc bằng cách click biểu tượng Field list trên thanh công cụ để m danh sách trư ng làm nền cho biểu mẫu. Ch n một trư ng trong danh sách kéo vào biểu mẫu, hoặc tạo điều khiển không buộc bằng cách click biểu mẫu n i muốn đặt điều khiển. Lập các thuộc tính của điều khiển để đ nh nghĩa các hàng dùng làm ch n lựa trong danh sách. Mu n danh sách th hi n L p thu c tính Row Source Type L p Row Source thành thành Các hàng từ một b ng hay truy v n Tên của b ng hay truy Table/Query (Default) v n đó Table/Query (Default) Một câu lệnh SQL Các hàng l y từ lệnh Select của SQL Danh sách các giá tr đó Một danh sách với các giá tr do ngư i dùng tự Value List phân cách nhau b i d u đặt ch m phẩy Tên các trư ng trong một Tên của b ng hoặc truy b ng hoặc truy v n Field List v n đó Tên hàm xây dựng Để trống Các giá tr đ nh nghĩa b i một hàm trong Access Basic 6.2.1. Định nghĩa các hàng trong danh sách Khoa Công nghệ Thông tin http://www.ebook.edu.vn 154 Giáo trình “Các hệ qu n tr c s dữ liệu" Đ nh nghĩa nguồn dữ liệu để hình thành các hàng dùng làm trong danh sách lựa ch n trong List box và Combo box bằng cách lập thuộc tính thích hợp cho RowSource Type và RowSource của điều khiển, hai thuộc tính này phối hợp với nhau để tạo nên các hàng trong danh sách. Thuộc tính RowSource Type cho biết danh sách sẽ hình thành từ nguồn dữ liệu loại nào, thuộc tính RowSource là thuộc tính xác đ nh nguồn dữ liệu của danh sách. 6.2.2. Danh sách lấy dữ liệu từ bảng hay truy vấn Có thể tạo List box hay Combo box l y dữ liệu từ một hoặc nhiều trư ng trong b ng ( hoặc truy v n) để lập thành danh sách ch n lựa cho điều khiển. Thực hiện điều này bằng cách đặt thuộc tính RowSource Type thành Table/Query và RowSource thành tên b ng hay tên truy v n có chứa dữ liệu để lập thành danh sách đó. 6.2.3. Tạo danh sách nhiều cột Có thể tạo danh sách gồm hai hay nhiều cột để có thêm thông tin lựa ch n. Xác đ nh số cột bằng cách lập thuộc tính Columcount và ColumnWidth cho điều khiển. Thuộc tính columcount quy đ nh số cột và nếu trong RowSource là tên một b ng hay truy v n thì các trư ng đầu tiên tư ng ứng số cột của b ng hay truy v n đó (tính từ trái sang ph i) sẽ được đưa vào danh sách. Thuộc tính columnwidth quy đ nh bề rộng mỗi cột tính theo inch hay cm. 6.2.4. Sử dụng danh sách giá trị Trư ng hợp điều khiển ch có một số nhỏ ch n lựa và các giá tr này không thay đổi, có thể dùng phư ng pháp đ n gi n là danh sách giá tr . Danh sách này chúng ta tự lập bằng cách đưa các giá tr dùng làm ch n lựa vào thuộc tính RowSource của điều khiển. Sử dụng d u ch m phẩy để phân cách các mục ch n lựa của danh sách. 6.3. S d ng h p ki m tra (check box), nút ch n l a (Option button), nút b t t t (Toggle button). Hộp kiểm tra, nút ch n lựa, nút bật tắt thư ng được sử dụng như các điều khiển độc lập để nhận các ch n lựa Yes/No. Các điều khiển này thực ch t ch khác nhau về hình thức, do đó chúng ta có thể sử dụng b t cứ nút nào. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 155 Giáo trình “Các hệ qu n tr c s dữ liệu" Khi được ch n điều khiển này biểu diễn tr Yes ( hay True), trạng thái không ch n thì nhận giá n No ( hay False). Check box : Được ch n khi có d u x trong hộp. Option button : Được ch n khi có hạt đậu trong nút. Toggle button : Được ch n khi nó trông như b nh n xuống. 6.4. S d ng nhóm ch n l a (Option group) Chúng ta có thể dùng nhóm ch n lựa để trình bày một số nhỏ các ch n lựa trên biểu mẫu. Nhóm ch n lựa gồm một khung nhóm (Group frame) có gắn nhãn và một số check box, option button hay toggle button. Nếu nhóm lựa ch n được buộc vào một trư ng, ch có khung nhóm là b buộc vào trư ng đó, không ph i các thành phần để ch n lựa trong khung. Khung nhóm có thể không b buộc vào trư ng nào hoặc chứa một biểu thức, mỗi lần ch có thể ch n một thành phần trong nhóm. Khi sử dụng hộp kiểm tra, nút ch n lựa và nút bật tắt trong nhóm ch n lựa, thuộc tính của chúng khác với như khi được dùng với các điều khiển độc lập. Mỗi phần tử trong nhóm ch n lựa không có thuộc tính Control Source mà thay bằng thuộc tính Option Value. Lập thuộc tính Option Value của mỗi phần tử dùng làm ch n lựa trong nhóm thành một tr số có nghĩa đối với trư ng mà khung nhóm được buộc vào. Khi một phần tử của nhóm được ch n, Access đưa giá tr lập trong Option value của phần tử đó cho điều khiển Option Group. Đến lượt Option Group tr lại giá tr đó cho trư ng mà nó b buộc vào. 7. BI U M U D A TRÊN NHI U B NG 7.1. Bi u m u ph (Subform) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 156 Giáo trình “Các hệ qu n tr c s dữ liệu" Biểu mẫu phụ là phư ng pháp để đưa thông tin từ nhiều b ng vào một biểu mẫu. Biểu mẫu phụ có nghĩa là một biểu mẫu được lồng trong biểu mẫu khác. Trong Access biểu mẫu chính g i là Main form, biểu mẫu nằm trong Main form g i là biểu mẫu phụ (Sub form). Khi dùng biểu mẫu phụ chúng ta dễ nhận th y mối quan hệ giữa các b n ghi của hai hay nhiều b ng. Biểu mẫu phụ đặc biệt hữu hiệu khi dùng để hiển th dữ liệu từ nhiều b ng hay truy v n có quan hệ một-nhiều với nhau. Biểu mẫu chính đại diễn cho bên một, biểu mẫu phụ đại diện cho bên nhiều. 7.2. Các lo i bi u m u ph Khi tạo biểu mẫu phụ chúng ta có thể thiết kế nó thành dạng b ng, hoặc dạng biểu mẫu, hoặc c hai dạng trên. Biểu mẫu dạng bảng: Là loại dễ tạo nh t và có thể sử dụng như b t kỳ b ng nào khác như sắp xếp.... Biểu mẫu phụ dạng biểu mẫu: Cho chúng ta thực sự linh hoạt và mềm dẽo khi thiết kế h n. 7.3. Thi t k bi u m u ph Thông thư ng chúng ta dùng b ng hay truy v n làm nguồn dữ liệu cho biểu mẫu chính, một b ng hay truy v n khác làm nguồn dữ liệu cho biểu mẫu phụ. Nếu dữ liệu trong biểu mẫu chính và biểu mẫu phụ có liên quan với nhau, chúng ta cần đánh giá một số v n đề sau: Các b ng hoặc truy v n có quan hệ một-nhiều với nhau không? Nếu dùng biểu mẫu phụ để thể hiện quan hệ một-nhiều, chúng ta nên dùng b ng bên một đối với b ng chính, b ng bên nhiều đối với b ng phụ. Các b ng hoặc truy v n làm nguồn dữ liệu cho biểu mẫu chính/phụ có các trư ng liên kết không? Access dùng trư ng kết nối để giới hạn số lượng b n ghi thể hiện trong biểu mẫu phụ. Cách t o bi u m u chính/ph Thiết kế hai biểu mẫu riêng biệt, sau đó kéo biểu mẫu phụ vào biểu mẫu chính. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 157 Giáo trình “Các hệ qu n tr c s dữ liệu" Thiết kế biểu mẫu chính Tạo biểu mẫu chính, dành chỗ trên biểu mẫu này để chứa biểu mẫu phụ. Lưu và đóng biểu mẫu chính. Thi t k bi u m u ph Có thể thiết kế biểu mẫu phụ để ch thể hiện dữ liệu dưới dạng b ng, biểu mẫu này có c hai kh năng trên. Tạo biểu mẫu mới, lập hai thuộc tính ViewAllowed và Default View của biểu mẫu tuỳ theo yêu cầu sử dụng như sau: Biểu mẫu phụ chỉ trình bày dưới dạng bảng: Đặt các trư ng trên biểu mẫu theo thứ tự chúng ta muốn chúng xu t hiện trong b ng. Lập c hai thuộc tính ViewAllowed và Default View thành Datasheet. Biểu mẫu phụ chỉ trình bày dữ liệu dưới dạng biểu mẫu: Sắp đặt các điều khiển như trên. Lập thuộc tính ViewAllowed thành Form và Default View thành Single form hay Continuous form. Đưa biểu mẫu phụ vào biểu mẫu chính M biểu mẫu chính chế độ Design View Chuyển sang cửa sổ Database, nhần F11 Kéo biểu mẫu phụ tử cửa sổ Database và đặt vào một v trí trên biểu mẫu chính. Di chuyển biểu mẫu phụ đến v trí khác, thay đổi nội dung nhãn hoặc kích thước nếu cần. Chuyển sang chế độ Form View để xem kết qu . 7.4. Liên k t bi u m u chính và bi u m u ph Khoa Công nghệ Thông tin http://www.ebook.edu.vn 158 Giáo trình “Các hệ qu n tr c s dữ liệu" Trong chế độ Design View của biểu mẫu chính, m b ng thuộc tính của điều khiển biểu mẫu phụ. Lập thuộc tính LinkChildFields thành tên trư ng nối kết trong biểu mẫu phụ, nếu có nhiều trư ng nối kết, phân cách nhau b i d u phẩy. Lập thuộc tính LinkMasterFields thành tên trư ng nối kết hoặc tên điều khiển trong biểu mẫu chính, nếu có nhiều trư ng nối kết, phân cách nhau b i d u phẩy. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 159 Giáo trình “Các hệ qu n tr c s dữ liệu" Ch ng 6 BÁO CÁO (REPORT) 1. T NG QUAN V BÁO CÁO Báo cáo là phư ng thức hữu hiệu giúp ngư i sử dụng trình bày dữ liệu dưới dạng đầy đủ và dễ hiểu, nhanh chóng, đẹp mắt để khi in n. Ngư i sử dụng có thể tích hợp trong báo cáo các dạng thức trình bày dữ liệu khác nhau như: Hình nh, biểu đồ, văn b n...... Báo cáo được xây dựng trên một nguồn dữ liệu đó là b ng hoặc truy v n, một câu lệnh SQL hoặc một dạng biểu mẫu nào đó 1.1. Các d ng m u c a báo cáo Báo cáo d ng c t (columnar): báo cáo dạng này sẽ được trình bày theo dạng một cột và kèm theo phần nhãn của mỗi cột dữ liệu bên trái, mỗi dòng tư ng ứng với một trư ng dữ liệu. Báo cáo d ng hàng (Tabular): Báo cáo sẽ trình bày dữ liệu theo dạng b ng bao gồm nhiều hàng và nhiêu cột. Báo cáo d ng nhóm/ T ng (Group/Total): Báo cáo dạng này sẽ tổ chức dữ liệu thành các nhóm, mỗi nhóm sẽ trình bày dữ liệu theo dạng Tabular. Ngư i sử dụng có thể nhóm dữ liệu theo c p và có thể tính toán giá tr tổng cho mỗi nhóm và một giá tr tính tổng cho toàn bộ các nhóm Báo cáo d ng bi u đ ( Chart) Báo cáo d ng nhãn ( Label Report) Báo cáo v i báo cáo con 1.2. Các ch đ hi n th c a báo cáo Báo cáo có thể được trình bày theo 3 chế độ sau Report design: Chế độ thiết kế báo cáo. Layout PreView: Chế độ trình bày dữ liệu trong báo cáo. Print PreView: Chế độ xem hình thức báo cáo trước khi in n. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 160 Giáo trình “Các hệ qu n tr c s dữ liệu" 2. T O BÁO CÁO S D NG CÔNG C AUTO REPORT VÀ REPORT WIZARD 2.1.T o báo cáo s d ng Auto report Click biểu tượng Report trong cửa sổ database ( hoặc ch n View/Report) Ch n New Ch n b ng hoặc Truy v n làm nguồn dữ liệu báo cáo . Ch n AutoReport Columnar: Nếu muốn báo cáo hiển th dạng cột. AutoReport Tabular: Nếu muốn báo cáo hiển th dạng hàng Ch n OK Lưu Báo cáo. 2.2.T o báo cáo s d ng Report Wizard Click biểu tượng Report trong cửa sổ database ( hoặc ch n View/Report) Ch n New Ch n b ng hoặc Truy v n làm nguồn dữ liệu báo cáo . Ch n Report Wizard Ch n OK Ch n các trư ng cần thiết cho báo cáo. Ch n Next Ch n các trư ng cần nhóm, ch n Next Ch n các trư ng cần sắp xếp, ch n Next Ch n dạng thể hiện của Report, ch n Next Ch n nền thể hiện của Report, ch n Next Đặt tiêu đề cho Report, ch n Finish Khoa Công nghệ Thông tin http://www.ebook.edu.vn 161 Giáo trình “Các hệ qu n tr c s dữ liệu" 3. T O ĐI U KHI N TRONG BÁO CÁO 3.1. T ođi u khi n Text Box (H p văn b n) Text box có nhiều tính năng, có thể là điều khiển b buộc, không buộc hay dùng tính toán. Nếu trong báo cáo có c 3 loại điều khiển này, chúng ta nên ưu tiên điều khiển b buộc trước. Tạo một text box bị buộc và không buộc Chúng ta buộc điều khiển Text box vào một trư ng bằng cách ch đ nh trư ng cho text box đó l y dữ liệu. Text box đó l y dữ liệu có thể thực hiện bằng cách kéo trư ng muốn buộc vào điều khiển từ danh sách trư ng (Field List) vào biểu mẫu đang thiết kế. Cách khác để tạo Text box là dùng hộp công cụ (Toolbox), sau đó gõ tên trư ng muốn buộc vào hộp văn b n hoặc b ng thuộc tính của điều khiển. Dùng danh sách trư ng là phư ng pháp tốt nh t để tạo một điều khiển Text box b buộc vì hai lý do sau: Điều khiển đó được hệ thống tự động gắn nhãn và nhãn l y tên trư ng được kéo làm tiêu đề. Text box b buộc đó thừa kế các thiết lập thuộc tính của trư ng từ b ng hay truy v n. Muốn chuyển một điều khiển không buộc thành b buộc, lập thuộc tính Control Source của điều khiển thành một trư ng. Một số thao tác khi thực hiện thiết kế báo cáo. M báo cáo trong chế độ Design View Ch n Field List từ menu View (Hoặc click biểu tượng Field List trên thanh công cụ) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 162 Giáo trình “Các hệ qu n tr c s dữ liệu" Tạo điều khiển Text box b buộc. Mở bảng danh sách trường, chọn trường hoặc các trường muốn đặt vào báo cáo Ch n một trư ng, click vào trư ng đó. Ch n nhiều trư ng liền nhau, clik trư ng đầu, giữ phím shift, click trư ng cuối. Ch n nhiều trư ng không liền nhau, giữ phím Ctrl và lần lượt click từng trư ng. Ch n t t c các trư ng trong danh sách, nhắp kép vào thanh tiêu đề của danh sách trư ng. Kéo trư ng (hoặc các trư ng) được ch n và đặt vào một v trí trên mẫu báo cáo. Click biểu tượng Simple preview trên thanh công cụ để xem kết qu . 3.2. T o các đi u khi n khác dùng h p công c Muốn tạo các điều khiển không buộc hay dùng để tính toán, ph i dùng công cụ trong Toolbox. Ch n View/Toolbars để hiển th thanh công cụ Tạo điều khiển dùng Toolbox Click công cụ tư ng ứng loại điều khiển muốn tạo trong báo cáo. Tạo điều khiển b buộc bằng cách ch n một trư ng trong Field list và kéo nó vào trong báo cáo. 3.3. T o đi u khi n dùng tính toán Click vào biểu tượng Text box trong hộp công cụ Click vào một v trí trên báo cáo. Access tự động gắn nhãn cho điều khiển vừa tạo, tiêu đề mặc nhiên thư ng có dạng “Field0”, có thể thay đổi tiêu đề này theo ý thích. Đưa con trỏ vào bên trong Text box. Gõ d u = , theo sau là biểu thức muốn lập Ví dụ: =[SOLUONG]*[DONGIA] Click vào Sample Preview để xem kết qu . 3.4. T o đi u khi n nhãn Nhãn là một điều khiển không buộc, nội dung nhãn không thay đổi từ trang này qua trang khác hay từ b n ghi này qua b n ghi khác. Click biểu tượng Label trong Toolbox. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 163 Giáo trình “Các hệ qu n tr c s dữ liệu" Click vào một v trí trên báo cáo để tạo nhãn. Nhãn được tạo như vậy sẽ có kích thước tự m rộng khi gõ nội dung vào. Nếu muốn trình bày văn b n thành nhiều dòng, b m Ctrl+Enter cuối dòng thứ nh t. 4. CÁC THU C TÍNH C A ĐI U KHI N TRONG BÁO CÁO Thuộc tính xác đ nh các đặc trưng của đối tượng, mỗi điều khiển trong báo cáo cũng có những thuộc tính riêng. Muốn m b ng thuộc tính của điều khiển, ch n điều khiển đó và click biểu tượng Properties trên thanh công cụ. Ta xét một số thuộc tính sau: Cangrow: Dùng thuộc tính này để làm cho Text box có thể tự điều ch nh kích thước theo phư ng d c đối với khối dữ liệu chứa trong trư ng nó b buộc.(ch n Yes). CanShrink: Khi Text box khôngcó dữ liệu hoặc dữ liệu là chuỗi rỗng Access sẽ chừa trống chỗ đó trên gi y. Điều này có thể làm cho báo cáo quá trống tr i nếu có nhiều chỗ như vây. Chúng ta lập thuộc tính của Text box này thành Yes. HideDuplicate: Dùng thuộc tính này để che Text box khi giá tr trong đó trùng b n ghi trước 5. S P X P VÀ T P H P D LI U THEO NHÓM Sắp xếp là phư ng pháp phổ biến nhằm tổ chức dữ liệu theo một trật tự nào đó để tìm kiếm và phân loại thông tin. 5.1. S p x p d li u Khi in báo cáo ngư i dùng thư ng muốn tổ chức các b n ghi theo một trật tự nào đó. Ví dụ in danh sách cán bộ theo thứ tự gi m dần của lư ng. Các bước thực hiện sắp xếp trên báo cáo. M báo cáo chế độ Design View. Ch n Sorting And Grouping trong menu View. Trong hộp thoại. Field/Expression: Ch đ nh sắp xếp theo trư ng hoặc biểu thức nào đó. Sort Order: Ch n Tăng dần hoặc gi m dần. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 164 Giáo trình “Các hệ qu n tr c s dữ liệu" 5.2. Nhóm d li u Trong nhiều báo cáo, sắp xếp các b n ghi không cũng chưa đủ mà cần phân thành các nhóm. Nhóm là tập hợp các b n ghi cùng với thông tin tóm lược tiêu biểu cho một thể loại thông tin. Một nhóm thư ng được c u tạo như sau: Tiêu đề nhóm (group header), nhóm con (nếu có), các b n ghi chi tiết và chân nhóm ( Group footer) Tiêu đề nhóm 1 Tiêu đề nhóm 2 Tiêu đề nhóm 3 ................ ................ Tiêu đề nhóm 10 Các bản ghi chi tiết Chân nhóm 10 ................ ................ Chân nhóm 3 Chân nhóm 2 Chân nhóm 1 Khoa Công nghệ Thông tin http://www.ebook.edu.vn 165 Giáo trình “Các hệ qu n tr c s dữ liệu" MACRRO Ch ng 7 1. KHÁI NI M Macro trng MS Access là tập hợp các lệnh (Hành động, hành động......) được đ nh sẵn nhằm tự động thực hiện chuỗi các tác vụ nào đó mà không cần sự can thiệp từng bước của ngư i sử dụng. Macro có thể liên kết các đối tư ng trong tập tin c dữ liệu (CSDL) như: Table, Query, form, report....... nhằm tạo ra các ứng dụng để khai thác có hiệu qu .. Macro được dùng khi có các hành động nào thư ng xuyên lặp lại trong MS Access hoặc được dùng khi cần kết hợp các hành động đ n gi n nhằm gi i quyết một v n đề nào đó khi xây dựng các ứng dụng. Việc tự động hoá các hành động này b i macro sẽ được thực hiện một cách nhanh chóng và chính xác. 2.T O VÀ THI HÀNH M T MACRO 2.1.T o m t macro Tại cửa sổ database, ch n đối tượng Macro/ New Trong mục Action : ch n các hành động cho Macro. Tong mục Action arguments: Ch n các tham số tư ng ứng cho hành động. Lưu trữ Macro: File/save. 2.2.Thi hành macro Tại cửa sổ database: Ch n đối tượng Macro/Run. 3. CÁC HÀNH Đ NG VÀ CÁC THAM S Ms Acces cung c p một số hành động để tạo macro, mỗi hành động thực hiện một tác vụ nào đó trên CSDL và tuỳ thuộc vào tham số của mỗi hành động. Open table: M 1 b ng dữ liệu Table name: Tên b ng cần m View: Ch n dạng thể hiện của b ng (Datasheet/ Design/ Print Preview Khoa Công nghệ Thông tin http://www.ebook.edu.vn 166 Giáo trình “Các hệ qu n tr c s dữ liệu" Data mode: Add: Dùng để nhập dữ liệu Edit: Dùng để thêm, xoá, sửa dữ liệu trong b ng Read Only: M b ng để ch xem dữ liệu Open Query: M 1 truy v n Query name: Tên truy v n cần m View: Ch n dạng thể hiện của b ng (Datasheet/ Design/ Print Preview Data mode: Add: Dùng để nhập dữ liệu Edit: Dùng để thêm, xoá, sửa dữ liệu trong b ng Read Only: M b ng để ch xem dữ liệu Open Form: M 1 biểu mẫu Form name: Tên biểu mẫu View: Ch n dạng thể hiện ( Form/ Design/ Print preview/ Datasheet) Filter name: Tên Query l c các dữ liệu để hiển th trong form. Where condition: Điều kiện l c dữ liệu hiển th trong form. Data mode: Add : Dùng để nhập dữ liệu Edit : Dùng để thêm, xoá, sửa dữ liệu trong b ng Read Only : M b ng để ch xem dữ liệu Window mode: Normal : Dạng cửa sổ form bình thư ng. Hidden : Dạng cửa sổ form được ẩn đi. Icon : Cửa sổ form thu nhỏ thành 1 biểu tượng. Dialog : Dạng hộp thoại. Open Report: M 1 báo cáo Report name: Tên báo cáo View: Ch n kiểu in Print preview:In ra màn hình. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 167 Giáo trình “Các hệ qu n tr c s dữ liệu" Design: Dạng thiết kế báo cáo Print: In ra máy in Filter name: Tên Query l c các dữ liệu để hiển th trong Report. Where condition: Điều kiện l c dữ liệu hiển th trong Report. Run macro: Thực hiện một tập lệnh Macro name: Tên macro cần thực hiện Repeat count: Số lần thực hiện macro sẽ lặp lại. Repeat Expression: Biểu thức điều kiện để lặp lại khi thực hiện macro. Macro ch dừng khi khi biểu thức điều kiện nhận giá tr False. Open module: M cửa sổ soạn th o thủ tục trong 1 module. Module name: Tên module chứa thủ tục cần m . Procedure name: Tên thủ tục sẽ m . Run code: G i thực hiện một hàm của Access Basic Function name: Tên hàm cần thực hiện và các đối số của hàm. Run App: Cho thực hiện một ứng dụng nào đó trong môi trư ng Windows Command line: đư ng dẫn đến tập tin của một ứng dụng. Run SQL: Cho thực hiện câu lệnh SQL SQL Statement: Nội dung câu lệnh SQL Maximize: Cực đại cửa sổ hiện th i Minimize:Cực tiểu cửa sổ hiện th i thành một biểu tượng. Restore: Phục hồi cửa sổ tr về kích thước cũ. Move size: Di chuyển hoặc thay đổi kích thước cửa sổ hiện th i. Right: Kho ng cách từ góc trên trái của cửa sổ này đến cạnh trái của cửa sổ chứa nó. Down: Kho ng cách từ góc trên trái của cửa sổ này đến đến cạnh trên của cửa sổ chứa nó. Width: Chiều rộng của cửa sổ này. Height: Chiều cao của cửa sổ này. Stop Macro: Dừng macro đang thực hiện Khoa Công nghệ Thông tin http://www.ebook.edu.vn 168 Giáo trình “Các hệ qu n tr c s dữ liệu" Beep: Phát tiếng kêu bíp Hourglass: Đổi dạng con trỏ thành đồng hồ cát trong khi macro đang chạy Hourglass On: Yes/No (Đổi/ Không đổi) Close: Đóng một cửa sổ đang hoạt động Object Type: Loại cửa sổ của đối tượng cần đóng như Table, Query, form, Report, Macro hoặc Module. Object name: Tên của đối tượng cần đóng. Quit: Thoát khỏi MS Access và tr về Windows Option Prompt: Hiển th hộp thoại có lưu trữ không? Nếu đối tượng có thay đổi. Save all: Lưu trữ t t c m i đối tượng. Exit: Thoát mà không cần lưu trữ. Print: In đối tượng hiện th i Print Range: Phạm vi cần in n. All: In t t c các đối tượng Selection: In phần trang được ch n Pages: In các trang được ch n Page from: Trang bắt đầu in Page to: Trang kết thúc in Print Quality: Ch t lượng in Copies: Số b n cần in Collate Copies: Có sắp xếp thứ tự các b n in teo trang. Msg Box: Hiển th hộp thông báo Message: Câu thông báo cần hiển th Beep: Yes/ No: Có/ Không phát ra tiếng Bíp khi hiển th hộp thông báo. Type: Loại hộp thông báo. Title: Tiêu đề của hộp thông báo. CancelEvent: Huỷ bỏ một sự kiện đang thực hiện Khoa Công nghệ Thông tin http://www.ebook.edu.vn 169 Giáo trình “Các hệ qu n tr c s dữ liệu" Requery: Cập nhật dữ liệu cho một đối tượng đang hoạt động bằng cách cập nhật lại dữ liệu nguồn của đối tượng đó. Control name: Tên của đối tượng cần cập nhật dữ liệu (Nếu không ch ra thì sẽ cập nhật lại dữ liệu nguồn của chính đối tượng đang hoạt động). Select Object: Ch n đối tượng trong CSDL Object Type: loại đối tượng cần ch n. Object name: Tên đối tượng cần ch n In Database Window: (Yes/No) Xác đ nh MS access có ch n đối tượng trong cửa sổ CSDL không, mặc đ nh là No. Set value: Gán một giá tr cho 1 trư ng, 1 điều khiển, hoặc một thuôc tính trên một Form hoặc 1 Report. Item:Tên trư ng, đối tượng hay thuộc tính muốn gán giá tr . Expression: Biểu thức cần gán giá tr cho Item. C Chú ý: Nếu tên trư ng, tên đối tượng, tên thuộc tính 1 Form hoặc 1 Report khác thì ph i mô t đầy đủ. Trong Form khác: [Forms]![Tên Form]![Tên trư ng/Tên đối tượng] Trong Report khác: [Reports]![Tên Report]![Tên trư ng/Tên đối tượng] Đối với các thuộc tính [Forms/Reports]![Tên Form/Tên Report]![Tên trư ng].[Tên thuộc tính] Add menu: Tạo thêm một Drop Down Menu vào một menu bar cho một form hoặc Report. Menu name: Tên của Drop Down Menu muốn thêm vào menu bar. Menu macro name: Tên macro chứa các lệnh về việc tạo menu. Status bar: Thông báo thanh trạng thái khi ch n menu này. Apply Filter: L c (Truy v n) các dữ liệu khi xử lý Table, Form, Report. Filter name: Tên của truy v n l c dữ liệu. Where condition: Điều kiện l c dữ liệu. FindRecord: Tìm b n ghi đầu tiên nằm trong phạm vi và tho mãn điêu kiện. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 170 Giáo trình “Các hệ qu n tr c s dữ liệu" Find What: Nội dung dữ liệu cần tìm là một giá tr hoặc một biểu thức, nếu là biểu thức sẽ bắt đầu d u "=". Where: Qui đ nh cách so sánh giá tr cần tìm với giá tr của trư ng. Any part of field: Một phần b t kỳ của trư ng. Match Whole field: Giá tr cần tìm bằng giá tr của trư ng. Start of field: Giá tr cần tìm là phần đầu của trư ng. Match Case: Yes/No: Có/Không phân biệt chữ in hoa và chữ in thư ng. Direction: Quy đ nh hướng tìm All: Tìm toàn bộ Up: Tìm từ b n ghi hiện th i lên phía trên. Down: Tìm từ b n ghi hiện th i lên phía dưới. Search As Formatted: Qui đ nh việc tìm có dựa trên dữ liệu sau khi đã đ nh dạng trong các trư ng hay không? Search in: Qui đ nh việc tìm trên trư ng hiện th i hoặc trên t t c các trư ng. Current Field: Tìm trên trư ng hiện th i. All Fields: Tìm t t c các trư ng. Find First: Yes/No: Qui đ nh tìm từ b n ghi đầu tiên hay tìm từ b n ghi hiện th i. Findnext:Tìm b n ghi kế tiếp tho mãn điều kiện tìm kiếm của lệnh FindRecord. CopyObject: Sao chép một đối tượng trong tập tin CSDL hiện th i thành một đối tượng khác của tập tin CSDL khác trong MS Access. Destionation Database: Tên tập tin CSDL đích New name: Tên mới của đối tượng sau khi sao chép. Source Object Type: Kiểu của đối tượng nguồn. Source Object Name: Tên của đối tượng nguồn. DeleteObject: Xoá một đối tượng trong tập tin CSDL hiện th i. Object Type: Kiểu của đối tượng. Object Name: Tên của đối tượng 4. NHÓM T P L NH VÀ T P L NH CÓ ĐI U KI N 4.1. Nhóm t p l nh Khoa Công nghệ Thông tin http://www.ebook.edu.vn 171 Giáo trình “Các hệ qu n tr c s dữ liệu" Là Macro chứa các macro con, thay vì tạo ra nhiều macro với nhiều tên khác nhau thì các macro này được gom lại thành một tên chung nhằm gi m bớt số lượng và thuận lợi trong quá trình sử dụng. Tuy nhiên các Macro được nhóm khi chúng có liên quan với nhau. Có thể có nhiều Macro trong nhóm có cùng hành động, tuy nhiên chúng được phân biệt b i tên Macro. Đặt tên cho Macro ta thực hiện: Tại chế độ thiết kế Macro: View/Macro name Đặt tên cho Macro tại cột Macro name. Cách thực hiện 1 macro trong macro name <Tên Macro Group>.<Tên Macso c n th c hi n> 4.2. Macro có đi u ki n Là macro có chứa các điều kiện thi hành cho mỗi hành động. Cách t o Macro có đi u ki n Tại chế độ thiết kế Macro: Ch n View/Conditions Tại cột Condition : Đặt điều kiện thi hành cho mỗi hành động. Ví dụ 4.3. Áp d ng Macro cho form và Report 4.3.1. Quy tắc chung khi gọi một đối tượng Đối với form : Forms![Tên form]![Tên đối tượng] Đối với Report : Reports![Tên Report]![Tên đối tượng] 4.3.2. Các thuộc tính của một đối tượng Khoa Công nghệ Thông tin http://www.ebook.edu.vn 172 Giáo trình “Các hệ qu n tr c s dữ liệu" Muốn gắn một nút lệnh trên một biểu mẫu hoặc báo cáo với một Macro nào đó vào nút lệnh này ta thực hiện: Click chuột ph i vào nút lệnh, ch n Properties và gắn Macro vào các hành động tư ng ứng. On Enter: Macro thi hành khi nh n Enter vào bên trong đối tượng On Exit: Macro thi hành khi thoát khỏis đối tượng On Got Focus: Thiết lập nhận biết khi có di chuyển con trỏ đến một form hoặc 1 trư ng trên form đang m . On Click: Macro thi hành khi click vào đối tượng On Dbl Click: Macro thi hành khi Double click vào đối tượng. On Mouse Down: Macro thi hành khi n và giữ chuột tại đối tượng On Mouse Move: Macro thi hành khi di chuyển chuột ra khỏi đối tượng On Mouse Up: Macro thi hành khi nhã chuột ra khỏi đối tượng. On Key Down: Macro thi hành khi n và giữ một phím đối tượng. On Key Press: Macro thi hành khi n một phím đối tượng. On Key Up: Macro thi hành khi nhã một phím đối tượng. 4.3.3. Macro tự động thực hiện sau khi mở tập tin CSDL Chúng ta có thể tạo ra một Macro mà mỗi khi m một tập tin CSDL thì Macro này tự động thực hiện. Để tạo Macro tự động thực hiện ta tiến hành các thao tác sau: Tạo macro Lưu trữ Macro với tên AutoExec. 5. THI T K MENU TRONG ACCESS Trong các ứng dụng, thư ng chúng ta ph i tổ chức Menu để cho phép ngư i sử dụng thực hiện các hành động thông qua các chức năng trên Menu này. Có 2 cách hiển th các Menu của ngư i sử dụng (Custom Menu) trong các ứng dụng đó là: Menu ứng với 1 form xác đ nh nào đó: Menu này ch xu t hiện khi truy xu t đến Form này. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 173 Giáo trình “Các hệ qu n tr c s dữ liệu" Menu toàn cục (Globally): Menu toàn cục này sẽ xu t hiện trong các ứng dụng và nó ch được thay thế khi có 1 menu ứng với form nào đó được m . 5.1. T o menu c a ng i s d ng Ch n View/Toolbars/Customize/New/ Đặt tên cho thanh menu Ch n Properties và ch n Type là Menu bar, close Ch n command, tr ng mục Categories ch n New menu và kéo sang thanh menu vừa tạo. Click chuột ph i để thay đổi các tiêu đề cho phù hợp trên thanh menu. Tư ng tự cho các nhóm khác. Có thể tạo các chức năng là các hành động như m b ng, truy v n, biểu mẫu.... bằng cách kéo các biểu tượng này trong mục command vào menu đang tạo. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 174 Giáo trình “Các hệ qu n tr c s dữ liệu" 5.2. T o menu toàn c c Nếu muốn tạo một menu toàn cục sẽ thay thế menu có sẵn trong Access khi CSDL này được m ta thực hiện các bước sau: M hoặc tạo ra một Macro có tên là Autoexec. Thêm vào hành động: SetValue Trong mục các tham số (arguments): Item: Application.menubar Expression: Tên của Menubar ngư i sử dụng tạo ra và đặt giữa cặp d u ngoặc kép "". Khoa Công nghệ Thông tin http://www.ebook.edu.vn 175 Giáo trình “Các hệ qu n tr c s dữ liệu" BÀI S 1 Kh i động MSACCESS, tạo một CSDL có tên NHANSU.MDB rồi lần lượt tạo các b ng dữ liệu sau B ng 1: Nhanvien STT 1 2 3 4 5 6 7 8 9 Fieldname Manv Holot Ten Ngaysinh Gioitinh Maphong MaPXuong Diachi Ghichu Data Type Text Text Text Date/time Yes/No Text (Lookup) Text (Lookup) Text Memo Fieldsize 4 20 10 8 1 2 2 30 Note Khoá chính Yes:Nam, No:Nu L y từ b ng Dsphong L y từ b ng dspxuong B ng 2: Dsphong STT 1 2 3 Fieldname Maphong Tenphong Sodthoai Data Type Text Text Text Fieldsize 2 30 11 Note Khoá chính Data Type Text (Lookup) Number Number Number Number Number Number Fieldsize Note Khoá chính Data Type Text Text Number Fieldsize 2 20 Byte B ng 3: Thunhap_NV STT 1 2 3 4 5 6 7 Fieldname Manv Luongchinh Heso Phucap Thue Thamnien Tongluong 4 Double Integer Double Double Byte Double Thuế Số năm thâm niên B ng 4: DSpxuong STT 1 2 3 Fieldname Mapxuong Tenpxuong Sodoanvien Khoa Công nghệ Thông tin Note Khoá chính Số đoàn viên http://www.ebook.edu.vn 176 Giáo trình “Các hệ qu n tr c s dữ liệu" 1. Hãy nhập dữ liệu thích hợp cho các b ng trên. 2. M b ng Nhanvien sắp xếp tăng dần theo manv, sắp xếp gi m dần theo ten. 3. Sắp xếp tăng dần theo ten, nếu ten trùng nhau thì sắp xếp gi m dần theo holot nếu holot trùng nhau thì sắp xếp gi m dần theo maphong. 4. L c và hiển th danh sách những nhân viên có tên Thanh. 5. L c và hiển th những nhân viên có h Nguyen hoặc Cao và có tên anh. 6. L c và hiển th nhữnh nhân viên có Manv bắt đầu là B và maphong là A1 hoặc Manv bắt đầu là C và maphong là A2. 7. L c và hiển th những nhân viên nam và có năm sinh 1975. 8. L c và hiển th những nhân viên nam sinh trong th i gian từ 12/12/76 đến 12/12/79. 9. L c và hiển th những nhân viên n có Mapxuong là P1 và sinh trong tháng 10 năm 1975 hoặc nhân viên nam có năm sinh 1972 đến 1976. 10. M b ng Thunhap_nv để hiển th những nhân viên có heso>100 và có luongchinh<500.000 hoặc có phucap từ 100.000 đến 500.000. BÀI SỐ 2 1. M CSDL NHANSU.MDB trong bài thực hành số 1 rồi thực hiện các nhiệm vụ sau: ¬ Đặt khoá chính cho trư ng Manv (nhanvien), Maphong(dsphong), manv(thunhap_nv) và mapxuong (dspxuong). ¬ Thiết lập các mối quan hệ giữa các b ng dữ liệu theo s đồ sau Khoa Công nghệ Thông tin http://www.ebook.edu.vn 177 Giáo trình “Các hệ qu n tr c s dữ liệu" ¬ Hãy thiết lập các thuộc tính tham chiếu toàn vẹn và các thuộc tính như Format, caption, inputmask...... cho các trư ng một cách hợp lệ. Đặt thuộc tính Format của trư ng ngaysinh : dd-mm-yy , Inputmask: 00/00/00 Đặt thuộc tính Inputmask của trư ng sodthoai : (000)000000 2. Tạo một truy v n query1 để hiển th những thông tin sau: Manv, holot, ten (trong b ng nhanvien), Luongchinh, phucap (Trong b ng Thunhap_nv), tenphong, maphong (Trong dsphong). 3. Tạo một truy v n query 2 để hiển th những thông tin sau: Manv, hoten ( Nối holot và ten), maphong, tenphong, mapxuong, tenpxuong, tongthunhap trong đó tongthunhap được tính theo công thức: Tongthunhap=luongchinh*heso+phucap-thue nếu là nhân viên nam. Tongthunhap=luongchinh*heso+phucap nếu là nhân viên n . 4. Tạo một truy v n query3 để hiển th những nhân viên có maphong là p1 và mapxuong là x1 sinh trong tháng 7 năm 1976 bao gồm những tin sau: Hoten, gioitinh, maphong, tenphong, mapxuong, tenpxuong. 5. Tạo một truy v n query4 để hiển th những nhân viên n và có maphong là p2 hoặc p3 sinh trong ngày 20 tháng 12 bao gồm những thông tin: Hoten, maphong, ngaysinh, gioitinh (chú ý giá tr trư ng gioitinh ph i hiển th nam hoặc nữ). Khoa Công nghệ Thông tin http://www.ebook.edu.vn 178 Giáo trình “Các hệ qu n tr c s dữ liệu" 6. Tạo một truy v n query5 để hiển th những nhân viên nam có tongthunhap>=60000 hoặc thuộc maphong là p2 và không ph i h Nguyãùn bao gồm những thông tin: Ten, maphong, tenphong, tongthunhap. 7. Tạo một truy v n query6 để hiển th những nhân viên n có maphong không bắt đầu là p hoặc những nhân viên thuộc phân xư ng không có đoàn viên nào bao gồm những thông tin sau: Holot, ten, gioitinh, tenpxuong. 8. Tạo một truy v n query7 để hiển th những nhân viên nam tên Thanh hoặc Long hoặc những nhân viên n không ph i h Lê hoặc tr n bao gồm những thông tin: Hoten, gioitinh, maphong, tenphong. 9. Tạo một truy v n query8 để hiển th những nhân viên nam sinh trong kho ng th i gian từ năm 1973 đến 1980 thuộc phân xư ng có mapxuong là x2 hoặc những nhân viên không có thu sinh trong tháng 4 đến tháng 8 năm 1975 bao gồm những thông tin: Holot, ten, thangsinh, namsinh, mapxuong, tenpxuong. 10. Tạo một truy v n query9 để hiển th những thông tin: Hoten, namsinh, thamnien, luongchinh, trong đó nếu Luongchinh>=3000 và nhân viên n thì thamnien là 35. Luongchinh>=4000 và nhân viên nam thì thamnien là 30. BÀI SỐ 3 Tạo một CSDL có tên QLTV.MDB, rồi lần lượt tạo các b ng dữ liệu sau: B ng 1: Loaisach STT 1 2 3 4 5 6 7 Fieldname Masach Tensach Tentacgia Namxb Soluongco Sotrang Manxb Data Type Text Text Text Date/time Number Number Text Fieldsize 4 20 20 8 3 5 4 Note Khoá chính Số lượng có Số trang sách Mã nhà xu t b n B ng 1: Docgiamuon Khoa Công nghệ Thông tin http://www.ebook.edu.vn 179 Giáo trình “Các hệ qu n tr c s dữ liệu" STT 1 2 3 4 5 6 7 Fieldname Hoten Quequan Madocgia Masach Sluong Ngaymuon Ngayhen Data Type Text Text Text Text (Lookup) Number Date/time Date/time Fieldsize 30 30 4 4 1 8 8 Note Khoá chính L y dữ liệu từ Loaisach Số lượng mượn Ngày mượn Ngày hẹn tr B ng 3: Docgiatra STT 1 2 3 Fieldname Madocgia Masach Ngaytra Data Type Text Text Date/time Fieldsize 4 4 8 Data Type Text Text Text Fieldsize 4 30 30 Note Khoá chính Ngày tr B ng 4: : Nhaxban STT 1 2 3 Fieldname Manxban Ten_xb Diachi_nxb Note Khoá chính Tên nhà xu t b n Đ a ch Nhà XB 1. Nhập dữ liệu thích hợp cho các b ng dữ liệu. 2. Đặt khoá chính cho các trư ng: masach(Loaisach), Madocgia(Docgiamuon), Madocgia(Docgiatra), manxban(Nhaxban). 3. Thiết lập các mối quan hệ giữa các b ng dữ liệu theo s đồ sau Khoa Công nghệ Thông tin http://www.ebook.edu.vn 180 Giáo trình “Các hệ qu n tr c s dữ liệu" 4. Tạo một truy v n TV1 để hiển th danh sách độc gi mượn sách trong tháng 10 năm 98 bao gồm những thông tin: Hoten, ngaymuon, tensach, tentacgia. 5. Tạo một truy v n TV2 để hiển th số lượng còn của mỗi loại sách của nhà xu t b n Kim đ ng bao gồm những thông tin: tensach, nxban, soluongcon. 6. Tạo một truy v n TV3 để hiển th danh sách những độc gi mượn sách quá hạn bao gồm những thông tin: Hoten, Ngaymuon, Ngayhen, songayqua (Số ngày quá hạn). 7. Tạo một truy v n TV4 để hiển th danh sách những độc gi mượn sách quá hạn bao gồm những thông tin Hoten, sluong, mucquahan Trong đó: Mucquahan là Mức 1 nếu songayqua<5 Mucquahan là Mức 2 nếu songayqua<10 Mucquahan là Mức 3 nếu songayqua>=10 8. Tạo một truy v n TV5 để hiển th danh sách những độc gi tr sách đúng hạn hoặc sớm hạn bao gồm những thông tin: Hoten, masach, tensach. 9. Tạo một truy v n TV6 để hiển th những loại sách có số trang >100 và số lượng còn là 20 của nhà xu t b n giáo d c hoặc tên sách có chữ Tin h c bao gồm Tensach, sotrang, ten_xb, tentacgia. BÀI SỐ 4 1. Sử dụng CSDL QLTV.MDB, tạo một truy v n Truyvan1 để hiển th tổng số lượng mượn của từng loại sách trong thư viện. 2. Tạo một truy v n Truyvan2 để hiển th tổng số lượng mượn của từng loại sách trong tháng 12 năm 1998. 3. Tạo một truy v n Truyvan3 để hiển th tổng số lượng mượn của từng loại sách theo từng tháng trong năm 1999. 4. Tạo một truy v n Truyvan4 để hiển th tổng số lượng mượn của từng loại sách theo từng tháng của một năm nào đó(Tháng và năm được nhập từ bàn phím). 5. Tạo một truy v n Truyvan8 để hiển th số lượng mượn của từng loại sách trong năm 1999 và có số lượng mượn của mỗi độc gi >2. 6. Tạo một truy v n Truyvan9 để hiển th tổng số loại sách có trong thư viện. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 181 Giáo trình “Các hệ qu n tr c s dữ liệu" 7. Tạo một truy v n Truyvan10 để hiển th tổng số loại sách trong thư viện cho mượn trong năm 1998. 8. Tạo một truy v n Truyvan11 để hiển th tên của độc gi nào đó mượn sách trong tháng 1 năm 2001 (Tên được nhập từ bàn phím). 9. Tạo một truy v n Truyvan12 để hiển th tên sách và tên tác gi xu t b n sách trong năm 2002 (Tên sách nhập từ bàn phím, H của tác gi nhập từ bàn phím). 10. Tạo một truy v n tham kh o chéo Truyvan13 để ph n ánh tổng số mỗi loại sách mượn cho mượn trong tháng 11 năm 2000. 11. Tạo một truy v n tham kh o chéo Truyvan14 để hiển th tổng số la i sách xu t b n trong năm 1995. 12. Tạo một truy v n Truyvan14 để xoá những sinh viên đã mượn sách quá hạn 5 ngày. BÀI SỐ 5 Tạo một CSDL có tên QLSV.MDB, rồi tạo các b ng dữ liệu sau: B ng 1: DSSV STT 1 2 3 4 5 6 7 Fieldname Masv Malop Hotensv Ngaysinh Quequan Gioitinh Hocbong Data Type Text Text Text Date/time Text Yes/No Number Fieldsize 4 4 30 8 30 1 Double Note Khoá chính Data Type Text Text Number Number Fieldsize 4 2 Double Double Note Khoá chính Mã môn h c Điểm thi lần 1 Điểm thi lần 2 B ng 2: DSDIEM STT 1 2 3 4 Fieldname Masv Mamon Diem_lan1 Diem_lan2 Khoa Công nghệ Thông tin http://www.ebook.edu.vn 182 Giáo trình “Các hệ qu n tr c s dữ liệu" B ng 3: DSLOP STT 1 2 3 4 Fieldname Malop Tenlop Nganh_hoc Khoahoc Data Type Text Text Text Text Fieldsize 4 20 30 2 Note Khoá chính B ng 3: DSMON STT 1 2 3 Fieldname Mamon Tenmon So_htrinh Data Type Text Text Number Fieldsize 2 20 Byte Note Khoá chính Số h c trình 1. Nhập dữ liệu thích hợp cho các b ng dữ liệu. 2. Đặt khoá chính cho các trư ng: MASV(DSSV), MASV(DSDIEM), MALOP(DSLOP), Mamon(DSMON). 3. Thiết lập các mối quan hệ giữa các b ng theo s đồ sau: 4. Tạo một truy v n BT1 để hiển th tổng số sinh viên của mỗi lớp là bao nhiêu? 5. Tạo một truy v n tham kh o chéo BT2 để ph n ánh tổng số sinh viên xếp loại Xsắc, Giỏi, khá, Tb, Yếu của mỗi lớp. 6. Từ b ng dữ liệu DSSV, tạo một truy v n BT3 để tạo ra b ng dữ liệu DSLUU lưu trữ những sinh viên có Mã lớp bắt đầu là T hoăc H. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 183 Giáo trình “Các hệ qu n tr c s dữ liệu" 7. Từ b ng dữ liệu DSSV, tạo một truy v n BT4 để tạo ra một b ng dữ liệu DSNAM để lưu trữ những sinh viên nam sinh trong năm 1976 bao gồm các thông tin: HOTENV, QUEQUAN, GIOTINH. 8. Từ b ng dữ liệu DSSV, tạo một truy v n BT5 để tạo ra một b ng dữ liệu DSNU để lưu trữ những sinh viên n sinh trong quý 3 năm 1979 bao gồm các thông tin: HOTENV, QUEQUAN, GIOTINH. 9. Tạo một truy v n BT6 để tăng h c bổng cho những sinh viên n thêm 30%. 10. Tạo một truy v n BT7 để nối dữ liệu từ b ng DSNAM vào b ng DSNU. 11. Tạo truy v n BT8 để xoá những sinh viên có quê quán Đà Nẵng và có mã lớp bắt đầu là B. BÀI SỐ 6 1. Sử dụng ngôn ngữ SQL để tạo c u trúc của các b ng dữ liệu sau: DSTRUONG ( MATRUONG, TENTRUONG, DIACHI ) DSKHOA ( MATRUONG, MAKHOA, TENKHOA, SODT ) DANHSACH ( MASV, MAKHOA, HOTEN, NGAYSINH, LOP, HOCBONG ) BANGDIEM ( MASV, DTBK1, DTBK2, DTBK3, DTBK4 ) Trong đó: Các trư ng in đậm và gạch chân là khoá chính, kiểu dữ liệu và kích thuớc của các được mô t như sau: B ng DSTRUONG MATRUONG TEXT(2), TENTRUONG TEXT(20), DIACHI TEXT(30) B ng DSKHOA MATRUONG TEXT(2), MAKHOA TEXT(4), TENKHOA TEXT(10), SODT TEXT(6). Trư ng SODT được lập ch mục. B ng DANHSACH MASV TEXT(4), MAKHOA TEXT(4), HOTEN TEXT(30), NGAYSINH(DATE/TIME), LOP TEXT(10), HOCBONG (DOUBLE). Trư ng MASV được lập ch mục. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 184 Giáo trình “Các hệ qu n tr c s dữ liệu" B ng BANGDIEM MASV TEXT(4), DTBK1 (DOUBLE), DTBK2 (DOUBLE), DTBK3 (DOUBLE), DTBK4 (DOUBLE). H Chú ý Sau khi tạo c u trúc các b ng dữ liệuxong, hãy nhập dữ liệu và thiết lập mối quan hệ giữa các b ng phù hợp. Trư ng HOCBONG trong b ngg DANHSACH ch nhập một trong ba giá tr 120000, 180000 hoặc 240000. 2. Sử dụng ngôn ngữ SQL để thay đổi c u trúc của b ng dữ liệu a. Thêm tru ng GHICHU có kiểu MEMO vào trong b ng DANHSACH b. Thêm trư ng TBCONG có kiểu DOUBLE vào trong b ng BANGDIEM c. Thêm trư ng QUEQUAN có kiểu TEXT và GIOITINH có kiểu YES/NO vào b ng DANHSACH và lập ch mục trư ng QUEQUAN. 3. Sử dụng ngôn ngữ SQL để tạo các truy v n ch n sau a. Ch n MATRUONG, MAKHOA, TENKHOA trong b ng DSKHOA. b. Ch n MATRUONG, MAKHOA, SODT trong b ng DSKHOA của những trư ng có MATRUONG bắt đầu là Q. c. Ch n MASV, MAKHOA, HOTEN của những sinh viên sinh trong kho ng th i gian từ 20/10/74 đến 20/10/76 trong b ng DANHSACH. d. Ch n MASV, HOTEN, LOP, HOCBONG của những sinh viên có MASV bắt đầu là T và thuộc lớp Tin h c hoặc Hoá h c hoặc kinh tế trong b ng DANHSACH ( HOTEN đổi thành H và tên). e. Ch n những sinh viên có tên THANH sinh trong tháng 10/76 hoặc có HOCBONG trong kho ng từ 150000 đến 200000. 4. Sử dụng ngông ngữ SQL để tạo các truy v n tính tổng sau: Khoa Công nghệ Thông tin http://www.ebook.edu.vn 185 Giáo trình “Các hệ qu n tr c s dữ liệu" a. Tạo một truy v n để tính tổng HOCBONG của mỗi khoa. b. Tạo một truy v n thống kê xem mỗi khoa số lượng sinh viên là bao nhiêu? c. Tạo một truy v n để tính tổng HOCBONG của mỗi lớp trong mỗi khoa. d. Tạo một truy v n thống kê xem mỗi trư ng có bao nhiêu khoa? 5. Sử dụng ngôn ngữ SQL để tạo các truy v n tham số sau: a. Tạo một truy v n tham số thống kê xem mỗi mức HOCBONG mỗi khoa có bao nhiêu sinh viên. b. Tạo một truy v n tham số để thống kê xem số lượng sinh viên sinh trong mỗi tháng của năm 1979 của mỗi khoa là bao nhiêu? 6. Sử dụng ngông ngữ SQL để tạo các truy v n tạo b ng sau: a. Tạo một b ng DIEMLUU gồm t t c các trư ng trong b ng DIEMTHI. b. Tạo một b ng DSLUU gồm các trư ng MASV, MAKHOA, HOTEN từ b ng DANHSACH của những sinh viên sinh trước ngày 20/11/76. c. Tạo một b ng DSLUU1 gồm các trư ng HOTEN, LOP của những sinh viên thuộc lớp Tin K25A và sinh năm 1985 hoặc trước năm 1978. 7. Sử dụng ngôn ngữ SQL để tạo các truy v n nối dữ liệu sau: a. Tạo một truy v n nối dữ liệu từ b ng DIEMLUU vào DIEMTHI nhưng ch gồm các trư ng DTBK1, DTBK2. b. Tạo một truy v n nối dữ liệu từ b ng DIEMLUU vào DIEMTHI nhưng ch gồm các trư ng DTBK1, DTBK2, DTBK3 đối với những b n ghi ghi có DTBK3>=8. 8. Sử dụng ngôn ngữ SQL để tạo các truy v n cập nhật dữ liệu sau: a. Tính giá tr trư ng DTBCONG của b ng DIEMTHI theo công thức (DTBK1+ DTBK2+ DTBK3+ DTBK4)/4. b. Tăng HOCBONG thêm 100.000 cho những sinh viên có MASV bắt đầu là A trong b ng DANHSACH. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 186 Giáo trình “Các hệ qu n tr c s dữ liệu" c. Gi m HOCBONG đi 50.000 cho những sinh viên có năm sinh từ 1975 đến 1978 hoặc những sinh viên có tên NHAN. 9. Sử dụng ngôn ngữ SQL để tạo các truy v n xoá sau: a. Tạo một truy v n xoá những sinh viên thuộc khoa toán. b. Tạo một truy v n xoá những sinh viên sinh trong kho ng th i gian từ 20/10/74 đến 20/10/76 hoặc có HOCBONG=120.000. c. Tạo một truy v n xoá những sinh viên có h NGUYEN hoặc tên THANH sinh trong tháng 7 năm 1978. 10. Sử dụng ngôn ngữ SQL để tạo các truy v n dựa trên nhiều b ng sau: a. Tạo truy v n để hiển th HOTEN, TENKHOA, LOP, HOCBONG từ 2 b ng dữ liệu DSKHOA và DANHSACH. b. Tạo một truy v n để hiẻn th TENTRUONG, TENKHOA, HOTEN của những sinh viên sinh trong năm 1980 từ 3 b ng DSTRUONG, DSKHOA, DANHSACH. c. Tạo một truy v n để hiển th TENTRUONG, TENKHOA, HOTEN, DTBK1, DTBK2 tử 4 b ng dữ liệu DSTRUONG, DSKHOA, DANHSACH, DIEMTHI. 11. Sử dụng ngôn ngữ SQL để tạo các truy v n con sau: a. Tạo một truy v n để hiển th HOTEN, NGAYSINH, LOP của những sinh viên có DTBK4>=5. b. Tạo một truy v n để hiển th it nh t một sinh viên có DTBK2<=4. 12. Sử dụng ngôn ngữ SQL để tạo các truy v n hội sau: a. Tạo truy v n hội để hiển th HOTEN, DTBK1, DTBK2 từ 2 b ng dữ liệu DIEMTHI và DIEMLUU. b. Tạo truy v n hội để hiển th HOTEN, DTBK1, DTBK2, DTBK3 từ 2 b ng dữ liệu DIEMTHI và DIEMLUU nhưng ch hiển th những sinh viên có DTBK3>=7. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 187 Giáo trình “Các hệ qu n tr c s dữ liệu" BÀI SỐ 7 Sử dụng CSDL QLSV.MDB trong bài t p s 5 để thực hiện các yêu cầu sau: 1. Tạo một form có tên Nhaplop để nhập dữ liệu cho b ng dslop như sau: 2. Tạo một form chính phụ như sau: 3. Tạo một form có tên Hienthi để hiển th danh sách sinh viên như sau : Khoa Công nghệ Thông tin http://www.ebook.edu.vn 188 Giáo trình “Các hệ qu n tr c s dữ liệu" 4. Hãy thiết kế form theo yêu cầu sau: Hãy gắn các chức năng phù hợp với các mục ch n. 5. Hãy thiết kế một Report theo yêu cầu sau: BÀI SỐ 8 Cho CSDL QLSVIEN.MBD gồm các b ng dữ liệu sau: DSSVIEN(MASV, MALOP, HOTENSVIEN, NGAYSINH, GTINH, QQUAN) DSMONHOC(MAMON, TENMON, SOH_TRINH) DSDIEMTHI(MASV, MAMON, DIEM_LAN1, DIEM_LAN2) Khoa Công nghệ Thông tin http://www.ebook.edu.vn 189 Giáo trình “Các hệ qu n tr c s dữ liệu" DSGIAOVIEN(MAGV, HOTENGVIEN, DIACHI, NOI_CT) DSLOPHOC(MALOP, NGANH_HOC, KHOA_HOC) GVMONHOC(MAGV, MAMON) DSLOPMON(MALOP, MAMON, NGAYTHI) Mối quan hệ giữa các b ng dữ liệu theo s đồ sau: 1. Tạo các biểu mẫu để cập nhật dữ liệu cho các b ng trên, chú ý sử dụng combo box hoặc List box đối với các trư ng cần thiết. 2. Tạo báo cáo để hiển th danh sách sinh viên trong một lớp h c nào đó, bao gồm c ngành h c tư ng ứng. 3. Tạo báo cáo để hiển th danh sách sinh viên trong từng lớp h c, bao gồm c ngành h c, trong đó các sinh viên cùng một lớp thì tên lớp được nhóm lại với nhau. 4. Tạo báo cáo để hiển th danh sách giáo viên đã gi ng dạy các một h c cho một lớp nào đó. 5. Tạo báo cáo để hiển th danh sách giáo viên đã tham gia gi ng dạy các môn h c cho nhiều lớp h c, trong đó các giáo viên gi ng dạy các môn h c cho một lớp h c được nhóm lại với nhau. 6. Tạo báo cáo để hiển th điểm thi các môn h c của một sinh viên. 7. Tạo báo cáo để hiển th điểm thi một môn h c của một lớp nào đó. Khoa Công nghệ Thông tin http://www.ebook.edu.vn 190