Contenidos del post
¿Qué son las entidades y los registros?
Entidad: Una entidad en SQL es un objeto o concepto compuesto de uno o más atributos que describen sus características almacenados en una tabla. Por ejemplo, si estamos creando una base de datos para almacenar información sobre empleados, podemos tener una entidad llamada “Empleados” que contenga atributos como “Nombre”, “Apellido”, “Edad”, “Salario”, etc.
Atributos: En el contexto de las bases de datos, un atributo es una característica que describe una entidad. Por ejemplo, si consideramos una entidad “cliente”, los atributos asociados podrían incluir el nombre, la dirección, el número de teléfono y el correo electrónico.
Existen diferentes tipos de atributos:
- Atributos simples: hace referencia a una característica o dato único. Por ejemplo, en una entidad “Libro”, el atributo “Título” sería un atributo simple dado que cada libro tiene un único título que no se puede dividir en partes más pequeñas. Otros ejemplos serían el “DNI” de una entidad “personas” o el “SKU” de un producto.
- Atributos compuestos: estos datos están formados por varios datos simples, es decir, muestran una información más detallada sobre una entidad. Por ejemplo, en una entidad “Dirección”, los atributos “Calle”, “Ciudad” y “Código Postal” forman un atributo compuesto. Otro ejemplo sería, dentro de la propiedad “Libro”, el atributo “Autor” podría ser compuesto al poder incluir sub-atributos como “Nombre del Autor” y “Apellido del Autor”. Estos dos sub-atributos combinados forman el atributo compuesto “Autor”.
- Atributos multivalor: Se definen como atributos multivalor aquellos cuyo atributo puede disponer de uno o más valores. Por ejemplo, en una entidad “Libro”, el atributo “Autores” podría ser multivalor, ya que un libro puede tener varios autores.
- Atributos Derivados: Estos datos surgen tras el cálculo a partir de otros atributos. Por ejemplo, en una entidad “Empleado”, un atributo derivado podría ser “Salario Neto”, que se calcula a partir del salario bruto restando los impuestos.
Key: Se refiere a un atributo que se utiliza para identificar de manera única un registro en una tabla.
Tablas, campos y tipos de campos
Tabla: Cuando hablamos de SQL o bases de datos, una tabla es la estructura fundamental que se utiliza para organizar y almacenar datos de manera organizada.
Cada tabla está compuesta por columnas (también conocidas como campos) y filas (también conocidas como registros). Cada columna representa un atributo específico de los datos, mientras que cada fila contiene la información correspondiente a ese conjunto de atributos.
| ID_Cliente | Nombre | Apellido | => Campos
|------------|----------|----------|
| 1 | Juan | Pérez |=> Registros
| 2 | María | López |
| 3 | Carlos | Martínez |
| 4 | Martina | Gómez |
Tipos de campos de una tabla:
- Integer (Entero): Almacena números enteros, positivos o negativos, sin decimales. Ejemplos: 1, -5, 1000.
- Decimal/Flotante (Decimal/Float): Almacena números con decimales. Pueden ser de precisión fija (decimal) o de punto flotante (float). Ejemplos: 3.14, -0.05, 1000.0.
- Real (Real/Float): Almacena números con decimales, similar al tipo de dato “Decimal/Flotante”. Sin embargo, “Real” es un tipo de punto flotante que tiene una precisión menor que algunos otros tipos de punto flotante. Se utiliza cuando no se requiere una alta precisión en los cálculos decimales y una mayor velocidad en el cálculo.
- Texto (Char/Varchar): Almacena texto o cadenas de caracteres. La diferencia principal entre char y varchar radica en que char tiene una longitud fija, mientras que varchar tiene una longitud variable. Ejemplos: “Hola”, “Nombre”, “Descripción larga”.
- Fecha/Hora (Date/Time): Almacena fechas o tiempos. Pueden ser solo fechas, solo horas o ambas. Ejemplos: 2023-10-20, 14:30:00.
- Booleano (Boolean): Almacena valores de verdadero o falso (true o false).
- Binario (Binary): Almacena datos binarios, como imágenes o archivos.
- Enumeración (Enum): Permite definir un conjunto finito de valores posibles que un campo puede tomar. Por ejemplo, si estamos almacenando el estado civil, los valores podrían ser: soltero, casado, divorciado, etc.
- Autoincremental (Autoincrement): Un tipo especial de campo entero que se incrementa automáticamente con cada nuevo registro. Suelen utilizarse como claves primarias.
- Foreign Key: No es propiamente un tipo de campo, sino un campo que referencia la clave primaria de otra tabla, estableciendo así una relación entre las tablas.
- Texto Largo (Text/Blob): Almacena grandes cantidades de texto o datos binarios, como párrafos extensos o archivos.
- Geoespacial (Spatial): Almacena información geográfica, como coordenadas de ubicación.
Caracteres y su significado
Asterisco (*): En SQL, el asterisco (*) se utiliza como un carácter comodín para representar “todos los campos” o “todas las columnas” de una tabla. Esto significa que si usas el asterisco en una consulta, estás solicitando que se seleccionen y muestren todas las columnas de la tabla especificada.
Por ejemplo, si tienes una tabla llamada ‘Clientes‘ con columnas como ‘ID_Cliente’, ‘Nombre’, ‘Apellido’, ‘Correo_Electronico’, etc., y deseas seleccionar todos los campos, puedes escribir una consulta como:
SELECT * FROM Clientes;
Esta consulta recuperaría todos los registros de la tabla Clientes y mostraría todas las columnas de cada registro.
Where en SQL
El comando WHERE
se utiliza para filtrar resultados en una consulta, de hecho si te es de ayuda un truco es que puedes traducirlo como “siempre que”. En definitiva es como decirle a la base de datos que solo te muestre las filas que cumplan con ciertas condiciones.
Ejemplo:
Imagina que tienes una tabla con información de estudiantes, y quieres encontrar a aquellos que hayan obtenido una puntuación mayor a 80 en un examen. Podrías hacer una consulta como esta:
SELECT * FROM estudiantes WHERE puntuacion > 80;
En este ejemplo:
SELECT *
: significa que queremos seleccionar todas las columnas de la tabla.FROM estudiantes
: especifica de qué tabla estamos seleccionando datos (en este caso, la tabla de estudiantes).WHERE puntuacion > 80
: establece la condición para filtrar los resultados. Solo se seleccionarán las filas donde la columna “puntuacion” sea mayor a 80.
Operador Like
El operador LIKE funciona como una especie de buscador en la base de datos. Mediante Like le dices a la base de datos que quieres encontrar algo.
Usar el operador Like vienen a ser lo mismo que decir “igual”, de hecho si realizamos una consulta y ponemos ‘=’ nos saldrá el mismo resultado que con el ‘Like’.
Este resultado cambia si usamos los llamados “comodines”. El operador like dispone, por defecto, dos comodines, el porcentaje ‘%’ y el guion bajo ‘_’.
El porcentaje significa que pueden haber más caracteres antes o después dentro de esta búsqueda, veamos un ejemplo.
Ejemplo comodín %:
Imagina que tienes una lista de contactos en tu teléfono y quieres encontrar a todas las personas cuyos nombres comienzan con la letra “A”.
SELECT * FROM contactos WHERE nombre LIKE 'A%';
O que quieres encontrar a todas las personas cuyos nombres terminen con la letra “A”.
SELECT * FROM contactos WHERE nombre LIKE '%A';
O que quieres encontrar a todas las personas cuyos nombres contengan la letra “A”.
SELECT * FROM contactos WHERE nombre LIKE '%A%';
SELECT *
: significa “muéstrame toda la información”.FROM contactos
: especifica que estás buscando en la lista de contactos.WHERE nombre LIKE 'A%'
: le dice a la base de datos que solo quieres ver las filas siempre que el nombre de sus valores comiencen con “A”. El%
es como un comodín que significa “puede haber cualquier cosa después de la A”.
En SQL, el comodín ‘_’ se utiliza como un carácter especial que representa un solo carácter desconocido en una consulta. Imagínalo como un espacio reservado para cualquier letra o número, pero solo uno.
Por ejemplo, si buscas una palabra de cinco letras donde solo conoces las primeras cuatro letras y la última es desconocida, puedes usar el comodín ”. Si la palabra que buscas comienza con “casa” pero no sabes la última letra, podrías hacer una consulta así: “casa_”.
Operador AS
El operador ‘AS’ en SQL se utiliza para darle un nombre más amigable a una columna o a un resultado en una consulta. Es un poco como ponerle un apodo a algo para que sea más fácil de entender.
Imagina que tienes una tabla de estudiantes con dos columnas: ‘nombre’ y ‘puntuacion’. Pero, en lugar de que la columna de puntuación se llame simplemente “puntuacion”, quieres que se llame “resultado”. Puedes hacer esto con el operador AS de la siguiente manera:
SELECT nombre, puntuacion AS resultado FROM estudiantes;
En esta consulta le dices a la base de datos que quieres ver la columna nombre y que la columna ‘puntuacion’ ahora se llame “resultado”. En definitiva el operador AS está actuando como un traductor, dándole a la columna un nombre diferente solo para la consulta.
Operador IN
El operador IN es similar al operador OR, la diferencia es que este agrupa diferentes condiciones en una misma condición.
Ejemplo:
Supongamos que tienes una tabla que registra el rendimiento de tus contenidos y sus categorías, y deseas analizar el rendimiento de aquellos contenidos que formen parte de las categorías de ‘Tecnología’, ‘Viajes’ y ‘Salud’. Podrías usar una consulta SQL similar a esta:
SELECT * FROM Contenidos
WHERE categoria IN ('Tecnología', 'Viajes', 'Salud');
Créditos de la imagen:
• Image by Freepik
Créditos de la imagen destacada:
• Image by Freepik