Sei sulla pagina 1di 68

BASES DE DATOS

Ing. Marco Aedo López


Fundamentos de Bases de
Datos

Capítulo 1
Objetivos

„ Comprender conceptos básicos del curso


„ Entender la importancia de las Bases de
Datos en la sociedad de la información y del
conocimiento
1. Generalidades
„ ¿Dónde encontramos Sistemas de Bases
de Datos?
„ ¿La sociedad del conocimiento utiliza
Sistemas de Bases de Datos?
2. Definiciones
„ Dato:
… Atributo
o característica de una entidad que
puede ser procesado
„ Base de Datos
… Una colección coherente de datos
relacionados
„ Minimundo
… Partedel mundo real acerca de la cual se
almacenan datos en la BD
2. Definiciones
„ Sistema Gestor de Base de Datos
(SGBD) (DBMS)
… Software que facilita la creación,
administración y mantenimiento de BD
3. Sistemas de Bases de Datos
„ Un sistema de BD es básicamente un
sistema computarizado cuya finalidad es
almacenar información y permitir a los
usuarios recuperar y actualizar esta
información
3. Sistemas de Bases de Datos
„ Comprende 4 componentes principales:
… Datos (BD)
… Usuarios
… Hardware
… Software (SGBD)
4. Bases de Datos
„ Colección de datos relacionados
„ Propiedades:
… Representa ciertos aspectos del mundo real
(minimundo o dominio)
… Es una colección coherente de datos
… Se diseña, construye y puebla con datos para
un propósito específico
5. Usuarios
1. Actores en escena: su trabajo requiere el
empleo cotidiano de una BD
… Administradores de BD
… Diseñadores de BD
… Usuarios finales
2. Actores tras bastidores: trabajan con el
entorno del SGBD
… Diseñadores e implementadores SGBD
… Desarrolladores de herramientas
… Personal de mantenimiento
6. Hardware
„ El almacenamiento secundario junto a los
dispositivos de E/S
„ Los procesadores y la memoria principal
asociada usados para apoyar la ejecución
del SGBD
7. Sistema Gestor de Bases de
Datos (SGBD)
Categoría de Sw que debe:
„ Permitir a los usuarios crear BD
„ Ofrecer a los usuarios la capacidad de consultar
y actualizar los datos en forma eficiente
„ Soportar el almacenamiento de cantidades
voluminosas de datos, protegiéndolos
„ Controlar el acceso concurrente a los datos por
muchos usuarios
„ Permitir la administración de las BD
8. Anatomía de una Base de Datos

„ Una base de datos es la


colección de 1 ó más archivos
„ Un archivo es la colección de 1
ó más tablas
„ Una tabla es la colección de
información relacionada
(registros)
8. Anatomía de una Base de Datos
„ Un registro es la información relacionada a
una persona, producto, evento, etc.
„ Un campo es una parte discreta de
información en un registro
Curso Alumno
Base de Datos
ESQUEMA
Profesor
Archivo de Alumno (TABLA)

NOMBRE DIRECCIÓN EDAD


Archivo Juan Sánchez Calle xxx 123 22
Ana Gamero Jiron yyy G
- 20 25

NOMBRE DIRECCIÓN EDAD


Registro
Juan Sánchez Calle xxx 123 22
Campo Juan Sànchez (campo NOMBRE)

Byte 01001010 Letra J

Bit 0ó1
CALIFICACIÓN
„ Examen 25%
„ Trabajo de Investigación 25%
„ Trabajo Final: Proyecto 20%
„ Laboratorio 20%
„ Prácticas 10%
EXPOSICIÓN
„ Grupal (4 integrantes)
„ Se les asignará un tema
„ Último día de clases:
… Exposición
… Preguntas y discusión
EXPOSICIÓN
„ Estructura sugerida
Portada
Introducción
Indice
Indice de figuras
Indice de tablas
Cap 1
Cap 2
...
Conclusiones
Recomendaciones
Bibliografia
Anexos
BIBLIOGRAFÍA
„ Elmasri, R. Navathe, S. FUNDAMENTOS
DE SISTEMAS DE BASES DE DATOS.
3ra Edición
„ Date, C. INTRODUCCIÓN A LOS
SISTEMAS DE BASES DE DATOS. 7ma
Edición
„ De Miguel, A. Piattini, M. DISEÑO DE
BASES DE DATOS RELACIONALES
Cuestionario
1. ¿Por qué se utilizan Sistemas de BD?
2. De 5 ejemplos de Sistemas de BD
3. Indicar la diferencia entre dato, bases de
datos, SGBD y Sistemas de BD
4. Indicar las ventajas de usar BD
5. ¿Qué opina del mal uso de las BD y la
violación de la privacidad?
Modelado y Diseño de
Bases de Datos

