{"id":55001480,"date":"2024-02-01T00:00:00","date_gmt":"2024-02-02T19:59:47","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=1480"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/","title":{"rendered":"Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/fb35dd0f714e429a84e6962356e736c4\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Im ersten Teil dieser Beitragsreihe haben wir die grundlegenden Ideen vorgestellt, die wir zum Thema Bestellungen\/Rechnungen\/Lieferungen haben. Uns ist jedoch noch eine Feinheit entgangen, die wir in diesem Beitrag noch nachreichen wollen. Dabei geht es darum, eventuelle Inkonsistenzen beim Erstellen von Rechnungspositionen auf Basis von Bestellpositionen zu vermeiden. Normalerweise sollte mit dem aktuellen Datenmodell nichts schiefgehen, aber das Datenmodell sollte so viele Probleme wie m&ouml;glich bereits durch die enthaltenen Restriktionen in Form von Beziehungen verhindern.<\/b><\/p>\n<h2>M&ouml;gliche Inkonsistenz bei den Rechnungspositionen<\/h2>\n<p>Die Ausgabe 6\/2023 war bereits fertig gesetzt, als unserem Lektor Carsten Gromberg eine m&ouml;gliche Quelle f&uuml;r Inkonsistenzen in den Daten aufgefallen ist. Dabei geht es um den Teil, wo wir Rechnungen den Bestellungen zuweisen und Rechnungspositionen den Bestellpositionen. Dabei haben wir die Tabellen <b>tblBestellungen <\/b>und <b>tblRechnungen <\/b>&uuml;ber die Verkn&uuml;pfungstabelle <b>tblRechnungenBestellungen <\/b>miteinander verkn&uuml;pft (siehe Bild 1). Der Hintergrund war, dass es sowohl vorkommen kann, dass eine Rechnung mehrere Bestellungen zusammenfasst als auch dass eine Bestellung in mehreren Rechnungen abgerechnet wird. F&uuml;r die Beziehung zwischen den Rechnungspositionen und den Bestellpositionen reichte uns eine einfache 1:n-Beziehung. Hier k&ouml;nnte man sich bereits die folgende Frage stellen:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_01\/pic_1480_001.png\" alt=\"Auszug des Datenmodells mit der M&ouml;glichkeit von Inkonsistenzen\" width=\"700\" height=\"418,6046\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Auszug des Datenmodells mit der M&ouml;glichkeit von Inkonsistenzen<\/span><\/b><\/p>\n<p>Ist hier die 1:n-Beziehung der richtige Ansatz? Reicht nicht eine 1:1-Beziehung aus, weil wir zu jeder Bestellposition nur eine Rechnungsposition ben&ouml;tigen? Nein, die 1:1-Beziehung reicht nicht aus: Theoretisch soll es sogar m&ouml;glich sein, eine Bestellposition mit einer Menge von mehr als eins auf mehrere Rechnungspositionen und auch Rechnungen aufzuteilen.<\/p>\n<p>Es kann vorkommen, dass der Kunde zwei Exemplare des gleichen Produkts bestellt, aber nur eines lieferbar ist. Dann bekommt er zun&auml;chst nur die Lieferung des einen Exemplars und die entsprechende Rechnung.<\/p>\n<p>Tats&auml;chlich geht es um eine andere Frage: Angenommen, wir haben zwei Bestellungen <b>B1 <\/b>und <b>B2<\/b>. <b>B1 <\/b>enth&auml;lt die Bestellpositionen <b>B1-1 <\/b>und <b>B1-2<\/b>. <b>B2<\/b> enth&auml;lt die Bestellposition <b>B2-1<\/b>. Wir erstellen darauf basierend nun eine Rechnung <b>R1<\/b>, die &uuml;ber die Tabelle <b>tblRechnungenBestellungen <\/b>mit der Bestellung <b>B1 <\/b>verkn&uuml;pft ist. Und wir verarbeiten die Bestellpositionen <b>B1-1 <\/b>und <b>B1-2 <\/b>in zwei Rechnungspositionen <b>R1-1 <\/b>und <b>R1-2<\/b>. <\/p>\n<p>Beide sind &uuml;ber das Fremdschl&uuml;sselfeld <b>RechnungID <\/b>der Tabelle <b>tblRechnungspositionen <\/b>mit der richtigen Rechnung verkn&uuml;pft, n&auml;mlich <b>R1<\/b>. Und das Fremdschl&uuml;sselfeld <b>BestellpositionID <\/b>der gleichen Tabelle verkn&uuml;pfen wir von <b>R1-1 <\/b>zu <b>B1-1 <\/b>und von <b>R1-2 <\/b>zu <b>B1-2<\/b>.<\/p>\n<p>[<\/p>\n<p>Soweit, so gut: Es w&auml;re aber theoretisch m&ouml;glich, dass wir das Feld <b>BestellpositionID <\/b>der Rechnungsposition <b>R1-2 <\/b>mit der Bestellposition <b>B2-1 <\/b>verkn&uuml;pfen, w&auml;hrend diese Position &uuml;ber die Tabelle <b>tblRechnungen <\/b>und <b>tblRechnungenBestellungen <\/b>mit der Bestellung <b>B1 <\/b>verkn&uuml;pft ist.<\/p>\n<p>Das w&auml;re dann die m&ouml;gliche Inkonsistenz. Aber wie wollen wir diese verhindern? Und ben&ouml;tigen wir die Zuordnung von Rechnungsposition zur Bestellposition &uuml;berhaupt? Letzteres ist notwendig, damit wir pr&uuml;fen k&ouml;nnen, ob eine Bestellposition bereits in einer Rechnungsposition erfasst wurde &#8211; und gegebenenfalls auch abgleichen k&ouml;nnen, ob die in der Bestellposition angegebene Menge vollst&auml;ndig in Rechnung gestellt wurde.<\/p>\n<p>Wie wir die Datenintegrit&auml;t sicher stellen wollen, schauen wir uns im folgenden Abschnitt an.<\/p>\n<h2>Verhindern der Inkonsistenz<\/h2>\n<p>Die Aufgabe lautet nun also: Wie k&ouml;nnen wir daf&uuml;r sorgen, dass man f&uuml;r eine Rechnungsposition in der Tabelle <b>tblRechnungspositionen <\/b>keine Bestellposition f&uuml;r das Fremdschl&uuml;sselfeld <b>BestellpositionID <\/b>ausw&auml;hlen kann, die nicht zu der Bestellung aus der Tabelle <b>tblBestellungen<\/b> geh&ouml;rt, die &uuml;ber die Verkn&uuml;pfungstabelle <b>tblRechnungenBestellungen <\/b>mit der zu der Rechnung aus <b>tblRechnungen <\/b>geh&ouml;renden Rechnung verkn&uuml;pft ist?<\/p>\n<p>Der Clou ist: Wir f&uuml;gen der Tabelle <b>tblRechnungspositionen <\/b>ein weiteres Feld namens <b>BestellungID <\/b>hinzu. Dann erstellen wir eine Beziehung zwischen der Tabelle <b>tblRechnungspositionen <\/b>und <b>tblRechnungenBestellungen<\/b>, welche die beiden Felder <b>RechnungID<\/b> und <b>BestellungID <\/b>der beiden Tabellen umfasst und die im Fenster <b>Beziehungen bearbeiten <\/b>wie in Bild 2 aussieht.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_01\/pic_1480_003.png\" alt=\"Anlegen einer Beziehung &uuml;ber zwei Felder\" width=\"424,5589\" height=\"263,726\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Anlegen einer Beziehung &uuml;ber zwei Felder<\/span><\/b><\/p>\n<p>Wechseln wir zur&uuml;ck zum Beziehungen-Fenster, sehen wir die Beziehung wie in Bild 3.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_01\/pic_1480_002.png\" alt=\"Erster Schritt zum Verhindern der Inkonsistenz\" width=\"700\" height=\"380,6758\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Erster Schritt zum Verhindern der Inkonsistenz<\/span><\/b><\/p>\n<p>Das ist allerdings nur die halbe Miete. Wir erreichen damit eine Absicherung, dass in der Tabelle <b>tblRechnungspositionen <\/b>nur solche Datens&auml;tze landen, die &uuml;ber die Tabelle <b>tblRechnungenBestellungen <\/b>mit einem bestimmten Datensatz der Tabelle <b>tblBestellungen <\/b>verkn&uuml;pft sind.<\/p>\n<p>Nun m&uuml;ssen wir noch sicherstellen, dass die Bestellposition, der die Rechnungsposition zugeordnet ist, ebenfalls diesem Datensatz der Tabelle <b>tblBestellungen<\/b> zugeordnet ist. Wir m&uuml;ssen also auch noch zwischen den Feldern <b>BestellungID <\/b>der Tabelle <b>tblRechnungspositionen <\/b>und dem gleichnamigen Feld der Tabelle <b>tblBestellpositionen <\/b>eine Beziehung herstellen.<\/p>\n<p>Da wir die Beziehung zwischen diesen beiden Tabellen &uuml;ber das Feld <b>BestellpositionID<\/b> nicht aufgeben k&ouml;nnen, erweitern wir diese wie in Bild 4. Wenn wir diese Beziehung mit referenzieller Integrit&auml;t speichern wollen, erhalten wir jedoch den Fehler <b>Es wurde kein eindeutiger Index f&uuml;r das in Beziehung stehende Feld der Prim&auml;rtabelle angegeben<\/b>.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_01\/pic_1480_006.png\" alt=\"Erweiterung der Beziehung zwischen den Bestellpositionen und den Rechnungspositionen\" width=\"427,4286\" height=\"265,5086\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Erweiterung der Beziehung zwischen den Bestellpositionen und den Rechnungspositionen<\/span><\/b><\/p>\n<p>Also legen wir in der Tabelle <b>tblBestellpositionen <\/b>zuvor noch einen eindeutigen, zusammengesetzten Index &uuml;ber die beiden Felder <b>BestellpositionID <\/b>und <b>BestellungID <\/b>an (siehe Bild 5).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_01\/pic_1480_004.png\" alt=\"Zweiter Schritt: Eindeutiger Index &uuml;ber Bestellposition und Bestellung\" width=\"652,4285\" height=\"457,4596\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Zweiter Schritt: Eindeutiger Index &uuml;ber Bestellposition und Bestellung<\/span><\/b><\/p>\n<p>Danach finden wir das vollst&auml;ndige Datenmodell aus Bild 6 vor. Durch die zus&auml;tzlichen Indexe und Beziehungen k&ouml;nnen wir nun nur noch Werte in das Feld <b>BestellungID <\/b>eines Datensatzes der Tabelle <b>tblRechnungspositionen <\/b>eingeben, der &uuml;ber die Tabellen <b>tblRechnungenBestellungen <\/b>und <b>tblBestellpositionen <\/b>zum gleichen Datensatz der Tabelle <b>tblBestellungen <\/b>zur&uuml;ckf&uuml;hrt.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2024_01\/pic_1480_005.png\" alt=\"Hier ist keine Inkonsistenz bez&uuml;glich der Bestellung einer Rechnungsposition mehr m&ouml;glich.\" width=\"700\" height=\"380,6758\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 6: Hier ist keine Inkonsistenz bez&uuml;glich der Bestellung einer Rechnungsposition mehr m&ouml;glich.<\/span><\/b><\/p>\n<h2>Zusammenfassung und Ausblick<\/h2>\n<p>Diese Erg&auml;nzung rundet den ersten Teil dieser Beitragsreihe ab. In weiteren Beitr&auml;gen zeigen wir, wie man basierend auf diesen Tabellen die Daten aus Bestellungen in Rechnungen &uuml;bernehmen kann.<\/p>\n<h2>Downloads zu diesem Beitrag<\/h2>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>GrundlagenDatenmodellRechnungsverwaltung_V13.accdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/88BCC7D0-54CC-4380-BC0E-603A83CE6962\/aiu_1480.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im ersten Teil dieser Beitragsreihe haben wir die grundlegenden Ideen vorgestellt, die wir zum Thema Bestellungen\/Rechnungen\/Lieferungen haben. Uns ist jedoch noch eine Feinheit entgangen, die wir in diesem Beitrag noch nachreichen wollen. Dabei geht es darum, eventuelle Inkonsistenzen beim Erstellen von Rechnungspositionen auf Basis von Bestellpositionen zu vermeiden. Normalerweise sollte mit dem aktuellen Datenmodell nichts schiefgehen, aber das Datenmodell sollte so viele Probleme wie m&ouml;glich bereits durch die enthaltenen Restriktionen in Form von Beziehungen verhindern.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66012024,662024,44000021],"tags":[],"class_list":["post-55001480","post","type-post","status-publish","format-standard","hentry","category-66012024","category-662024","category-Tabellen_und_Datenmodellierung"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2 - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2\" \/>\n<meta property=\"og:description\" content=\"Im ersten Teil dieser Beitragsreihe haben wir die grundlegenden Ideen vorgestellt, die wir zum Thema Bestellungen\/Rechnungen\/Lieferungen haben. Uns ist jedoch noch eine Feinheit entgangen, die wir in diesem Beitrag noch nachreichen wollen. Dabei geht es darum, eventuelle Inkonsistenzen beim Erstellen von Rechnungspositionen auf Basis von Bestellpositionen zu vermeiden. Normalerweise sollte mit dem aktuellen Datenmodell nichts schiefgehen, aber das Datenmodell sollte so viele Probleme wie m&ouml;glich bereits durch die enthaltenen Restriktionen in Form von Beziehungen verhindern.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-02T19:59:47+00:00\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2\",\"datePublished\":\"2024-02-02T19:59:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/\"},\"wordCount\":1025,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/fb35dd0f714e429a84e6962356e736c4\",\"articleSection\":[\"1\\\/2024\",\"2024\",\"Tabellen und Datenmodellierung\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/\",\"name\":\"Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2 - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/fb35dd0f714e429a84e6962356e736c4\",\"datePublished\":\"2024-02-02T19:59:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/fb35dd0f714e429a84e6962356e736c4\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/fb35dd0f714e429a84e6962356e736c4\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2 - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/","og_locale":"de_DE","og_type":"article","og_title":"Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2","og_description":"Im ersten Teil dieser Beitragsreihe haben wir die grundlegenden Ideen vorgestellt, die wir zum Thema Bestellungen\/Rechnungen\/Lieferungen haben. Uns ist jedoch noch eine Feinheit entgangen, die wir in diesem Beitrag noch nachreichen wollen. Dabei geht es darum, eventuelle Inkonsistenzen beim Erstellen von Rechnungspositionen auf Basis von Bestellpositionen zu vermeiden. Normalerweise sollte mit dem aktuellen Datenmodell nichts schiefgehen, aber das Datenmodell sollte so viele Probleme wie m&ouml;glich bereits durch die enthaltenen Restriktionen in Form von Beziehungen verhindern.","og_url":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/","og_site_name":"Access im Unternehmen","article_published_time":"2024-02-02T19:59:47+00:00","author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"5\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2","datePublished":"2024-02-02T19:59:47+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/"},"wordCount":1025,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/fb35dd0f714e429a84e6962356e736c4","articleSection":["1\/2024","2024","Tabellen und Datenmodellierung"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/","url":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/","name":"Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2 - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/fb35dd0f714e429a84e6962356e736c4","datePublished":"2024-02-02T19:59:47+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/fb35dd0f714e429a84e6962356e736c4","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/fb35dd0f714e429a84e6962356e736c4"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Datenmodelle_fuer_die_Rechnungsverwaltung_Teil_2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Datenmodelle f&uuml;r die Rechnungsverwaltung, Teil 2"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55001480"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55001480\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55001480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55001480"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55001480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}