DAT375 Modeling Business Requirements using Object Role Modeling (Part 1) LeRoy Tuttle, Jr. Program...
-
Upload
arthur-warren -
Category
Documents
-
view
215 -
download
3
Transcript of DAT375 Modeling Business Requirements using Object Role Modeling (Part 1) LeRoy Tuttle, Jr. Program...
DAT375DAT375
Modeling Business Modeling Business Requirements using Object Requirements using Object Role Modeling (Part 1)Role Modeling (Part 1)
LeRoy Tuttle, Jr.LeRoy Tuttle, Jr.
Program ManagerProgram Manager
MicrosoftMicrosoft
Agenda – Part 1Agenda – Part 1(DAT375)(DAT375)• Visual Studio .NET Enterprise ArchitectVisual Studio .NET Enterprise Architect• Object Role ModelingObject Role Modeling• Database Design ProcessDatabase Design Process• Set Theory ReviewSet Theory Review• Object Role ModelingObject Role Modeling• Conceptual Schema Design ProcedureConceptual Schema Design Procedure
– Modeling fact typesModeling fact types– Constraining fact types
• Documenting the Model• Implementing the Model
VSEA Database Design ToolsVSEA Database Design Tools
• Visio-based (VEA)Visio-based (VEA)– Conceptual data modeling (ORM)Conceptual data modeling (ORM)– Logical database modeling Logical database modeling
(Relational, IDEF1X, “ER”)(Relational, IDEF1X, “ER”)– Physical database modelingPhysical database modeling
(SQL Server, Access, Oracle, DB2, etc.)(SQL Server, Access, Oracle, DB2, etc.)– Forward and reverse engineering, sync, import/export, Forward and reverse engineering, sync, import/export,
reports, etc.reports, etc.
• Non-VisioNon-Visio– Online physical database design toolsOnline physical database design tools– SQL query designerSQL query designer
3
Visio for Visio for EnterpriseEnterpriseArchitectsArchitects
(VEA)(VEA)
DatabaseDatabaseand Softwareand Softwaremodelingmodeling
NetworkNetworkdiagrammingdiagramming subsumes
subsumes
part ofpart of
Object Role Modeling (ORM)Object Role Modeling (ORM)
• UnderstandableUnderstandable– Express facts and rules in plain languageExpress facts and rules in plain language
• CapableCapable– Capture more business rulesCapture more business rules
• ReliableReliable– Validate rules in English with sample dataValidate rules in English with sample data
• StableStable– Minimize the impact of changeMinimize the impact of change
• Executable Executable 5
Fact-OrientationFact-Orientation
• Data examples are expressed as factsData examples are expressed as facts• How facts are grouped into structures How facts are grouped into structures
(tables, classes, etc.) is not a (tables, classes, etc.) is not a conceptual issueconceptual issue
• Fact-orientation is at a level Fact-orientation is at a level above object-orientationabove object-orientation
• Here is where domain expert and modeler Here is where domain expert and modeler should communicateshould communicate
6
Examining a Scheduling ThemeExamining a Scheduling Theme
7
Mon Tue
8 am
9 00
10 00
11 00
12 pm
1 00
2 00
3 00
4 00
5 00
Wed Thu Fri
Brownbag lunch: ORM
Team meeting
Manager 1:1
Data Modeling Project
Data Modeling Project
All-haQuartMeeti
Off sitTrainiClass
Out of Office:Doctor’s Appt
Mon Tue
8 am
9 00
10 00
11 00
12 pm
1 00
2 00
3 00
4 00
5 00
Wed Thu FriMon Tue
8 am
9 00
10 00
11 00
12 pm
1 00
2 00
3 00
4 00
5 00
Wed Thu Fri
Brownbag lunch: ORMBrownbag lunch: ORM
Team meetingTeam meetingTeam meeting
Manager 1:1Manager 1:1Manager 1:1
Data Modeling Project
Data Modeling Project
Data Modeling Project
Data Modeling Project
Data Modeling Project
Data Modeling Project
All-haQuartMeeti
All-haQuartMeeti
Off sitTrainiClass
Off sitTrainiClass
Out of Office:Doctor’s ApptOut of Office:Doctor’s Appt
Examining a Scheduling ThemeExamining a Scheduling Theme(Tabular Information)(Tabular Information)
MonTueTueTueWedThuThuFri
MonTueTueTueWedThuThuFri
Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt
Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt
Conf A246101151151101NANA
Conf A246101151151101NANA
1.01.01.02.52.51.55.02.5
1.01.01.02.52.51.55.02.5
Meeting subjectMeeting subjectMeeting subjectMeeting subjectLocationLocationLocationLocation
RoomRoomRoomRoomDurationDurationDurationDuration
27271176262117NANA
27271176262117NANA
BuildingBuildingBuildingBuilding
10:309:3012:001:301:3010:0011:009:00
10:309:3012:001:301:3010:0011:009:00
YesYesNoYesYesNoNoNo
YesYesNoYesYesNoNoNo
RecurringRecurringRecurringRecurringAppointment timeAppointment timeAppointment timeAppointment time
HourHourHourHourWeekdayWeekdayWeekdayWeekday
12345678
12345678
IDIDIDID
8
Examining a Scheduling ThemeExamining a Scheduling Theme(Object Role Modeling)(Object Role Modeling)
9
Activity(code)
ActivityNameRoom(nr)
HourSlot(dh)
has / is of...at...is booked for...
20 Mon 9AM VSC
20 Tue 2PM VSC
33 Mon 9AM ORM
33 Fri 5PM SP
... ... …
VSC Visual Studio Class
SP Staff Party
ORM ORM Demo
C#1 Intro to C#
... ...
It is impossible thatIt is impossible thatmore than onemore than one Room atRoom at the samethe same HourSlotHourSlotis booked foris booked for the samethe same ActivityActivity
10
Activity(code)
Room(nr)
HourSlot(dh)
...at...is booked for...
20 Mon 9AM VSC
20 Tue 2PM VSC
33 Mon 9AM ORM
33 Fri 5PM SP
... ... …
It is impossible thatIt is impossible thatmore than onemore than one Room atRoom at the samethe same HourSlotHourSlotis booked foris booked for the samethe same ActivityActivity
11
Activity(code)
Room(nr)
HourSlot(dh)
...at...is booked for...
20 Mon 9AM VSC
20 Tue 2PM VSC
33 Mon 9AM ORM
33 Fri 5PM SP
... ... …
ORM -> ER -> DDLORM -> ER -> DDL
demodemo
14
The Baseline Database Design The Baseline Database Design ProcessProcess
15
Modeling business requirementsModeling business requirements Modeling databasesModeling databases
ExternalExternal ConceptualConceptual LogicalLogical PhysicalPhysical
Business Context as a FoundationBusiness Context as a Foundation
16
Universe of Discourse
Record Keeping
8 am
9 00
10 00
11 00
12 pm
1 00
2 00
3 00
4 00
5 00
Mon Tue Wed Thu Fri
8 am
9 00
10 00
11 00
12 pm
1 00
2 00
3 00
4 00
5 00
Mon Tue Wed Thu Fri
Brownbag Lunch: ORMBrownbag Lunch: ORM
Out of Office: Doctor’s ApptOut of Office: Doctor’s Appt
Off-sitTrainiClass
Off-sitTrainiClass
All-hanQuaterlMeetin
All-hanQuaterlMeetin
Data Modeling Project
Data Modeling Project
Data Modeling Project
Team Meeting
Team Meeting
Manager 1:1
Manager 1:1
Manager 1:1
Data Modeling Project
Data Modeling Project
Data Modeling Project
Monetary Value of Inventory by Percentage
17%
11%
15%
6%10%
22%
11%
8%
Excel Monthly Home Magazine
Ebony Macintosh Apples
Portsmouth Chablis Wine
Fast Golden Raisins
Better Creamed Corn
Denny Toilet Paper
Bird Call Tartar ControlToothpasteMusial Mint Chocolate Bar
Monetary Value of Inventory by Percentage
17%
11%
15%
6%10%
22%
11%
8%
Excel Monthly Home Magazine
Ebony Macintosh Apples
Portsmouth Chablis Wine
Fast Golden Raisins
Better Creamed Corn
Denny Toilet Paper
Bird Call Tartar ControlToothpasteMusial Mint Chocolate Bar
SQLSQL
MonTueTueTueWedThuThuFri
MonTueTueTueWedThuThuFri
Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt
Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt
Conf A246101151151101NANA
Conf A246101151151101NANA
1.01.01.02.52.51.55.02.5
1.01.01.02.52.51.55.02.5
Meeting subjectMeeting subjectLocationLocation
RoomRoomDurationDuration
2727
1176262
117NANA
2727
1176262
117NANA
BuildingBuilding
10:309:30
12:001:301:30
10:0011:009:00
10:309:30
12:001:301:30
10:0011:009:00
YesYesNoYesYesNoNoNo
YesYesNoYesYesNoNoNo
RecurringRecurringAppointment timeAppointment time
HourHourWeekdayWeekday
12345678
12345678
IDID
MonTueTueTueWedThuThuFri
MonTueTueTueWedThuThuFri
Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt
Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt
Conf A246101151151101NANA
Conf A246101151151101NANA
1.01.01.02.52.51.55.02.5
1.01.01.02.52.51.55.02.5
Meeting subjectMeeting subjectLocationLocation
RoomRoomDurationDuration
2727
1176262
117NANA
2727
1176262
117NANA
BuildingBuilding
10:309:30
12:001:301:30
10:0011:009:00
10:309:30
12:001:301:30
10:0011:009:00
YesYesNoYesYesNoNoNo
YesYesNoYesYesNoNoNo
RecurringRecurringAppointment timeAppointment time
HourHourWeekdayWeekday
12345678
12345678
IDID
MonTueTueTueWedThuThuFri
MonTueTueTueWedThuThuFri
Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt
Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt
Conf A246101151151101NANA
Conf A246101151151101NANA
1.01.01.02.52.51.55.02.5
1.01.01.02.52.51.55.02.5
Meeting subjectMeeting subjectLocationLocation
RoomRoomDurationDuration
2727
1176262
117NANA
2727
1176262
117NANA
BuildingBuilding
10:309:30
12:001:301:30
10:0011:009:00
10:309:30
12:001:301:30
10:0011:009:00
YesYesNoYesYesNoNoNo
YesYesNoYesYesNoNoNo
RecurringRecurringAppointment timeAppointment time
HourHourWeekdayWeekday
12345678
12345678
IDID
MonTueTueTueWedThuThuFri
MonTueTueTueWedThuThuFri
Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt
Team MeetingManager 1:1Brownbag Lunch: ORMData Modeling ProjectData Modeling ProjectAll-hands Quarterly MeetingOffsite Training ClassOut of Office: Doctor Apt
Conf A246101151151101NANA
Conf A246101151151101NANA
1.01.01.02.52.51.55.02.5
1.01.01.02.52.51.55.02.5
Meeting subjectMeeting subjectLocationLocation
RoomRoomDurationDuration
2727
1176262
117NANA
2727
1176262
117NANA
BuildingBuilding
10:309:30
12:001:301:30
10:0011:009:00
10:309:30
12:001:301:30
10:0011:009:00
YesYesNoYesYesNoNoNo
YesYesNoYesYesNoNoNo
RecurringRecurringAppointment timeAppointment time
HourHourWeekdayWeekday
12345678
12345678
IDID
Analysis Is A Joint Activity Analysis Is A Joint Activity
• The domain expertThe domain expert best understands the best understands the application domain application domain
• The modelerThe modeler elicits and elicits and formalizes this formalizes this understandingunderstanding
17
Who Are Domain Experts?Who Are Domain Experts?
• DefinitionDefinitionDomain expertsDomain experts are the people who provide are the people who provide
business requirements to the modelerbusiness requirements to the modeler
• ExamplesExamples– Subject matter expertsSubject matter experts– Knowledge workersKnowledge workers– Business analystsBusiness analysts– System architectsSystem architects– DevelopersDevelopers
18
Database Design RolesDatabase Design Roles
External and External and ConceptualConceptual
LogicalLogical PhysicalPhysical
Principal Principal database design database design rolesroles
Domain expertsDomain experts
ModelerModeler
ModelerModeler
DeveloperDeveloper
DeveloperDeveloper
ModelerModeler
FocusFocus Capture Capture business business requirementsrequirements
Document Document relational designrelational design
Implement Implement relational designrelational design
Modeling Modeling methodologymethodology
ORMORM ERER Transact-SQL Transact-SQL DDLDDL
19
Set Theory ReviewSet Theory Review
• Instances, Populations, Sets, and Instances, Populations, Sets, and CollectionsCollections
• Instance RelationshipsInstance Relationships• Set ExistenceSet Existence• Set Forming OperationsSet Forming Operations
Instances, Populations, Sets, and Instances, Populations, Sets, and CollectionsCollections• InstanceInstance• PopulationPopulation• SetSet• MemberMember• CollectionCollection
21
PopulationPopulation
CCCC EEEEAAAADDDDBBBB
CollectionCollection
CCCC EEEEDDDDAAAA
AAAA DDDD
1:11:1
n:mn:m
1:n1:n
Instance RelationshipsInstance Relationships
• CardinalityCardinality– One-to-one (1:1)One-to-one (1:1)– One-to-many (1:One-to-many (1:nn))– Many-to-many (Many-to-many (n:mn:m))
• Mandatory vs. optional Mandatory vs. optional cardinalitycardinality
22
AAAA
AAAA
BBBB
BBBB
BBBBBBBB
AAAA
AAAA
BBBB
BBBBBBBB
Set ExistenceSet Existence
23
IdentityIdentity
AAAA BBBB
Mutual exclusionMutual exclusion
AA BB
OverlapOverlap
BA
SubsetSubset
AAAA B
Intersection of setsIntersection of sets
Union of setsUnion of sets
Difference of setsDifference of sets
Set Forming OperationsSet Forming Operations
X Y
X Y
X Y
X U Y
X Y
U
X - Y
24
Conceptual Schema Design Conceptual Schema Design Procedure (CSDP)Procedure (CSDP)
Model R
elationshipsM
odel Relationships
1) Analyze External Information and Create a Conceptual Model1) Analyze External Information and Create a Conceptual Model
2) Draw a Fact Types and Apply a Population Check2) Draw a Fact Types and Apply a Population Check
3) Identify Primitive Entity Types and Reformulate Arithmetically3) Identify Primitive Entity Types and Reformulate Arithmetically
Derived Fact TypesDerived Fact Types
Constrain R
elationshipsC
onstrain Relationships
4) Add Uniqueness Constraints and Check Arity of Fact Types4) Add Uniqueness Constraints and Check Arity of Fact Types
5) Add Mandatory Role Constraints and Check for Logical5) Add Mandatory Role Constraints and Check for Logical
DerivationsDerivations
6) Add Value and Set Constraints, and Create Entity Subtypes6) Add Value and Set Constraints, and Create Entity Subtypes
7) Add Frequency, Ring, and Other Constraints7) Add Frequency, Ring, and Other Constraints
CSDP Step 1CSDP Step 1Analyze External Information and Analyze External Information and Create a Conceptual ModelCreate a Conceptual Model
– Creates the conceptual modelCreates the conceptual model– Fact-driven designFact-driven design– Object typesObject types– PredicatesPredicates– Communicating intentCommunicating intent
Fact-Driven DesignFact-Driven Design
• Goals of the modelerGoals of the modeler– Represent semantic relationships between Represent semantic relationships between
objectsobjects– Capture business rulesCapture business rules– Do not capture business processesDo not capture business processes
• Purpose of the data modelPurpose of the data model– Represent allowable states of data in the UoDRepresent allowable states of data in the UoD– Reflect the scope of the UoDReflect the scope of the UoD
27
What Are Fact Instances?What Are Fact Instances?
• DefinitionDefinitionA A fact instancefact instance is an individual observation of is an individual observation of
the relationship between two or more data the relationship between two or more data valuesvalues
• CharacteristicsCharacteristics– Are examples of relationships between specific Are examples of relationships between specific
datadata– Are related through an action statementAre related through an action statement– May have constraintsMay have constraints
28
What Are Object Types?What Are Object Types?
• DefinitionDefinitionAn An object typeobject type represents the set of all represents the set of all
possible instances of a given objectpossible instances of a given object
• CharacteristicsCharacteristics– Generic representations of populationsGeneric representations of populations– Always named singularlyAlways named singularly– Always title caseAlways title case– Object kindObject kind
29
What Are Predicates?What Are Predicates?
• DefinitionDefinitionA A predicatepredicate is a verb phrase that the domain is a verb phrase that the domain
expert uses to relate object typesexpert uses to relate object types
• CharacteristicsCharacteristics– Are sentence fragments with holes in them for Are sentence fragments with holes in them for
object type namesobject type names– Describe unqualified relationshipsDescribe unqualified relationships– Have reversible readingsHave reversible readings
30
What Are Fact Types?What Are Fact Types?
• DefinitionDefinitionA A fact typefact type is the set of fact instances that share is the set of fact instances that share
the same object types and predicate the same object types and predicate relationshipsrelationships
• CharacteristicsCharacteristics– Syntax: [Object type] predicate [Object type]Syntax: [Object type] predicate [Object type]– Arity of a fact typeArity of a fact type– Generic representationGeneric representation– Reversible predicate readingReversible predicate reading
31
Practice: Verbalizing Fact TypesPractice: Verbalizing Fact Types(Graphical Information)(Graphical Information)
32
LondonLondon(LHR)(LHR)
DakarDakar(DKR)(DKR)
RomeRome(FCO)(FCO)
New YorkNew York(JFK)(JFK)
AtlantaAtlanta(ATL)(ATL)
CaracasCaracas(CCS)(CCS)
US62
US68
ES23
IT37US72
UK11
VE59
VE56
VE56
MadridMadrid(MAD)(MAD)
LondonLondon(LHR)(LHR)
DakarDakar(DKR)(DKR)
RomeRome(FCO)(FCO)
New YorkNew York(JFK)(JFK)
AtlantaAtlanta(ATL)(ATL)
CaracasCaracas(CCS)(CCS)
US62
US68
ES23
IT37US72
UK11UK11
VE59
VE56
VE56
MadridMadrid(MAD)(MAD)
Flight UK11 originates in London and terminates in New York.
Flight UK11 originates in London and terminates in New York.
LondonLondon(LHR)(LHR)
DakarDakar(DKR)(DKR)
RomeRome(FCO)(FCO)
New YorkNew York(JFK)(JFK)
AtlantaAtlanta(ATL)(ATL)
CaracasCaracas(CCS)(CCS)
US62US62
US68
ES23
IT37US72
UK11
VE59
VE56
VE56
MadridMadrid(MAD)(MAD)
Flight US62 originates in Atlanta and terminates in Rome.
Flight US62 originates in Atlanta and terminates in Rome.
LondonLondon(LHR)(LHR)
DakarDakar(DKR)(DKR)
RomeRome(FCO)(FCO)
New YorkNew York(JFK)(JFK)
AtlantaAtlanta(ATL)(ATL)
CaracasCaracas(CCS)(CCS)
US62
US68
ES23
IT37US72
UK11
VE59
VE56VE56
VE56VE56
MadridMadrid(MAD)(MAD)
Flight VE56 originates in Caracas and terminates in
Rome.
Flight VE56 originates in Caracas and terminates in
Rome.
LondonLondon(LHR)(LHR)
DakarDakar(DKR)(DKR)
RomeRome(FCO)(FCO)
New YorkNew York(JFK)(JFK)
AtlantaAtlanta(ATL)(ATL)
CaracasCaracas(CCS)(CCS)
US56
US68
ES23
IT37US72
UK11
VE59
VE56
VE56
MadridMadrid(MAD)(MAD)
11 3322
Practice: Verbalizing Fact TypesPractice: Verbalizing Fact Types(Tabular Information)(Tabular Information)
UK11US72IT37ES23US56VE59VE56US68
UK11US72IT37ES23US56VE59VE56US68
LondonNew YorkRomeMadridAtlantaCaracasCaracasAtlanta
LondonNew YorkRomeMadridAtlantaCaracasCaracasAtlanta
5191259248
5191259248
14:251:5511:1211:1223:508:038:484:54
14:251:5511:1211:1223:508:038:484:54
On TimeDelayedBoardingOn TimeOn TimeCanceledOn TimeBoarding
On TimeDelayedBoardingOn TimeOn TimeCanceledOn TimeBoarding
FlightFlightnumbernumber
FlightFlightnumbernumber
OriginationOriginationcitycity
OriginationOriginationcitycity
Departure infoDeparture infoDeparture infoDeparture info
GateGateGateGate TimeTimeTimeTimeStatusStatusStatusStatus
34EInt’l3T
Int’lInt’lT
34EInt’l3T
Int’lInt’lT
TerminalTerminalTerminalTerminal
New YorkLondonNew YorkAtlantaRomeNew YorkRomeCaracas
New YorkLondonNew YorkAtlantaRomeNew YorkRomeCaracas
Destination Destination citycity
Destination Destination citycity
33
CSDP Step 1CSDP Step 1
demodemo
34
CSDP Step 2CSDP Step 2Draw a Conceptual Model and Apply a Draw a Conceptual Model and Apply a Population CheckPopulation Check
– Conceptual data model vs. the diagramConceptual data model vs. the diagram– Meaningful sample populationMeaningful sample population
Object Type Names and Reference ModeObject Type Names and Reference Mode
Kinds of Object TypesKinds of Object Types
How Objects Types Are SymbolizedHow Objects Types Are Symbolized
Entity Value
Name
36
Name(Reference)
ArityArity
Predicate PhrasePredicate Phrase
Role ConnectorRole Connector
RoleRole
How Predicates Are SymbolizedHow Predicates Are Symbolized
... ...
... ... ...
... ... ... ...
Binary
Ternary
Quaternary
37
...
...
... has .../... is of ...
38
Object TypesObject TypesPredicatePredicateLocation’s Role in the Predicate
Location’s Role in the Predicate
Time’s Role in the Predicate
Time’s Role in the Predicate
Subject’s Role in the Predicate
Subject’s Role in the Predicate
Location
Time
Subject
...at...is used for...
11 3322
How Fact Types Are SymbolizedHow Fact Types Are Symbolized
Validate Fact Types with a Meaningful Validate Fact Types with a Meaningful Sample PopulationSample Population
• Data is representativeData is representative• Data has meaningful variationsData has meaningful variations• DATA IS REAL!!DATA IS REAL!!
39
CSDP Step 2CSDP Step 2
demodemo
40
CSDP Step 3CSDP Step 3Check for entity types that should be Check for entity types that should be combined, and note any arithmetic combined, and note any arithmetic derivationsderivations
– Trim schemaTrim schema– Coalesce like setsCoalesce like sets– Eliminate use of value types for calculated dataEliminate use of value types for calculated data
What Is a Conceptual Partitioning What Is a Conceptual Partitioning Scheme?Scheme?
• DefinitionDefinitionA A conceptual partitioning schemeconceptual partitioning scheme is the is the
systematic separation of the UoD’s systematic separation of the UoD’s population into meaningful object typespopulation into meaningful object types
• CharacteristicsCharacteristics– Group and division of UoDGroup and division of UoD– Mutually exclusive partitionsMutually exclusive partitions– Exhaustive partitionsExhaustive partitions
42
Partitioning Object TypesPartitioning Object Types
AtomicAtomic AtomicAtomicNumbersNumbers
AtomicAtomicStringsStrings
AtomicAtomic NestedNested
Entity TypesEntity Types Value TypesValue Types
Object Types in the Universe of DiscourseObject Types in the Universe of DiscourseObject Types in the Universe of DiscourseObject Types in the Universe of Discourse
43
What Are Primitive Entity Types?What Are Primitive Entity Types?
• DefinitionDefinitionPrimitive entity types Primitive entity types represent the most basic represent the most basic
entity types in the UoDentity types in the UoD
• CharacteristicsCharacteristics– AtomicAtomic– Mutually exclusiveMutually exclusive
44
Example of Primitive Entity TypesExample of Primitive Entity Types
45
Car, BusVan, Boat
History, MathLiterature
City, State,
County
Student,Parent,
Firefighter
Vehicle
Subject
Person Location
Guidelines for Coalescing Entity TypesGuidelines for Coalescing Entity Types
• Common instancesCommon instances• Common relationshipsCommon relationships• Common partitioning schemeCommon partitioning scheme• Common unit-based reference modeCommon unit-based reference mode• Common primitive entity typeCommon primitive entity type
• Need to perform union on resultsNeed to perform union on results• Use intersection of sets to create resultsUse intersection of sets to create results
46
Look for commonalitiesLook for commonalitiesLook for commonalitiesLook for commonalities
Look for need to manipulate query resultsLook for need to manipulate query resultsLook for need to manipulate query resultsLook for need to manipulate query results
What Are Derived Fact Types?What Are Derived Fact Types?
• DefinitionDefinitionA A derived fact typederived fact type is inferred from roles in is inferred from roles in
other fact types other fact types
• CharacteristicsCharacteristics– Derivation ruleDerivation rule– Derived vs. derived and storedDerived vs. derived and stored– Use of role namesUse of role names
• How derived fact types are symbolizedHow derived fact types are symbolized
47
CSDP Step 3CSDP Step 3
demodemo
48
Agenda – Part 2Agenda – Part 2(DAT376)(DAT376)• Visual Studio .NET Enterprise Architect• Object Role Modeling • Database Design Process• Set Theory Review• Object Role Modeling• Conceptual Schema Design Procedure
– Modeling fact types– Constraining fact typesConstraining fact types
• Documenting the ModelDocumenting the Model• Implementing the ModelImplementing the Model
Concluding RemarksConcluding Remarks
• Modeling Business Requirements vs. Modeling Business Requirements vs. Modeling a DatabaseModeling a Database
• Use ORM for information analysisUse ORM for information analysis• Use data use cases to seed Use data use cases to seed
data modelsdata models• Use Visual Studio .NET Ent. Architect for Use Visual Studio .NET Ent. Architect for
conceptual, logical, and physical database conceptual, logical, and physical database modelingmodeling
Further ResourcesFurther Resources
• MOC Course 2090: Modeling Business Requirements to MOC Course 2090: Modeling Business Requirements to Create a Database Using Visual Studio .NET Enterprise Create a Database Using Visual Studio .NET Enterprise ArchitectArchitect
• http://http://msdn.microsoft.com/theshowmsdn.microsoft.com/theshow// (Episode 25) (Episode 25) • http://www.msdn.microsoft.com/library/en-us/dv_vstecharhttp://www.msdn.microsoft.com/library/en-us/dv_vstechar
t/html/vstchvsea_ormoverview.aspt/html/vstchvsea_ormoverview.asp
(+ articles on use of VEA)(+ articles on use of VEA)• http://www.orm.nethttp://www.orm.net• http://www.inconcept.comhttp://www.inconcept.com• http://www.ormcentral.comhttp://www.ormcentral.com• Halpin, T.A. 2001, Halpin, T.A. 2001, Information Modeling and Relational Information Modeling and Relational
DatabasesDatabases, Morgan Kaufmann (ISBN 1-55860-672-6), Morgan Kaufmann (ISBN 1-55860-672-6)
Don’t forget to complete the Don’t forget to complete the on-line Session Feedback form on-line Session Feedback form on the Attendee Web siteon the Attendee Web site
https://web.mseventseurope.com/teched/https://web.mseventseurope.com/teched/