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

PATTERNS OF DATA MODELING- P29 docx

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 (152.8 KB, 5 trang )

124 Chapter 10 / Archetypes
The Actor archetype is highly generic. You can capture data for individual actors either
by using softcoded values (see Chapter 13) or by creating specific entity types as this chapter
does for customer (Section 10.7) and vendor (Section 10.20).
10.3 Address
An Address is a means for communicating with an Actor (Figure 10.5, Figure 10.6). An ad-
dress can be a postal address, email address, phone number, or URL. An address can serve
various purposes (AddressRoleTypes, see Section 10.18) such as shipping, billing, business,
and home. Thus the same address might be used both as a business address and a home ad-
dress.
10.4 Asset
An Asset is something of value (Figure 10.7, Figure 10.8). An OwnedAsset is an asset that
is owned outright. A RentedAsset is the use of an OwnedAsset for some time period. Thus,
for example, a bicycle that is owned is an OwnedAsset. A bicycle that is rented for some time
period is a RentedAsset. An OwnedAsset may or may not be individually identified — if an
OwnedAsset lacks identity, AssetOwnership can involve a multiple quantity.
For another example, consider a timeshare. The underlying property is an OwnedAsset.
The timeshare itself is a RentedAsset available for some time interval. Timeshares can be is-
sued for a particular unit but are often tradeable and substitutable by a comparable unit.
Figure 10.5 Archetype Address: UML model. An Address is a means
for communicating with an actor.
Address
name
creationDate
comment
AddressRole
PostalAddress EmailAddress PhoneNumber
*
1
countryCodeemailAddress
AddressRoleType


name {unique}
URL
url
areaCode
localPhoneNum
street
city
stateProvince
postalCode
country
1
*
Actor
**
10.5 Contract 125
10.5 Contract
A Contract is an agreement for the supply of products (Figure 10.9, Figure 10.10). (Section
10.17 discusses Product.) Many Actors (various persons and organizations in a variety of
roles) can participate in a contract. Businesses use contracts as a means for conducting com-
Figure 10.6 Archetype Address: IDEF1X model.
addressDiscrim
addressID
Address
addressName
creationDate
comment
addressDiscrim
EmailAddress
emailAddressID (FK)
emailAddress

PostalAddress
postalAddressID (FK)
street
URL
urlID (FK)
city
stateProvince
postalCode
country
url
PhoneNumber
phoneNumberID (FK)
countryCode
areaCode
localPhoneNum
AddressRole_Actor
addressRoleID (FK)
actorID (FK)
actorID
Actor
. . .
addressRoleID
AddressRole
addressRoleTypeID
AddressRoleType
addressRoleTypeName (AK1.1)
addressID (FK)
addressRoleTypeID (FK)
Asset
name

Figure 10.7 Archetype Asset: UML model. An Asset is something of value.
AssetValue
value
dateOfValue
actualOrEstimated
1
*
OwnedAsset
AssetOwnership
quantity
startDate
endDate
*
1
Actor
1
*
RentedAsset
date
startTime
endTime
identifier[0 1]
*
1
Currency
name {unique}
*
1
126 Chapter 10 / Archetypes
merce. The financial markets use contracts for trading and capture specialized details, such

as various kinds of securities, long and short quantities, as well as bid and ask price ranges.
There are various ContractTypes including purchase order, sales order, construction,
lease, advertising, and employment.
10.6 Course
A Course is a series of lessons about a subject (Figure 10.11, Figure 10.12). A ListedCourse
is an entry in a course catalog and is sponsored by a SchoolDistrict or some other education
forum. A ScheduledCourse is a specific offering of a ListedCourse and is delivered by a
Figure 10.8 Archetype Asset: IDEF1X model.
assetDiscrim
assetID
Asset
assetName
assetDiscrim
RentedAsset
rentedAssetID (FK)
date
OwnedAsset
ownedAssetID (FK)
startTime
endTime
identifier
ownedAssetID (FK)
assetValueID
AssetValue
value
dateOfValue
actualOrEstimated
assetID (FK)
currencyID (FK)
assetOwnershipID

AssetOwnership
quantity
startDate
endDate
assetID (FK)
actorID (FK)
actorID
Actor
. . .
currencyID
Currency
currencyName (AK1.1)
Figure 10.9 Archetype Contract: UML model. A Contract is an agree-
ment for the supply of products.
Contract
number
ContractType
name {unique}
Product
*
*
*
1
Actor
**
ContractItem
name
1
1
quantity

10.7 Customer 127
Teacher at a School using any number of Textbooks. There is a CourseRegistration for each
Student who participates in a ScheduledCourse. Note that the Course archetype has two Item
Description templates (see Chapter 5). ListedCourse corresponds to ItemDescription and
ScheduledCourse corresponds to Item. Similarly, ScheduledCourse corresponds to ItemDe-
scription and CourseRegistration corresponds to Item.
10.7 Customer
A Customer is someone involved in the purchase of products (Figure 10.13, Figure 10.14).
Customer reifies the customer role for a TangibleActor (in this case a person or organization,
Figure 10.10 Archetype Contract: IDEF1X model.
actorID
Actor
. . .
productID
Product
. . .
contractTypeID
ContractType
contractTypeName (AK1.1)
contractID
Contract
contractNumber
contractTypeID (FK)
Contract_Actor
contractID (FK)
actorID (FK)
contractItemID
ContractItem
contractItemName
quantity

productID (FK)
contractID (FK)
Figure 10.11 Archetype Course: UML model. A Course is a series of
lessons about a subject.
ListedCourse
name
ListedLesson
name
scheduledDuration
School
name
*
1
{ordered}
ScheduledCourse
startDate
endDate
Student
name
Teacher
name
*
1
CourseRegistration
registrationDate
terminationDate
*
1
*
1

1
*
1
*
SchoolDistrict
name
1
*
1
*
*
1
*
1
grade
**
Textbook
name
128 Chapter 10 / Archetypes
see Section 10.2). Customers are critically important to business and there is special data to
collect for them, such as sales data, credit information, and discount schedules. You could
use softcoding (see Chapter 13) to capture customer data, but an alternative is to define a dis-
tinct Customer entity type as shown here.
10.8 Document
A Document is a physical or electronic representation of a body of information (Figure
10.15, Figure 10.16).
Figure 10.12 Archetype Course: IDEF1X model.
schoolID
School
schoolName

schoolDistrictID (FK)
schoolDistrictID
SchoolDistrict
schoolDistrictName
studentID
Student
studentName
schoolID (FK)
courseRegistrationID
CourseRegistration
registrationDate
terminationDate
grade
studentID (FK)
scheduledCourseID (FK)
scheduledCourseID
ScheduledCourse
startDate
endDate
schoolID (FK)
teacherID (FK)
listedCourseID (FK)
listedCourseID
ListedCourse
listedCourseName
schoolDistrictID (FK)
teacherID
Teacher
teacherName
schoolDistrictID (FK)

listedLessonID
ListedLesson
listedLessonName
scheduledDuration
listedCourseID (FK) (AK1.1)
sequenceNumber (AK1.2)
textbookID
Textbook
textbookName
SchedCourse_Textbook
scheduledCourseID (FK)
textbookID (FK)
0 1
TangibleActor
Customer
salesData
1
creditInformation
discountSchedules
Figure 10.13 Archetype Customer: UML model. A Customer is someone
involved in the purchase of products.

×