Capítulo 2
1. El proceso de Diseño de Bases
de Datos

„ [Elmasri/Navathe 02]
Es el proceso de diseñar la estructura
lógica y física de una o más bases de
datos para satisfacer las necesidades de
información de los usuarios en una
organización, para un conjunto definido
de aplicaciones.
1. El proceso de Diseño de Bases
de Datos
„ Los objetivos del diseño de BD:
1. Satisfacer requisitos de contenido de información
de usuarios y aplicaciones
2. Proporcionar una estructuración de los datos
natural y fácil de entender
3. Soportar los requisitos de procesamiento y
objetivos de rendimiento como tiempo de
respuesta, tiempo de procesamiento, espacio de
almacenamiento...
4. Conseguir un esquema flexible de BD, es decir tal
que sea posible modificarlo (como consecuencia de
cambios en los requisitos del sistema) fácilmente
una vez implementada la BD
2. Fases de Diseño de BD
3. Introducción e historia del modelo
Entidad-Relación

„ Modelo de datos conceptual de alto nivel


„ Propuesto por Peter P. Chen en 1976
… Extensiones/aportaciones de muchos otros autores
» No existe un único MER, sino una FAMILIA DE MODELOS

„ Describe el “mundo real” como un conjunto de


ENTIDADES y de RELACIONES entre ellas
„ Gran difusión
… Muy extendido en los métodos de diseño de bases de datos
… Soportado por herramientas software de diseño (CASE)
3. Introducción e historia del modelo
Entidad-Relación
Esquema conceptual
„ Descripción concisa de los requisitos
de información de los usuarios

„ Sin detalles de implementación


… Másfácil de entender
… Comunicación con el usuario no técnico
4. Conceptos básicos del modelo
conceptual
„ Entidad ( entity )
„ Atributo ( attribute )
„ Tipo de Entidad ( entity set )
„ Dominio ( values set )
„ Relación ( relationship )
„ Tipo de Relación
Conceptos básicos
ENTIDAD
„ Cosa u objeto del mundo real con existencia
propia y distinguible del resto

„ Objeto con existencia...


… físicao real (una persona, un libro, un empleado)
… abstracta o conceptual (una asignatura, un viaje)

„ “Persona, lugar, cosa, concepto o suceso, real o


abstracto, de interés para la empresa” (ANSI, 1977)
Conceptos básicos
ATRIBUTO
„ Propiedad o característica de una entidad
„ Una entidad particular es descrita por los valores de
sus atributos:
titulo = El alquimista impaciente
genero = Thriller
p1
nacionalidad = España
añoestreno = 2002
...
dni = 87654321
e1 nss = 1122334455
nombre = Cristina Aliaga Gil
nacionalidad = España
...
Conceptos básicos
TIPO DE ENTIDAD (entity set)
„ Define un conjunto de entidades que poseen
los mismos atributos
PELICULA: titulo, genero, nacionalidad, añoestreno,numcopias
EMPLEADO: dni, nss, nombre, fechanacim, direccion, telefono,
altura, nacionalidad, edad
Notación

EMPLEADO PELICULA DIRECTOR

LOCAL ACTOR
CLIENTE
VIDEOCLUB
Conceptos básicos
Instancia de un tipo de entidad
PELICULA
„ También...
titulo = El señor de los anillos
… Ocurrencia genero = Fantasía
… Realización p2 nacionalidad = EEUU
… Ejemplar añoestreno = 2001
...
… Entidad concreta
o individual
titulo = Amores perros titulo = Amelie
genero = Drama genero = Comedia
p3 p4 nacionalidad = Francia
nacionalidad = Méjico
añoestreno = 1999 añoestreno = 2001
... ...
Conceptos básicos
Intensión y Extensión
„ Un tipo de entidad describe el esquema o intensión
para un conjunto de entidades que poseen la misma
estructura
EMPLEADO: dni, nss, nombre, dirección, telefono, altura,
fechanacim, nacionalidad, edad
„ Las instancias del tipo de entidad se agrupan en un
conjunto de entidades o extensión
e1 • (87654321, 1122334455, “Cristina Aliaga Gil”, “Libertad, 2. Yecla.
Murcia. 30510”, 968100200, 1’60, 28/07/1979, España, 23)
e2 • (12345678, 6677889900, “Antonio Gil Sánchez”, “Paz, 5. Murcia.
Murcia.30012”, 968111222, 1’76, 14/04/1944, España, 58)
e3 • (11223344, 1234567890, “Julia Sauce”, “Justicia, 20. Yecla. Murcia.
30510”, 968000222, 1’59, 23/05/1947, España, 55)
...
Conceptos básicos
Tipos de atributos
„ Simples o Compuestos
„ Almacenados o Derivados
„ Monovalorados o Multivalorados
„ Opcionales
Conceptos básicos
Atributos Simples o Compuestos

