lunes, 1 de febrero de 2021

INTRODUCCIÓN A BASE DE DATOS: MODELO ENTIDAD – RELACIÓN

Las bases de datos son un gran pilar de la programación actual, ya que nos permiten almacenar y usar de forma rápida y eficiente cantidades ingentes de datos con cierta facilidad. En la actualidad se usa de forma mayoritaria las bases de datos relacionales.

Pero ahora vamos a dar un pequeño repaso a lo más esencial del modelo entidad-relación, que es y ha sido durante años la mejor forma de representar la estructura o esquema de estas bases de datos relacionales.

Este modelo se representa a través de diagramas y está formado por varios elementos que ayudan a entender los datos y como se relacionan entre ellos, debe de ser completado con un pequeño resumen con la lista de los atributos y las relaciones de cada elemento.

ELEMENTOS DEL MODELO ENTIDAD-RELACIÓN

ENTIDAD

Las entidades representan cosas u objetos (ya sean reales o abstractos), que se diferencian claramente entre sí.
Para poder citar un ejemplo será sobre un Taller Mecánico, donde se podría crear las siguientes entidades:

Coches (objeto físico): contiene la información de cada taller.
Empleado (objeto físico): información de los trabajadores.
Cargo del empleado (cosa abstracta): información de la función del empleado.
Estas entidades se representan en un diagrama con rectángulos, como los siguientes:


ATRIBUTOS

Los atributos definen o identifican las características de la entidad. Cada entidad contiene distintos atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos tipos (numéricos, texto, fecha...).

 Siguiendo el ejemplo de antes podemos analizar los atributos de nuestra entidad "Coches", que nos darán información sobre los coches de nuestro supuesto taller: número de chasis, matrícula, cédula del propietario, marca, modelo y muchos otros que complementen la información de cada coche.

 Los atributos se representan como círculos que descienden de una entidad, y no es necesario representarlos todos, sino los más significativos, como a continuación:

En un modelo relacional (ya implementado en una base de datos) un ejemplo de tabla dentro de una BD podría ser el siguiente: 

Número de chasis

Matrícula

Cédula de propietario

5tfem5f10ax007210

AFK 4817

1345338600

6hsen2j98as001982

OLM 8810

0702405068

5rgsb7a19js001982

GGL 0019

0940588860

 Este ejemplo es con tres atributos, pero un coche podría tener cientos (si fuese necesario) y seguirían la misma estructura de columnas, tras implementarlo en una BD.

RELACIÓN

Es un vínculo que nos permite definir una dependencia entre varias entidades, es decir, nos permite exigir que varias entidades compartan ciertos atributos de forma indispensable.

 Por ejemplo, los empleados del taller (entidad "Empleado") tienen un cargo (según la entidad "Cargo del empleado"). Es decir, un atributo de la entidad "Empleado" especificará que cargo tiene en el taller, y tiene que ser idéntico al que ya existe en la entidad "Cargo del empleado".

 Las relaciones se muestran en los diagramas como rombos, que se unen a las entidades mediante líneas.

 


Se entiende mejor esto en una tabla (de una implementación en una BD), por lo que citamos el ejemplo de cómo se representaría (resaltada la relación):  

EMPLEADO

Nombre

Cédula

Cargo

Carlos Sánchez

0945338600

001

Pepe Sánchez

0902405068

002

Juan Sánchez

1340588860

003

 

CARGO DEL EMPLEADO

ID del cargo

Descripción

001

Jefe de taller

002

Mecánico

 

RELACIONES DE CARDINALIDAD

Podemos encontrar distintos tipos de relaciones según como participen en ellas las entidades. Es decir, en el caso anterior cada empleado puede tener un cargo, pero un mismo cargo lo pueden compartir varios empleados.

Esto complementa a las representaciones de las relaciones, mediante un intervalo en cada extremo de la relación que especifica cuantos objetos o cosas (de cada entidad) pueden intervenir en esa relación.

