Verwandtschaftsdatenbank

Eine Verwandtschaftsdatenbank ist eine Datenbank, die sich der Verwandtschaftsmustertheorie anpasst. Die in einer Verwandtschaftsdatenbank verwendete Software wird ein Verwandtschaftsdatenbankverwaltungssystem (RDBMS) genannt. Der umgangssprachliche Gebrauch des Begriffes "Verwandtschaftsdatenbank" kann sich auf die RDBMS Software oder die Verwandtschaftsdatenbank selbst beziehen. Eine Verwandtschaftsdatenbank ist die vorherrschende Wahl in der Speicherung von Daten, über andere Modelle wie das hierarchische Datenbankmodell oder das Netzmodell.

Inhalt

Fachsprache

Der Begriff wurde Verwandtschaftsdatenbank dadurch ursprünglich definiert und wird Edgar Codd an IBM Almaden Research Center 1970 zugeschrieben.

Verwandtschaftsdatenbanktheorie gebraucht eine Reihe mathematischer Begriffe, die zur SQL Datenbankfachsprache grob gleichwertig sind. Der Tisch fasst unten einige der wichtigsten Verwandtschaftsdatenbankbegriffe und ihrer SQL Datenbankentsprechungen zusammen.

Beziehungen oder Tische

Eine Beziehung wird als eine Reihe von Tupeln definiert, die dieselben Attribute haben. Ein Tupel vertritt gewöhnlich einen Gegenstand und Information über diesen Gegenstand. Gegenstände sind normalerweise physische Gegenstände oder Konzepte. Eine Beziehung wird gewöhnlich als ein Tisch beschrieben, der in Reihen und Säulen organisiert wird. Alle durch ein Attribut Verweise angebrachten Daten sind in demselben Gebiet und passen sich denselben Einschränkungen an.

Das Verwandtschaftsmodell gibt an, dass die Tupel einer Beziehung keine spezifische Ordnung haben, und dass die Tupel abwechselnd keine Ordnung auf den Attributen auferlegen. Anwendungszugriffsdaten durch das Spezifizieren von Abfragen, die Operationen solcher als ausgesucht verwenden, um Tupel, Projekt zu identifizieren, Attribute zu identifizieren und sich anzuschließen, um Beziehungen zu verbinden. Beziehungen können mit dem Einsatz modifiziert werden, löschen, und Maschinenbediener aktualisieren. Neue Tupel können ausführliche Werte liefern oder aus einer Abfrage abgeleitet werden. Ähnlich identifizieren Abfragen Tupel, um zu aktualisieren oder zu löschen.

Es ist für jedes Tupel einer Beziehung notwendig, durch eine Kombination (ein oder mehr) von seinen Attribut-Werten einzigartig identifizierbar zu sein. Diese Kombination wird den primären Schlüssel genannt.

Basis und abgeleitete Beziehungen

In einer Verwandtschaftsdatenbank werden alle Daten versorgt und über Beziehungen zugegriffen. Beziehungen, die Daten versorgen, werden "Grundbeziehungen" genannt, und in Durchführungen werden "Tische" genannt. Andere Beziehungen versorgen Daten nicht, aber werden durch die Verwendung von Verwandtschaftsoperationen auf andere Beziehungen geschätzt. Diese Beziehungen werden manchmal "abgeleitete Beziehungen" genannt. In Durchführungen werden diese "Ansichten" oder "Abfragen" genannt. Abgeleitete Beziehungen sind darin günstig, obwohl sie Information von mehreren Beziehungen ergreifen können, handeln sie als eine einzelne Beziehung. Außerdem können abgeleitete Beziehungen als eine Abstraktionsschicht verwendet werden.

Gebiet

Ein Gebiet beschreibt den Satz von möglichen Werten für ein gegebenes Attribut, und kann als eine Einschränkung auf den Wert des Attributes betrachtet werden. Mathematisch bedeutet die Befestigung eines Gebiets zu einem Attribut, dass jeder Wert für das Attribut ein Element des angegebenen Satzes sein muss.

Das Charakter-Datenwert'Abc' ist zum Beispiel nicht im Gebiet der ganzen Zahl. Der Wert der ganzen Zahl 123, befriedigt die Bereichseinschränkung.

Einschränkungen

Einschränkungen machen es möglich, weiter das Gebiet eines Attributes einzuschränken. Zum Beispiel kann eine Einschränkung ein gegebenes Attribut der ganzen Zahl auf Werte zwischen 1 und 10 einschränken. Einschränkungen stellen eine Methode zur Verfügung, Geschäftsregeln in der Datenbank durchzuführen. SQL führt Einschränkungsfunktionalität in der Form von Kontrolle-Einschränkungen durch.

