Convenciones de nomenclatura de PostgreSQL

David Mbochi Njonge 20 junio 2023
Convenciones de nomenclatura de PostgreSQL

La asignación de nombres es muy importante porque ayuda a otros desarrolladores a interactuar con su base de datos para facilitar la lectura y comprensión de los componentes de la base de datos. Este tutorial discutirá las convenciones de nomenclatura que podemos usar para nombrar bases de datos, tablas, secuencias, claves principales, restricciones e índices.

Convenciones de nomenclatura de PostgreSQL

De acuerdo con la documentación de PostgreSQL, no existe un estándar definido para la convención de nomenclatura, pero siempre que esté familiarizado con las reglas de nomenclatura de identificadores, puede usar cualquier enfoque de nomenclatura que considere apropiado.

Use el siguiente comando para iniciar sesión en su servidor PostgreSQL.

david@david-HP-ProBook-6470b:~$ psql -U postgres

Cree una base de datos que usaremos para probar las convenciones de nomenclatura.

postgres=# create database NAMING_CONVENTION_DB;
CREATE DATABASE

Tenga en cuenta que aunque usamos mayúsculas para nombrar la base de datos, el nombre de la base de datos se convertirá a minúsculas de forma predeterminada. Para verificar esto, use el comando \l para listar las bases de datos en el servidor PostgreSQL.

postgres=# \l

Producción :

List of databases
Name         |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
----------------------+----------+----------+-------------+-------------+-----------------------
naming_convention_db | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
postgres             | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
template0            | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
|          |          |             |             | postgres=CTc/postgres
template1            | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
|          |          |             |             | postgres=CTc/postgres
(4 rows)

La tabla devuelta muestra las diferentes bases de datos creadas en el servidor PostgreSQL y sus usuarios. La base de datos que acabamos de crear se llama naming_convention_db.

Use el siguiente comando para conectarse a la base de datos naming_convention_db, lo que garantizará que nuestras consultas se ejecuten en la base de datos correcta.

postgres=# \c naming_convention_db;
You are now connected to database "naming_convention_db" as user "postgres".

La convención de nomenclatura MAYÚSCULAS es el método más popular utilizado por los desarrolladores para nombrar palabras clave.

naming_convention_db=# CREATE TABLE employee(
naming_convention_db(# id SERIAL,
naming_convention_db(# first_name VARCHAR(30),
naming_convention_db(# last_name VARCHAR(30),
naming_convention_db(# email VARCHAR(50),
naming_convention_db(# PRIMARY KEY(id));
CREATE TABLE

En el ejemplo anterior, tenemos las siguientes palabras clave: CREATE, TABLE, SERIAL, VARCHAR y PRIMARY KEY. Tenga en cuenta que las palabras están en mayúsculas, ya que denotan palabras clave para una función particular en el sistema de administración de la base de datos.

La convención de nomenclatura minúsculas_con_guión bajo es el método más popular utilizado por los desarrolladores para nombrar identificadores.

naming_convention_db=# CREATE SEQUENCE employee_sequence
naming_convention_db-# INCREMENT 5
naming_convention_db-# START 10;
CREATE SEQUENCE

Hemos creado un identificador para una SECUENCIA utilizando caracteres en minúsculas y un guión bajo identificado por employee_underscore en el ejemplo anterior. Si desea que sus identificadores distingan entre mayúsculas y minúsculas, puede utilizar comillas dobles al nombrar los identificadores.

naming_convention_db=# CREATE TABLE "EMPLOYEE"(
naming_convention_db(# first_name VARCHAR(30),
naming_convention_db(# last_name VARCHAR(30),
naming_convention_db(# email VARCHAR(50),
naming_convention_db(# id SERIAL,
naming_convention_db(# PRIMARY KEY(id));
CREATE TABLE

El ejemplo anterior crea otra tabla de empleados en nuestra base de datos con un identificador en mayúsculas denominado EMPLEADO.

Use el siguiente comando para ver todas las tablas en nuestra base de datos.

naming_convention_db=# \dt

Producción :

List of relations
Schema |   Name   | Type  |  Owner   
--------+----------+-------+----------
public | EMPLOYEE | table | postgres
public | employee | table | postgres
(2 rows)

Si no cita un identificador, se guarda en minúsculas de forma predeterminada. Por lo tanto, los nombres Employee, EMPLOYEE y EmPlOyEe son los mismos.

Esto significa que los identificadores no distinguen entre mayúsculas y minúsculas cuando no se citan. También debemos evitar el uso de identificadores entre comillas con el mismo nombre que las palabras clave para garantizar que no haya errores sintácticos.

Por ejemplo, se debe evitar el siguiente lenguaje de definición de datos, ya que puede generar anomalías en nuestras consultas.

naming_convention_db=# CREATE SEQUENCE "serial"
naming_convention_db-# INCREMENT 5
naming_convention_db-# START 10;

SERIAL es una palabra clave que interpreta una funcionalidad diferente en la base de datos, y el uso de identificadores entrecomillados para crear otra propiedad serial podría generar errores potenciales.

David Mbochi Njonge avatar David Mbochi Njonge avatar

David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.

LinkedIn GitHub