DAT375 Modeling Business Requirements using Object Role Modeling (Part 1)

Preview:

DESCRIPTION

DAT375 Modeling Business Requirements using Object Role Modeling (Part 1). LeRoy Tuttle, Jr. Program Manager Microsoft. Agenda – Part 1 (DAT375). Visual Studio .NET Enterprise Architect Object Role Modeling Database Design Process Set Theory Review Object Role Modeling - PowerPoint PPT Presentation

Citation preview

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/

Recommended