UNO A UNO: Una entidad se relaciona únicamente con otra y viceversa. Por ejemplo, si tuviésemos una entidad con distintos chasis y otra con matrículas deberíamos de determinar que cada chasis solo puede tener una matrícula (y cada matrícula un chasis, ni más en ningún caso).

RELACIÓN UNO A UNO



UNO A VARIOS O VARIOS A UNO: determina que un registro de una entidad puede estar relacionado con varios de otra entidad, pero en esta entidad existir solo una vez. Como ha sido en el caso anterior del trabajador del taller.

RELACIÓN UNO A VARIOS



VARIOS A VARIOS: determina que una entidad puede relacionarse con otra con ninguno o varios registros y viceversa. Por ejemplo, en el taller un coche puede ser reparado por varios mecánicos distintos y esos mecánicos pueden reparar varios coches distintos.

RELACIÓN VARIOS A VARIOS



Los indicadores numéricos indican el primero el número mínimo de registros en una relación y posteriormente el máximo (si no hay límite se representa con una "n").


FUENTEhttps://www.genbeta.com/desarrollo/fundamento-de-las-bases-de-datos-modelo-entidad-relacion


lunes, 25 de enero de 2021

BASE DE DATOS RELACIONAL

Una base de datos relacional es un conjunto de una o más tablas estructuradas en registros y campos (líneas y columnas), que se vinculan entre sí por un campo en común, en ambos casos posee las mismas características como por ejemplo el nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases de datos se le denomina modelo relacional.

Un sistema de software utilizado para mantener las bases de datos relacionales es un relational database management system (RDBMS) o sistema de gestión de bases de datos relacionales. Virtualmente, todos los sistemas de bases de datos relacionales utilizan SQL (Structured Query Language) para consultar y mantener la base de datos.

CARACTERÍSTICAS COMUNES

Una base de datos se compone de varias tablas, denominadas relaciones.

· No pueden existir dos tablas con el mismo nombre ni registro.
· Cada tabla es a su vez un conjunto de campos (columnas) y registros (filas).
· La relación entre una tabla padre y un hijo se lleva a cabo por medio de las llaves primarias y llaves foráneas (o ajenas).
· Las llaves primarias son la clave principal de un registro dentro de una tabla y estas deben cumplir con la integridad de datos.
· Las llaves ajenas se colocan en la tabla hija, contienen el mismo valor que la llave primaria del registro padre; por medio de estas se hacen las formas relacionales.

ELEMENTOS

Relaciones (características en común)

En una BDR, todos los datos se almacenan y se accede a ellos por medio de relaciones previamente establecidas.

Relaciones base

Las relaciones que almacenan datos son llamadas relaciones base y su implementación es llamada "tabla".

Relaciones derivadas

Otras relaciones no almacenan datos, pero son calculadas al aplicar operaciones relacionales. Estas relaciones son llamadas relaciones derivadas y su implementación es llamada "vista" o "consulta". Las relaciones derivadas son convenientes, ya que expresan información de varias relaciones actuando como si fuera una sola tabla.

Dominios

Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "cualquier valor de este atributo debe ser elemento del conjunto especificado".

Distintos tipos de dominios son: enteros, cadenas de texto, fecha, no procedurales, etc.

CLASIFICACIÓN DE CLAVES

Clave primaria

Una clave primaria es una clave única (puede estar conformada por uno o más campos de la tabla) elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto (relación entre tablas) es por medio de claves foráneas.

Clave externa o foránea

Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.

Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados. Se permite que haya varios empleados en un mismo departamento, pero habrá uno y solo un departamento por cada clave distinta de departamento en la tabla de departamentos.

Clave índice

Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave índice.

Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una de ellas es óptima para cierta distribución de datos y tamaño de la relación.

ESTRUCTURA Y DEFINICIONES 
Terminología de una base de datos relacional: tupla, atributo y relación.

La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o instancia).

El esquema es la definición de la estructura de la base de datos y principalmente almacena los siguientes datos:

