Funktionale Abhängigkeit und relationale Datenbanken

Informationen hatten immer eine angemessene DynamikInteresse. Entwicklung, relationale Datenbanken und Informationstechnologie Programmiersprachen dramatisch den Inhalt und Struktur von Interesse verändert. Ein gewisses strenges System von Repräsentationen hat Gestalt angenommen. Formalisierung, exakte Mathematik und binäre Beziehungen sind zu einem erfolgreichen und sich schnell entwickelnden Feld von Wissen und Erfahrung geworden.

Die natürliche Informationswelt hat ihre Dynamik nicht verändert und die Entwicklung von Inhalt und Struktur ist auf eine neue Höhe gestiegen. Es hat glatte Formen und in der Natur gibt es nichts "Rechteckig". Information eignet sich natürlich zur Formalisierung, aber sie hat Dynamik, nicht nur Daten und Algorithmen für ihre Verarbeitung verändern sich, die Aufgaben selbst und ihre Anwendungsgebiete verändern sich.

Funktionelle Abhängigkeit

Information> Formalisierung >> Daten

Informationen werden in Daten umgewandelt (Datenmodell,Informationsstruktur, Datenbank ...), wie der Programmierer es sieht. Es gibt keine Garantie, dass diese Vision korrekt ist, aber wenn das Programm die gestellte Aufgabe löst, wurden die Daten in angemessener Weise präsentiert.

Die Frage, wie richtig es warFormalisierte Informationen sind eine Frage der Zeit. Bisher ist das Konzept der Dynamik (Selbstanpassung an sich ändernde Nutzungsbedingungen) nur ein Traum der Programmierung.

Funktionelle Abhängigkeit: "Die richtige Lösung = Programm (Programmierer)" und die Bedingung: "Kontinuierliche Übereinstimmung mit dem Problem" sind in den meisten Fällen gültig, aber nur zusammen. Dies ist jedoch nicht die mathematische Grundlage, die beim Erstellen von Datenbanken verwendet wird.

Direkte Aussage: Die natürliche und kontinuierliche Dynamik von Informationen und Algorithmen zur Lösung von Problemen ist immer der Fall. Und relationale Datenbanken sind binäre Relationen + strikte Mathematik + exakte formale Konstruktionen, + ...

Relationale Datenbanken

Daten, Dateien und Datenbanken

Wie die Daten gespeichert sind, war lange irrelevant: sei es RAM oder externes Gerät. Die Hardware-Komponente hat ein sicheres Entwicklungstempo erreicht und bietet gute Qualität in großen Stückzahlen.

Die Hauptspeicheroptionen unterscheiden sich in ihren Datennutzungsoptionen:

  • Dateien;
  • Datenbank.

Der erste ist dem Programmierer ausgeliefert (was soll man schreiben, in welchem ​​Format, wie man es macht, wie man liest ...), der zweite bringt sofort die Notwendigkeit, einfache funktionelle Abhängigkeit zu lernen.

Die Geschwindigkeit des Abtastens und Aufzeichnens von Informationen beim Arbeiten mit Dateien (eine vernünftige Größe, nicht astronomisch) ist sehr schnell, und die Geschwindigkeit ähnlicher Operationen mit der Datenbank kann manchmal merklich langsam sein.

Datenbank-Funktionalität

Persönliche Erfahrung und kollektive Intelligenz

In der Geschichte gab es Versuche, darüber hinauszugehenGrenzen, aber immer noch von relationalen Datenbanken dominiert. Ein großes theoretisches Potential wurde gesammelt, die Anwendungspraxis ist umfangreich und die Entwickler sind hochqualifiziert.

Das Konzept der funktionalen AbhängigkeitsentwicklerDatenbanken werden dem Programmierer auferlegt, auch wenn er nicht die reiche mathematische und logische Erfahrung beim Aufbau komplexer Informationsstrukturen, Prozesse für die Arbeit mit ihnen, Sampling und Aufzeichnung von Informationen verwenden will.

Selbst im einfachsten Fall hängt der Programmierer davon abvon der Logik der Datenbank, was auch immer er wählte, um zu arbeiten. Es gibt keinen Wunsch, den Kanonen zu folgen, Sie können Dateien verwenden, Sie erhalten viele Dateien und viele persönliche Erfahrungen. Viel persönliche Zeit wird ausgegeben und die Aufgabe wird lange gelöst sein.

