Algo muy importante al momento de desarrollar nuestras bases de datos son las convenciones de nombres, pues indican uniformidad de criterio al aplicar estándares durante el desarrollo.

Usualmente en MySQL los nombres de objetos (como tablas, campos, etc) se componen de letras, números y algunos caracteres especiales, pero no se imponen restricciones a los nombres que uses, solo estarás limitado por la cantidad de caracteres que acepte el sistema para el nombre de objeto dado.

Sin embargo, hoy en día existen diversos frameworks -como Laravel- que usan el paradigma convención sobre configuración, el cual te permite agilizar y facilitar tu trabajo como programador, ya que solo necesitarás tomar decisiones no convencionales de la aplicación.

Veamos algunas convenciones de nombres que puedes utilizar en tus bases de datos, usando la siguiente tabla como referencia:

CREATE TABLE employees (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    branch_id BIGINT UNSIGNED,
    dni VARCHAR(20) UNIQUE,
    name VARCHAR(150),
    email VARCHAR(100),
    birth_date DATE,
    created_at TIMESTAMP NULL,
    updated_at TIMESTAMP NULL
);

No te preocupes si aún no te sientes familiarizado con el código anterior, en las lecciones siguientes aprenderás cómo crear tus propias tablas.

  • Es recomendable el uso de sustantivos en idioma inglés.
  • Es una preferencia opcional escribir comandos/cláusulas en mayúsculas, los DBMS como MySQL/MariaDB reconocen órdenes sin distinguir entre minúsculas/mayúsculas
  • Nombres de tablas
    • Usa sustantivos en minúsculas y en plural. Por ejemplo, algunos nombres de tablas pueden ser: employees, notesstudents.
    • En los casos donde necesites más de un sustantivo, sepáralos con un «guion bajo». Por ejemplo: product_types, art_booksphysic_books.

      El nombre de la tabla aparece justo después de la cláusula CREATE TABLE.

      El nombre de nuestra tabla de referencia es: employees.

  • Nombres de campos/columnas/atributos
    • Usa sustantivos en minúsculas y en singular. Ejemplo: namedescription.
    • En los casos donde necesites más de un sustantivo, sepáralos con un «guion bajo». Por ejemplo: birth_date, product_name, registration_date.

      Los campos de la tabla employees son: idbranch_iddninameemailbirth_datecreated_at y updated_at.

  • Claves primarias
    • Nombra las claves primarias de tus tablas como id.
    • Deben ser de tipo entero grande sin signo y con auto-incremento.
    • Jamás deben permitir valores nulos.

      La clave primaria es el campo que tiene la cláusula PRIMARY KEY.

  • Claves foráneas
    • Usa un sustantivo compuesto por el nombre de la tabla de donde proviene (en minúsculas y en singular) seguido del sufijo _id. Por ejemplo: category_id, user_id, product_id.
    • Dado que este campo contiene valores que son «clave primaria» en otra tabla, también debes definirlo de tipo entero grande sin signo.
    • Pueden permitir valores nulos.

      La tabla employees tiene un campo branch_id que será clave foránea más adelante.

      Si deseas permitir valores nulos, no coloques la restricción NOT NULL en el campo.

  • Añade a la tabla los campos especiales created_at y updated_at
    • Estos campos especiales deben tener como tipo de dato TIMESTAMP e indicarán cuándo se creó el registro y cuándo se actualizó por última vez.

Estas son algunas de las convenciones de nombres más comunes, pero existen muchas más, las cuales te invito a conocer revisando la Página 3 de nuestro libro Aprende SQL con MySQL y MariaDB.

A partir de las lecciones siguientes aprenderás cómo desarrollar tus bases de datos siguiendo estas convenciones.

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección anterior Introducción a SQL y las Bases de Datos Lección siguiente Crear una base de datos en MySQL / MariaDB