Datenbankdesign: Schritte und Grundlagen

Inhaltsverzeichnis:

Datenbankdesign: Schritte und Grundlagen
Datenbankdesign: Schritte und Grundlagen
Anonim

Datenbankdesign ist ein sequenzieller Prozess der Anpassung von verfügbarem Wissen und Werkzeugen zur Darstellung und Verarbeitung von Informationen.

Der eigentliche Umfang, die konkrete Aufgabenstellung, die Beschreibung des eingehenden Informationsflusses und allgemeine Vorstellungen über den Informationsverarbeitungsprozess fügen sich nach und nach zu einer bestimmten konzeptionellen Vorstellung davon, was eine Datenbank im konkreten Fall ist und wie damit zu arbeiten.

Moderne Datenbank

Relationale Beziehungen sind das Herzstück eines jeden Informationsmodells. Lösungen von Oracle sind im Wesentlichen äquivalent zu MySQL, unterscheiden sich aber in vielen Aspekten grundlegend. Das Datenbankdesign ist auch eine Frage der Sicherheit, des Informationsumfangs und der Rechenschaftspflicht für die Datenintegrität, aber diese sind zweitrangig gegenüber dem Design einer effizienten, zuverlässigen und benutzerfreundlichen Datenbank.

Schritte zum Datenbankdesign
Schritte zum Datenbankdesign

Excel-Tabellen unterscheiden sich im Zusammenhang mit rechteckigen (relationalen) Strukturen nicht von Oracle und MySQL: Sp alten und Zeilen=eine Zelle am Schnittpunkt von Sp altenname (Feld) und Auswahlindex (Zeile). Wenn Sie das Maß und die Menge an manueller Arbeit nicht berücksichtigen, dann ist Excel dank der entwickelten Mittel, Zellen vertikal und horizontal zu kombinieren, sogar Oracle voraus!

Excel "strahlt" seinem Grundgedanken nach niemals die Dynamik, die Funktionalität von Oracle aus, und es kann auch nicht "nach Maßgabe der Reste" etwas von einem Blatt auf ein anderes übertragen. Hier ist Oracle vielversprechender, aber seine Überlegungen zu den Themen Migration großer Informationsmengen und Zusammenführung formalisierter Positionen aus verschiedenen Quellen lassen zu wünschen übrig. Hier ist MySQL vielversprechender: Es stellt sich keine globalen Aufgaben, aber es macht seinen Job perfekt.

Beziehungsbeziehungen sind bequeme, praktische und etablierte Tools, von privaten Lösungen auf Excel-Ebene bis hin zu globalen Oracle-Volumes, werden überall eingesetzt, sind gefragt und haben eine garantierte berufliche Zukunft.

Eine moderne Datenbank besteht aus Tabellen, Zeilen, Sp alten und Indizes, umgeben von voller Funktionalität, entwickelten zusätzlichen Tools, die mehrere Operationen, hohe Lasten und riesige Volumina berücksichtigen.

Wissen und Erfahrung moderner Datenbankmanagementsysteme (DBMS) berücksichtigen nicht nur die Themen Verlässlichkeit, Datensicherheit, Zugriffsregelung und Sicherheitsaspekte, sondern ermöglichen es auch, negative äußere Einflüsse zu verfolgen, mögliche Angriffe zu analysierenund versucht, vorsätzlich Schaden anzurichten.

Eine moderne Datenbank ist eine zuverlässige Grundlage für jede Webressource und lokale Anwendung, die Fähigkeit, Informationen zu migrieren, Daten zu transformieren und zu übertragen, verschiedene Ansichten zu überschneiden und zu kombinieren.

Die einzige Voraussetzung: hochqualifizierte Entwickler. Um ein effektives Design relationaler Datenbanken durchzuführen, steht ein Spezialist und häufiger ein Team von Spezialisten und Experten auf dem Anwendungsgebiet des zu lösenden Problems zur Verfügung.

Geltungsbereich, mögliche Lösung und Hindernisse

Informationen kursieren überall. Viele Projekte sind direkt mit dem Internet verbunden, aber der Faktor, hier eine formale Datendarstellung zu haben, ist nicht besser als der Unsicherheitsfaktor bei der Erstellung einer Webressource für ein Stahlwerk.

Die Entwicklung und das massive Interesse an Online-Shops bieten keine Gründe und Möglichkeiten, die Erfahrung beim Erstellen eines Shops auf die Erstellung eines anderen zu übertragen. Der Faktor Geschäftsgeheimnis schafft viele Hindernisse für den Wissenstransfer, obwohl Sie eigentlich das eigentliche Geschäft von den für dieses Geschäft erstellten Softwaretools trennen sollten.

