Tải bản đầy đủ (.pdf) (10 trang)

PHÂN TÍCH THIẾT KẾ HỆ THỐNG - CHƯƠNG 8 ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 10 trang )


Tài liệu Phân Tích Thiết Kế Hệ Thống


73
Chương 8 .
MỞ RỘNG KHÁI NIỆM MỐI KẾT HP
(ADVANCED RELATIONSHIP CONCEPTS)
I MỐI KẾT HP MỘT-MỘT
Ta đã có mô hình về NGƯỜI LÁI XE và BẰNG LÁI như sau:

Ngoài mô hình trên, vấn đề này có thể có hai dạng mô hình sau:

Một trong ba mô hình trên sẽ được chọn lựa căn cứ vào các nguyên tắc:
o Ta mô hình thành hai tập thực thể và một mối kết hợp khi các tập thực thể có mức độ quan trọng
độc lập và có các xử lý riêng rẽ. Ví dụ trong Hệ Tiếp Liệu PHIẾU YÊU CẦU VẬT LIỆU được
lập và gởi đi trước khi ĐƠN ĐẶT MUA HÀNG được phát sinh và gởi cho nhà cung cấp. Hơn
nữa Bản yêu cầu vật liệu có khả năng bò tự chối vì giá cả hay bởi lý lẽ khác. Nếu yêu cầu được
chấp nhận thì một ĐƠN ĐẶT MUA HÀNG tương ứng được phát sinh.

Hình 7.2(a) - Mô hình ER của Hệ
tiế
p
liệu
PHIẾU YÊU
CẦU VẬT
LIỆU
ĐƠN ĐẶT
MUA
HÀNG
số



phiếu
ngày
phòng
ban
chấp
thuận
số

đơn

hàng
ngày
mã nhà cung
cấp
trò giá tối đa
làm phát
sinh
được phát sinh
bởi

Mỗi PHẾU YÊU CẦU VẬT LIỆU có thể làm phát sinh một ĐƠN ĐẶT MUA HÀNG
Mỗi ĐƠN ĐẶT MUA HÀNG phải được phát sinh bởi một PHIẾU YÊU CẦU VẬT LIỆU
o Ta mô hình thành hai tập thực thể và một mối kết hợp khi bản số kết nối của mối kết hợp thường
thay đổi. Chẳng hạn trong ví dụ trên có khả năng Một ĐƠN ĐẶT MUA HÀNG phải được phát
sinh bởi một hay nhiều BẢN YÊU CẦU VẬT LIỆU

Tài liệu Phân Tích Thiết Kế Hệ Thống



74

o Ta mô hình thành hai tập thực thể và một mối kết hợp khi một trong hai tập thực thể có mối kết
hợp với tập thực thể khác
Ví dụ
: Trong Hệ Tiếp liệu trên một ĐƠN ĐẶT MUA HÀNG phải có một hay nhiều DÒNG ĐƠN
HÀNG.
Hình 7.2(c) - Mô hình ER của Hệ tiếp liệu có tập thực thể
DÒNG ĐƠN HÀN
G
PHIẾU YÊU
CẦU VẬT
LIỆU
ĐƠN ĐẶT
MUA
HÀNG
số

phiếu
ngày
phòng
ban
chấp
thuận
hàng
ngày
mã nhà
cung cấp
trò giá tối
đa

làm phát
sinh
được phát sinh
bởi
DÒNG
ĐƠN
HÀNG
số đơn
hàng
số thứ tự
số lượng
thuế
đơn giá
chứ
a
thuộc
về
Khóa
ngoại

o Ta mô hình thành hai tập thực thể và một mối kết hợp vì các thuộc tính cần được nhóm riêng do
chẳng hạn mhóm các thuộc tính được khai thác thường xuyên còn nhóm kia thì ngược lại.
Ví dụ: Một công ty vận chuyển điều hành một đội các đoàn tầu ghép nối. Một đoàn tàu ghép nối được
hiểu là một đoàn tàu nhưng trên thực tế chúng bao gồm một đầu máy và một toa chở hàng
Hình 7.2(d) - Mô hình ER của vấn đề đầu máy
và toa hàn
g
ĐẦU MÁY
TOA
HÀNG

