[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
Re: UU tools
Correct me, if I'm wrong: Ilya things the program Alexey wants to write
(for 8-12 hrs) can serve as a module attached to Umbrello? I don't mind.
Total Knowledge sponsors this.
-Anatoly
Ilya A. Volynets-Evenbakh wrote:
> Well, I think right thing to do would be to stick with UML and umbrello
> format.
> And as for converting to real SQL, there is third option - fix Umbrello ;-)
>
> Alexey Parshin wrote:
>
>> Guys,
>>
>> I've just spent around 6 hrs digging for any tools we can use for
>> database ERD (entry relations diagram). I've found several tools, that
>> are good for something.
>> At short, there is no Open Source tools for Linux we can use out of
>> the box, and most popular tools for Windows Erwin and ErStudio don't
>> work under wine.
>> The closest candidates are Dia and Umbrello. They both are using a
>> sort of XML to store the diagram. Dia uses it's own format, and
>> Umbrello uses XMI that is a standard more or less.
>> Only Umbrello is capable to generate primitive SQL (create table
>> statements only) that isn't good enough for us. I'd like to have a
>> nice diagram we can all work with, easily convertable into the DDL
>> statements.
>>
>> I've an idea, however, to read the XMI, or DIA, or similar files and
>> convert 'em into SQL DDL we need, including table structure and
>> foreign keys. The program itself is going to be pretty simple - I can
>> make it for 8..12 hrs. The resulting project could be Open Source or
>> anything else - I don't really care at this point.
>>
>> I'm attaching the files from Dia (.dia), Umbrello (.xmi), and proposed
>> configuration for the xmi2sql convertor. Please, let me know if this
>> is something you want me to do, or may be Ilya has another solution.
>> Is any of this payable, BTW? I didn't count even an hour for last
>> several weeks..
>>
>> --
>> Alexey Parshin,
>> http://www.sptk.net
>> ------------------------------------------------------------------------
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <XMI xmlns:UML="http://schema.omg.org/spec/UML/1.3" verified="false" timestamp="2006-08-05T21:23:09" xmi.version="1.2" >
>> <XMI.header>
>> <XMI.documentation>
>> <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
>> <XMI.exporterVersion>1.5.4</XMI.exporterVersion>
>> <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
>> </XMI.documentation>
>> <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
>> </XMI.header>
>> <XMI.content>
>> <UML:Model isSpecification="false" isLeaf="false" isRoot="false" xmi.id="m1" isAbstract="false" name="UML Model" >
>> <UML:Namespace.ownedElement>
>> <UML:Stereotype isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="3" isRoot="false" isAbstract="false" name="datatype" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="2" isRoot="false" isAbstract="false" name="int" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="4" isRoot="false" isAbstract="false" name="char" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="5" isRoot="false" isAbstract="false" name="bool" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="6" isRoot="false" isAbstract="false" name="float" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="7" isRoot="false" isAbstract="false" name="double" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="8" isRoot="false" isAbstract="false" name="short" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="9" isRoot="false" isAbstract="false" name="long" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="10" isRoot="false" isAbstract="false" name="unsigned int" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="11" isRoot="false" isAbstract="false" name="unsigned short" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="12" isRoot="false" isAbstract="false" name="unsigned long" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="13" isRoot="false" isAbstract="false" name="string" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="16" isRoot="false" isAbstract="false" name="serial primary key" />
>> <UML:DataType stereotype="3" isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="18" isRoot="false" isAbstract="false" name="varchar(80)" />
>> <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="14" isRoot="false" isAbstract="false" name="study_course" >
>> <UML:Classifier.feature>
>> <UML:Attribute isSpecification="false" visibility="public" xmi.id="17" type="16" name="sc_id" />
>> <UML:Attribute isSpecification="false" visibility="public" xmi.id="19" type="18" name="sc_name" />
>> </UML:Classifier.feature>
>> </UML:Class>
>> <UML:Class isSpecification="false" isLeaf="false" visibility="public" namespace="m1" xmi.id="25" isRoot="false" isAbstract="false" name="course_topic" >
>> <UML:Classifier.feature>
>> <UML:Attribute isSpecification="false" visibility="public" xmi.id="26" type="16" name="ct_id" />
>> <UML:Attribute isSpecification="false" visibility="public" xmi.id="27" initialValue="references study_course(sc_id)" type="2" name="ct_study_course" />
>> <UML:Attribute isSpecification="false" visibility="public" xmi.id="28" type="18" name="ct_name" />
>> </UML:Classifier.feature>
>> </UML:Class>
>> <UML:Dependency isSpecification="false" visibility="public" namespace="m1" xmi.id="29" client="25" name="" supplier="14" />
>> <UML:Association isSpecification="false" visibility="public" namespace="m1" xmi.id="32" name="" >
>> <UML:Association.connection>
>> <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="false" xmi.id="33" aggregation="none" type="14" name="" />
>> <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="34" aggregation="none" type="25" name="" />
>> </UML:Association.connection>
>> </UML:Association>
>> <UML:Dependency isSpecification="false" visibility="public" namespace="m1" xmi.id="35" client="25" name="" supplier="14" />
>> <UML:Association isSpecification="false" visibility="public" namespace="m1" xmi.id="39" name="" >
>> <UML:Association.connection>
>> <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="false" xmi.id="40" aggregation="none" type="14" name="" />
>> <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="41" aggregation="none" type="25" name="" />
>> </UML:Association.connection>
>> </UML:Association>
>> <UML:Association isSpecification="false" visibility="public" namespace="m1" xmi.id="42" name="" >
>> <UML:Association.connection>
>> <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="false" xmi.id="43" aggregation="none" type="25" name="ct_study_course" multiplicity=".." />
>> <UML:AssociationEnd isSpecification="false" visibility="public" changeability="changeable" isNavigable="true" xmi.id="44" aggregation="none" type="14" name="sc_id" multiplicity="1" />
>> </UML:Association.connection>
>> </UML:Association>
>> </UML:Namespace.ownedElement>
>> </UML:Model>
>> </XMI.content>
>> <XMI.extensions xmi.extender="umbrello" >
>> <docsettings viewid="1" documentation="" uniqueid="52" />
>> <diagrams>
>> <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="0" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1326" snapy="10" showatts="1" xmi.id="1" documentation="" type="402" showops="1" showpackage="0" name="class diagram" localid="900000" showstereotype="0" showscope="1" snapcsgrid="0" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="830" >
>> <widgets>
>> <classwidget usesdiagramfillcolour="0" width="225" showattsigs="601" usesdiagramusefillcolour="0" x="150" y="110" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="77" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="14" showoperations="1" showpackage="0" showscope="1" font="Arial,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
>> <classwidget usesdiagramfillcolour="0" width="465" showattsigs="601" usesdiagramusefillcolour="0" x="560" y="110" showopsigs="601" linewidth="none" fillcolour="#ffffc0" height="99" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="25" showoperations="1" showpackage="0" showscope="1" font="Arial,10,-1,5,75,0,0,0,0,0" linecolor="#ff0000" />
>> </widgets>
>> <messages/>
>> <associations>
>> <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" linewidth="none" widgetbid="14" widgetaid="25" xmi.id="42" linecolor="none" >
>> <linepath>
>> <startpoint startx="560" starty="160" />
>> <endpoint endx="375" endy="150" />
>> </linepath>
>> <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="540" y="130" linewidth="none" posttext="" role="701" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="50" showstereotype="1" text=".." font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="none" />
>> <floatingtext usesdiagramfillcolour="1" width="32" usesdiagramusefillcolour="1" x="360" y="150" linewidth="none" posttext="" role="702" fillcolour="none" height="32" usefillcolor="1" pretext="" isinstance="0" xmi.id="52" text="1" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="none" />
>> <floatingtext usesdiagramfillcolour="1" width="150" usesdiagramusefillcolour="1" x="410" y="130" linewidth="none" posttext="" role="709" fillcolour="none" height="26" usefillcolor="1" pretext="+" isinstance="0" xmi.id="46" text="ct_study_course" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="none" />
>> <floatingtext usesdiagramfillcolour="1" width="61" usesdiagramusefillcolour="1" x="380" y="150" linewidth="none" posttext="" role="710" fillcolour="none" height="26" usefillcolor="1" pretext="+" isinstance="0" xmi.id="48" text="sc_id" font="Arial,10,-1,5,50,0,0,0,0,0" linecolor="none" />
>> </assocwidget>
>> </associations>
>> </diagram>
>> </diagrams>
>> <listview>
>> <listitem open="1" type="800" label="Views" >
>> <listitem open="1" type="801" label="Logical View" >
>> <listitem open="1" type="813" id="25" >
>> <listitem open="0" type="814" id="26" />
>> <listitem open="0" type="814" id="27" />
>> <listitem open="0" type="814" id="28" />
>> </listitem>
>> <listitem open="1" type="813" id="14" >
>> <listitem open="0" type="814" id="17" />
>> <listitem open="0" type="814" id="19" />
>> </listitem>
>> <listitem open="1" type="830" label="Datatypes" >
>> <listitem open="1" type="829" id="5" />
>> <listitem open="1" type="829" id="4" />
>> <listitem open="1" type="829" id="7" />
>> <listitem open="1" type="829" id="6" />
>> <listitem open="1" type="829" id="2" />
>> <listitem open="1" type="829" id="9" />
>> <listitem open="1" type="829" id="16" />
>> <listitem open="1" type="829" id="8" />
>> <listitem open="1" type="829" id="13" />
>> <listitem open="1" type="829" id="10" />
>> <listitem open="1" type="829" id="12" />
>> <listitem open="1" type="829" id="11" />
>> <listitem open="1" type="829" id="18" />
>> </listitem>
>> </listitem>
>> <listitem open="1" type="802" label="Use Case View" />
>> <listitem open="1" type="821" label="Component View" />
>> <listitem open="1" type="827" label="Deployment View" />
>> <listitem open="1" type="836" label="Entity Relationship Model" />
>> </listitem>
>> </listview>
>> <codegeneration>
>> <codegenerator language="C++" />
>> </codegeneration>
>> </XMI.extensions>
>> </XMI>
>>
>> ------------------------------------------------------------------------
>>
>> <extract object="datatypes">
>> <locate name="XMI">
>> <locate name="XMI.content">
>> <locate name="UML:Model">
>> <locate name="UML:Namespace.ownedElement">
>> <loop name="UML:DataType">
>> <datatype id="xmi.id" name="name"/>
>> </loop>
>> </locate>
>> </locate>
>> </locate>
>> </locate>
>> </extract>
>> <extract object="classes">
>> <locate name="XMI">
>> <locate name="XMI.content">
>> <locate name="UML:Model">
>> <locate name="UML:Namespace.ownedElement">
>> <loop name="UML:Classes">
>> <class id="xmi.id" name="name">
>> <locate name="UML:Classifier.feature">
>> <loop name="UML:Attribute">
>> <attribute id="xmi.id" name="name" type="type"/>
>> </loop>
>> </locate>
>> </class>
>> </loop>
>> </locate>
>> </locate>
>> </locate>
>> </locate>
>> </extract>
>> <extract object="associations">
>> <locate name="XMI">
>> <locate name="XMI.content">
>> <locate name="UML:Model">
>> <locate name="UML:Namespace.ownedElement">
>> <loop name="UML:Association">
>> <locate name="UML:Association.connection">
>> <loop name="UML:AssociationEnd">
>> <association_end id="xmi.id" name="name" type="multiplicity" pk="1" fk=".."/>
>> </loop>
>> </locate>
>> </loop>
>> </locate>
>> </locate>
>> </locate>
>> </locate>
>> </extract>
>>
>>
>
>
--
Anatoly Volynets, Co-Founder
total-knowledge.com
culturedialogue.org
- Follow-Ups:
- Re: UU tools
- From: "Ilya A. Volynets-Evenbakh" <ilya@total-knowledge.com>