Bài giảng Tin học ứng dụng trong kinh doanh 2 - Chương 2: Bảng dữ liệu - Table - Lê Thị Minh Nguyện

pdf 24 trang ngocly 1050
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học ứng dụng trong kinh doanh 2 - Chương 2: Bảng dữ liệu - Table - Lê Thị Minh Nguyện", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_tin_hoc_ung_dung_trong_kinh_doanh_2_chuong_2_bang.pdf

Nội dung text: Bài giảng Tin học ứng dụng trong kinh doanh 2 - Chương 2: Bảng dữ liệu - Table - Lê Thị Minh Nguyện

  1. 8/5/2014 TIN HỌC ỨNG DỤNG TRONG KINH DOANH 2 Chương 2 BẢNG DỮ LIỆU - TABLE Giảng Viên: Lê Thị Minh Nguyện Email: nguyenltm@hotmail.com Chương 2: BẢNG DỮ LIỆU - TABLE NỘI DUNG 1 Các khái niệm 2 Kiểu dữ liệu 3 Thiết kế bảng 4 Các thuộc tính của kiểu dữ liệu 5 Thiết lập quan hệ (Relationship) 6 Các thao tác trên dữ liệu 2 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 1
  2. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 1. CÁC KHÁI NIỆM Bảng dữ liệu (Table) Bảng là đối tượng cơ bản và quan trọng nhất của CSDL trong Microsoft Access, dùng để ghi nhận và lưu trữ thông tin muốn quản lý (DL cơ sở). Tên bảng Field 3 19/08/2012 - MaMH: 701006 - Chương 2. BảngRecord dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 1. CÁC KHÁI NIỆM  Tên bảng (Table Name) . Mỗi bảng có một tên gọi. . Tên bảng thường được đặt sau khi tạo xong cấu trúc của bảng. . Có thể đổi lại tên bảng. Lưu ý: Không nên sử dụng dấu cách (Space), các ký tự đặc biệt hoặc chữ tiếng Việt có dấu trong tên bảng.  Trường (Field – cột) . Lưu trữ thông tin liên quan đến một thuộc tính của đối tượng. . Mỗi trường trong bảng là duy nhất. . Tên trường phải duy nhất (không trùng nhau) và không trùng với tên hàm, từ khóa của Access. . Mỗi trường có một tên gọi dài tối đa 64 ký tự, (Không nên dùng các ký tự !@#$%^&*()?><). . Mỗi trường có một tập hợp các thuộc tính miêu tả trường dữ liệu đó. 4 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 2
  3. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 1. CÁC KHÁI NIỆM  Bản ghi (Record) Mỗi dòng trong bảng được gọi là record dùng để lưu trữ thông tin của một đối tượng. Bản ghi trắng cuối cùng của mỗi bảng được gọi EOF (End Of File). Record 5 19/08/2012 - MaMH: 701006 - EOF Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 2. KIỂU DỮ LIỆU 2.1. Kiểu dữ liệu (Data Type) TT Kiểu dữ liệu Mô tả Độ lớn 1 Text Xâu ký tự Dài tối đa 255 ký tự 2 Memo Xâu ký tự Dài tối đa 65.535 ký tự 3 Number Số nguyên, thực Dài : 1 , 2, 4 hoặc 8 Byte 4 Date/time Ngày tháng/giờ 8 Byte 5 Currency Tiền tệ 8 Byte 6 AutoNumber Số nguyên tự động được đánh số. 4 bytes 7 Yes/No Kiểu Logic 1 byte 8 OLE Object Đối tượng Hình ảnh, âm thanh, đồ họa 9 Hyperlink Dữ liệu của field là các link Tối đa 1GB 10 Lookup Wizard Cho phép chọn giá trị từ một danh sách các giá trị của một trường ở bảng khác 11 Attachment Đính kèm dữ liệu từ chương trình khác, nhưng không thể nhập văn bản hoặc số 6 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 3
  4. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 2. KIỂU DỮ LIỆU 2.3. Các thuộc tính  Độ rộng trường (FieldSize – chiều dài trường): Với dữ liệu kiểu số và chuỗi, ta có thể quy định độ rộng vào ô Field zize. - Dữ liệu kiểu text có chiều dài tối đa là 255. nếu ta khai báo lớn hơn thì thông tin nào vượt quá chiều dài sẽ bị ngắt bớt. - Dữ liệu kiểu Number: 7 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 2. KIỂU DỮ LIỆU 2.4. Mô tả trường (Description): Phần này dùng để mô tả rõ hơn về trường 8 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 4
  5. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 2. KIỂU DỮ LIỆU 2.5. Qui định khoá chính (PrimaryKey) Một bảng dữ liệu (Table) thường phải có một trường (hay một nhóm trường) làm khoá chính. Giá trị dữ liệu của khoá chính dùng để xác định duy nhất các giá trị của các trường khác trong cùng một dòng. PK 9 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 2. KIỂU DỮ LIỆU 2.5. Qui định khoá chính (PrimaryKey) PK 10 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 5
  6. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 2. KIỂU DỮ LIỆU 2.6. Khóa ngoại (Foreign Key) Là một hay nhiều trường trong một bảng mà các trường này là khoá chính của một bảng khác, do đó dòng dữ liệu tại các cột này bắt buộc phải tồn tại trong một bảng khác. Chú ý: kiểu dữ liệu khóa ngoại phải cùng kiểu dữ liệu và cùng kích thước với khóa chính PK FK 11 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 3. THIẾT KẾ BẢNG  Tạo bảng sử dụng Design View Trong cửa sổ làm việc của Access, chọn Tab Create trên thanh Ribbon, trong nhóm lệnh Table, Click nút Table Design 12 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 6
  7. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 3. THIẾT KẾ BẢNG  Tạo bảng sử dụng Design View Màn hình Table Design View gồm 2 phần: Phần thiết kế Phần thuộc tính 13 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 3. THIẾT KẾ BẢNG  Cách tạo Khóa chính Tại cửa sổ thiết kế Table, đưa con trỏ chuột đến dòng chứa tên trường cần chọn làm khoá chính hoặc nếu kết hợp của nhiều trường thì nhấn phím Shift sau đó chọn tất cả các trường cần chọn làm khóa chính. Trên thanh công cụ Table (Table Tools) / Primary Key (hoặc Right Click, chọn Primary Key 14 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 7
  8. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 3. THIẾT KẾ BẢNG Sau khi khai báo các kiểu dữ liệu và tạo khoá xong ta Lưu (Ctrl + S ): -Bước 3: Đặt tên bảng mới rồi nhấn OK. Lưu ý: Trường hợp chưa khai báo khóa chính thì khi lưu bảng Acces sẽ nhắc nhở chỉ định khoá chính (there is no primary defined (Yes/No/Cancel)). - Chọn Yes: + Nếu trong bảng đã có 1 trường kiểu AutoNumber thì Access sẽ lấy trường đó làm khoá chính + Nếu không có trường AutoNumber thì nó sẽ tạo ra một trường có tên ID kiểu AutoNumber làm khoá chính - Chọn No thì không tạo khóa chính - Chọn Cancel thì trở lại cửa sổ thiết kế bảng 15 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 3. THIẾT KẾ BẢNG Các thông báo lỗi khi khai báo bảng : -Khi chỉ định một tên trường không hợp lệ (chẳng hạn như tên bắt đầu bằng một khoảng trắng ) thì sẽ thông báo lỗi “The field is name is invalid” hay một thông báo tương tự “A field name is missing” -Nếu trong một bảng có 2 tên trường trùng nhau thì sẽ thông báo lỗi: “You already have a field name ”. -Khi thay đổi kiểu dữ liệu hay độ rộng trường mà trường đó được để thiết lập quan hệ thì thông báo lỗi “You can’t change ta data type or field size of this field; it is part of one or more relationship”. 16 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 8
  9. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 3. THIẾT KẾ BẢNG Các bước thiết kế bảng . Bước 1: Tạo bảng . Bước 2: Thiết kế dữ liệu . Bước 3: tạo khóa chính . Bước 4: Lưu bảng 17 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU Kiểu Text Thuộc tính Ý nghĩa Thuộc tính Ý nghĩa Field Size Số ký tự tối đa cho phép nhập Tên Field khi chuyển Caption Các dạng thức của dữ liệu sang DataSheet View Format > Đổi toàn bộ sang chữ hoa Default Value Giá trị mặc định khi nhập Ký tự theo sau thành chữ hoa Lập chỉ mục và cho phép Indexed < Ký tự theo sau thành chữ thường trùng lặp hay không18 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 9
  10. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU Kiểu Number Thuộc tính Ý nghĩa Thuộc tính Ý nghĩa Quy định phạm vi chứa số Decimal Place Số lẻ cố định Tên Field khi chuyển Byte 0 -> 255 Caption sang DataSheet View Field Size Integer - 32768 -> 32767 Long Integer -2147483648-> 2147483647 Giá trị mặc định khi Default Value Single Số thực nhập Double Số thực lớn Quy định dạng hiển thị dữ liệu Validation Giới hạn giá trị nhập General Dạng tổng quát như khi Rule (RBTV cho field) Number nhập Currency Có ký hiệu tiền tệ Thông báo khi nhập Format Validation Text Fixed Có số lẻ cố định sai giới hạn (sai RBTV) Standard Dấu phân cách phần ngàn Dữ liệu có bắt buộc Required hay không Percent Tính phần trăm 19 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU Kiểu Date/Time Thuộc tính Ý nghĩa Quy định dạng hiển thị dữ liệu General Date Dạng tổng quát như khi nhập Format Long Date Monday, September 20, 2013 Medium Date 20 – September – 14 Short Date 20/03/2014 Input Mask Giống Text Caption Tên Field khi chuyển sang DataSheet View Default Value Giá trị mặc định khi nhập Validation Rule Giới hạn giá trị nhập (RBTV cho field) Validation Text Thông báo khi nhập sai giới hạn (sai RBTV) Required Dữ liệu có bắt buộc hay không Indexes Lập chỉ mục cho phép trùng lắp dữ liệu không 20 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 10
  11. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU Kiểu Yes/No Thuộc tính Ý nghĩa Quy định dạng hiển thị dữ liệu Yes / No Yes hoặc No (0 hoặc -1) Format True/ False True hoặc False (0 hoặc -1) On /Off On hoặc Off (0 hoặc -1) Caption Tên Field khi chuyển sang DataSheet View Default Value Giá trị mặc định khi nhập Validation Rule Giới hạn giá trị nhập (RBTV cho field) Validation Text Thông báo khi nhập sai giới hạn (sai RBTV) Required Dữ liệu có bắt buộc hay không Indexes Lập chỉ mục cho phép trùng lắp dữ liệu không 21 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU  Thuộc tính Input Mask (mặt nạ nhập liệu) . Công dụng • Tạo khuôn dạng nhập liệu cho dễ nhìn. Vd: dấu ngăn cách phần nguyên và thập phân, dấu gạch ngang để phân cách các cụm ký tự của tài khoản • Kiểm tra tính hợp lệ của ký tự gõ vào. (Vd nếu qui định là chữ số thì Access sẽ không nhận các ký tự không phải là chữ số) • Tự động biến đổi các ký tự được nhập (Vd từ chữ thường sang chữ hoa) • Che giấu thông tin đưa vào (Vd khi ta dùng Password) 22 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 11
  12. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU Ví dụ: 23 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU  Caption: Nếu không chỉ định thành phần này thì nó sẽ dùng FieldName làm tiêu đề của trường. Caption chỉ có nghĩa làm tiêu đề (cho dễ đọc) chứ không có tác dụng để truy xuất dữ liệu  Default Value ( qui định giá trị ngầm định): giá trị mặc định ban đầu của cột khi thêm một dòng dữ liệu mới. Ví dụ: Điểm: 0. Default Value: 0 Ngày hiện tại: Default Value: Date() Đơn vị tính thường và mét. Default Value: “mét” 24 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 12
  13. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU  Validation Rule: Quy tắc kiểm tra dữ liệu hợp lệ khi nhập dữ liệu vào bảng. Trong biểu thức này ta có thể chỉ định: - Phép toán so sánh: >, >=, - Phép toán luận lý: AND, OR, NOT - Phép toán so sánh chuỗi: Like Ví dụ: Đơn vị tính chỉ lấy: mét, kg. Validation Rule: “mét”,”kg” - Điểm: từ 0 đến 10 . Validation: >=0 and =0 and <=10 mà ta nhập nhầm là 11 thì Access sẽ xuất sẽ thông báo lỗi thì chúng ta sửa lại thông báo lỗi cho người dùng hiểu. Validation Rule: “Điểm chỉ được từ 0 đến 10” 25 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU  Required: Yes/No yêu cầu bắt buộc nhập liệu hay để trống. Nếu ta muốn 1 trường luôn phải có dữ liệu, chẳng hạn như HoTen thì qui định Required là Yes. Khi đó nếu ta lưu mẫu tin hay nhảy qua mẩu tin khác mà trường này chưa có dữ liệu thì sẽ thông báo: “Field .can’t contain a Null value”  Allow Zero length: Yes/No cho phép chuỗi rỗng hay không. 26 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 13
  14. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU  Index (qui định chỉ mục): Thông thường ta muốn sắp xếp dữ liệu theo một trường nào đó để tăng tốc độ tìm kiếm. Chỉ định tính chất indexed là: • Yes (Duplicates): Qui định chỉ mục cho phép trùng nhau. • Yes (NoDuplicate):Qui định chỉ mục không được phép trùng nhau • No: Không chỉ định chỉ mục • PrimayKey (khoá chính) là một dạng chỉ mục đặc biệt, nó không cho phép hai mẩu tin trùng nhau trong khoá chính cho nên Index của nó là: Yes (Noduplicates). • Tuy nhiên có những trường không phải là khoá chính nhưng khi ta đặt index nó là Yes (Noduplicates) thì dữ liệu trong trường này cũng không được phép trùng nhau 27 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU  Thiết lập thuộc tính Lookup . Lookup Wizard: Trong cột Data Type, xác định kiểu cho Field trước rồi chọn mục Lookup Wizard và thực hiện các bước theo hướng dẫn. 28 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 14
  15. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU  Thiết lập thuộc tính Lookup . Tự thiết kế Lookup: Trong cửa sổ thiết kế Bảng, đứng tại tên Field (đã khai báo Field Type) cần tạo Lookup. Chọn phiếu Lookup trên phần Properties. 29 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU  Thiết lập thuộc tính Lookup Mục Giá trị Ý nghĩa Display Control Combo Box, List Box, Dạnh hiển thị là Combo Box, List Box, Text Box hay Check Box hay Text Box Check Box. Chọn Combo Box Row Source Type Table/Query hay Value List Nguồn cung cấp dữ liệu cho Lookup Table/Query: nguồn là Bảng hay Query Value List: nguồn là trị quy định trực tiếp. Row Source SELECT hay (danh mục Nguồn dữ liệu (Lệnh SQL hay tên Bảng/Query) hoặc quy định) trị nhập trực tiếp Nếu là trị nhập trực tiếp thì nhập trị theo từng dòng và cánh nhau bởi dấu chấm phẩy Bound Column Một số nguyên dương Chỉ cột của danh sách ràng buộc với Field Column Count Một số nguyên dương Số cột hiển thị của Combo Box hay List Box Column heads Yes/No Có Tiêu đề cột hay không Column Widths n1; n2 Độ rộng của các cột (nếu 0: không hiển thị cột) phân cách bởi dấu chấm phẩy. List Row Một số dương Số dòng của danh sách List Width Một số dương Chiều rộng danh sách (tính chung các cột) Limit to List Yes/No Cho phép (Yes)/ không cho phép (No) nhập vào Field của Bảng một trị ngoài danh sách của Lookup. 30 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 15
  16. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU Ví dụ 1: Cách làm để chọn trường DonViTinh là: “cái”, “ chiếc”, “cuốn”, “thùng” Chọn kiểu dữ liệu (Data Type) là: Text và trong phần thuộc tính Lookup chọn: 31 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU Ví dụ 2: Trong bảng KHOA và SINHVIEN trong bảng SINHVIEN sẽ có cột MaKhoa mà bắt buộc dữ liệu chỉ tồn tại trong bảng KHOA. Trong phần thuộc tính Lookup chọn: 32 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 16
  17. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 4. CÁC THUỘC TÍNH CỦA KIỂU DỮ LIỆU  Qui định tính chất của bảng dữ liệu: - Ngoài việc qui định tính chất cho từng trường, ta có thể qui định thêm tính chất cho toàn bảng dữ liệu. Trường hợp phổ biến là kiểm tra dữ liệu trên 2 hay nhiều trường. Chẳng hạn như: NamCongTac >= NamSinh + 18 NgayTra >= NgayMuon View/properties (hay chọn Properties trên thanh công cụ hay trên menu tắt) rồi chỉ định biểu thức kiểm tra vào mục Validation Rule và chuỗi thông báo vào mục Validdation Text 33 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 5. THIẾT LẬP QUAN HỆ 5.1. Tại sao phải thiết lập mối quan hệ giữa các bảng Sau khi thiết kế các bảng, chúng ta chỉ mới có cấu trúc các bảng chứ chưa có thông tin quan hệ giữa các bảng với nhau. Do đó việc thiết lập mối quan hệ giữa các bảng giúp cho Access quản lý dữ liệu được hợp lý hơn. ví dụ: Có hai bảng KHOA và SINHVIEN thì ta nhận thấy rằng giữa hai bảng này có tồn tại một mối quan hệ “một Khoa có nhiều Sinh viên”. Do đó để hợp lý khi nhập thông tin của một sinh viên mới thì bắt buộc sinh viên đó phải học trong các khoa hiện đang có. 34 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 17
  18. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 5. THIẾT LẬP QUAN HỆ 5.2. Các loại quan hệ giữa hai bảng trong Access.  Một - một (One To One): mô tả mối quan hệ một - một giữa hai bảng với nhau Ví dụ: chúng ta có hai bảng GIAOVIEN và LOP mối quan hệ giữa hai bảng này là một lớp học chỉ có một giáo viên chủ nhiệm trong một năm học và một giáo viên chỉ chủ nhiệm một lớp học trong một năm  Một – nhiều (One To Many): mô tả mối quan hệ một - nhiều của hai bảng với nhau (hay còn gọi là nhiều – một) Ví dụ: Có hai bảng KHOA va SINHVIEN mối quan hệ giữa hai bảng này là “trong một khoa có nhiều sinh viên đang theo học” hoặc “ có nhiều sinh viên học trong cùng một khoa” Khoa 1 n SinhVien 35 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 5. THIẾT LẬP QUAN HỆ  Ngoài ra còn tồn tại mối quan hệ nhiều - nhiều (Many To Many): Tuy nhiên khi triển khai vào cơ sở dữ liệu quan hệ thì phải tách ra thành hai mối quan hệ một – nhiều Ví dụ: chúng ta có bảng SINHVIEN và MONHOC mối quan hệ giữa hai bảng này là “một Sinh viên được thi nhiều môn” và “ và một môn học có nhiều sinh viên đăng ký thi”. Khi đó chúng ta phải tạo thêm bảng KETQUA để có thể tạo ra mối quan hệ nhiều – nhiều. n 1 SinhVien 1 KetQua n MonHoc 36 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 18
  19. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 5. THIẾT LẬP QUAN HỆ 5.3. Các bước thiết lập mối quan hệ  Bước 1 : Tại cửa sổ làm việc của Access, chọn Tab Database Tools trên thanh Ribbon, Click nút Relationships. 37 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 5. THIẾT LẬP QUAN HỆ  Bước 2: Đưa các bảng (Tables) tham gia thiết lập quan hệ thông qua hộp thoại Show Tables. 38 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 19
  20. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 5. THIẾT LẬP QUAN HỆ  Bước 3: Dùng chuột kéo (Drag) trường cần liên kết của bảng này thả (Drop) lên trường cần liên kết đến của bảng kia. Khi đó hộp thoại Edit Relationships xuất hiện: 39 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 5. THIẾT LẬP QUAN HỆ . Enforce Referential Integrity: đồng ý thiết lập các thuộc tính đảm bảo toàn vẹn dữ liệu. . Cascade Update Related Fields: đảm bảo toàn vẹn dữ liệu khi cập nhật dữ liệu giữa 2 bảng liên quan. . Cascade Delete Ralated Fields: đảm bảo toàn vẹn dữ liệu khi xóa dữ liệu giữa 2 bảng liên quan. . Relationship Type: cho biết kiểu quan hệ giữa 2 bảng đang thiết lập. One – To – One Kiểu 1-1 One – To – Many Kiểu 1-n Indeterminate Không xác định. 40 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 20
  21. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 5. THIẾT LẬP QUAN HỆ  Bước 4: check vào hộp Enforce Referential Intergity Lưu ý: - Luôn luôn đánh dấu thuộc tính thứ nhất - Không nên đánh dấu vào thuộc tính thứ 3 vì nguy hiểm cho dữ liệu  Bước 5: lần lượt cho các quan hệ còn lại và lưu mô hình lại 41 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 5. THIẾT LẬP QUAN HỆ  Xóa quan hệ ( Delete Relationship) Muốn xóa quan hệ giữa 2 bảng, ta Click phải mối quan hệ muốn xóa, chọn Delete, hoặc chọn mối quan hệ và nhấn phím Delete. 42 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 21
  22. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 6.CÁC THAO TÁC TRÊN DỮ LIỆU 5.1. Nhập liệu - Từ cửa sổ database chọn bảng cần nhập liệu - Bước 1: Chọn bảng rồi chọn Open hay double click vào bảng đã chọn. Ví dụ chọn bảng MONHOC - Bước 2: lần lượt nhập thông tin của các môn học vào bảng 43 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 6.CÁC THAO TÁC TRÊN DỮ LIỆU Lưu ý: Khi ta đã tạo quan hệ xong thì việc nhập liệu phải theo trình tự như sau: 1. Bảng chỉ có đầu quan hệ là một: DM_Khoa, DM_MonHoc. 2. Bảng có quan hệ đầu một, nhiều : SINHVIEN. 3. Bảng chỉ có đầu quan hệ nhiều: KETQUA. Dòng mới Nhập từ trái sang phải 44 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 22
  23. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE 6.CÁC THAO TÁC TRÊN DỮ LIỆU Các thông báo lỗi khi nhập liệu: - Khi không nhập liệu cho trường chỉ mục hay khoá chính mà chuyển sang mẩu tin khác thì sẽ báo lỗi “ Index or Primary Key can’t contain a Null value”. -Khi nhập một giá trị không phù hợp cho một trường (ví dụ 50000 cho trường khai báo kiểu byte hay Integer) hay nhập một chữ cái vào trường number thì sẽ báo lỗi “The value you entered isn’t valid for this field”. -Độ rộng nhỏ hơn dữ liệu ví dụ kiểu text khai báo fieldsize: 5 mà ta nhập đến 6 ký tự thì sẽ báo lỗi “the filed too small to accept the amount of data you attemped to add. Try inserting or passing less data”. -Khi ta nhập một trường không đúng với InputMask qui định thì sẽ báo lỗi “the value you entered isn’t appropriate for the input mask specified for this field”. 45 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table Chương 2: BẢNG DỮ LIỆU - TABLE 6.CÁC THAO TÁC TRÊN DỮ LIỆU - Khi ta thay đổi dữ liệu trên một bảng có quan hệ với bảng khác mà vi phạm tính toàn vẹn dữ liệu thì sẽ thông báo lỗi “you can’t add or change a record because a related record is required in table ” - Khi trùng nhau trên trường index, khoá chính. Thì sẽ báo lỗi “the changes you requested to the table were not successful because they would create duplicate value in the index, primarykey or relationship ” 46 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table 23
  24. 8/5/2014 Chương 2: BẢNG DỮ LIỆU - TABLE Quy trình xây dựng cơ sở dữ liệu Bước 1: Lần lượt xây dựng cấu trúc từng bảng dữ liệu trong cơ sở dữ liệu. Bước 3: Thiết lập các thuộc tính đảm bảo toàn vẹn dữ liệu cần thiết cho các quan hệ tại cửa sổ Relationships. Bước 4: Thực hiện nhập dữ liệu cho các bảng Chú ý : Bảng có quan hệ 1 phải được nhập dữ liệu trước bảng có quan hệ nhiều. 47 19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table TRƯỜNG ĐẠI HỌC TÔN ĐỨC THẮNG KHOA QUẢN TRỊ KINH DOANH 24