332 votes

Différence entre schéma / base de données dans MySQL

Existe-t-il une différence entre un schéma et une base de données dans MySQL? Dans SQL Server, une base de données 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 schémas et bases de données sont des mots différents pour les mêmes objets.

387voto

eggyal Points 60363

Tel que défini dans le MySQL Glossaire:

Dans MySQL, physiquement, un schéma est synonyme d'une base de données. Vous pouvez remplacer le mot-clé SCHEMA au lieu de DATABASE MySQL SQL syntaxe, par exemple à l'aide de CREATE SCHEMA au lieu de CREATE DATABASE.

Certains autres produits de base de données de distinction. Par exemple, dans la Base de données Oracle produit, un schéma ne représente qu'une partie d'une base de données: les tableaux et d'autres objets appartenant à un seul utilisateur.

76voto

user2631022 Points 61

Dépend du serveur de base de données ... MySQL ne s'en soucie pas ... c'est fondamentalement la même chose ... Oracle, DB2 et d'autres solutions de base de données d'entreprise font la distinction. Habituellement, un schéma est une collection de tables ... et une base de données est une collection de schémas ...

19voto

LolCoder Points 6386

En se référant à la documentation MySql ,

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

4voto

Mike Brant Points 39322

Oui, les gens utilisent ces termes indifféremment en ce qui concerne MySQL. Bien souvent, vous entendrez des personnes se référer de manière inappropriée à l'ensemble du serveur de base de données en tant que base de données.

0voto

EliD Points 1

Par exemple, dans Microsoft SQL Server, les schémas font référence à un utilisateur unique et constituent un autre niveau de conteneur dans l'ordre qui indique le serveur, la base de données, le schéma, les tables et les objets.

Par exemple, lorsque vous souhaitez mettre à jour dbo.table_a et que la syntaxe n'est pas qualifiée de manière complète, telle que UPDATE table.a, le SGBD ne peut pas décider d'utiliser la table souhaitée. Essentiellement, par défaut, le SGBD utilisera myuser.table_a

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X