usuarios una tipos tabla son sirven que para obtener objetos los esquemas esquema ejemplo datos cuales create consultar cambiar sql sql-server sql-server-2005 sql-server-2000

una - Esquema, propietario de objetos en MS SQL



para que sirven los esquemas en sql server (5)

De forma predeterminada, los objetos (tablas, procedimientos almacenados, etc.) se configuran con el propietario / esquema dbo (creo que ms sql 2000 lo llama propietario, mientras que ms sql 2005 lo llama esquema)

El propietario / esquema es realmente un rol o usuario en la base de datos. Siempre he dejado el valor predeterminado de dbo, pero recientemente he visto algunos ejemplos en libros de capacitación de Microsoft donde algunas de sus tablas y procedimientos almacenados tenían diferentes propietarios / esquemas. ¿Cuándo es beneficioso hacer esto y por qué?


El uso de esquemas es excepcionalmente beneficioso cuando tiene problemas de seguridad.

Si tiene varias aplicaciones que acceden a la base de datos, es posible que no desee dar acceso al departamento de Logística a los registros de Recursos Humanos. Por lo tanto, coloca todas sus tablas de Recursos Humanos en un esquema hr y solo permite el acceso a ellas para los usuarios en el rol hr.

Seis meses después, Logistics ahora necesita conocer las cuentas de gastos internos para poder enviar todas estas paletas de bolígrafos azules a las personas correctas. A continuación, puede crear un procedimiento almacenado que se ejecute como un usuario que tenga permiso para ver el esquema de hr, así como el esquema de logística. Los usuarios de Logistics nunca necesitan saber qué está pasando en Recursos Humanos y, sin embargo, aún obtienen sus datos.

También puede usar esquemas de la manera que sugirió cfeduke y simplemente usarlos para agrupar elementos en el navegador de objetos. Si está haciendo esto, solo tenga cuidado porque puede terminar creando Person.Address y Company.Address cuando realmente solo necesita un dbo.Address (no voy a llamar su ejemplo, cfeduke, solo lo uso para ilustrar que ambos las tablas de direcciones pueden ser iguales o pueden ser diferentes y ese YMMV).


En SQL 2000, los esquemas son equivalentes a los usuarios de bases de datos, en SQL 2005 cada esquema es un espacio de nombres distinto que existe independientemente del usuario de la base de datos que lo creó.

Utilizo esquemas cuando necesito crear funciones o módulos que luego serán utilizados en otros proyectos, por lo que podré aislar los objetos de la base de datos que utiliza el módulo.


Organización

En un entorno de desarrollo, la copia de producción de los objetos es dbo pero los desarrolladores pueden desarrollar en sus propios esquemas. Entonces el código puede hacer referencia a la copia prod o sus cambios de manera muy simple. Usar alias puede hacer que esta técnica sea aún más simple.

Además, una base de datos de producción podría admitir numerosos sistemas o subsistemas. Puede usar esquemas distintos para mantener esos objetos agrupados.


He usado esquemas en el pasado como espacios de nombres, por lo que podría tener varias entidades llamadas Dirección ( [Person].[Address] , [Company].[Address] ). La ventaja de esto es la organización visual en SQL Management Studio, puede obtener lo mismo al poner todo bajo un esquema y nombrar tablas con un único identificador (es decir, [dbo].[PersonAddress] ).

También los utilicé para el desarrollo entre desarrollador y desarrollador antes de ejecutar SQL Server Developer Edition en todas nuestras máquinas de desarrollo (cuando teníamos una base de datos de desarrollo centralizada anteriormente en mi carrera).