Deshawn
Eine Sammlung zusammenhängender Daten zusammen mit einer Reihe von Programmen für den Zugriff auf die Daten, auch Datenbanksystem oder einfach Datenbank genannt. Das Hauptziel eines solchen Systems besteht darin, eine Umgebung bereitzustellen, die sowohl bequem als auch effizient beim Abrufen und Speichern von Informationen zu verwenden ist.
Ein Datenbankmanagementsystem (DBMS) ist darauf ausgelegt, eine große Menge an Informationen zu verwalten. Die Datenverwaltung beinhaltet sowohl das Definieren von Strukturen zum Speichern von Informationen als auch das Bereitstellen von Mechanismen zum Manipulieren der Informationen. Darüber hinaus muss das Datenbanksystem die Sicherheit der gespeicherten Informationen trotz Systemabstürze oder unberechtigter Zugriffsversuche gewährleisten. Wenn Daten von mehreren Benutzern gemeinsam genutzt werden sollen, muss das System mögliche anomale Ergebnisse aufgrund des gleichzeitigen Zugriffs mehrerer Benutzer auf dieselben Daten vermeiden.
Beispiele für die Verwendung von Datenbanksystemen umfassen Fluglinienreservierungssysteme, Gehaltsabrechnungs- und Mitarbeiterinformationssysteme von Unternehmen, Banksysteme, Kreditkartenverarbeitungssysteme und Verkaufs- und Auftragsverfolgungssysteme.
Ein Hauptzweck eines Datenbanksystems besteht darin, Benutzern eine abstrakte Sicht auf die Daten zu bieten. Das heißt, das System verbirgt bestimmte Details darüber, wie die Daten gespeichert und gepflegt werden. Dadurch können Daten in komplexen Datenstrukturen gespeichert werden, die ein effizientes Abrufen ermöglichen, während der Benutzer eine vereinfachte und benutzerfreundliche Ansicht der Daten erhält. Die unterste Abstraktionsebene, die physikalische Ebene, beschreibt, wie die Daten tatsächlich gespeichert werden und detailliert die Datenstrukturen. Die nächsthöhere Abstraktionsebene, die logische Ebene, beschreibt, welche Daten gespeichert werden und welche Beziehungen zwischen diesen Daten bestehen. Die höchste Abstraktionsebene, die View-Ebene, beschreibt Teile der Datenbank, die für jeden Benutzer relevant sind; Anwendungsprogramme, die für den Zugriff auf eine Datenbank verwendet werden, sind Teil der Ansichtsebene.
Die Gesamtstruktur der Datenbank wird als Datenbankschema bezeichnet. Das Schema spezifiziert Daten, Datenbeziehungen, Datensemantik und Konsistenzbeschränkungen für die Daten.
Der Struktur einer Datenbank liegt das logische Datenmodell zugrunde: Eine Sammlung konzeptioneller Werkzeuge zur Beschreibung des Schemas.
Das Entity-Relationship-Datenmodell basiert auf einer Sammlung von Basisobjekten, die Entitäten genannt werden, und von Beziehungen zwischen diesen Objekten. Eine Entität ist ein „Ding“ oder „Objekt“ in der realen Welt, das von anderen Objekten unterscheidbar ist. Beispielsweise ist jede Person eine Entität, und Bankkonten können als Entitäten betrachtet werden. Entitäten werden in einer Datenbank durch einen Satz von Attributen beschrieben. Beispielsweise beschreiben die Attribute Kontonummer und Saldo ein bestimmtes Konto bei einer Bank. Eine Beziehung ist eine Verbindung zwischen mehreren Entitäten. Beispielsweise verknüpft eine Einlegerbeziehung einen Kunden mit jedem seiner Konten. Die Menge aller Entitäten des gleichen Typs und die Menge aller Beziehungen des gleichen Typs werden als Entitätsmenge bzw. Beziehungsmenge bezeichnet.
Wie das Entity-Relationship-Modell basiert das objektorientierte Modell auf einer Sammlung von Objekten. Ein Objekt enthält Werte, die in Instanzvariablen innerhalb des Objekts gespeichert sind. Ein Objekt enthält auch Codekörper, die mit dem Objekt arbeiten. Diese Codekörper werden Methoden genannt. Die einzige Möglichkeit, auf die ein Objekt auf die Daten eines anderen Objekts zugreifen kann, besteht darin, eine Methode dieses anderen Objekts aufzurufen. Diese Aktion wird als Senden einer Nachricht an das Objekt bezeichnet. Somit definiert die Aufrufschnittstelle der Methoden eines Objekts den von außen sichtbaren Teil dieses Objekts. Der interne Teil des Objekts – die Instanzvariablen und der Methodencode – sind nach außen nicht sichtbar. Das Ergebnis sind zwei Ebenen der Datenabstraktion, die wichtig sind, um interne Details von Objekten wegzuabstrahieren (zu verbergen).Objektorientierte Datenmodelle stellen auch Objektreferenzen bereit, die verwendet werden können, um Objekte zu identifizieren (auf sie zu verweisen).
In datensatzbasierten Modellen ist die Datenbank in Datensätze mit festem Format verschiedener Typen strukturiert. Jeder Datensatz hat einen festen Satz von Feldern. Die drei am weitesten verbreiteten datensatzbasierten Datenmodelle sind das relationale, das Netzwerk- und das hierarchische Modell. Die beiden letztgenannten waren einst weit verbreitet, sind aber von abnehmender Bedeutung. Das relationale Modell wird sehr häufig verwendet. Datenbanken, die auf dem relationalen Modell basieren, werden als relationale Datenbanken bezeichnet.
Das relationale Modell verwendet eine Sammlung von Tabellen (sogenannte Beziehungen), um sowohl Daten als auch die Beziehungen zwischen diesen Daten darzustellen. Jede Tabelle hat mehrere Spalten und jede Spalte hat einen eindeutigen Namen. Jede Zeile der Tabelle wird als Tupel bezeichnet, und jede Spalte repräsentiert den Wert eines Attributs des Tupels.
Die Größe einer Datenbank kann stark variieren, von wenigen Megabyte für persönliche Datenbanken bis hin zu Gigabyte (ein Gigabyte entspricht 1000 Megabyte) oder sogar Terabyte (ein Terabyte entspricht 1000 Gigabyte) für große Unternehmensdatenbanken.
Die Informationen in einer Datenbank werden auf einem nichtflüchtigen Medium gespeichert, das große Datenmengen aufnehmen kann; die am häufigsten verwendeten Medien sind Magnetplatten. Magnetplatten können deutlich größere Datenmengen speichern als Hauptspeicher, und das zu viel geringeren Kosten pro Dateneinheit.
Um die Zuverlässigkeit in geschäftskritischen Systemen zu verbessern, können Festplatten in Strukturen organisiert werden, die im Allgemeinen als redundante Arrays unabhängiger Festplatten (RAID) bezeichnet werden. In einem RAID-System werden Daten mit einem gewissen Maß an Redundanz (wie Replikation) auf mehreren Festplatten organisiert. Selbst wenn eine der Platten im RAID-System beschädigt werden und Daten verlieren sollte, können die verlorenen Daten von den anderen Platten im RAID-System rekonstruiert werden. Siehe Computerspeichertechnologie
Logischerweise sind Daten in einer relationalen Datenbank als eine Reihe von Beziehungen organisiert, wobei jede Beziehung aus einer Reihe von Datensätzen besteht. Dies ist die Ansicht für Datenbankbenutzer. Die zugrunde liegende Implementierung auf der Festplatte (für den Benutzer verborgen) besteht aus einer Reihe von Dateien. Jede Datei besteht aus einer Reihe von Plattenspeicherteilen fester Größe, die als Blöcke bezeichnet werden. Datensätze einer Relation werden innerhalb von Blöcken gespeichert. Jede Relation ist mit einer oder mehreren Dateien verknüpft. Im Allgemeinen enthält eine Datei Datensätze aus nur einer Beziehung, aber Organisationen, in denen eine Datei Datensätze aus mehr als einer Beziehung enthält, werden auch aus Leistungsgründen verwendet.
Eine Möglichkeit, einen gewünschten Datensatz in einer relationalen Datenbank abzurufen, besteht darin, die entsprechende Beziehung zu scannen; ein Scan holt alle Datensätze aus der Relation, einen nach dem anderen.
Der Zugriff auf gewünschte Datensätze aus einer großen Relation unter Verwendung eines Scans der Relation kann sehr teuer sein. Indizes sind Datenstrukturen, die einen effizienteren Zugriff auf Datensätze ermöglichen. Ein Index basiert auf einem oder mehreren Attributen einer Beziehung; solche Attribute bilden den Suchschlüssel. Mit einem Wert für jedes der Suchschlüsselattribute kann die Indexstruktur verwendet werden, um Datensätze mit den angegebenen Suchschlüsselwerten schnell abzurufen. Indizes können auch andere Operationen unterstützen, z. B. das Abrufen aller Datensätze, deren Suchschlüsselwerte in einen angegebenen Wertebereich fallen.
Ein Datenbankschema wird durch einen Satz von Definitionen spezifiziert, die durch eine Datendefinitionssprache ausgedrückt werden. Das Ergebnis der Ausführung von Datendefinitionssprachenanweisungen ist ein Satz von Informationen, der in einer speziellen Datei gespeichert ist, die als Datenwörterbuch bezeichnet wird. Das Datenwörterbuch enthält Metadaten, d. h. Daten zu Daten. Diese Datei wird konsultiert, bevor tatsächliche Daten im Datenbanksystem gelesen oder geändert werden. Die Datendefinitionssprache wird auch verwendet, um Speicherstrukturen und Zugriffsmethoden zu spezifizieren.
Datenmanipulation ist das Abrufen, Einfügen, Löschen und Ändern von in der Datenbank gespeicherten Informationen. Eine Datenmanipulationssprache ermöglicht Benutzern den Zugriff auf oder die Manipulation von Daten, wie sie durch das entsprechende Datenmodell organisiert sind. Grundsätzlich gibt es zwei Arten von Datenmanipulationssprachen: Prozedurale Datenmanipulationssprachen erfordern, dass ein Benutzer angibt, welche Daten benötigt werden und wie man diese Daten erhält; Nichtprozedurale Datenmanipulationssprachen erfordern, dass ein Benutzer die benötigten Daten angibt, ohne anzugeben, wie diese Daten abgerufen werden.
Eine Abfrage ist eine Anweisung, die den Abruf von Informationen anfordert. Der Teil einer Datenbearbeitungssprache, der das Abrufen von Informationen beinhaltet, wird als Abfragesprache bezeichnet. Obwohl technisch nicht korrekt, ist es üblich, die Begriffe Abfragesprache und Datenbearbeitungssprache synonym zu verwenden.
Datenbanksprachen unterstützen sowohl Datendefinitions- als auch Datenbearbeitungsfunktionen. Obwohl viele Datenbanksprachen vorgeschlagen und implementiert wurden, hat sich SQL zu einer Standardsprache entwickelt, die von den meisten relationalen Datenbanksystemen unterstützt wird. Datenbanken, die auf dem objektorientierten Modell basieren, unterstützen auch deklarative Abfragesprachen, die SQL ähnlich sind.
SQL bietet eine vollständige Datendefinitionssprache, einschließlich der Möglichkeit, Beziehungen mit bestimmten Attributtypen zu erstellen und Integritätseinschränkungen für die Daten zu definieren.
Query By Example (QBE) ist eine grafische Sprache zum Angeben von Abfragen. Es wird häufig in persönlichen Datenbanksystemen verwendet, da es für unerfahrene Benutzer viel einfacher als SQL ist.
Formularschnittstellen bieten eine Bildschirmansicht, die wie ein Formular aussieht, mit Feldern, die von Benutzern ausgefüllt werden müssen. Einige der Felder können vom Formularsystem automatisch ausgefüllt werden. Berichtsautoren ermöglichen die Definition von Berichtsformaten zusammen mit Abfragen zum Abrufen von Daten aus der Datenbank; die Ergebnisse der Abfragen werden im Bericht formatiert dargestellt. Diese Tools stellen praktisch eine neue Sprache zum Erstellen von Datenbankschnittstellen bereit und werden oft als Sprachen der vierten Generation (4GLs) bezeichnet. Siehe Interaktion zwischen Mensch und Computer
Häufig bilden mehrere Operationen in der Datenbank eine einzige logische Arbeitseinheit, die als Transaktion bezeichnet wird. Ein Beispiel für eine Transaktion ist die Überweisung von Geldern von einem Konto auf ein anderes. Transaktionen in Datenbanken spiegeln die entsprechenden Transaktionen in der kommerziellen Welt wider.
Traditionell wurden Datenbanksysteme entwickelt, um kommerzielle Daten zu unterstützen, die hauptsächlich aus strukturierten alphanumerischen Daten bestehen. In den letzten Jahren haben Datenbanksysteme Unterstützung für eine Reihe nicht traditioneller Datentypen wie Textdokumente, Bilder und Karten und andere räumliche Daten hinzugefügt. Ziel ist es, Datenbanken zu universellen Servern zu machen, die alle Arten von Daten speichern können. Anstatt alle derartigen Datentypen in die Kerndatenbank aufzunehmen, bieten Anbieter Zusatzpakete an, die in die Datenbank integriert werden, um solche Funktionen bereitzustellen.
Heidi
Zugriff Untersuchen Sie eine Reihe von Problemen, die für Datenbankumgebungen wichtig sind, wie z. B. der Endbenutzer, die Verwendung auf verschiedenen Plattformen und die Kompatibilität?
Dexter
DBMS kann sowohl für den kommerziellen als auch für den nichtkommerziellen Bereich verwendet werden, nur weil jeder die Daten in der einen oder anderen Form speichern möchte. Wenn es sich um RDBMS handelt, ist es einfacher, die Daten besser abzurufen.