„ Atributos simples
… No divisibles. Atómicos genero

„ Atributos compuestos
… Pueden dividirse en otros con significado
propio
fechanacim direccion
dia mes año calle ciudad provincia codpostal
Conceptos básicos
Atributos Almacenados o Derivados
„ Atributos almacenados
fechanacim [de cada EMPLEADO]
nacionalidad [de una PELICULA]
„ Atributos derivados
… Valor calculado a partir de otra información ya
existente (atributos, entidades relacionadas)
… Son información redundante...
edad [de EMPLEADO], cálculo a partir de fechanacim
ƒ atributo derivado del valor de otro atributo
numcopias [de una PELICULA], cuenta del número de
entidades COPIA relacionadas con cada película concreta
ƒ atributo derivado de entidades relacionadas
Conceptos básicos
Atributos Monovalorados o Multivalorados
„ Atributos monovalorados (monovaluados)
… sólo un valor para cada entidad
fechanacim [de un EMPLEADO particular]
añoestreno [de cada PELICULA concreta]

„ Atributos multivalorados (multivaluados)


… más de un valor para la misma entidad
nacionalidad [ PELICULA coproducida por varios países ]
telefono [ EMPLEADO con varios teléfonos de contacto]
… pueden tener límites superior e inferior
del número de valores por entidad
nacionalidad (1-2)
telefono (0-3)
Conceptos básicos
Atributos Opcionales (nulos)
„ El nulo (null value) es usado cuando...

… Se desconoce el valor de un atributo para cierta


entidad
„ El valor existe pero falta
altura [de un EMPLEADO]
„ No se sabe si el valor existe o no
telefono [de un EMPLEADO]
Conceptos básicos
Notación para atributos
[EN2002] [MPM1999]
ciudad provincia
calle
codpostal calle ciudad provincia
fechanacim codpostal
dirección dirección
fechanacim telefono
(0,3) nombre (0,3) telefono
(0,1) EMPLEADO
EMPLEADO altura altura
nombre
(1,2) (1,2)
D
nss nss nacionalidad
nacionalidad
dni edad dni edad
Conceptos básicos
Atributos Clave
„ Atributo con valor distinto para cada instancia
de un tipo de entidad
dni en EMPLEADO
„ Una clave identifica de forma única cada entidad
concreta Ö atributo identificador
„ Notación EMPLEADO EMPLEADO

dni dni

[EN2002] [MPM1999]
Conceptos básicos
Atributos Clave (ii)
„ Una clave puede estar formada por
varios atributos Ö clave compuesta
… Combinación de valores distinta para cada instancia
(nombre, fechanacim) en el tipo de entidad EMPLEADO
… Una clave compuesta debe ser mínima

„ Un tipo de entidad puede tener


más de una clave Ö claves candidatas
Claves o Identificadores Candidatos de EMPLEADO:
… dni
… nss
… (nombre, fechanacim)
Conceptos básicos
Atributos Clave (iii)
„ Atributo identificador principal (IP)
… Clave Principal
… Elegido (por el diseñador) de entre los identificadores
candidatos (IC), para ser
el medio principal de identificación de
las instancias del tipo de entidad
… dni en EMPLEADO
„ Atributos identificadores alternativos (IA)
… Claves Alternativas
… El resto de IC’s
… nss y (nombre, fechanacim) en EMPLEADO

„ Es obligatorio que todo tipo de entidad tenga un


identificador
Conceptos básicos
DOMINIO (values set)
„ Conjunto de valores
„ Cada atributo simple está asociado a un
dominio, que especifica sus valores válidos
Atributo Descripción Dominio
nombre cadenas de hasta 30 caracteres alfabéticos
telefono cadenas de hasta 9 caracteres numéricos
altura números reales entre 0 y 2’5 (metros)
... ...

„ No suele representarse
Conceptos básicos
RELACIÓN (relationship)
„ También “interrelación”
„ Asociación, vínculo o correspondencia
entre instancias de entidades relacionadas de
alguna manera en el “mundo real”
… el director “Alejandro Amenábar” ha rodado la película “Mar
adentro”
… el empleado 87654321 trabaja en el local de videoclub
“principal”
… la película “El imperio contraataca” es una continuación de
la película “La guerra de las galaxias”
Conceptos básicos
TIPO DE RELACIÓN (relationship set)

