2012-03-29 13 views
5

Está claro que puede usar caracteres numéricos en nombres de tabla SQL y usarlos siempre que no estén al principio. (Aquí hay una discusión sobre uno de los efectos secundarios: SQLite issue with Table Names using numbers?) La base de datos a la que me dirijo es Oracle 10g/11g.¿Buena o mala idea para incluir números en los nombres de las tablas SQL?

Estoy diseñando una base de datos de informes donde nombrar algunas de las entidades claramente se hace mejor describiendo los informes, que llevan el nombre de los números ('parte 45', '102S', '401'). Es solo el idioma del dominio de negocios: estos informes simplemente no se mencionan comúnmente con ningún otro nombre. Las entidades que estoy modelando realmente se llaman mejor de esta manera.

Mi pregunta es: ¿tendré dificultades con el mantenimiento o la programabilidad si pongo los números en el nombre de una tabla? Siempre estoy preocupado por el software auxiliar en la base de datos: controladores, código ETL que podría no funcionar bien con un nombre no simple. Pero hay un beneficio real en la inteligibilidad en este dominio comercial, ¿entonces solo estoy siendo aprensivo?

Mi pregunta es simplemente: ¿hay alguna 'trampas' o casos de esquina que descartarían un nombre de tabla como PART_45_AUDIT?

+2

Nada que se me ocurra. –

+0

Aunque no se encuentran con frecuencia, las cifras ayudan a las bases de datos de gran tamaño de varias maneras. No mucha gente "se atreve" a usarlos. – NoChance

Respuesta

7

Si PART_45_AUDIT es realmente la descripción más clara de la entidad que está modelando (lo que sería muy raro), no debería haber ningún problema para tener números en medio de un nombre. Poner números en la parte delantera del nombre sería una historia diferente porque requeriría el uso de identificadores de doble cita y hay muchas herramientas que no son totalmente compatibles con los identificadores de doble cita. Además, por supuesto, es bastante molesto tener que escribir las comillas dobles cada vez que hace referencia a la tabla.

CREATE TABLE "102S" (
    col1 number 
); 

SELECT * 
    FROM "102S" 
+0

Gracias. Sí, PART_45_AUDIT me hace sentir incómodo como un nombre, pero no puedo anular la jerga de la compañía por mi cuenta. Cada vez que trato de sustituir un nombre más genérico, causa confusión. – deepgeek

Cuestiones relacionadas