obtener - Diferencia entre esquema/base de datos en MySQL
obtener esquema de base de datos oracle (7)
¿Hay alguna diferencia entre un esquema y una base de datos en MySQL? En SQL Server, una base de datos es un contenedor de nivel superior en relación con un esquema.
Leí que Create Schema
y Create Database
hacen básicamente lo mismo en MySQL, lo que me lleva a creer que los esquemas y las bases de datos son palabras diferentes para los mismos objetos.
Como se define en el Glosario de MySQL :
En MySQL, físicamente, un esquema es sinónimo de una base de datos . Puede sustituir la palabra clave
SCHEMA
lugar deDATABASE
en la sintaxis de MySQL SQL, por ejemplo, utilizandoCREATE SCHEMA
lugar deCREATE DATABASE
.Algunos otros productos de base de datos hacen una distinción. Por ejemplo, en el producto Oracle Database, un esquema representa solo una parte de una base de datos: las tablas y otros objetos que son propiedad de un solo usuario.
Depende del servidor de la base de datos. MySQL
no le importa, es básicamente lo mismo.
Oracle
, DB2
y otras soluciones de base de datos de nivel empresarial hacen una distinción. Por lo general, un esquema es una colección de tablas y una base de datos es una colección de esquemas.
Haciendo referencia a la documentación de MySql,
CREATE DATABASE crea una base de datos con el nombre dado. Para usar esta declaración, necesita el privilegio CREATE para la base de datos. CREATE SCHEMA es un sinónimo de CREATE DATABASE a partir de MySQL 5.0.2.
Microsoft SQL Server, por ejemplo, los esquemas se refieren a un solo usuario y es otro nivel de un contenedor en el orden de indicar el servidor, la base de datos, el esquema, las tablas y los objetos.
Por ejemplo, cuando tiene la intención de actualizar dbo.table_a y la sintaxis no está totalmente calificada, como la tabla ACTUALIZAR.a, el DBMS no puede decidir usar la tabla deseada. Esencialmente, por defecto, el DBMS utilizará myuser.table_a
PostgreSQL admite esquemas, que es un subconjunto de una base de datos: https://www.postgresql.org/docs/current/static/ddl-schemas.html
Una base de datos contiene uno o más esquemas con nombre, que a su vez contienen tablas. Los esquemas también contienen otros tipos de objetos nombrados, incluidos tipos de datos, funciones y operadores. El mismo nombre de objeto se puede utilizar en diferentes esquemas sin conflicto; por ejemplo, tanto schema1 como myschema pueden contener tablas llamadas mytable. A diferencia de las bases de datos, los esquemas no están separados rígidamente: un usuario puede acceder a los objetos en cualquiera de los esquemas en la base de datos a la que están conectados, si tienen privilegios para hacerlo.
Los esquemas son análogos a los directorios en el nivel del sistema operativo, excepto que los esquemas no se pueden anidar.
En mi humilde opinión, MySQL no es una base de datos de referencia. Nunca debes citar MySQL para una explicación. MySQL implementa SQL no estándar y, a veces, reclama características que no admite. Por ejemplo, en MySQL, el esquema CREAR solo creará una BASE DE DATOS. Es realmente engañoso a los usuarios.
Este tipo de vocabulario se llama "MySQLism" por DBAs.
Sí, la gente usa estos términos indistintamente con respecto a MySQL. Aunque a menudo escuchará a personas referirse inapropiadamente a todo el servidor de la base de datos como la base de datos.
en el esquema de MySQL es sinónimo de base de datos . Es bastante confuso para las personas principiantes que saltan a MySQL y el primer día encuentran la palabra esquema , por lo que los chicos no tienen de qué preocuparse ya que ambos son iguales.
Cuando está iniciando MySQL por primera vez, necesita crear una base de datos (como cualquier otro sistema de base de datos) para trabajar, de modo que pueda CREAR SCHEMA, que no es más que CREAR BASE DE DATOS
En algún otro sistema de base de datos, el esquema representa una parte de la base de datos o una colección de tablas, y la colección de esquema es una base de datos.