„ Estructura genérica o abstracción del conjunto


de relaciones existentes entre dos o más
tipos de entidad
un DIRECTOR ha rodado PELICULA’s

„ Notación

DIRECTOR HA_RODADO PELICULA


DIRECTOR HA_RODADO PELICULA
Instancia
del tipo de
relación
„ Vacas
„
J. Médem „ „ Tesis
„
C. Saura „ „ Belle Epoque
„
F. Trueba „ „ Torrente
„
S. Segura „ „ Tierra
„
A. Amenábar „ „ Abre los ojos
„
„ Los otros
„
Tipo de Entidad:
Tipo de Relación:
conjunto de instancias
conjunto de instancias
Conceptos básicos
Grado de un tipo de relación
„ Número de tipos de entidad que participan
en el tipo de relación
… Binaria: grado 2 (el más frecuente)
… Ternaria: grado 3
… Reflexiva (o recursiva): grado 1

ACTOR ACTUA_EN PELICULA

CLIENTE ALQUILA PELICULA

CONTINUACION PELICULA
DE LOCAL_VIDEOCLUB
Conceptos básicos
Nombres de Rol (papel)
„ Todo tipo de entidad que participa en un tipo de
relación juega un papel específico en la relación

DIRECTOR HA_RODADO PELICULA


realizador film
„ Los nombres de rol se deben usar, sobre todo, en
los tipos de relación reflexivos, para evitar
ambigüedad

original

VERSION_DE PELICULA
versión
Conceptos básicos
Restricciones estructurales sobre tipos de
relación
„ Limitan las posibles combinaciones de
entidades que pueden participar en las
relaciones
„ Extraídas de la situación real que se modela
“Una película debe haber sido dirigida por uno y sólo un
director”
“Un director ha dirigido al menos una película y puede haber
dirigido muchas”
„ Clases de restricciones estructurales:
… Razón de cardinalidad (o tipo de correspondencia)
… Razón de participación
Conceptos básicos
Razón de Cardinalidad Notación EN2002
„ Número máximo de instancias de tipo de
relación en las que puede participar una
misma instancia de tipo de entidad
… la cardinalidad de HA_RODADO es “1 a N”

DIRECTOR
„ Notación
1
… etiqueta en la línea que
une entidad y relación HA_RODADO

… Ojo: da la sensación de
N
que se representa “al revés” PELICULA
Conceptos básicos
Razón de Cardinalidad Notación EN2002

„ Razones de cardinalidad más comunes:


… 1:1 (“uno a uno”)
… 1:N (“uno a muchos”)
… M:N (“muchos a muchos”)
trabajador ACTOR
EMPLEADO
1 encargado 1 personaje M

TRABAJA_EN SUPERVISA ACTUA_EN

sucursal N N
1 film
LOCAL_VIDEOCLUB PELICULA
lugar trabajo
Conceptos básicos
Razón de Participación Notación [EN2002]

„ Especifica si toda la extensión de un


tipo de entidad participa en un tipo de
relación, o sólo parte de la extensión
„ Clases de participación:
… Participación total (dependencia en
existencia)
… Participación parcial
Conceptos básicos
Razón de Participación (ii) [EN2002]
„ Notación
… Líneas dobles o simples

trabajador
EMPLEADO DIRECTOR ACTOR
1 encargado 1 1 personaje M
TRABAJA_EN SUPERVISA ACTUA_EN
HA_ RODADO
sucursal N N
1 N
film
lugar trabajo LOCAL_VIDEOCLUB PELICULA PELICULA
Conceptos básicos
Cardinalidad de tipo de entidad
„ Otra forma de expresar las razones de
cardinalidad y participación
PERSONA USA EDIFICIO

PERSONA EDIFICIO POSEE PERSONA EDIFICIO


USA POSEE
p1 „ „ e1 p1 „ „ e1

„ e2 „ e2
p2 „ p2 „
„ e3 „ e3

p3 „ „ e4 p3 „ „ e4
Atributos de tipos de relación

[EN2002] EMPLEADO
1 1

horas TRABAJA_EN SUPERVISA fechainicio

N
1
LOCAL_VIDEOCLUB

papel
[MPM1999] M:N salario

ACTOR ACTUA_EN PELICULA


(0,m) (1,n)
CUESTIONARIO
1. Completar el siguiente diagrama
con sus restricciones estructurales
PERSONA USA EDIFICIO

POSEE
PERSONA EDIFICIO PERSONA EDIFICIO
POSEE
USA
p1 „ „ e1 p1 „ „ e1

„ e2 „ e2
p2 „ p2 „
„ e3 „ e3

