Ein objektorientiertes Datenbanksystem (OODBMS) ist ein Datenbanksystem, das die Prinzipien der objektorientierten Programmierung (OOP) mit den Funktionalitäten einer Datenbank kombiniert. Es ermöglicht das Speichern, Abrufen und Verwalten von Daten in Form von Objekten, wie sie in objektorientierten Programmiersprachen (z. B. Java, Python oder C++) definiert werden.
Objektmodell:
Klassen und Vererbung:
Kapselung:
Persistenz:
Identität:
Komplexe Datentypen:
Objektorientierte Datenbanken sind besonders nützlich, wenn es darum geht, mit komplexen, hierarchischen oder verschachtelten Datenstrukturen zu arbeiten, wie sie in vielen modernen Softwareprojekten vorkommen.
Object Query Language (OQL) ist eine Abfragesprache, die ähnlich wie SQL (Structured Query Language) funktioniert, aber speziell für objektorientierte Datenbanken entwickelt wurde. Sie wird verwendet, um Daten aus objektorientierten Datenbanksystemen (OODBs) abzufragen, die Daten als Objekte speichern. OQL wurde als Teil des Object Data Management Group (ODMG)-Standards definiert.
Objektorientierte Ausrichtung:
Ähnlichkeit mit SQL:
Abfragen von komplexen Objekten:
Unterstützung für Methoden:
Kompatibilität mit objektorientierten Programmiersprachen:
Angenommen, es gibt eine Datenbank mit einer Klasse Person
mit den Attributen Name
und Age
. Eine OQL-Abfrage könnte wie folgt aussehen:
SELECT p.Name
FROM Person p
WHERE p.Age > 30
Diese Abfrage gibt die Namen aller Personen zurück, deren Alter größer als 30 ist.
In der Praxis ist OQL weniger populär als SQL, da relationale Datenbanken nach wie vor weit verbreitet sind. Allerdings ist OQL in spezialisierten Anwendungen, die objektorientierte Datenmodelle nutzen, sehr leistungsfähig.
Die Data Definition Language (DDL) ist ein Bestandteil von SQL (Structured Query Language) und umfasst Befehle, die zur Definition und Verwaltung der Struktur einer Datenbank verwendet werden. DDL-Befehle ändern die Metadaten einer Datenbank, also Informationen über Tabellen, Indizes, Schemata und andere Datenbankobjekte, anstatt die eigentlichen Daten zu manipulieren.
1. CREATE
Wird verwendet, um neue Datenbankobjekte wie Tabellen, Schemata, Views oder Indizes zu erstellen.
Beispiel:
CREATE TABLE Kunden (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Alter INT
);
2. ALTER
Dient zur Änderung der Struktur von existierenden Objekten, z. B. Hinzufügen oder Entfernen von Spalten.
Beispiel:
ALTER TABLE Kunden ADD Email VARCHAR(100);
3. DROP
Entfernt ein Datenbankobjekt (z. B. eine Tabelle) dauerhaft.
Beispiel:
DROP TABLE Kunden;
4. TRUNCATE
Löscht alle Daten aus einer Tabelle, behält jedoch die Struktur der Tabelle bei. Es ist schneller als ein DELETE
, da keine Transaktionsprotokolle erstellt werden.
Beispiel:
TRUNCATE TABLE Kunden;
DDL ist essenziell für das Design und die Verwaltung einer Datenbank und wird meist zu Beginn eines Projekts oder bei strukturellen Änderungen verwendet.