<?xml version="1.0" encoding="UTF-8"?> | |
<ecore:EPackage xmi:version="2.0" | |
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="DB" | |
nsURI="DB" nsPrefix="DB"> | |
<eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Database"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1" | |
eType="#//DatabaseElement" containment="true" eOpposite="#//DatabaseElement/database"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DatabaseElement" abstract="true" eSuperTypes="#//NamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="database" eType="#//Database" | |
eOpposite="#//Database/contents"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Table" eSuperTypes="#//DatabaseElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="columns" upperBound="-1" | |
eType="#//Column" containment="true" eOpposite="#//Column/table"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="primaryKeys" upperBound="-1" | |
eType="#//Column"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Column" eSuperTypes="#//DatabaseElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="table" eType="#//Table" | |
eOpposite="#//Table/columns"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ForeignKey" eSuperTypes="#//DatabaseElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//Column"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="child" eType="#//Column"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isMany" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> | |
</eClassifiers> | |
</ecore:EPackage> |