Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Schemadefinitionen von DBMS

Verschiedene Datenbankverwaltungssysteme definieren Schema auf ihre eigene Art. Dadurch kann es für Datenbankentwickler schwierig werden, genau herauszufinden, was ein Schema ist – insbesondere beim Wechseln zwischen verschiedenen DBMS.

Dieser Artikel enthält Definitionen, die von den drei führenden Datenbanksystemen verwendet werden.

 MySQL

Die MySQL-Dokumentation definiert ein Schema sowohl aus konzeptioneller als auch aus physikalischer Sicht.

Konzeptionell

Konzeptionell ist ein Schema eine Menge zusammenhängender Datenbankobjekte wie Tabellen, Tabellenspalten, Datentypen der Spalten, Indizes, Fremdschlüssel usw. Diese Objekte sind durch die SQL-Syntax verbunden, da die Spalten die Tabellen bilden, die Fremdschlüssel auf Tabellen und Spalten verweisen und so weiter. Idealerweise sind sie auch logisch verbunden und arbeiten als Teil einer einheitlichen Anwendung oder eines flexiblen Frameworks zusammen. Zum Beispiel das information_schema und performance_schema Datenbanken verwenden „Schema“ in ihren Namen, um die engen Beziehungen zwischen den Tabellen und Spalten, die sie enthalten, hervorzuheben.

Physisch

Anschließend wird darauf hingewiesen, dass es aus physikalischer Sicht keine Unterscheidung zwischen Schemas und Datenbanken gibt:

In MySQL physisch ein Schema ist gleichbedeutend mit einer Datenbank . Sie können das Schlüsselwort SCHEMA ersetzen statt DATABASE in MySQL SQL-Syntax, zum Beispiel mit CREATE SCHEMA statt CREATE DATABASE .

Quelle:"MySQL-Glossar". MySQL 5.7 Referenzhandbuch. MySQL. Abgerufen am 6. Juni 2016.

SQL-Server

Glossar

Datenbankschema

Die Namen von Tabellen, Feldern, Datentypen sowie Primär- und Fremdschlüsseln einer Datenbank.

Quelle:"Glossar". Technische Dokumentation zu SQL Server 2016. Microsoft-Entwicklernetzwerk. Abgerufen am 6. Juni 2016.

Technischer Artikel zu SQL Server

Dieser Artikel über Datenbankobjektschemas unterscheidet ausdrücklich zwischen einem Datenbankbenutzer und einem Schema (dies steht im Gegensatz dazu, wie Oracle Schemas definiert – unten).

Ein Schema ist ein eindeutiger Namensraum, um die Trennung, Verwaltung und den Besitz von Datenbankobjekten zu erleichtern.

und

Ein Objekt, das einem Datenbankbenutzer gehört, ist nicht mehr an diesen Benutzer gebunden. Das Objekt gehört nun zu einem Schema – einem Container, der viele Datenbankobjekte enthalten kann.

und

Diese Trennung bedeutet, dass Objekte und Schemas erstellt werden können, bevor Benutzer zur Datenbank hinzugefügt werden. Es bedeutet auch, dass ein Benutzer gelöscht werden kann, ohne dass die Objekte, die diesem Benutzer gehören, ausdrücklich gelöscht werden.

Quelle:„Best Practices für SQL Server – Implementierung von Datenbankobjektschemas“. Microsoft TechNet-Artikel. Veröffentlicht:November 2008. Abgerufen am 6. Juni 2016.

Oracle-Datenbank

Das Schemasystem von Oracle Database unterscheidet sich deutlich von den anderen Systemen. Das Schema von Oracle ist stark an den Datenbankbenutzer gebunden.

Ein Schema ist eine Sammlung logischer Datenstrukturen oder Schemaobjekte. Ein Schema gehört einem Datenbankbenutzer und hat denselben Namen wie dieser Benutzer. Jeder Benutzer besitzt ein einzelnes Schema.

Oracle unterscheidet zwischen Schema-Objekten und Nicht-Schema-Objekte . Mit anderen Worten, einige Datenbankobjekte können nicht in ein Schema aufgenommen werden.

Schema-Objekte

In Oracle Database Schemaobjekte schließen Sie Folgendes ein:

  • Cluster
  • Einschränkungen
  • Datenbanklinks
  • Datenbankauslöser
  • Abmessungen
  • Externe Prozedurbibliotheken
  • Index-organisierte Tabellen
  • Indizes
  • Indextypen
  • Java-Klassen, Java-Ressourcen, Java-Quellen
  • Materialisierte Aufrufe
  • Materialisierte Ansichtsprotokolle
  • Mining-Modelle
  • Objekttabellen
  • Objekttypen
  • Objektansichten
  • Operatoren
  • Pakete
  • Sequenzen
  • Gespeicherte Funktionen, gespeicherte Prozeduren
  • Synonyme
  • Tabellen
  • Aufrufe

Nicht-Schema-Objekte

In Oracle Database sind die folgenden Objekte Nicht-Schema-Objekte :

  • Kontexte
  • Verzeichnisse
  • Ausgaben
  • Punkte wiederherstellen
  • Rollen
  • Segmente zurücksetzen
  • Tablespaces
  • Benutzer

Quelle:"Datenbankobjekte". Oracle Database Online-Dokumentation 12c Release 1 (12.1). Oracle-Hilfezentrum. Abgerufen am 6. Juni 2016.