· El nombre de cada tabla

· El nombre de cada columna

· El tipo de dato de cada columna

· La tabla a la que pertenece cada columna

Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización de una base de datos. Dicho proceso se basa principalmente en el concepto de dependencia funcional es un esquema que permite que la base de datos sea usada de manera óptima.

Los datos o instancia es el contenido de la base de datos en un momento dado. Es en sí, el contenido de todos los registros.

La tabla inferior resume algunos de los términos más importantes de las bases de datos relacionales y el término SQL correspondiente (en inglés):

 

Término SQL

Término de bases de datos relacionales

Descripción

Fila

Tupla o registro

Un conjunto de datos, que representa un ítem simple

Columna

Atributo o campo

Un elemento etiquetado de una tupla, p.e. "Dirección" o "Fecha de nacimiento"

Tabla

Relación o Base relvar

Un conjunto de tuplas compartiendo los mismos atributos; un conjunto de filas y columnas.

Vista o conjunto de resultados

Relvar derivado

Cualquier conjunto de tuplas; un reporte o informe de datos de una RDBMS en respuesta a una consulta



FUENTE:  https://es.wikipedia.org/wiki/Base_de_datos_relacional 

domingo, 17 de enero de 2021

SISTEMA GESTOR DE BASE DE DATOS: MODELOS Y SGBD MAS POPULARES

Un sistema gestor de base de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos. Los usuarios pueden acceder a la información usando herramientas específicas de consulta y de generación de informes, o bien mediante aplicaciones al efecto. 

Estos sistemas también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas. 

Generalmente se accede a los datos mediante lenguajes de consulta, lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones. También simplifican las consultas y la presentación de la información.

MODELOS DE BASES DE DATOS

El objetivo de instalar un sistema gestor de base de datos es administrar los registros de la mejor manera posible. Como ya hemos mencionado, existen varios modelos para ello, que difieren básicamente en la manera en que se estructuran los datos. Por lo tanto, decidirse por un DBMS siempre implica decidirse por un modelo de base de datos concreto. Existen los siguientes modelos de bases de datos:

  • Relacional
  • Jerárquica
  • De red
  • Orientada a objetos
  • Orientada a documentos

El más común y popular es el modelo de base de datos relacional, en el que los datos se estructuran en filas de tabla. La ventaja de este modelo radica en la posibilidad de crear diferentes relaciones entre las filas y presentarlas en columnas. El procedimiento es diferente al del modelo de base de datos jerárquico, donde los diferentes datos se organizan en relaciones padre-hijo, en una estructura similar a la de un árbol.

Otros enfoques para organizar los datos son el modelo de red, donde los datos, como el nombre indica, se estructuran en forma de red, o el modelo orientada a objetos, en el que no solo importa la relación entre los registros de datos, sino también el concepto de la herencia: esto significa que los objetos pueden transferir algunos de sus atributos a otros objetos, lo que se regula a través del SGBD. 

Por su parte, el modelo de base de datos orientado a documentos permite almacenar los registros de datos en diferentes documentos

EJEMPLOS DE SGBD MÁS POPULARES

De entre los numerosos sistemas gestores de bases de datos que existen, estos son los 15 más populares y utilizados:

1. Microsoft Access (relacional)

2. Microsoft SQL Server (relacional)

3. MySQL (relacional)

4. Oracle Database (relacional)

5. OrientDB (orientado a documentos)

6. CouchDB (orientado a documentos)

7. Db2 de IBM (relacional)

8. IMS de IBM (jerárquico)

9. IBM Informix (relacional)

10. MariaDB (relacional)

11. Sybase ASE (relacional)

12. MongoDB (orientado a documentos)

13. PostgreSQL (combina relacional y orientado a objetos)

14. Firebird (relacional)

15. Caché (jerárquico)

 

Fuentes:  

https://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos

https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/sistema-gestor-de-base-de-datos-sgbd/