p3 „ „ e4 p3 „ „ e4
CUESTIONARIO
2. Dado el siguiente diagrama, donde
sería lógico que vayan los atributos
de relación

EMPLEADO
1 1

horas TRABAJA_EN SUPERVISA fechainicio

N
1
LOCAL_VIDEOCLUB
DISEÑO LÓGICO
1. DISEÑO LÓGICO..a grandes
rasgos Transformación
Conceptual ⇒ Lógico de Datos

„ El objetivo del diseño lógico es convertir los


esquemas conceptuales en un esquema lógico que
se ajuste al modelo de SGBD sobre el que se vaya a
implementar el sistema.
„ Ya que aquí se trata el diseño de bases de datos
relacionales, en esta etapa se obtiene un conjunto
de relaciones (tablas) que representen los datos de
interés.
1. DISEÑO LÓGICO..a grandes
rasgos
c Diseño Lógico Estándar (DLS)
… Transformación independiente del SGBD
específico y otras consideraciones físicas
… Uso de un Modelo Lógico de datos Estándar
(MLS)
„ Relacional, Red, Jerárquico, Orientado a
Objetos
2. Modelado Lógico
„ Objetivo: desaparición de las relaciones

Tipos de entidad Æ Tablas (relaciones)


Atributos Æ Campos
Identificador principal Æ Clave primaria
Identificador alternativo Æ Clave alterna
Relaciones Æ nuevas tablas o propagación de
claves
3. Representación
PERSONA(dni, nombre, fechaNac)

PERSONA

dni nombre fechaNac

PERSONA
dni
Nombre
fechaNac
4. Atributos compuestos
A) “Eliminar” atributo compuesto y
considerar todos sus componentes
como atributos simples
dni nombre
dni fechaNa
nombre
calle
fechaNa PERSONA
calle ciudad
PERSONA dirección ciudad provincia
provincia
dni
nombre

B) “Eliminar” los componentes fechaNa


y considerar el atributo dirección
compuesto como un único PERSONA
atributo
5. Atributos multivaluados de entidades
Atributo Multivaluado de E
„ Nueva Tabla S, en la que el atributo multivaluado se representa
como un atributo simple A
„ S contendrá, un atributo F, clave ajena a la clave primaria de R

„ Clave Primaria de S = (F,A), desaparece atributo multivaluado


dni de E
nombre dni
fechaNac nombre
dirección (1,n) fechaNa
PERSONA c
PERSONA
PERSONA(dni, nombre, fechaNac)
FK
dni dirección

DIRECCION_PERSONA(dni,
dirección) DIRECCION
PERSONA
6. Atributos derivados
„ Es necesario decidir si se almacena o no
„ Si se almacena, será un atributo de la
relación que corresponda y deberá
crearse un disparador que calcule su valor
y lo mantenga actualizado
„ Si no se almacena, deberá crearse un
procedimiento que calcule su valor cada
vez que se solicite
7. Relaciones 1:1
1 1
E1 R E2

T1 T2
„ Se crea una tabla para cada entidad
„ Propagación de claves en una u otra dirección (indiferente)
„ Atributos simples de R o componentes simples de atributos
compuestos, también se incluyen como atributos en Tabla
donde se propago la clave

codEmp numDep

EMPLEADO DIRIGE DEPARTAMENTO


1 1

nomEmp fechaInic nomDep

EMPLEADO(codEmp, nomEmp, ...)

DEPARTAMENTO(numDep, nomDep, codDirector, fechaInic...)


8. Relaciones 1:N
1 N
E1 R E2
„ Se crea una tabla para cada entidad T1 T2
„ Propagación de clave
… En T2 se incluyen nuevos atributos para contener valores:
„ Clave primaria de T1
… Clave ajena en T2
„ Atributos simples (o componentes simples de atributos
compuestos) de R

codProv
codDistrito
1 N
PROVINCIA TIENE DISTRITO

nomProv

PROVINCIA(codProv, nomProv, ...) CIUDAD(codDistrito, codProv, ...)

Clave Foránea
9. Relaciones N:N
N M
E1 R E2

T1 T2
„ Se crea una tabla para cada entidad
„ Se crea una nueva tabla que tenga como clave primaria la
combinación de las claves primarias de las otras tablas
„ Atributos simples (o componentes simples de atributos
compuestos) de R
derechosAutor
codAutor
isbn
AUTOR ESCRIBE LIBRO
titulo
N N
nomAutor fechaFin

AUTOR(codAutor, nomAutor, ...)

ESCRIBE(codAutor, isbn, fechaFin, derechosAutor)

LIBRO(isbn, titulo, ...)


EJERCICIOS