Einschränkungen schränken die Daten ein, die in Beziehungen versorgt werden können. Diese werden gewöhnlich mit Ausdrücken definiert, die auf einen Boolean-Wert hinauslaufen, anzeigend, ob die Daten die Einschränkung befriedigen. Einschränkungen können für einzelne Attribute, für ein Tupel gelten (Kombinationen von Attributen einschränkend), oder zu einer kompletten Beziehung.

Da jedes Attribut ein verbundenes Gebiet hat, gibt es Einschränkungen (Bereichseinschränkungen). Die zwei Hauptregeln für das Verwandtschaftsmodell sind als Entitätsintegrität und Verweisungsintegrität bekannt.

('"Verweisungsintegrität ist der Staat, in dem alle Werte aller Auslandsschlüssel gültig sind. Verweisungsintegrität basiert auf der Entitätsintegrität. Entitätsintegrität verlangt, dass jede Entität einen einzigartigen Schlüssel hat. Zum Beispiel, wenn jede Reihe in einem Tisch Beziehungen für eine einzigartige Entität vertritt, sollte der Tisch eine Säule oder eine Reihe von Säulen haben, der einen einzigartigen Bezeichner für die Reihen des Tisches zur Verfügung stellt. Diese Säule (oder Satz von Säulen) wird den Elternteilschlüssel des Tisches genannt. Um sicherzustellen, dass der Elternteilschlüssel Doppelwerte nicht enthält, muss ein einzigartiger Index auf der Säule oder den Säulen definiert werden, die den Elternteilschlüssel einsetzen. Das Definieren des Elternteilschlüssels wird Entitätsintegrität"' genannt)

Primäre Schlüssel

Ein primärer Schlüssel definiert einzigartig eine Beziehung innerhalb einer Datenbank. In der Größenordnung von einem Attribut, um ein guter primärer Schlüssel zu sein, muss es sich nicht wiederholen. Während natürliche Attribute manchmal gute primäre Schlüssel sind, werden Stellvertreter-Schlüssel häufig stattdessen verwendet. Ein Stellvertreter-Schlüssel ist ein künstliches Attribut, das einem Gegenstand zugeteilt ist, der ihn einzigartig identifiziert (zum Beispiel, in einem Tisch der Information über Studenten in einer Schule, könnten sie alle ein Studentenpersonalausweis zugeteilt werden, um sie zu unterscheiden). Der Stellvertreter-Schlüssel hat keine innere (innewohnende) Bedeutung, aber ist eher durch seine Fähigkeit nützlich, ein Tupel einzigartig zu identifizieren.

Ein anderes allgemeines Ereignis, besonders in Rücksichten auf N:M cardinality ist der zerlegbare Schlüssel. Ein zerlegbarer Schlüssel ist ein Schlüssel, der aus zwei oder mehr Attributen innerhalb eines Tisches zusammengesetzt ist, die (zusammen) einzigartig eine Aufzeichnung identifizieren. (Zum Beispiel, in einer Datenbank, die Studenten, Lehrer und Klassen verbindet. Klassen konnten durch einen zerlegbaren Schlüssel ihrer Zimmernummer und Zeitschlitzes einzigartig identifiziert werden, seitdem keine andere Klasse genau dieselbe Kombination von Attributen haben konnte. Tatsächlich kann der Gebrauch eines zerlegbaren Schlüssels wie das eine Form der Datenüberprüfung, obgleich eine schwache sein.)

Auslandsschlüssel

Ein Auslandsschlüssel ist eine Verweisung auf einen Schlüssel in einer anderen Beziehung, bedeutend, dass der Verweise anbringende Tisch, als eines seiner Attribute, die Werte eines Schlüssels im Verweise angebrachten Tisch hat. Auslandsschlüssel brauchen einzigartige Werte in der Verweise anbringenden Beziehung nicht zu haben. Auslandsschlüssel verwenden effektiv die Werte von Attributen in der Verweise angebrachten Beziehung, um das Gebiet von einem oder mehr Attributen in der Verweise anbringenden Beziehung einzuschränken.

Ein Auslandsschlüssel konnte formell als beschrieben werden: "Für alle Tupel in der Verweise anbringenden Beziehung, die über die Verweise anbringenden Attribute geplant ist, dort muss ein Tupel in der Verweise angebrachten Beziehung bestehen, die über jene dieselben solche Attribute geplant ist, dass die Werte in jedem der Verweise anbringenden Attribute die entsprechenden Werte in den Verweise angebrachten Attributen vergleichen."

Versorgte Verfahren

