Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Conceptos importantes de las bases de datos relacionales

5/34
Recursos

Aportes 23

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Entidades / Tablas
Se traducen en cosas de la vida real, por ejemplo, un reloj es una entidad, una taza, una fruta, cualquier conjunto de objetos que representen en la vida real, y esas entidades tiene algo en particular, los atributos.
Atributos
Una manzana tiene por ejemplo un color, una semilla, un sabor, un tamaño, tienen diferentes propiedades que se traducen en atributos.
Relaciones
Son la manera en la que se unen una entidad con otra. Por ejemplo, cuantas manecillas tiene un reloj, uno puede tener 3, otro puede tener 4, podemos guardar en una tabla las manecillas, y en otra tabla el reloj. Y de esta manera queda relacionada la información, pero sin repetir datos.’
Normalmente en el ámbito relacional, se traduce en partir la relación en una tabla llamada transitiva, que se encarga en relacionar cual es la manecilla que se une con cual reloj, donde puedes relacionar muchos a muchos.
Stored Procedures
Son funciones que nos permiten almacenar el manejador de BD, que nos permite ejecutar de manera de loop.
Triggers
Son otro tipo de funciones, que nos permite unir los stored procedures con un evento, por ejemplo, si añades un registro a una tabla, si cambias uno o borras uno, puedes indicar que antes, durante o después, juntar una serie de instrucciones almacenadas en un stored procedures.

Store Procedure.- Son funciones o una serie de instrucciones que va a ejecutar el manejador de base de datos por nosotros.

Triggers.- Son otro tipo de funciones que nos ayuda a ligar estos store procedure con eventos.

Ejemplo de Diagrama Entidad Relación [Data Warehouse]:

Sistema administrador de base de datos relacionales
Es un sistema que permite administrar bases de datos basadas en el modelo relacional.

Base de datos relacionales
Es una colección de datos organizada en tablas, también llamadas relaciones, que están relacionadas entre sí y que pueden ser accesadas de una forma fácil.

Relación o tabla
Es un conjunto de filas y columnas que tienen atributos en común. Es la base principal de las bases de datos relacionales.

Tupla, fila o registro
Cada una de las filas que forman una tabla o relación. Cada fila representa a un objeto de la realidad y la información perteneciente a éste.

Atributo o campo
Cada una de las columnas que forman una relación.

Granularidad
Propiedad del valor de un campo que garantiza que está dividido en el menor subconjunto posible para su dominio de datos. Por ejemplo, una dirección tienen una calle, número de casa, departamento y país. La granularidad consistiría, en este caso, en dividir esa dirección en cada una de las partes que la conforman.

Dominio de datos
Se refiere al todos los posibles valores que un atributo o campo de una tabla puede tener, por ejemplo, la edad de una persona puede estar entre 0 años a 150.

Constraint o restricciones
Son un conjunto de reglas que se aplica a los atributos de una tabla para limitar el dominio de datos que puede tener. Entre las principales restricciones están los CHECK, utilizado para garantizar que el valor del campo cumpla una expresión booleana (precio de un producto mayor que cero, por ejemplo), las restricciones NULL y NOT NULL, las llaves primarias y las llaves foráneas, entre otras.

Llave primaria
Una llave primaria sirve para identificar unívocamente a una fila dentro de una tabla o relación. La llave primaria es una combinación de una restricción UNIQUE y una restricción NOT NULL. Las llaves primarias pueden ser aplicadas a un campo o a un conjunto de campos (llave compuesta). Una tabla puede tener una llave primaria como máximo. La teoría de base de datos dicta que cada tabla debería tener una llave primaria aunque muchos de los gestores de base de datos no hacen obligatorio esta regla.

Llave foránea
Restricción que garantiza que el valor de un campo de una tabla está presente en el campo de otra tabla. Es un campo en una relación que coincide con el valor de una llave primaria en otra relación. No tienen valores únicos y son utilizadas para restringir el dominio del campo (limitándolo a valores de otra campo en otra tabla) que es llave foránea. Una llave foránea especifica que el valor en una columna debe ser igual a los valores que aparecen en alguna fila de otra tabla. Las llaves foráneas deben referenciar a columnas que son ya sea llaves primarias o que contienen restricciones UNIQUE.

Unique
Una restricción UNIQUE tiene como objetivo garantizar que una columna o grupo de columnas tenga un valor único dentro de una relación, es decir que no se repitan. Una restricción UNIQUE es violada cuando hay mas de una fila en la tabla donde los valores de todas las columnas incluidas en la restricción son iguales.

Diferencia entre una llave primaria y la restricción UNIQUE
Las diferencias entre una llave primaria y una restricción UNIQUE básicamente son las siguientes:
Una llave primaria no permite valores nulos, una restricción UNIQUE, sí.
Cada tabla solo puede tener una llave primaria como máximo, sin embargo puede tener más de una restricción UNIQUE.
Existen otras diferencias en la forma en que son implementadas estas restricciones pero estas depende del gestor de base de datos utilizado.