Relationales Datenbankdesign
Relationales Datenbankdesign

Natürlich hat der Kunde bezahlt und der Standortcode ist sein Eigentum. Ein charakteristisches Merkmal der Moderne: Der Transfer von Wissen und Entwicklungen zwischen gleichartigen Aufgaben und verwandten Anwendungsgebieten ist unmöglich und problematisch.

Parsing ist eine breite Palette von Anwendungen für Datenbankverw altungssysteme. Zunächst scannt es Informationen aus dem Internet. Ebenso wichtig ist es, die gesammelten Informationen zu vergleichenDatenbank und Anfragen von Webbesuchern.

Keyword-Analyse beinh altet auch die Notwendigkeit, eine optimale Lösung zu finden, aber Datenbankdesign auf Access kann erfolgversprechender sein als auf MS SQL Server oder Oracle.

Die Liste der Informationsquellen kann dynamisch sein. Dynamik kann Quelldatenbanktabellen, Tabellenfeldnamen und Aufrufregeln (Abfrageregeln) innewohnen. Das Entwerfen relationaler Datenbanken aus mehreren Quellen zwingt Sie eindeutig dazu, ausgehend von den Quelldaten zu entwerfen und nicht von der optimalen Organisation der gesammelten Informationen.

Es gibt zwei Dinge, die jeder Datenbank eigen sind:

  • Orientierung am Inh alt, Algorithmus zur dynamischen Datenbankgenerierung vorrangig;
  • Nutzungsorientierung, die Struktur der Datenbank ist wichtiger und der Algorithmus zur Nutzung von Informationen basiert darauf.

In jedem Anwendungsbereich gibt es ein formales Modell des eingehenden Informationsflusses, ein Informationsspeichermodell - das tatsächliche Design der Datenbank und ein Modell (Algorithmus) für die Verwendung von Daten.

Verschiedene Verfahren und Gest altungsschritte

Die Grundlagen des Datenbankdesigns lassen sich normalerweise in drei Phasen unterteilen. Verschiedene Spezialisten beziehen sich unterschiedlich auf die Arbeitsphasen, aber tatsächlich gibt es drei Positionen:

  • konzeptionelle Planung;
  • logisches Design;
  • technische Ausführung.

Praxis trägt zu etablierten Traditionen bei. Egal wie komplex der Umfang und das zu lösende Problem sind. Es gilt immer, das Richtige auszuwählenWerkzeug. Beispielsweise müssen Sie Informationen von Besuchern einer Webressource sammeln, diese jedoch mit Daten von MS SQL Server vergleichen. Die Webressource wird auf FreeBSD (Internet, Apache-Server) gehostet, und MS SQL Server in einer anderen Stadt ist über das verteilte Netzwerk des Unternehmens verfügbar.

Grundlagen des Datenbankdesigns
Grundlagen des Datenbankdesigns

Bei dieser Lösung müssen Sie zunächst ein bestimmtes Problem lösen: den Datenaustausch mit dem internen Server herstellen.

Die technische Ausführung einer gemeinsamen Aufgabe wirkt sich notwendigerweise auf die Anfangsphase aus: Es ist selten, dass das Datenbankdesign von Grund auf neu erstellt werden kann. Auch bei bewährter Problemlösungstechnologie entwickelt sich der Umfang, es ist immer wieder erforderlich, etwas anders zu machen, als es ursprünglich beabsichtigt war.

In letzter Zeit arbeiten viele Theoretiker und Praktiker mit Entitäten als speziellen Daten. Dies sind Abstraktionen, mit denen Sie das Informationsmodell bei der Eingabe, während der Verarbeitung und im Endergebnis - der Datenbank - beschreiben können.

Daten- und Entitätsansichten

DB-Design durch Abstraktionen und Entitäten: die Fähigkeit, ein Informationsbild zu erstellen, Datentypen und Beziehungen zwischen ihnen zu definieren.

Normalerweise endet ein solches Design eines Datenbankmodells mit einem grafischen Modell unter Verwendung von MS Visio oder visuellen Tools des gewählten DBMS. Access hat seine eigene Art, ein Informationsbild zu erstellen, MySQL hat seine eigene, und einige Content-Management-Systeme verbergen die Datenbank vollständig, indem sie dem Entwickler durch ihre eigenen Entitäten ein Datenmodell aufzwingen -Objekte der zu lösenden Aufgabe.