Beispiele für funktionelle Abhängigkeit

Egal wie komplex die Beispiele aussehen mögen.Funktionale Abhängigkeit, es ist überhaupt nicht notwendig, in die Tiefen von Bedeutung und Logik zu stürzen. Es ist oft notwendig zu erkennen, dass es dem kollektiven Verstand gelungen ist, exzellente Datenbanken verschiedener Größe und Funktionalität zu erstellen:

  • solides Oracle;
  • anspruchsvoller MS SQL Server;
  • populäres mysql.

- gute relationale Datenbanken mit gutenseriös, bequem zu bedienen, schnell in kompetenten Händen. Ihre Verwendung spart Zeit und macht das Schreiben der nächsten Hilfscode-Seiten überflüssig.

Das Konzept der funktionalen Abhängigkeit

Merkmale der Programmierung und Daten

Die Programmierung hat lange Zeit eine Krankheit.Um ständig umzuschreiben, wiederholen Sie die Arbeit der Vorgänger, um etwas an die geänderten Informationen, die Aufgabe oder die Verwendungsbedingungen anzupassen.

Merkmal der funktionalen Abhängigkeit istWie bei der Programmierung kann ein Fehler sehr teuer sein. Die Aufgabe ist selten einfach. Normalerweise wird während der Formalisierung von Informationen eine komplexe Darstellung von Daten erhalten. Normalerweise werden ihre Elemente herausgearbeitet, dann werden sie in bestimmten Beziehungen durch Schlüssel verknüpft. Anschließend werden Tabellengenerierungsalgorithmen, Abfragen und Informationsauswahlalgorithmen angepasst.

Oft ist die Bindung an die Kodierung wichtig. Nicht alle Datenbanken bieten mobile Lösungen. Sie können oft feststellen, dass das gut abgestimmte MySQL, das über ein Dutzend Datenbanken verfügt, perfekt und konsistent arbeitet, sodass der Entwickler die elfte Basis den bereits vorhandenen Datenbanken ähnlich machen muss.

Es gibt Fälle, in denen Shared Hosting die Funktionalität von PHP einschränkt, und dies beeinflusst die Programmierung des Zugriffs auf die Datenbank.

In der modernen Programmierung entspricht die Verantwortung für den Algorithmus eines Programms der Verantwortung für die Erstellung eines Datenmodells. Alles sollte funktionieren, aber es ist nicht immer notwendig, in die Wildnis der Theorie einzutauchen.

Datenbankfunktionale Abhängigkeitseigenschaften

DB: einfache Datenabhängigkeit

Zuallererst ist das Konzept einer Datenbank eine Datenbank alsDatenbankverwaltungssystem (z. B. MySQL) und eine Art Informationsstruktur, die die Datenaufgaben und die Verbindungen zwischen ihnen widerspiegelt. Eine MySQL-Datenbank "speichert" eine beliebige Anzahl von Informationsstrukturen in verschiedenen Anwendungsbereichen. Eine Oracle-Datenbank kann Informationsprozesse eines großen Unternehmens oder einer Bank unterstützen und Fragen der Sicherheit und Datensicherheit auf höchstem Niveau steuern, die sich auf einer Reihe von Computern befinden, die sich in verschiedenen Instrumentenumgebungen in unterschiedlichen Entfernungen befinden.

Es ist allgemein anerkannt, dass die Beziehung im relationalen Modell grundlegend ist. Die elementare Beziehung besteht aus einer Reihe von Spalten mit Namen und Zeilen mit Werten. Klassisch "Rechteck" (Tabelle) - einfacher und effektiver Fortschritt. Die Komplexitäten und funktionalen Abhängigkeiten der Datenbank beginnen ab "Rechtecke" beginnen, Beziehungen miteinander einzugehen.

Der Name jeder Spalte in jeder Tabelle muss im Kontext der Aufgabe eindeutig sein. Dieselben Daten dürfen nicht in zwei Tabellen enthalten sein. Kennen Sie die Bedeutung von Begriffen:

  • "Entitäten identifizieren";
  • "Redundanz beseitigen";
  • "Fixiere die Beziehung";
  • "Sicherstellung der Authentizität."