Indice
Utilizado para permitir acceso aleatorio rápido a una tupla principalmente para cuestiones de búsqueda. Los índices no son considerados como parte de la base de datos sino que como un detalle de implementación. La correcta aplicación de los índices puede ayudar a mejorar el rendimiento de la base de datos.

Vista
Una vista es una consulta a la base de datos a la que se le ha asignado un nombre y que puede ser utilizada como una tabla común, aunque no esté definida dentro del esquema de la base de datos. Debido a que se comporta como una tabla, se pueden realizar operaciones de consulta de datos de forma normal. En cuestión de actualizaciones de datos, dado que una vista es una consulta, ésta se ejecuta cada vez que la vista es utilizada. Algunos gestores de base de datos permiten la actualización de la vista directamente, en otros es necesario actualizar los datos de las tablas que se han relacionado en la consulta que forma la vista.

DML
Data Manipulation Language: Subconjunto del lenguaje SQL utilizado para la manipulación de los datos en la base de datos, incluye instrucciones como INSERT, UPDATE, DELETE.

DDL
Data Definition Language: Subconjunto del lenguaje SQL utilizado para la definición de los datos de la base. Incluye la creación de tablas, restricciones, definición de tipos de datos y otros.

Esquema
Un esquema es un entorno en el cual están agrupados objetos de la base de datos como tipos de datos, funciones y operadores. Son utilizados para evitar conflictos entre otros objetos que puedan tener el mismo nombre. Entre las ventajas que permite el uso de esquemas está el evitar conflictos cuando hay concurrencia de usuario en la base de datos y organización de los objetos dentro de grupos lógicos para hacerlos más administrables. Los esquemas son como los directorios en los sistemas operativos, a diferencia que los esquemas no se pueden anidar

Lenguaje procedural
Son lenguajes que permiten al usuario definir sus propias funciones dentro de la base de datos. La sintáxis y funcionalidad de estos lenguajes dependen del gestor de base de datos que se esté utilizando. Algunos de los lenguajes procedurales más comunes son PL/SQL de Oracle y el PGL/PSQL de postgresql.

Normalización
Proceso de organizar campos y tablas de una base de datos relacionales para minimizar la redundancia y la dependiencia con el fin de aislar los datos de tal forma que las modificaciones puedan ser hechas solo a una tabla y propagadas a las demás a través de las relaciones entre estas. Entre las ventajas de la normalización se tiene que se minimiza el rediseño de la estructura de la base de datos cuando ésta se quiere extender y que se logra un modelo de datos más informativo para el usuario.

Transacciones
Una transacción es una unidad de trabajo desarrollada dentro del sistema gestor de base de datos sobre la base de datos. Tienen como objetivo proveer unidades de trabajo confiables que permitan mantener la integridad y consistencia de los datos en caso de ocurrir errores durante la ejecución de las operaciones. Las operaciones de las transacciones no son visibles a otras transacciones. Por definición, una transacción debe ser atómica (ejecutarse completamente o no ejecutarse en lo absoluto), consistente, aislada y permanente (principio ACID).

SQL
Structured Query Language: Lenguaje de consulta estructurado. Es utilizado para manipulación de datos y para definición del esquema de la base de datos también.

Trigger
Un Trigger (o disparador en español) es una especificación a la base de datos para que ejecute una función en particular, de manera automática, cada vez que cierto tipo de operación (INSERT, UPDATE, DELETE) sea ejecutada sobre un objeto de la base de datos (tablas y vistas, por ejemplo).

Procedimiento almacenado
Código ejecutable que es almacenado en la base de datos. Sirven, generalmente, para manipulación y calculo de datos de forma automática.

Entidades, se traducen en cosas del mundo real, objetos

Atributos: son propiedades de las entidades

Relaciones: son la manera que se une una entidad con otra, cuando dos tablas tienen una relación de muchos a muchos necesitan de una tabla intermedia que es una tabla transitiva.

Stored Procedure: son funciones o procedimientos que el motor de base de datos nos permite grabar para ejecutar una y otra vez tantas veces se requiera.

Triggers, nos permite ligar un stored procedure a un evento, por ejemplo si agregamos un registro a una tabla

Conceptos básicos:

Entidades > Atributos / Relaciones

**Postgresql **
- trigger
- stored procedure

Tipos de relaciones en una base de datos

5. Conceptos importantes de las bases de datos relacionales

Entidades / Tablas

Atributos

Relaciones; como se une una entidad con otra

