Conceptos importantes de las bases de datos relacionales

5/34
Recursos
Transcripci贸n

Aportes 14

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

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.

Conceptos b谩sicos:

Entidades > Atributos / Relaciones

**Postgresql **
- trigger
- stored procedure

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

Tipos de relaciones en una base de datos

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