máy
trọng lượng

trọng lượng
xổi
loại trục

o
được kéo bởi
g
trọng lượng

trọng lượng
xổi
loại trục

o Nếu không vì một trong 4 lý do trên thì ta hợp nhất hai tập thực thể thành một.
II NHIỀU MỐI KẾT HP GIỮA HAI TẬP THỰC THỂ
Một công ty mong muốn lưu trữ dữ liệu về các phòng ban của công ty, như phân xưởng sản xuất, phòng
kinh doanh, phòng kế toán, và chi tiết về nhân viên. Thông tin cần lưu trữ bao gồm mã phòng, tên
phòng, vò trí, mã nhân viên, tên, đòa chỉ. Mỗi phòng có nhiều nhân viên và được phụ trách bởi một
trưởng phòng. Một trường phòng chỉ phụ trách một phòng. Mỗi nhân viên chỉ thuộc về một phòng.

Tài liệu Phân Tích Thiết Kế Hệ Thống


75

III MỐI KẾT HP HAY THUỘC TÍNH
Một khái niệm có thể là thuộc tính cũng có thể là mối kết hợp tùy thuộc vào qui tắc quản lý. Ta xem hai

qui tắc quản lý sau:
1/ Công ty cần lưu trữ các thông tin về XE cấp cho NHÂN VIÊN có tiêu chuẩn trợ cấp tiền và xe cho
chuyến du lòch của mình. Rõ ràng chúng ta cần bổ sung thêm tập thực thể XE và mối kết hợp giữa XE
và NHÂN VIÊN. Thuộc tính của xe gồm, số lượng máy, số xi lanh, loại nhiên liệu, số cây số đã đi.
Kết quả là quan hệ NHÂN VIÊN sẽ có khóa ngoại số đăng bộ để diễn tả mối kết hợp giữa NHÂN
VIÊN và XE.
2/ Chúng ta hãy xem xét khía cạnh sau: Công ty không trả trực tiếp số tiền trợ cấp này cho NHÂN
VIÊN mà sẽ trả vào kỳ lương. Tuy nhiên công ty vẫn muốn biết nhân viên nào có tiêu chuẩn xe nhân
viên nào không. Để quản lý được điều này ta không phải tạo tập thực thể XE mà chỉ ghi nhận số đăng
bộ như một thuộc tính của tập thực thể NHÂN VIÊN là đủ.
IV MỐI KẾT HP LOẠI TRỪ
Mối kết hợp giữa các tập thực thể có tính loại trừ. Nghóa là một thực thể chỉ tham gia vào một quan hệ
trong các mối kết hợp.
Ví dụ: Công ty máy tính mong muốn lưu trữ dữ liệu về các sản phẩm phần cứng và phần mềm mà họ
bán và hỗ trợ. Công ty cần ghi nhớ các lỗi có thể xảy ra cho bất kỳ sản phẩm nào. Một lỗi chỉ xảy ra
cho phần cứng hay phần mềm nhưng không xảy ra cho cả hai như vậy những lỗi này có tính loại trừ
nhau.

Cung tròn của hình trên diễn tả mối kết hợp loại trừ nghóa là một lỗi nào đó là của phần cứng hoặc phần
mềm chứ không của cả hai. Tính chất này hoàn toàn phù hợp với tính chất của tập thực thể cha/con.
Nếu hai tập thực thể loại trừ có thuộc tính chung thì ta có thể vẽ lại mô hình trên dưới dạng sau:

Tài liệu Phân Tích Thiết Kế Hệ Thống


76

