Al menos en mi instancia local, cuando creo tablas, todas tienen el prefijo "dbo.". ¿Porqué es eso?¿Por qué los nombres de tabla en SQL Server comienzan con "dbo"?
Respuesta
dbo es el esquema predeterminado en SQL Server. Puede crear sus propios esquemas para permitirle administrar mejor su espacio de nombres de objeto.
Como una buena práctica, siempre agrego el "dbo". prefijo aunque no es necesario. La mayor parte del tiempo en SQL es bueno ser explícito. – SurroundedByFish
@SurroundedByFish: Probablemente no sea una buena práctica, pero podría estar equivocado ya que no soy un experto en SQL. http://stackoverflow.com/a/769639/602245 – Brett
[Este artículo] (http://www.sqlteam.com/article/understanding-the-difference-between-owners-and-schemas-in-sql-server) de una [respuesta diferente] (http://stackoverflow.com/a/10118197/39396) afirma que es, de hecho, una mejor práctica: "El código no tendría que usar el nombre completo, aunque hay un ligero la ganancia de rendimiento al hacerlo y se considera una mejor práctica. " –
Si está utilizando Sql Server Management Studio, puede crear su propio esquema navegando a Bases de datos - Su base de datos - Seguridad - Esquemas.
Para crear una con un guión es tan fácil como (por ejemplo):
CREATE SCHEMA [EnterSchemaNameHere] AUTHORIZATION [dbo]
Usted las puede utilizar para agrupar de forma lógica las tablas, por ejemplo mediante la creación de un Schama para obtener información "financiera" y otra para "Información personal. Las tablas a continuación, se mostrará como:
Financial.BankAccounts Financial.Transactions Personal.Address
En lugar de utilizar el esquema predeterminado de DBO.
¿Sabes si eso causa algún problema cuando utilizamos Entity framework? – batmaci
Puede usar esquemas con Entity Framework, incluso con código primero si lo desea: '[Tabla (" Cliente ", Esquema =" MySchema ")]' – Fenton
¿La 'AUTORIZACIÓN [dbo]' otorga los mismos permisos que dbo en el esquema, o ¿todavía necesito otorgar permisos a los usuarios? –
Es nuevo en SQL 2005 y ofrece una forma simplificada de agrupar objetos, especialmente con el fin de asegurar los objetos en ese "grupo".
El siguiente enlace ofrece una explicación más detallada en cuanto a lo que es, ¿por qué lo usaríamos:
Understanding the Difference between Owners and Schemas in SQL Server
- 1. tablas de SQL Server con nombre con esquema dbo
- 2. ¿Cómo puedo eliminar el prefijo dbo de mis nombres de tabla cuando escribo mis sentencias SQL en SQL Server?
- 3. SQL Server creando nombres de tablas incorrectos, ¿por qué?
- 4. SQL Server Tabla de sinónimos con índices
- 5. ¿Qué significan los nombres de las variables que comienzan con _?
- 6. SQL Server - ¿Permiso por tabla?
- 7. ¿Por qué Path.Combine no concatena correctamente los nombres de archivo que comienzan con Path.DirectorySeparatorChar?
- 8. ¿Por qué los espacios de nombres XML usualmente comienzan con http: // ...?
- 9. ¿Por qué prefijo nombres de funciones sql?
- 10. nombres de tabla completo
- 11. Eliminar dbo. prefijo esquema de SQL Server (2005) Explorador de objetos de estudio de la gerencia
- 12. Tabla "Herencia" en SQL Server
- 13. ¿Por qué ocurren bloqueos en SQL Server?
- 14. Drop table en Sql Server por Sql Server Management Studio
- 15. ¿Por qué SQL Server CE no es compatible con varchar?
- 16. ¿Cómo cambio los nombres de las columnas de SQL Server en T-SQL?
- 17. ¿De qué sirven los esquemas de SQL Server?
- 18. ¿Por qué los nombres de archivo en la carpeta dibujable no contienen caracteres especiales o comienzan con una letra mayúscula?
- 19. ¿Por qué SQL Server pierde un milisegundo?
- 20. ¿Qué significan los números que comienzan con 0 en python?
- 21. Buscar tabla bloqueada en SQL Server
- 22. Tabla dinámica de Pivot en SQL Server
- 23. ¿Por qué SQL Server sigue creando una restricción de DF?
- 24. Selección de columna calculada por SQL Server de otra tabla
- 25. SQL Server: Permisos en la tabla
- 26. ¿Por qué todos los agentes de usuario de los navegadores comienzan con "Mozilla /"?
- 27. ¿Por qué los índices vectoriales en R comienzan con 1, en lugar de 0?
- 28. ¿Por qué utilizar SQL Server bucle anidado
- 29. ¿Cómo busco nombres con un apóstrofo en SQL Server?
- 30. Killing buffers cuyos nombres comienzan con una cadena en particular
es [Base de datos del propietario] (http: // MSDN. microsoft.com/en-us/library/aa905208%28v=sql.80%29.aspx) – AminM