Gibt es einen Unterschied zwischen einem Schema und einer Datenbank in MySQL? In SQL Server ist eine Datenbank ein Container höherer Ebene in Bezug auf ein Schema.
Ich lese das Create Schema
und Create Database
mache im Wesentlichen dasselbe in MySQL, was mich glauben lässt, dass Schemata und Datenbanken unterschiedliche Wörter für dieselben Objekte sind.
mysql
database
schema
database-schema
Lloyd Banks
quelle
quelle
schema
ist besser alsdatabase
, da MySQL eine Art Datenbank ist und mehrere enthältdatabase
, und manchmal auchuse
einedatabase
, was dazu führt, dass viele Suchanfragen das Ziel verfehlen.Antworten:
Wie im MySQL-Glossar definiert :
quelle
Hängt vom Datenbankserver ab.
MySQL
ist mir egal, es ist im Grunde das gleiche.Oracle
,,DB2
und andere Datenbanklösungen auf Unternehmensebene unterscheiden. Normalerweise ist ein Schema eine Sammlung von Tabellen und eine Datenbank ist eine Sammlung von Schemata.quelle
Oracle
undDB2
für diesen Fall.create database
undcreate schema
sind Synonyme). In Oracle ist Schema gleichbedeutend mit Benutzer (genauer gesagt ist Schema eine Liste aller unter einem Benutzer erstellten Objekte). MSSQL unterscheidet alle drei (und als Ergebnis muss beim Zugriff auf eine Tabelle aus einer anderen Datenbank der Name sowohl durch die Datenbank als auch durch das Schema qualifiziert werden, z. B.database1.dbo.table2
)Refering zu MySql Dokumentation ,
quelle
PostgreSQL unterstützt Schemas, eine Teilmenge einer Datenbank: https://www.postgresql.org/docs/current/static/ddl-schemas.html
Schemas sind analog zu Verzeichnissen auf Betriebssystemebene, außer dass Schemas nicht verschachtelt werden können.
Meiner bescheidenen Meinung nach ist MySQL keine Referenzdatenbank. Sie sollten MySQL niemals zur Erklärung zitieren. MySQL implementiert nicht standardmäßiges SQL und behauptet manchmal Funktionen, die es nicht unterstützt. In MySQL erstellt das CREATE-Schema beispielsweise nur eine DATABASE. Es ist wirklich irreführend Benutzer.
Diese Art von Vokabeln wird von DBAs "MySQLism" genannt.
quelle
im MySQL- Schema ist Synonym für Datenbank . Es ist ziemlich verwirrend für Anfänger, die zu MySQL springen und am ersten Tag das Wortschema finden , also keine Sorge, da beide gleich sind.
Wenn Sie MySQL zum ersten Mal starten, müssen Sie eine Datenbank (wie jedes andere Datenbanksystem) erstellen, mit der Sie arbeiten können, damit Sie SCHEMA ERSTELLEN können, das nichts anderes als CREATE DATABASE ist
In einigen anderen Datenbanksystemen stellt das Schema einen Teil der Datenbank oder eine Sammlung von Tabellen dar, und die Sammlung des Schemas ist eine Datenbank.
quelle
Ja, diese Begriffe werden in Bezug auf MySQL synonym verwendet. Oft werden Sie jedoch hören, dass Personen den gesamten Datenbankserver unangemessen als Datenbank bezeichnen.
quelle
Microsoft SQL Server-Schemas beziehen sich beispielsweise auf einen einzelnen Benutzer und sind eine weitere Ebene eines Containers in der Reihenfolge, in der Server, Datenbank, Schema, Tabellen und Objekte angegeben werden.
Wenn Sie beispielsweise dbo.table_a aktualisieren möchten und die Syntax nicht vollständig qualifiziert ist, z. B. UPDATE table.a, kann das DBMS nicht entscheiden, die beabsichtigte Tabelle zu verwenden. Im Wesentlichen verwendet das DBMS standardmäßig myuser.table_a
quelle