Ein versorgtes Verfahren ist rechtskräftiger Code, der damit vereinigt, und allgemein in, die Datenbank versorgt wird. Versorgte Verfahren sammeln gewöhnlich und fertigen allgemeine Operationen, wie das Einfügen eines Tupels in eine Beziehung, das Sammeln statistischer Information über Gebrauch-Muster kundengerecht an, oder komplizierte Geschäftslogik und Berechnungen kurz zusammenzufassen. Oft werden sie als eine Anwendung, Schnittstelle programmierend (API) für die Sicherheit oder Einfachheit verwendet. Durchführungen von versorgten Verfahren auf SQL DBMSs erlauben häufig Entwicklern, Verfahrenserweiterungen (häufig mit dem Verkäufer spezifisch) zur SQL Standardaussagesyntax auszunutzen.

Versorgte Verfahren sind nicht ein Teil des Verwandtschaftsdatenbankmodells, aber alle kommerziellen Durchführungen schließt sie ein.

Index

Ein Index ist eine Weise, schnelleren Zugang zu Daten zur Verfügung zu stellen. Indizes können auf jeder Kombination von Attributen auf einer Beziehung geschaffen werden. Abfragen, dass der Filter mit jenen Attributen das Zusammenbringen von Tupeln zufällig mit dem Index finden kann, ohne jedes Tupel der Reihe nach überprüfen zu müssen. Das ist dem Verwenden des Index eines Buches analog, um direkt zur Seite zu gehen, auf der die Information Sie suchen, wird gefunden, d. h. Sie müssen das komplette Buch nicht lesen, um zu finden, wonach Sie suchen. Verwandtschaftsdatenbanken liefern normalerweise vielfache Indexieren-Techniken, von denen jede für eine Kombination des Datenvertriebs, der Beziehungsgröße und des typischen Zugriffsmusters optimal ist. Indizes werden gewöhnlich über B + Bäume, R-Bäume und bitmaps durchgeführt.

Indizes werden gewöhnlich als ein Teil der Datenbank nicht betrachtet, wie sie als ein Durchführungsdetail betrachtet werden, obwohl Indizes gewöhnlich von derselben Gruppe aufrechterhalten werden, die die anderen Teile der Datenbank aufrechterhält. Es sollte bemerkt werden, dass der Gebrauch von effizienten Indizes sowohl auf primären als auch auf ausländischen Schlüsseln Anfragenleistung drastisch verbessern kann. Das ist, weil B-Baumindizes in Anfragenzeiten resultieren, die proportional sind (um n) zu loggen, wo N die Zahl von Reihen in einem Tisch ist und Kuddelmuddel-Indizes auf unveränderliche Zeitabfragen hinauslaufen (keine Größe-Abhängigkeit, so lange der relevante Teil des Index das Gedächtnis einbaut).

Verwandtschaftsoperationen

Abfragen, die gegen die Verwandtschaftsdatenbank und den abgeleiteten relvars in der Datenbank gemacht sind, werden in einer Verwandtschaftsrechnung oder einer Verwandtschaftsalgebra ausgedrückt. In seiner ursprünglichen Verwandtschaftsalgebra hat Codd acht Vergleichsoperatoren in zwei Gruppen von vier Maschinenbedienern jeder vorgestellt. Die ersten vier Maschinenbediener haben auf den traditionellen mathematischen Satz-Operationen basiert:

  • Der Vereinigungsmaschinenbediener verbindet die Tupel von zwei Beziehungen und entfernt alle Doppeltupel vom Ergebnis. Der Verwandtschaftsvereinigungsmaschinenbediener ist dem SQL VEREINIGUNGS-Maschinenbediener gleichwertig.
  • Der Kreuzungsmaschinenbediener erzeugt den Satz von Tupeln, die zwei Beziehungen gemeinsam teilen. Kreuzung wird in SQL in der Form des DURCHSCHNEIDEN Maschinenbedieners durchgeführt.
  • Der Unterschied-Maschinenbediener folgt zwei Beziehungen und erzeugt den Satz von Tupeln von der ersten Beziehung, die in der zweiten Beziehung nicht bestehen. Unterschied wird in SQL in der Form AUßER oder MINUS der Maschinenbediener durchgeführt.
  • Das kartesianische Produkt von zwei Beziehungen ist eine Verbindungslinie, die durch keine Kriterien eingeschränkt wird, auf jedes Tupel der ersten Beziehung hinauslaufend, die mit jedem Tupel der zweiten Beziehung wird vergleicht. Das kartesianische Produkt wird in SQL durchgeführt, weil sich die BÖSE VERBINDUNGSLINIE Maschinenbediener anschließt.

