Base De Datos I

← Volver atrás
Apunte de Base De Datos I

Cursada: 56 hs

Examen: 8 hs

Total: 64 hs

Apunte Base de Datos

Profesor/a: Rosalía Insaurralde

16/8/2024

Escrito por: Felipe Arce

Base De Datos

Despues de las hermosas clases de Arquitectura y Sistemas Operativos , volvimos a las clases de Rosalía con Base de datos , donde la primera clase ya fue una clase compleja de crear diagramas entidad Relación y una entrega para el fin de semana

Clase I - 16 de agosto de 2024

Introducción

En el entorno del mercado actual, la competitividad y la rapidez de maniobra de una empresa son imprescindibles para su éxito. Para conseguirlo existe cada vez una mayor demanda de datos y, por tanto, más necesidad de gestionarlos. Esta demanda siempre ha estado patente en empresas y sociedades, pero en estos años se ha disparado debido al acceso multitudinario a las redes integradas en Internet y a la aparición de los dispositivos móviles que también requieren esa información.

En informática se conoce como dato a cualquier elemento informativo que tenga relevancia para un usuario. Desde su nacimiento, la informática se ha encargado de proporcionar herramientas que faciliten la manipulación de los datos.

Los sistemas de información actuales se basan en bases de datos (BD) y sistemas de bases de datos (SGBD) que se han convertido en elementos imprescindibles de la vida cotidiana de la sociedad moderna.

Definición de Base de Datos

Cada día, la mayoría de nosotros nos encontramos con actividades que requieren algún tipo de interacción con una base de datos (ingreso en un banco, reserva de una entrada para el teatro, solicitud de una suscripción a una revista, compra de productos, …).

  • Una base de datos se entenderá como una colección de datos relacionados entre sí y que tienen un significado implícito.
  • Por datos queremos decir hechos conocidos que pueden registrarse y que tienen un significado implícito.

Ejemplo: Una agenda con los nombres y teléfonos de un conjunto de personas conocidas es una base de datos, puesto que es una colección de datos relacionados con un significado implícito.

La definición hace referencia a dos elementos para que un conjunto de datos constituya una Base de Datos:

  1. Relaciones entre datos, tema que se tratará en las secciones siguientes.
  2. Significado implícito de los datos que se atribuye dependiendo del contexto en que se utilizan los mismos.

Evolución Histórica

Los predecesores de los sistemas gestores de bases de datos fueron los sistemas gestores de ficheros o sistemas de archivos tradicionales.

  1. Archivos tradicionales: Consiste en almacenar los datos en archivos individuales, exclusivos para cada aplicación particular. En este sistema los datos pueden ser redundantes (repetidos innecesariamente) y la actualización de los archivos es más lenta que en una base de datos.
  2. Base de datos: Es un almacenamiento de datos formalmente definido, controlado centralmente para intentar servir a múltiples y diferentes aplicaciones. La base de datos es una fuente de datos que son compartidos por numerosos usuarios para diversas aplicaciones.

Evolución de los Sistemas de Base de Datos

Inicio: parte de la necesidad de almacenar grandes cantidades de datos.

  1. Década de 1950: Da origen a las cintas magnéticas.
  2. Década de 1960: Implementación de los discos.
  3. Década de 1970: Nacen las bases de datos relacionales y Oracle.
  4. Década de 1980: El modelo relacional se posiciona en el mercado de las bases de datos.
  5. Actualidad: Diversidad de modelos y tecnologías.

Evolución de los Tipos de Base de Datos

Concidiendo con la evolución histórica de las bases de datos, estas han utilizado distintos modelos:

  • Jerárquicos
  • En red
  • Relacionales (Lo que vamos a estudiar)
  • Multidimensionales
  • De objetos

Base De Datos Estructura Jerárquica

La estructura jerárquica fue usada en las primeras bases de datos. Las relaciones entre registros forman una estructura en árbol. Actualmente, las bases de datos jerárquicas más utilizadas son IMS de IBM y el Registro de Windows en Microsoft.

Base De Datos Estructura Jerargica

Base De Datos Con estructura en red

Esta estructura contiene relaciones más complejas que las jerárquicas. Admite relaciones de cada registro con varios que se pueden seguir por distintos caminos.

Base De Datos Estructura De Red

Base De Datos Con estructura relacional

