2011-12-03 23 views
7

estoy construyendo un nuevo sistema (lámpara - servidor de Ubuntu, PHP 5.3, MySQL 5.5, Apache 2, Redis) para mi empresa (como una versión 2.0)columnas de base de datos y normalización clave externa

i quieren que sea derecho y hacerlo mejor.

quiero utilizar innodb y quiero saber si hay un estándar para nombrar columnas y claves externas.

por ejemplo:

table_a 
table_a_id 
table_a_name 
etc... 

esta manera cuando se fue unirse a su muy fácil de distinguir, pero si tiene el nombre largo que puede ser doloroso para escribir SQL.

table_a 
id 
name 
etc... 

esta manera, la mesa es muy fácil de entender, pero hay que usar el alias o nombre de la tabla cada vez que dejó unirse.

está nombrando una base de datos.table.column parte de la normalización de la base de datos?

+2

totalmente una pregunta personal, siempre que mantenga un estándar y se quede con todo es bueno –

Respuesta

11

la convención de nomenclatura de la base de datos, tablas, columnas, claves, claves externas no tiene nada que ver con la normalización de la base de datos.

aunque, recomiendo mantener la misma estructura de convención de nomenclatura en todas partes. todos mis nombres son bastante estándar, palabra única o si es una frase está separada por guion bajo, sin números ni caracteres especiales. mismo para columnas, claves y FK (con excepción de número) y yo siempre uso plurials (su rara es suficiente con 1 dB, 1 mesa con 1 columna y 1 fila)

Esto es lo que hago:

databases: companies 
tables: clients, clients_products, products 
column: id, name, address, city 
key: name 
unique key: name 

de esta manera cuando consulta sus datos, está muy claro lo que solicita o lo que busca.

0

está nombrando una base de datos.table.column parte de la normalización de la base de datos?

En términos generales, la normalización tiene que ver con el aumento de la integridad de los datos mediante tablas de reestructuración basadas en la identificación de ciertos tipos de dependencias entre los atributos.

Los nombres de las tablas y columnas son su API.

ISO 11179, Tecnología de la Información-metadatos Registros (MDR), es una norma internacional para la representación de metadatos en un registro . Aunque está dirigido a la semántica, no a tablas y columnas, muchos diseñadores de bases de datos lo utilizan como una guía para nombrar tablas y columnas. En organizaciones grandes, es realmente valioso. (La dependencia funcional, que es es parte de la normalización, es una cuestión semántica.)

Puede que le resulte útil explorar la diferencia entre un nombre de tabla y una clase de objeto. (La clase de objeto en este sentido no tiene nada que ver con la programación orientada a objetos. Es un término técnico en ISO 11179.)

A review copy of part 5 (PDF), Naming and Identification Principles, está disponible en línea. Wikipedia podría ser una referencia más duradera. (Podría no.)

Cuestiones relacionadas