Die restlichen von Codd vorgeschlagenen Maschinenbediener schließen spezielle zu Verwandtschaftsdatenbanken spezifische Operationen ein:

  • Die Auswahl oder Beschränkung, Operation bekommt Tupel von einer Beziehung wieder, die Ergebnisse auf nur diejenigen beschränkend, die spezifischen Kriterien, d. h. einer Teilmenge in Bezug auf die Mengenlehre entsprechen. Die SQL Entsprechung von der Auswahl ist die AUSGESUCHTE Anfragenbehauptung mit WO Klausel.
  • Die Vorsprung-Operationsextrakte nur die angegebenen Attribute von einem Tupel oder Satz von Tupeln.
  • Die für Verwandtschaftsdatenbanken definierte Verbindungslinie-Operation wird häufig eine natürliche Verbindungslinie genannt. In diesem Typ der Verbindungslinie werden zwei Beziehungen durch ihre allgemeinen Attribute verbunden. Die Annäherung von SQL einer natürlichen Verbindungslinie ist die INNERE VERKNÜPFUNG schließen sich Maschinenbediener an.
  • Die Verwandtschaftsabteilungsoperation ist eine ein bisschen kompliziertere Operation, die mit im Wesentlichen dem Verwenden der Tupel einer Beziehung (die Dividende) verbunden ist, um eine zweite Beziehung (der Teiler) zu verteilen. Der Verwandtschaftsabteilungsmaschinenbediener ist effektiv das Gegenteil des kartesianischen Produktmaschinenbedieners (folglich der Name).

Andere Maschinenbediener sind vorgestellt oder seit der Einführung von Codd der ursprünglichen acht einschließlich Verwandtschaftsvergleich-Maschinenbediener und Erweiterungen vorgeschlagen worden, die Unterstützung für nistende und hierarchische Daten, unter anderen anbieten.

Normalisierung

Normalisierung wurde zuerst von Codd als ein integraler Bestandteil des Verwandtschaftsmodells vorgeschlagen. Es umfasst eine Reihe von Verfahren, die entworfen ist, um nichteinfache Gebiete (Nichtatomwerte) und die Überfülle (Verdoppelung) von Daten zu beseitigen, die der Reihe nach Datenmanipulationsanomalien und Verlust der Datenintegrität verhindert. Die meisten Standardformen der auf Datenbanken angewandten Normalisierung werden die normalen Formen genannt. Normalisierungshandel, der Überfülle für das vergrößerte Informationswärmegewicht reduziert. Normalisierung wird kritisiert, weil sie Kompliziertheit und Verarbeitung vergrößert, die oben erforderlich ist, um sich dem vielfachen Tabellendarstellen anzuschließen, was begrifflich ein einzelner Artikel ist.

Verwandtschaftsdatenbankverwaltungssysteme

Verwandtschaftsdatenbanken, wie durchgeführt, in Verwandtschaftsdatenbankverwaltungssystemen, sind eine vorherrschende Wahl für die Lagerung der Information in neuen für Finanzaufzeichnungen verwendeten Datenbanken geworden, verfertigend und logistische Information, Personaldaten und viel mehr. Verwandtschaftsdatenbanken haben häufig Vermächtnis hierarchische Datenbanken und Netzdatenbanken ersetzt, weil sie leichter sind, zu verstehen und zu verwenden, wenn auch sie viel weniger effizient sind. Da Computermacht zugenommen hat, ist die Wirkungslosigkeit von Verwandtschaftsdatenbanken, die sie unpraktisch in früheren Zeiten gemacht haben, durch ihre Bequemlichkeit des Gebrauches überwogen worden. Jedoch sind Verwandtschaftsdatenbanken durch Gegenstand-Datenbanken herausgefordert worden, die in einem Versuch eingeführt wurden, die mit dem Gegenstandverwandtschaftsscheinwiderstand-Fehlanpassung in der Verwandtschaftsdatenbank und den XML Datenbanken zu richten.

Die drei kommerziellen Hauptverwandtschaftsdatenbankverkäufer sind Orakel, Microsoft und IBM. Die drei offenen Hauptquelldurchführungen sind MySQL, PostgreSQL und SQLite. Der Amazonas Verwandtschaftsdatenbankdienst ist eine Datenbank als ein Dienstangebot MySQL und Orakel-Datenbankmotoren.

Für Verwandtschaftsdatenbanken mit Wasserzeichen versehend

Für Verwandtschaftsdatenbanken digital mit Wasserzeichen zu versehen, ist als eine Kandidat-Lösung erschienen, Urheberschutz, Stampfer-Entdeckung, Verräter zur Verfügung zu stellen, der verfolgt, Integrität von Verwandtschaftsdaten aufrechterhaltend. Viele mit Wasserzeichen versehende Techniken sind in der Literatur vorgeschlagen worden, um diese Zwecke zu richten.

Referenzen

  • Raju Halder, Shantanu Pal und Agostino Cortesi (2010). "Techniken für Verwandtschaftsdatenbanken mit Wasserzeichen versehend: Überblick, Klassifikation und Vergleich", Die Zeitschrift der Universalen Informatik, vol 16 (21), Seiten 3164-3190, 2010.

Source is a modification of the Wikipedia article Relational database, licensed under CC-BY-SA. Full list of contributors here.
Codewiederfactoring / Regierung des Heiligen Benedict
Impressum & Datenschutz