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

8/5/2014

Chương 2: BẢNG DỮ LIỆU - TABLE

1. CÁC KHÁI NIỆM

Tên bảng

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ở).

Field

3

Record

19/08/2012 - MaMH: 701006 - Chương 2. Bảng 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

8/5/2014

Chương 2: BẢNG DỮ LIỆU - TABLE

1. CÁC KHÁI NIỆM

Bản ghi trắng cuối cùng của mỗi bảng được

 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. gọi EOF (End Of File).

Record

5

EOF

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.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

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

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

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

FK

PK

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

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/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.

+ Nếu trong bảng đã có 1 trường kiểu AutoNumber thì

+ Nếu không có trường AutoNumber thì nó sẽ tạo ra một

15

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: Access sẽ lấy trường đó làm khoá chính 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 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

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 Caption Tên Field khi chuyển sang DataSheet View Các dạng thức của dữ liệu Format > Đổi toàn bộ sang chữ hoa Default Value Giá trị mặc định khi nhập < Đổi toàn bộ sang chữ thường Validation Rule Giới hạn giá trị nhập (RBTV cho field) Quy định mặt nạ nhập dữ liệu 0 Bắt buộc nhập số từ 0 – 9 Validation Text Thông báo khi nhập sai giới hạn (sai RBTV) 9 Nhập số hoặc ký tự trắng L Bắt buộc nhập chữ cái Required Dữ liệu có bắt buộc hay không ? Có thể nhập các chữ cái Input Mask A Bắt buộc nhập số và chữ cái Alow Zero Length Cho phép nhập chuỗi rỗng hay không & Bắt buộc nhập ký tự bất kỳ > Ký tự theo sau thành chữ hoa Indexed Lập chỉ mục và cho phép trùng lặp hay không < Ký tự theo sau thành chữ thường

18

19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table

9

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

Byte 0 -> 255 Caption Tên Field khi chuyển sang DataSheet View Integer - 32768 -> 32767 Field Size Long Integer -2147483648-> 2147483647 Default Value Giá trị mặc định khi nhập Single Số thực Double Số thực lớn Quy định dạng hiển thị dữ liệu

Validation Rule Giới hạn giá trị nhập (RBTV cho field) General Number Dạng tổng quát như khi nhập Currency Có ký hiệu tiền tệ Format Validation Text Thông báo khi nhập sai giới hạn (sai RBTV) Fixed Có số lẻ cố định Standard Dấu phân cách phần ngàn Required Dữ liệu có bắt buộc 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

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

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

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 <=10

 Validation Text: Thông báo khi nhập liệu sai điều kiện ở

Validation Rule Ví dụ: gán điểm trong Validation Rule là >=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

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

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ị

Display Control Combo Box, List Box, Check Box hay Text Box

Ý nghĩa Dạnh hiển thị là Combo Box, List Box, Text Box hay Check Box. Chọn Combo Box

Row Source Type Table/Query hay Value List Nguồn cung cấp dữ liệu cho Lookup

Row Source SELECT… hay (danh mục quy định)

Bound Column Một số nguyên dương Table/Query: nguồn là Bảng hay Query Value List: nguồn là trị quy định trực tiếp. Nguồn dữ liệu (Lệnh SQL hay tên Bảng/Query) hoặc 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 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 Có Tiêu đề cột hay không Column heads Yes/No 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. Số dòng của danh sách Chiều rộng danh sách (tính chung các cột) List Row List Width Một số dương Một số dương 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

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

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

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

SinhVien

n

1

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

1

SinhVien

KetQua n

MonHoc

36

19/08/2012 - MaMH: 701006 - Chương 2. Bảng dữ liệu – Table

18

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

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

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

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

43

- Bước 2: lần lượt nhập thông tin của các môn học vào bảng 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

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

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