# **Resumen** * **Entidades**: Representan objetos o conceptos del mundo real que almacenamos en la base de datos, como "Clientes" o "Productos". * **Atributos**: Son las características o propiedades de una entidad, representadas por columnas en una tabla, como "Nombre", "Dirección", etc. * **Relaciones**: Son las conexiones entre tablas, definidas mediante claves foráneas, que muestran cómo las entidades están vinculadas entre sí. * **Stored Procedures**: Son conjuntos de instrucciones SQL predefinidas que se almacenan en la base de datos y se ejecutan cuando se invocan, permitiendo la automatización de tareas repetitivas. * **Triggers**: Son fragmentos de código que se ejecutan automáticamente cuando ocurre un evento específico (inserción, actualización, eliminación) en una tabla.
* Entidades: Es todo lo que existe en el mundo físico real, una entidad puede ser una manzana, una taza, una persona, un pantalón, etc. * Atributos: Son las propiedades que caracterizan a la entidad, por ejemplo, los atributos de una entidad manzana son: color, tamaño, tipo de semilla, peso, sabor, etc. * Relaciones: Con ellas se enlaza una entidad con otra entidad, por ejemplo: Vehículos, y motores (ambos son entidades, objetos del mundo físico real) y las relaciones enlazan a estos 2. La relación que existe entre 2 entidades puede ser de una parte a una (un vehículo tiene solo un tipo de motor), o de una parte a muchos (si un vehículo puede tener varios tipos de motores) o de muchos a muchos (donde un vehículo puede tener varios motores, así como un motor puede estar en varios tipos de vehículos). Las relaciones son tablas transitivas en las que se indican que motor corresponde a que vehículo, o que vehículo tiene cual motor, y así con las formas de relacionarse entre sí. * Store Procedure: Son funciones o instrucciones que asignamos dentro del manejador de datos y que este lo va a realizar de manera automática con un disparador, es como una función pregrabada. * Triggers: O disparadores, igual son funciones que ligan una acción de la tabla para que se produzca la ejecución automática de un store procedure, (acciones como insertar, borrar o actualizar datos).
📝 **Resumen** Conceptos: * **Entidades** → Tablas: Objeto representable del mundo real. * **Atributos** → Columnas: Características que hacen al objeto lo que es. * **Relaciones**: Forma en que se unen las entidades. * **Triggers** → Disparadores: Ligan un Store procedure con un evento que afecta a una tabla (`update`, `insert`, `delete`) * **Store Procedures**: Funciones que permiten ejecutar `n` veces un mismo código/sentencias sin tener que reescribirlo, también son útiles para automatizar tareas.
Esta clase es esencial, entender esto ayuda mucho y ahorrará dolores de cabeza y tiempo perdido

Tabla:

  • En las bases de datos relacionales, la información se organiza en tablas. Cada tabla tiene filas y columnas, y cada fila representa una entrada específica, mientras que las columnas son atributos o características de esa entrada.

Clave Primaria:

  • Es un campo o conjunto de campos que identifica de manera única cada fila en una tabla. La clave primaria garantiza que no haya duplicados en la tabla y permite una fácil referencia a registros específicos.

Clave Foránea:

  • Este es un campo en una tabla que se refiere a la clave primaria de otra tabla. Establece una relación entre las tablas y es fundamental para mantener la integridad referencial en la base de datos.

Relación:

  • Representa la conexión lógica entre dos tablas mediante el uso de claves primarias y foráneas. Puedes tener relaciones uno a uno, uno a muchos o muchos a muchos.

Normalización:

  • Es el proceso de organizar los datos en una base de datos para reducir la redundancia y mejorar la integridad de los datos. Esto se logra dividiendo las tablas grandes en tablas más pequeñas y relacionadas.

Transacciones:

  • Son secuencias de operaciones que se realizan como una sola unidad. Las bases de datos relacionales garantizan la atomicidad, consistencia, aislamiento y durabilidad (ACID) de las transacciones para mantener la integridad de los datos.

SQL (Structured Query Language):

  • Es un lenguaje estándar utilizado para interactuar con bases de datos relacionales. Permite realizar operaciones como la inserción, actualización, consulta y eliminación de datos.
🥰🥰

Estaconceptualización es supremamente importate. Estas son las bases fundamentales para entender mejor como optimizar el uso de SQL.

  • Un Stored Procedure es un fragmento de código SQL almacenado en la base de datos como un objeto. Está diseñado para realizar una tarea específica y se puede llamar desde una aplicación o desde otras partes de la base de datos mediante una instrucción SQL. Los Stored Procedures permiten encapsular lógica de negocio compleja y repetitiva dentro de la base de datos, lo que puede mejorar el rendimiento y la seguridad al reducir la cantidad de datos transferidos entre la base de datos y la aplicación.

  • Por otro lado, un Trigger es un tipo especial de Stored Procedure que se ejecuta automáticamente en respuesta a ciertos eventos o acciones en la base de datos, como la inserción, actualización o eliminación de registros en una tabla. Un Trigger puede ser utilizado para realizar una amplia variedad de acciones, como actualizar otros registros en la base de datos, validar los datos antes de ser insertados o actualizados, o enviar alertas o notificaciones por correo electrónico o mensaje de texto.

  • En general, tanto los Stored Procedures como los Triggers pueden ser muy útiles para mejorar la eficiencia, la seguridad y la calidad de los datos en una base de datos, especialmente en aplicaciones empresariales complejas y de gran tamaño.

Concreto y buen repaso

A darle

Excelente repaso, conceptos clave!

Excelentes tips para comenzar este curso, creo que de manera simple Israel ha puesto los fundamentos para iniciar.

La relación muchos a muchos se parte con una tabla transitiva

Triggers y Stored procedure importantes a la hora de trabajar con PostgreSQL