III. Mô hình vật lý dữ liệu
1. Cấu trúc các bảng TABLE
TÊN LƯỢC ĐỒ QUAN HỆ
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc toàn vẹn
GIA THUỘC ( Mã GT, Họ, Tên GT, Ngày sinh GT, Mã CV, Mã CQ, Mã nghề )
CC-QTL (Mã CC, Mã BL, Ngày LL ) CC-GT (Mã CC, Mã GT, Mã LGT ) CÙNG CƠ QUAN (Mã CC, Mã LGT)
VớI mỗI thuộc tính : Ta chỉ giảI thích giá trị. VớI thuộc tính khoá ta thêm chữ (K) bên cạnh thuộc tính.
Tên thuộc tính: Ghi tên thuộc tính
Kiểu dữ liệu : Kiểu dữ liệu của thuộc tính (Tương ứng vớI kiểu dữ liệu khác không cần chọn ở đây).
Ràng buộc toàn vẹn: Ở đây ta chỉ nghi ràng buộc toàn vẹn giá trị và ràng buộc toàn vẹn khoá ngoạI ta nghi: Lookup(TableName) vớI table name là tên của bảng dữ liệu mà thuộc tính này là khoá.
Sau mỗI hình ta cho một ví dụ vớI giá trị của dữ liệu
Vậy bài toán quản lý công chức -tiền lương ta có mô hình tổ chức dữ liệu sau:
TỈNH (Mã tỉnh, Tên tỉnh)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã tỉnh(K) Text 2 Len()=2
Tên tỉnh Text 20
M ã t ỉnh: Số thứ tự của tỉnh trong nước. Việt nam có dướI 100 tỉnh, nên ta chon 2 ký tự để đánh số thứ tự của tỉnh.
Tên tỉnh: Bắt đầulà Tp cho thành phố trực thuộc trung ương, T cho tỉnh và tiếp theo là tên tỉnh hay tên thành phố. Tên dài nhất của tỉnh Việt Nam là T Bà Rịa Vũng Tàu gồm 18 chữ cái. Ta chọn chiều dài tốI đa là 20.
Ví dụ:
Mã tỉnh Tên tỉnh 01 Tp Hà Nội 02 Tp HảI Phòng
B CHỦNG (Mã BC, Tên BC)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã BC(K) Text 1 Len()=1
Tên BC Text 30
Mã BC: Số thứ tự binh chủng trong Quân độI Nhâ dân Việt Nam. Ví dụ:
Mã BC Tên BC
1 Binh nhất
2 Binh nhì
CCBINH (Mã CC, Ngày NN, Ngày XN, Mã BC, Mã CB)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC(K) Text 9 Len()=1
Ngày NN Date <Date()
Ngày XN Date <Date()
Mã BC Text 1 Lookup(BCHUNG)
Mã CB Text 2 Lookup(CẤP BẬC)
PhảI có: Ngày NN< Ngày XN
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC(K) Text 9 Lookup(CÔNG CHỨC)
Ngày VĐ Date <Date()
Ngày CT Date <Date()
Mã Tỉnh Text 2 Lookup(TỈNH)
PhảI có: Ngày VĐ< Ngày CT Vídụ:
Mã CC Ngày VĐ Ngày CT Mã tỉnh 1111-1111 18/05/1996 18/05/1997 41 1111-2222 02/02/1991 02/02/1992 32 CHỨC VỤ (Mã CV, Tên CV)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CV(K) Text 2 Len()=2
Tên CV Text 20
Trong một cơ quan có nhiều chức vụ khác nhau, Mã CV: Số thứ tự của chức vụ tạI cơ quan
Ví dụ:
Mã CV Tên CV 01 Chủ tịch 02 Phó Chủ tịch
CƠ QUAN (Mã CQ, Tên CQ)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CQ(K) Text 3 Len()=3
Tên CQ Text 30
Mã CQ: Số thứ tự của các cơ quan trong khu vực. Trong bảng dữ liệu có một giá trị: Không có cơ quan vớI mã số 000
Ví dụ:
Mã CQ Tên CQ
000 Không cơ quan
001 Trường ĐạI Học Bách Khoa Hà Nội NGHỀ (Mã nghề, Tên nghề )
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã nghềK) Text 2 Len()=3
Tên nghề Text 30
Mã nghề: Số thứ tự của nghề nghiệp. Trong bảng dữ liệu có một giá trị: Không nghề nghiệp vớI mã số 00
Mã nghề Tên nghề
00 Không nghề nghiệp
01 Ký sư
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã LGTK) Text 2 Len()=2
Tên LGT Text 6
Mã LGT: Số thứ tự của loạI gia thuộc Ví dụ: Mã LGT Tên LGT 01 Cha 02 Mẹ 03 Anh 04 Em 05 Chồng 06 Vợ 07 Con BẬC LƯƠNG (Mã BL, Hệ số L, Mã NL)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã BL Text 2 Len()=2
Tên Hệ số L Number Single >=1And<=2
Mã NL Text 4 L ookup(NGẠCH)
NGẠCH (Mã NL, Tên NL, Số TLL)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã NL Text 4 Len()=4
Tên NL Text
Số TLL Number Byte =24or=36
Ví dụ:
Mã NL Tên NL Số TLL 0510 Giảng viên 36 0211 Trợ giảng 24 LÝ DO (Mã LD, Tên LD)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã LD Text 4 Len()=4
Tên LD Text 50
Mã LD: 2 ký tự đầu là NN: Lý do đi nước ngoài, KL: lý do bị kỷ luật, KT: Lý do được khen thưởng. Hai ký tự sau là số thứ tự của mỗI lý do.
Ví dụ:
Mã LD Tên LD NN01 Du lịch
KT Hoàn thành tốt nhiệm vụ KL Vi phạm kỷ luật lao động KTKL (Mã KTKL, Tên KTKL)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã KTKL Text 2 Len()=2
Tên KTKL Text 50
Mã KTKL: Số thứ tự của khen thưởng hay kỷ luật Ví dụ:
Mã KTKL Tên KTKL
01 Đơn vị tặng giấy khen
… ……
51 Khiển trách trước đơn vị 52 Cảnh cáo trước đơn vị NƯỚC (Mã nước, Tên nước )
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã nước (K) Text 3 Len()=3
Tên nước Text 30
Mã nước: Chữ viết tắt của một nước trên thế giớI Ví dụ:
Mã nước Tên nước
USA Hoa Kỳ
CMÔN (Mã CM, Tên CM, TgĐT)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CM (K) Text 2 Len()=2
Tên CM Text 50
TgĐT Byte
Mã CM: Số thứ tự của chuyên môn đào tạo TgĐT : ThờI gian đào tạo được tính bằng tháng Ví dụ:
Mã CM Tên CM TgĐT
01 Kế toán văn phòng 12
02 Sơ cấp tin học 6
TRƯỜNG (Mã Tr, Tên Tr)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã Tr (K) Text 2 Len()=2
Tên Tr Text 50
Mã Tr: Số thứ tự của trường đào tạo Ví dụ:
Mã Tr Tên Tr
02 Trung cấp thống kê NG NGỮ (Mã NN, Tên NN)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã NN(K) Text 1 Len()=1
Tên NN Text 15
Có 7 ngoạI ngữ được công nhận: Anh, Pháp, Đức, Tây Ban Nha, Bồ Đào Nha, Trung Quốc. Mã NN là số thứ tự của NN
Ví dụ
Mã NN Tên NN
1 Anh
2 Nga
VĂN HOÁ (Mã TĐVH, Tên TĐVH)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã TĐVH(K) Text 1 Len()=1
Tên TĐVH Text 20
Có 5 trình độ văn hoá: Tiểu học, Trung học cơ sở, Trung học phổ thong, ĐạI học, Trên đạI học.
Ví dụ: Mã TĐVH Tên TĐVH 1 Tiểu học 2 Trung học cơ sở 3 Trung học phổ thông 4 ĐạI học 5 Trên đạI học
TÔN GIÁO (Mã TG, Tên TG)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã TG(K) Text 1 Len()=1
Tên TGVH Text 15
Việt nam có khoảng 10 tôn giáo khác nhau. Mã TG là số thứ tự của tôn giáo. Ví dụ:
Mã TG Tên TG
0 Không tôn giáo
1 Phật giáo
2 Thiên chúa giáo DÂN TỘC (Mã DT, Tên DT)
Mã DT(K) Text 2 Len()=2
Tên DTVH Text 10
Việt nam có khoảng 60 dân tộc khác nhau. Mã DT là số thứ tự của dân tộc. Ví dụ: Mã DT Tên DT 01 Kinh 02 Hoa 03 Mường ĐƠN VỊ (Mã ĐV, Tên ĐV )
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã ĐV(K) Text 2 Len()=2
Tên ĐV Text 50
Mã đơn vị là số thứ tự của đơn vị trong cơ quan Ví dụ
Mã ĐV Tên ĐV 01 Phòng tổ chức 02 Phòng tài vụ 03 Phòng nghiệp vụ
GIA THUỘC (Mã GT, Họ tên GT, Ngày sinh GT, Mã CV, Mã CQ, Mã nghề)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã GT(K) Text 4 Len()=4
Họ tên GT Text 30
Ngày sinh GT Date
Mã CV Text Lookup(CHỨC VỤ)
Mã CQ Text Lookup(CƠ QUAN)
Mã nghề Text Lookup(NGHỀ)
Mã GT: Số thứ tự của những ngườI trong gia thuộc của côngchức. Toàn bỘ trong cơ quan có khoảng 500 gia thuộc.
PHÉP(Mã CC, Mã tỉnh, Ngày BĐ, Ngày KT)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC(K) Text 9 Lookup (CÔNG CHỨC)
Ma tỉnh Text 2 Lookup (TỈNH)
Ngày BĐ Date <Date
Ngày KT Date <Date
PhảI có Ngày BĐ <= Ngày KT
Ngày BĐ: Ngày bắt đầu nghỉ phép. Thuộc tính này phảI tham gia vào khoá. Vì nếu chỉ có mã CC và Mã tỉnh là khoá thì một công chức nghỉ phép tạI một tỉnh nào đó chỉ có một lần.
Ví dụ Mã CC Mã tỉnh Ngày BĐ Ngày KT 1111-1111 01 12/03/1999 18/03/1999 1111-2222 02 14/04/2000 16/04/2000 1111-3333 03 10/05/2000 15/05/2000 CC-NN (Mã CC, Mã NN, Cấp độ)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC(K) Text 9 Lookup (CÔNG CHỨC)
Mã NN Text 1 Lookup (NGNGỮ) Cấp độ Text 1 In (A,B,C,D) Ví dụ: Mã CC Mã NN Cấp độ 1111-1111 1 B 1111-2222 2 B 1111-3333 3 A CC-CM (Mã CC, Mã Tr, Mã CM, LoạI CC, N ĐĐT, N BĐKT)
Mã CC(K) Text 9 Lookup (CÔNG CHỨC)
Mã Tr (K) Text 2 Lookup (TRƯỜNG)
Mã CM (K) Text 2 Lookup (CMÔN)
LoạI CC Yes/No
N BĐĐT Date
N BĐKT Date
LoạI CC: Có hai giá trị Yes là văn bằng; No là chứng chỉ tốt nghiệp N BĐĐT: Ngày bắt đầu đào tạo. N BĐKT: Ngày bắt đầu kết thúc Ví dụ:
Mã CC Mã Tr Mã CM LoạI CC N BĐĐT N BĐKT 1111-1111 01 03 Yes 12/011996 10/06/1999 1111-2222 02 04 No 12/02/1997 12/08/2000 1111-3333 03 05 Yes 12/03/1995 10/06/2000 CC-ĐNN (Mã CC, Mã nước, Ngày đi, Ngày về)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC(K) Text 9 Lookup (CÔNG CHỨC)
Mã nước (K) Text 3 Lookup (NƯỚC)
Ngày đi (K) Date <Date()
Ngày về Date <Date()
Ngày đi: Ngày công chức đi nước ngoài. Thuôck tính này phảI tham gia vào khoá. Vì nếu chỉ có Mã CC và Mã nước là khoá thì một công chức nào đó chỉ có một lần. Trong thực tế thì một công chức có thể đi nước ngoài nhiều lần
CC- KTKL (Mã CC, Mã KTKL, Mã LD, Ngày KTKL, Ngày XKL)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC(K) Text 9 Lookup (CÔNG CHỨC)
Mã KTKL (K) Text 2 Lookup (KTKL)
Mã LD (K) Text 2 Lookup (LÝ DO)
Ngày KTKL Date <Date()
Ngày XKL Date <Date()
Ngày KTKL: Ngày công chức được khen thưởng hay bị kỷ luật. Thuộc tính này phảI tham gia vào khoá, vì có nhiều công chức được khen thưởng hay bị kỷ luật một hình thức nào đó có thể nhiều lần.
Ngày XKL: Ngày công chức được xoá kỷ luật. Thuộc tính này chỉ có giá trị khi một công chức kỷ luật.
CÙNG CƠ QUAN (Mã CC1, Mã CC2, Mã LGT)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC2 (K) Text 9 Lookup (CÔNG CHỨC) Mã LGT (K) Text 2 Lookup (LGT) Ví dụ: Mã CC1 Mã CC2 Mã LGT 1111-1111 1111-1212 01 1111-2222 1111-0101 02 1111-3333 1331-2345 05 SĐT(Mã CC, Số ĐT)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC(K) Text 9 Lookup (CÔNG CHỨC)
Số ĐT (K) Text 10 Lookup (CÔNG CHỨC)
Ví dụ:
Mã CC Số ĐT 1111-1111 031778838 1111-2222 0241631010 1111-3333 0241632022
BẢNG CHẤM CÔNG(Mã CC, Số ngày làm việc, Số ngày nghỉ không phép, Số tiền thưởng, Số tiền phạt )
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC(K) Text 9 Lookup (CÔNG CHỨC)
Số NKP (K) Date <Date() Số TThưởng Number Single
Số TPhạt Number Single Ví dụ: Mã CC Số NLV Số NKP Số TThưởng Số TPhạt 1111-1111 20 6 200000 0 1111-2222 26 0 200000 10000 1111-3333 26 0 200000 15000 BẢO HIỂM (Mã BH, HTBH)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã BH(K) Text 2 Len()=2
Số HTBH Text 20
Mã BH: Mã bảo hiểm có kích thước là 2 HTBH: Hình thức bảo hiểm
CC-GT(Mã CC, Mã GT, Mã LGT)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC(K) Text 9 Lookup(CÔNG CHỨC)
Mã GT (K) Text 4 Lookup(GIA THUỘC)
PHỤ CẤP( Mã PC, Tên PC, Tiền)
ên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã PC(K) Text 1 Len()=1
Tên PC Text 20
Tiền Number Single
Ví dụ:
Mã PC Tên PC Tiền
1 Chức vụ 50000
2 Chuyên môn 100000 CẤP BẬC(Mã CB, Tên CB)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CB(K) Text 2 Len()=2
Tên CB Text 15
Mã CB: Số thứ tự cấp bậc trong quân độI Nhân dân Việt Nam Ví dụ:
Mã CB Tên CB 01 Binh nhất 02 Binh nhì
CC-QTL(Mã CC, Mã BL, NLL)
Mã CC(K) Text 9 Lookup(CÔNG CHỨC)
Mã BL(K) Text 4 Lookup(BẬC LƯƠNG)
NLL(K) Date <Date()
Ngày LL: Ngày công chức lên bậc lương mớI. Thuộc tính này phảI tham gia vào khoá. Vì nếu chỉ có Mã CC và Mã BL là khoá thì một công chức lên một bậc lương nào đó chỉ một lần. Trong thực tế có nhiều công chức bị kỷ luật hạ bậc lương nên một bậc lương công chức có thể lên nhiều hơn một lần.
CÔNG CHỨC(Mã CC, Họ CC, Tên CC, ngày sinh, giớI tính, nơi sinh, địa chỉ, đoàn viên, ngày CQ, ngày vào BC, Mã ĐV, Mã DT, Mã TG, Mã TĐCH, Mã CV, Mã BH, Mã PC)
Tên thuộc tính Kiểu dữ liệu Kích thước Ràng buộc tính toàn vẹn
Mã CC(K) Text 9 Len()=9
Họ CC Text 30
Tên CC Text 7
Ngày sinh Date (1)
GiớI tính Yes/No
Nơi sinh Text 50
Địa chỉ Text 50
Đoàn viên Yes/No
Ngày VCQ Date (2)
Ngày vào BC Date (3)
Mã ĐV Text 2 Lookup(ĐƠN VỊ)
Mã TG Text 1 Lookup(TÔN GIÁO)
Mã TĐVH Text 1 Lookup(VĂN HOÁ)
Mã CV Text 2 Lookup(CHỨC VỤ)
Mã BH Text 2 Lookup(BẢO HIỂM)
Mã PC Text 1 Lookup(PHỤ CẤP)
Mã CC: 4 ký tự đầu là ngạch, 4 ký tự sau là số thứ tự của CC trong cơ quan. Hai nhóm cách nhau bởI dấu (-)
Tên CC: Gồm một từ là tên của công chức. GiớI tính: Yes là Nam, No là Nữ
III. Mô hình hoá xử lý1) Sơ đồ thông lượng :