- Grundvoraussetzung für die Verwendung einer Datenbank und das Erstellen eines Datenmodells für eine bestimmte Aufgabe.

Verletzung eines dieser Konzepte - geringe Effizienz des Algorithmus, langsame Datenerfassung, Datenverlust und andere Probleme.

Merkmal der funktionalen Abhängigkeit

Funktionsabhängigkeit: Logik und Bedeutung

Sie können nicht über Beziehungen Tupel lesen, über wasEine Funktion ist die Entsprechung einer Menge von Argumenten zu einer Menge von Werten. Eine Funktion ist nicht nur eine Formel oder ein Diagramm, sondern kann durch eine Menge von Werten angegeben werden - eine Tabelle.

Nicht unbedingt, aber es schadet nicht, eine funktionale Abhängigkeit darzustellen, wie:

F (x1, x2, ..., xN) = (y1, y2, ..., yN).

Stellen Sie jedoch sicher, dass die Eingabe eine Tabelle ist.Die Ausgabe ist auch eine Tabelle oder eine spezifische Lösung. Normalerweise stellt eine funktionale Abhängigkeit die Logik der Beziehungen zwischen Tabellen, Abfragen, Berechtigungen, Auslösern, gespeicherten Prozeduren und anderen Aspekten (Komponenten) einer Datenbank her.

Normalerweise werden die Tabellen dann ineinander konvertiertim Ergebnis. Die Verwendung der funktionalen Abhängigkeit ist jedoch nicht auf eine solche Idee beschränkt. Der Programmierer selbst erstellt seine Sicht auf das Datenmuster, das Domänenmodell, die Informationsstruktur ... egal, wie er aufgerufen wird, aber wenn er auf einer bestimmten Datenbank arbeitet, sollte er auf seiner Logik basieren und seine Bedeutung und den Dialekt der verwendeten Sprache berücksichtigen, normalerweise SQL.

Es kann argumentiert werden, dass die Eigenschaften funktional sindDatenbankabhängigkeiten sind über den Dialekt der verwendeten SQL-Sprache verfügbar. Es ist jedoch viel wichtiger zu verstehen: Nach all den Höhen und Tiefen der Entwicklung sind nicht so viele Datenbanken erhalten geblieben, aber es gibt auch viele Dialekte dieser Sprache und Merkmale der internen Strukturen in den Grundlagen.

Die Verwendung der funktionalen Abhängigkeit

Über gutes altes Excel

Als sich der Computer von der positiven Seite zeigte, wurde die Welt sofort in Programmierer und Benutzer aufgeteilt. In der Regel die erste Verwendung:

  • PHP, Perl, JavaScript, C ++, Delphi.
  • MySQL, Oracle, MS SQL Server und Visual FoxPro.

Zweitens:

  • Wort
  • Excel.

Einige Benutzer können ihre eigenen (ohne die Hilfe von Programmierern) in der Word-Datenbank erstellen - ein echter Unsinn.

Die Erfahrung der Benutzer in Excel zum Erstellen von Datenbanken ist praktisch und interessant. Das Wichtigste ist, dass Excel an sich funktional, farbenfroh und praktisch ist.

Die tabellarische Idee definierte das Konzept des FunktionalenAbhängigkeiten sind visuell und zugänglich, aber jede Datenbank weist Nuancen auf. Jedes hat sein eigenes Gesicht, aber alles von Excel bis Oracle wird durch einfache Quadrate (Tabellen) manipuliert.

Wenn wir bedenken, dass Excel überhaupt keine Basis istDaten, aber viele Benutzer (nicht Programmierer) verwenden dies auf diese Weise, und Oracle ist die komplexeste und leistungsstärkste Errungenschaft eines großen Entwicklerteams im Bereich Datenbanken. Es ist selbstverständlich, zu erkennen, dass eine Datenbank die Darstellung eines bestimmten Programmierers (Teams) über eine bestimmte Aufgabe und deren Aufgabe ist Entscheidung.

Was ist funktionelle Abhängigkeit, mit was, wo, warum ... ist nur für den Autor oder das Team davon offensichtlich.

Wo gehen Beziehungsbeziehungen hin?