Ein charakteristisches Merkmal vieler Content-Management-Systeme (CMS) ist, dass sie bei der Beschreibung des Informationsbereichs des zu lösenden Problems einen „Antrag“auf eine höhere Abstraktionsebene stellen. Die eigentliche Datenbank wird ausgeblendet, CMS bietet dem Entwickler seine eigene Vorstellung vom Informationsbild der Welt.

Infolgedessen reduzieren sich die Phasen des Datenbankdesigns auf die Einh altung der grundlegenden Anforderungen und die Ausführung der Schritte, die von den Erstellern eines bestimmten CMS vorgeschlagen werden. Es ist keine Schande, die Ideen von Datenbanken und deren Design von Symfony oder Bitrix, Zend oder Yii zu verwenden, aber für den Entwickler ist es eine "Bürde".

Im Idealfall sollten Datenbankdesign-Tools individuell ausgewählt und angewendet werden, ohne Meinung von außen, aber unter Anwendung von Erfahrung und Wissen.

Design von Informationsdatenbanken
Design von Informationsdatenbanken

Ideal für einen Entwickler, der von Oracle zertifiziert werden soll, aber vollkommen akzeptabel für die Qualifikationen eines Entwicklers, die Einblicke in die Informationsideen von Oracle und praktische Kenntnisse von MySQL-Anwendungen beinh alten.

In komplexen Projekten und verteilter Informationsverarbeitung ist nicht nur die Datenbasis wichtig, sondern auch die Informationsquellen, Vorstellungen über die Bedürfnisse der Verbraucher.

Stufen oder Team: Gleichgewicht der Prioritäten

Das Erfordernis der Konsistenz ist von größter Bedeutung. Zu den Grundlagen des Datenbankdesigns gehören auch die Arbeitsphasen, die Überwachung von Zwischenergebnissen und das Überdenken jeder abgeschlossenen Phase auf der Grundlage der Ausführung der folgenden Art von Arbeit:

  • systematisch;
  • Phase;
  • Feedback von jedem Zeitpunkt bis zur Ausgangsposition.

Diese Bestimmungen sind abstrakt, aber in jeder theoretischen und praktischen Technologie zum Erstellen einer effektiven Datenbank enth alten.

Keine Technologie entwickelt sich von selbst, sie wird von Menschen vorangetrieben. Die Qualifikation des Entwicklungsteams ist entscheidend. Das Datenbank-Informationsmodell ist nicht nur ein Rahmen, sondern auch Informationsflüsse.

Was wichtiger ist: schöne Grafiken in der Darstellung der Datenbankstruktur oder eine genaue Beschreibung von Informationsflüssen in dynamics - nicht nur eine Frage der Aufgabe und des Umfangs, sondern auch die Meinung des Entwicklungsteams in dynamics.

Design der Datenbankstruktur
Design der Datenbankstruktur

Personal ist alles, aber im Kontext: Die Konzeption einer Datenbank ist alles Qualifikation. Alle Menschen sind einzigartig, und im Bereich der Informationssysteme existieren und entwickeln sich Repräsentationen bestimmter Personen.

Es ist wichtig, ein Team von Entwicklern aufzubauen, nicht einige mythische Datenbankdesignschritte, die von einem maßgeblichen Experten vorgeschlagen werden. Die Autorität dieses Spezialisten wurde auf der Grundlage bestimmter Arbeiten zu einem bestimmten Zeitpunkt gebildet. Arbeit muss heute erledigt werden, neue Aufgabe, moderne Ausstattung, frische Technik, …

Mögliche Umkehrung. Es gibt Excel und Access und "reichlich" Daten in diesen Formaten aus alten Zeiten, als Windows für Arbeitsgruppen noch am Leben war und wohlauf war. Teilweise blieben dBase- und Quattro-Daten erh alten. Heute sind diese Worte bereits vergessen, aber die Informationengeblieben, es ist gefragt und muss extrahiert und neue Ideen geformt werden.

Alt und neu: Gleichgewicht des Wissens

Cloud-Technologie ist nicht wie die Datenbanken von Ashton-Tate. Was Oracle einst kaufte, ist in keiner Weise mit dem vergleichbar, was es heute tut. Aber Variablen, Algorithmen, Funktionen, Schleifen und Bedingungen sind seit diesen frühen 80er Jahren in der Programmierung geblieben. Es sei denn, das Konzept des Verfahrens ist in Vergessenheit geraten und alles bleibt wie in alten Zeiten.

Auch moderne Vorstellungen von objektorientierter Programmierung sind in die klassischen syntaktischen und semantischen "Fesseln" des letzten Jahrhunderts gekleidet.