La Estructura Relacional es la más extendida hoy en día. Almacena los datos en Filas o Registros (Tuplas) y Columnas o Campos (Atributos). Estas tablas pueden estar conectadas entre sí por claves comunes.

Base De Datos Estructura Relacional

Esta imagen muestra una estructura relacional con tablas y relaciones que facilitan la organización y consulta de datos.

Base De Datos Con estructura orientada a Objetos

La Estructura Orientada a Objetos está diseñada siguiendo el paradigma de los lenguajes orientados a objetos. De este modo soporta los tipos de datos Graficos, Imágenes, Voz y Texto de manera natural. Esta Estructura tiene gran difusión en aplicaciones web para aplicaciones multimedia.

Base De Datos de Estructura Estructuras Orientada Objetos

Esta imagen muestra una base de datos orientada a objetos

Sistemas de ficheros tradicionales

En estos sistemas, cada programa almacenaba y utilizaba sus propios datos de forma un tanto caótica. La única ventaja que conlleva esto es que los procesos son independientes, por lo que la modificación de uno no afecta al resto.

Inconvenientes:

  • Datos redundantes. Ya que se repiten continuamente.
  • Coste de almacenamiento elevado. Al almacenarse varias veces el mismo dato en distintas aplicaciones, se requiere más espacio en los discos.
  • Tiempos de procesamiento elevados. Al no poder optimizar el espacio de almacenamiento.
  • Probabilidad alta de inconsistencia en los datos. Ya que un proceso cambia sus datos y no el resto. Por lo que el mismo dato puede tener valores distintos según qué aplicación acceda a él.
  • Difícil modificación en los datos. Debido a la probabilidad de inconsistencia, cada modificación se debe repetir en todas las copias del dato (algo que normalmente es imposible).
Base De Datos de una estructura con Ficheros

Esta imagen ilustra una base de datos desorganizada, que presenta problemas como datos redundantes. La falta de consistencia en los datos dificulta las modificaciones, ya que cada cambio debe replicarse en múltiples copias.

Base De Datos de una estructura Relacional acomodada

Esta imagen ilustra una base de datos relacional organizada, que presenta todos los datos necesarios. Con consistencia en los datos facilita las modificaciones, ya que cada cambio se replica correctamente.

Sistemas de bases de datos relacionales

Ventajas:

  • Menor redundancia. No hace falta tanta repetición de datos.
  • Menor espacio de almacenamiento. Gracias a una mejor estructuración de los datos.
  • Acceso a los datos más eficiente. La organización de los datos produce un resultado más óptimo en rendimiento.
  • Datos más documentados. Gracias a los metadatos que permiten describir la información de la base de datos.
  • Independencia de los datos y los programas y procesos. Esto permite modificar los datos sin modificar el código de las aplicaciones.
  • Integridad de los datos. Mayor dificultad de perder los datos o de realizar incoherencias con ellos.
  • Mayor seguridad en los datos. Al limitar el acceso a ciertos usuarios.

Desventajas:

  • Instalación costosa. El control y administración de bases de datos requiere de un software y hardware potente.
  • Requiere personal cualificado. Debido a la dificultad de manejo de este tipo de sistemas.
  • Implantación larga y difícil. Debido a los puntos anteriores, la adaptación del personal es mucho más complicada y lleva bastante tiempo.

Diseño de Base de Datos

Requerimientos de la Información

Esta etapa consiste en identificar y recopilar toda la información necesaria para el sistema de base de datos. Implica entender qué datos se deben almacenar, cómo se relacionan entre sí, y qué consultas o informes serán necesarios. Es fundamental para garantizar que la base de datos cumpla con las necesidades de los usuarios y el funcionamiento de la organización.

Etapas de diseño para la base de datos:

  • 1. Diseño conceptual: Definición de los requerimientos de información y estructura general de la base de datos.

  • 2. Diseño lógico: Definición de las tablas, relaciones, y reglas de integridad de acuerdo con el modelo conceptual.

  • 3. Diseño físico de la base de datos: Definición de la estructura física, tipos de datos, índices y cómo se almacenará la información.

4. Implementación de la base de datos

La etapa final donde la base de datos es creada y puesta en funcionamiento basada en los diseños conceptual, lógico y físico.

Diseño de Bases de Datos

Fase de Análisis: Especificación de Requisitos Software (E.R.S.) Antes de pasar a diseñar una base de datos (BD), es crucial tener claro qué se quiere lograr. Para ello, los informáticos se reúnen con los futuros usuarios del sistema para recopilar la información que necesitan y entender las expectativas de dichos usuarios.

