Chương 2: tạo bảng (table)

Chương 2: Bảng dữ liệ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.


1. CÁC BƯỚC THIẾT KẾ CSDL

 Bướ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.
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


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 ở đây MS Access tự động đặt tên và không có bàn tay can thiệp của người sử dụng. Ở đâ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

Đặ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

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

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

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ự “

 

Chuỗi ký tự giữa 2 dấu nháy

 

 

 

 

 

 

 

 

 

 

 

 

 

\<ký tự>

 

Ký tự nằm sau dấu \

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[black] [White] [red]

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

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.

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 .

 

)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à MemoOLE 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:

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ệ

Ngày:26/02/2020 Chia sẻ bởi:

CÓ THỂ BẠN QUAN TÂM