From 0d65ade271af40c54f82d094b7b7d6aa7655ddf4 Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Thu, 15 Jan 2015 19:02:00 +0100 Subject: [PATCH] continuing three main inheritance strategies --- .../billing/{Driver.java => CreateData.java} | 17 +- .../mi/sda2/jpa/billing/ReadData.java | 54 + .../sda2/jpa/billing/domain/BankAccount.java | 25 +- .../jpa/billing/domain/BillingDetail.java | 38 +- .../sda2/jpa/billing/domain/CreditCard.java | 15 +- .../mi/sda2/jpa/billing/domain/Customer.java | 53 + .../main/resources/META-INF/persistence.xml | 29 +- Sda2/Ref/Fig/mapInherit.svg | 4420 ++++++++++++----- 8 files changed, 3484 insertions(+), 1167 deletions(-) rename Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/{Driver.java => CreateData.java} (69%) create mode 100644 Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/ReadData.java create mode 100644 Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/Customer.java diff --git a/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/Driver.java b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/CreateData.java similarity index 69% rename from Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/Driver.java rename to Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/CreateData.java index 2a7014409..8eb3b3be7 100644 --- a/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/Driver.java +++ b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/CreateData.java @@ -12,21 +12,21 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import de.hdm_stuttgart.mi.sda2.jpa.billing.domain.CreditCard; +import de.hdm_stuttgart.mi.sda2.jpa.billing.domain.Customer; /** * A simple http://logging.apache.org/log4j/2.x demo, see file log4j2.xml for * configuration options. * */ -public class Driver { - private static Logger log = LogManager.getLogger(Driver.class); +public class CreateData { + private static Logger log = LogManager.getLogger(CreateData.class); /** * @param args * Unused - * @throws JAXBException */ - public static void main(String[] args) throws JAXBException { + public static void main(String[] args) { final EntityManagerFactory factory = Persistence .createEntityManagerFactory("persistenceUnit"); @@ -34,11 +34,14 @@ public class Driver { final EntityTransaction tx = manager.getTransaction(); - final CreditCard myCard = new CreditCard("Joe Blix", "Visa", new Date()); - tx.begin(); { - manager.persist(myCard); + final Customer customer = new Customer("Joe Blix"); + + final CreditCard myCard = new CreditCard(customer, "Visa"); + myCard.setExpiry(new Date()); + + manager.persist(customer); } tx.commit(); log.info("done!"); diff --git a/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/ReadData.java b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/ReadData.java new file mode 100644 index 000000000..08e807b5e --- /dev/null +++ b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/ReadData.java @@ -0,0 +1,54 @@ +package de.hdm_stuttgart.mi.sda2.jpa.billing; + +import java.util.List; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.EntityTransaction; +import javax.persistence.Persistence; +import javax.persistence.Query; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import de.hdm_stuttgart.mi.sda2.jpa.billing.domain.BillingDetail; +import de.hdm_stuttgart.mi.sda2.jpa.billing.domain.Customer; + +/** + * A simple http://logging.apache.org/log4j/2.x demo, see file log4j2.xml for + * configuration options. + * + */ +public class ReadData { + private static Logger log = LogManager.getLogger(ReadData.class); + + /** + * @param args Unused + */ + @SuppressWarnings("unchecked") + public static void main(String[] args) { + + final EntityManagerFactory factory = Persistence + .createEntityManagerFactory("persistenceReadUnit"); + final EntityManager manager = factory.createEntityManager(); + + final EntityTransaction tx = manager.getTransaction(); + + final Query searchCustomer = manager.createQuery("select c from Customer c"); + tx.begin(); + { + final List<Customer> customers = searchCustomer.getResultList(); + + for (final Customer c: customers) { + System.out.println("---------------------\n" + c.getName()); + for (final BillingDetail b : c.getBillings()) { + System.out.println(b); + } + } + } + tx.commit(); + log.info("done!"); + + } + +} diff --git a/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/BankAccount.java b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/BankAccount.java index 6fc640c78..fef06f215 100644 --- a/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/BankAccount.java +++ b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/BankAccount.java @@ -1,14 +1,33 @@ package de.hdm_stuttgart.mi.sda2.jpa.billing.domain; + + import javax.persistence.Entity; /** * pay by wire transfer * */ -@Entity +@Entity public class BankAccount extends BillingDetail { - String iban; -} + String iban; + + protected BankAccount() { + super(); + } + @SuppressWarnings("javadoc") + public BankAccount(final Customer customer, final String iban) { + super(customer); + setIban(iban); + } + public String getIban() { + return iban; + } + + public void setIban(String iban) { + this.iban = iban; + } + +} diff --git a/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/BillingDetail.java b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/BillingDetail.java index a7d518bbc..1fc76dff8 100644 --- a/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/BillingDetail.java +++ b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/BillingDetail.java @@ -1,6 +1,7 @@ package de.hdm_stuttgart.mi.sda2.jpa.billing.domain; -import javax.persistence.Column; + +import javax.persistence.CascadeType; import javax.persistence.DiscriminatorColumn; import javax.persistence.Entity; import javax.persistence.GeneratedValue; @@ -8,6 +9,7 @@ import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; +import javax.persistence.ManyToOne; /** * Base class for payment related purposes @@ -20,30 +22,36 @@ public abstract class BillingDetail { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) Long id; - - @Column(nullable=false) - String owner; + + @ManyToOne(cascade= CascadeType.ALL) + Customer customer; + protected BillingDetail() {} - @SuppressWarnings("javadoc") - public BillingDetail(final String owner) { - setOwner(owner); + public BillingDetail(Customer customer) { + customer.addBilling(this); } + @SuppressWarnings("javadoc") - public String getOwner() { - return owner; + public Long getId() { + return id; + } + + public Customer getCustomer() { + return customer; } - @SuppressWarnings("javadoc") - public void setOwner(String owner) { - this.owner = owner; + public void setCustomer(Customer customer) { + this.customer = customer; } - @SuppressWarnings("javadoc") - public Long getId() { - return id; + @Override + public String toString() { + return "Account of " + customer.getName(); } + + } diff --git a/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/CreditCard.java b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/CreditCard.java index 56b7ab4dc..ebbc92d60 100644 --- a/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/CreditCard.java +++ b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/CreditCard.java @@ -2,6 +2,7 @@ package de.hdm_stuttgart.mi.sda2.jpa.billing.domain; import java.util.Date; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Temporal; import javax.persistence.TemporalType; @@ -16,6 +17,7 @@ import javax.persistence.TemporalType; public class CreditCard extends BillingDetail { String cardCompany; + @Column(nullable=false) @Temporal(TemporalType.DATE) Date expiry; @@ -25,10 +27,9 @@ public class CreditCard extends BillingDetail { } @SuppressWarnings("javadoc") - public CreditCard(final String owner, final String company, final Date expiry) { - super(owner); + public CreditCard(final Customer customer, final String company) { + super(customer); setCardCompany(company); - setExpiry(expiry); } @SuppressWarnings("javadoc") @@ -49,5 +50,13 @@ public class CreditCard extends BillingDetail { @SuppressWarnings("javadoc") public void setExpiry(Date expiry) { this.expiry = expiry; + } + + @Override + public String toString() { + + return getCardCompany() + " credit card, expiry =" + getExpiry() + ", " + super.toString(); } + + } diff --git a/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/Customer.java b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/Customer.java new file mode 100644 index 000000000..ad76896fb --- /dev/null +++ b/Sda2/P/Jpa/Inherit/Tpch/src/main/java/de/hdm_stuttgart/mi/sda2/jpa/billing/domain/Customer.java @@ -0,0 +1,53 @@ +package de.hdm_stuttgart.mi.sda2.jpa.billing.domain; + +import java.util.ArrayList; +import java.util.List; + +import javax.persistence.CascadeType; +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.OneToMany; + +@Entity +public class Customer { + + @Id @GeneratedValue(strategy=GenerationType.IDENTITY) + Long id; + + @Column(nullable=false) + String name; + + @OneToMany(mappedBy="customer", cascade= CascadeType.ALL) + List<BillingDetail> billings = new ArrayList<BillingDetail>(); + + protected Customer() {} + + public Customer(final String name) { + setName(name); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Long getId() { + return id; + } + + public void addBilling(final BillingDetail billing) { + billings.add(billing); + billing.setCustomer(this); + } + + public List<BillingDetail> getBillings() { + return billings; + } + +} diff --git a/Sda2/P/Jpa/Inherit/Tpch/src/main/resources/META-INF/persistence.xml b/Sda2/P/Jpa/Inherit/Tpch/src/main/resources/META-INF/persistence.xml index 64646e14e..76c8c4aef 100644 --- a/Sda2/P/Jpa/Inherit/Tpch/src/main/resources/META-INF/persistence.xml +++ b/Sda2/P/Jpa/Inherit/Tpch/src/main/resources/META-INF/persistence.xml @@ -6,21 +6,44 @@ <!-- shouldn't be valid for java SE per specification, but it works for EclipseLink ... --> <exclude-unlisted-classes>false</exclude-unlisted-classes> <properties> - + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm" /> <property name="javax.persistence.jdbc.user" value="hdmuser" /> <property name="javax.persistence.jdbc.password" value="XYZ" /> - + <!-- EclipseLink should create the database schema automatically --> <property name="eclipselink.ddl-generation" value="drop-and-create-tables" /> <property name="eclipselink.ddl-generation.output-mode" value="database" /> <property name="eclipselink.logging.level" value="SEVERE"/> - + <!-- Logging SQL operations --> <property name="eclipselink.logging.level.sql" value="FINE"/> <property name="eclipselink.logging.parameters" value="true"/> </properties> + + </persistence-unit> + + <persistence-unit name="persistenceReadUnit" transaction-type="RESOURCE_LOCAL"> + <!-- shouldn't be valid for java SE per specification, but it works for EclipseLink ... --> + <exclude-unlisted-classes>false</exclude-unlisted-classes> + <properties> + + <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> + <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hdm" /> + <property name="javax.persistence.jdbc.user" value="hdmuser" /> + <property name="javax.persistence.jdbc.password" value="XYZ" /> + + <!-- EclipseLink should create the database schema automatically --> + <property name="eclipselink.ddl-generation" value="none" /> + <property name="eclipselink.ddl-generation.output-mode" value="database" /> + <property name="eclipselink.logging.level" value="SEVERE"/> + + <!-- Logging SQL operations --> + <property name="eclipselink.logging.level.sql" value="FINE"/> + <property name="eclipselink.logging.parameters" value="true"/> + </properties> + </persistence-unit> </persistence> \ No newline at end of file diff --git a/Sda2/Ref/Fig/mapInherit.svg b/Sda2/Ref/Fig/mapInherit.svg index 5f4853359..ce3dc9682 100644 --- a/Sda2/Ref/Fig/mapInherit.svg +++ b/Sda2/Ref/Fig/mapInherit.svg @@ -24,11 +24,11 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.3828889" + inkscape:zoom="1.3151366" inkscape:cx="526.18109" - inkscape:cy="400.9722" + inkscape:cy="372.04724" inkscape:document-units="px" - inkscape:current-layer="g8293" + inkscape:current-layer="g13157" showgrid="true" inkscape:window-width="1920" inkscape:window-height="1176" @@ -1319,6 +1319,143 @@ id="path5714-7" inkscape:connector-curvature="0" /> </marker> + <marker + style="overflow:visible" + id="DotMQ-0" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="DotMQ"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + style="fill:#008000;fill-rule:evenodd;stroke:#008000;stroke-width:1pt" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + id="path5711-10" /> + </marker> + <marker + style="overflow:visible" + id="Arrow1Mend-6FL-78" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend-6FL"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#008000;fill-rule:evenodd;stroke:#008000;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" + id="path5714-86" + inkscape:connector-curvature="0" /> + </marker> + <marker + style="overflow:visible" + id="marker4013" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="DotMQ"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + style="fill:#008000;fill-rule:evenodd;stroke:#008000;stroke-width:1pt" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + id="path4015" /> + </marker> + <marker + style="overflow:visible" + id="marker4017" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend-6FL"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill:#008000;fill-rule:evenodd;stroke:#008000;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" + id="path4019" + inkscape:connector-curvature="0" /> + </marker> + <marker + style="overflow:visible" + id="DotMs" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="DotMs"> + <path + transform="scale(0.4) translate(7.4, 1)" + style="stroke:#0000ff;stroke-width:1.0pt;fill:#0000ff;fill-rule:evenodd" + d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " + id="path8214" /> + </marker> + <marker + style="overflow:visible" + id="Arrow1Mend-6-8V" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend-6-8V"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="stroke:#0000ff;stroke-width:1pt;fill:#0000ff;fill-rule:evenodd" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" + id="path8217" + inkscape:connector-curvature="0" /> + </marker> + <marker + style="overflow:visible" + id="DotMU" + refX="0.0" + refY="0.0" + orient="auto" + inkscape:stockid="DotMU"> + <path + transform="scale(0.4) translate(7.4, 1)" + style="stroke:#0000ff;stroke-width:1.0pt;fill:#0000ff;fill-rule:evenodd" + d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " + id="path8220" /> + </marker> + <marker + style="overflow:visible" + id="Arrow1Mend-6-8U" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend-6-8U"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="stroke:#0000ff;stroke-width:1pt;fill:#0000ff;fill-rule:evenodd" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" + id="path8223" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="EmptyTriangleOutLX" + orient="auto" + refY="0.0" + refX="0.0" + id="EmptyTriangleOutLX" + style="overflow:visible"> + <path + id="path10660" + d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z " + style="stroke-width:1.0pt;stroke:#0000ff;fill:#0000ff;fill-rule:evenodd" + transform="scale(0.8) translate(-6,0)" /> + </marker> + <marker + style="overflow:visible" + id="Arrow1Mend-6-8-5" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow1Mend"> + <path + transform="matrix(-0.4,0,0,-0.4,-4,0)" + style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt" + d="M 0,0 5,-5 -12.5,0 5,5 0,0 z" + id="path5023-5-4-2" + inkscape:connector-curvature="0" /> + </marker> </defs> <metadata id="metadata7"> @@ -1820,7 +1957,7 @@ </g> <g style="display:none" - inkscape:label="Billing, Table per hierarchy" + inkscape:label="Billing: Table per class hierarchy" id="g4923" inkscape:groupmode="layer"> <rect @@ -2234,6 +2371,240 @@ id="tspan3894-3" sodipodi:role="line">Type!</tspan></text> </g> + <g + inkscape:groupmode="layer" + id="g5025" + inkscape:label="Table per hierarchy , possible problems" + style="display:none"> + <flowRoot + xml:space="preserve" + id="flowRoot5074" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion5076"><rect + id="rect5078" + width="779.52753" + height="63.634903" + x="5.0618672" + y="465.69177" /></flowRegion><flowPara + id="flowPara5080" /></flowRoot> <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:#008000;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="510" + y="454.09448" + id="text5138" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5140" + x="510" + y="454.09448" /></text> + <text + sodipodi:linespacing="125%" + id="text5158" + y="44.094482" + x="10" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="44.094482" + x="10" + sodipodi:role="line" + id="tspan5185">Table per hierarchy , possible problems</tspan></text> + <flowRoot + xml:space="preserve" + id="flowRoot5171" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion5173"><rect + id="rect5175" + width="388.50952" + height="141.20967" + x="143.40465" + y="613.85968" /></flowRegion><flowPara + id="flowPara5177" /></flowRoot> <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="10.085167" + y="110.8806" + id="text3067-9-6" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3069-9-3" + x="10.085167" + y="110.8806">➢ Legacy schemas: Possibility of absent discriminator</tspan><tspan + sodipodi:role="line" + x="10.085167" + y="155.8806" + id="tspan5630"> column</tspan></text> + <flowRoot + xml:space="preserve" + id="flowRoot5283" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion5285"><rect + id="rect5287" + width="930.66046" + height="325.40576" + x="26.755585" + y="342.76071" /></flowRegion><flowPara + id="flowPara5289" /></flowRoot> <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="10" + y="234.09448" + id="text3067-9-6-3" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3069-9-3-9" + x="10" + y="234.09448">➢ NOT NULL constraints for derived classes cannot be</tspan><tspan + sodipodi:role="line" + x="10" + y="279.09448" + id="tspan5624"> represented in database schema.</tspan></text> + </g> + <g + style="display:none" + inkscape:label="Table per hierarchy , pros and cons" + id="g5531" + inkscape:groupmode="layer"> + <flowRoot + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot5533" + xml:space="preserve"><flowRegion + id="flowRegion5535"><rect + y="465.69177" + x="5.0618672" + height="63.634903" + width="779.52753" + id="rect5537" /></flowRegion><flowPara + id="flowPara5539" /></flowRoot> <text + sodipodi:linespacing="125%" + id="text5541" + y="454.09448" + x="510" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:#008000;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="454.09448" + x="510" + id="tspan5543" + sodipodi:role="line" /></text> + <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + x="10" + y="44.094482" + id="text5545" + sodipodi:linespacing="125%"><tspan + id="tspan5547" + sodipodi:role="line" + x="10" + y="44.094482">Table per hierarchy , pros and cons</tspan></text> + <flowRoot + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot5549" + xml:space="preserve"><flowRegion + id="flowRegion5551"><rect + y="613.85968" + x="143.40465" + height="141.20967" + width="388.50952" + id="rect5553" /></flowRegion><flowPara + id="flowPara5555" /></flowRoot> <text + sodipodi:linespacing="125%" + id="text5557" + y="110.8806" + x="10.085167" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="110.8806" + x="10.085167" + id="tspan5559" + sodipodi:role="line">➢ Positive</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5561" + y="234.09448" + x="10" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="234.09448" + x="10" + id="tspan5563" + sodipodi:role="line">➢ Negative</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5565" + y="164.09448" + x="60" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans" + y="164.09448" + x="60" + id="tspan5567" + sodipodi:role="line">•Top performance</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5569" + y="384.09448" + x="60" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="384.09448" + x="60" + id="tspan5571" + sodipodi:role="line">•<tspan + id="tspan5573" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans">de-normalized ⇒ possible anomalies</tspan></tspan></text> + <text + sodipodi:linespacing="125%" + id="text5575" + y="314.09448" + x="60" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="314.09448" + x="60" + id="tspan5577" + sodipodi:role="line">•<tspan + id="tspan5579" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans">Wasting database memory</tspan></tspan></text> + <text + sodipodi:linespacing="125%" + id="text5581" + y="464.09448" + x="60" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="464.09448" + x="60" + id="tspan5583" + sodipodi:role="line">•<tspan + id="tspan5585" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans">Lack of integrity constraints (<tspan + id="tspan5587" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace">NOT NULL</tspan>)</tspan></tspan></text> + <flowRoot + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot5589" + xml:space="preserve"><flowRegion + id="flowRegion5591"><rect + y="342.76071" + x="26.755585" + height="325.40576" + width="930.66046" + id="rect5593" /></flowRegion><flowPara + id="flowPara5595" /></flowRoot> <text + sodipodi:linespacing="125%" + id="text5597" + y="544.09448" + x="60" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="544.09448" + x="60" + id="tspan5599" + sodipodi:role="line">•Difficult schema evolution<tspan + id="tspan5601" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans" /></tspan></text> + </g> <g inkscape:groupmode="layer" id="layer2" @@ -3347,1445 +3718,3222 @@ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace">ortKreis → ortKreisName</tspan></tspan></text> </g> <g - inkscape:groupmode="layer" - id="g8293" - inkscape:label="Downside: Anomalies" - style="display:inline"> + style="display:none" + inkscape:label="Decomposition to 2-nd normal form" + id="g3265" + inkscape:groupmode="layer"> <rect - style="color:#000000;fill:#ffaaaa;fill-opacity:1;stroke:#ff5555;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect8295" - width="127.32493" + ry="0" + y="196.25598" + x="719.27673" height="35.853241" - x="180.97275" - y="136.52844" - ry="0" /> + width="127.32493" + id="rect3267" + style="color:#000000;fill:#ffaaaa;fill-opacity:1;stroke:#ff5555;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <rect - style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect8297" - width="120.00837" + ry="0" + y="196.25598" + x="597.82178" height="36.584896" - x="59.517807" - y="136.52844" - ry="0" /> + width="120.00837" + id="rect3269" + style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <rect - style="color:#000000;fill:#f2f2f2;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect8299" - width="380" - height="40" - x="310" - y="134.09448" /> + y="193.82202" + x="848.30396" + height="40.272461" + width="171.69604" + id="rect3271" + style="color:#000000;fill:#f2f2f2;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <text - xml:space="preserve" - style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" - x="10" + sodipodi:linespacing="125%" + id="text3273" y="44.094482" - id="text8301" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8303" + x="10" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="44.094482" x="10" - y="44.094482">Downside: Anomalies</tspan></text> + id="tspan3275" + sodipodi:role="line">Decomposition to 2-nd normal form</tspan></text> <text - xml:space="preserve" - style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="395.09442" + sodipodi:linespacing="125%" + id="text3277" y="254.61639" - id="text8305" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8307" + x="395.09442" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="254.61639" x="395.09442" - y="254.61639" /></text> + id="tspan3279" + sodipodi:role="line" /></text> <rect - style="color:#000000;fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - id="rect8309" - width="249.51154" + ry="0" + y="158.21198" + x="598.30396" height="35.853241" - x="60" - y="98.484436" - ry="0" /> + width="249.51154" + id="rect3281" + style="color:#000000;fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <text - sodipodi:linespacing="125%" - id="text8311" - y="164.09448" - x="70" + xml:space="preserve" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - xml:space="preserve"><tspan - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - y="164.09448" - x="70" - id="tspan8313" - sodipodi:role="line">ortKreis</tspan></text> + x="608.30396" + y="223.82202" + id="text3283" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3285" + x="608.30396" + y="223.82202" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreis</tspan></text> <path - sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 718.80498,195.28533 -0.50102,238.53669" + id="path3287" inkscape:connector-curvature="0" - id="path8315" - d="M 180.50102,135.55779 180,374.09448" - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> - <text - sodipodi:linespacing="125%" - id="text8317" - y="164.09448" - x="320" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - xml:space="preserve"><tspan - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - y="164.09448" - x="320" - id="tspan8319" - sodipodi:role="line">ortKreisName</tspan></text> + sodipodi:nodetypes="cc" /> <text - sodipodi:linespacing="125%" - id="text8321" - y="164.09448" - x="500" + xml:space="preserve" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - xml:space="preserve"><tspan - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - y="164.09448" - x="500" - id="tspan8323" - sodipodi:role="line">halter</tspan></text> + x="860" + y="224.09448" + id="text3293" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3295" + x="860" + y="224.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">halter</tspan></text> <path sodipodi:nodetypes="cc" - inkscape:connector-curvature="0" - id="path8325" - d="M 491.48481,133.39064 490,374.09448" - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> - <path - inkscape:connector-curvature="0" - id="path8327" - d="M 62.16937,225.66446 690,224.09448" style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - sodipodi:nodetypes="cc" /> + d="M 600.47333,285.392 1020,284.09448" + id="path3299" + inkscape:connector-curvature="0" /> <path - inkscape:connector-curvature="0" - id="path8329" - d="M 58.11666,274.48497 690,274.09448" + sodipodi:nodetypes="cc" style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - sodipodi:nodetypes="cc" /> + d="M 596.42062,334.21251 1020,334.09448" + id="path3301" + inkscape:connector-curvature="0" /> <path - inkscape:connector-curvature="0" - id="path8331" - d="M 61.00916,325.82676 690,324.09448" + sodipodi:nodetypes="cc" style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - sodipodi:nodetypes="cc" /> + d="M 599.31312,385.5543 1020,384.09448" + id="path3303" + inkscape:connector-curvature="0" /> <path - sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 848.29769,195.03587 -1.45704,240.98112" + id="path3305" inkscape:connector-curvature="0" - id="path8333" - d="m 309.99373,135.30833 -1.45704,240.98112" - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> - <text - sodipodi:linespacing="125%" - id="text8335" - y="164.09448" - x="190" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - xml:space="preserve"><tspan - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - y="164.09448" - x="190" - id="tspan8337" - sodipodi:role="line">erkennNr</tspan></text> + sodipodi:nodetypes="cc" /> <text xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="70" - y="204.09448" - id="text8339" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="728.30396" + y="223.82202" + id="text3307" sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan8341" - x="70" - y="204.09448">S</tspan></text> + id="tspan3309" + x="728.30396" + y="223.82202" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">erkennNr</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3311" + y="263.82202" + x="608.30396" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="70" - y="254.09448" - id="text8343" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8345" - x="70" - y="254.09448">K</tspan></text> + xml:space="preserve"><tspan + y="263.82202" + x="608.30396" + id="tspan3313" + sodipodi:role="line">S</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3315" + y="313.82202" + x="608.30396" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="70" - y="304.09448" - id="text8347" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8349" - x="70" - y="304.09448">D</tspan></text> + xml:space="preserve"><tspan + y="313.82202" + x="608.30396" + id="tspan3317" + sodipodi:role="line">K</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3319" + y="364.09448" + x="610" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="70" - y="354.09448" - id="text8351" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8353" - x="70" - y="354.09448">K</tspan></text> + xml:space="preserve"><tspan + y="364.09448" + x="610" + id="tspan3321" + sodipodi:role="line">D</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3323" + y="414.09448" + x="610" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="190" - y="354.09448" - id="text8355" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8357" - x="190" - y="354.09448">pq 12</tspan></text> + xml:space="preserve"><tspan + y="414.09448" + x="610" + id="tspan3325" + sodipodi:role="line">K</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3327" + y="413.82202" + x="728.30396" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="190" - y="304.09448" - id="text8359" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8361" - x="190" - y="304.09448">ag 822</tspan></text> + xml:space="preserve"><tspan + y="413.82202" + x="728.30396" + id="tspan3329" + sodipodi:role="line">pq 12</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3331" + y="363.82202" + x="728.30396" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="190" - y="254.09448" - id="text8363" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8365" - x="190" - y="254.09448">tt 677</tspan></text> + xml:space="preserve"><tspan + y="363.82202" + x="728.30396" + id="tspan3333" + sodipodi:role="line">ag 822</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3335" + y="313.82202" + x="728.30396" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="190" - y="204.09448" - id="text8367" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8369" - x="190" - y="204.09448">zp 739</tspan></text> - <text - xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="320" - y="204.09448" - id="text8371" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8373" - x="320" - y="204.09448">Stuttgart</tspan></text> - <text - xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="320" - y="254.09448" - id="text8375" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8377" - x="320" - y="254.09448">Köln</tspan></text> - <text - xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="320" - y="304.09448" - id="text8379" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8381" - x="320" - y="304.09448">Düsseldorf</tspan></text> + xml:space="preserve"><tspan + y="313.82202" + x="728.30396" + id="tspan3337" + sodipodi:role="line">tt 677</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3339" + y="263.82202" + x="728.30396" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - x="320" - y="354.09448" - id="text8383" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8385" - x="320" - y="354.09448">Köln</tspan></text> + xml:space="preserve"><tspan + y="263.82202" + x="728.30396" + id="tspan3341" + sodipodi:role="line">zp 739</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3359" + y="264.09448" + x="860" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" - x="500" - y="204.09448" - id="text8387" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8389" - x="500" - y="204.09448">Hans Wurst</tspan></text> + xml:space="preserve"><tspan + y="264.09448" + x="860" + id="tspan3361" + sodipodi:role="line">Hans Wurst</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3363" + y="414.09448" + x="860" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" - x="500" - y="354.09448" - id="text8391" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8393" - x="500" - y="354.09448">Eva Witzig</tspan></text> + xml:space="preserve"><tspan + y="414.09448" + x="860" + id="tspan3365" + sodipodi:role="line">Eva Witzig</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3367" + y="364.09448" + x="860" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" - x="500" - y="304.09448" - id="text8395" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8397" - x="500" - y="304.09448">Tina Schräg</tspan></text> + xml:space="preserve"><tspan + y="364.09448" + x="860" + id="tspan3369" + sodipodi:role="line">Tina Schräg</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3371" + y="314.09448" + x="860" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" - x="500" - y="254.09448" - id="text8399" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8401" - x="500" - y="254.09448">Seppl Deppl</tspan></text> + xml:space="preserve"><tspan + y="314.09448" + x="860" + id="tspan3373" + sodipodi:role="line">Seppl Deppl</tspan></text> <text - xml:space="preserve" + sodipodi:linespacing="125%" + id="text3379" + y="184.09448" + x="620" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans Bold" - x="81.696045" - y="124.36694" - id="text8407" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan8409" - x="81.696045" - y="124.36694">Primary key</tspan></text> - <rect - ry="0" - y="135.16953" - x="60" - height="38.924957" - width="630" - id="rect8413" - style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline" /> + xml:space="preserve"><tspan + y="184.09448" + x="620" + id="tspan3381" + sodipodi:role="line">Primary key</tspan></text> <path - sodipodi:nodetypes="cccc" + sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" - id="path8415" - d="m 60,174.09448 0,200 630,0 0,-200" - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> - <text - xml:space="preserve" - style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - x="370" - y="494.09448" - id="text3067-8" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - x="370" - y="494.09448" - id="tspan3151-2">➢ Update </tspan></text> - <text - xml:space="preserve" - style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - x="370" - y="614.09448" - id="text3067-8-5" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - x="370" - y="614.09448" - id="tspan3151-2-8">➢ Delete </tspan></text> - <text - xml:space="preserve" - style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" - x="370" - y="554.09448" - id="text3067-8-2" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - x="370" - y="554.09448" - id="tspan3151-2-9">➢ Insert </tspan></text> - </g> - <g - style="display:none" - inkscape:label="Decomposition to 2-nd normal form" - id="g3265" - inkscape:groupmode="layer"> - <rect - ry="0" - y="116.25598" - x="319.2767" - height="35.853241" - width="127.32493" - id="rect3267" - style="color:#000000;fill:#ffaaaa;fill-opacity:1;stroke:#ff5555;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> - <rect - ry="0" - y="116.25598" - x="197.82176" - height="36.584896" - width="120.00837" - id="rect3269" - style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + id="path3383" + d="M 605.54879,205.80748 600,74.094482 l -570,0 0,139.999998 50,0" + style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotMQ);marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <rect - y="113.82202" - x="448.30396" - height="40" - width="380" - id="rect3271" - style="color:#000000;fill:#f2f2f2;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> - <text - sodipodi:linespacing="125%" - id="text3273" - y="44.094482" - x="10" - style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="44.094482" - x="10" - id="tspan3275" - sodipodi:role="line">Decomposition to 2-nd normal form</tspan></text> + style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline" + id="rect3385" + width="421.69604" + height="39.197411" + x="598.30396" + y="194.89706" + ry="0" /> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 598.30396,233.82202 0,200 421.69604,0.27246 0,-200" + id="path3387" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> <text sodipodi:linespacing="125%" - id="text3277" - y="254.61639" - x="395.09442" - style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text3389" + y="114.09448" + x="200" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan - y="254.61639" - x="395.09442" - id="tspan3279" - sodipodi:role="line" /></text> + y="114.09448" + x="200" + sodipodi:role="line" + id="tspan3393">Foreign key</tspan></text> <rect ry="0" - y="78.211975" - x="198.30396" - height="35.853241" - width="249.51154" - id="rect3281" - style="color:#000000;fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + y="160.67725" + x="101.71277" + height="72.92247" + width="116.82181" + id="rect3269-9" + style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <text xml:space="preserve" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="208.30396" - y="143.82202" - id="text3283" + x="110" + y="224.09448" + id="text3283-8" sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3285" - x="208.30396" - y="143.82202" + id="tspan3285-7" + x="110" + y="224.09448" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreis</tspan></text> <path style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 318.80498,115.28533 -0.50102,238.53669" - id="path3287" + d="M 220.50102,195.55779 220,384.09448" + id="path3287-2" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <text xml:space="preserve" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="458.30396" - y="143.82202" - id="text3289" + x="230" + y="224.09448" + id="text3289-9" sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3291" - x="458.30396" - y="143.82202" + id="tspan3291-4" + x="230" + y="224.09448" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreisName</tspan></text> - <text - xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="638.30396" - y="143.82202" - id="text3293" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan3295" - x="638.30396" - y="143.82202" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">halter</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 629.78877,113.11818 -1.48481,240.70384" - id="path3297" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - sodipodi:nodetypes="cc" - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 200.47333,205.392 627.83063,-1.56998" - id="path3299" - inkscape:connector-curvature="0" /> <path sodipodi:nodetypes="cc" style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 196.42062,254.21251 631.88334,-0.39049" - id="path3301" + d="M 102.16937,285.66446 400,284.09448" + id="path3299-5" inkscape:connector-curvature="0" /> <path sodipodi:nodetypes="cc" style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 199.31312,305.5543 628.99084,-1.73228" - id="path3303" + d="M 98.11666,334.48497 400,334.09448" + id="path3301-4" inkscape:connector-curvature="0" /> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 448.29769,115.03587 -1.45704,240.98112" - id="path3305" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <text - xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="328.30396" - y="143.82202" - id="text3307" - sodipodi:linespacing="125%"><tspan - sodipodi:role="line" - id="tspan3309" - x="328.30396" - y="143.82202" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">erkennNr</tspan></text> <text sodipodi:linespacing="125%" - id="text3311" - y="183.82202" - x="208.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text3311-0" + y="264.09448" + x="110" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="183.82202" - x="208.30396" - id="tspan3313" + y="264.09448" + x="110" + id="tspan3313-7" sodipodi:role="line">S</tspan></text> <text sodipodi:linespacing="125%" - id="text3315" - y="233.82202" - x="208.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="233.82202" - x="208.30396" - id="tspan3317" - sodipodi:role="line">K</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3319" - y="283.82202" - x="208.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="283.82202" - x="208.30396" - id="tspan3321" - sodipodi:role="line">D</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3323" - y="333.82202" - x="208.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text3315-1" + y="314.09448" + x="110" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="333.82202" - x="208.30396" - id="tspan3325" + y="314.09448" + x="110" + id="tspan3317-3" sodipodi:role="line">K</tspan></text> <text sodipodi:linespacing="125%" - id="text3327" - y="333.82202" - x="328.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="333.82202" - x="328.30396" - id="tspan3329" - sodipodi:role="line">pq 12</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3331" - y="283.82202" - x="328.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="283.82202" - x="328.30396" - id="tspan3333" - sodipodi:role="line">ag 822</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3335" - y="233.82202" - x="328.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="233.82202" - x="328.30396" - id="tspan3337" - sodipodi:role="line">tt 677</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3339" - y="183.82202" - x="328.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="183.82202" - x="328.30396" - id="tspan3341" - sodipodi:role="line">zp 739</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3343" - y="183.82202" - x="458.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="183.82202" - x="458.30396" - id="tspan3345" - sodipodi:role="line">Stuttgart</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3347" - y="233.82202" - x="458.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="233.82202" - x="458.30396" - id="tspan3349" - sodipodi:role="line">Köln</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3351" - y="283.82202" - x="458.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="283.82202" - x="458.30396" - id="tspan3353" - sodipodi:role="line">Düsseldorf</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3355" - y="333.82202" - x="458.30396" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="333.82202" - x="458.30396" - id="tspan3357" - sodipodi:role="line">Köln</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3359" - y="183.82202" - x="638.30396" + id="text3319-9" + y="364.09448" + x="110" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="183.82202" - x="638.30396" - id="tspan3361" - sodipodi:role="line">Hans Wurst</tspan></text> + y="364.09448" + x="110" + id="tspan3321-2" + sodipodi:role="line">D</tspan></text> <text sodipodi:linespacing="125%" - id="text3363" - y="333.82202" - x="638.30396" + id="text3343-9" + y="264.09448" + x="230" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="333.82202" - x="638.30396" - id="tspan3365" - sodipodi:role="line">Eva Witzig</tspan></text> + y="264.09448" + x="230" + id="tspan3345-4" + sodipodi:role="line">Stuttgart</tspan></text> <text sodipodi:linespacing="125%" - id="text3367" - y="283.82202" - x="638.30396" + id="text3347-4" + y="314.09448" + x="230" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="283.82202" - x="638.30396" - id="tspan3369" - sodipodi:role="line">Tina Schräg</tspan></text> + y="314.09448" + x="230" + id="tspan3349-1" + sodipodi:role="line">Köln</tspan></text> <text sodipodi:linespacing="125%" - id="text3371" - y="233.82202" - x="638.30396" + id="text3351-3" + y="364.09448" + x="230" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="233.82202" - x="638.30396" - id="tspan3373" - sodipodi:role="line">Seppl Deppl</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3379" - y="104.09448" - x="220" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans Bold" - xml:space="preserve"><tspan - y="104.09448" - x="220" - id="tspan3381" - sodipodi:role="line">Primary key</tspan></text> - <path - sodipodi:nodetypes="ccccc" - inkscape:connector-curvature="0" - id="path3383" - d="m 210,124.09448 -160,0 0,270 0,70 250,0" - style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotMQ);marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + y="364.09448" + x="230" + id="tspan3353-8" + sodipodi:role="line">Düsseldorf</tspan></text> <rect style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline" - id="rect3385" - width="630" - height="38.924957" - x="198.30396" - y="114.89707" + id="rect3385-3" + width="300" + height="188.92493" + x="100" + y="195.16956" ry="0" /> <path + sodipodi:nodetypes="cc" style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 198.30396,153.82202 0,200 630,0 0,-200" - id="path3387" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" /> + d="m 100.46496,235.18017 297.83063,-1.56998" + id="path3299-5-6" + inkscape:connector-curvature="0" /> <text sodipodi:linespacing="125%" - id="text3389" - y="444.09448" - x="60" - style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" + id="text3379-5" + y="184.09448" + x="110" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;display:inline;font-family:Sans;-inkscape-font-specification:Sans Bold" xml:space="preserve"><tspan - y="444.09448" - x="60" - sodipodi:role="line" - id="tspan3393">Foreign key</tspan></text> + y="184.09448" + x="110" + id="tspan3381-6" + sodipodi:role="line">P. key</tspan></text> + </g> + <g + inkscape:groupmode="layer" + id="g8293" + inkscape:label="Downside: Anomalies" + style="display:none"> <rect - ry="0" - y="410.67725" - x="311.71277" - height="72.92247" - width="116.82181" - id="rect3269-9" - style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + style="color:#000000;fill:#ffaaaa;fill-opacity:1;stroke:#ff5555;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect8295" + width="127.32493" + height="35.853241" + x="180.97275" + y="136.52844" + ry="0" /> + <rect + style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect8297" + width="120.00837" + height="36.584896" + x="59.517807" + y="136.52844" + ry="0" /> + <rect + style="color:#000000;fill:#f2f2f2;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect8299" + width="380" + height="40" + x="310" + y="134.09448" /> <text xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="320" - y="474.09448" - id="text3283-8" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + x="10" + y="44.094482" + id="text8301" sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3285-7" - x="320" - y="474.09448" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreis</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="M 430.50102,445.55779 430,684.09448" - id="path3287-2" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> + id="tspan8303" + x="10" + y="44.094482">Downside: Anomalies</tspan></text> <text xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="440" - y="474.09448" - id="text3289-9" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="395.09442" + y="254.61639" + id="text8305" sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3291-4" - x="440" - y="474.09448" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreisName</tspan></text> - <path - sodipodi:nodetypes="cc" - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="M 312.16937,535.66446 610,534.09448" - id="path3299-5" - inkscape:connector-curvature="0" /> - <path - sodipodi:nodetypes="cc" - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="M 308.11666,584.48497 610,584.09448" - id="path3301-4" - inkscape:connector-curvature="0" /> + id="tspan8307" + x="395.09442" + y="254.61639" /></text> + <rect + style="color:#000000;fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect8309" + width="249.51154" + height="35.853241" + x="60" + y="98.484436" + ry="0" /> + <text + sodipodi:linespacing="125%" + id="text8311" + y="164.09448" + x="70" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + y="164.09448" + x="70" + id="tspan8313" + sodipodi:role="line">ortKreis</tspan></text> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path8315" + d="M 180.50102,135.55779 180,374.09448" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text8317" + y="164.09448" + x="320" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + y="164.09448" + x="320" + id="tspan8319" + sodipodi:role="line">ortKreisName</tspan></text> + <text + sodipodi:linespacing="125%" + id="text8321" + y="164.09448" + x="500" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + y="164.09448" + x="500" + id="tspan8323" + sodipodi:role="line">halter</tspan></text> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path8325" + d="M 491.48481,133.39064 490,374.09448" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <path + inkscape:connector-curvature="0" + id="path8327" + d="M 62.16937,225.66446 690,224.09448" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + sodipodi:nodetypes="cc" /> + <path + inkscape:connector-curvature="0" + id="path8329" + d="M 58.11666,274.48497 690,274.09448" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + sodipodi:nodetypes="cc" /> + <path + inkscape:connector-curvature="0" + id="path8331" + d="M 61.00916,325.82676 690,324.09448" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + sodipodi:nodetypes="cc" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path8333" + d="m 309.99373,135.30833 -1.45704,240.98112" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text8335" + y="164.09448" + x="190" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + y="164.09448" + x="190" + id="tspan8337" + sodipodi:role="line">erkennNr</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="70" + y="204.09448" + id="text8339" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8341" + x="70" + y="204.09448">S</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="70" + y="254.09448" + id="text8343" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8345" + x="70" + y="254.09448">K</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="70" + y="304.09448" + id="text8347" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8349" + x="70" + y="304.09448">D</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="70" + y="354.09448" + id="text8351" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8353" + x="70" + y="354.09448">K</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="190" + y="354.09448" + id="text8355" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8357" + x="190" + y="354.09448">pq 12</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="190" + y="304.09448" + id="text8359" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8361" + x="190" + y="304.09448">ag 822</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="190" + y="254.09448" + id="text8363" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8365" + x="190" + y="254.09448">tt 677</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="190" + y="204.09448" + id="text8367" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8369" + x="190" + y="204.09448">zp 739</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="320" + y="204.09448" + id="text8371" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8373" + x="320" + y="204.09448">Stuttgart</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="320" + y="254.09448" + id="text8375" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8377" + x="320" + y="254.09448">Köln</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="320" + y="304.09448" + id="text8379" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8381" + x="320" + y="304.09448">Düsseldorf</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="320" + y="354.09448" + id="text8383" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8385" + x="320" + y="354.09448">Köln</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + x="500" + y="204.09448" + id="text8387" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8389" + x="500" + y="204.09448">Hans Wurst</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + x="500" + y="354.09448" + id="text8391" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8393" + x="500" + y="354.09448">Eva Witzig</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + x="500" + y="304.09448" + id="text8395" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8397" + x="500" + y="304.09448">Tina Schräg</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + x="500" + y="254.09448" + id="text8399" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8401" + x="500" + y="254.09448">Seppl Deppl</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans Bold" + x="81.696045" + y="124.36694" + id="text8407" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan8409" + x="81.696045" + y="124.36694">Primary key</tspan></text> + <rect + ry="0" + y="135.16953" + x="60" + height="38.924957" + width="630" + id="rect8413" + style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline" /> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path8415" + d="m 60,174.09448 0,200 630,0 0,-200" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="370" + y="494.09448" + id="text3067-8" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="370" + y="494.09448" + id="tspan3151-2">➢ Update </tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="370" + y="614.09448" + id="text3067-8-5" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="370" + y="614.09448" + id="tspan3151-2-8">➢ Delete </tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="370" + y="554.09448" + id="text3067-8-2" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="370" + y="554.09448" + id="tspan3151-2-9">➢ Insert </tspan></text> + </g> + <g + style="display:none" + inkscape:label="Positive: No joins required" + id="g3868" + inkscape:groupmode="layer"> + <text + sodipodi:linespacing="125%" + id="text3876" + y="44.094482" + x="10" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="44.094482" + x="10" + id="tspan3878" + sodipodi:role="line">Downside: Anomalies</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3880" + y="254.61639" + x="395.09442" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="254.61639" + x="395.09442" + id="tspan3882" + sodipodi:role="line" /></text> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + id="path3383-5" + d="m 620,94.094482 -150,-30 -450,0 0,79.999998 80,0" + style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotMQ);marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + xml:space="preserve" + style="font-size:24px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="250" + y="394.09448" + id="text4309" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan4311" + x="250" + y="394.09448">SELECT ... FROM Kreise, Plate</tspan><tspan + sodipodi:role="line" + x="250" + y="424.09448" + id="tspan4834">WHERE Kreise.ortKreis = Plate.ortKreis</tspan></text> + <rect + ry="0" + y="124.09448" + x="110" + height="39.505234" + width="118.53458" + id="rect3269-9-1" + style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="119.99999" + y="154.09448" + id="text3283-8-5" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3285-7-1" + x="119.99999" + y="154.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreis</tspan></text> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 230.50101,125.55779 -0.50102,188.53668" + id="path3287-2-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="240" + y="154.09448" + id="text3289-9-5" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3291-4-2" + x="240" + y="154.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreisName</tspan></text> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 112.16936,215.66445 297.83063,-1.56998" + id="path3299-5-0" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 108.11665,264.48496 301.88334,-0.39049" + id="path3301-4-9" + inkscape:connector-curvature="0" /> + <text + sodipodi:linespacing="125%" + id="text3311-0-5" + y="194.09448" + x="119.99999" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="194.09448" + x="119.99999" + id="tspan3313-7-9" + sodipodi:role="line">S</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3315-1-6" + y="244.09448" + x="119.99999" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="244.09448" + x="119.99999" + id="tspan3317-3-1" + sodipodi:role="line">K</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3319-9-6" + y="294.09448" + x="119.99999" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="294.09448" + x="119.99999" + id="tspan3321-2-2" + sodipodi:role="line">D</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3343-9-3" + y="194.09448" + x="240" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="194.09448" + x="240" + id="tspan3345-4-7" + sodipodi:role="line">Stuttgart</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3347-4-4" + y="244.09448" + x="240" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="244.09448" + x="240" + id="tspan3349-1-3" + sodipodi:role="line">Köln</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3351-3-8" + y="294.09448" + x="240" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="294.09448" + x="240" + id="tspan3353-8-9" + sodipodi:role="line">Düsseldorf</tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline" + id="rect3385-3-1" + width="300" + height="188.92493" + x="109.99999" + y="125.16956" + ry="0" /> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 110.46495,165.18017 297.83063,-1.56998" + id="path3299-5-6-2" + inkscape:connector-curvature="0" /> + <rect + ry="0" + y="86.528442" + x="740.97278" + height="35.853241" + width="127.32493" + id="rect3267-9" + style="color:#000000;fill:#ffaaaa;fill-opacity:1;stroke:#ff5555;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + ry="0" + y="86.528442" + x="619.51782" + height="36.584896" + width="120.00837" + id="rect3269-8" + style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + y="84.094482" + x="870" + height="40.272461" + width="171.69604" + id="rect3271-8" + style="color:#000000;fill:#f2f2f2;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + ry="0" + y="124.06522" + x="610" + height="0" + width="247.81549" + id="rect3281-4" + style="color:#000000;fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="630" + y="114.09448" + id="text3283-2" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3285-8" + x="630" + y="114.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreis</tspan></text> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 740.50102,85.557791 740,324.09447" + id="path3287-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="881.69604" + y="114.36694" + id="text3293-3" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3295-6" + x="881.69604" + y="114.36694" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">halter</tspan></text> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 622.16937,175.66445 1041.696,174.36693" + id="path3299-6" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 618.11666,224.48496 1041.696,224.36693" + id="path3301-8" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 621.00916,275.82675 1041.696,274.36693" + id="path3303-1" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 869.99373,85.308331 868.53669,326.28944" + id="path3305-8" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="750" + y="114.09448" + id="text3307-9" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3309-2" + x="750" + y="114.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">erkennNr</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3311-6" + y="154.09448" + x="630" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="154.09448" + x="630" + id="tspan3313-8" + sodipodi:role="line">S</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3315-8" + y="204.09448" + x="630" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="204.09448" + x="630" + id="tspan3317-7" + sodipodi:role="line">K</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3319-7" + y="254.36694" + x="631.69604" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="254.36694" + x="631.69604" + id="tspan3321-22" + sodipodi:role="line">D</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3323-4" + y="304.36694" + x="631.69604" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="304.36694" + x="631.69604" + id="tspan3325-7" + sodipodi:role="line">K</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3327-7" + y="304.09448" + x="750" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="304.09448" + x="750" + id="tspan3329-4" + sodipodi:role="line">pq 12</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3331-6" + y="254.09448" + x="750" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="254.09448" + x="750" + id="tspan3333-9" + sodipodi:role="line">ag 822</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3335-8" + y="204.09448" + x="750" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="204.09448" + x="750" + id="tspan3337-3" + sodipodi:role="line">tt 677</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3339-6" + y="154.09448" + x="750" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="154.09448" + x="750" + id="tspan3341-9" + sodipodi:role="line">zp 739</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3359-1" + y="154.36694" + x="881.69604" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="154.36694" + x="881.69604" + id="tspan3361-4" + sodipodi:role="line">Hans Wurst</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3363-3" + y="304.36694" + x="881.69604" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="304.36694" + x="881.69604" + id="tspan3365-4" + sodipodi:role="line">Eva Witzig</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3367-4" + y="254.36694" + x="881.69604" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="254.36694" + x="881.69604" + id="tspan3369-8" + sodipodi:role="line">Tina Schräg</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3371-9" + y="204.36694" + x="881.69604" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="204.36694" + x="881.69604" + id="tspan3373-0" + sodipodi:role="line">Seppl Deppl</tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline" + id="rect3385-35" + width="421.69604" + height="39.197411" + x="620" + y="85.169518" + ry="0" /> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 620,124.09448 0,199.99999 421.696,0.27246 0,-199.99999" + id="path3387-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <rect + ry="0" + y="496.52844" + x="330.97278" + height="35.853241" + width="127.32493" + id="rect5150-5" + style="color:#000000;fill:#ffaaaa;fill-opacity:1;stroke:#ff5555;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + ry="0" + y="496.52844" + x="209.51782" + height="36.584896" + width="120.00837" + id="rect5152-3" + style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + y="494.09448" + x="460.00003" + height="40" + width="380" + id="rect5154-9" + style="color:#000000;fill:#f2f2f2;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + ry="0" + y="494.09448" + x="210" + height="0.2432251" + width="249.51157" + id="rect5164-6" + style="color:#000000;fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="220.00003" + y="524.09448" + id="text5166-2" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5168-6" + x="220.00003" + y="524.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreis</tspan></text> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 330.50104,495.55779 -0.50102,238.53668" + id="path5170-8" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="470" + y="524.09448" + id="text5172-4" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5174-3" + x="470" + y="524.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreisName</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="650" + y="524.09448" + id="text5176-7" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5178-4" + x="650" + y="524.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">halter</tspan></text> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 641.48483,493.39064 -1.48481,240.70383" + id="path5180-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 212.16939,585.66445 627.83063,-1.56998" + id="path5182-4" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 208.11667,634.48496 631.88335,-0.39049" + id="path5184-3" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 211.00918,685.82675 628.99084,-1.73228" + id="path5186-8" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 459.99375,495.30833 -1.45704,240.98111" + id="path5188-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="340.00003" + y="524.09448" + id="text5190-1" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5192-7" + x="340.00003" + y="524.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">erkennNr</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5194-1" + y="564.09448" + x="220.00003" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="564.09448" + x="220.00003" + id="tspan5196-7" + sodipodi:role="line">S</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5198-1" + y="614.09448" + x="220.00003" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="614.09448" + x="220.00003" + id="tspan5200-7" + sodipodi:role="line">K</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5202-1" + y="664.09448" + x="220.00003" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="664.09448" + x="220.00003" + id="tspan5204-9" + sodipodi:role="line">D</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5206-8" + y="714.09448" + x="220.00003" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="714.09448" + x="220.00003" + id="tspan5208-4" + sodipodi:role="line">K</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5210-6" + y="714.09448" + x="340.00003" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="714.09448" + x="340.00003" + id="tspan5212-8" + sodipodi:role="line">pq 12</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5214-7" + y="664.09448" + x="340.00003" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="664.09448" + x="340.00003" + id="tspan5216-3" + sodipodi:role="line">ag 822</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5218-7" + y="614.09448" + x="340.00003" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="614.09448" + x="340.00003" + id="tspan5220-5" + sodipodi:role="line">tt 677</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5222-8" + y="564.09448" + x="340.00003" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="564.09448" + x="340.00003" + id="tspan5224-7" + sodipodi:role="line">zp 739</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5226-1" + y="564.09448" + x="470" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="564.09448" + x="470" + id="tspan5228-2" + sodipodi:role="line">Stuttgart</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5230-3" + y="614.09448" + x="470" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="614.09448" + x="470" + id="tspan5232-9" + sodipodi:role="line">Köln</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5234-6" + y="664.09448" + x="470" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="664.09448" + x="470" + id="tspan5236-6" + sodipodi:role="line">Düsseldorf</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5238-9" + y="714.09448" + x="470" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="714.09448" + x="470" + id="tspan5240-2" + sodipodi:role="line">Köln</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5242-6" + y="564.09448" + x="650" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="564.09448" + x="650" + id="tspan5244-5" + sodipodi:role="line">Hans Wurst</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5246-7" + y="714.09448" + x="650" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="714.09448" + x="650" + id="tspan5248-6" + sodipodi:role="line">Eva Witzig</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5250-4" + y="664.09448" + x="650" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="664.09448" + x="650" + id="tspan5252-8" + sodipodi:role="line">Tina Schräg</tspan></text> + <text + sodipodi:linespacing="125%" + id="text5254-3" + y="614.09448" + x="650" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="614.09448" + x="650" + id="tspan5256-5" + sodipodi:role="line">Seppl Deppl</tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline" + id="rect5268-2" + width="630" + height="38.924957" + x="210.00003" + y="495.16953" + ry="0" /> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 210.00002,534.09448 0,199.99999 630,0 0,-199.99999" + id="path5270-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + </g> + <g + style="display:none" + inkscape:label="Violating 3-rd normal form" + id="g3407" + inkscape:groupmode="layer"> + <rect + ry="0" + y="246.52844" + x="99.517807" + height="37.56604" + width="60.482193" + id="rect3411" + style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text3415" + y="44.094482" + x="10" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="44.094482" + x="10" + id="tspan3417" + sodipodi:role="line">Non-3rd normal form</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3419" + y="254.61639" + x="395.09442" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="254.61639" + x="395.09442" + id="tspan3421" + sodipodi:role="line" /></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="360" + y="274.09448" + id="text3425" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3427" + x="360" + y="274.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreis</tspan></text> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 158.44939,246.39633 -0.50102,238.53669" + id="path3429" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="490" + y="274.09448" + id="text3431" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3433" + x="490" + y="274.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreisName</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="170" + y="274.09448" + id="text3435" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3437" + x="170" + y="274.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">name</tspan></text> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 481.17267,243.39064 -1.48481,240.70384" + id="path3439" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 102.16937,335.66446 790,334.09448" + id="path3441" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 98.11666,384.48497 790,384.09448" + id="path3443" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cc" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 101.00916,435.82676 790,434.09448" + id="path3445" + inkscape:connector-curvature="0" /> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 349.99373,245.30833 -1.45704,240.98112" + id="path3447" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="680" + y="274.09448" + id="text3449" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3451" + x="680" + y="274.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">erkennNr</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3453" + y="314.09448" + x="360" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="314.09448" + x="360" + id="tspan3455" + sodipodi:role="line">S</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3457" + y="364.09448" + x="360" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="364.09448" + x="360" + id="tspan3459" + sodipodi:role="line">K</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3461" + y="414.09448" + x="360" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="414.09448" + x="360" + id="tspan3463" + sodipodi:role="line">D</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3465" + y="464.09448" + x="360" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="464.09448" + x="360" + id="tspan3467" + sodipodi:role="line">K</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3469" + y="464.09448" + x="680" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="464.09448" + x="680" + id="tspan3471" + sodipodi:role="line">pq 12</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3473" + y="414.09448" + x="680" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="414.09448" + x="680" + id="tspan3475" + sodipodi:role="line">ag 822</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3477" + y="364.09448" + x="680" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="364.09448" + x="680" + id="tspan3479" + sodipodi:role="line">tt 677</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3481" + y="314.09448" + x="680" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="314.09448" + x="680" + id="tspan3483" + sodipodi:role="line">zp 739</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3485" + y="314.09448" + x="490" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="314.09448" + x="490" + id="tspan3487" + sodipodi:role="line">Stuttgart</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3489" + y="364.09448" + x="490" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="364.09448" + x="490" + id="tspan3491" + sodipodi:role="line">Köln</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3493" + y="414.09448" + x="490" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="414.09448" + x="490" + id="tspan3495" + sodipodi:role="line">Düsseldorf</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3497" + y="464.09448" + x="490" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="464.09448" + x="490" + id="tspan3499" + sodipodi:role="line">Köln</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3501" + y="314.09448" + x="170" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="314.09448" + x="170" + id="tspan3503" + sodipodi:role="line">Hans Wurst</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3505" + y="464.09448" + x="170" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="464.09448" + x="170" + id="tspan3507" + sodipodi:role="line">Eva Witzig</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3509" + y="414.09448" + x="170" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="414.09448" + x="170" + id="tspan3511" + sodipodi:role="line">Tina Schräg</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3513" + y="364.09448" + x="170" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="364.09448" + x="170" + id="tspan3515" + sodipodi:role="line">Seppl Deppl</tspan></text> + <text + sodipodi:linespacing="125%" + id="text3521" + y="94.094482" + x="80" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans Bold" + xml:space="preserve"><tspan + y="94.094482" + x="80" + id="tspan3523" + sodipodi:role="line">Primary key</tspan></text> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path3525" + d="m 110,254.09448 0,-130 580,0 0,110" + style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotMQ);marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline" + id="rect3527" + width="690" + height="38.924957" + x="100" + y="245.16953" + ry="0" /> <path - sodipodi:nodetypes="cc" style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="M 311.00916,635.82676 610,634.09448" - id="path3303-0" - inkscape:connector-curvature="0" /> + d="m 100,284.09448 0,200 690,0 0,-200" + id="path3529" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> <text sodipodi:linespacing="125%" - id="text3311-0" - y="514.09448" - x="320" + id="text3531" + y="104.09448" + x="200" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" + xml:space="preserve"><tspan + y="104.09448" + x="200" + sodipodi:role="line" + id="tspan3535">F.d. 1: id → all other attributes</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="110" + y="274.09448" + id="text3425-7" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan3427-7" + x="110" + y="274.09448" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">id</tspan></text> + <flowRoot + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot3495" + xml:space="preserve"><flowRegion + id="flowRegion3497"><rect + y="679.52722" + x="686.76068" + height="271.68555" + width="239.82118" + id="rect3499" /></flowRegion><flowPara + id="flowPara3501" /></flowRoot> <text + sodipodi:linespacing="125%" + id="text3481-1-0" + y="464.09448" + x="110" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="514.09448" - x="320" - id="tspan3313-7" - sodipodi:role="line">S</tspan></text> + y="464.09448" + x="110" + id="tspan3483-7-0" + sodipodi:role="line">92</tspan></text> <text sodipodi:linespacing="125%" - id="text3315-1" - y="564.09448" - x="320" + id="text3481-1-6" + y="414.09448" + x="110" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="564.09448" - x="320" - id="tspan3317-3" - sodipodi:role="line">K</tspan></text> + y="414.09448" + x="110" + id="tspan3483-7-7" + sodipodi:role="line">48</tspan></text> <text sodipodi:linespacing="125%" - id="text3319-9" - y="614.09448" - x="320" + id="text3481-1-2" + y="364.09448" + x="110" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="614.09448" - x="320" - id="tspan3321-2" - sodipodi:role="line">D</tspan></text> + y="364.09448" + x="110" + id="tspan3483-7-8" + sodipodi:role="line">35</tspan></text> <text sodipodi:linespacing="125%" - id="text3323-3" - y="664.09448" - x="320" + id="text3481-1-4" + y="314.09448" + x="110" style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="664.09448" - x="320" - id="tspan3325-6" - sodipodi:role="line">K</tspan></text> + y="314.09448" + x="110" + id="tspan3483-7-9" + sodipodi:role="line">21</tspan></text> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 664.81196,245.37985 -1.48481,240.70384" + id="path3439-0" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path3525-4-2-0" + d="m 370,124.09448 0.62428,106.64586" + style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path3525-4-2-0-3" + d="m 652.29311,124.09448 0.63274,106.83314" + style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path3525-4-2-0-5" + d="m 200,124.09448 0.40155,105.99461" + style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path3525-5" + d="M 470.16876,255.30758 470,184.09448 l 140,0 0,50" + style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotMQ);marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <text + inkscape:transform-center-y="388.07031" + inkscape:transform-center-x="242.625" sodipodi:linespacing="125%" - id="text3343-9" - y="514.09448" - x="440" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text3531-0" + y="174.09448" + x="490" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan - y="514.09448" - x="440" - id="tspan3345-4" - sodipodi:role="line">Stuttgart</tspan></text> + y="174.09448" + x="490" + sodipodi:role="line" + id="tspan3535-2">F.d. 2</tspan><tspan + id="tspan5081" + y="214.09448" + x="490" + sodipodi:role="line" /></text> <text sodipodi:linespacing="125%" - id="text3347-4" - y="564.09448" - x="440" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text3531-3" + y="534.09448" + x="170" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan - y="564.09448" - x="440" - id="tspan3349-1" - sodipodi:role="line">Köln</tspan></text> + y="534.09448" + x="170" + sodipodi:role="line" + id="tspan3535-3">F.d. 1: id → ortKreis</tspan></text> <text sodipodi:linespacing="125%" - id="text3351-3" - y="614.09448" - x="440" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text3531-3-7" + y="594.09448" + x="170" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan - y="614.09448" - x="440" - id="tspan3353-8" - sodipodi:role="line">Düsseldorf</tspan></text> + y="594.09448" + x="170" + sodipodi:role="line" + id="tspan3535-3-8">F.d. 2: ortKreis → ortKreisName</tspan></text> <text sodipodi:linespacing="125%" - id="text3355-0" - y="664.09448" - x="440" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text3531-3-0" + y="654.09448" + x="10" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan - y="664.09448" - x="440" - id="tspan3357-6" - sodipodi:role="line">Köln</tspan></text> - <rect - style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline" - id="rect3385-3" - width="300" - height="238.92496" - x="310" - y="445.16956" - ry="0" /> + y="654.09448" + x="10" + sodipodi:role="line" + id="tspan3535-3-4">Transitive F.d. 3: id → ortKreisName</tspan></text> <path - sodipodi:nodetypes="cc" - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 310.46496,485.18017 297.83063,-1.56998" - id="path3299-5-6" - inkscape:connector-curvature="0" /> - <text - sodipodi:linespacing="125%" - id="text3379-5" - y="434.09448" - x="320" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;display:inline;font-family:Sans;-inkscape-font-specification:Sans Bold" - xml:space="preserve"><tspan - y="434.09448" - x="320" - id="tspan3381-6" - sodipodi:role="line">P. key</tspan></text> + inkscape:connector-curvature="0" + id="path5146" + d="m 40,614.09448 710,0" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <path - sodipodi:nodetypes="ccccc" inkscape:connector-curvature="0" - id="path3383-2" - d="m 420,454.09448 0,-60 50,0 50,0 0,50" - style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotMQ);marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + id="path4118" + d="m 150,254.09448 0,-90 240,0 0,70" + style="color:#000000;fill:none;stroke:#ff00ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotM1);marker-end:url(#Arrow1Mend-6-8n);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + sodipodi:nodetypes="cccc" /> + <path + inkscape:connector-curvature="0" + id="path5688" + d="m 400,234.09448 60,0 0,-100 170,0 0,100" + style="color:#000000;fill:none;stroke:#ff00ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6-8l);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <text + inkscape:transform-center-y="388.07031" + inkscape:transform-center-x="242.625" sodipodi:linespacing="125%" - id="text3389-4" - y="424.09448" - x="440" - style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + id="text3531-0-7" + y="194.09448" + x="250" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan - y="424.09448" - x="440" + y="194.09448" + x="250" sodipodi:role="line" - id="tspan3393-8">F. d.</tspan></text> + id="tspan3535-2-1">F.d. 3</tspan><tspan + id="tspan5081-0" + y="234.09448" + x="250" + sodipodi:role="line" /></text> </g> <g - style="display:none" - inkscape:label="Violating 3-rd normal form" - id="g3407" - inkscape:groupmode="layer"> + inkscape:groupmode="layer" + id="g5655" + inkscape:label="Billing: Joined table" + style="display:none"> <rect - ry="0" - y="246.52844" - x="99.517807" - height="37.56604" - width="60.482193" - id="rect3411" - style="color:#000000;fill:#ff2a2a;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + style="color:#000000;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:2.69337845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5659" + width="159.0397" + height="40.60965" + x="178.88416" + y="275.08536" /> + <rect + style="color:#000000;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:2.69337845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5661" + width="151.98105" + height="40.306622" + x="6.7340393" + y="276.77905" /> + <rect + style="color:#000000;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5663" + width="190" + height="40" + x="61.59729" + y="75.733551" /> + <text + xml:space="preserve" + style="font-size:22px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Italic" + x="70" + y="104.09448" + id="text5665" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5667" + x="70" + y="104.09448" + style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ff0000;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Italic">BillingDetail</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="20" + y="304.09448" + id="text5669" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5671" + x="20" + y="304.09448">CreditCard</tspan></text> + <text + xml:space="preserve" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="190" + y="304.09448" + id="text5673" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5675" + x="190" + y="304.09448">BankAccount</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="71.59729" + y="135.73355" + id="text5677" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5679" + x="71.59729" + y="135.73355">owner</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="17.420837" + y="335.57126" + id="text5681" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5683" + x="17.420837" + y="335.57126">cardCompany</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="17.420837" + y="365.57126" + id="text5685" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5687" + x="17.420837" + y="365.57126">expiry</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="187.92383" + y="335.69501" + id="text5689" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5691" + x="187.92383" + y="335.69501">iban</tspan></text> + <rect + style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + id="rect5693" + width="190" + height="70" + x="61.59729" + y="75.733551" /> + <rect + style="fill:none;stroke:#000000;stroke-width:3.21545959;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect5695" + width="151.45897" + height="100.87887" + x="7.138092" + y="276.91632" /> + <rect + style="fill:none;stroke:#000000;stroke-width:2.9819808;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect5697" + width="159.6468" + height="82.311127" + x="179.77087" + y="274.85843" /> + <path + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 71.59729,275.73355 0,-40 L 260,234.09448 l 0,40" + id="path5699" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#EmptyTriangleOutLX);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 167.41887,214.09448 -0.46763,-67.63781" + id="path5701" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <flowRoot + xml:space="preserve" + id="flowRoot5703" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion5705"><rect + id="rect5707" + width="779.52753" + height="63.634903" + x="5.0618672" + y="465.69177" /></flowRegion><flowPara + id="flowPara5709" /></flowRoot> <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:#008000;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="510" + y="454.09448" + id="text5767" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5769" + x="510" + y="454.09448" /></text> <text sodipodi:linespacing="125%" - id="text3415" + id="text5785" y="44.094482" x="10" - style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="44.094482" x="10" - id="tspan3417" - sodipodi:role="line">Non-3rd normal form</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3419" - y="254.61639" - x="395.09442" - style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="254.61639" - x="395.09442" - id="tspan3421" - sodipodi:role="line" /></text> + id="tspan5787" + sodipodi:role="line">Billing: Joined table</tspan></text> + <flowRoot + xml:space="preserve" + id="flowRoot5797" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion5799"><rect + id="rect5801" + width="388.50952" + height="141.20967" + x="143.40465" + y="613.85968" /></flowRegion><flowPara + id="flowPara5803" /></flowRoot> <flowRoot + xml:space="preserve" + id="flowRoot5811" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion5813"><rect + id="rect5815" + width="926.13953" + height="188.57358" + x="95.047165" + y="474.92093" /></flowRegion><flowPara + id="flowPara5817" /></flowRoot> <rect + style="color:#000000;fill:#f2f2f2;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5657-7" + width="40" + height="110" + x="590" + y="424.09448" /> <text xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="360" - y="274.09448" - id="text3425" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="640" + y="444.09448" + id="text5715-6" sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3427" - x="360" - y="274.09448" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreis</tspan></text> + id="tspan5717-0" + x="640" + y="444.09448">owner</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="640" + y="484.09448" + id="text5731-0" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="640" + y="484.09448" + id="tspan5733-8">Jim Evans</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="640" + y="524.09448" + id="text5747-5" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5749-5" + x="640" + y="524.09448">Tim Lee</tspan></text> + <rect + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5775-5" + width="160" + height="110" + x="590" + y="424.09448" /> <path style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 158.44939,246.39633 -0.50102,238.53669" - id="path3429" + d="m 590,454.09448 160,0" + id="path5777-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="M 591.45704,494.33558 750,494.09448" + id="path5805-9" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <text xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="490" - y="274.09448" - id="text3431" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="600" + y="444.09448" + id="text5715-6-4" sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3433" - x="490" - y="274.09448" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">ortKreisName</tspan></text> + id="tspan5717-0-8" + x="600" + y="444.09448">id</tspan></text> + <rect + style="color:#000000;fill:#f2f2f2;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5657-7-1" + width="80" + height="60" + x="710" + y="674.09448" /> <text xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="170" - y="274.09448" - id="text3435" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="800" + y="694.09448" + id="text5727-5-3" sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3437" - x="170" - y="274.09448" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">name</tspan></text> + id="tspan5729-6-2" + x="800" + y="694.09448">iban</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="800" + y="724.09448" + id="text5771-3-8" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5773-5-8" + x="800" + y="724.09448">DE12500105170648489890</tspan></text> + <rect + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5775-5-5" + width="330" + height="60" + x="710" + y="674.09448" /> <path style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 481.17267,243.39064 -1.48481,240.70384" - id="path3439" + d="m 710,704.09448 330,0" + id="path5777-9-0" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> - <path - sodipodi:nodetypes="cc" - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="M 102.16937,335.66446 790,334.09448" - id="path3441" - inkscape:connector-curvature="0" /> - <path - sodipodi:nodetypes="cc" + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="600" + y="484.09448" + id="text5731-0-0" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="600" + y="484.09448" + id="tspan5733-8-1">1</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="600" + y="524.09448" + id="text5731-0-0-4" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="600" + y="524.09448" + id="tspan5733-8-1-9">2</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="720" + y="724.09448" + id="text5731-0-0-4-1" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="720" + y="724.09448" + id="tspan5733-8-1-9-8">2</tspan></text> + <rect + style="color:#000000;fill:#f2f2f2;stroke:#000000;stroke-width:2.26319528;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5657-7-1-6" + width="80.368408" + height="70.368408" + x="349.63159" + y="673.72607" /> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="440" + y="694.09448" + id="text5719-3-0-3" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5721-0-5-9" + x="440" + y="694.09448">cardCompany</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="580" + y="694.09448" + id="text5723-9-6-2" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5725-1-0-4" + x="580" + y="694.09448">expiry</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="440" + y="734.09448" + id="text5735-4-0-3" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + x="440" + y="734.09448" + id="tspan5737-2-2-2">Visa</tspan></text> + <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="580" + y="734.09448" + id="text5739-1-6-2" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5741-5-5-1" + x="580" + y="734.09448">11/2021</tspan></text> + <rect style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="M 98.11666,384.48497 790,384.09448" - id="path3443" - inkscape:connector-curvature="0" /> + id="rect5775-5-5-0" + width="310" + height="70" + x="350" + y="674.09448" /> <path - sodipodi:nodetypes="cc" style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="M 101.00916,435.82676 790,434.09448" - id="path3445" - inkscape:connector-curvature="0" /> + d="m 350,704.09448 310,0" + id="path5777-9-0-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> <path style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 349.99373,245.30833 -1.45704,240.98112" - id="path3447" + d="m 569.18369,674.27737 -0.81954,69.05673" + id="path5783-0-8-7" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" /> <text xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="680" - y="274.09448" - id="text3449" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="360" + y="694.09448" + id="text5715-6-4-8-7" sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3451" - x="680" - y="274.09448" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">erkennNr</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3453" - y="314.09448" - x="360" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="314.09448" + id="tspan5717-0-8-9-0" x="360" - id="tspan3455" - sodipodi:role="line">S</tspan></text> - <text - sodipodi:linespacing="125%" - id="text3457" - y="364.09448" - x="360" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="364.09448" + y="694.09448">parent</tspan><tspan + sodipodi:role="line" x="360" - id="tspan3459" - sodipodi:role="line">K</tspan></text> + y="716.59448" + id="tspan6269" /></text> <text - sodipodi:linespacing="125%" - id="text3461" - y="414.09448" + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" x="360" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="414.09448" + y="734.09448" + id="text5731-0-0-3-1" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" x="360" - id="tspan3463" - sodipodi:role="line">D</tspan></text> + y="734.09448" + id="tspan5733-8-1-0-2">1</tspan></text> <text - sodipodi:linespacing="125%" - id="text3465" - y="464.09448" - x="360" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - xml:space="preserve"><tspan - y="464.09448" - x="360" - id="tspan3467" - sodipodi:role="line">K</tspan></text> + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + x="720" + y="694.09448" + id="text5715-6-4-8-7-6" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5717-0-8-9-0-5" + x="720" + y="694.09448">parent</tspan><tspan + sodipodi:role="line" + x="720" + y="716.59448" + id="tspan6269-9" /></text> + <path + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotMU);marker-end:url(#Arrow1Mend-6-8U);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 720,674.09448 0,-50 -180,-60 0,-120 40,0" + id="path6295" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccc" /> + <path + style="color:#000000;fill:none;stroke:#0000ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotMs);marker-end:url(#Arrow1Mend-6-8V);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 360,674.09448 110,-240 110,0" + id="path6297" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="188.57356" + y="191.30019" + id="text12834" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan12836" + x="188.57356" + y="191.30019">Inheritance</tspan></text> <text + xml:space="preserve" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="400" + y="614.09448" + id="text12834-8" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan12836-0" + x="400" + y="614.09448">Foreign key</tspan></text> + <path + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6-8);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + d="m 210,384.09448 200,100" + id="path12859" + inkscape:connector-curvature="0" /> + </g> + <g + style="display:none" + inkscape:label="Joined table per class , pros and cons" + id="g5315" + inkscape:groupmode="layer"> + <flowRoot + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot5317" + xml:space="preserve"><flowRegion + id="flowRegion5319"><rect + y="465.69177" + x="5.0618672" + height="63.634903" + width="779.52753" + id="rect5321" /></flowRegion><flowPara + id="flowPara5323" /></flowRoot> <text sodipodi:linespacing="125%" - id="text3469" - y="464.09448" - x="680" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text5325" + y="454.09448" + x="510" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:#008000;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="464.09448" - x="680" - id="tspan3471" - sodipodi:role="line">pq 12</tspan></text> + y="454.09448" + x="510" + id="tspan5327" + sodipodi:role="line" /></text> <text + xml:space="preserve" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + x="10" + y="44.094482" + id="text5329" + sodipodi:linespacing="125%"><tspan + id="tspan5331" + sodipodi:role="line" + x="10" + y="44.094482">Joined Table per class , pros and cons</tspan></text> + <flowRoot + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot5333" + xml:space="preserve"><flowRegion + id="flowRegion5335"><rect + y="613.85968" + x="143.40465" + height="141.20967" + width="388.50952" + id="rect5337" /></flowRegion><flowPara + id="flowPara5339" /></flowRoot> <text sodipodi:linespacing="125%" - id="text3473" - y="414.09448" - x="680" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text5341" + y="104.09448" + x="10" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan - y="414.09448" - x="680" - id="tspan3475" - sodipodi:role="line">ag 822</tspan></text> + y="104.09448" + x="10" + id="tspan5343" + sodipodi:role="line">➢ Positive</tspan></text> <text sodipodi:linespacing="125%" - id="text3477" + id="text5345" y="364.09448" - x="680" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + x="10" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan y="364.09448" - x="680" - id="tspan3479" - sodipodi:role="line">tt 677</tspan></text> + x="10" + id="tspan5347" + sodipodi:role="line">➢ Negative</tspan></text> <text sodipodi:linespacing="125%" - id="text3481" - y="314.09448" - x="680" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text5349" + y="157.30836" + x="49.914833" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="314.09448" - x="680" - id="tspan3483" - sodipodi:role="line">zp 739</tspan></text> + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans" + y="157.30836" + x="49.914833" + id="tspan5351" + sodipodi:role="line">•Fully normalized</tspan></text> <text sodipodi:linespacing="125%" - id="text3485" - y="314.09448" - x="490" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text5359" + y="414.09448" + x="60" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="314.09448" - x="490" - id="tspan3487" - sodipodi:role="line">Stuttgart</tspan></text> + y="414.09448" + x="60" + id="tspan5361" + sodipodi:role="line">•Polymorphic queries require joins ⇒</tspan><tspan + y="459.09448" + x="60" + sodipodi:role="line" + id="tspan5387"> poor performance <tspan + id="tspan5363" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans" /></tspan></text> <text sodipodi:linespacing="125%" - id="text3489" - y="364.09448" - x="490" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text5365" + y="274.09448" + x="50" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="364.09448" - x="490" - id="tspan3491" - sodipodi:role="line">Köln</tspan></text> + y="274.09448" + x="50" + id="tspan5367" + sodipodi:role="line">•Transparent <tspan + id="tspan5369" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans">integrity constraints (NULL)</tspan></tspan></text> + <flowRoot + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot5373" + xml:space="preserve"><flowRegion + id="flowRegion5375"><rect + y="342.76071" + x="26.755585" + height="325.40576" + width="930.66046" + id="rect5377" /></flowRegion><flowPara + id="flowPara5379" /></flowRoot> <text + sodipodi:linespacing="125%" + id="text5349-3" + y="214.09448" + x="50" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans" + y="214.09448" + x="50" + id="tspan5351-0" + sodipodi:role="line">•Easy inheritance hierarchy extension</tspan></text> + </g> + <g + style="display:inline" + inkscape:label="Billing: Table per concrete class" + id="g13157" + inkscape:groupmode="layer"> + <rect + y="275.08536" + x="178.88416" + height="40.60965" + width="159.0397" + id="rect13159" + style="color:#000000;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:2.69337845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + y="276.77905" + x="6.7340393" + height="40.306622" + width="151.98105" + id="rect13161" + style="color:#000000;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:2.69337845;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + y="75.733551" + x="61.59729" + height="40" + width="190" + id="rect13163" + style="color:#000000;fill:#ececec;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <text sodipodi:linespacing="125%" - id="text3493" - y="414.09448" - x="490" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text13165" + y="104.09448" + x="70" + style="font-size:22px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Italic" xml:space="preserve"><tspan - y="414.09448" - x="490" - id="tspan3495" - sodipodi:role="line">Düsseldorf</tspan></text> + style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#ff0000;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Italic" + y="104.09448" + x="70" + id="tspan13167" + sodipodi:role="line">BillingDetail</tspan></text> <text sodipodi:linespacing="125%" - id="text3497" - y="464.09448" - x="490" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text13169" + y="304.09448" + x="20" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="464.09448" - x="490" - id="tspan3499" - sodipodi:role="line">Köln</tspan></text> + y="304.09448" + x="20" + id="tspan13171" + sodipodi:role="line">CreditCard</tspan></text> <text sodipodi:linespacing="125%" - id="text3501" - y="314.09448" - x="170" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text13173" + y="304.09448" + x="190" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="314.09448" - x="170" - id="tspan3503" - sodipodi:role="line">Hans Wurst</tspan></text> + y="304.09448" + x="190" + id="tspan13175" + sodipodi:role="line">BankAccount</tspan></text> <text sodipodi:linespacing="125%" - id="text3505" - y="464.09448" - x="170" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text13177" + y="135.73355" + x="71.59729" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="464.09448" - x="170" - id="tspan3507" - sodipodi:role="line">Eva Witzig</tspan></text> + y="135.73355" + x="71.59729" + id="tspan13179" + sodipodi:role="line">owner</tspan></text> <text sodipodi:linespacing="125%" - id="text3509" - y="414.09448" - x="170" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text13181" + y="335.57126" + x="17.420837" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="414.09448" - x="170" - id="tspan3511" - sodipodi:role="line">Tina Schräg</tspan></text> + y="335.57126" + x="17.420837" + id="tspan13183" + sodipodi:role="line">cardCompany</tspan></text> <text sodipodi:linespacing="125%" - id="text3513" - y="364.09448" - x="170" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text13185" + y="365.57126" + x="17.420837" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="364.09448" - x="170" - id="tspan3515" - sodipodi:role="line">Seppl Deppl</tspan></text> + y="365.57126" + x="17.420837" + id="tspan13187" + sodipodi:role="line">expiry</tspan></text> <text sodipodi:linespacing="125%" - id="text3521" - y="94.094482" - x="80" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:#ffffff;stroke-opacity:1;font-family:Sans;-inkscape-font-specification:Sans Bold" + id="text13189" + y="335.69501" + x="187.92383" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="94.094482" - x="80" - id="tspan3523" - sodipodi:role="line">Primary key</tspan></text> + y="335.69501" + x="187.92383" + id="tspan13191" + sodipodi:role="line">iban</tspan></text> + <rect + y="75.733551" + x="61.59729" + height="70" + width="190" + id="rect13193" + style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + y="276.91632" + x="7.138092" + height="100.87887" + width="151.45897" + id="rect13195" + style="fill:none;stroke:#000000;stroke-width:3.21545959;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + y="274.85843" + x="179.77087" + height="82.311127" + width="159.6468" + id="rect13197" + style="fill:none;stroke:#000000;stroke-width:2.9819808;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> <path sodipodi:nodetypes="cccc" inkscape:connector-curvature="0" - id="path3525" - d="m 110,254.09448 0,-130 580,0 0,110" - style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotMQ);marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> - <rect - style="fill:none;stroke:#000000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;display:inline" - id="rect3527" - width="690" - height="38.924957" - x="100" - y="245.16953" - ry="0" /> + id="path13199" + d="m 71.59729,275.73355 0,-40 L 260,234.09448 l 0,40" + style="stroke-linejoin:miter;enable-background:accumulate;stroke-opacity:1;color:#000000;stroke-dashoffset:0;visibility:visible;stroke:#0000ff;stroke-linecap:butt;stroke-miterlimit:4;marker:none;stroke-dasharray:none;overflow:visible;stroke-width:3;display:inline;fill:none" /> <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 100,284.09448 0,200 690,0 0,-200" - id="path3529" + sodipodi:nodetypes="cc" inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" /> - <text + id="path13201" + d="m 167.41887,214.09448 -0.46763,-67.63781" + style="stroke-linejoin:miter;enable-background:accumulate;stroke-opacity:1;color:#000000;marker-start:url(#EmptyTriangleOutLX);stroke-dashoffset:0;visibility:visible;stroke:#0000ff;stroke-linecap:butt;stroke-miterlimit:4;marker:none;stroke-dasharray:none;overflow:visible;stroke-width:3;display:inline;fill:none" /> + <flowRoot + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot13203" + xml:space="preserve"><flowRegion + id="flowRegion13205"><rect + y="465.69177" + x="5.0618672" + height="63.634903" + width="779.52753" + id="rect13207" /></flowRegion><flowPara + id="flowPara13209" /></flowRoot> <text sodipodi:linespacing="125%" - id="text3531" - y="104.09448" - x="200" - style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans" + id="text13211" + y="454.09448" + x="510" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:#008000;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="104.09448" - x="200" - sodipodi:role="line" - id="tspan3535">F.d. 1: id → all other attributes</tspan></text> + y="454.09448" + x="510" + id="tspan13213" + sodipodi:role="line" /></text> <text xml:space="preserve" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace Bold" - x="110" - y="274.09448" - id="text3425-7" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + x="10" + y="44.094482" + id="text13215" sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3427-7" - x="110" - y="274.09448" - style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Monospace;-inkscape-font-specification:Monospace Bold">id</tspan></text> + id="tspan13217" + x="10" + y="44.094482">Billing: Table per concrete class</tspan></text> <flowRoot - style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" - id="flowRoot3495" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot13219" xml:space="preserve"><flowRegion - id="flowRegion3497"><rect - y="679.52722" - x="686.76068" - height="271.68555" - width="239.82118" - id="rect3499" /></flowRegion><flowPara - id="flowPara3501" /></flowRoot> <text + id="flowRegion13221"><rect + y="613.85968" + x="143.40465" + height="141.20967" + width="388.50952" + id="rect13223" /></flowRegion><flowPara + id="flowPara13225" /></flowRoot> <flowRoot + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + id="flowRoot13227" + xml:space="preserve"><flowRegion + id="flowRegion13229"><rect + y="474.92093" + x="95.047165" + height="188.57358" + width="926.13953" + id="rect13231" /></flowRegion><flowPara + id="flowPara13233" /></flowRoot> <rect + y="494.09448" + x="520" + height="60" + width="100" + id="rect13259" + style="color:#000000;fill:#f2f2f2;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text13261" + y="514.09448" + x="630" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + xml:space="preserve"><tspan + y="514.09448" + x="630" + id="tspan13263" + sodipodi:role="line">iban</tspan></text> + <text + sodipodi:linespacing="125%" + id="text13265" + y="544.09448" + x="630" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="544.09448" + x="630" + id="tspan13267" + sodipodi:role="line">DE12500105170648489890</tspan></text> + <rect + y="494.09448" + x="520" + height="60" + width="360" + id="rect13269" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path13271" + d="m 520,524.09448 360,0" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + y="594.09448" + x="40" + height="70" + width="110" + id="rect13285" + style="color:#000000;fill:#f2f2f2;stroke:#000000;stroke-width:2.26319528;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text sodipodi:linespacing="125%" - id="text3481-1-0" - y="464.09448" - x="110" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text13287" + y="614.09448" + x="160" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" xml:space="preserve"><tspan - y="464.09448" - x="110" - id="tspan3483-7-0" - sodipodi:role="line">92</tspan></text> + y="614.09448" + x="160" + id="tspan13289" + sodipodi:role="line">cardCompany</tspan></text> <text sodipodi:linespacing="125%" - id="text3481-1-6" - y="414.09448" - x="110" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text13291" + y="614.09448" + x="300" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" xml:space="preserve"><tspan - y="414.09448" - x="110" - id="tspan3483-7-7" - sodipodi:role="line">48</tspan></text> + y="614.09448" + x="300" + id="tspan13293" + sodipodi:role="line">expiry</tspan></text> <text sodipodi:linespacing="125%" - id="text3481-1-2" - y="364.09448" - x="110" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text13295" + y="654.09448" + x="160" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="364.09448" - x="110" - id="tspan3483-7-8" - sodipodi:role="line">35</tspan></text> + id="tspan13297" + y="654.09448" + x="160" + sodipodi:role="line">Visa</tspan></text> <text sodipodi:linespacing="125%" - id="text3481-1-4" - y="314.09448" - x="110" - style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Monospace;-inkscape-font-specification:Monospace" + id="text13299" + y="654.09448" + x="300" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff00ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="314.09448" - x="110" - id="tspan3483-7-9" - sodipodi:role="line">21</tspan></text> - <path - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - d="m 664.81196,245.37985 -1.48481,240.70384" - id="path3439-0" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - sodipodi:nodetypes="cc" - inkscape:connector-curvature="0" - id="path3525-4-2-0" - d="m 370,124.09448 0.62428,106.64586" - style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + y="654.09448" + x="300" + id="tspan13301" + sodipodi:role="line">11/2021</tspan></text> + <rect + y="594.09448" + x="40" + height="70" + width="340" + id="rect13303" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" - id="path3525-4-2-0-3" - d="m 652.29311,124.09448 0.63274,106.83314" - style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + id="path13305" + d="m 40,624.09448 340,0" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> <path sodipodi:nodetypes="cc" inkscape:connector-curvature="0" - id="path3525-4-2-0-5" - d="m 200,124.09448 0.40155,105.99461" - style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + id="path13307" + d="m 289.18369,594.27737 -0.81954,69.05673" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <text + sodipodi:linespacing="125%" + id="text13309" + y="614.09448" + x="50" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" + xml:space="preserve"><tspan + y="614.09448" + x="50" + id="tspan13311" + sodipodi:role="line">owner</tspan><tspan + id="tspan13313" + y="636.59448" + x="50" + sodipodi:role="line" /></text> + <text + sodipodi:linespacing="125%" + id="text13315" + y="654.09448" + x="50" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + id="tspan13317" + y="654.09448" + x="50" + sodipodi:role="line">Jim Evans</tspan></text> + <text + sodipodi:linespacing="125%" + id="text13329" + y="191.30019" + x="188.57356" + style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + xml:space="preserve"><tspan + y="191.30019" + x="188.57356" + id="tspan13331" + sodipodi:role="line">Inheritance</tspan></text> <path - sodipodi:nodetypes="cccc" inkscape:connector-curvature="0" - id="path3525-5" - d="M 470.16876,255.30758 470,184.09448 l 140,0 0,50" - style="color:#000000;fill:none;stroke:#008000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotMQ);marker-end:url(#Arrow1Mend-6FL);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + id="path13337" + d="m 350,364.09448 270,120" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6-8);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + sodipodi:nodetypes="cc" /> <text - inkscape:transform-center-y="388.07031" - inkscape:transform-center-x="242.625" sodipodi:linespacing="125%" - id="text3531-0" - y="174.09448" - x="490" - style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + id="text13309-2" + y="514.09448" + x="530" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace Bold" xml:space="preserve"><tspan - y="174.09448" - x="490" - sodipodi:role="line" - id="tspan3535-2">F.d. 2</tspan><tspan - id="tspan5081" - y="214.09448" - x="490" + y="514.09448" + x="530" + id="tspan13311-3" + sodipodi:role="line">owner</tspan><tspan + id="tspan13313-4" + y="536.59448" + x="530" sodipodi:role="line" /></text> <text sodipodi:linespacing="125%" - id="text3531-3" - y="534.09448" - x="170" - style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + id="text13245" + y="544.09448" + x="530" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" xml:space="preserve"><tspan - y="534.09448" - x="170" + y="544.09448" + x="530" + id="tspan13247" + sodipodi:role="line">Tim Lee</tspan></text> + <path + inkscape:connector-curvature="0" + id="path13337-9" + d="M 92.211325,384.50957 190,584.09448" + style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6-8);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + sodipodi:nodetypes="cc" /> + </g> + <g + inkscape:groupmode="layer" + id="g5411" + inkscape:label="Table per concrete class , pros and cons copy copy" + style="display:none"> + <flowRoot + xml:space="preserve" + id="flowRoot5413" + style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion5415"><rect + id="rect5417" + width="779.52753" + height="63.634903" + x="5.0618672" + y="465.69177" /></flowRegion><flowPara + id="flowPara5419" /></flowRoot> <text + xml:space="preserve" + style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:#008000;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="510" + y="454.09448" + id="text5421" + sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3535-3">F.d. 1: id → ortKreis</tspan></text> + id="tspan5423" + x="510" + y="454.09448" /></text> <text sodipodi:linespacing="125%" - id="text3531-3-7" - y="594.09448" - x="170" - style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#008000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" + id="text5425" + y="44.094482" + x="10" + style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" xml:space="preserve"><tspan - y="594.09448" - x="170" + y="44.094482" + x="10" sodipodi:role="line" - id="tspan3535-3-8">F.d. 2: ortKreis → ortKreisName</tspan></text> + id="tspan5427">Table per concrete class , pros and cons</tspan></text> + <flowRoot + xml:space="preserve" + id="flowRoot5429" + style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion5431"><rect + id="rect5433" + width="388.50952" + height="141.20967" + x="143.40465" + y="613.85968" /></flowRegion><flowPara + id="flowPara5435" /></flowRoot> <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + x="10" + y="104.09448" + id="text5437" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5439" + x="10" + y="104.09448">➢ Positive</tspan></text> <text - sodipodi:linespacing="125%" - id="text3531-3-0" - y="654.09448" + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" x="10" - style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" - xml:space="preserve"><tspan - y="654.09448" + y="264.09448" + id="text5441" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5443" x="10" + y="264.09448">➢ Negative</tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="60" + y="314.09448" + id="text5449" + sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3535-3-4">Transitive F.d. 3: id → ortKreisName</tspan></text> - <path - inkscape:connector-curvature="0" - id="path5146" - d="m 40,614.09448 710,0" - style="color:#000000;fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> - <path - inkscape:connector-curvature="0" - id="path4118" - d="m 150,254.09448 0,-90 240,0 0,70" - style="color:#000000;fill:none;stroke:#ff00ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-start:url(#DotM1);marker-end:url(#Arrow1Mend-6-8n);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" - sodipodi:nodetypes="cccc" /> - <path - inkscape:connector-curvature="0" - id="path5688" - d="m 400,234.09448 60,0 0,-100 170,0 0,100" - style="color:#000000;fill:none;stroke:#ff00ff;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;marker-end:url(#Arrow1Mend-6-8l);visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + id="tspan5451" + x="60" + y="314.09448">•Polymorphic queries require UNION statements</tspan><tspan + id="tspan5453" + sodipodi:role="line" + x="60" + y="359.09448"> ⇒ possibly poor performance </tspan></text> <text - inkscape:transform-center-y="388.07031" - inkscape:transform-center-x="242.625" - sodipodi:linespacing="125%" - id="text3531-0-7" + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="40" y="194.09448" - x="250" - style="font-size:32px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ff00ff;fill-opacity:1;stroke:none;display:inline;font-family:Sans;-inkscape-font-specification:Sans" - xml:space="preserve"><tspan - y="194.09448" - x="250" + id="text5457" + sodipodi:linespacing="125%"><tspan sodipodi:role="line" - id="tspan3535-2-1">F.d. 3</tspan><tspan - id="tspan5081-0" - y="234.09448" - x="250" - sodipodi:role="line" /></text> + id="tspan5459" + x="40" + y="194.09448">•Transparent <tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans" + id="tspan5461">integrity constraints (NULL)</tspan></tspan></text> + <flowRoot + xml:space="preserve" + id="flowRoot5463" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace"><flowRegion + id="flowRegion5465"><rect + id="rect5467" + width="930.66046" + height="325.40576" + x="26.755585" + y="342.76071" /></flowRegion><flowPara + id="flowPara5469" /></flowRoot> <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="40" + y="144.09448" + id="text5471" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5473" + x="40" + y="144.09448" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans">•Easy inheritance hierarchy extension + understanding</tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="60" + y="424.09448" + id="text5457-7" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5459-3" + x="60" + y="424.09448">•Duplicate columns for "deep" hierarchies</tspan><tspan + sodipodi:role="line" + x="60" + y="469.09448" + id="tspan5499"> ⇒ suitable for "flat" hierarchies</tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="60" + y="624.09448" + id="text5457-1" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5459-7" + x="60" + y="624.09448">•De-normalized when "deep", scattering of</tspan><tspan + sodipodi:role="line" + x="60" + y="669.09448" + id="tspan5653"> parent class attributes</tspan></text> + <text + xml:space="preserve" + style="font-size:36px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Monospace;-inkscape-font-specification:Monospace" + x="60" + y="534.09448" + id="text5457-1-0" + sodipodi:linespacing="125%"><tspan + sodipodi:role="line" + id="tspan5459-7-0" + x="60" + y="534.09448">•Order of data by class first</tspan></text> </g> <g style="display:none" -- GitLab