Normalmente, se realiza una reunión inicial y, a partir de ella, se elabora una batería de preguntas para entrevistar a los usuarios finales en una segunda reunión. Esta segunda entrevista permite obtener información detallada sobre lo que se espera de la base de datos.

De estas entrevistas, se extrae el documento más importante del análisis, el documento de Especificación de Requisitos Software (E.R.S.). A partir de este documento, se obtiene toda la información necesaria para la modelización de datos.

Fase 1 del Diseño: Diseño Conceptual - Modelo Entidad/Relación (E/R)

El objetivo de esta fase es representar la información obtenida del usuario final y concretada en el E.R.S., utilizando estándares para que el resto de la comunidad informática pueda entender el modelo. El modelo que se utiliza en esta primera fase tiene un gran poder expresivo para comunicarse con usuarios no expertos en informática y se denomina Modelo Conceptual. En esta fase, empleamos el Modelo Entidad/Relación.

Fase 2 del Diseño: Diseño Lógico - Modelo Relacional

Este modelo es más técnico y está orientado al personal informático, con traducción directa al modelo físico que entiende el SGBD. Se obtiene a partir del modelo conceptual y dependerá de la implementación de la base de datos. La implementación varía según el tipo de BD: jerárquica, orientada a objetos o relacional.

Ejemplos:

Productos, Inventario, Inventario, Categorías, Relaciones entre estas entidades que reflejan cómo los datos se interconectan y se organizan.

Fase 3 del Diseño: Diseño Físico - Modelo Físico

Es el resultado de aplicar el modelo lógico a un SGBD específico. Generalmente, se expresa en un lenguaje de programación de bases de datos como SQL. En esta etapa, transformaremos el Modelo Relacional en el modelo físico utilizando el sublenguaje DDL de SQL.

Clase I - Parte 2 - 16 de agosto de 2024

Modelo Entidad-Relación

El modelo Entidad-Relación es el modelo más utilizado para el diseño conceptual de bases de datos. Fue introducido por Peter Chen en 1976 y se basa en la existencia de objetos a los que se les da el nombre de entidades, y asociaciones entre ellos, llamadas relaciones.

Introductor de El modelo Entidad Relación
Creado por Peter Chen en 1976

Sus símbolos principales se representan en el cuadro siguiente:

Simbolos Entidad Relación

Entidades

Una entidad es cualquier objeto o elemento acerca del cual se puede almacenar información en la base de datos. Las entidades pueden ser concretas, como personas y vehículos, o abstractas, como materias en una institución o cuentas bancarias.

Gráficamente, las entidades se representan mediante rectángulos, con su nombre escrito en el interior. Es importante destacar que un nombre de entidad solo puede aparecer una vez en el esquema conceptual, asegurando la claridad y la unicidad de la información.

Existen dos tipos de entidades: las entidades fuertes, que pueden existir de manera independiente, y las entidades débil, cuya existencia depende de la existencia de otra entidad. Este concepto es crucial para entender la estructura y las relaciones dentro de una base de datos.

Atributos

Una entidad se caracteriza y distingue de otra por los atributos, también llamados propiedades o campos, que representan las características de una entidad.

Los atributos de una entidad pueden tomar un conjunto de valores permitidos al que se le conoce como dominio del atributo. Dando valores a estos atributos, se obtienen las diferentes ocurrencias de una entidad.

Tipos de Atributos:

Identificadores:

Definición: Son atributos cuyos valores no se repiten dentro de una misma entidad o relación. Actúan como clave principal o primaria.

Identificadores

Ej: dni

Descriptores:

Definición: Atributos que describen diversas propiedades de una entidad o relación. Son los más frecuentes.

Descriptores

Ej: nombre

Derivados:

Definición: Atributos cuyos valores se calculan a partir de los valores de otros atributos.

Derivados

Ej: edad

Multivaluados:

Definición: Atributos descriptores que poseen varios valores de un mismo dominio, utilizados para almacenar múltiples datos.

Multivaluados

Ej: teléfono

Compuestos:

Definición: Atributos que pueden ser descompuestos en otros atributos pertenecientes a distintos dominios.

Compuestos

Ej: fecha (Día, Mes, Año)

Ejemplo de una Entidad de Base de Datos

Supongamos que estamos creando la base de datos para una tienda de televisores. El dueño de la tienda desea un sistema que le permita conocer todos los televisores que ha vendido a cada cliente. Para esto, es importante identificar la información clave.

Entidades Principales:

  • Televisores
  • Clientes

Características de los Clientes:

  • ID
  • Nombres
  • Apellidos

Características de los Televisores:

  • Seriales
  • Modelo
  • Marca
  • Dimensiones
  • Precios
Imagen Diagrama Cliente

Aunque atributos como ID y Nombre en la entidad de “Clientes” podrían subrayarse para indicar su importancia, en esta fase del diagrama aún no se realiza esa diferenciación.

Imagen Diagrama Televisores

La misma consideración aplica para los atributos del diagrama de “Televisores,” donde aún no se hace distinción con subrayados en esta etapa del diseño.

Relaciones

Una relación es la asociación que existe entre dos o más entidades. Cada relación tiene un nombre que describe su función. Las relaciones se representan gráficamente mediante rombos y su nombre aparece en el interior.

Las entidades que están involucradas en una determinada relación se denominan entidades participantes. El número de participantes en una relación es lo que se denomina grado de la relación.

Por ejemplo, La relación Película-Actor es de grado 2 o binaria, ya que intervienen dos entidades: Pelicula y Actor

Imagen Diagrama Binario

Un diagrama Binario.

La relación PUBLICAR es de grado 3 ya que involucra las entidades: Libro , Editorialy Autor

Imagen Diagrama Grado Tres

Un diagrama Grado Tres.

Cuando una entidad esta relacionada consigo misma, es una relación reflexiva, ya que involucra dos entidades reflexivas Empleado es a la misma vez Jefe

Imagen Diagrama Reflexivo

Un diagrama reflexivo.

Cardinalidad

La correspondencia de cardinalidades, o razón de cardinalidad, expresa el número de entidades a las que otra entidad puede estar asociada vía un conjunto de relaciones. Para un conjunto de relaciones binarias R entre los conjuntos de entidades A y B, la correspondencia de cardinalidades debe ser una de las siguientes:

  • Uno a uno: Una entidad en A se asocia con a lo sumo una entidad en B, y una entidad en B se asocia con a lo sumo una entidad en A.

Imagen Diagrama Uno A uno

Un diagrama Uno a Uno.

  • Uno a varios: Una entidad en A se asocia con cualquier número de entidades en B (ninguna o varias). Una entidad en B, sin embargo, se puede asociar con a lo sumo una entidad en A.

Imagen Diagrama Uno a Varios

Un diagrama de Uno a Varios / Uno a Muchos

  • Varios a uno: Una entidad en A se asocia con a lo sumo una entidad en B. Una entidad en B, sin embargo, se puede asociar con cualquier número de entidades (ninguna o varias) en A.

Imagen Diagrama Varios A uno

Un diagrama de Varios A Uno / Muchos a Uno

  • Varios a varios: Una entidad en A se asocia con cualquier número de entidades (ninguna o varias) en B, y una entidad en B se asocia con cualquier número de entidades (ninguna o varias) en A.

Imagen Diagrama Varios A Varios

Un diagrama de Varios A Varios / Muchos a Muchos

Ejercicio Práctico:

Realizar el diagrama Entidad Relación

  • En una escuela se quiere crear un sistema para el control de asistencia.
  • Se quiere registrar la asistencia diaria de los estudiantes a las clases. Cada estudiante puede estar inscripto en una o varias asignaturas.
  • Cada asignatura puede ser impartida por uno o varios profesores.
  • Se debe almacenar la fecha y hora de las clases, cada clase será impartida por un profesor en una asignatura determinada.

Los datos que se requieren son:

  • Estudiantes: idEstudiante, Nombre, Apellido y Fecha de Nacimiento.
  • Asignaturas: idAsignatura, Nombre.
  • Profesores: idProfesor, Nombre y Apellido.
  • Clases: idClase, Fecha y Hora.
Pasos para la Resolución
  • Identificar las entidades y sus atributos
  • Paso 2
  • Paso 3
  • Paso 4
  • Paso 5
  • Paso 6

Clase 2 - 23 de agosto de 2024

Modelo Relacional de datos

Modelo relacional de base de datos El modelo relacional se define como la base de datos que permite agrupar sus elementos de datos en una o más tablas independientes, que pueden relacionarse entre sí utilizando campos comunes a cada tabla relacionada.