Estrictamente hablando, la diferencia entre la base de datos y esquema se inexisting en MySQL.
Sin embargo, este no es el caso en otros motores de base de datos como SQL Server. En el servidor SQL :,
Cada tabla pertenece a una agrupación de objetos en la base de datos denominado esquema de base de datos . Es un contenedor o espacio de nombres (Querying Microsoft SQL Server 2012)
Por defecto, todas las tablas de SQL Server pertenecen a un esquema predeterminado denominado DBO. Cuando se consulta una tabla que no ha sido asignado a ningún esquema particular, puede hacer algo como:
SELECT *
FROM your_table
lo que equivale a:
SELECT *
FROM dbo.your_table
Ahora, SQL Server permite la creación de diferentes esquema, que le da 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 denominado ventas, con mesas como facturas, creditorders (y cualquier otra relacionada con las ventas), y otro esquema denominado de búsqueda, con mesas como países, monedas, tipos de suscripción (y cualquier otra tabla utilizada como tabla de consulta).
Las tablas asignadas a un dominio específico se muestran en SQL Server Studio Manager con el nombre de esquema antepuesto al nombre de la tabla (exactamente igual que las tablas que pertenecen al esquema predeterminado dbo).
Existen esquemas especiales en SQL Server. Para citar el mismo libro:
Existen varios esquemas de bases de datos integradas, y no se puede quitar o alterado:
1) DBO, el esquema predeterminado.
2) huésped contiene objetos disponibles para un usuario huésped ("usuario invitado" es un papel especial en la jerga de SQL Server, con algún defecto y permisos altamente restringido). Raramente usado.
3) INFORMATION_SCHEMA, utilizado por el esquema Información Visto
4) sys, reservado para uso interno de SQL Server exclusivamente
esquemas no son sólo para la agrupación. En realidad, es posible otorgar diferentes permisos para cada esquema a diferentes usuarios, como se describe en MSDN.
Haciendo esta manera, el esquema de búsqueda mencionado anteriormente podría hacerse disponible para cualquier usuario estándar en la base de datos (por ejemplo, sólo SELECT
permisos), mientras que una tabla llamada supplierbankaccountdetails pueden ser asignados en un esquema diferente llamado financiera, y para dar acceso únicamente a los usuarios en el grupo accounts
(solo un ejemplo, se entiende la idea).
Por último, y citando el mismo libro de nuevo:
No es el mismo esquema de base de datos y esquematabla. El primero es el espacio de nombre de una tabla, mientras que el último hace referencia a la definición de tabla
¡Excelente! Supuse que el esquema es parte de una instancia de la Base de datos. ¡¡Muchas gracias!! – asgs