In unserer Arbeit sehen meine Kollegen und ich oft, wie Unternehmen mit dem Problem des Datenmanagements konfrontiert sind - wenn es viele Tabellen und Abfragen gibt und es sehr schwierig ist, all dies zu verwalten. In solchen Situationen empfehlen wir, die Daten zu modellieren. Um zu verstehen, was es ist, habe ich einen Artikel über Datenmodellierung aus Towards Data Science übersetzt, in dem Sie neben grundlegenden Begriffen und Konzepten ein anschauliches Beispiel für die Verwendung der Datenmodellierung im Einzelhandel finden. Vorwärts unter dem Schnitt!
Wenn Sie sich eine Softwareanwendung ansehen, werden Sie feststellen, dass sie auf einer grundlegenden Ebene Daten organisiert, verarbeitet und präsentiert, um die Geschäftsanforderungen zu erfüllen.
Ein Datenmodell ist eine konzeptionelle Darstellung zum Ausdrücken und Kommunizieren von Geschäftsanforderungen. Es zeigt visuell die Art der Daten, die Geschäftsregeln, die die Daten regeln, und wie die Daten in der Datenbank organisiert werden.
Die Datenmodellierung kann mit dem Bau eines Hauses verglichen werden. Angenommen, ABC muss ein Gästehaus (Datenbank) bauen. Das Unternehmen ruft den Architekten (Datenmodellierer) an und erläutert die Gebäudeanforderungen (Geschäftsanforderungen). Der Architekt (Datenmodellierer) entwickelt den Plan (Datenmodell) und übermittelt ihn an ABC. Schließlich fordert ABC Bauingenieure (DBAs und DBAs) auf, ein Haus zu bauen.
Schlüsselbegriffe in der Datenmodellierung
Entitäten und Attribute. Entitäten sind „Dinge“ in der Geschäftsumgebung, über die wir Daten speichern möchten, z. B. Produkte, Kunden, Bestellungen usw. Attribute werden zum Organisieren und Strukturieren von Daten verwendet. Beispielsweise müssen wir bestimmte Informationen zu den von uns verkauften Produkten speichern, z. B. Verkaufspreise oder verfügbare Mengen. Diese Daten sind Attribute der Produktentität. Entitäten sind normalerweise Datenbanktabellen, und Attribute sind Spalten dieser Tabellen.
Beziehung . Die Beziehung zwischen Entitäten beschreibt, wie eine Entität mit einer anderen in Beziehung steht. Im Datenmodell können Entitäten als Eins-zu-Eins-, Viele-zu-Eins- oder Viele-zu-Viele-Entitäten verknüpft werden.
. « », , « » « ».
: 2 — . , .
, « »:
ER . ER- , .
, . :
— . , , , - -. :
, , , . , , — . :
:
vs
- . — , . , . 3- . OLTP .
. , .
ABC 200 . , « », «», « », « » .. 20 000 . (SKU). 6 000 -, . - (UPC). POS- 2 : , , .
, . , , ..
.
1. -
, POS-. , , , . , , .
2:
. . , . :
Date Dimension
Product Dimension
Store Dimension
Promotion Dimension
, (, , .), .
3:
, . :
4:
. :
Date Dimension:
Product:
Store:
Promotion:
Sales Fact:
.
(, ).
: * .
: , .
: - .
:
Schritt 5: Erstellen physischer Tabellen in der Datenbank
Mit einem Datenmodellierungstool oder benutzerdefinierten Skripten können Sie jetzt physische Tabellen in der Datenbank erstellen.
Ich denke, es ist jetzt ziemlich offensichtlich geworden, dass die Datenmodellierung eine der wichtigsten Aufgaben bei der Entwicklung einer Softwareanwendung ist. Und es bildet die Grundlage für das Organisieren, Speichern, Abrufen und Präsentieren von Daten.