Chương 2: Table và Relationship

- Bảng là cấu trúc cơ bản nhất của CSDL quan hệ. Mỗi bảng trong một CSDL phải chứa những thông tin thích hợp cho một đối tượng. Ví dụ: một trường học tiêu biểu gồm có các học sinh, giáo viên và các lớp. Một ứng dụng CSDL về trường học phải có một bảng chứa thông tin về học sinh, một bảng về giáo viên và một bảng về lớp. - Mỗi dòng trong bảng (hay còn gọi là bản ghi- record) tượng trưng cho đối tượng được lưu trữ trong bảng. Ví dụ mỗi dòng trong bảng HOCSINH biểu thị cho một học sinh. - Mỗi cột trong bảng (hay còn gọi là trường-field) chứa một mục dữ liệu cần quản lí về đối tượng. Ví dụ mỗi học sinh có các mục dữ liệu càn lưu trữ là: Số báo danh, Họ tên,

pdf36 trang | Chia sẻ: lylyngoc | Lượt xem: 1665 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Chương 2: Table và Relationship, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 2: TABLE VÀ RELATIONSHIP I. Một số thuật ngữ 1. Bảng (Table): - Bảng là cấu trúc cơ bản nhất của CSDL quan hệ. Mỗi bảng trong một CSDL phải chứa những thông tin thích hợp cho một đối tượng. Ví dụ: một trường học tiêu biểu gồm có các học sinh, giáo viên và các lớp. Một ứng dụng CSDL về trường học phải có một bảng chứa thông tin về học sinh, một bảng về giáo viên và một bảng về lớp. - Mỗi dòng trong bảng (hay còn gọi là bản ghi- record) tượng trưng cho đối tượng được lưu trữ trong bảng. Ví dụ mỗi dòng trong bảng HOCSINH biểu thị cho một học sinh. - Mỗi cột trong bảng (hay còn gọi là trường-field) chứa một mục dữ liệu cần quản lí về đối tượng. Ví dụ mỗi học sinh có các mục dữ liệu càn lưu trữ là: Số báo danh, Họ tên,… Một số thuật ngữ (tiếp) 2. Tên trường (Field name): được dùng để mô tả mục dữ liệu cần lưu trữ. Mỗi bảng không thể có hai tên cột trùng nhau 3. Kiểu dữ liệu (Data type): kiểu được dùng để gán cho dữ liệu chứa trong cột 4. Thuộc tính trường (Field Property): là tập hợp các đặc điểm được kết hợp vào mỗi trường. Ví dụ: SBD là xâu 3 kí tự, hocbong co giá trị > 200.000,… 5. Thuộc tính bảng (Table Property): là tập hợp các đặc điểm liên quan đến nhiều trường được kết hợp vào bảng. Ví dụ: NGAYSINH+14<=NGAYVD Một số thuật ngữ (tiếp) 6. Khoá chính (Primary key): Một hay nhiều trường dùng để nhận dạng duy nhất từng dòng trong bảng dữ liệu gọi là khoá chính. Mỗi bảng có một khoá chính. Dữ liệu trong khoá chính phải là duy nhất cho mỗi bản ghi. Khoá chính còn được dùng để tạo các liên kết giữa các bảng trong một CSDL. 7. Khóa kết nối: Trong 1 CSDL thường có nhiều bảng, các bảng này có mối liên kết với nhau. Để xác định mối liên kết này, ta dùng khóa kết nối. Thông thường khóa kết nối của 2 bảng là cột có cùng tên nằm ở 2 bảng đó. II. Qui ước tên trường  Tên trường dùng để mô tả dữ liệu chứa trong trường, tên trường dài tối đa 64 ký tự và có thể chứa các kí tự chữ cái, chữ số, khoảng trắng và các kí tự đặc biệt khác.  Tên trường không được phép chứa dấu chấm (.), chấm than (!), dấu huyền (`), dấu móc vuông ([])  Tên trường không được bắt đầu bằng khoảng trắng  Tên trường không phân biệt chữ hoa, chữ thường. Ví dụ: Số báo danh, Họ tên, Toan, Ly,… III. Các loại dữ liệu 1). Text: các từ hoặc số không được sử dụng trong các phép tính. Chiều dài tối đa cho kiểu text là 255 kí tự 2). Memo: một trường mở sử dụng cho các lời ghi chú 3). Number: Các số âm hoặc dương 4). Date/Time: Ngày tháng, thời gian 5). Currency: tiền tệ 6). AutoNumber: một trường số được tự động nhập vào 7). Yes/No: logic 8). OLE Object: một đối tượng như ảnh,... 9). Hyperlink: các địa chỉ Web IV. Tạo bảng 1. Bước 1: Mở cửa sổ thiết kế bảng (Table Design)  Cách 1: Từ cửa sổ Database, trong mục Object chọn Tables/ Create table in Design view/Design Tạo bảng (tiếp) Cách 2: Từ cửa sổ Database, trong mục Object, chọn Tables/ kích biểu tượng New, cửa sổ New Table xuất hiện Tạo bảng (tiếp)  Chọn Design view/OK  Kết thúc bước 1, ta có cửa số thiết kế bảng(Table Design) Tạo bảng (tiếp) 2. Bước 2: Thiết kế các trường (cột ) của bảng Trong cửa sổ như trong hình trên, chúng ta lần lượt thực hiện các công việc sau:  Nhập tên trường trong mục Field name:  Đặt trỏ chuột vào dòng bất kì của cột Field name  Gõ tên trường  Chọn kiểu dữ liệu của trường trong mục Data Type  Kích vào dấu mũi tên xuống, xuất hiện danh sách kiểu dữ liệu  Kích chọn kiểu cần dùng  Ghi mô tả của trường trong mục Description (không bắt buộc) Tạo bảng (tiếp)  Nhập các thuộc tính của trường trong phần General và phần Lookup (trình bày ở phần sau)  Nhập thuộc tính của bảng trong phần Table Properties (trình bày trong phần sau)  Xác định khoá chính:  Đánh dấu các trường trong khoá chính  Kích hoạt biểu tượng chìa khóa hoặc chọn menu Edit/Primary key, khi đó xuất hiện biểu tượng chìa khoá ở phía trước của trường được chọn làm khoá chính. Tạo bảng (tiếp) 3. Bước 3: Ghi lại cấu trúc bảng vừa tạo  Chọn biểu tượng đĩa mềm trên thanh công cụ. Hộp thoại Save As xuất hiện  Nhập tên bảng trong phần Table Name/OK V. Thuộc tính trường (Field Properties) 1. Field size: số kí tự tối đa để lưu trữ dữ liệu trong trường. 2. Format: khuôn dạng của dữ liệu khi hiển thị 3. Decimal Places: dùng cho các trường Number và Currency để xác định số chữ số được hiển thị và số chữ số sau dấu thập phân 4. Input mask: Khuôn dạng của dữ liệu nhập. Đó là xâu kí tự chứa những kí tự sau:  0: Các chữ số. Bắt buộc nhập  9: các chữ số hoặc dấu cách. Không bắt buộc nhập  #: các chữ số, dấu +, - hoặc dấu cách. Không bắt buộc nhập  L: Chữ cái. Bắt buộc nhập Thuộc tính trường (tiếp)  ?: chữ cái. Không bắt buộc nhập  A: Chữ cái hoặc chữ số. Bắt buộc nhập  a: chữ cái hoặc chữ số. Không bắt buộc nhập  &: Ký tự bất kì hoặc khoảng trống. Bắt buộc nhập  .,:-/: các dấu phân cách dùng cho kiểu số và ngày giờ.  Nếu có kí tự chữ cái cố định thì chữ cái đó được đặt trong cặp dấu “” 5. Caption:Chú thích 6. Default Value: xác định 1 giá trị cho các mục nhập mới. Ta sẽ nhập giá trị thường được nhập nhất cho các trường Thuộc tính trường (tiếp) 7. Validation Rule : qui định ràng buộc về dữ liệu nhập vào. Điều kiện ràng buộc có thể dùng:  Các hằng: phải dùng các dấu phân cách: cặp”” cho kiểu xâu, cặp # # cho ngày giờ  Các phép so sánh: =,>,=,  Các phép toán logic: NOT, AND, OR,...  Các toán tử đặc biệt: Between, In, Like,... 8. Validation Text: Thông báo khi dữ liệu nhập vào không thỏa mãn ràng buộc Thuộc tính trường (tiếp) 9. Lookup- tham chiếu: Khi muốn ràng buộc để dữ liệu của trường này chỉ nhận các giá trị của một trường nào đó trong 1 bảng khác, ta khai báo trong Lookup. Trong trang Lookup cần khai báo các thông số sau:  Display Control: Chọn Listbox hoặc Combobox  Row Source Type: Kiểu nguồn dữ liệu, dạng bảng hoặc danh sách giá trị  Row Source: Nguồn dữ liệu, tên bảng truy vấn hay danh sách giá trị  Bound Column: Số thứ tự của cột được tham chiếu đến(cột cho giá trị trong bảng gốc)  Column Count: Tổng số cột hiển thị trong hộp  Column width: Độ rộng cột VI. Thuộc tính bảng (Table Properties)  Khi các ràng buộc dữ liệu liên quan đến nhiều trường trong bảng, ta phải xác định tại Table Properties.  Từ cửa sổ Table Design, kích phải chuột, chọn Properties  Xuất hiện cửa sổ Table Properties cho phép đặt ràng buộc (tương tự như Fields Properties)  Tại Validation Rule, ta xây dựng biểu thức thể hiện ràng buộc của các trường trong bảng. VII. Các thao tác trên bảng  Chỉnh sửa bảng:  Mở bảng cần chỉnh sửa trong Design View  Chọn bảng và kích nút Design  Chèn trường:  Chọn hàng bên dưới vị trí ta muốn chèn  Kích Insert Rows  Xóa trường  Chọn trường cần xóa  Kích Delete Rows (không xóa trường khóa) Các thao tác trên bảng(tiếp)  Đổi tên trường:  Chọn tên trường cần đổi  Nhập tên mới cho trường  Thay đổi kiểu dữ liệu:  Kích vào cột DataType của trường cần đổi  Kích mũi tên xổ xuống  Chọn kiểu  Lưu bảng Các thao tác trên bảng(tiếp)  Di chuyển trường:  Kích chọn trường cần di chuyển  Rê kéo đến vị trí mới rồi nhả chuột  Chỉnh kích cỡ hàng  Vào menu Format/Row Height, xuất hiện hộp thoại Row Height  Nhập độ cao mới cho hàng vào hộp Row height  Các hàng đồng loạt được thay đổi độ cao Các thao tác trên bảng (tiếp)  Dấu cột:  Ta có thể tạm dấu những cột không muốn xem bằng cách  Kích chọn cột muốn dấu  Vào menu Format/Hide Columns  Hiện cột:  Vào menu Format/Unhide Columns  Kích bỏ chọn vào những trường không muốn ẩn  Close Các thao tác trên bảng(tiếp)  Xóa bản ghi:  Kích chọn bản ghi cần xóa  Kích nút Delete Record hoặc nhấn phím Delete  Kích chọn Yes  Thay đổi độ rộng cột  Kích chọn cột cần thay đổi  Vào menu Format/Column Width, xuất hiện hộp thoại Column Width  Nhập độ rộng mới cho cột VIII. Nhập, sửa dữ liệu  Nhập dữ liệu sử dụng Edit Mode:  Mở bảng trong Datasheet View  Nhập dữ liệu  Sửa đổi dữ liệu:  Mở bảng trong Datasheet View  Làm các thao tác sửa đổi Nhập, sửa dữ liệu (tiếp)  Chỉnh sửa toàn bộ nội dung của một trường:  Đặt trỏ chuột tại cạnh trái trường, con trỏ biến thành dấu cộng  Kích lên trường, toàn bộ trường được chọn  Nhập thông tin mới  Chỉnh sửa một phần nội dung trường:  Kích trên trường ta muốn chỉnh sửa, dấu nhắc sẽ xuất hiện trong trường  Thay thế phần dữ liệu cần sửa bằng thông tin mới IX. Tìm kiếm và thay thế  Tìm kiếm  Kích trên trường cần tìm kiếm  Kích nút Edit/ Find. hộp thoại Find and Replace xuất hiện  Nhập dữ liệu cần tìm vào ô Find What  Kích nút Find next để tìm tiếp. Nếu không còn bản ghi nào thỏa mãn nữa thì Access sẽ Đưa ra thông báo Tìm kiếm và thay thế (tiếp)  Thay thế dữ liệu:  Kích vào trường ta muốn thay thế dữ liệu  Kích menu Edit/Replace, hộp thoại Find and Replace xuất hiện  Nhập dữ liệu sẽ được thay thế trong hộp Find What  Nhập dữ liệu thay thế trong hộp Replace with  Chọn kiểu duyệt trên toàn bảng hay chỉ trong cột ban đầu trong hộp Look in  Chọn kiểu duyệt lên xuống hoặc toàn bộ trong khung Search  Kích vào hộp Match Case để chỉ định chỉ những dữ liệu nào chính xác với điều kiện duyệt  Kích vào Search Fields As Formatted để chỉ định chỉ những phần nào chính xác với kiểu định dạng của điều kiện duyệt  Kích nút Replace All để thay thế tất cả các dữ liệu tìm được X. Sắp xếp dữ liệu  Sắp xếp dữ liệu Một cách mặc định, các bản ghi được sắp xếp theo thứ tự khi nhập vào. ta có thể sắp xếp lại :  Kích chọn trường cần sắp xếp  Kích nút Record/ Sort Ascending để sắp tăng dần hoặc Sort Descending để sắp xếp giàm dần  Hủy bỏ việc sắp xếp:  Vào menu Record/Remove Filter/Sort. Thứ tự sắp xếp mặc định cũ sẽ được lưu lại XI. Lọc dữ liệu  Lọc bằng sự lựa chọn-Filter by Selection:  Kích lên ô có giá trị trường bằng giá trị cần lọc  Kích lên nút Record/Filter by Selection. Sau khi lọc, chỉ những bản ghi có giá trị của trường đã chọn bằng giá trị lọc mới được hiển thị.  Để xóa lọc, kích nút Record/Remove Filter. Nút này sẽ trở thành Apply Filter  Ví dụ: để đưa ra những chuyến hàng có số lượng=10 thì trong vào bảng CHUYENHANG, kích chọn ô thuộc trường SOLUONG có giá trị 10. Sau đó kích Record/Filter by Selection. Lọc dữ liệu(tiếp)  Lọc bằng Form-Filter by Form: Lọc dữ liệu bằng Form cho phép lọc dựa trên nhiều hơn 1 điều kiện:  Kích nút Record/Filter by Form.  Kích lên trường ta muốn lọc  Chọn điều kiện lọc  Kích chọn AND hoặc OR nếu cần sử dụng  Kích nút Record/Apply Filter. Kết quả lọc sẽ xuất hiện trong bảng  Đóng và lưu bảng XII. Tạo quan hệ giữa các bảng  Đưa bảng vào cửa sổ Relationship:  Trên thanh công cụ của cửa sổ Access, kích Tools/Relationship, xuất hiện hộp thoại Show Table  Kích chọn tên các bảng cần thiết lập quan hệ, kích Add  Kích Close để đóng hộp thoại  Tạo quan hệ:  Kích chọn trường muốn tạo kết nối trong bảng 1(Bảng ở đầu 1) rồi rê thả sang trường tương ứng trong bảng 2 (bảng ở đầu nhiều). Hộp thoại Edit Relationship xuất hiện  Kích Creat  Xuất hiện đường liên kết nối 2 bảng Tạo quan hệ giữa các bảng(tiếp)  Loại bỏ quan hệ:  Kích chọn đường liên kết  Nhấn phím Delete, xuất hiện hộp thoại Delete  Kích chọn Yes Bài tập Bảng PHONG - phòng ban trong cơ quan STT Tên trường Kiểu Độ rộng Ý nghĩa Kiểm soát 1 MAPHONG text 3 Mã phòng ban 3 chữ cái 2 TENPHONG text 40 tên phòng ban 3 DIACHI text 50 dịa chỉ phòng ban Bảng DMNN-danh mục ngoại ngữ STT Tên trường Kiểu Độ rộng Ý nghĩa Kiểm soát 1 MANN text 2 Mã ngoại ngữ 2 chữ số 2 TênNN text 20 Tên ngoại ngữ Bảng NHANVIEN-Nhân viên 1 MANV text 5 2 kí tự đầu là chữ, 3 kí tự sau là số 2 HOTEN text 40 3 NAM Yes/No Nam: True, Nữ:False 4 NGAYSINH Date/Time Từ 18 đến 60 tuổi 5 LUONG Number Long Integer từ 200.000 đến 3.000.000 6 MAPHONG text 3 Phải tồn tại trong bảng PHONG 7 NGAYBC Date/Time > ngày sinh 18 năm trở lên Bảng TDNN-trình độ ngoại ngữ 1 MANV text 5 mã nhân viên Phải tồn tại trong bảng NHANVIEN 2 MANN text 2 Mã ngoại ngữ Phải tồn tại trong bảng DMNN 3 TDO text 1 Trình độ ngoại ngữ A,B,C,D,E,F