https://foro.gambas-es.org/viewtopic.php?f=3&t=5450&p=32281#p32281
-----------------------------------
shordi
Martes, 10 May 2016, 09:13

Re: Que Motor De Base De Datos Se Integra Mejor En Gambas3?
-----------------------------------
Este es un extracto del documento que usamos en la empresa para homogeneizar nuestras bases de datos:

﻿Convenciones en la nomenclatura y definición de las bases de datos.

1.- Sobre el nombre de las tablas:

-Todo el nombre siempre en minúsculas y en plural.
-Las tablas de datos de la aplicación (personas, centros, afiliados, etc.) empezarán por d_ . Ejemplo: d_afiliados, d_centros, etc.
-Las tablas de control de la aplicación (usuarios, claves, configuraciones, etc) empezarán por ad_.  Por ejemplo ad_usuarios
-Las tablas auxiliares de códigos y demás, empezarán por aux_
-Las tablas temporales empezarán por temp_
-El nombre debe describir lo que contienen en plural d_personas, aux_bancos, etc.
-Las vistas grabadas sobre las tablas empezaran por v_ seguido del nombre. Se permite la primera letra en mayúscula. Ejemplo: v_asuntos, v_Morosos

2.- Sobre los nombres de los campos:

-Los nombres de campos siempre en minúscula, sin espacios ni caracteres no alfabéticos, salvo el guión bajo. 
-Los nombres de campo, en principio, no deberán contener más información que su nombre, es decir nada de usar las primeras letras para indicar si es un número, una fecha, etc. (Salvo cuando el tipo sea descriptivo del nombre, es decir si tenemos un número de alta y una fecha de alta, llamar a los campos nalta y falta es totalmente correcto) 
-Todas las tablas deben tener un índice primario integer de 10 digitos unsigned y autoincremental. Este campo se llamara rowid y será el primero de la tabla. 
-Los campos con restricción de clave foránea se llamarán como el campo índice de la tabla referenciada en singular. Por ejemplo rowidpersona, rowiidbanco, etc. 

Hay más, pero son sólo para consumo interno. 
La razón de tanta convención en los nombres de las tablas deriva de la simplicidad a la hora de tratarlas masivamente en los procesos de Gambas.
Hay cosas en estas convenciones que limitan un tanto... o no, porque aportan también su ventaja. Por ejemplo: No hay claves primarias compuestas. Eso puede ser un impedimento en según qué momentos con sqlite (tendrías que comprobar su unicidad por código), pero en MySQL lo soslayamos creando índices únicos sobre los campos a indexar aunque no sean clave primaria.