Was zu tun ist - Programmierung ist träge, und die Formalisierung von Informationen und das Design von Informationsdatenbanken ist eher ein Prozess als ein Ergebnis. Inszeniertes Arbeiten ist eine Voraussetzung für das Erzielen von Ergebnissen. Aber wer hat die Anzahl der Iterationen von Zwischenstufen fast bis zum Arbeitsbeginn gezählt?

Informationen sind immer dynamisch, nichts steht still: besonders das Themengebiet der Aufgabenstellung und Nutzeranforderungen. Jeder abgeschlossene Arbeitsschritt ermöglicht es Ihnen, auf einer neuen Ebene zu bewerten, was bereits getan wurde und was noch zu tun ist.

logisches Datenbankdesign
logisches Datenbankdesign

Das Entwerfen einer Datenbankstruktur als Aufgabe zu betrachten und das Endergebnis zu erh alten, ist zwecklos. Sobald die Datenbank in Betrieb genommen wird, kommt sicherlich eine neue Idee auf, auch wenn das Tool zur Erstellung der Datenbank „einfaches“Excel war, und kein fantastisch leistungsfähiges und vielseitiges Produkt von Oracle,Manipulation von Millionen von Transaktionen, Hunderttausenden von gleichzeitigen Benutzern und Terabytes an Informationen.

Priorität ist nicht die Struktur der Datenbank, sondern die Bildung eines qualifizierten Teams von Spezialisten sowie die zwingende Forderung nach einer größeren Dynamik des Ergebnisses, damit nach Abschluss der Arbeit keine Kontaktaufnahme erforderlich ist die Entwickler, mindestens ein paar Monate.

Sequenzielle Entwicklung und/oder Hochsprünge

Windows ist keine Datenbank, aber es hat ein Relikt - die Registrierung. Die hosts-Datei ist einfach eine Identifikation der IP-Adressen und symbolischen Namen des lokalen Rechners. Aber durch diese Datei werden Informationsflüsse von verschiedenen Domänen oder zu verschiedenen DBMSs gebildet.

Es ist möglich, das vielseitige Windows als funktionierenden Computer oder Server zu verstehen, aber es wird in keiner Weise funktionieren, um die Logik der Versionen dieses Produkts zu rechtfertigen. PHP ist auch keine Datenbank, aber die Argumente der Entwickler, warum Version 5 direkt auf Version 7 folgt, sind widersprüchlich. PHP ist ein MySQL-Zugriffstool, dessen Syntax definiert, wie Abfragen erstellt und Antworten von der Datenbank mithilfe des SQL-Dialekts abgerufen werden.

Beispiele für Inkompatibilität zwischen modernen Programmiertools und Datenbankunterstützung sind in den letzten Jahren zur Norm geworden, aber dies ist nicht das originellste. Was wird hinter der Version von Windows 10 stecken? Wie sind die Aussichten für Oracle Database 12c?

Informationen des Entwickler-Autors: Oracle Database 11g Express Edition (Oracle Database XE) ist ein DBMS der Einstiegsklasse, das auf dem DBMS-Code von Oracle Database 11g Release 2 basiert. Dieses DBMS kann kostenlos entwickelt werden. Bereitstellung und Verkauf, schneller Download und einfache Verw altung.“

Die Perspektive eines Benutzerentwicklers: „2013 veröffentlichte Oracle Oracle Database 12c (Version 12.1.0.1) mit den Hauptvorteilen niedrigerer Speicherkosten, hoher Datenverfügbarkeit, einfacher Datenbankkonsolidierung und Datenzugriffsschutz "".

Reale Praxis: Ein objektives, effizientes und effektives logisches Datenbankdesign steht nur einem Team qualifizierter Entwickler zur Verfügung. Es ist nicht schwierig, ein Arbeitsergebnis zu erzielen, es ist schwierig, die eingehenden Informationsflüsse zu formalisieren und die optimale Grundlage zu bestimmen.

In die Welt der glatten Formen aus präzisen Rechtecken

Mit dem Aufkommen der objektorientierten Programmierung hat die Datenserialisierung ein neues Leben erh alten. In der Tat ist alles drumherum nur Linien, vorzugsweise von unbestimmter Länge. Auch Zahlen und Daten sind Zeichenketten.

Die Kraft und Objektivität zwischenmenschlicher Beziehungen ist unbestreitbar, aber schadet die Dynamik von Sp alten und Zeilen ihrem Ruf? Eine Tabelle besteht einfach aus Daten, die eine Kopfzeile (eine Liste von Sp alten) oder keine Zeilen haben können. Lassen Sie die Tabelle nur eine Sammlung von Daten sein, die nicht unbedingt benannt sind.

