Saltar al contenido

MySQL ‘crear esquema’ y ‘crear base de datos’ – ¿Hay alguna diferencia?

Deseamos compartir contigo la mejor información que hemos encontrado por todo internet. Esperamos que te sea de ayuda y si deseas compartir cualquier detalle que nos pueda ayudar a crecer puedes hacerlo..

Solución:

La documentación de MySQL dice:

CREATE DATABASE crea una base de datos con el nombre dado. Para usar esta declaración, necesita el privilegio CREAR para la base de datos. CREATE SCHEMA es un sinónimo de CREATE DATABASE a partir de MySQL 5.0.2.

Entonces, parece normal que esas dos instrucciones hagan lo mismo.

La documentación de Mysql dice: CREAR ESQUEMA es sinónimo de CREAR BASE DE DATOS a partir de MySQL 5.0.2.


todo esto se remonta a un estándar ANSI para SQL a mediados de los años 80.

Ese estándar tenía un comando “CREATE SCHEMA” y sirvió para introducir múltiples espacios de nombres para nombres de tablas y vistas. Todas las tablas y vistas se crearon dentro de un “esquema”. No sé si esa versión definió algún acceso entre esquemas a tablas y vistas, pero supongo que sí. AFAIR, ningún producto (al menos en ese entonces) realmente lo implementó, todo ese concepto era más teoría que práctica.

OTOH, ISTR esta versión del estándar no tenía el concepto de un “usuario” o un comando “CREATE USER”, por lo que había productos que usaban el concepto de un “usuario” (que luego tenía su propio espacio de nombres para tablas y vistas) para implementar su equivalente de “esquema”.

Esta es un área donde los sistemas difieren.

En lo que a administración se refiere, esto no debería importar demasiado, porque aquí tienes diferencias de todos modos.

En lo que respecta al código de la aplicación, “solo” debe preocuparse por los casos en los que una aplicación accede a tablas desde múltiples espacios de nombres. AFAIK, todos los sistemas admiten una sintaxis “.”, y para esto no debería importar si el espacio de nombres es el de un usuario, un “esquema” o una “base de datos”.

En rigor, la diferencia entre Base de datos y Esquema es inexistente en MySql.

Sin embargo, este no es el caso en otros motores de bases de datos como SQL Server. En el servidor SQL:,

Cada tabla pertenece a una agrupación de objetos en la base de datos llamada esquema de base de datos. Es un contenedor o espacio de nombres (Querying Microsoft SQL Server 2012)

Por defecto, todas las tablas en SQL Server pertenecen a un esquema predeterminado llamado dbo. Cuando consulta una tabla que no se ha asignado a ningún esquema en particular, puede hacer algo como:

SELECT *
FROM your_table

que es equivalente a:

SELECT *
FROM dbo.your_table

Ahora, el servidor SQL permite la creación de diferentes esquemas, lo que le brinda la posibilidad de agrupar tablas que comparten un propósito similar. Eso ayuda a organizar la base de datos.

Por ejemplo, puede crear un esquema llamado Ventascon tablas como facturas, ordenes de credito (y cualquier otro relacionado con las ventas), y otro esquema llamado buscarcon tablas como los paises, monedas, tipos de suscripción (y cualquier otra tabla utilizada como tabla de consulta).

Las tablas que se asignan a un dominio específico se muestran en SQL Server Studio Manager con el nombre del esquema antepuesto al nombre de la tabla (exactamente igual que las tablas que pertenecen al dominio predeterminado). dbo esquema).

Hay esquemas especiales en SQL Server. Para citar el mismo libro:

Hay varios esquemas de base de datos incorporados y no se pueden eliminar ni modificar:

1) dboel esquema predeterminado.

2) huésped contiene objetos disponibles para un usuario invitado (“usuario invitado” es un rol especial en la jerga de SQL Server, con algunos permisos predeterminados y altamente restringidos). Raramente usado.

3) INFORMACIÓN_ESQUEMAutilizado por las vistas de esquema de información

4) sistemareservado para uso interno de SQL Server exclusivamente

Los esquemas no son solo para agrupar. De hecho, es posible otorgar diferentes permisos para cada esquema a diferentes usuarios, como se describe en MSDN.

De esta manera, el esquema buscar mencionado anteriormente podría ponerse a disposición de cualquier usuario estándar en la base de datos (por ejemplo, SELECT permisos solamente), mientras que una tabla llamada detalles de la cuenta bancaria del proveedor pueden ser asignados en un esquema diferente llamado financieroy para dar acceso solo a los usuarios del grupo accounts (sólo un ejemplo, usted consigue la idea).

Finalmente, y citando de nuevo el mismo libro:

no es lo mismo Esquema de base de datos y Esquema de tabla. El primero es el espacio de nombres de una tabla, mientras que el segundo se refiere a la definición de la tabla.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *