Hệ QTCSDL (Database Management System) xuất
hiện vào đầu những năm 1960, là hình thức phát
triển từ hệ quản lý tập tin (FMS), với mục đích phát
triển một cách lâu dài và ổn định các hệ thống
thông tin xí nghiệp.
• Hệ QTCSDL được xây dựng với các chức năng :
Mô tả và quản lý tập hợp các thông tin theo quy
ước của một mô hình dữ liệu, qua đó cho phép
làm chủ việc phân chia thông tin trong một môi
trường nhiều người sử dụng.
48 trang |
Chia sẻ: Mr Hưng | Lượt xem: 968 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Cơ sở dữ liệu quan hệ và thiết kế bảng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Chương II :
GV : Ths.Lê Đình Ngân
dinhngan@saigonnet.vn
TRƯỜNG ĐẠI HỌC TÀI CHÍNH - MARKETING
KHOA CÔNG NGHỆ THÔNG TIN
Website: www.ufm.edu.vn/khoacntt
2I/ KHÁI QUÁT VỀ HỆ QUẢN TRỊ CSDL.
• Hệ QTCSDL (Database Management System) xuất
hiện vào đầu những năm 1960, là hình thức phát
triển từ hệ quản lý tập tin (FMS), với mục đích phát
triển một cách lâu dài và ổn định các hệ thống
thông tin xí nghiệp.
• Hệ QTCSDL được xây dựng với các chức năng :
Mô tả và quản lý tập hợp các thông tin theo quy
ước của một mô hình dữ liệu, qua đó cho phép
làm chủ việc phân chia thông tin trong một môi
trường nhiều người sử dụng.
Đảm bảo đơn giản hoá việc truy xuất và xử lý
dữ liệu cho các đối tượng sử dụng CSDL như:
thảo chương viên, người quản trị CSDL và
người sử dụng.
3Khi tổ chức CSDL ,không cho phép mô tả một
cách dư thừa. Mặt khác, thông qua tập hợp các
thông tin cần thiết, phải biết tổ chức hợp lý và
hiệu quả trong việc sử dụng.
Bảo đảm việc trao đổi thông tin với các hệ thống
khác như: hệ quản lý tập tin, bảng tính điện tử,
Foxpro, SQLServer,
• MS.Access là một hệ QTCSDL dựa trên mô
hình quan hệ. Access có thể chứa 7 loại đối
tượng: Tables, Queries, Forms, Reports,
Macros, Modules và Pages.
4II/ SƠ LƯỢC VỀ CÁC MÔ HÌNH DỮ LIỆU .
“Một mô hình dữ liệu là một tập hợp các ý niệm, một
quy ước về sự biểu diễn, cho phép mô tả dữ liệu
muốn quản lý.”
Có 4 mô hình đặc trưng và thường gặp :
Mô hình phân cấp.
Mô hình mạng.
Mô hình quan hệ.
Mô hình thực thể - kết hợp.
5II.1/ Mô hình quan hệ .
Theo mô hình này :
Dữ liệu được tổ chức dưới dạng bảng 2 chiều .
Bảng là kiểu cấu trúc cho phép tập hợp và biểu
diễn thông tin cần quản lý .
Mỗi bảng bao gồm nhiều cột, mỗi cột mô tả một
thông tin về đối tượng cần quản lý, thông tin trên
các cột phải có mối quan hệ với nhau.
Mỗi dòng của bảng được nhận dạng bởi một
hoặc nhiều cột gọi là khoá sơ cấp.
6Thí dụ : Bảng dữ liệu mô tả thông tin về danh mục
quận/huyện:
MÃ QUẬN TÊN QUẬN DIỆN TÍCH DÂN SỐ
01 Quận 1
02 Quận 2
03 Quận 3
Thông tin cần mô tả
Cột nhận dạng
7II.2/ Mô hình thực thể - kết hợp :
Theo mô hình này :
Dữ liệu được nhóm lại thành các thực thể (hay
còn gọi là đối tượng).
Thí dụ : Thực thể sinh viên
thực thể chứng từ,
Trong số các thuộc tính cấu thành thực thể, có ít
nhất một thuộc tính cho phép phân biệt các xuất
hiện của thực thể, người ta gọi là nhận dạng
thực thể. Các thực thể có liên hệ với nhau thông
qua một kết hợp nào đó (Kết hợp thể hiện ngữ
nghĩa liên kết các thực thể lại với nhau).
8Thí dụ : Kết hợp giữa 2 thực thể :
Nhân viên và Bộ phận
NHÂN VIÊN BỘ PHẬN
MANV
HOLOT
TEN
MABP
TENBP
THUỘC
Ta có :
2 thực thể Nhân viên và Bộ phận.
Thực thể Nhân viên có các thuộc tính sau :
MANV (Mã nhân viên).
HOLOT (Họ và tên lót).
TEN (Tên).
Trong đó MANV là thuộc tính nhận dạng (Mỗi nhân viên có một mã số riêng để
phân biệt với các nhân viên khác).
Thực thể Bộ phận có các thuộc tính sau: (Tương tự) .
2 thực thể Nhân viên và Bộ phận liên hệ với nhau thông qua kết hợp Thuộc.
9III/ TỔ CHỨC DỮ LIỆU TRONG ACCESS .
III.1/ Bảng (Tables).
Được tổ chức như một bảng 2 chiều gồm các
hàng và các cột.
Các cột mô tả thuộc tính của đối tượng cần
quản lý, mỗi cột là một vùng tin (Field) trong cấu
trúc của bảng.
Thí dụ : Đối tượng “Danh mục tài khoản” gồm
các thuộc tính được mô tả bằng các Fields như
sau:
MATK (Mã tài khoản)
MATIEU (Mã tiểu khoản)
TENTK (Tên tài khoản)
10
MỖI dòng của bảng là một mẫu tin (Record), bao
gồm một số Fields có mối liên hệ với nhau nhằm mô
tả đầy đủ các thông tin về đối tượng cần quản lý.
Để tổ chức lưu trữ thông tin, ta phải qua các bước
sau :
Bước 1 : Mô tả cấu trúc của bảng .
Thí dụ : Cấu trúc của bảng “Chung tu 02-2005”
MACT Text 6 (Mã chứng từ)
NGAYVIET Date/Time (Ngày viết)
NGUOIVIET Text 20 (Người viết CT)
LOAICT Yes/No (Loại chứng từ)
DIENGIAI Text 40 (Diễn giải thu/chi)
SOTIEN Number (Số tiền)
TKNO Text 4 (Tài khoản ghi nợ)
TKCO Text 4 (Tài khoản ghi có)
11
Bước 2 : Nhập các mẫu tin cần lưu trữ vào bảng.
MACT NGAYVIET NGUOI VIET LOAICT DIENGIAI SOTIEN TKNO TKCO
CT0001 01/02/2005 B.Thảo Yes Thu tiền bán hàng 5.000.000 1121 131
CT0002 05/02/2005 B.Thảo Yes Lãi ngân hàng 25.000.000 1121 711
CT0003 06/02/2005 B.Thảo Yes Nộp thuế doanh thu 01/2005 5.000.000 333 1121
CT0004
12
III.2/ Khoá (Keys).
Là thuộc tính dùng để nhận dạng đối tượng. Để xác
định một đối tượng, ta phải mô tả các thuộc tính của
đối tượng đó, trong các thuộc tính được mô tả, phải
chọn một thuộc tính dùng để nhận diện đối tượng,
thuộc tính đó gọi là khoá (Key).
III.2.1/ Khoá chính (Primary Key) .
Khi mô tả các Fields của một bảng (Table), có
thể có nhiều thuộc tính được dùng làm khoá,
nhưng chỉ có một khoá duy nhất được làm
khoá chính.
13
Thí dụ : Đối tượng “Danh mục hàng hoá”
MAHANG (Mã hàng) Primary Key
#MANCC (Mã nhà CC) Foreign Key
TENHANG (Tên hàng)
DVT (Đơn vị tính)
QUYCACH (Quy cách)
GIAVON (Gia von)
14
III.2.2/ Khoá ngoại (Foreign Key).
Khi mô tả cấu trúc của một bảng, có thể có một
hoặc nhiều khoá; nếu một bảng có nhiều khoá
thì chỉ có một khoá duy nhất được làm khoá
chính, các khoá còn lại được xem là khoá ngoại.
Khoá ngoại là một thuộc tính (Property) của
bảng có thể tham chiếu đến một (hay nhiều)
Field là khoá chính trong một bảng khác. Dữ liệu
trong khoá chính và khoá ngoại tương ứng phải
phù hợp với nhau.
Thí dụ :
DMNCC (MACC,TENNCC,DIACHI,DIENTHOAI)
DMHH (MAHANG,#MACC,TENHANG,DVT,QUYCACH,)
15
III.3/ Thiết lập quan hệ .
Trong một Database có thể có nhiều Tables, và
các Tables có quan hệ nhất định với nhau.
Mỗi Table có thể tham gia vào quan hệ với một
(hay nhiều) Table(s) khác.
Mỗi Table có thể tham gia vào một mối quan hệ
bằng một hay nhiều Field(s).
2 Records thuộc 2 Tables được gọi là tương ứng
với nhau khi giá trị của các Fields tham gia vào
quan hệ bằng nhau.
16
Thí dụ :
17
III.4/ Các kiểu quan hệ (Relationship Type) .
Quan hệ giữa các Fields của các Tables có thể
thuộc các kiểu sau :
III.3.1/ Quan hệ Một - Nhiều (One-To-Many) :
Bao gồm các bước sau :
Bước 1 : Xác định Table chính (Primary Table), là
Table có khoá chính (Primary Key) hoặc Field chỉ
mục duy nhất (Unique Index Field). Khoá chính
của Table này tham gia vào quan hệ ở bên “một”.
Bước 2 : Xác định Table được quan hệ (Related
Table), là Table có chứa khoá ngoại (Foreign Key).
Khoá ngoại của Table này tham gia vào quan hệ ở
bên “nhiều”.
18
Trong mối quan hệ Một - Nhiều :
Mỗi Record trong Table chính có thể có nhiều
Record tương ứng trong Table được quan hệ.
Mỗi Record trong Table được quan hệ chỉ có một
và chỉ một Record tương ứng trong Table chính.
19
III.3.2/ Quan hệ Một - Một (One-To-One) :
Bao gồm các bước sau :
Bước 1 : Xác định các Tables tham gia vào quan hệ.
Các Tables tham gia vào quan hệ phải thông qua
khoá chính (Primary Key) hoặc bằng Field chỉ mục
duy nhất.
Bước 2 : Thực hiện kết nối giữa các Tables.
Trong mối quan hệ này:
Mỗi Record trong Table chính chỉ có tối đa một
Record tương ứng trong Table được quan hệ.
Mỗi Record trong Table được quan hệ chỉ có một
và chỉ một Record tương ứng trong Table chính.
20
Nhận xét :
Thuộc tính MANV thuộc 2 Tables TblHosonhanvien và
TblLylich đều là khoá chính. Thực chất ta có thể kết hợp 2
Tables này làm một, nhưng không hiệu quả về mặt bộ nhớ
và tổ chức dữ liệu khi truy xuất (vì không phải lúc nào ta
cũng cần hết tất cả các thông tin được lưu trữ trong 2 Tables
này).
Việc chia cắt thông tin thành 2 Tables bảo đảm tính hiệu
quả trong việc tổ chức và lưu trữ thông tin.
Ràng buộc trong quan hệ này: mỗi mẫu tin trong Table
TblHosonhanvien chỉ có quan hệ tương ứng với một mẫu
tin duy nhất trong Table TblLylich.
21
III.3.3/ Quan hệ Nhiều - Nhiều (Many-To-Many):
Thực chất của quan hệ “Nhiều - Nhiều” là 2 quan
hệ “Một - Nhiều” từ 2 Tables tới một Table thứ 3.
Theo đó, mỗi mẫu tin của Table này có thể quan hệ
với nhiều mẫu tin tương ứng trong Table kia và
ngược lại.
Thí dụ : Trong chương trình quản lý thư viện.
Một độc giả có thể mượn được nhiều loại sách.
Một loại sách có thể được mượn bởi nhiều độc
giả.
22
Thể hiện mối quan hệ “Nhiều - Nhiều” giữa 2 Tables trên được
thực hiện thông qua Table trung gian là Table “Mượn sách”
như sau:
Table “Danh mục bạn đọc” có khoá chính là MABD.
Table “Danh mục sách” có khoá chính là MASACH .
Trên Table “Mượn sách” có 2 khoá ngoại là MADG và
MASACH.
Quan hệ giữa 3 Tables trên được thể hiện như sau:
23
24
IV/ THIẾT KẾ BẢNG (TABLE).
IV.1/ Các bước thiết kế .
Xác định các đối tượng cần mô tả thông tin, tức là
xác định thực thể cần quản lý .
Thí dụ : Quản lý giá nhà đất, ta cần xác định các đối
tượng như:
DMQUAN (Danh mục quận)
DMDUONG (Danh mục đường)
DMNHA (Danh mục nhà)
BANGGIA (Bảng giá nhà đất)
.v.v..
Mô tả thuộc tính của từng đối tượng, thuộc tính nhận
dạng đối tượng.
Xác định quan hệ giữa các đối tượng.
25
IV.2/ Thiết kế từng đối tượng :
B1 : Chọn Table
B2 : Chọn New
B3 : Chọn Design View + OK
26
B4 : Mô tả các Fields, gồm:
Field Name
Data Type
Description (Diễn giải ý nghĩa của Field)
General
27
B5 : Chọn Field làm khoá chính.
– Click vào Field chọn làm khoá chính
– Chọn Edit \ Primary Key
B6 : Chọn Save
B7 : Đặt tên cho bảng dữ liệu
Chú thích vùng tin
Mô tả vùng tin
Mô tả kiểu dữ liệu
Thuộc tính của
vùng tin
28
IV.3/ Các kiểu dữ liệu của Field (Data Type):
STT Kiểu DL Ý nghĩa
1 Text Chứa ký tự ,tối đa 255 ký tự
2 Number Chứa các giá trị số
3 AutoNumber Các số (Tự động tăng 1 đơn vị)
4 Date/Time Lưu trữ kiểu ngày giờ
5 Currency Kiểu số có dấu tiền tệ
6 Yes/No Yes/No, True/False, On/Off
7 Memo Chứa văn bản
8 OLE Object Các đối tượng nhúng như :hình ảnh, tài liệu của Word, Excel,
9 HyperLink Chứa địa chỉ hyperlink
10 Text Lookup Để tạo ComboBox trong Field
29
IV.4/ Thuộc tính của Fields(Field Properties).
IV.4.1/ Field Size:
a) Field Size: Text
• Ấn định kích thước phù hợp (Từ 0 .. 255)
• Nguyên tắc: Xác định giá trị lớn nhất, không
thừa, không thiếu
b) Field Size: AutoNumber.
• Thuộc tính này có thể đặt là Byte / Integer /
Long Integer hay Replication ID
• Tự động tăng giá trị khi thêm mẫu tin mới
c) Field Size: Number
30
Data Type Lưu trữ Thập phân
Kích
thước
Byte 0 255 Không 1 Byte
Integer -32.768 32.767 Không 2 Bytes
Long Integer -2.147.483.648 2.147.483.647 Không 4 Bytes
Single 7 4 Bytes
Double 15 8 Bytes
Replication Lưu trữ định danh duy nhất cấp toàn cục. 16 Bytes
31
IV.4.2/ Format .
– Định dạng cách hiển thị và in của dữ liệu kiểu số, ngày
giờ và văn bản
– Thuộc tính này chỉ thay đổi cách hiển thị số liệu, không
ảnh hưởng đến dữ liệu lưu trữ
– Các kiểu định dạng cho bất kỳ dữ liệu nào:
Khoảng trắng Hiển thị khoảng trắng như các ký tự
“ABC” Hiện bất cứ thứ gì trong ngoặc kép như các ký tự
! Bắt buộc canh trái (thay vì canh phải)
* Điền các khoảng trắng khả dụng với ký tự kế tiếp
\ Điền các ký tự kế tiếp như một ký tự bình thường
[Color]
Hiển thị dữ liệu với màu được chỉ định.
Bao gồm : Black ,Blue ,Green ,Cyan, Red, Magenta ,
Yellow , White
32
• Định dạng kiểu Date/Time:
• Định dạng kiểu Number và Currency:
33
• Định dạng kiểu Text và Memo:
@ Bắt buộc là một ký tự hay khoảng trắng
& Không bắt buộc là một ký tự hay khoảng trắng
< Đổi tất cả ký tự thành chữ thường
> Đổi tất cả ký tự thành chữ IN
IV.4.3/ Decimal Places:
– Xác định số chữ số phần thập phân
– Có 2 kiểu định dạng:
• Auto: Tự động hiển thị theo thuộc tính Format
• Từ 0 15: Xác lập số chữ số phần thập phân (Nếu
không sử dụng thì chọn số 0)
34
IV.4.4/ Input Mask
– Xác định khuôn dạng nhập liệu
– Có thể chọn trợ giúp của Wizard
Gọi Wizard
35
IV.4.5/ Validation Rule, Validation Text:
a) Validation Rule:
– Chỉ định các quy tắc kiểm tra tính hợp lệ của dữ
liệu nhập
– Đặt ra các giới hạn hay điều kiện áp dụng đối
với dữ liệu khi cập nhập vào một Field nào đó
trên Table
– Có thể xác lập Validation Rule là một biểu thức
hợp lệ bất kỳ, nhưng biểu thức này không thể
chứa:
• Các User’s Defined Functions
• Các hàm thư viện của Access như : Sum, Count ,
Avg ,
b) Validation Text: Hiển thị thông tin ràng buộc
qua Validation Rule. Khi số liệu nhập không
hợp lệ thì thông báo Validation Text sẽ xuất hiện
36
Validation Rule Validation Text
0 Giá trị nhập phải khác 0
>1000 Or Is Null Giá trị nhập phải lớn hơn 1000 hay rỗng
Like “?????” Chỉ được phép nhập 5 ký tự
>=#1/1/2005# And
<#1/2/2005#
Chỉ nhập ngày thuộc tháng
1/2005
<Date() Nhập ngày nhỏ hơn ngày hiện hành
Thí dụ :
37
IV.4.6/ Required
– Để chỉ định trường hợp nào một Field phải có giá trị
– Các chỉ định như sau:
• Required: Yes Bắt buộc phải nhập giá trị vào Field , và không
thể là giá trị Null
• Required: No Không bắt buộc nhập giá trị vào Field. Trường
hợp này lưu ý Validation phải cùng xác lập là Or Is Null
IV.4.7/ Allow Zero Length
– Yes: Cho phép lưu trữ chuỗi rỗng, bất chấp thuộc tính
của Required
– No: Không chấp nhận lưu trữ chuỗi rỗng. Nếu Allow Zero
Length là No và Required là Yes thì bắt buộc phải nhập
số liệu vào Field, chuỗi rỗng sẽ không hợp lệ
– Chú ý: Allow Zero Length có hiệu lực ưu tiên hơn
Required.
38
IV.4.8/ Indexed :
– Để tạo chỉ mục cho một Field, giúp tăng tốc độ truy xuất
dữ liệu. Thí dụ: tạo chỉ mục trên Field TEN cho phép tăng
tốc độ truy xuất.
– Có thể tạo Index trên một Field mà giá trị là duy nhất .Thí
dụ: mã hàng hoá hoặc Index trên một Field mà giá trị có
thể trùng (thí dụ họ và chữ lót), hoặc có thể Index trên
nhiều Field phối hợp.
– Các trường hợp xác lập Index:
No (Default) Không có Index
Yes (Duplicates OK) Index được phép trùng
Yes (No Duplicates) Index duy nhất, không được trùng .
39
• Cách tạo Index:
Cách 1:
B1: Chọn Field cần tạo chỉ mục
B2: Chọn dạng Index trong Field Properties
Chú ý:
1) Khi chọn Primary Key trên một
Field, Access sẽ tự động xác lập
Indexes cho Field đó là Yes
(No Duplicates).
2) Không thể Index trên các Field
có kiểu dữ liệu là Hyperlink,
Memo hay OLE Object.
40
Cách 2 :
B1: Mở Table cần lập chỉ mục
B2: Chọn View \ Indexes
B3: Xác lập chỉ mục
41
V/ THIẾT LẬP QUAN HỆ (RELATIONSHIP).
Sau khi thiết kế các bảng dữ liệu, bước tiếp theo là
phải thiết lập các mối quan hệ giữa các bảng để phục
vụ quá trình xử lý, tính toán .
Các bước thiết lập quan hệ giữa các bảng:
B1: Đóng tất cả các Tables (Không thể tạo quan hệ
trong khi các bảng đang ở tình trạng mở)
B2: Chọn thẻ Tables
B3: Trỏ Mouse Pointer vào vùng trống trên Database
(Right Click).Chọn Relationship
42
B4 : Chọn Tables đưa vào thiết lập quan hệ
B5 : Add
Chọn thẻ Tables
Right Click và chọn
Relationship
43
B6: Thực hiện Drag & Drop:
– Từ Field của Table chứa khoá chính đến Field của Table
chứa khoá ngoại (nếu là quan hệ 1-N)
– Từ Field của Table chứa khoá chính của Table quan hệ
đến Field chứa khoá chính của Table được quan hệ (nếu
là quan hệ 1-1-)
B7:Thực hiện toàn vẹn quy chiếu (Referential Integrity)
44
B7: Kiểu mặc định của quan hệ là Inner Join,
nếu muốn thay đổi kiểu quan hệ thì chọn
nút lệnh Join Type.
B8: Kết quả thực hiện quan hệ
Quan hệ 1-N
45
Quan hệ 1 - 1
Left Outer Join
46
B9: Đặt chú thích cho các bảng dữ liệu
– Trỏ Mouse Pointer vào Table (Right Click)
– Chọn Properties
– Đặt chú thích trong khung Description
47
VI/ Lookup dữ liệu
– Cho phép dò tìm dữ liệu từ một bảng dữ liệu
khác dưới dạng một Combo Box
– Thao tác:
B1: Di chuyển đến Field muốn tạo Lookup
B2: Chọn Lookup
B3: Chọn dạng Lookup (List Box /Combo Box)
48
B4: Chọn bảng dữ liệu chứa số liệu Lookup
(hoặc viết một câu lệnh SQL)
Các file đính kèm theo tài liệu này:
- bai_giang_access_thiet_ke_bang_1798.pdf