V MỐI KẾT HP BA NGÔI (TERNARY RELATIONSHIP)
Ví dụ: Một công ty mong muốn lưu trữ dữ liệu về nhân viên và các kỹ năng được sử dụng trong các dự
án mà họ được phân công tham gia. Các thuộc tính mà công ty cần lưu trữ bao gồm:

NHÂN VIÊN: mã nhân viên, tên nhân viên
KỸ NĂNG: mã kỹ năng, tên kỹ năng
DỰ ÁN: mã dự án, tên dự án, vò trí, kinh phí.
Công ty cũng muốn biết một nhân viên nào đó có ngày bắt đầu sử dụng kỹ năng nào đó vào một DỰ
ÁN nào đó.
Nhân viên Kỹ năng Dự án
Colette Kế toán Mỏ lộ thiên
Colette Chuẩn bò kinh phí Mỏ lộ thiên
Colette Kiểm toán Văn phòng chính
Mike Quản lý Mỏ lộ thiên
Mike quản lý Văn phòng chính
Mike quản lý phân xưởng
Mike dự toán kinh phí mỏ lộ thiên
Mike dự toán kinh phí phân xưởng
Gred quản lý phân xưởng

Bảng dữ liệu trên diễn tả qui tắc quản lý sau:
Mỗi NHÂN VIÊN có thể tham gia vào một hay nhiều DỰ ÁN.
Mỗi DỰ ÁN có thể được tham gia bởi một hay nhiều NHÂN VIÊN.
Mỗi NHÂN VIÊN có thể thành thạo một hay nhiều KỸ NĂNG
Mỗi KỸ NĂNG có thể được sử dụng thành thạo bởi một hay nhiều NHÂN VIÊN
Mỗi KỸ NĂNG có thể được dùng bởi một hay nhiều DỰ ÁN
Mỗi DỰ ÁN có thể dùng một hay nhiều KỸ NĂNG.
Qui tắc quản lý trên dẫn ta đến mô hình ER sau:

Tài liệu Phân Tích Thiết Kế Hệ Thống


77


Mô hình trên là mô hình vòng của ba mối kết hợp nhiều nhiều. Ta không thể gắn thuộc tính
ngày bắt
đầu sử dụng một kỹ năng nào đó vào một dự án nào đó của một nhân viên
vào bất kỳ tập thực thể nào
trong mô hình. Vấn đề này được giải quyết bằng cách:
- thêm một tập thực thể kết hợp làm trung gian kết nối với các tập thực thể trong mô hình.
- Thuộc tính nhận diện của tập thực thể kết hợp là sự kết hợp các thuộc tính nhận diện của các
tập thực thể trong mô hình.
- Các thuộc tính tạo nên thuộc tính nhận diện này là các khóa ngoại.
c
o
ù
l
a
ø
t
h
u
o
ä
c

v
e
à

t
h
u
o

ä
c

v
e
à


Mô hình quan hệ:
NHÂN VIÊN(mã nhân viên
, tên nhân viên, ngày vào làm)
KỸ NĂNG(mã kỹ năng
, tên kỹ năng)
DỰ ÁN(mã dự án
, tên dự án, vò trí thăm dò, kinh phí)
KỸ NĂNG ĐƯC DÙNG(mã nhân viên, mã kỹ năng, mã dự án
, ngày bắt đầu sử dụng)
VI MỐI KẾT HP MỘT NGÔI (UNARY RELATIONSHIP, RECURSIVE RELATIONSHIP)
1
Bản số kết nối một nhiều
Một công ty hiện lưu trữ chi tiết về NHÂN VIÊN như: mã nhân viên, tên nhân viên, đòa chỉ, …Công
ty cũng lưu trữ chi tiết về người quản lý nghóa là ai là người quản lý. Điều quan trọng của vấn đề
là người quản lý cũng là nhân viên, và nhân viên thì chòu sự quản lý của nhân viên khác.
Qui tắc quản lý là:

Tài liệu Phân Tích Thiết Kế Hệ Thống


