Bảng dữ liệu (Tables) là một phần quan trọng nhất của CSDL.
Là nơi lưu trữ những dữ liệu tác nghiệp cho ứng dụng
Một CSDL có thể có rất nhiều bảng
Các bảng phải được thiết kế sao cho có thể lưu trữ được đầy đủ dữ liệu cần thiết
Đảm bảo giảm tối đa tình trạng gây dư thừa dữ liệu
53 trang |
Chia sẻ: lylyngoc | Lượt xem: 2259 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài 2: Bảng biểu - Table, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
* Hệ quản trị Cơ sở dữ liệu MS Access KHOA CÔNG NGHỆ THÔNG TIN Bài 2: Bảng biểu - Table * Bài 2: Bảng biểu - Table 1. Các khái niệm cơ bản 2. Kiểu dữ liệu 3. Các thao tác trên bảng 4. Thiết kế bảng 5. Tạo quan hệ giữa các bảng * 1. Các khái niệm cơ bản Bảng dữ liệu (Tables) là một phần quan trọng nhất của CSDL. Là nơi lưu trữ những dữ liệu tác nghiệp cho ứng dụng Một CSDL có thể có rất nhiều bảng Các bảng phải được thiết kế sao cho có thể lưu trữ được đầy đủ dữ liệu cần thiết Đảm bảo giảm tối đa tình trạng gây dư thừa dữ liệu * 1. Các khái niệm cơ bản Các thành phần của một bảng Tên bảng Các trường dữ liệu (Field) Các thuộc tính cần thiết cho mỗi trường dữ liệu (Properties) Các bản ghi (record) * 1. Các khái niệm cơ bản Tên bảng: Được đặt sau khi tạo xong cấu trúc của bảng Cũng có thể sửa tên bảng như sửa tên tập tin hay thư mục. Mỗi cột dữ liệu của bảng sẽ tương ứng với một trường dữ liệu. Mỗi trường dữ liệu sẽ có một tên gọi và tập hợp các thuộc tính miêu tả trường dữ liệu đó ví dụ như: kiểu dữ liệu, trường khoá, độ lớn, định dạng,.. Mỗi trường dữ liệu phải được định kiểu dữ liệu. * 1. Các khái niệm cơ bản Mỗi dòng dữ liệu của bảng được gọi một bản ghi. Mỗi bảng có một con trỏ bản ghi. Con trỏ bản ghi đang nằm ở bản ghi nào, người dùng có thể sửa được dữ liệu bản ghi đó. Đặc biệt, bản ghi trắng cuối cùng của mỗi bảng được gọi EOF. Trường khoá: Một trường được gọi là khoá trong CSDL nếu trên trường đó không có bản ghi nào trùng nhau. Căn cứ vào trường khoá để (phân biệt) các bản ghi vd:người ta phân biệt các SV thông qua trường MSV do đó Msv gọi là trường khoá. * Bài 2: Bảng biểu - Table 1. Các khái niệm cơ bản 2. Kiểu dữ liệu 3. Các thao tác trên bảng 4. Thiết kế bảng 5. Tạo quan hệ giữa các bảng * 2. Kiểu dữ liệu Text Văn bản tối đa 255 ký tự Memo Văn bản tối đa 65536 ký tự Byte Số nguyên 0 đến 255 Integer Số nguyên -32768 đến 32767 Long Integer Số nguyên -2147483648 .. 2147483647 Single Số thực -3.4*1038 …3.4*1038 (độ cxác 7 số lẻ) Double Số thực -1.79*10308 …1.79*10308 (độ cxác 15 số lẻ) Decimal Số chính xác (precision ,scale) * 2. Kiểu dữ liệu Date/Time Ngày, giờ (từ 100 ..9999) Currency Lưu trữ giá trị tiền tệ AutoNumber Số nguyên dài , tự động tăng, không sửa được (MGT= long integer) Yes/No Logic(-1 , 0) OLE Object Đối tượng được nhúng hay liên kết vào table Hyperlink Lưu đường dẫn URL, UNC Lookup Wizard Công cụ khai báo giá trị của cột dựa vào tìm kiếm từ 1 bảng khác … * 2. Kiểu dữ liệu Các thông số của bảng: * Bài 2: Bảng biểu - Table 1. Các khái niệm cơ bản 2. Kiểu dữ liệu 3. Các thao tác trên bảng 4. Thiết kế bảng 5. Tạo quan hệ giữa các bảng * 3. Các thao tác trên bảng Tạo bảng mới: Trong cửa sổ Database, chọn tab Table Bấm nút new, cửa sổ new table xuất hiện 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. * 3. Các thao tác trên bảng Tạo bảng mới: * 3. Các thao tác trên bảng Tạo bảng mới bằng Design View: Đánh tên trường và chọn kiểu dữ liệu Tên trường Kiểu DL Mô tả Các thuộc tính của trường * 3. Các thao tác trên bảng Tạo bảng mới bằng Design View: Field Name: Tên trường cần đặt (thông tin cần quản lý – tối đa 255 ký tự) 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ó) * 3. Các thao tác trên bảng Xác định khóa chính Khóa chính: Xác định sự duy nhất của bản ghi trong bảng Thực hiện: 1. Chọn (các) trường Nhấn chuột phải và chọn Primary Key 2. Đánh dấu (các) trường chọn làm khóa chính Kích hoạt biểu tượng 3. Edit -> Primary Key Chú ý: 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. * 3. Các thao tác trên bảng Xác định khóa chính * 3. Các thao tác trên bảng 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) * 3. Các thao tác trên bảng Hiệu chỉnh bảng: 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. Chèn 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 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 * 3. Các thao tác trên bảng Xem thông tin và nhập dữ liệu: Chuyển bảng sang một chế độ hiển thị Datasheet. Trong chế độ hiển thị này, mỗi record được thể hiện trên một hàng ngang, hàng đầu tiên là các tên trường. Navigation buttons Nhấn biểu tượng Datasheet Design View * 3. Các thao tác trên bảng Xem thông tin và nhập dữ liệu: Bổ sung record mới cho CSDL Đang đứng tại một record nào đó (không phải là record mới), chọn nút trên thanh công cụ. Hoặc thực hiện lệnh Record - Go To - New. Di chuyển giữa các record Ta có thể di chuyển qua lại giữ các record bằng cách dùng công cụ navigation buttons. Record hiện thời Record đang nhập dữ liệu Record mới * 3. Các thao tác trên bảng Thay đổi cách trình bày trong cửa sổ cập nhật dữ liệu Định dạng font chữ cho dữ liệu Format -> Font Chọn Font tương thích, nhấn OK Định dạng hình thức trình bày cửa sổ cập nhật dữ liệu (đường kẻ ô, màu nền các ô..) Format -> Datasheet… Trên cửa sổ Datasheet Formatting, chọn đặc trưng cần thiết, nhấn OK * 3. Các thao tác trên bảng Thay đổi cách trình bày trong cửa sổ cập nhật dữ liệu Thay đổi chiều cao, độ rộng của dòng và cột Format -> Row Height hoặc Column Width Nhập vào một số chính xác quy định chiều cao, độ rộng của dòng hoặc cột trong bảng. Ẩn các trường trong table Chọn trường cần ẩn Format -> Hide Column Hiển thị lại các trường ẩn trong table Format -> Unhide Column Đánh dấu check vào các trường cần hiển thị, nhấn OK * 3. Các thao tác trên bảng Sắp xếp dữ liệu Sắp xếp dữ liệu trên một trường Mở bảng cần sắp xếp ở chế độ Open. Chọn trường cần sắp xếp Record/ Sort. Hoặc Chọn biểu tượng Sort trên thanh công cụ * 3. Các thao tác trên bảng Lọc dữ liệu. Mục đích : giúp người dùng xem được những thông tin cần thiết. Lọc dữ liệu không làm mất mát dữ liệu gốc mà chỉ tạm thời ẩn đi các dòng dữ liệu không cần thiết với người dùng, khi cần hiển thị trở lại chỉ việc bỏ lọc. Thực hiện : Records -> Filter Filter by Form: chỉ cho phép lọc các dòng dữ liệu với phép so sánh (=) và 2 phép toán logic (AND và OR) Filter by Selection: Chỉ cho phép lọc dữ liệu đúng theo những giá trị đã được chọn trong cửa sổ cập nhật dữ liệu Filter Excluding Selection : lọc dữ liệu khác với giá trị được đánh dấu Advanced Filter/Sort: cho phép lọc dữ liệu theo cách của người dùng * 3. Các thao tác trên bảng Lọc dữ liệu. Mở bảng cần lọc ở chế độ Open. C1: Record/ Filter by Form. C2: Kích phải chuột và gõ biểu thức lọc vào mục Filter for. Huỷ lọc. Chọn biểu tượng Remove Filter trên hanh cộng cụ chuẩn. Record/ Remove Filter/ Sort. * 3. Các thao tác trên bảng Chức năng của Advanced Filter/ Sort. Dùng để sắp xếp và lọc dữ liệu trên nhiều trường. Field: Chọn trường cần lọc hoặc sắp xếp. Sort: Chọn kiểu sắp xếp. Criteria: Dòng điều kiện khi lọc. Or: Điều kiện hoặc. Chú ý: Điều kiện nằm cùng dòng là AND khác dòng là điều kiện OR. * Bài 2: Bảng biểu - Table 1. Các khái niệm cơ bản 2. Kiểu dữ liệu 3. Các thao tác trên bảng 4. Thiết kế bảng 5. Tạo quan hệ giữa các bảng * 4. Thiết kế bảng Field Properties ( Thuộc tính trường) Kiểm soát dữ liệu liên quan đến 1 trường, số lượng và ý nghĩa thay đổi tùy theo kiểu dữ liệu. Thuộc tính chung ( General) Field Size: kích thước tối đa của cột kiểu number/text Format: định dạng dữ liệu Decimal Places: qui định số số lẻ của cột kiểu số thực Caption: tiêu đề cột ( trường) Input mask: Tạo khuôn mẫu nhập liệu. Default Value: chỉ định giá trị mặc định của trường Validation Rule: chứa một biểu thức qui định qui tắc kiểm tra dữ liệu trong cột * 4. Thiết kế bảng Field Properties ( Thuộc tính trường) Thuộc tính chung ( General) Validation Text: Nhập một chuỗi thông báo khi qui tắc ở mục Validation rule bị vi phạm Required: xác định có bắt buộc / không bắt buộc nhập liệu vào cột (Null value) Allow Zero Length: xác định có/ không cho phép chuỗi có độ dài bằng không ( xâu rỗng) chỉ dùng cho các trường kiểu Text hay Memo Indexed: xác định có / không tạo chỉ mục trên trường * 4. Thiết kế bảng a. Thuộc tính Fileds Size Kiểu DL Text : Dài tối đa 255 (Mặc định 50) Kiểu DL là AutoNumber : Long Interger hay ReplicationID Kiểu DL là Number : * 4. Thiết kế bảng b. Thuộc tính Format Chỉ định dạng hiển thị của dữ liệu trên Datasheet view, form, report. Có những thiết lập định dạng riêng cho mỗi loại kiểu dữ liệu. Ta có thể chọn định dạng có sẵn hay tạo một định dạng tùy biến Ký tự định dạng dùng chung * 4. Thiết kế bảng b. Thuộc tính Format Ký tự định dạng dùng riêng cho Text hoặc Memo Mã format gồm 2 phần định dạng cho chuỗi ký tự và trị Null hoặc chuỗi ký tự rỗng, cách nhau bằng dấu ; Ví dụ : với mã format >@@@@@;”-” Nhập : adslm ADSLM Nhập : nhấn tab - * 4. Thiết kế bảng b. Thuộc tính Format Ký tự định dạng dùng riêng cho Number: sử dụng các định dạng có sẵn hay tạo custom format bằng mã format gồm 4 phần : số dương;số âm;số 0;trị Null Ví dụ : với mã format #.00;#.00[red];0[red];”NULL” Nhập 123 123.00 Nhập -123.013 123.01 * 4. Thiết kế bảng b. Thuộc tính Format Dữ liệu Date/Time: sử dụng các định dạng có sẵn hay tạo custom format bằng tạo mã format chứa ký tự d, m, y , w, / , h , m , s , : , AM/PM Ví dụ : với mã format yyyy-mm-dd Nhập 1/1/2005 2005-01-01 Dữ liệu Yes/No: để hiển thị giá trị Yes/No, bạn có thể chọn một trong ba kiểu sau: Check box, Text box , Combo box Ví dụ: với mã format là ;”nam”;”nữ” Nhập -1 hiển thị nam Nhập 0 hiển thị nữ * 4. Thiết kế bảng c. Thuộc tính InputMask Thuộc tính input mask quy định dữ liệu nhập vào phải tuân theo một quy tắc nhất định * 4. Thiết kế bảng c. Thuộc tính InputMask Ví dụ * 4. Thiết kế bảng d. Thuộc tính 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 e. Thuộc tính Default Value Quy định giá trị mặc định cho trường trừ Auto number và OEL Object f. Thuộc tính 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. Yes: bắt buộc nhập No: Không bắt buộc * 4. Thiết kế bảng g. Thuộc tính Validation Rule: Một điều kiện mà dữ liệu nhập vào trường phải thỏa. Điều kiện không chứa tên trường, dài tối đa khoảng 2048 ký tự. Có thể dùng; Các hằng : cặp “ “cho hằng xâu ký tự, cặp # cho hằng giờ. Các phép toán so sánh : =, , , = Các phép toán logic : And, Or, Xor, Not.. Các toán tử đặc biệt khi thao tác dữ liệu : Between, In, Like.. h. Thuộc tính Validation text: Khi giới hạn bị vi phạm sẽ có câu thông báo ở Validation text * 4. Thiết kế bảng i. Thuộc tính AllowZeroLenght : 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 Yes: Chấp nhận chuỗi rỗng. No: Không chấp nhận chuỗi rỗng. j. Thuộc tính 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. Yes( Dupplicate OK): Tạo chỉ mụ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. * 4. Thiết kế bảng k. Thuộc tính tìm kiếm (Look up) Chỉ áp dụng khi muốn lấy giá trị từ một danh sách có sẵn Lookup Winzard Insert -> Lookup field Định nghĩa trong thuộc tính của trường. Display control: lựa chọn kiểu hiển thị (Text Box, List Box, Combo Box) Row source type: Table/Query; Value List, Field List Row source: Nguồn dữ liệu Bound column: Cột ( trong nguồn dữ liệu) cho giá trị Column Count: Số cột sẽ được hiển thị Column Heads: Có sử dụng hay không tên trường làm tiêu đề Column Width, List Rows, List Width: quy định kích cỡ * 4. Thiết kế bảng Table Properties (thuộc tính bảng) Dùng để kiểm soát dữ liệu liên quan đến nhiều trường khác nhau trong một bảng. Mở bảng ở chế độ Design, View -> Properties hoặc kích chuột phải chọn Properties * Bài 2: Bảng biểu - Table 1. Các khái niệm cơ bản 2. Kiểu dữ liệu 3. Các thao tác trên bảng 4. Thiết kế bảng 5. Tạo quan hệ giữa các bảng * 5. Tạo quan hệ giữa các bảng Các loại quan hệ Quan hệ ( Relationship): Khai báo mối liên hệ dữ liệu giữa các table trong cơ sở dữ liệu Các loại quan hệ Quan hệ 1-1 ( One-to-one) : dòng dữ liệu trong 2 table tương ứng với nhau. VD: Quan hệ 1-n ( One-to-many) : Một dòng dữ liệu bên table 1 tương ứng với nhiều dòng dữ liệu bên table n * 5. Tạo quan hệ giữa các bảng Các bước xây dựng quan hệ Bước1: Tool ->Relationship : Mở cửa sổ thiết lập quan hệ. Chọn các table muốn tạo lập quan hệ trong hộp thoại Show Table, nhấn nút Add để chèn các table vào cửa sổ quan hệ vừa mở * 5. Tạo quan hệ giữa các bảng Các bước xây dựng quan hệ Bước 2 Dùng thao tác kéo- thả của bảng để thiết lập mối quan hệ cho các table. Di chuột trái chọn field có quan hệ ở bảng 1 sau đó kéo thả vào field có quan hệ ở bảng nhiều * 5. Tạo quan hệ giữa các bảng Các bước xây dựng quan hệ Bước 3 Cửa sổ thiết lập quan hệ xuất hiện, để tạo mối quan hệ 1-n ta phải chọn (check) vào mục Enforce Referential Integrity (toàn vẹn tham chiếu) Thiết lập 2 tính chất kiểm tra ràng buộc quan hệ trên bảng Cascade Update Related Fields: nếu được chọn giá trị của trường liên kết bên table n sẽ tự động thay đổi tương ứng với sự thay đổi giá trị của trường liên kết bên table 1, và ngược lại Cascade Delete Related Records: nếu được chọn khi xóa một bản ghi bên table 1, tất cả những bản ghi bên table n có giá trị của trường liên kết giống với giá trị của trường liên kết bên table 1 sẽ tự động được xóa và ngược lại * 5. Tạo quan hệ giữa các bảng Các bước xây dựng quan hệ Bước 3 * 5. Tạo quan hệ giữa các bảng Các bước xây dựng quan hệ Kết quả thu được là biểu đồ biểu diễn mối quan hệ giữa các bảng: * 5. Tạo quan hệ giữa các bảng Gỡ bỏ mối liên kết giữa các bảng Trong cửa sổ Relation ships nhắp phải chuột trên đường quan hệ muốn xoá/Delete Yes: nếu chắc chắn muốn xoá No: nếu không muốn xoá * Ví dụ: Quản lý sách Sach (Masach, Tuasach, Sotrang, Sotap, Namxb, MaTL ) Mỗi sách có một mã nhận diện duy nhất (Masach), một tựa sách, có số trang, có tổng số tập sách(nếu là sách chỉ có một tập thì sotap=1) , năm xuất bản đầu tiên, và thuộc thể loại nào(MaTL) Theloai (MaTL, TenTL, Noidung) Mỗi thể loại có một mã nhận diện duy nhất (MaTL), một tên thể loại, và mô tả nội dung chính của thể loại. * Ví dụ: Quản lý sách Tacgia (MaTG, Hoten, Ngaysinh, Dthoai, Chucdanh) Mỗi tác giả có một mã nhận diện duy nhất (MaTG), một họ tên, ngày sinh , điện thoại, và chức danh Chức danh chỉ có thể là: Sinh vien, Giao vien, Nha van hoặc Noi tro * Ví dụ: Quản lý sách Sangtac(MaTG, Masach, nhieuTG, vaitro ) Mỗi tác giả có thể sáng tác nhiều đầu sách. Và một đầu sách có thể là công trình của nhiều tác giá. Nếu sách là kết quả sáng tác của nhiều tác giả, thì được ghi nhận trong nhiều tác giả (nhieuTG) là Yes, ngược lại là No. Vai trò (vaitro) ghi nhận vai trò của từng tác giả trong một sáng tác một cuốn sách. Có thể mang giá trị sau : “chủ biên”, “đồng TG”, hay “thành viên”. Nếu sách thuộc về 1 tác giả thì vai trò có trị NULL. * Hệ quản trị Cơ sở dữ liệu MS Access CÂU HỎI?