Der Datensatz kann heterogen sein und Sie können darin Daten unterschiedlicher Struktur finden. Grundsätzlich weist die Homogenität der Daten auf die Entwicklung des Anwendungsbereichs hin. Die Verteilung der Daten nach Arten und Arten ist ein Zeichen für eine systematische und objektive Vorgehensweise, aber es ist dennoch ratsam, die Möglichkeit von Strukturdynamiken einzuräumen.

Wenn AusgabeWenn Sie eine Datenbank über starre Strukturen hinaus entwerfen und erstellen und davon ausgehen, dass eine Tabelle eine Sammlung von Zeilen ist, die nicht unbedingt vom gleichen Typ und in der Semantik einander ähnlich sind, dann wird sich das Datenbankdesign dramatisch ändern.

Thema der Arbeit wird nicht die Beschreibung der Datenbankstruktur sein, sondern die Dynamik der Informationsbewegung. Die Arbeitsschritte werden in drei Schwerpunkte unterteilt:

  • Eingangsinformationsfluss;
  • Transformation und Bewegung von Informationen innerhalb der Datenbank;
  • Zu verwendende Daten auswählen.

Es gibt kein Konzept für eine Tabellenstruktur. Es gibt keine Zeilen oder Sp alten. Es gibt eine Abstraktion – eine Gegebenheit mit einer bestimmten Struktur, die einen bestimmten Punkt im Algorithmus erfüllt. Genauer gesagt erfordert die Informationsverarbeitungsfunktion bestimmte Informationen in einer bestimmten Menge.

Die obligatorische Anforderung der Rekursivität aller informationsverarbeitenden Funktionen und die Fokussierung auf Funktionen, nicht auf Daten, ermöglicht es Ihnen, eine Datenbank in der Dynamik der angesammelten Informationen und des eingehenden Datenflusses zu entwerfen, die auf Initiative des Benutzers verwendet werden, Prozess oder andere Funktion.

Tatsächlich: Ein Use-Signal kam, ein Abruf-Request wurde empfangen, ein Trigger in der Anwendung gefeuert, und die eingehenden Informationen lieferten durch das, was bereits da war, die gewünschte Lösung.

Grundlagenwissen und starre Konstruktionen

Wissen ist das Vorrecht des Menschen, Programme sind die Last der Computer. Dem Entwickler steht es frei, Wissen anzuwenden, wie er es in einer bestimmten Situation für richtig hält. Ein gewöhnlicher Mensch verwendet viele Datenbanken, ohne darauf Wert zu legen. wieDatenbanken sind im Kopf eines gewöhnlichen Menschen organisiert, niemand weiß es, aber jeder weiß, wie er seine Geschäfte führt, wo er aufschreibt, was er findet und wann er es verwenden muss.

Das Ergebnis der Arbeit des Programmierers - auf der Ebene eines Programms in "Basic", das Daten von der Website eines Online-Shops über ODBC abruft, entspricht einem betitelten Oracle-Entwickler, der eine Anfrage zum Abrufen von Daten stellt vom MAKS Salon Luft- und Raumfahrt. Beide Ergebnisse "frieren" ab dem Moment, in dem die Arbeit abgeschlossen ist, im Rauschen ein. Dies ist kein aktives Wissen, das eine Person verwendet, dies ist das Geheimnis der Erstellung eines Datenbankdesignsystems.

Der Algorithmus kann nicht korrigiert werden. Alles muss dynamisch definiert werden. Die Vorzüge qualifizierter Entwickler sind unbestreitbar, liegen aber keineswegs in den eleganten Lösungsformen von Oracle, MySQL oder Access, die in ihren Möglichkeiten begrenzt sind. Eine andere Excel-Tabelle kann dynamische Inh alte bereitstellen und erfordert nach Abschluss der Arbeit nicht die Teilnahme eines Programmierers für eine mehr oder weniger angemessene Zeit.

Die Frage ist, wie gut die Dynamik des Anwendungsgebietes formalisiert ist, nicht die Struktur der Datenbank.

Live-Lösungen

Es ist unmöglich, die Arbeit so zu planen, dass ein Team professioneller Entwickler an eine Aufgabe gebunden wird. Nicht, dass das Team beleidigt wäre, aber das ist nicht der richtige Ansatz.

Live-Lösungen
Live-Lösungen

Die Aufgabe, eine Datenbank zu entwerfen, sollte so formuliert werden, dass die entwickelte Funktionalität sich selbst verbessert, Wissen ansammelt und bei der Erfüllung ihrer „Pflichten“nicht vom Code ausgeht,erstellt von Experten, sondern aus dem durch diesen Code erworbenen Wissen.

Empfohlen: