structure of pods · physical model!actual database in industry standard relational database...
TRANSCRIPT
Structure of PODS
Chad Corcoran, Pete e VeenstraSept 13, 2018, 1:20-1:40 pm
Presentation Outline
! !"#$"%&%'(&%"&)*"&+,$-.&/'$0&1 2/*)/".$3&45)-&)-+&6"0$.-&4*$-3$75"0! 6"0$.-&4*$-3$75"0! 4862&9$/"&:;:&6,3<="-/)/$,-&!"#$"%
! 4862&9$/"&:;:&>,=7,-"-/0&?)55&/'"&7)*/0@
Design Principles
! !"#$%"&"'()"*+,*&,)-.,/()(,#*/.%,! 0.#*1.,)-.,+../,&*2,%"+.(2,2.&.2.+'"+3,(4,)-.,4*%.,#.)-*/,&*2,%*'()"+3,&.()52.4! 62*1"/.,(,&*2#(%,/()(,.7'-(+3.,4$.'"&"'()"*+,&*2,)2(+4&.2,*&,4'-.#(,(+/,/()(! 82(#.9*2:,&*2,/*'5#.+)()"*+,"+'%5/"+3,./"),9*2:&%*94,(+/,/.4"3+,/.'"4"*+4! ;/-.2.+'.,)*,(''.$)./,4)(+/(2/,&*2,/()(,#*/.%,/.4"3+,(+/,#(+(3.#.+),*&,3.*</()(! =+.,'*+'.$)5(%,(+/,*+.,%*3"'(%,/()(,#*/.%,!>;?@,$-A4"'(%,/()(B(4.,"#$%.#.+)()"*+4! C*'5#.+)()"*+D,/*'5#.+)()"*+D,/*'5#.+)()"*+
! PODS 7.0 is the next release of the PODS data model resulting from the NextGeneration effort, must be a member of PODS to join
! PODS Lite 1.1 is a subset of this model available for testing and R&D – free to anyone
! Part of the conceptual model – contents panel –the structure of the model in a nutshell
PODS Structure
!"#$%&'()*+,"-%* ."/0$)*+,"-%* 12340$)*+,"-%*
5"$(6%#')'0"# 7#'%8&804%+98$20'%$' :2)&%!2)#/%
5)')+7;$2)#/%+:&%$0<0$)'0"#
,%')-)')
! !"#$#%&'#%("#%)*&'($+%("&(%,&-#%.*%("#%/012%345%,67#8! 9(%:$%&%8:((8#%,6'#%;6,*8#<%("&=%>.$(%&%,67#8! 9(%:$%?667%(6%-=6@%("#%(#',$%("&(%&'#%A#:=?%.$#7! /012%B:(#%C4C%9(#,$%&'#%$"6@=%@:("%A6<#$
..
.
.
Conceptual Model
! Organize thoughts into concepts! Identify entities and establishes relationships
between them! Helps in documenting and understanding the
problem space without! Focuses on the important concepts (things)
! Non-intelligent Graphic Drawing (VISIO)! Conceptual/Logical Model Poster
!"#$%&'()*+,"-%*
!"#$%&'()*%#'+'+%(*,#-*.%/,'+"#(0+&(*1%'2%%#*'0%3
4%/&(*+#*5#-%.(',#-+#6*,#-*'%,$0+#6*'0%*&."1/%3*
-"3,+#*
7$"#$%&'()*'0+#6(8
Conceptual Model Poster! !"#$%&'%$"%()*&+,$-#&%.&,#$")&/0$%&('&()&%0#&1234&567&8.9#,
! :".;#)&9./)&()%.&'#-%(.)'&,('%#9&<#,./&$)9&9#'-"(<#9&()&'=<'#>=#)%&',(9#'
!"#$%&'()"*+'
!"#$%&'()*+,&%-./'+0&1$/&$"+2!,03+45&16&%6
7%#8)6"9+&+:%&;"<#%-+#%+:#/16&5)#1+5(&5+*&1+="+/9"6+
:#%+6#*/;"15&5)#1+&16+">5"16)1$+5("+;#6"?+
295&16&%6@+&$1#95)*3
Logical Model! All objects in logical model stored as Open GIS
Consortium (OCG) Geographic Mark-up Language (GML) objects! Translates concepts into geographic, mark-up language
objects (abstract classes, code-look ups, tables, relationships)! Manages model elements and all documentation in a
single repository (not different for different RDBMS or spatial geo-data models)! Uses industry standard Sparx System Enterprise
Architect software
!"#$%&'()"*+'
!"#$%&'()*+,&%-./'+0&1$/&$"+2!,03+45&16&%6
7%#8)6"9+&+:%&;"<#%-+#%+:#/16&5)#1+5(&5+*&1+="+/9"6+:#%+6#*/;"15&5)#1+&16+">5"16)1$+5("+;#6"?+
295&16&%6@+&$1#95)*3
Physical Model
! Actual database in industry standard relational database management system software (Oracle, MS SQL Server, PostgreSql)! Tables, relationships, constraints, indexes! Spatial data as attribute or published to separate
‘layers’! Can use the ESRI Geodatabase or not
! XML/PY = Geodatabase, SQL for RDBMS
,-./$%&'()"*+'
A+'(B9)*&?+9*(";&+)1+&+'(B9)*&?+6&5&=&9"
A??#<9+/9"%9+5#+);'?";"15+5("+9*(";&+)1+&+6&5&=&9"+'?&5:#%;+#:+5(")%+*(#)*"
29'"*):)*+CDE,4F!G43
!"#$%&'()"*+'
!"#$%&'()*+,&%-./'+0&1$/&$"+2!,03+45&16&%6
7%#8)6"9+&+:%&;"<#%-+#%+:#/16&5)#1+5(&5+*&1+="+/9"6+
:#%+6#*/;"15&5)#1+&16+">5"16)1$+5("+;#6"?+
295&16&%6@+&$1#95)*3
Documentation
! Document the data model and all the artefacts in the PODS Lite 1.1 release! Executive Summary! Technical Documentation/Issues! Document how to deploy the model! Document the scripts to implement the model! Data Dictionary including data governance and
structure rules
,"%-.+/0&0$"/
AA0BC,0+4*%)'59,"5&6&5&+D"*#%69
A&5&+A)*5)#1&%)"9,#6"?9
E"*(1)*&?+F99/"9G>"*/5)8"+4/;;&%H
!"#$%&!'( )**'+*),-#!./$%%-0!1*2341-567841!0-19:1:.;2<
!"#$%&'()%"*+,-)%$#"%./%/012-!"#$%&'()%"*+,-)%$#"%./%/3'41)*(13,56)-'1(789)3:012-!"#$%&'()%"*+,-)%$#"%./%/3'41)*(13,56)-'1(789)3;012-!"#$%&'()%"*+,-)%$#"%./%/319+('+-012-!"#$%&'()%./%/%<41)*(%=)(+6+(+%"*+,-)012-
%-0!1*2341-567841!&19:1:.;2<!"#$%&'()%"*+,-)%$7%./%/012-!"#$%&'()%"*+,-)%$7%./%/3'41)*(13,56)-'1(789)3:012-!"#$%&'()%"*+,-)%$7%./%/3'41)*(13,56)-'1(789)3;012-!"#$%&'()%"*+,-)%$7%./%/319+('+-012-!"#$%&'()%./%/%<41)*(%=)(+6+(+%"*+,-)012-
%-0!1*2341%=>3?54!@*19:1:.;2<!"#$%&'()%!51(>*)$?&%./%/012-!"#$%&'()%!51(>*)$?&%./%/3'41)*(13,56)-'1(789)3:012-!"#$%&'()%!51(>*)$?&%./%/3'41)*(13,56)-'1(789)3;012-!"#$%&'()%!51(>*)$?&%./%/319+('+-012-!"#$%&'()%./0/%'41)*(%=)(+6+(+012-
%-0!1*2341!@*!4594519:1:.;2<!"#$%&'()%$?&$)*.)*%./%/012-!"#$%&'()%$?&$)*.)*%./%/3'41)*(13,56)-'1(789)3:012-!"#$%&'()%$?&$)*.)*%./%/3'41)*(13,56)-'1(789)3;012-!"#$%&'()%$?&$)*.)*%./%/319+('+-012-!"#$%&'()%./0/%'41)*(%=)(+6+(+012-
! Support RDBMS implementations: Oracle Spatial, Oracle ST Geometry, PostgreSQL (POSTGIS) and MS SQL Server! Initial DDL creates the schema! Code List Type 2 population! Code List Type 3 population! Initialize spatial pattern and
configuration! Populate default metadata (tables,
code lists, attributes)
!"#$%&'()%*%+,+%-)./0(0102)%3'4)256'7!"#$%&'()%*)+,-(-.-/)%01&%2+34/5-6)%7!8!"#$%&'()%*)+,-(-.-/)%01&%2+34/5-6)%9'(:%8);-('+</:'5/!"#$%&'()%=</)3(%1)(-,-(-%7!8>?;/!"#$%&'()%=</)3(%1)(-,-(-%2'(:%8);-('+</:'5/>?;/!"#$@&'()@*)+,-(-.-/)@A+<B'CD3-('+<@E++;.+?>F'5
! Support RDBMS implementations: Oracle Spatial, Oracle ST Geometry, PostgreSQL (POSTGIS) and MS SQL Server
! Geodatabase Configuration Tool
! Implement XML for ArcGIS for Pipeline Referencing (APR) or XML for ArcGIS with Relationships
! Insert MetaData-APR! Insert MetaData-With-Relationships
G$8=@01&@2+34/5-6)@#+6DH)<(
*)+#IA+<B'CD3-('+<@E++;@J736!K
EI0L
7!8*#I
*#I
!"#$%&'()%*%+,+%#-(-%#'.('/0-1')2%3 4&&56'7!"#$%&'()%&*+',-.%/*0).%-10%#-(-%#',('*1-23!"#$%&'()%4)*0-(-5-6)%7!8%#-(-%#',('*1-23!"#$%&'()%4)*0-(-5-6)%9'(:%8).-('*16:';6%#-(-%#',('*1-23!"#$%&'()%"2-,.)%$#"%8#</$%#-(-%#',('*1-23!"#$%&'()%"2-,.)%$=%8#</$%#-(-%#',('*1-23!"#$%&'()%!*6(+2)$>&%8#</$%#-(-%#',('*1-23!"#$%&'()%$>&$)2?)2 8#</$%#-(-%#',('*1-23
! PODS Lite Logical Model and Data Dictionary – full logical model data dictionary including DETAILED documentation for each table
! Abstract Classes documented separately! Model Extensions
documented
! Geodatabase & RDBMS Data Physical Model Data Dictionaries are flattened
!"#$%&'()%*%+,+%-.)/%#0123)4(.56'7!"#$%&'()%*)+,-)%.'/(%01%#023-)4(/!"#$%&'()%56)23('7)%$3--+89!"#$%&'()%:)2;4'2+.%"7)87')<%+4,%=3',)!"#$%>042)?(3+.%@0,).ABCDE&A7FAG!"#$%&'()%*#H@$%>041'I38+('04%=3',)!"#$%&'()%=)0,+(+J+/)%>041'I38+('04%=3',)!"#$%&'()%>;+4I)%&0I
! Conceptual Model Poster
! RDBMS Configuration Guide (pointers and tips, not a full-blown DBA experience but enough to get you going)
! Geodatabase Configuration Guide (step-wise listing of how to use the ESRI Geodatabase tools to build a APR and non-APR PODS Lite Geodatabase)
! Change Log
! Read me list of Documents (Start here)
! Executive Summary (background and high level overview)
! Technical Summary and Guide (technical concepts of the model)
!"#$%&'()"*+'
!"#$%&'()*+,&%-./'+0&1$/&$"+2!,03+45&16&%6
7%#8)6"9+&+:%&;"<#%-+#%+:#/16&5)#1+5(&5+*&1+="+/9"6+
:#%+6#*/;"15&5)#1+&16+">5"16)1$+5("+;#6"?+
295&16&%6@+&$1#95)*3
Enterprise Architect
! Ultimate modeling and design tool suite! www.sparxsystems.com
! Allows PODS to have ‘one-model’! Supported by wide-user base! Supports RDBMS (SQL) and ESRI ArcGIS
Implementations (ESRI XML Workspace)! Supports OGC GML
,-.+/0/$1+(2/%3$.+%.
A##?+95/::+&=#/5+5()9+9#:5<&%"
!"#$%&'()"*+'
!"#$%&'()*+,&%-./'+0&1$/&$"+2!,03+45&16&%6
7%#8)6"9+&+:%&;"<#%-+#%+:#/16&5)#1+5(&5+*&1+="+/9"6+:#%+6#*/;"15&5)#1+&16+">5"16)1$+5("+;#6"?+
295&16&%6@+&$1#95)*3
ShapeChange! Open source software for translating from one EA model
to another! https://shapechange.net/
! Allows translation from OGC GML Logical Model to Oracle SQL, SQL Server SQL, PostGreSQL, ESRI ArcGIS XML EA Models! Allows translation to support ESRI ArcGIS Geodatabase
for APR and ESRI ArcGIS for non-APR! One file will translate all formats! Support potentially available for mySQL and SQLite
(SpatiaLite) and GeoPackage formats
,-&.+/-&0#+
A%&19?&5"9+#1"+BC+:)?"+5#+&1#5("%+BC+DE?"
!"#$%&'()"*+'
!"#$%&'()*+,&%-./'+0&1$/&$"+2!,03+45&16&%6
7%#8)6"9+&+:%&;"<#%-+#%+:#/16&5)#1+5(&5+*&1+="+/9"6+
:#%+6#*/;"15&5)#1+&16+">5"16)1$+5("+;#6"?+
295&16&%6@+&$1#95)*3
Data Exchange Specification! Extensible Mark-up Language (XML) file containing PODS
7.0 schema and data
! Used to extract data from PODS Model and deliver to other systems or vice-versa
! Delivers schema definition in machine and human readable format
! Requires software or scripted (TBD) to execute the translation but provide format for translation
,&-&(./%0&1#+(23+%$4$%&-$"1
A,0+B)?"9+:#%+9(&%)1$+9*(";&+&16+6&5&+="5<""1+9C95";9+
&16+;#6"?9
!"#$%&'()"*+'
!"#$%&'()*+,&%-./'+0&1$/&$"+2!,03+45&16&%6
7%#8)6"9+&+:%&;"<#%-+#%+:#/16&5)#1+5(&5+*&1+="+/9"6+
:#%+6#*/;"15&5)#1+&16+">5"16)1$+5("+;#6"?+
295&16&%6@+&$1#95)*3
MetaData
! Contains the metadata describing the base-level installation of modules (PODS Lite 1.1, PODS 7.0)! Loads the table listing, attribute listing, code-lookup
listing, Type 1 domain/code look up enumerations and crossReference between attributes and assigned domains! Designed for software vendors to be able to access
information about the data model as implemented
)+,&-&,&
A&=?","5&B&5&C55%)=/5","5&B&5&D#6"0##-/'B#;&)1D#6"0##-/'E&?/"9D#6"0##-/'D%#99F":
Adherence to Standards
! !"#$%&'()%*+*%,-.%!"#$%/+0%,.1)2)%(3%(1)%435536'-7%8(,-.,2.8%432%(1)%.)8'7-%34%(1'8%.,(,%93.)5
! :$"%*;*0;<=00>%?@)372,A1'B%:-4329,('3-%C DE5)8%432%FAA5'B,('3-%$B1)9,G+%1((A8<HH666+'83+327H8(,-.,2.HI;J;*+1(95! :$"HK$%*;*0I%?@)372,A1'B%:-4329,('3-%L M3-B)A(E,5%$B1)9,%&,-7E,7)G+%1((A8<HH666+'83+327H8(,-.,2.H>N/IO+1(95! :$"%*;*IN<=00/%@)372,A1'B%:-4329,('3-%C @)372,A1P%Q,2REA%&,-7E,7)%?@Q&G+%1((A8<HH666+'83+327H8(,-.,2.HI=>>O+1(95! :$"%***/;C>%:-4329,('3-%()B1-3537P%L Q)(,.,(,%2)7'8(2')8%?Q#DG%!,2(%><%S,9'-7%A2'-B'A5)8+%1((A8<HH666+'83+327H8(,-.,2.HN0IO*+1(95
PODS 7.0 for the members
! !"#$%"#$&#'%($&)*$+)'&#',#-'..$/'%$+'%0#1 &'+#230+#+4"#5"6+7"& -'88)++""9#/3+#+4"#:"-4&)-$.#;'88)++""#,'%#7'<"%&$&-"9#+4"#:"-4&)-$.#;'88)++""#,'%#=$+$#>'?".)&(9#@8$("#>$++"%0#A4++BCDDEEEF)8$("8$++"%0..-F-'8DG#$&?#+4"#HI=J#K'$%?#',#=)%"-+'%0
! K3+#8'0+#)8B'%+$&+.L#E"#$%"#0"%<)&(#L'39#+4"#8"8/"%0#1 HI=J#M)+"#NFN#)0#&'E#'3+#,'%#8"8/"%#-'88"&+9#HI=J#OFP#E)..#/"#%"."$0"?#QR#+4)0#L"$%#,'%#+4"#0$8"#1 ("+#30#,""?/$-S9#+$.S#+'#T"&DU$+4L#'%#$&L#',#30#+'#<'.3&+""%
Presentation Review
! !"#$%&'()$&*$+,"#! (-!.'/$0"'121'!3*45"&060$3&'7"8$"9
! (-!.'/$0"'121':35+3&"&0#';6,,'0<"'+6)0#=
! >3,,39?3&'+)"#"&060$3&#! ."+02'1@A'1BCD?EBDD'!606'FG*<6&%"'.+"*$H$*60$3&';"G*<6&%$&%'I606'6&I'#*<"56=! ."+02'1@A'EB1J?EB@J'K4#$&"##'74,"#';86,$I60$&%'I606=! ."+02'1@A'EBJJ?@B1J'L6&6%$&%'.+60$6,'!606'$&'(-!.';#03)$&%'H"604)"#M%"35"0)N=! ."+02'1@A'@B@J?CBDD'O&0)3I4*0$3&'03'F&0")+)$#"'P)*<$0"*0';0N$&%'$0'6,,'03%"0<")=
Thank youAny questions?