78
Mỗi NHÂN VIÊN có thể quản lý một hay nhiều nhân viên khác

Mỗi NHÂN VIÊN có thể chòu sự quản lý bởi một nhân viên khác.
Hình 7.9 - Dữ liệu ví dụ của vấn đề nhân viên và người quản lý
Mike (101)
Colette (217)
Tony (318)
Vicky (525)
deirdre (977) Glenda (925)
Greg (097)
Yianni (421) Jim (226)
Adrian (356)Jack (785)
Stan (201)

Mô hình ER của vấn đề là:

Mô hình quan hệ của vấn đề quản lý nhân viên như sau:
NHÂN VIÊN (mã nhân viên
, tên nhân viên, …, mã nhân viên quản lý)
NHÂN VIÊN
mã nhân viên tên nhân viên mã nhân viên quản lý
000 . 000
101 Mike 000
217 Colette 101
318 Tony 217
525 Vicky 217
2 Bản số kết nối một một
Trường Cộng đồng Chu toàn
đưa ra một kế hoạch cố vấn mới cho các giáo viên của họ và lưu trữ dữ
liệu về kế hoạch này trong một csdl. Kế hoạch liên quan đến các giáo viên nhiều kinh nghiệm. Các
giáo viên này sẽ cố vấn cho giáo viên mới. Ý tưởng là hỗ trợ giáo viên mới trong giảng dạy, soạn bài
giảng, …

Để giảm nhẹ khối lượng công việc, giáo viên kinh nghiệm có thể cố vấn cho một giáo viên mới và một
giáo viên mới phải có một cố vấn.
Dữ liệu được lưu trữ trong csdl bao gồm chi tiết cá nhân của giáo viên và chi tiết về kế hoạch cố vấn.

Tài liệu Phân Tích Thiết Kế Hệ Thống


79

Mỗi GIÁO VIÊN có thể làm cố vấn cho một GIÁO VIÊN
Mỗi GIÁO VIÊN có thể chòu sự cố vấn bởi một GIÁO VIÊN
Mô hình quan hệ của vấn đề trên như sau:
GIÁO VIÊN ( mã giáo viên
, tên giáo viên,…., mã giáo viên làm cố vấn)
hay
GIÁO VIÊN ( mã giáo viên
, tên giáo viên,…., mã giáo viên chòu sự cố vấn)
3 Bản số kết nối nhiều nhiều
Công ty TNHH Buillem và Sellem thiết kế, xây dựng và lắp đặt các giàn khoan dầu ngoài khơi. Giàn
khoan được tạo thành từ các đơn thể có kích thước 6m x 3.6m x 3.6m và có trọng lượng từ 10 đến 25
tấn. Điều này cho phép
• Giảm chi phí xây dựng cho một giàn khoan ngoài khơi.
• Dễ dàng vận chuyển đến các cầu tàu bằng đường ray.
• Dễ dàng vận chuyển đến giàn khoan ngoài khơi bằng sà lan.
Các đơn thể được ráp lại tại mỏ dầu để tạo nên các bộ phận như bệ khoan, đầu khoan, thiết bò khoan.
Đến lượt mỗi đơn thể được cấu tạo từ các thành phần đơn lẻ như đường ống, van, mô tơ, bảng điều
khiển v.v Ta có qui tắc quản lý sau:
Phần đơn lẻ là thành phần không thể chia nhỏ hơn nữa.
Đơn thể được tạo từ các phần đơn lẻ nhưng nó chưa phải là sản phẩm cuối cùng.
Bộ phận (bệ khoan, thiết bò khoan) được tạo từ các đơn thể hay các phần đơn lẻ

Phần hoàn chỉnh được tạo từ các đơn thể hay bộ phận.
Một loại đơn thể được dùng trong các bộ phận khác nhau.

