Bases de Datos
I. INTRODUCCIÓN Y GENERALIDADES
• Introducción a las Bases de Datos
¿Qué es una Base de Datos?
• Colección compartida de datos relacionados desde el
punto de vista lógico, junto con una descripción de esos
datos (metadatos), diseñada para satisfacer las
necesidades de información de una organización.
• Conjunto exhaustivo y no redundante de datos
estructurados, organizados de forma independiente a su
utilización o implantación en máquina, accesibles en
tiempo real y compatibles con usuarios concurrentes y sus
respectivas necesidades (peticiones) de información.
• Las Bases de Datos sirven para almacenar, procesar y
extraer datos
¿Qué es una Base de Datos?
• Una base de datos es una colección de información
organizada de forma que un programa de ordenador pueda
seleccionar rápidamente los fragmentos de datos que
necesite. Una base de datos es un sistema de archivos
electrónico.
• Las bases de datos se organizan por campos, registros y
archivos. Un campo es una pieza única de información; un
registro es un sistema completo de campos; y un archivo
es una colección de registros. Por ejemplo, una guía de
teléfono es análoga a un archivo. Contiene una lista de
registros, cada uno de los cuales consiste en tres campos:
nombre, dirección, y número de teléfono.
• A veces se utiliza DB, de database en inglés, para referirse
a las bases de datos.
¿En qué se diferencia una Base de Datos de los archivos
tradicionales?
Una base de datos es un archivo, existen diferentes tipos de
archivos, cómo de texto, imágenes, pistas de audio, video, entre
otras junto con los archivos de bases de datos. Cada tipo de
archivo tiene sus características únicas que los diferencian y
programas específicos que nos permiten hacer uso de ellos.
En el caso de las bases de datos, tienen un estructura
organizacional que permite contener de forma ordenada datos de
diferentes tipos.
¿En qué se diferencia una Base de Datos de los archivos
tradicionales?
Hojas de cálculo Excel SGBD
ó
Archivos tradicionales
DBMS
Bases de Datos
Documentos Word
Presentaciones Power Point
Archivos de texto Block de notas
Editar imágenes Paint, Corel, etc.
Archivos de audio Reproductor de Windows, Winamp, etc.
¿Qué es un Sistema Gestor de Base de Datos?
Sistema Gestor de Bases de Datos (SGBD). Es
un software que proporciona servicios para la
creación, el almacenamiento, el
procesamiento y la consulta de la información
almacenada en base de datos de forma segura y
eficiente.
¿Funciones de un Sistema Gestor de Base de Datos?
Los SGBD pueden considerarse como intermediarios entre las
aplicaciones y la representación de los datos. Así, los
desarrolladores ven los datos desde una perspectiva de más alto
nivel. Esa perspectiva es la del modelo de bases de datos
utilizado.
Proporcionar independencia de los datos y las aplicaciones. Así,
se puede diseñar la base de datos incluso antes que las
aplicaciones, y ese diseño permitirá que se desarrollen múltiples
aplicaciones posteriormente.
Niveles:
•Físico
•Lógico
•Vistas
¿Funciones de un Sistema Gestor de Base de Datos?
Restricciones: Otras funciones
•Unicidad •Backup
•Valores nulos •Importar datos
•Tipo de dato almacenado •Exportar datos
•Tamaño
Control de acceso
•Usuarios LO QUE NO
•Privilegios
HACE UN SGBD
Un buen diseño de
la base de datos
Sistema Gestor de Base de Datos
Los lenguajes
Un sistema gestor de base de datos debe proporcionar una serie de
lenguajes para la definición y manipulación de la base de datos. Estos
lenguajes son los siguientes:
• Lenguaje de definición de datos (DDL). Para definir los esquemas de la
base de datos
• Lenguaje de manipulación de datos (DML). Para manipular los datos de
la base de datos
• Lenguaje de control de datos (DCL). Para la administración de usuarios
y seguridad en la base de datos.
Ventajas de utilizar un Sistema Gestor de Base de Datos
1. Seguridad de los datos
2. Control o manipulación de datos
3. Actualización de los datos en línea
4. Mantener organización coherente de los datos
5. Generación de informes a partir de los datos
6. Accesos concurrentes a las BD
Estructura Global de un Sistema Gestor de Bases de Datos
II. MODELOS DE BASE DE DATOS
• Categorías de los modelos de datos
• Modelo de datos utilizando Entidad-Relación
• Modelo Entidad-Relación extendido
• Herencia, Generalización y Características de la
Especialización y Generalización.
Fases del Diseño de una BD
Análisis de requisitos
Diseño Conceptual
Implantación en el SGBD
¿Qué es Abstracción?
Modelo del
Objeto Abstracción
Objeto
Niveles de Abstracción
Usuarios Vista Vista Vista … Vista
Finales 1 2 3 n
DBA
Nivel Conceptual
SGBD Nivel Físico
¿Qué es el Modelado de Datos?
MUNDO ANALIZAR
REAL
INTERPRETAR
ABSTRAER
MODELO
¿Qué es el Modelado de Datos?
• Es la representación de cosas del mundo real.
• Es una representación de la realidad que contiene las
características generales de algo que se va a realizar.
En base de datos, esta representación la elaboramos
de forma gráfica.
• Es una colección de herramientas conceptuales para
describir los datos, las relaciones que existen entre
ellos, semántica asociada a los datos y restricciones de
consistencia.
Los Modelos de Datos se dividen en 3 grupos:
• Modelos lógicos basados en objetos.
• Modelo Entidad-Relación.
• Modelo Orientado a Objetos.
• Modelos lógicos basados en registros.
• Modelo Relacional.
• Modelo Jerárquico.
• Modelo de Red.
• Modelos físicos de datos.
• Modelo UML (Unified Modeling Language).
Los Modelos de Datos se dividen en 3 grupos:
• Modelos lógicos basados en objetos.
• Modelo Entidad-Relación.
• Modelo Orientado a Objetos.
• Modelos lógicos basados en registros.
• Modelo Relacional.
• Modelo Jerárquico.
• Modelo de Red.
• Modelos físicos de datos.
• Modelo UML (Unified Modeling Language).
Modelo Entidad-Relación (E-R)
El modelo E-R se basa en una percepción del
mundo real, la cual esta formada por
OBJETOS BÁSICOS llamados entidades y
las relaciones entre estos objetos así como
las características de estos objetos llamados
atributos.
Modelo Entidad-Relación (E-R)
Una entidad es un objeto que existe y se
distingue de otros objetos de acuerdo a sus
características llamadas atributos. Las
entidades pueden ser concretas como una
persona o abstractas como una fecha.
Entidad
Modelo Entidad-Relación (E-R)
Un conjunto de entidades es un grupo de
entidades del mismo tipo. Por ejemplo el
conjunto de entidades CUENTA, podría
representar al conjunto de cuentas de un
BANCO, o ALUMNO representa a un
conjunto de entidades de todos los
alumnos que existen en el instituto CIMAS.
Modelo Entidad-Relación (E-R)
Una entidad se caracteriza y distingue
de otra por los atributos, en
ocasiones llamadas propiedades, que
representan las características de una
entidad.
Atributo
Modelo Entidad-Relación (E-R)
Los atributos de una entidad pueden tomar un
conjunto de valores permitidos al que se le
conoce como dominio del atributo. Así cada
entidad se describe por medio de un conjunto
de parejas formadas por el atributo y el valor
de dato. Habrá una pareja para cada atributo
del conjunto de entidades.
Modelo Entidad-Relación (E-R)
Ejemplos de dominio:
Hacer una descripción en pareja para la entidad alumno con los
atributos Codigo, Nombre y Carrera.
Atributo, Valor
Codigo, 0208MTI-S034
Nombre, Sánchez Osuna Ana
Carrera, TIC
O considerando el ejemplo de un Empleado cuyos atributos son:
Codigo, Nombre, Salario.
Atributo, Valor
Codigo, COMD741101YHR
Nombre, Daniel Colín Morales
Salario, 3000
Modelo Entidad-Relación (E-R)
Una relación es la asociación
que existe entre dos o más
entidades.
Relación
Modelo Entidad-Relación (E-R)
La cantidad de entidades en una relación
determina el grado de la relación.
Alumno
Cursa
Materia
Modelo Entidad-Relación (E-R)
Limitantes de Mapeo
Existen 2 tipos de limitantes que permiten establecer
las validaciones necesarias para conseguir que los
datos correspondan con la realidad.
1. Tipos de relaciones
2. Dependencia de existencia
Modelo Entidad-Relación (E-R)
Tipos de relaciones
Existen 4 tipos de relaciones que pueden establecerse entre
entidades, las cuales establecen con cuantas entidades de
tipo B se puede relacionar una entidad de tipo A:
1. Uno a uno (1:1)
2. Uno a muchos (1:N)
3. Muchos a uno (N:1)
4. Muchos a muchos (N:N)
A estos tipos de relaciones, también se les conoce como
Cardinalidad.
Modelo Entidad-Relación (E-R)
Tipos de relaciones
UNO A UNO (1:1)
Se presenta cuando existe una relación como su nombre lo
indica uno a uno, denominado también relación de
matrimonio. Una entidad del tipo A solo se puede relacionar
con una entidad del tipo B, y viceversa.
A2-A A2-B
A1-A A3-A A1-B A3-B
A R B
Modelo Entidad-Relación (E-R)
Tipos de relaciones
Ejemplos: UNO A UNO (1:1)
• AUTOMOVIL – EMPLEADO
• ALUMNO – No. EXPEDIENTE
• PERSONA – HUELLA DIGITAL
Modelo Entidad-Relación (E-R)
Tipos de relaciones
UNO A MUCHOS (1:N)
Significa que una entidad del tipo A puede relacionarse con
cualquier cantidad de entidades del tipo B, y una entidad del
tipo B solo puede estar relacionada con una entidad del tipo
A.
A2-A A2-B
A1-A A3-A A1-B A3-B
A R B
Modelo Entidad-Relación (E-R)
Tipos de relaciones
Ejemplos: UNO A MUCHOS (1:N)
• CLIENTE – CUENTAS EN UN BANCO
• PADRE – HIJOS
• CAMIÓN – PASAJEROS
• ZOOLÓGICO – ANIMALES
• ÁRBOL – HOJAS
Modelo Entidad-Relación (E-R)
Tipos de relaciones
MUCHOS A UNO (N:1)
Indica que una entidad del tipo B puede relacionarse con
cualquier cantidad de entidades del tipo A, mientras que
cada entidad del tipo A solo puede relacionarse con una
entidad del tipo B.
A2-A A2-B
A1-A A3-A A1-B A3-B
A R B
Modelo Entidad-Relación (E-R)
Tipos de relaciones
Ejemplos: MUCHOS A UNO (N:1)
• EMPLEADOS – EMPRESA
• ALUMNOS – ESCUELA
• FELIGRESES – PARROQUIA
• CLIENTES – BANCO
• CIUDADANOS – CIUDAD
Modelo Entidad-Relación (E-R)
Tipos de relaciones
MUCHOS A MUCHOS (N:N)
Establece que cualquier cantidad de entidades del tipo A
pueden estar relacionados con cualquier cantidad de
entidades del tipo B.
A2-A A2-B
A1-A A3-A A1-B A3-B
A R B
Modelo Entidad-Relación (E-R)
Tipos de relaciones
Ejemplos: MUCHOS A MUCHOS (N:N)
• PROYECTOS – ARQUITECTOS
• ESTUDIANTES – MATERIAS
• PROFESORES – ESCUELAS
• ENFERMOS – SÍNTOMAS
• PROVEEDORES – PRODUCTOS
Modelo Entidad-Relación (E-R)
Tipos de relaciones
IMPORTANTE
La cardinalidad para cada
conjunto de entidades
depende del punto de vista
que se le de al modelo en
estudio, claro esta,
sujetándose a la realidad.
Modelo Entidad-Relación (E-R)
Dependencia de existencia
Refiriéndonos a las mismas entidades A y B,
decimos que si la entidad A depende de la
existencia de la entidad B, entonces A es
dependiente de existencia por B, si
eliminamos a B tendríamos que eliminar por
consecuente la entidad A, en este caso B es la
entidad Dominante y A es la entidad
subordinada.
Modelo Entidad-Relación (E-R)
Llaves primarias
La distinción de una entidad entre otra se
debe a sus atributos, lo cual la hace única.
Una llave primaria es aquel atributo el cual
consideramos clave para la identificación
de los demás atributos que describen a la
entidad.
Modelo Entidad-Relación (E-R)
Llaves primarias
Grado
Carrera
Nombre
Alumno
RFC
Domicilio
CURP
Codigo
Tipos de Atributos
• Simples ó Compuestos
• Almacenados ó Derivados
• Monovaluados ó Multivaluados
• Opcionales (nulos)
Tipos de Atributos
Atributos Compuestos
Pueden dividirse en otros Atributos con
significado propio
A. Pat A. Mat Nom
Día Mes Año
Género
Fecha
Persona
nacimiento Nombre
Domicilio
Calle Manzana Lote Urb. Distrito
Tipos de Atributos
Atributos Simples
Atributos que no pueden dividirse
A. Pat A. Mat Nom
Día Mes Año
Género
Fecha
Persona
nacimiento Nombre
Domicilio
Calle Colonia Ciudad Estado CP
Tipos de Atributos
Atributos Almacenados
Son los atributos cuyos valores son
almacenados directamente en la base de datos.
• Nacionalidad de una persona
• Nombre de una persona
• Fecha de nacimiento de una persona
• Cantidad de producto comprado
• Cantidad de producto vendido
Tipos de Atributos
Atributos Calculados
Valor calculado a partir de otra información ya
existente (atributos, entidades relacionadas)
• Edad de una persona (se calcula a partir Edad
de la fecha de nacimiento)
• Existencias de un producto (cantidad de
Existencias
compra – cantidad de venta)
Tipos de Atributos
Atributos Monovaluados
Atributos que pueden tener un sólo valor
para cada entidad
• Nombre de una persona
• Fecha de nacimiento de una persona
Tipos de Atributos
Atributos Multivaluados
Atributos que pueden tener más de un valor para la misma
entidad
• Teléfono
• Domicilio
• Dependientes económicos
Pueden tener límites superior e inferior del número de
valores por entidad
(0,3) Teléfono
• Teléfono (0,3)
• Domicilio (0,2)
• Dependientes económicos (0,5)
Tipos de Atributos
Atributos Opcionales (nulos)
Se aplican valores nulos cuando:
• Se desconoce el valor del atributo
• Teléfono
• Email
• No existe un valor para el atributo
• Nombre cónyuge
• Apellido paterno
Tipos de Atributos
Notación para los Atributos
Atributos de relaciones
Existe la posibilidad de que una relación tenga atributos para calificarla.
Por ejemplo: en un hotel
A1 A2 A3 A1 A2 A3
N:1
Persona Ocupa Habitación
Fecha Fecha
Ingreso Salida
Por lo general estos casos suelen derivar en nuevas entidades. Así, la
relación OCUPA, con los atributos Fecha Ingreso y Fecha Salida, pueden
ser una entidad HOSPEDAJE.
Atributos de relaciones
A1 A2 A3 A1 A2 A3
N:1
Persona Ocupa Habitación
N:N
Tiene
Hospedaje
Fecha
Salida
Fecha
Ingreso
Ejercicios de Modelo E-R
Ejercicio 1
UNA EMPRESA VENDE PRODUCTOS A VARIOS CLIENTES.
• Se necesita conocer los datos personales de los clientes
(NOMBRE, CODIGO, DIRECCIÓN, FECHA DE ALTA,
ANTIGÜEDAD).
• Cada producto tiene un NOMBRE y un CÓDIGO, así como un
PRECIO.
• De cada proveedor se desea conocer el CODIGO, NOMBRE y
DIRECCION.
• Un cliente puede comprar varios productos a la empresa, y
un mismo producto puede ser comprado por varios
clientes.
• Se debe tener en cuenta que un producto sólo es
suministrado por un proveedor, y que un proveedor
suministra diferentes productos.
Ejercicios de Modelo E-R
Ejercicio 1 - Solución
UNA EMPRESA VENDE PRODUCTOS A VARIOS CLIENTES.
Entidades:
1. Cliente (nombre, codigo, dirección, fecha de alta,
antigüedad)
2. Producto (nombre, código, precio)
3. Proveedor(codigo, nombre, dirección)
Ejercicios de Modelo E-R
Ejercicio 1 - Solución
UNA EMPRESA VENDE PRODUCTOS A VARIOS CLIENTES.
Relaciones:
1. Cliente compra Producto (N:N)
2. Proveedor suministra Producto (1:N)
Ejercicios de Modelo E-R
Ejercicio 1 - Solución
UNA EMPRESA VENDE PRODUCTOS A VARIOS CLIENTES.
Diagrama:
Ejercicios de Modelo E-R
Ejercicio 2
SE DESEA INFORMATIZAR LA GESTIÓN DE UNA EMPRESA DE TRANSPORTES
QUE REPARTE PAQUETES POR TODA LA REPÚBLICA
• Los encargados de llevar los paquetes son los camioneros, de los que se quiere
guardar el codigo, nombre, teléfono, dirección y salario.
• De los paquetes transportados interesa conocer el código, descripción,
destinatario y dirección del destinatario.
• Un camionero distribuye muchos paquetes, y un paquete sólo puede ser
distribuido por un camionero.
• De los estados a los que llegan los paquetes interesa guardar el código de
estado y el nombre del estado.
• A un estado pueden llegar varios paquetes.
• Sin embargo, un paquete sólo puede llegar a un estado.
• De los camiones que llevan los camioneros, interesa conocer la matrícula,
modelo y capacidad.
• Un camionero puede conducir diferentes camiones en fechas diferentes.
• Un camión puede ser conducido por varios camioneros también en diferentes
fechas.
Ejercicios de Modelo E-R
Ejercicio 2 - Solución
SE DESEA INFORMATIZAR LA GESTIÓN DE UNA EMPRESA DE TRANSPORTES
QUE REPARTE PAQUETES POR TODA LA REPÚBLICA
Entidades:
1. Camionero (codigo, nombre, teléfono, dirección,
salario)
2. Paquete (código, descripción, destinatario y
dirección del destinatario)
3. Estado (código, nombre)
4. Camión (matrícula, modelo, capacidad)
Ejercicios de Modelo E-R
Ejercicio 2 - Solución
SE DESEA INFORMATIZAR LA GESTIÓN DE UNA EMPRESA DE TRANSPORTES
QUE REPARTE PAQUETES POR TODA LA REPÚBLICA
Relaciones:
1. Camionero distribuye Paquete (1:N)
2. Estado llega Paquete (1:N)
3. Camionero conduce Camión (N:N)
Ejercicios de Modelo E-R
Ejercicio 2 - Solución
SE DESEA INFORMATIZAR LA GESTIÓN DE UNA EMPRESA DE TRANSPORTES
QUE REPARTE PAQUETES POR TODA LA REPÚBLICA
Diagrama:
Ejercicios de Modelo E-R
Ejercicio 3 - Participación
EN LA BIBLIOTECA DEL CENTRO SE MANEJAN FICHAS DE AUTORES Y LIBROS.
• Para cada autor se tiene el código de autor y el nombre.
• De cada libro se guarda el código, título, ISBN, editorial y número de página.
• Un autor puede escribir varios libros, y un libro puede ser escrito por varios autores.
• Un libro está formado por ejemplares.
• Cada ejemplar tiene un código y una localización.
• Un libro tiene muchos ejemplares y un ejemplar pertenece sólo a un libro.
• De cada usuario se guarda el código, nombre, dirección y teléfono.
• Los ejemplares son prestados a los usuarios.
• Un usuario puede tomar prestados varios ejemplares, y un ejemplar puede ser prestado a
varios usuarios.
• De cada préstamo interesa guardar la fecha de préstamo y la fecha de devolución.