Unidad 1
Que es una base de datos?
Es una colección de datos relacionados. Con datos hacemos referencia a los hechos conocidos que
se pueden grabar y tiene un significado implícito.
Propiedades implícitas:
Representa algún aspecto en el mundo real.
Es una colección de datos lógicamente coherente con algún tipo de significado inherente.
Se diseña, construye y rellena con datos para un propósito específico.
El objeto -> que sea en todo momento precisa y fiable, debe ser un reflejo exacto del mini mundo
que representa, y debe reflejarse los cambios lo más rápido posible.
Puede ser de cualquier tamaño y complejidad.
Que es un sistema de gestión de base de datos?
Es un sistema que facilita los procesos de definición, construcción, manipulación y compartición de
bases de datos entre varios usuarios y aplicaciones.
Definir: Se especifica los tipos de datos, estructuras y restricciones de los datos que se
almacenaran.
Construir: Se almacena los datos en un almacenamiento controlado por el SGDB, además pueden
recuperar datos y actualizar para reflejas cambios.
Compartir: Permite que usuarios y programas accedan a la base de datos de forma simultánea.
Caracteristicas del Sistema de gestión de base de datos
Protección: Resguarda el sistema contra el funcionamiento defectuoso y contra acceso no
autorizado o malintencionado.
Mantenimiento: El DBMS mantiene el sistema de base de datos, permitiendo que evolucione el
sistema según cambian los requisitos.
Metodología de trabajo de la base de datos
1) Naturaleza auto descriptiva de un sistema de BD: El sistema además de contener la base
de datos, tiene una descripción de la estructura de la BD y sus restricciones. Esta
descripcion se almacena en el catálogo DBMS.
2) Aislamiento entre programas, datos y abstracción de datos: (Independencia programa –
datos) + (Independencia programa - operación) = (Independencia programa - operación) La
independencia programa – datos es la propiedad que describe la estructura de los archivos
de datos. La independencia programa – operación opera sobre los datos invocando
operaciones por sus nombres y argumentos.
3) Soporte de varias vistas de los datos: Una vista puede ser un subconjuto de la base de
datos o puede contener datos virtuales derivados de los archivos pero que no están
explícitamente almacenados. Un DBMS multiusuario debe ofrecer facilidades para definir
varias vistas
4) Compartición de datos y procesamiento de transacciones multiusuario: El DBMS necesita
un control de concurrencia para que varios usuarios puedan actualizar los mismos datos al
mismo tiempo, asegurando que los resultados sean correctos. En aplicaciones de
transacciones en línea es necesario que el FBMS funcione correctamente, para esto las
transacciones deben cumplir dos propiedades:
1) Aislamiento: Parece que cada transacción se ejecuta de forma asiladas de otras
transacciones
2) Atomicidad: Se ejecutan todas o ninguna de las operaciones.
Actores que participan en la interacción con una BD
Administradores: Responsables del acceso autorizado, de la coordinación y monitorización de su
uso y de adquirir los recursos necesarios para responder antes problemas.
Diseñadores: Responsables de identificar los datos y de elegir la estructura apropiada
comunicándose con los usuarios para saber sus requisitos
Usuarios: Aquellos que necesitan acceso a la BD para realizar consultas, actualizaciones e informes.
Analistas de sistemas y programadores: Los analistas determinan los requisitos de los usuarios, y
los programadores implementan esos requisitos como sistemas.
Conceptos básicos de BDs
Independencia física: Simplifica el desarrollo de las aplicaciones y permite realizar cambios en la
estructura física para optimizar el uso de la BD, sin modificar las apps.
Independencia lógica: Facilita los cambios en apps sin modificar la BD, y cada app organiza los
datos según sus necesidades.
Lenguaje de consulta: Facilita el acceso a los datos al usuario.
Centralización: Gestión automática de accesos concurrentes.
Consistencia de datos: Mantenimiento de los datos.
Seguridad: Control de acceso a datos particulares.
Otros beneficios
● Potencial para implementar estándares
● Tiempo de desarrollo de aplicación reducido
● Flexibilidad
● Economías de escala
Base de datos jerárquica
Utiliza “arboles” para la representación lógica de los datos, en donde los archivos están
organizados en jerarquías
Cada nodo del árbol representa una entidad, y cada entidad posee propiedades o atributos. Las
relaciones entre entidades las representa las “ramas”.
La desventaja son que al borrar un nodo “padre”, desaparecen los nodos hijos. Solo puede añadirse
nodos hijos si existe el nodo padre, además solo puede haber un padre por hijo, tampoco se puede
relacionar entre nodos hijos.
Bases de datos en red
Es similar a la anterior, la diferencia es que esta puede tener varios padres
Bases de datos relacionales
Representa un conjunto de tablas relacionadas, los conceptos de este modelo son Registro y Tabla.
Es el modelo más utilizado en la actualidad y su ventaja es que no importa la forma en que se
almacenen los datos, su información puede ser recuperada o almacenada por medio de consultas.
Lenguajes
Lenguaje de definición de datos (DDL): Define los datos a nivel conceptual, generando un archivo
denominado diccionario de datos.
Lenguaje de manipulación de datos (DML): Permite recuperar información como también ingresar
modificar y eliminar datos.
Unidad 2 – Diagrama entidad relación
Modelo de datos
Es un conjunto de reglas y herramientas que se usa para describir datos, las relaciones, el
significado y las restricciones de los mismos.
Modelo de alto nivel (conceptuales)
● Relacionados de modo que los usuarios perciben los datos
● Orientados a la descripción de estructuras de datos y restricciones de integridad
● Se utiliza en la etapa de análisis de un problema
Modelo de datos representacionales (Implementación)
● Orientado a las operaciones
● Esta implementado en manejadores de base de datos
● El ejemplo típico es el modelo relacional
Modelo de bajo nivel (Datos físicos)
● Describen en detalle como son almacenados los datos
Modelo entidad-relación
Es un tipo de diagrama de flujo que muestra como las entidades se relacionan entre sí,
permitiendo diseñar o depurar bases de datos relacionales.
Utiliza un conjunto de símbolos para representar la interconexión de entidades, relaciones y sus
atributos, y su estructura gramatical, las entidades utilizan sustantivos y las relaciones verbos.
Entidad
Una entidad es un objeto que existe y se distingue de otros por sus atributos, pueden ser
entidades concretas (una persona, por ejemplo) o abstractas (un puesto de trabajo, por ejemplo).
También existe la entidad débil la cual su existencia depende de la existencia de otra entidad, y su
identificador está asociado con el identificador de la entidad que depende.
Atributos
Son las propiedades de cada entidad, hay también un atributo “identificativo” que permite
diferenciar a una instancia de la entidad de otra distinta.
Para cada atributo existe un dominio, que hace referencia al tipo de datos que va a almacenar. Y si
una entidad no tiene un valor para algún atributo, el atributo va a tomar el valor “nulo”
Relación
Asocia entre una o varias entidades, estas se nombran con un verbo y se representan mediante
flechas y rombos. Cada entidad interviene en una relación con una determinada cardinalidad, y si
se elimina una de las entidades, la relación también desaparece.
Relación recursiva: Relaciona una entidad consigo misma
Dos relaciones entre las mismas entidades: Es la relación clásicas
Relación ternaria: Relación entre tres entidades
Cardinalidad
Es el número de elementos de una entidad que pueden asociarse a un elemento de otra entidad
relacionada y se representa mediante una pareja de datos, primero cardinalidad mínima y luego la
máxima.
1 a 1: Cada registro de la tabla A solo puede tener un registro de coincidente en la tabla B y
viceversa.
1 a n: Un registro de la tabla A puede tener muchos registros coincidentes en la tabla B, pero un
registro de la tabla B solo tiene un registro coincidente de la tabla A.
n a 1: Viceversa a la anterior.
n a n: Un registro de la tabla A puede tener muchos registros coincidentes en la tabla B y viceversa.
La existencia de una entidad en una relación puede ser definida como obligatoria (1) u opcional (0).
Relación – Especialización ES-UN
Clasifica la entidad en subtipos en número finito y conocido, y cada subtipo puede poseer atributos
propios, además de los atributos de la entidad “padre”.
Tienen dos restricciones
Totalidad: Todo ejemplar del supertipo tiene que pertenecer a un subtipo, sino es considerada
parcial.
Solapamiento: Un mismo ejemplar del supertipo puede pertenecerá más de un subtipo, de lo
contrario se llama exclusividad.
Generalización / Especialización
Se emplea para entidad que contienen atributos comunes que puede ser generalizado en una
entidad de nivel más alto, en los niveles más bajos son los subtipos y especializan la entidad
anterior, agregando atributos que lo describen.
Herencia
Entidad de una subclase hereda los atributos y relaciones de su superclase, además de sus propios
atributos y relaciones.
Diagramas entidad-relación a Modelo Relacional
Se debe transformar el DER a Modelo relacional porque:
● DER es un modelo de datos conceptual de alto nivel
● Facilita las tareas de diseño conceptual de BD
● Se debe traducir a un esquema compatible con un SGBD
● El Modelo Relacional es utilizado por la mayoría de SGBD
Transformar entidades
Para cada entidad fuerte se define en una tabla, se incluyen sus atributos simples y compuestos y
se seleccionan los atributos claves.
Para cada entidad débil se define en una tabla, se incluyen sus atributos y los atributos clave de la
entidad fuerte.
Transformación de vínculos
1 – N: Se añade a la tabla de la entidad (N) la clave primaria de la entidad relacionada (1).
1 – 1: Se añade a la tabla de alguna de las dos entidades la clave primaria de la otra entidad.
M – N: Se crea una tabla aparte con las claves primarias de ambas entidades, más los atributos de
la relación. En caso de una relación de más de dos entidades y sus vínculos sean M – N, también se
creará una tabla para ellos, y sus atributos serán las claves primarias de cada entidad y los
atributos de la relación.
Transformación de atributos multivaluados
Se crea una tabla, sus atributos serán la clave primaria de su entidad y sus propios atributos del
multivaluado.
Normalización
Transforma las vistas de usuarios complejas y el almacenamiento de datos en estructuras de datos
más pequeñas y estables, básicamente simplificando y organizando la información.
1er Forma normal
● Todos los atributos deben ser indivisibles, es decir que no deben existir grupos de valores
repetidos, y cada renglón columna tenga un solo renglón.
● Todos los atributos son dependientes de la clave primaria.
2da Forma normal
● No deben existir dependencias funcionales parciales. Esto significa que todos los valores
de las columnas de una fila deben depender de la clave primaria de dicha fila, entendiendo
por clave primaria los valores de todas las columnas que la formen, en caso de ser más de
una.
● Afecta exclusivamente a las tablas en las que su clave primaria este formada por valores de
dos o mas columnas.
3er Forma normal
● No deben existir dependencias transitivas entre las columnas de una tabla, es decir que las
columnas que no forman parte de la clave primaria, deben depender solo de la clave,
nunca de otra columna no clave
Desnormalización
La normalización no considera el rendimiento, por esto existe la desnoralización, que es la
duplicación intencionada de columnas en varias tablas, aumentando la redundancia de datos. Esto
permite aumentar la velocidad de procesamiento, pero puede provocar datos anómalos.