Wissenschaftlicher und technischer Fortschritt ist sehr schmerzhaftVerfahren und manchmal grausam. Wenn Sie sich erinnern, wie die Datenbanken angefangen haben, was * .dbf ist, wie die Kybernetik gebrandmarkt wurde, die Informatik geliebt wurde und die Bewegung der High-Tech-Bewegung auf Länderebene verhindert wurde, wird deutlich, warum relationale Datenbanken so zäh und gut sind. Warum der klassische Programmierstil bis heute lebt und objektorientierte Programmierung wird geschätzt, aber noch nicht dominant.

Egal wie schön funktionale Abhängigkeit im mathematischen Kontext:

Das Beispiel des Autors ist kein Bild.

Dies ist keine binäre Beziehung, genauer gesagt, es ist ein GrundÜberdenken Sie die Idee, Beziehungen zwischen einer Vielzahl von Attributen herzustellen, und untersuchen Sie Eins-zu-Viele, Viele-Zu-Eins, Viele-Zu-Viele oder viele allgemein und einige im Besonderen.

Beziehungsoptionen können großartig seineine Menge. Das ist Mathematik mit Logik, und es ist streng! Information ist ihre eigene Mathematik, besonders. Darin kann man nur mit einem sehr großen Minus über Formalität sprechen.

Sie können die Arbeit der Personalabteilung formalisieren,Schreiben Sie ein ACS für die Gewinnung von Öl oder die Herstellung von Milch, Brot, treffen Sie eine Auswahl in einer riesigen Datenbank von Google, Yandex oder Rambler, aber das Ergebnis ist immer statisch und jeder Moment ist der gleiche!

Wenn funktionale Abhängigkeit = starke Logikund Mathematik = die Basis für Datenbanken, von welcher Dynamik können wir dann sprechen. Jede Entscheidung ist formal, jedes formale Datenmodell + strenger Algorithmus = eine genaue und eindeutige Lösung. Die Informationen und der Umfang eines Programms ändert sich ständig.

Probennahme der Suchmaschine auf der gleichenEine Suchphrase kann nicht nach einer Stunde oder nach zwei Stunden und eindeutig jeden zweiten Tag gleich sein, wenn die Suchphrase zu dem Informationsfeld gehört, in dem sich die Anzahl der Websites, Ressourcen, Wissen und anderen Elemente ständig ändert.

Über Linien und Objekte

Auch wenn das Programm rein mathematisch ist und seine Datenbank nicht einmal über Dynamik nachdenkt, alles hat immer linien. Und die Saite ist lang. Und es kann nicht unendlich sein. Es kann nicht einmal eine Variable sein, sondern nur bedingt. Außerdem erfordert jede Datenbank mit ihrem mathematischen und binär-bürokratischen Apparat viele Formalitäten, und dies ist Geschwindigkeit + Qualität der Probenahme und Informationsverarbeitung.

Wenn es sich bei bestimmten Feldern in der Datenbank um Zahlen handelt, insbesondere um echte, werden Einschränkungen hinzugefügt: die Ziffernkapazität, das Vorhandensein des Buchstabens "e", das Darstellungsformat - kurz gesagt, überall und immer Eigenschaften von Datenbankfunktionsabhängigkeiten: Zeilen mit bedingt variabler Länge mit einer Masse binärer Formalitäten und strengen mathematischen Einschränkungen.

Wenn Sie den Ton ändern und auf den Puls hörenDynamik, dann kann alles auf Objekte gemalt werden. In der ersten Näherung ist der Name einer Spalte in einer Tabelle ein Objekt, die Namensliste ist auch ein Objekt, kurz gesagt, die Tabelle ist ein Header-Objekt und darin sind die Namen der Spalten im Header. Und die Kappen mögen gar nicht sein ...

Es kann jedoch Zeilen in der Tabelle geben. Und in der Zeile können Werte sein. Und warum sollten sie immer gleich sein? Voller quadratischer Tisch - Dies ist besonders und in den meisten Fällen privat.

Über Linien und Objekte

Wenn Sie alle Strukturen in der Datenbank übergebenFür Objekte ist es vielleicht nicht notwendig, eine strikte binäre Beziehung aufzubauen. Dies hat eine natürliche und reale Bedeutung, schon deshalb, weil diese objektive (eindeutig nichtmathematische) Logik die Dynamik von Informationen und der Umgebung widerspiegelt, in der sich Aufgaben befinden.

In Verbindung stehende Nachrichten