Buildem and Sellem muốn thực hiện một csdl để lưu trữ thông tin về các phần (phần đơn lẻ, đơn
thể, bộ phận, phần hoàn chỉnh) trên bao gồm: Mã phần, mô tả, lượng tồn, lượng sử dụng. Như
vậy mối kết hợp giữa các phần là như sau:

Tài liệu Phân Tích Thiết Kế Hệ Thống


80
Mỗi PHẦN có thể được sử dụng để tạo nên một hay nhiều PHẦN.
Mỗi PHẦN có thể được tạo nên từ một hay nhiều PHẦN.
Hình 7.14 - Mô hình ER của vấn đề Buildem và
Selle
m

phần
mô tả
lượng
tồn
PHẦ
N
PHẦ
N
được tạo
nên từ
được sử dụng để
tạo nên
PHẦ

N

phần
mô tả

phần
mô tả
phần sử
dụng
phần tạo
nên

Mối kết hợp của vấn đề trên là mối kết hợp nhiều nhiều. Ta không thể gắn thuộc tính
lượng sử dụng
(lượng sử dụng của một PHẦN để tạo nên một PHẦN khác) vào tập thực thể PHẦN được. Vấn đề này
được giải quyết bằng cách:
- thêm một tập thực thể kết hợp làm trung gian kết nối với các tập thực thể trong mô hình.
- Thuộc tính nhận diện của tập thực thể kết hợp là sự kết hợp các thuộc tính nhận diện của các
tập thực thể trong mô hình.
- Các thuộc tính tạo nên thuộc tính nhận diện này là các khóa ngoại.
Hình 7.15 - Mô hình ER của vấn đề Buildem và Sellem có thuộc tính
lượng sử dụng
PHẦ
N
PHẦ
N
PHẦN KẾT
HP
mã phần sử
dụng

mã phần tạo
nên
lượng sử dụng
có nghóa phần
X là một
thành phần
tạo nên phần
Y
hay
phần Y có
một thành
phần tạo từ
phần x
no
ùi

t
a
ï
o
nên
là thành phần tạo
nên của


thành

phần

sử


dụng của
diễn tả sử
dụng từ
PHẦ
N
PHẦN KẾT
HP
là thành phần sử
dụng của
diễn tả sử
dụng từ
nói tạo
nên
là thành phần tạo
nên của

Mô hình trên có đặc điểm sau:
- Bản số kết nối của mô hình không phụ thuộc vào bài toán.
- Nếu không có thuộc tính lượng sử dụng thì ta sử dụng mô hình không có tập thực thể kết hợp.
Mô hình quan hệ:
PHẦN(mã phần
, mô tả, lượng tồn)
PHẦN KẾT HP(mã phần sử dụng, mã phần tạo nên
, lượng sử dụng)
Có hai khoá ngoại (mã phần sử dụng) và (mã phần tạo nên)
Có hai khoá chính: (mã phần) và (mã phần sử dụng, mã phần tạo nên)
PHẦN KẾT HP
mã phần sử dụng mã phần tạo nên lượng sử dụng
06 04 5

07 04 10

Tài liệu Phân Tích Thiết Kế Hệ Thống


81
08 04 10
09 04 3
04 01 2
03 01 100
VII BÀI TẬP
1
Bài 7.1

