Data Structure:Data Modeling or XML?
Metatopia 2007Washington, D.C.November 6, 2007David C. Hay
Essential Strategies, Inc.13 Hilshire Grove Lane, Houston, TX 77055 (713) 464-8316 [email protected] www.essentialstrategies.com
Copyright (c) 2007, Essential Strategies, Inc. 2 /34/34
Agenda
Case Study: The Justice Department Four ways to look at data The Conceptual Entity/Relationship Model The XML Version An Examination An Alternative Model The Revised XML The Federal Data Reference Model Conclusions
Copyright (c) 2007, Essential Strategies, Inc. 3 /34/34
Agenda
Case Study: The Justice Department Four ways to look at data The Conceptual Entity/Relationship Model The XML Version An Examination An Alternative Model The Revised XML The Federal Data Reference Model Conclusions
Copyright (c) 2007, Essential Strategies, Inc. 4 /34/34
The heart of the problem . . .
1. U.S. Department of Justice. “Building Exchange Content Using the Global Justice XML Data Model: A User Guide for Practitioners and Developers”. June, 2005. p. v. (Available at: http://it.ojp.gov/topic.jsp?topic_id=201.)
“Accurate and germane sharing of informa-tion across jurisdictions is a critical issue for justice and public safety. Although there has been significant progress in the field of infor-mation technology, the lack of standards for exchanging justice data has not only been a major obstacle to, but also the principal rea-son for, the high costs involved with justice information exchange.”1
Copyright (c) 2007, Essential Strategies, Inc. 5 /34/34
According to the Justice Department . . .
Sharing requires standards for exchanging data.
For this reason, they have developed the Global XML Data Model – in XML.
But sharing involves more than data exchange.
It means agreeing on semantics. This means understanding the meaning of
the data being exchanged . . . Not just the form and syntax.
This calls for This calls for something more...something more...
Copyright (c) 2007, Essential Strategies, Inc. 6 /34/34
Agenda
Case Study: The Justice Department Four ways to look at data The Conceptual Entity/Relationship Model The XML Version An examination An alternative Model The Revised XML The Federal Data Reference Model Conclusions
Copyright (c) 2007, Essential Strategies, Inc. 7 /34/34
Four ways to look at data
ExternalSchema 1
ExternalSchema 2
External Schema 3
ConceptualSchema
Internal Schema
Internal Schema
PhysicalSchema Physical
Schema
Logical Schema(Relnl.)
Logical Schema(XML)
Copyright (c) 2007, Essential Strategies, Inc. 8 /34/34
Four ways to look at data
ExternalSchema 1
ExternalSchema 2
External Schema 3
External Schema In particular viewer’s
terms Overlapping May be inconsistent,
at least in use of words.
Difficult to reconcile different views
Copyright (c) 2007, Essential Strategies, Inc. 9 /34/34
Four ways to look at data
ConceptualSchema
Conceptual Schema
Reconciles different external schema into one view.Reflects logical structure of data
Copyright (c) 2007, Essential Strategies, Inc. 10 /34/34
Four ways to look at data
InternalSchema(Relnl.)
InternalSchema(XML)
LogicalSchema(Relnl.)
LogicalSchema(XML)
Internal Schema Logical Schema –
design in terms of a DBMS: tables and columns, object classes, etc.
Physical Schema -- design of physical medium: cylinders, tablespaces, etc.
PhysicalSchema Physical
Schema
Copyright (c) 2007, Essential Strategies, Inc. 11 /34/34
PhysicalSchema Physical
Schema
In terms of the Architecture Framework . . .
ExternalSchema 1
ExternalSchema 2
External Schema 3
ConceptualSchema
LogicalSchema(Relnl.)
Business owners’ views
Architect’s view
LogicalSchema(XML)
Designers’ views
Builders’ views
Copyright (c) 2007, Essential Strategies, Inc. 12 /34/34
Agenda
Case Study: The Justice Department Four ways to look at data The Conceptual Entity/Relationship Model The XML Version An examination An alternative Model The Revised XML The Federal Data Reference Model Conclusions
Copyright (c) 2007, Essential Strategies, Inc. 13 /34/34
The Conceptual Model (Schema) . . .
ExternalSchema 1
ExternalSchema 2
External Schema 3
ConceptualSchema
Logical Schema(Relnl.)
Logical Schema(XML)
PhysicalSchema Physical
Schema
Copyright (c) 2007, Essential Strategies, Inc. 14 /34/34
The Conceptual Entity / Relationship Model . . .
Addresses the semantics of the organization. Consists of assertions about the nature of the
enterprise. Is graphic, so it can be discussed with the
business community.
Copyright (c) 2007, Essential Strategies, Inc. 15 /34/34
WORKBOOK(DOCUMENT)* AUTHOR* LAST AUTHOR# CREATED* LAST SAVED* COMPANY* VERSION NUMBER* .* WEB REFERENCE* DOWNLOAD COMPONENT
WORKSHEET# NAME
COLUMN# COLUMN NUMBER* AUTOFIT WIDTH (INDICATOR)* WIDTHo HIDDEN (INDICATOR)o SPAN (INDICATOR)
ROW# ROW NUMBER
CELL* INDEX* HREF* STYLE ID* DATA VALUE* ROW NUMBER* COLUMN NUMBER* COLUMN AUTOFIT WIDTH* COLUMN WIDTH
TABLE* EXPANDED COLUMN COUNT* EXPANDED ROW COUNT* FULL COLUMN (INDICATOR)* FULL ROW (INDICATOR)
DATUM* TYPE
part of
composed of
in
composed of
in
composed of
located in
the locationof
part of
composed of
in
home of
For example . . .
Copyright (c) 2007, Essential Strategies, Inc. 16 /34/34
Note the semantics . . .
Each
<first entity>
m ust be[or]m ay be
<re la tionsh ip nam e>
one and only one[o r]one or m ore
<second entity>
primarily about
BO O K
T O P IC
primarily about
BOOK TOPICaddressed in
Each BOOK must be primarily about one and only one TOPIC.
Each TOPIC may be addressed in one or more BOOKS.
For example . . .
Copyright (c) 2007, Essential Strategies, Inc. 17 /34/34
Ok, it’s true . . .
Many data modelers don’t care about semantics.
They only care about database design (the technical solution).
Just as XML advocates are promoting a technical solution.
But semantics comes first!
Copyright (c) 2007, Essential Strategies, Inc. 18 /34/34
Agenda
Case Study: The Justice Department Four ways to look at data The Conceptual Entity/Relationship Model The XML Version An examination An alternative Model The Revised XML The Federal Data Reference Model Conclusions
Copyright (c) 2007, Essential Strategies, Inc. 19 /34/34
What is XML?
Copyright (c) 2007, Essential Strategies, Inc. 20 /34/34
XML is a kind of internal (Logical) schema. . .
ExternalSchema 1
ExternalSchema 2
External Schema 3
ConceptualSchema
LogicalSchema(Relnl.)
LogicalSchema(XML)
PhysicalSchema Physical
Schema
Designers’ view
Copyright (c) 2007, Essential Strategies, Inc. 21 /34/34
XML: The 1 Minute tutorial . . .
XML is a language for data communications. It is based on tags defined by the creator.
For example: <product>
<product_name>BlackBerry</product name></product>
Notes: Each tag provides a label for that
which follows it. Each tag must be accompanied by
an end tag (</…) Tags are defined by a community within which
communications are to take place. “All we have to do is to agree on the tags…”
Copyright (c) 2007, Essential Strategies, Inc. 22 /34/34
XML Schema: The 1 minute tutorial . . .
XML Schema is an XML document that defines the tags toconfigure other documents.
The “tags” are predefined in a WW3 namespace: Xs:schema
xmins:xs=“http://www.w3.org/2001/XMLSchema” Some of the tags include:
<xs:element> <xs:complexType> <xs:sequence> <xs:simpleContent> <xs:attribute>
Key attributes of <xs:attribute> and <xs:element>: Name=“Chuck” Type=“xs:string” Use=“required” MinOccurs=“0” MaxOccurs=“unlimited”
Copyright (c) 2007, Essential Strategies, Inc. 23 /34/34
The XML Schema version of our model . . .
<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?><!--W3C Schema generated by XML Spy v4.0.1 (http://www.xmlspy.com)--><!--W3C Schema generated by XML Spy v4.0.1 (http://www.xmlspy.com)--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="<xs:element name="WorkbookWorkbook">"><xs:complexType><xs:complexType>
<xs:sequence><xs:sequence><xs:element name="<xs:element name="WorksheetWorksheet" maxOccurs="unbounded">" maxOccurs="unbounded">
<xs:complexType><xs:complexType><xs:sequence><xs:sequence>
<xs:element name="<xs:element name="TableTable" minOccurs="0">" minOccurs="0"><xs:complexType><xs:complexType>
<xs:sequence><xs:sequence> <xs:attribute name="<xs:attribute name="ExpandedColumnCountExpandedColumnCount" type="xs:byte" use="required"/>" type="xs:byte" use="required"/>
<xs:attribute name="<xs:attribute name="ExpandedRowCountExpandedRowCount" type="xs:byte" use="required"/>" type="xs:byte" use="required"/> <xs:attribute name="<xs:attribute name="FullColumnsFullColumns" type="xs:boolean" use="required"/>" type="xs:boolean" use="required"/> <xs:attribute name="<xs:attribute name="FullRowsFullRows" type="xs:boolean" use="required"/>" type="xs:boolean" use="required"/>
<xs:element name="<xs:element name="ColumnColumn" maxOccurs="unbounded">" maxOccurs="unbounded"><xs:complexType><xs:complexType>
<xs:attribute name="<xs:attribute name="AutoFitWidthAutoFitWidth" type="xs:boolean" " type="xs:boolean" use="required"/>use="required"/>
<xs:attribute name="<xs:attribute name="WidthWidth" type="xs:decimal" " type="xs:decimal" use="required"/>use="required"/>
<xs:attribute name="<xs:attribute name="HiddenHidden" type="xs:boolean"/>" type="xs:boolean"/><xs:attribute name="<xs:attribute name="SpanSpan" type="xs:boolean"/>" type="xs:boolean"/>
</xs:complexType></xs:complexType></xs:element></xs:element><xs:element name="<xs:element name="RowRow" maxOccurs="unbounded">" maxOccurs="unbounded">
<xs:complexType><xs:complexType><xs:sequence><xs:sequence>
<xs:element name="<xs:element name="CellCell" maxOccurs="unbounded">" maxOccurs="unbounded"><xs:complexType><xs:complexType>
<xs:sequence><xs:sequence><xs:attribute name="<xs:attribute name="StyleIDStyleID" type="xs:string"/>" type="xs:string"/><xs:attribute name="<xs:attribute name="IndexIndex" type="xs:byte"/>" type="xs:byte"/><xs:attribute name="<xs:attribute name="HRefHRef" type="xs:string"/>" type="xs:string"/>
Copyright (c) 2007, Essential Strategies, Inc. 24 /34/34
Of course one page isn’t enough . . .
<xs:element name="<xs:element name="DataData" minOccurs="0">" minOccurs="0"> <xs:complexType><xs:complexType> <xs:simpleContent><xs:simpleContent>
<xs:restriction base="xs:string"><xs:restriction base="xs:string"> <xs:attribute name="<xs:attribute name="TypeType" type="xs:string" " type="xs:string" use="required"/>use="required"/> </xs:restriction></xs:restriction>
</xs:simpleContent></xs:simpleContent></xs:complexType></xs:complexType>
</xs:element></xs:element></xs:sequence></xs:sequence>
</xs:complexType></xs:complexType></xs:element></xs:element>
</xs:sequence></xs:sequence></xs:complexType></xs:complexType>
</xs:element></xs:element></xs:sequence></xs:sequence>
</xs:complexType></xs:complexType></xs:element></xs:element>
</xs:sequence></xs:sequence><xs:attribute name="<xs:attribute name="NameName" type="xs:string" use="required"/>" type="xs:string" use="required"/>
</xs:complexType></xs:complexType></xs:element></xs:element>
</xs:sequence></xs:sequence></xs:complexType></xs:complexType>
</xs:element></xs:element></xs:schema></xs:schema>
Copyright (c) 2007, Essential Strategies, Inc. 25 /34/34
Agenda
Case Study: The Justice Department Four ways to look at data The Conceptual Entity/Relationship Model The XML Version An examination An alternative Model The Revised XML The Federal Data Reference Model Conclusions
Copyright (c) 2007, Essential Strategies, Inc. 26 /34/34
<?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?><!--W3C Schema generated by XML Spy v4.0.1 (http://www.xmlspy.com)--><!--W3C Schema generated by XML Spy v4.0.1 (http://www.xmlspy.com)--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="<xs:element name="WorkbookWorkbook">"><xs:complexType><xs:complexType>
<xs:sequence><xs:sequence><xs:element name="<xs:element name="WorksheetWorksheet" maxOccurs="unbounded">" maxOccurs="unbounded">
<xs:complexType><xs:complexType><xs:sequence><xs:sequence>
<xs:element name="<xs:element name="TableTable" minOccurs="0">" minOccurs="0"><xs:complexType><xs:complexType>
<xs:sequence><xs:sequence> <xs:attribute name="<xs:attribute name="ExpandedColumnCountExpandedColumnCount" type="xs:byte" use="required"/>" type="xs:byte" use="required"/>
<xs:attribute name="<xs:attribute name="ExpandedRowCountExpandedRowCount" type="xs:byte" use="required"/>" type="xs:byte" use="required"/> <xs:attribute name="<xs:attribute name="FullColumnsFullColumns" type="xs:boolean" use="required"/>" type="xs:boolean" use="required"/> <xs:attribute name="<xs:attribute name="FullRowsFullRows" type="xs:boolean" use="required"/>" type="xs:boolean" use="required"/>
<xs:element name="<xs:element name="ColumnColumn" maxOccurs="unbounded">" maxOccurs="unbounded"><xs:complexType><xs:complexType>
<xs:attribute name="<xs:attribute name="AutoFitWidthAutoFitWidth" type="xs:boolean" " type="xs:boolean" use="required"/>use="required"/>
<xs:attribute name="<xs:attribute name="WidthWidth" type="xs:decimal" " type="xs:decimal" use="required"/>use="required"/>
<xs:attribute name="<xs:attribute name="HiddenHidden" type="xs:boolean"/>" type="xs:boolean"/><xs:attribute name="<xs:attribute name="SpanSpan" type="xs:boolean"/>" type="xs:boolean"/>
</xs:complexType></xs:complexType></xs:element></xs:element><xs:element name="<xs:element name="RowRow" maxOccurs="unbounded">" maxOccurs="unbounded">
<xs:complexType><xs:complexType><xs:sequence><xs:sequence>
<xs:element name="<xs:element name="CellCell" maxOccurs="unbounded">" maxOccurs="unbounded"><xs:complexType><xs:complexType>
<xs:sequence><xs:sequence><xs:attribute name="<xs:attribute name="StyleIDStyleID" type="xs:string"/>" type="xs:string"/><xs:attribute name="<xs:attribute name="IndexIndex" type="xs:byte"/>" type="xs:byte"/><xs:attribute name="<xs:attribute name="HRefHRef" type="xs:string"/>" type="xs:string"/>
Ok, Let’s look at that again . . .
Entity classes
Relationshipcardinality(Default:
must be 1)
Attributes
Attribute optionalit
y
Copyright (c) 2007, Essential Strategies, Inc. 27 /34/34
<xs:element name="<xs:element name="DataData" minOccurs="0">" minOccurs="0"> <xs:complexType><xs:complexType>
</xs:complexType></xs:complexType></xs:element></xs:element>
</xs:sequence></xs:sequence></xs:complexType></xs:complexType>
</xs:element></xs:element></xs:sequence></xs:sequence>
</xs:complexType></xs:complexType></xs:element></xs:element>
</xs:sequence></xs:sequence></xs:complexType></xs:complexType>
</xs:element></xs:element></xs:sequence></xs:sequence><xs:attribute name="<xs:attribute name="NameName" type="xs:string" use="required"/>" type="xs:string" use="required"/>
</xs:complexType></xs:complexType></xs:element></xs:element>
</xs:sequence></xs:sequence></xs:complexType></xs:complexType>
</xs:element></xs:element></xs:schema></xs:schema>
And, of course, the rest of it . . .
You may not have noticed, but this is an attribute of
WORKSHEET
Copyright (c) 2007, Essential Strategies, Inc. 28 /34/34
XML Spy does provide a graphic . . .
<Element>
<Complex type> <Sequence>
Optional element
Must be one or more elements
<Attribute>
Copyright (c) 2007, Essential Strategies, Inc. 29 /34/34
But wait! There’s more to the model!
In the data model, these
were attributes of WORKBOOK
Copyright (c) 2007, Essential Strategies, Inc. 30 /34/34
More about Styles . . .
Copyright (c) 2007, Essential Strategies, Inc. 31 /34/34
Not to mention Worksheet Options, etc. . .
Copyright (c) 2007, Essential Strategies, Inc. 32 /34/34
Please forgive me for not Please forgive me for not showing you the six pages showing you the six pages of resulting XML . . .of resulting XML . . .
Copyright (c) 2007, Essential Strategies, Inc. 33 /34/34
EXCEL WORKBOOK* WINDOW HEIGHT* WINDOW WIDTH* WINDOW TOP X* WINDOW TOP Y* PROTECT STRUCTURE INDICATOR* PROTECT WINDOWS INDICATOR
WORKBOOK (DOCUMENT)* AUTHOR* LAST AUTHOR# CREATED* LAST SAVED* COMPANY* VERSION NUMBER* .* WEB REFERENCE* DOWNLOAD COMPONENT
STYLE* IDo NAME
WORKSHEET# NAME
COLUMN# COLUMN NUMBER* AUTOFIT WIDTH (INDICATOR)* WIDTHo HIDDEN (INDICATOR)o SPAN (INDICATOR)
ROW# ROW NUMBER
CELL* INDEX* HREF* STYLE ID* DATA VALUE* ROW NUMBER* COLUMN NUMBER* COLUMN AUTOFIT WIDTH* COLUMN WIDTH
BORDER* POSITION* LINE STYLE* WEIGHT
TABLE* EXPANDED COLUMN COUNT* EXPANDED ROW COUNT* FULL COLUMN (INDICATOR)* FULL ROW (INDICATOR)
DATUM* TYPE
SORTING
SORT
DOCUMENTPROPERTY(DESCRIPTION)* AUTHOR* LAST AUTHOR* CREATED* LAST SAVED (DATE)* VERSION (NUMBER)
BORDER GROUPING
ALIGNMENT* SS:VERTICALo SS:WRAP TEXT
NUMBER FORMATo SS:FORMAT
FONTo COLORo UNDERLINEo FAMILYo BOLD
PROTECTIONINTERIOR
part of
composed of
in
composed of
in
composed of
located in
the location of
in
to describe
part of
composed of
part of
composed of
part of
composed of
part of
composed of
part of
composed of
in
home of
of
describedby
What does this mean to the data model?
Copyright (c) 2007, Essential Strategies, Inc. 34 /34/34
EXCEL WORKBOOK* WINDOW HEIGHT* WINDOW WIDTH* WINDOW TOP X* WINDOW TOP Y* PROTECT STRUCTURE INDICATOR* PROTECT WINDOWS INDICATOR
WORKBOOK (DOCUMENT)* AUTHOR* LAST AUTHOR# CREATED* LAST SAVED* COMPANY* VERSION NUMBER* .* WEB REFERENCE* DOWNLOAD COMPONENT
STYLE* IDo NAME
WORKSHEET# NAME
COLUMN# COLUMN NUMBER* AUTOFIT WIDTH (INDICATOR)* WIDTHo HIDDEN (INDICATOR)o SPAN (INDICATOR)
ROW# ROW NUMBER
CELL* INDEX* HREF* STYLE ID* DATA VALUE* ROW NUMBER* COLUMN NUMBER* COLUMN AUTOFIT WIDTH* COLUMN WIDTH
BORDER* POSITION* LINE STYLE* WEIGHT
WORKSHEET OPTIONo SELECTEDo PROTECT OBJECTSo PROTECT SCENARIOS
TABLE* EXPANDED COLUMN COUNT* EXPANDED ROW COUNT* FULL COLUMN (INDICATOR)* FULL ROW (INDICATOR)
DATUM* TYPE
PANEo NUMBERo ACTIVE ROW
SORTING
SORT
OFFICE DOCUMENTSETTINGS* HREF
DOWNLOADCOMPONENT
DOCUMENT PROPERTY(DESCRIPTION)* AUTHOR* LAST AUTHOR* CREATED* LAST SAVED (DATE)* VERSION (NUMBER)
ALIGNMENT* SS:VERTICALo SS:WRAP TEXT
NUMBER FORMATo SS:FORMAT
FONTo COLORo UNDERLINEo FAMILYo BOLD
PROTECTION
PANE GROUP
PRINT* VALID PRINTER* PAPER SIZE INDEX* HORIZONTAL RESOLUTION* VERTICAL RESOLUTION
INTERIORBORDER GROUPING
part of
composed of
in
composed of
in
composed of
locaed in
the location of
in
to describe
part of
composed of
part of
composedof
part of
composed of
to support
supported via
part of
composed of
part of
composed of
part of
composed of
in
home of
the source of
derived from
the source of
derived from
of
described by
Including some very strange things . . .
Copyright (c) 2007, Essential Strategies, Inc. 35 /34/34
The data model was inferred from the XML
Is it right?
2. My thanks to Peter Aiken for this example.2. My thanks to Peter Aiken for this example.
2
Copyright (c) 2007, Essential Strategies, Inc. 36 /34/34
EXCEL WORKBOOK* WINDOW HEIGHT* WINDOW WIDTH* WINDOW TOP X* WINDOW TOP Y* PROTECT STRUCTURE INDICATOR* PROTECT WINDOWS INDICATOR
WORKBOOK (DOCUMENT)* AUTHOR* LAST AUTHOR# CREATED* LAST SAVED* COMPANY* VERSION NUMBER* .* WEB REFERENCE* DOWNLOAD COMPONENT
STYLE* IDo NAME
WORKSHEET# NAME
COLUMN# COLUMN NUMBER* AUTOFIT WIDTH (INDICATOR)* WIDTHo HIDDEN (INDICATOR)o SPAN (INDICATOR)
ROW# ROW NUMBER
CELL* INDEX* HREF* STYLE ID* DATA VALUE* ROW NUMBER* COLUMN NUMBER* COLUMN AUTOFIT WIDTH* COLUMN WIDTH
BORDER* POSITION* LINE STYLE* WEIGHT
WORKSHEET OPTIONo SELECTEDo PROTECT OBJECTSo PROTECT SCENARIOS
TABLE* EXPANDED COLUMN COUNT* EXPANDED ROW COUNT* FULL COLUMN (INDICATOR)* FULL ROW (INDICATOR)
DATUM* TYPE
PANEo NUMBERo ACTIVE ROW
SORTING
SORT
OFFICE DOCUMENTSETTINGS* HREF
DOWNLOADCOMPONENT
DOCUMENT PROPERTY(DESCRIPTION)* AUTHOR* LAST AUTHOR* CREATED* LAST SAVED (DATE)* VERSION (NUMBER)
ALIGNMENT* SS:VERTICALo SS:WRAP TEXT
NUMBER FORMATo SS:FORMAT
FONTo COLORo UNDERLINEo FAMILYo BOLD
PROTECTION
PANE GROUP
PRINT* VALID PRINTER* PAPER SIZE INDEX* HORIZONTAL RESOLUTION* VERTICAL RESOLUTION
INTERIORBORDER GROUPING
part of
composed of
in
composed of
in
composed of
located in
the location of
in
to describe
part of
composed ofpart of
composedof
part of
composed of
to support
supported via
part of
composed of
part of
composed of
part of
composed of
in
home of
the source of
derived from
the source of
derived from
of
described by
Let’s look at the model again . . .
Is not an EXCEL workbook a Is not an EXCEL workbook a workbook? (Sub-type?)workbook? (Sub-type?)
What is this What is this relationship?relationship?
Which Which columncolumnfor thisfor thiscell?cell?
Attributes Attributes of authors,of authors,company?company?
What is What is this?this?
… … or or this?this?
Attributes Attributes of of
WORKBOOK?WORKBOOK?
More authors?More authors?
Copyright (c) 2007, Essential Strategies, Inc. 37 /34/34
XML limitations . . .
XML is fundamentally hierarchical . . . Cannot have multiple parents
Can describe a transaction, but . . . Assumes validity of data
Can impose cardinality rules Can impose syntactic rules No rules based on the meaning of the data.
Cannot describe semantics of relationships Cannot be presented to normal human
beings.
Copyright (c) 2007, Essential Strategies, Inc. 38 /34/34
In Fairness . . .
While E/R modeling can more effectively portray the meaning of the data, it too is limited in its ability to portray business rules.
New tools (such as XML Spy) are making it possible to deal with XML graphically.
Copyright (c) 2007, Essential Strategies, Inc. 39 /34/34
Agenda
Case Study: The Justice Department Four ways to look at data The Conceptual Entity/Relationship Model The XML Version An examination An alternative Model The Revised XML The Federal Data Reference Model Conclusions
Copyright (c) 2007, Essential Strategies, Inc. 40 /34/34
WORKBOOK (DOCUMENT)* LAST AUTHOR# CREATED* LAST SAVED* COMPANY* VERSION NUMBER* .* WEB REFERENCE* DOWNLOAD COMPONENT
WORKSHEET# NAME
COLUMN# COLUMN NUMBER* AUTOFIT WIDTH* WIDTH
ROW# ROW NUMBER
CELL* INDEX* HREF* DATA VALUE* ROW NUMBER* COLUMN NUMBER* COLUMN AUTOFIT WIDTH* COLUMN WIDTH
WORKSHEET OPTIONo SELECTEDo PROTECT OBJECTSo PROTECT SCENARIOS
PANEo NUMBERo ACTIVE ROW
AUTHORSHIP# SEQUENCE NUMBER* PRIMARY INDICATOR
COMPANY# IDENTIFIER* COMPANY NAME
PERSON# IDENTIFIER* FIRST NAMEo MIDDLE INITIAL* LAST NAMEo PRIMARY INDICATOR
STYLE ELEMENT# NAME* DESCRIPTION* VALUE
STYLE ELEMENTVALUE# SEQUENCE NUMBER* VALUE
EXCEL WORKBOOK* WINDOW HEIGHT* WINDOW WIDTH* WINDOW TOP X* WINDOW TOP Y* PROTECT STRUCTURE INDICATOR* PROTECT WINDOWS INDICATOR
PRINT...
TABLE* EXPANDED ROW COUNT* EXPANDED COLUMN COUNT* FULL ROWS* FULL COLUMNS
PANE GROUP
part of
composedof
in
composedof
in
composed of
locaed in
thelocationof
part of
composed of
to support
supportedvia
the location of
located in
of
created via
in therole of
by
published for
sponsor of
for
describedby
an example of
embodied in
Add network...Add network...
With Data Modeling, we have an alternative . . .
...and ...and a sub-type?a sub-type?
...many-to-many......many-to-many...
...referenc...referencee
entityentityclasses…classes…
...collapsed ...collapsed entities...entities...
Border positionBorder positionNumber formatNumber formatFont ColorFont ColorVerticalVertical alignment alignmentetc.etc.
Copyright (c) 2007, Essential Strategies, Inc. 41 /34/34
Agenda
Case Study: The Justice Department Four ways to look at data The Conceptual Entity/Relationship Model The XML Version An examination An alternative Model The Revised XML The Federal Data Reference Model Conclusions
Copyright (c) 2007, Essential Strategies, Inc. 42 /34/34
To convert a data model to XML . . .
Identify a hierarchy. NOTE: Several may be available.
Establish one direction for many-to-many relationships.
Move intersect attributes to new “many” side.
Inherit attributes from parents to children entity classes.
Copyright (c) 2007, Essential Strategies, Inc. 43 /34/34
WORKBOOK (DOCUMENT)* AUTHOR* LAST AUTHOR# CREATED* LAST SAVED* COMPANY* VERSION NUMBER* .* WEB REFERENCE* DOWNLOAD COMPONENT* ..* WINDOW HEIGHT* WINDOW WIDTH* WINDOW TOP X* WINDOW TOP Y* PROTECT STRUCTURE INDICATORo PROTECT WINDOWS INDICATOR
WORKSHEET# NAME* EXPANDED COLUMN COUNT* EXPANDED ROW COUNT* FULL COLUMN INDICATOR* FULL ROW INDICATOR
COLUMN# COLUMN NUMBER* AUTOFIT WIDTH (INDICATOR)* WIDTHo HIDDEN (INDICATOR)o SPAN (INDICATOR)
ROW# ROW NUMBER
CELL* INDEX* HREF* STYLE ID* DATA VALUE* ROW NUMBER* COLUMN NUMBER* COLUMN AUTOFIT WIDTH* COLUMN WIDTH
WORKSHEET OPTIONo SELECTEDo PROTECT OBJECTSo PROTECT SCENARIOS
PANEo NUMBERo ACTIVE ROW
AUTHORSHIP# SEQUENCE NUMBER* PRIMARY INDICATOR
COMPANY# IDENTIFIER* COMPANY NAME
PERSON# IDENTIFIER* FIRST NAMEo MIDDLE INITIAL* LAST NAMEo PRIMARY INDICATOR
STYLE ELEMENT# NAME* DESCRIPTION* VALUE
STYLE ELEMENTVALUE# SEQUENCE NUMBER* VALUE
PANE GROUP PRINT...
part of
composed of
located in
thelocationof
part of
composed of
to support
supportedvia
thelocationof
located in
of
created via
in therole of
by
published for
sponsor of
for
describedby
an example of
embodied in
in
composed of
in
composed of
Here’s one version . . .
Copyright (c) 2007, Essential Strategies, Inc. 44 /34/34
EXCEL WORKBOOK* WINDOW HEIGHT* WINDOW WIDTH* WINDOW TOP X* WINDOW TOP Y* PROTECT STRUCTURE INDICATOR* PROTECT WINDOWS INDICATOR
WORKBOOK (DOCUMENT)* LAST AUTHOR# CREATED* LAST SAVED* COMPANY* VERSION NUMBER* .* WEB REFERENCE* DOWNLOAD COMPONENT
WORKSHEET# NAME* EXPANDED ROW COUNT* EXPANDED COLUMN COUNT* FULL ROWS* FULL COLUMNS
CELL* INDEX* HREF* DATA VALUE* ROW NUMBER* COLUMN NUMBER* COLUMN AUTOFIT WIDTH* COLUMN WIDTH
WORKSHEET OPTIONo SELECTEDo PROTECT OBJECTSo PROTECT SCENARIOS
PANEo NUMBERo ACTIVE ROW
PERSON# IDENTIFIER* FIRST NAMEo MIDDLE INITIAL* LAST NAMEo PRIMARY INDICATOR
STYLE ELEMENT# NAME* DESCRIPTION* VALUE
COLUMN# COLUMN NUMBER* AUTOFIT WIDTH (INDICATOR)* WIDTH...
ROW# ROW NUMBER
DATUM* TYPE
PANE GROUP PRINT...
part of
composed of
part of
composed of
to support
supported via
aurhor of
created by
describedby
adescriptorof
composed of
part of
in
home of
for
to define
for
to define
And create a constrained model . . .
Copyright (c) 2007, Essential Strategies, Inc. 45 /34/34
The Resulting XML (the graphic version, at least) . . .
Copyright (c) 2007, Essential Strategies, Inc. 46 /34/34
More about the Worksheet . . .
Copyright (c) 2007, Essential Strategies, Inc. 47 /34/34
WORKBOOK (DOCUMENT)* AUTHOR* LAST AUTHOR# CREATED* LAST SAVED* COMPANY* VERSION NUMBER* .* WEB REFERENCE* DOWNLOAD COMPONENT* ..* WINDOW HEIGHT* WINDOW WIDTH* WINDOW TOP X* WINDOW TOP Y* PROTECT STRUCTURE INDICATORo PROTECT WINDOWS INDICATOR
WORKSHEET# NAME* EXPANDED COLUMN COUNT* EXPANDED ROW COUNT* FULL COLUMN INDICATOR* FULL ROW INDICATOR
COLUMN# COLUMN NUMBER* AUTOFIT WIDTH (INDICATOR)* WIDTHo HIDDEN (INDICATOR)o SPAN (INDICATOR)
ROW# ROW NUMBER
CELL* INDEX* HREF* STYLE ID* DATA VALUE* ROW NUMBER* COLUMN NUMBER* COLUMN AUTOFIT WIDTH* COLUMN WIDTH
WORKSHEET OPTIONo SELECTEDo PROTECT OBJECTSo PROTECT SCENARIOS
PANEo NUMBERo ACTIVE ROW
AUTHORSHIP# SEQUENCE NUMBER* PRIMARY INDICATOR
COMPANY# IDENTIFIER* COMPANY NAME
PERSON# IDENTIFIER* FIRST NAMEo MIDDLE INITIAL* LAST NAMEo PRIMARY INDICATOR
STYLE ELEMENT# NAME* DESCRIPTION* VALUE
STYLE ELEMENTVALUE# SEQUENCE NUMBER* VALUE
PANE GROUP PRINT...
part of
composed of
located in
thelocationof
part of
composed of
to support
supportedvia
the location of
located in
of
created via
in therole of
by
published for
sponsor of
for
describedby
an example of
embodied in
composed of
in
in
composed of
Here’s a second version . . .
Only primary Only primary author is author is includedincluded
Copyright (c) 2007, Essential Strategies, Inc. 48 /34/34
EXCEL WORKBOOK* WINDOW HEIGHT* WINDOW WIDTH* WINDOW TOP X* WINDOW TOP Y* PROTECT STRUCTURE INDICATOR* PROTECT WINDOWS INDICATOR
WORKBOOK (DOCUMENT)* AUTHOR* LAST AUTHOR# CREATED* LAST SAVED* COMPANY* VERSION NUMBER* .* WEB REFERENCE* DOWNLOAD COMPONENT
WORKSHEET# NAME
CELL* INDEX* HREF* STYLE ID* DATA VALUE* ROW NUMBER* COLUMN NUMBER* COLUMN AUTOFIT WIDTH* COLUMN WIDTH
WORKSHEET OPTIONo SELECTEDo PROTECT OBJECTSo PROTECT SCENARIOS
DATUM* TYPE
PANEo NUMBERo ACTIVE ROW
PERSON# IDENTIFIER* FIRST NAMEo MIDDLE INITIAL* LAST NAMEo PRIMARY INDICATOR
STYLEELEMENT# NAME* DESCRIPTION* VALUE
PRINT...
PANE GROUP
part of
composedof
part of
composed of
to support
supported via
described by
a descriptorof
composedof
part of
author of
prepared by
in
home of
part of
composed of
And create a constrained model . . .
Copyright (c) 2007, Essential Strategies, Inc. 49 /34/34
The Resulting XML . . .
Copyright (c) 2007, Essential Strategies, Inc. 50 /34/34
With Worksheet Details . . .
Copyright (c) 2007, Essential Strategies, Inc. 51 /34/34
Agenda
Case Study: The Justice Department Four ways to look at data The Conceptual Entity/Relationship Model The XML Version An examination An alternative Model The Revised XML The Federal Data Reference Model Conclusions
Copyright (c) 2007, Essential Strategies, Inc. 52 /34/34
Federal Enterprise Architecture . . .
3. CIO Council, Office of Management and Budget.3. CIO Council, Office of Management and Budget.
33
Copyright (c) 2007, Essential Strategies, Inc. 53 /34/34
Data Sharing
Data Context
Query Points and Exchange Packages (XML)
Query Points and Exchange Packages (XML)
Taxonomies (Categories)(Function/data Usage)
Taxonomies (Categories)(Function/data Usage)
Data Description
Data Elements(E/R Model)
Data Elements(E/R Model)
Specifically, the Data Reference Model . . .
Copyright (c) 2007, Essential Strategies, Inc. 54 /34/34
Data Sharing
Data Context
Query Points and Exchange Packages (XML)
Query Points and Exchange Packages (XML)
Taxonomies (Categories)(Function/data Usage)
Taxonomies (Categories)(Function/data Usage)
Data Description
Data Elements(E/R Model)
Data Elements(E/R Model)
But you must But you must understand understand when you are when you are notnot doing doing thisthis but but thisthis..
Copyright (c) 2007, Essential Strategies, Inc. 55 /34/34
Agenda
Case Study: The Justice Department Four ways to look at data The Conceptual Entity/Relationship Model The XML Version An examination An alternative Model The Revised XML The Federal Data Reference Model Conclusions
Copyright (c) 2007, Essential Strategies, Inc. 56 /34/34
Conclusions . . .
XML is very good for data communications. English syntax is convenient. XML Schema is very powerful for describing
the structure of transactions It is widely accepted. Graphic tools make it more manageable.
Semantic data modeling is better for analyzing data structure. Graphic nature makes it suitable for
discussing semantic issues. Two dimensional format makes it possible to
describe networks.
Copyright (c) 2007, Essential Strategies, Inc. 57 /34/34
More significantly. . .
But XML is fundamentally a technological design.
...while conceptual data modeling is fundamen-tally a way to describe the business problem.
It’s important to It’s important to understand the understand the
difference.difference.
Copyright (c) 2007, Essential Strategies, Inc. 58 /34/34
It’s better to start with the Data Model
(More Semantics)
And then derive the XML script from that
(Less Semantics)
Copyright (c) 2007, Essential Strategies, Inc. 59 /34/34
Questions?
Top Related