Différence entre schéma / firebase database dans MySQL

Existe-t-il une différence entre un schéma et une firebase database dans MySQL? Dans SQL Server, une firebase database est un conteneur de niveau supérieur par rapport à un schéma.

J’ai lu que Create Schema et Create Database font essentiellement la même chose dans MySQL, ce qui m’amène à penser que les schémas et les bases de données sont des mots différents pour les mêmes objects.

Comme défini dans le glossaire MySQL :

Dans MySQL, physiquement, un schéma est synonyme de firebase database . Vous pouvez remplacer le mot-clé SCHEMA au lieu de DATABASE dans la syntaxe SQL SQL, par exemple en utilisant CREATE SCHEMA au lieu de CREATE DATABASE .

Certains autres produits de firebase database font la distinction. Par exemple, dans le produit Oracle Database, un schéma ne représente qu’une partie d’une firebase database: les tables et autres objects appartenant à un seul utilisateur.

Dépend du serveur de firebase database. MySQL s’en moque, c’est fondamentalement la même chose.

Oracle , DB2 et d’autres solutions de firebase database au niveau de l’entreprise se distinguent. Un schéma est généralement une collection de tables et une firebase database est une collection de schémas.

Référence à la documentation MySQL,

CREATE DATABASE crée une firebase database avec le nom donné. Pour utiliser cette instruction, vous devez disposer du privilège CREATE pour la firebase database. CREATE SCHEMA est un synonyme de CREATE DATABASE à partir de MySQL 5.0.2.

PostgreSQL supporte les schémas, qui sont un sous-ensemble d’une firebase database: https://www.postgresql.org/docs/current/static/ddl-schemas.html

Une firebase database contient un ou plusieurs schémas nommés, qui contiennent à leur tour des tables. Les schémas contiennent également d’autres types d’objects nommés, y compris des types de données, des fonctions et des opérateurs. Le même nom d’object peut être utilisé dans différents schémas sans conflit; Par exemple, schema1 et myschema peuvent contenir des tables nommées mytable. Contrairement aux bases de données, les schémas ne sont pas rigoureusement séparés: un utilisateur peut accéder aux objects de tous les schémas de la firebase database à laquelle ils sont connectés, s’ils en ont les privilèges.

Les schémas sont analogues aux répertoires au niveau du système d’exploitation, sauf que les schémas ne peuvent pas être nesteds.

À mon humble avis, MySQL n’est pas une firebase database de référence. Vous ne devriez jamais citer MySQL pour une explication. MySQL implémente des SQL non standard et revendique parfois des fonctionnalités non sockets en charge. Par exemple, dans MySQL, le schéma CREATE créera uniquement une firebase database. C’est vraiment tromper les utilisateurs.

Ce type de vocabulaire est appelé “MySQLism” par les DBA.

Oui, les gens utilisent ces termes de manière interchangeable avec MySQL. Bien que vous entendiez souvent les gens appeler de manière inappropriée le serveur de firebase database entier en tant que firebase database.

Microsoft SQL Server, par exemple, les schémas font référence à un seul utilisateur et constituent un autre niveau d’un conteneur dans l’ordre d’indiquer le serveur, la firebase database, le schéma, les tables et les objects.

Par exemple, lorsque vous avez l’intention de mettre à jour dbo.table_a et que la syntaxe n’est pas entièrement qualifiée telle que la table UPDATE.a, le SGBD ne peut pas décider d’utiliser la table souhaitée. Essentiellement par défaut, le SGBD utilisera myuser.table_a

dans le schéma MySQL est synonyme de base de données . C’est assez déroutant pour les débutants qui sautent sur MySQL et dès le premier jour trouvent le mot schéma , donc les gars n’ont rien à craindre car les deux sont les mêmes.

Lorsque vous démarrez MySQL pour la première fois, vous devez créer une firebase database (comme tout autre système de firebase database) pour pouvoir créer CREATE SCHEMA, qui n’est autre que CREATE DATABASE.

Dans un autre système de firebase database, le schéma représente une partie de la firebase database ou une collection de tables, et la collecte de schéma est une firebase database.