{"id":78198,"date":"2020-04-17T13:42:37","date_gmt":"2020-04-17T11:42:37","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/denormalizacziya-baz-dannyh-erp-sistem-i-ee-vliyanie-na-razvitie-po-otkryvaem-tavernu-na-tortuge"},"modified":"2020-04-17T13:42:37","modified_gmt":"2020-04-17T11:42:37","slug":"denormalizacziya-baz-dannyh-erp-sistem-i-ee-vliyanie-na-razvitie-po-otkryvaem-tavernu-na-tortuge","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/denormalizacziya-baz-dannyh-erp-sistem-i-ee-vliyanie-na-razvitie-po-otkryvaem-tavernu-na-tortuge","title":{"rendered":"Denormalisierung von Datenbanken in ERP-Systemen und deren Einfluss auf die Softwareentwicklung: Wir er\u00f6ffnen eine Taverne auf Tortuga.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hallo! Mein Name ist Andrej Semenov, ich bin Senior Analyst bei Sportmaster. In diesem Beitrag m\u00f6chte ich die Frage der Denormalisierung von Datenbanken in ERP-Systemen aufwerfen. Wir werden die allgemeinen Bedingungen sowie ein konkretes Beispiel betrachten \u2013 sagen wir, es wird eine gro\u00dfartige Taverne sein, die Monopolist f\u00fcr Piraten und Seefahrer ist. In dieser Taverne m\u00fcssen Piraten und Seefahrer unterschiedlich bedient werden, da ihre Vorstellungen von dem, was sch\u00f6n ist, und ihre Konsummuster erheblich voneinander abweichen. <\/p>\n<p>Wie kann man sicherstellen, dass alle zufrieden sind? Wie beh\u00e4lt man den Verstand, wenn man ein solches System entwirft und unterst\u00fctzt? Was tun, wenn in die Taverne nicht nur die gewohnten Piraten und Seefahrer kommen?<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/497550\/\"><img decoding=\"async\" alt=\"Denormalisierung von Datenbanken in ERP-Systemen und deren Einfluss auf die Softwareentwicklung: Wir er\u00f6ffnen eine Taverne auf Tortuga.\" src=\"\/wp-content\/uploads\/2020\/04\/bd0ccbfa3e3649aac20631e09fcb5b16.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Alles Weitere im Folgenden. Aber lassen Sie uns der Reihe nach vorgehen.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>1. Einschr\u00e4nkungen und Annahmen<\/h2>\n<p>\nAlles, was hier ausgef\u00fchrt wird, gilt nur f\u00fcr relationale Datenbanken. Die gut dokumentierten, auch im Internet verf\u00fcgbaren Folgen der Denormalisierung in Form von Modifikations-, L\u00f6sch- und Einf\u00fcgeanomalien werden nicht betrachtet. F\u00e4lle, in denen Denormalisierung allt\u00e4glich ist, bleiben ebenfalls au\u00dferhalb dieses Beitrags, mit klassischen Beispielen wie: Passserie und -nummer, Datum und Uhrzeit und so weiter.<\/p>\n<p>Der Beitrag verwendet intuitive und praktisch anwendbare Definitionen von Normalformen, ohne auf mathematische Begriffe Bezug zu nehmen. So, wie sie auf die Untersuchung realer Gesch\u00e4ftsprozesse (BP) und das Design industrieller Software angewendet werden k\u00f6nnen.<\/p>\n<p>Es wird angenommen, dass das Design von Data Warehouses, Reporting-Tools und Integrationsvereinbarungen (in denen tabellarische Darstellungen von Informationen verwendet werden) sich vom Design von ERP-Datenbanken dadurch unterscheidet, dass der Benutzerkomfort und die bewusste Denormalisierung potenziell Vorrang vor dem Schutz der Datenintegrit\u00e4t haben k\u00f6nnen. Ich teile diese Auffassung, und das Folgende bezieht sich ausschlie\u00dflich auf Modelle von Stammdaten und Transaktionsdaten von ERP-Systemen.<\/p>\n<p>Die Erkl\u00e4rung der Normalformen wird anhand eines f\u00fcr die meisten Leser verst\u00e4ndlichen Alltagsbeispiels gegeben. Um jedoch eine anschauliche Illustration zu bieten, wurde in den Punkten 4-5 bewusst eine stark \"erfundenen\" Aufgabe verwendet. Andernfalls, wenn man ein g\u00e4ngiges Beispiel wie das in Punkt 2 genannte Speicherungsmodell f\u00fcr eine Bestellung heranzieht, kann die Aufmerksamkeit des Lesers von der vorgeschlagenen Zerlegung des Prozesses in ein Modell auf pers\u00f6nliche Erfahrungen und Wahrnehmungen gelenkt werden, wie Prozesse und Datenmodelle in Informationssystemen gestaltet werden sollten. Mit anderen Worten, nehmen Sie zwei qualifizierte IT-Analysten: Der eine unterst\u00fctzt Logistiker, die Passagiere transportieren, der andere Logistiker, die Maschinen zur Herstellung von Mikrochips transportieren. Bitten Sie sie, ohne vorherige Diskussion \u00fcber automatisierbare Gesch\u00e4ftsprozesse, ein Datenmodell f\u00fcr die Speicherung von Informationen \u00fcber einen Zugtransport zu erstellen. <\/p>\n<p>Es besteht eine nicht unerhebliche Wahrscheinlichkeit, dass Sie in den vorgeschlagenen Modellen nicht nur deutlich unterschiedliche Attributs\u00e4tze finden, sondern auch nicht \u00fcbereinstimmende Entit\u00e4tsmengen. Jeder Analyst wird sich auf ihm vertraute Prozesse und Aufgaben st\u00fctzen. In einer solchen Situation l\u00e4sst sich nicht sagen, welches Modell 'richtig' ist, da es kein Bewertungskriterium gibt.<\/p>\n<h2>2. Normale Formen<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/mz\/vc\/ex\/mzvcexxqfzhzyybzk8zvbndmtcc.png\"><img decoding=\"async\" alt=\"Denormalisierung von Datenbanken in ERP-Systemen und deren Einfluss auf die Softwareentwicklung: Wir er\u00f6ffnen eine Taverne auf Tortuga.\" src=\"\/wp-content\/uploads\/2020\/04\/e2d3fc5656b59671648511b0a0e5f7b9.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p><b>Die erste normale Form der Datenbank<\/b> fordert die Atomarit\u00e4t aller Attribute. <br \/>\nInsbesondere wenn ein Objekt A nicht-schl\u00fcssel Attribute a und b hat, so dass c=f(a,b) ist und in der Tabelle, die Objekt A beschreibt, der Wert des Attributs c gespeichert wird, ist die erste normale Form in der Datenbank verletzt. Zum Beispiel, wenn in der Bestellung eine Menge angegeben wird, deren Ma\u00dfeinheit vom Produkttyp abh\u00e4ngt: In einem Fall k\u00f6nnen es St\u00fccke sein, im anderen Litern, im dritten Verpackungen, die aus St\u00fcckzahlen bestehen (im obigen Modell Good_count_WR), dann ist die Atomarit\u00e4t der Attribute in der Datenbank verletzt. Um zu bestimmen, wie der Tabellenbaum der Bestellspezifikation aussehen sollte, ist eine zielgerichtete Beschreibung des Arbeitsprozesses im Informationssystem erforderlich. Da die Prozesse unterschiedlich sein k\u00f6nnen, k\u00f6nnen es auch viele 'richtige' Versionen geben.<\/p>\n<p><b>Die zweite normale Form einer Datenbank<\/b> erfordert die Einhaltung der ersten Normalform und eine eigene Tabelle f\u00fcr jede Entit\u00e4t, die zum Arbeitsprozess im Informationssystem geh\u00f6rt. Wenn in einer Tabelle Abh\u00e4ngigkeiten zwischen f1(a) und d=f2(b) bestehen und keine Abh\u00e4ngigkeit zu f3(b) existiert, ist die zweite normale Form verletzt. Im obigen Beispiel gibt es zwischen der Bestellung und der Adresse keine Abh\u00e4ngigkeit. \u00c4ndern Sie den Stra\u00dfennamen oder die Stadt, so hat dies keinen Einfluss auf die wesentlichen Attribute der Bestellung. <\/p>\n<p><b>Die dritte normale Form einer Datenbank<\/b> erfordert die Einhaltung der zweiten normalen Form und die Abwesenheit funktionaler Abh\u00e4ngigkeiten zwischen Attributen verschiedener Entit\u00e4ten. Diese Regel kann so formuliert werden: \u201eAlles, was berechnet werden kann, sollte berechnet werden\u201c. Anders ausgedr\u00fcckt, wenn es zwei Objekte A und B gibt. In der Tabelle, die die Attribute von Objekt A speichert, tritt das Attribut C auf, und bei Objekt B existiert ein Attribut b, sodass es c=f4(b) gibt, dann ist die dritte normale Form verletzt. Im folgenden Beispiel beansprucht das Attribut \u201eAnzahl der St\u00fccke\u201c (Total_count_WR) im Bestellposten eindeutig eine Verletzung der dritten normalen Form.<\/p>\n<h2>3. Mein Ansatz zur Anwendung der Normalisierung<\/h2>\n<p>\n1. Nur ein zielgerichteter automatisierbarer Gesch\u00e4ftsprozess kann die Kriterien f\u00fcr die Identifizierung von Entit\u00e4ten und Attributen bei der Erstellung eines Datenspeichermodells bereitstellen. Die Erstellung eines Prozessmodells ist eine Voraussetzung f\u00fcr die Schaffung eines normalen Datenmodells.<\/p>\n<p>2. Das Erreichen der dritten Normalform kann im strengen Sinne in der realen Praxis der Erstellung von ERP-Systemen unpraktisch sein, wenn eines oder mehrere der folgenden Bedingungen erf\u00fcllt sind:<\/p>\n<ul>\n<li>automatisierbare Prozesse sind selten \u00c4nderungen unterworfen, <\/li>\n<li>die Fristen f\u00fcr Forschung und Entwicklung sind eng, <\/li>\n<li>die Anforderungen an die Datenintegrit\u00e4t sind bedingt niedrig (potenzielle Fehler in industrieller Software f\u00fchren nicht zum Verlust von Geld oder Kunden f\u00fcr den Softwareauftraggeber)<\/li>\n<li>usw.<\/li>\n<\/ul>\n<p>\nUnter den beschriebenen Bedingungen k\u00f6nnen die Kosten f\u00fcr die Identifizierung und Beschreibung des Lebenszyklus bestimmter Objekte und ihrer Attribute aus wirtschaftlicher Sicht nicht gerechtfertigt sein.<\/p>\n<p>3. Alle Folgen der Denormalisierung eines Datenmodells in bereits bestehenden Informationssystemen k\u00f6nnen durch sorgf\u00e4ltige Voruntersuchungen des Codes und Testing abgeschw\u00e4cht werden.<\/p>\n<p>4. Denormalisierung ist ein Ansatz, um den Arbeitsaufwand von der Phase der Datenquellenrecherche und dem Design von Gesch\u00e4ftsprozessen auf die Entwicklungsphase zu \u00fcbertragen, von der Implementierungszeit auf die Entwicklungszeit des Systems.<\/p>\n<p>5. Es ist sinnvoll, die dritte Normalform der Datenbank anzustreben, wenn:<\/p>\n<ul>\n<li>Die Richtung der Ver\u00e4nderung der automatisierbaren Gesch\u00e4ftsprozesse schwer vorhersehbar ist.<\/li>\n<li>Innerhalb des Implementierungs- und\/oder Entwicklungsteams besteht eine schwache Trennung der Arbeit.<\/li>\n<li>Die Systeme, die Teil des Integrationskontexts sind, entwickeln sich nach eigenen Pl\u00e4nen.<\/li>\n<li>Inkonsequenten Daten k\u00f6nnen zu Kunden- oder Geldverlusten f\u00fcr das Unternehmen f\u00fchren.<\/li>\n<\/ul>\n<p>\n6. Die Modellierung von Daten sollte nur von einem Analysten im Zusammenhang mit den Modellen des Zielgesch\u00e4ftsprozesses und des Prozesses im Informationssystem erfolgen. Wenn ein Entwickler die Datenmodellierung durchf\u00fchrt, muss er sich so tief in das Fachgebiet einarbeiten, dass er insbesondere den Unterschied zwischen den Attributwerten versteht \u2013 eine notwendige Voraussetzung f\u00fcr die Identifizierung atomarer Attribute. Damit \u00fcbernimmt er Aufgaben, die ihm nicht zugewiesen sind.<\/p>\n<h2>4 Aufgabe zur Veranschaulichung<\/h2>\n<p>\nStellen Sie sich vor, Sie betreiben eine kleine robotergest\u00fctzte Taverne im Hafen. Ihre Zielgruppe sind Seeleute und Piraten, die in den Hafen kommen und eine Auszeit ben\u00f6tigen. Den Seeleuten verkaufen Sie Thymiantee, w\u00e4hrend die Piraten Rum und knochen\u00e4hnliche K\u00e4mme zur Bartpflege erhalten. Der Service in der Taverne wird von einem Roboter-Hostess und einem Roboter-Barkeeper \u00fcbernommen. Dank hoher Qualit\u00e4t und niedriger Preise haben Sie alle Mitbewerber verdr\u00e4ngt, sodass jeder, der von einem Schiff kommt, in Ihre Taverne geht, die die einzige im Hafen ist.<\/p>\n<p>Das Informationssystem der Taverne besteht aus folgender Software: <\/p>\n<ul>\n<li>Ein Fr\u00fchwarnsystem f\u00fcr Kunden, das ihre Kategorie anhand charakteristischer Merkmale erkennt.<\/li>\n<li>Ein System zur Steuerung der Roboter-Hostessen und Roboter-Barkeeper.<\/li>\n<li>Ein System zur Verwaltung des Lagers und der Auslieferung an den Verkaufsort.<\/li>\n<li>Ein System zur Verwaltung der Lieferantenbeziehungen (VMS).<\/li>\n<\/ul>\n<p>\nProzess:<\/p>\n<p>Das Fr\u00fchwarnsystem erkennt die von den Schiffen kommenden Personen. Wenn jemand glatt rasiert ist, wird er als Seemann identifiziert, w\u00e4hrend eine Person mit Bart als Pirat erkannt wird.<\/p>\n<p>Betritt der Gast die Taverne, h\u00f6rt er vom Roboter-Hostess einen Gru\u00df entsprechend seiner Kategorie, zum Beispiel: \u201eHo-ho-ho, gesch\u00e4tzter Pirat, setzen Sie sich an Tisch Nr.&#8230;\u201c<\/p>\n<p>Der Gast geht zu dem angegebenen Tisch, an dem der Roboter-Barkeeper bereits Produkte entsprechend seiner Kategorie vorbereitet hat. Der Roboter-Barkeeper \u00fcbermittelt Informationen an das Lagerverwaltungssystem, dass die n\u00e4chste Lieferung erh\u00f6ht werden soll. Basierend auf den Best\u00e4nden erstellt das Lagerverwaltungssystem eine Beschaffungsanfrage im ERP.<\/p>\n<p>Ob das Fr\u00fchwarnsystem nun von Ihrer internen IT entwickelt wurde oder das Programm zur Verwaltung der Barkeeper-Roboter von einem externen Dienstleister speziell f\u00fcr Ihr Gesch\u00e4ft erstellt wurde \u2013 die Systeme zur Lagerverwaltung und Lieferantenbeziehungen sind ma\u00dfgeschneiderte, kaufbare L\u00f6sungen vom Markt.<\/p>\n<h2>5. Beispiele f\u00fcr Denormalisierung und deren Einfluss auf die Softwareentwicklung<\/h2>\n<p>\nBei der Gestaltung des Gesch\u00e4ftsprozesses erkl\u00e4rten die befragten Experten des Fachgebiets einstimmig, dass Piraten weltweit Rum trinken und ihre B\u00e4rte mit knochengreben k\u00e4mmen, w\u00e4hrend Seeleute Tee mit Thymian trinken und immer glatt rasiert sind. <\/p>\n<p>Es erscheint ein Verzeichnis von Kundentypen mit zwei Werten: 1 - Piraten, 2 - Seeleute, das f\u00fcr den gesamten Informationskreis des Unternehmens gilt. <\/p>\n<p>Das Benachrichtigungssystem \u00fcber Kunden speichert sofort das Ergebnis der Bildverarbeitung als Identifikator (ID) des erkannten Kunden und seinen Typ: Seemann oder Pirat. <\/p>\n<p>ID des erkannten Objekts<br \/>\nKundengruppe<\/p>\n<p>100500<br \/>\nPirat<\/p>\n<p>100501<br \/>\nPirat<\/p>\n<p>100502<br \/>\nSeemann<\/p>\n<p>Wir m\u00f6chten nochmals darauf hinweisen, dass<\/p>\n<p>1. Unsere Seeleute tats\u00e4chlich rasiert sind<br \/>\n2. Unsere Piraten tats\u00e4chlich b\u00e4rtig sind<\/p>\n<p>Welche Probleme m\u00fcssen in diesem Fall gel\u00f6st werden, um unsere Struktur in die dritte Normalform zu bringen:<\/p>\n<ul>\n<li>Verletzung der Atomarit\u00e4t des Attributs - Kundengruppe<\/li>\n<li>Vermischung der analysierten Tatsache und der Schlussfolgerung in einer Tabelle <\/li>\n<li>Festgestellte funktionale Abh\u00e4ngigkeit zwischen Attributen verschiedener Entit\u00e4ten. <\/li>\n<\/ul>\n<p>\nIn normalisierter Form h\u00e4tten wir zwei Tabellen erhalten: <\/p>\n<ul>\n<li>Ergebnis der Erkennung in Form einer Menge festgelegter Merkmale.<\/li>\n<\/ul>\n<p><\/p>\n<p>ID des erkannten Objekts<br \/>\nGesichtsbehaarung<\/p>\n<p>100500<br \/>\nJa<\/p>\n<p>100501<br \/>\nJa<\/p>\n<p>100502<br \/>\nNein<\/p>\n<p><\/p>\n<ul>\n<li>Ergebnis der Bestimmung des Kundentyps als Anwendung der in der Informationssystemlogik festgelegten Merkmale zur Interpretation der festgelegten Merkmale.<\/li>\n<\/ul>\n<p>ID des erkannten Objekts<br \/>\nID der Identifizierung<br \/>\nKundengruppe<\/p>\n<p>100500<br \/>\n100001<br \/>\nPirat<\/p>\n<p>100501<br \/>\n100002<br \/>\nPirat<\/p>\n<p>100502<br \/>\n100003<br \/>\nSeemann<\/p>\n<p>Wie kann eine normalisierte Datenlagerorganisation die Entwicklung eines Informationssystems erleichtern? Stellen Sie sich vor, pl\u00f6tzlich gewinnen Sie neue Kunden. Nehmen wir an, es handelt sich um japanische Piraten, die vielleicht keinen Bart tragen, aber einen Papagei auf der Schulter haben. Und dann gibt es umweltbewusste Piraten, die man leicht an dem blauen Profil von Greta auf der linken Brust erkennt. <\/p>\n<p>Umweltbewusste Piraten k\u00f6nnen nat\u00fcrlich keine Knochenk\u00e4mme benutzen und fordern eine Alternative aus recyceltem Meeresplastik.<\/p>\n<p>Sie m\u00fcssen die Algorithmen der Software an die neuen Anforderungen anpassen. Wenn die Normalisierungsregeln befolgt worden w\u00e4ren, h\u00e4tten Sie nur f\u00fcr einige Systembereiche die Eingaben f\u00fcr bestimmte Prozesszweige erg\u00e4nzen und neue Zweige nur dort schaffen m\u00fcssen, wo das Gesichtshaar relevant ist. Aber da die Regeln nicht eingehalten wurden, m\u00fcssen Sie den gesamten Code analysieren, in dem die Werte des Referenzverzeichnisses f\u00fcr Kundentypen verwendet werden, und klar festlegen, dass in einem Fall der Algorithmus die berufliche T\u00e4tigkeit des Kunden ber\u00fccksichtigen muss, w\u00e4hrend er im anderen Fall physische Merkmale beachten sollte. <\/p>\n<p>In einer Form, die <b><i>danach <\/i><\/b>normalisiert w\u00e4re, h\u00e4tten wir zwei Tabellen mit Betriebsdaten und zwei Verzeichnisse erhalten:<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/qn\/pq\/g4\/qnpqg4idbhbsqejhnryzfuilhhy.png\"><img decoding=\"async\" alt=\"Denormalisierung von Datenbanken in ERP-Systemen und deren Einfluss auf die Softwareentwicklung: Wir er\u00f6ffnen eine Taverne auf Tortuga.\" src=\"\/wp-content\/uploads\/2020\/04\/eea87da839171e8a3a42db0618972124.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<ul>\n<li>Ergebnis der Erkennung in Form einer Menge festgelegter Merkmale.<\/li>\n<\/ul>\n<p><\/p>\n<p>ID des erkannten Objekts<br \/>\nGreta auf der linken Brust<br \/>\nEin Vogel auf der Schulter<br \/>\nGesichtsbehaarung<\/p>\n<p>100510<br \/>\n1<br \/>\n1<br \/>\n1<\/p>\n<p>100511<br \/>\n0<br \/>\n0<br \/>\n1<\/p>\n<p>100512<\/p>\n<p>1<br \/>\n0<\/p>\n<ul>\n<li>das Ergebnis der Kundenklassifikation (lassen Sie es eine benutzerdefinierte Darstellung sein, die Beschreibungen aus den Verzeichnissen anzeigt)<\/li>\n<\/ul>\n<p>\nBedeutet die festgestellte Denormalisierung, dass die Systeme nicht an neue Bedingungen angepasst werden k\u00f6nnen? Nat\u00fcrlich nicht. Wenn man sich vorstellt, dass alle Informationssysteme von einem Team mit null Fluktuation erstellt wurden, die Entwicklungen gut dokumentiert sind und die Informationen im Team ohne Verluste \u00fcbertragen werden, k\u00f6nnten die erforderlichen \u00c4nderungen mit vernachl\u00e4ssigbar geringem Aufwand durchgef\u00fchrt werden. Aber wenn wir zu den urspr\u00fcnglichen Bedingungen der Aufgabe zur\u00fcckkehren, w\u00fcrde allein das Drucken von Protokollen gemeinsamer Diskussionen 1,5 Tastaturen und weitere 0,5 f\u00fcr die Ausarbeitung von Beschaffungsverfahren abnutzen.<\/p>\n<p>Im obigen Beispiel sind alle drei Normalformen verletzt, lassen Sie uns versuchen, sie einzeln zu verletzen.<\/p>\n<p><b>Verletzung der ersten Normalform:<\/b><\/p>\n<p>Stellen Sie sich vor, dass Waren zu Ihrem Lager von den Lieferanten per Selbstabholung mit einem 1,5-Tonnen-Gaslieferwagen gebracht werden, der Ihrer Taverne geh\u00f6rt. Die Gr\u00f6\u00dfe Ihrer Bestellungen ist im Vergleich zu den Ums\u00e4tzen der Lieferanten so gering, dass sie immer eins zu eins ohne Wartezeiten ausgef\u00fchrt werden. Brauchen Sie bei einem solchen Gesch\u00e4ftsprozess separate Tabellen: Fahrzeuge, Fahrzeugtypen, und sollte man Plan und Ist in Ihren Bestellungen an die Lieferanten trennen?<\/p>\n<p>Stellen Sie sich nur vor, wie viele \"\u00fcberfl\u00fcssige\" Verbindungen Ihre Programmierer schreiben m\u00fcssten, wenn das folgende Modell zur Entwicklung der Software verwendet wird.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/bz\/js\/gf\/bzjsgfs0fephwjwqx8xdvunrgva.png\"><img decoding=\"async\" alt=\"Denormalisierung von Datenbanken in ERP-Systemen und deren Einfluss auf die Softwareentwicklung: Wir er\u00f6ffnen eine Taverne auf Tortuga.\" src=\"\/wp-content\/uploads\/2020\/04\/7309871d1ecc5c1ceb4f077ea4afebff.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Angenommen, wir haben entschieden, dass die vorgeschlagene Struktur \u00fcberm\u00e4\u00dfig kompliziert ist. In unserem Fall ist es \u00fcberfl\u00fcssig, Plan und Ist in der Bestellung zu trennen, und die erstellte Bestellspezifikation wird nach den Ergebnissen der Annahme der angelieferten Ware neu geschrieben. Seltene Fehlbestellungen und Ank\u00fcnfte von mangelhafter Ware werden au\u00dferhalb des Informationssystems geregelt.<br \/>\nUnd eines Tages sehen Sie, wie der ganze Saal der Taverne mit emp\u00f6rten und unfrisierten Piraten gef\u00fcllt ist. Was ist passiert? <\/p>\n<p>Mit dem Wachstum Ihres Unternehmens stieg auch der Verbrauch. Fr\u00fcher wurde in der Gesch\u00e4ftsf\u00fchrung entschieden, dass, falls ein Transporter \u00fcber seine Kapazit\u00e4t und\/oder Gewicht ausgelastet war \u2013 was sehr selten vorkam \u2013 der Lieferant die Beladung zugunsten von Getr\u00e4nken priorisierte. <\/p>\n<p>Nicht gelieferte Waren wurden in die n\u00e4chste Bestellung aufgenommen und in einer neuen Lieferung weitergeleitet. Das Vorhandensein eines nicht reduzierbaren Bestands im Lager bei der Taverne erlaubte es, die nicht gelieferten F\u00e4lle zu ignorieren.<\/p>\n<p>Im Hafen schloss der letzte Konkurrent, und die nicht gelieferte Lieferung aufgrund einer \u00dcberladung des Transporters, die durch eine Priorisierung auf Basis der Annahme \u00fcber ausreichende Best\u00e4nde und gelegentliche Unterbeladung des Fahrzeugs umgangen wurde, wurde zur g\u00e4ngigen Praxis. Das geschaffene System wird perfekt nach den darin implementierten Algorithmen funktionieren und wird jede M\u00f6glichkeit ausschlie\u00dfen, systematische Planabweichungen zu verfolgen. Nur ein besch\u00e4digter Ruf und unzufriedene Kunden k\u00f6nnen das Problem aufdecken.<\/p>\n<p>Aufmerksame Leser haben sicher bemerkt, dass die bestellte Menge in der Bestellungsspezifikation (T_ORDER_SPEC) in Abschnitt 2 und Abschnitt 5 m\u00f6glicherweise den Anforderungen der ersten Normalform entspricht oder auch nicht. Dies h\u00e4ngt davon ab, ob bei der gew\u00e4hlten Produktpalette unterschiedliche Ma\u00dfeinheiten in dasselbe Feld gelangen k\u00f6nnen. <\/p>\n<p><b>Verletzung der zweiten Normalform:<\/b><\/p>\n<p>Mit dem Wachstum Ihrer Anforderungen erwerben Sie weitere Transportmittel in unterschiedlichen Gr\u00f6\u00dfen. Im oben beschriebenen Kontext wurde die Erstellung eines Verzeichnisses der Transportmittel als \u00fcberfl\u00fcssig erachtet. Infolgedessen interpretieren alle Datenverarbeitungsalgorithmen, die den Bed\u00fcrfnissen von Lieferung und Lager dienen, den Transport von Waren vom Lieferanten ins Lager ausschlie\u00dflich als eine Fahrt eines 1,5-Tonnen-Fahrzeugs. Somit erstellen Sie mit dem Kauf neuer Transportmittel dennoch ein Verzeichnis der Transportmittel, jedoch m\u00fcssen Sie bei der Nachbearbeitung den gesamten Code analysieren, der auf den Transport von Waren verweist, um festzustellen, ob an jedem bestimmten Punkt auf die Eigenschaften jenes Fahrzeugs Bezug genommen wird, mit dem das Gesch\u00e4ft begonnen hat.<\/p>\n<p><b>Verletzung der dritten Normalform:<\/b><\/p>\n<p>Irgendwann beginnen Sie mit der Erstellung eines Loyalit\u00e4tsprogramms, und es gibt einen Datensatz f\u00fcr einen Stammkunden. Warum sollten Sie beispielsweise Zeit investieren, um materielle Vorstellungen zu erstellen, die aggregierte Verkaufsdaten f\u00fcr einen einzelnen Kunden speichern, nur um diese f\u00fcr Berichte und die \u00dcbertragung in analytische Systeme zu nutzen, wenn zu Beginn des Loyalit\u00e4tsprogramms alles, was den Kunden interessiert, im Datensatz selbst platziert werden kann? Auf den ersten Blick scheint dies keinen Sinn zu machen. Doch immer wenn Ihr Unternehmen beispielsweise neue Vertriebskan\u00e4le anschlie\u00dft, sollte unter Ihren Analysten jemand daran denken, dass es ein solches aggregiertes Attribut gibt. <\/p>\n<p>Wenn Sie jeden neuen Prozess entwerfen, etwa den Online-Verkauf oder den Verkauf \u00fcber Distributoren, die mit dem gemeinsamen Loyalit\u00e4tssystem verbunden sind, muss jemand im Hinterkopf behalten, dass alle neuen Prozesse sicherstellen m\u00fcssen, dass die Datenintegrit\u00e4t auf Codeebene gew\u00e4hrleistet ist. F\u00fcr eine industrielle Datenbank mit tausenden von Tabellen scheint dies eine kaum umsetzbare Aufgabe zu sein.<\/p>\n<p>Ein erfahrener Entwickler wei\u00df nat\u00fcrlich, wie man all die genannten Probleme behebt, aber meiner Meinung nach besteht die Aufgabe eines erfahrenen Analysts darin, diese Probleme erst gar nicht entstehen zu lassen.<\/p>\n<p>Ich m\u00f6chte mich f\u00fcr das wertvolle Feedback bei der Vorbereitung der Ver\u00f6ffentlichung bei dem leitenden Entwickler Jewgeni Jaruchin bedanken.<\/p>\n<h2>Literatur<\/h2>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/en\/post\/254773\/\">https:\/\/habr.com\/en\/post\/254773\/<\/a><\/noindex><br \/>\nConnolly, Thomas; Begg, Caroline. Datenbanken. Gestaltung, Implementierung und Wartung. Theorie und Praxis.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/sportmaster_lab\/blog\/497550\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439 \u0421\u0435\u043c\u0435\u043d\u043e\u0432, \u044f \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a \u0432 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 ERP-\u0441\u0438\u0441\u0442\u0435\u043c. \u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0431\u0449\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u2014 \u0441\u043a\u0430\u0436\u0435\u043c, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u0430\u044f \u0442\u0430\u0432\u0435\u0440\u043d\u0430-\u043c\u043e\u043d\u043e\u043f\u043e\u043b\u0438\u0441\u0442 \u0434\u043b\u044f \u043f\u0438\u0440\u0430\u0442\u043e\u0432 \u0438 \u043c\u043e\u0440\u044f\u043a\u043e\u0432. \u0412 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0438\u0440\u0430\u0442\u043e\u0432 \u0438 \u043c\u043e\u0440\u044f\u043a\u043e\u0432 \u043d\u0430\u0434\u043e \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443, \u0438\u0431\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e\u043c \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b \u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":78199,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-78198","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439 \u0421\u0435\u043c\u0435\u043d\u043e\u0432, \u044f \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a \u0432 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 ERP-\u0441\u0438\u0441\u0442\u0435\u043c. \u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0431\u0449\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u2014 \u0441\u043a\u0430\u0436\u0435\u043c, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u0430\u044f \u0442\u0430\u0432\u0435\u0440\u043d\u0430-\u043c\u043e\u043d\u043e\u043f\u043e\u043b\u0438\u0441\u0442 \u0434\u043b\u044f \u043f\u0438\u0440\u0430\u0442\u043e\u0432 \u0438 \u043c\u043e\u0440\u044f\u043a\u043e\u0432. \u0412 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0438\u0440\u0430\u0442\u043e\u0432 \u0438 \u043c\u043e\u0440\u044f\u043a\u043e\u0432 \u043d\u0430\u0434\u043e \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443, \u0438\u0431\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e\u043c \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b \u0443\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/denormalizacziya-baz-dannyh-erp-sistem-i-ee-vliyanie-na-razvitie-po-otkryvaem-tavernu-na-tortuge\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 ERP-\u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0435\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u041f\u041e: \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0442\u0430\u0432\u0435\u0440\u043d\u0443 \u043d\u0430 \u0422\u043e\u0440\u0442\u0443\u0433\u0435 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439 \u0421\u0435\u043c\u0435\u043d\u043e\u0432, \u044f \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a \u0432 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 ERP-\u0441\u0438\u0441\u0442\u0435\u043c. \u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0431\u0449\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u2014 \u0441\u043a\u0430\u0436\u0435\u043c, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u0430\u044f \u0442\u0430\u0432\u0435\u0440\u043d\u0430-\u043c\u043e\u043d\u043e\u043f\u043e\u043b\u0438\u0441\u0442 \u0434\u043b\u044f \u043f\u0438\u0440\u0430\u0442\u043e\u0432 \u0438 \u043c\u043e\u0440\u044f\u043a\u043e\u0432. \u0412 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0438\u0440\u0430\u0442\u043e\u0432 \u0438 \u043c\u043e\u0440\u044f\u043a\u043e\u0432 \u043d\u0430\u0434\u043e \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443, \u0438\u0431\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e\u043c \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b \u0443\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/denormalizacziya-baz-dannyh-erp-sistem-i-ee-vliyanie-na-razvitie-po-otkryvaem-tavernu-na-tortuge\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-17T11:42:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-17T11:42:37+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Denormalisierung von Datenbanken in ERP-Systemen und deren Einfluss auf die Softwareentwicklung: Wir er\u00f6ffnen eine Taverne auf Tortuga | ProHoster","description":"Hallo! Mein Name ist Andrey Semyonov, ich bin Senior Analyst bei Sportmaster. In diesem Beitrag m\u00f6chte ich das Thema der Denormalisierung von Datenbanken in ERP-Systemen ansprechen. Wir werden die allgemeinen Bedingungen sowie ein konkretes Beispiel betrachten \u2013 sagen wir, es wird eine wunderbare Taverne f\u00fcr Piraten und Seeleute sein. In dieser Taverne m\u00fcssen Piraten und Seeleute unterschiedlich bedient werden, weil ihre Vorstellungen von Sch\u00f6nem und ihre Konsumverhalten unterschiedlich sind.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/denormalizacziya-baz-dannyh-erp-sistem-i-ee-vliyanie-na-razvitie-po-otkryvaem-tavernu-na-tortuge","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 ERP-\u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0435\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u041f\u041e: \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0442\u0430\u0432\u0435\u0440\u043d\u0443 \u043d\u0430 \u0422\u043e\u0440\u0442\u0443\u0433\u0435 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043d\u0434\u0440\u0435\u0439 \u0421\u0435\u043c\u0435\u043d\u043e\u0432, \u044f \u0441\u0442\u0430\u0440\u0448\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a \u0432 \u0421\u043f\u043e\u0440\u0442\u043c\u0430\u0441\u0442\u0435\u0440. \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u0435\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 ERP-\u0441\u0438\u0441\u0442\u0435\u043c. \u041c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0431\u0449\u0438\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u2014 \u0441\u043a\u0430\u0436\u0435\u043c, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u0430\u044f \u0442\u0430\u0432\u0435\u0440\u043d\u0430-\u043c\u043e\u043d\u043e\u043f\u043e\u043b\u0438\u0441\u0442 \u0434\u043b\u044f \u043f\u0438\u0440\u0430\u0442\u043e\u0432 \u0438 \u043c\u043e\u0440\u044f\u043a\u043e\u0432. \u0412 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0438\u0440\u0430\u0442\u043e\u0432 \u0438 \u043c\u043e\u0440\u044f\u043a\u043e\u0432 \u043d\u0430\u0434\u043e \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443, \u0438\u0431\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e\u043c \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u044b \u0443","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/denormalizacziya-baz-dannyh-erp-sistem-i-ee-vliyanie-na-razvitie-po-otkryvaem-tavernu-na-tortuge","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-17T11:42:37+00:00","article:modified_time":"2020-04-17T11:42:37+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"78198","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:03:32","updated":"2022-09-30 18:32:54"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/78198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=78198"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/78198\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/78199"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=78198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=78198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=78198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}