Một gara sửa xe mong muốn xây dựng một cơ sở dữ liệu về các bộ phận trong xe và các thành phần tạo
nên chúng (hình trên). Thông tin về bộ phận xe có mã bộ phận (duy nhất) và tên bộ phận. Một bộ phận
xe có thể được cấu tạo từ các bộ phận khác. Nhưng một thành phần chỉ nằm trong một bộ phận.
a/ Hãy xây dựng mô hình ER của vấn đề trên và chuyển chúng thành mô hình quan hệ.
b/ Hãy kiểm tra chức năng đưa dữ liệu của ví dụ trên vào mô hình quan hệ.
2 Bài 7.2
Cơ quan chính phủ về sức khỏe mong muốn ghi nhận dòch vụ nào (như chăm sóc trẻ, phục vụ người
khuyết tật, ) được cung cấp bởi tổ chức nào (như Hiệp hội hổ trợ gia đình, Ủy ban chăm sóc người
khuyết tật, ), tại vò trí đòa lý nào (như bắc Sydney, hướng tây ngoại ô, Newcatle, ) và ngày mà tổ
chức bắt đầu cung cấp dòch vụ cho một vò trí đòa lý. Đối với dòch vụï phục vụ, tổ chức phục vụ và vò trí
đòa lý phục vụ, cơ quan chính phủ chỉ quan tâm đến tên và thuộc tính nhận diện của chúng.
Hãy lên mô hình ER và chuyển chúng thành mô hình quan hệ.
3 Bài 7.3
Doanh nghiệp Tân Thành là một doanh nghiệp sản xuất hàng may mặc, có một số phòng ban (phòng kỹ
thuật, phòng hành chánh, ) và nhiều chuyền sản xuất (chuyền 1, chuyền 2, ).


Doanh nghiệp có nhiều nhân viên, nhân viên gián tiếp và nhân viên trực tiếp (còn gọi là công nhân).
Thông tin về một nhân viên gồm có: mã nhân viên, họ tên, ngày sinh, đòa chỉ, ngày vào làm. Mỗi nhân
viên gián tiếp có một đơn giá ngày công. Lương nhân viên gián tiếp bằng số ngày công nhân với đơn
giá ngày công. Đối với công nhân, doanh nghiệp rất quan tâm đến văn bằng, chứng chỉ liên quan đến
nghề may mà công nhân đạt được. Mỗi nhân viên gián tiếp/công nhân phải chòu sự quản lý của một
phòng ban/chuyền.

Doanh nghiệp sản xuất nhiều loại sản phẩm. Mỗi sản phẩm được hoàn thành qua một số công đoạn.
Tên và đơn giá mỗi công đoạn phụ thuộc vào từng sản phẩm.

Mỗi chuyền hoàn thành các sản phẩm theo từng đợt giao hàng. Mỗi đợt giao hàng chỉ giao hàng để
hoàn thành một sản phẩm và giao cho một chuyền với các thông tin ngày giao, số lượng sản phẩm
hoàn thành. Các đợt giao hàng có thể giao hoàn thành cùng sản phẩm nhưng không cùng ngày.
Mỗi chuyền phải thực hiện đợt giao hàng từ công đoạn đầu đến công đoạn cuối để hoàn

Tài liệu Phân Tích Thiết Kế Hệ Thống


82
thành sản phẩm. Đơn giá công đoạn được dùng để tính lương trả cho người sản xuất.

Trong quá trình thực hiện đợt giao hàng, một công nhân có thể làm ở nhiều công đoạn khác nhau trong
một chuyền. Trong mỗi công đoạn có nhiều công nhân tham gia làm việc. Mỗi công nhân làm việc
trong một công đoạn sẽ được chấm công theo số lượng hoàn thành. Hàng ngày, kế toán phải nhập bảng
chấm công do các ban điều hành các chuyền gởi về. Bảng chấm công cho biết số lượng từng công đoạn
của từng đợt giao hàng mà công nhân thực hiện trong ngày.

Hàng tháng, doanh nghiệp trả lương cho công nhân 2 kỳ: kỳ ứng và kỳ cuối tháng. Mức lương ứng được
nhân viên kế toán xác đònh (bằng một nửa mức thu nhập hàng tháng). Kỳ ứng được phát vào ngày 20
mỗi tháng.


Cuối tháng, kế toán phải tính và lập bảng lương theo từng phòng ban, từng chuyền (để phát).
Yêu cầu
:
(a)
Xây dựng mô hình ER cho vấn đề trên.
(b)
Chuyển mô hình ER thành mô hình quan hệ.
(c)
Thiết kế phần xử lý nhập bảng chấm công vào cuối ngày.
oOo

×