10-Unidad 3: Componente técnico profesional general de la Carrera -3.2 Tópico 2: Base de datos
1. Unidad 3: Componente técnico profesional
general de la Carrera
3.2 Tópico 2: Base de datos
Trabajo de Titulación
Modalidad de estudios: Semi Presencial
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Lfab_02@Hotmail.comMuchos
a muchos
Muchos
a uno
Uno
a uno
A B A B A B
2. Objetivos del encuentro:
1. Adquirir los conceptos básicos relacionados para el
desarrollo del examen de fin de carrera
2. Reconocer las características para el desarrollo del
examen de fin de carrera
Semana Nro. 10
3. Frase Motivacional
“Siempre que ves una persona
exitosa percibes sus glorias, y nunca
los sacrificios que la llevaron hasta
allí” – Vaibhav Shah.
4. 4
Modelo E-R generalidades
• El modelo E-R fue creado por Chen (1976).
• Permite representar una abstracción del mundo real
en conceptos de bases de datos.
• Ampliamente utilizado actualmente en DBMS
• Oracle DB2 Ms SQL Server
• MySQL PostgreSQL FireBird
• Los elementos del modelo E-R son:
• Entidades con sus atributos
• Relaciones entre entidades
5. 5
ENTIDAD – conjunto de entidades
• Entidad
• Es un objeto del mundo real que se distingue de otros objetos.
• Observando la realidad podemos abstraer los objetos de los cuales
queremos almacenar información, o de la necesidad de los usuarios
finales.
Mundo real Modelo de la realidad
CLASIFICACIÓN
PERSONA
COCHE
6. 6
ATRIBUTOS
• Los atributos representan las propiedades o
características de las entidades y/o de sus relaciones.
• Los atributos tienen un valor único para cada entidad,
que pertenecen a un dominio de valores específico.
• Ej: atributo dominio:
• Nombre caracteres A..Z, a..z
• Fecha de nacimiento fechas válidas
• Sexo Masculino, Femenino
7. 7
Representación de Entidades y atributos
• El modelo E-R representa las entidades con rectángulos con su nombre en el interior.
• El modelo E-R representa los atributos con elipses con su nombre en el interior.
• Ej: Entidad “Alumnos” tiene los atributos:
• nombre, cédula, nacionalidad, teléfono, sexo.
Alumnos Cédula
Nombre Dirección Teléfono
Sexo
8. 8
Atributos según su estructura
• Atributo Simple
• Valor indivisible
• Ej..: nombre
• Atributo Compuesto
• Valor divisible
• Ej..: dirección
• ciudad
• barrio
• calle
• número
LECTORES
nombre dirección
ciudad barrio calle número
9. 9
• Atributo Monovalorado
• Toma un solo valor
• Ej..: Cédula
• Atributo Multivalorado
• Toma n valores
• Ej..: Teléfono(s)
cédula teléfonos
Atributos según su número máximo de
valores
LECTORES
10. 10
Atributos según su información
• Atributo Primitivo
• Valor independiente
• Ejemplos:
• Existencia
• Fecha de nacimiento
• Atributo Derivado
• Puede ser calculado
• Ejemplos
• Total inventario
• Edad
LIBRERIA
LIBROS
Ofrece
Precio
ALUMNOS
Edad
Inventario
Fecha de
Nacimiento
11. 11
RELACION
• Una RELACION es una asociación entre entidades.
• En general son asociaciones entre objetos.
• Se representan con un rombo con su nombre en la
parte interna.
• Según el número el número de entidades, se
clasifican en:
• relaciones binarias,
• relaciones ternarias, ...
12. 12
Relación binaria y ternaria
Relación Binaria
Relación Ternaria
ALUMNO ASIGNATURA
PROFESOR
GRUPO
toma
dicta ASIGNATURA
13. 13
Relaciones recursivas
• Cuando una entidad se relaciona consigo mismo
• Ejemplo relación “Casado”
• Es importante el “Rol”
• marido
• Mujer
PERSONASCasado
mujer
marido
14. 14
Atributos en Relaciones
• Las relaciones pueden tener atributos
• Por ejemplo:
• El atributo precio de compra de un libro depende de la librería y del
libro comprado.
LIBRERÍAS
LECTORESLIBROS Compra
precio
15. 15
2.2 RESTRICCIONES Y CLAVES
• La restricción de cardinalidad expresa el número de
entidades a las que una entidad puede estar asociada.
• Se analizan sobre relaciones binarias.
• Si A y B son entidades, las cardinalidades pueden ser:
• Uno a uno
• Uno a muchos
• Muchos a muchos
18. 18
CLAVE
• Una clave permite identificar de manera única a un
elemento.
• En conjunto de entidades:
• Permiten identificar de forma única a una entidad dentro del
conjunto de entidades.
• En conjunto de relaciones:
• Permiten identificar de forma única a una relación dentro del
conjunto de relaciones.
• El(los) atributos que conforman la clave se
subrayan en el modelo E-R, para Identificarlos.
19. 19
Tipos de claves en entidades
• Superclave
• Conjunto de atributos que identifican unívocamente una
entidad.
• Clave candidata
• Es una superclave mínima
• Clave primaria
• Es una clave candidata seleccionada por el diseñador de la BDD
• Debe seleccionarse atributos que no cambien o cambien rara
vez.
20. 20
Claves en relaciones
• Si la relación no tiene atributos
• La superclave de la relación es la unión de las claves primarias de
las entidades que relaciona
• La clave primaria de la relación es igual a la superclave
• Si la relación tiene atributos
• La superclave es la unión de las claves primarias de las entidades
que relaciona y los atributos existentes.
• La clave primaria es la unión de las claves primarias de las
entidades relacionadas
• Es mejor descomponer una relación ternaria en dos binarias.
21. 21
Ejemplo de claves
• Valor único por entidad
• el RUC
• la cédula
• La clave puede ser compuesta
• Articulo x Bodega
• Estudiante x Materia
LIBRERÍAS
LECTORES
nombre
dirección
Frecuenta
RUC
direccióncédula
22. 22
2.3 PREGUNTAS DE DISEÑO
• 1) Utilizar entidades o atributos?
• Ejemplo entidad empleado con atributos nombre y
teléfono.
• Puede ser considerado teléfono como entidad?
• Puede considerarse nombre como entidad?
• 2) Utilizar entidades o relaciones ?
• Ejemplo cliente préstamo
• Puede considerar préstamo como entidad?
• Puede considerar préstamo como relación?
23. 23
Preguntas de diseño
• 3) Relaciones binarias o ternarias
• Relación padre, madre e hijo , o
• Relación Padre-hijo, Madre-Hijo
• 4) Atributos en la relación o en la entidad
• Considere relación articulo esta en bodega
• El atributo existencia debe estar en?
• Entidad bodega
• Entidad articulo
• Relación está
24. 24
2.4 Símbolos Entidad – Relación
Atributo (monovaluado)
Atributo clave
Atributo compuesto
Atributo multivaluado
Atributo derivado
Entidad
Entidad débil
Relación
Unión
25. 25
2.5 Conjunto de entidades débiles
• Entidad Débil
• Depende de otra entidad
• Ej.: ESTANTE de librería
• No existe estante sin librería
• La clave hereda de entidad fuerte
+ su clave propia
• Entidad Fuerte
• Existe independientemente
• aporta su clave a entidad débil
• Ej.: LIBRERIA
LIBRERÍAS
número
RUC
Tiene
ESTANTES
26. 26
2.6 Características del modelo E-R
extendido: Especialización
• Un conjunto de entidades puede incluir subgrupos de entidades
que se diferencian de alguna manera
• Por ejemplo entidad Empleado (nombre, calle, ciudad)
• Empleado puede ser:
• empleado por contrato
• Atributo numero de contrato
• empleado por horario
• Numero de horas trabajadas
• Sueldo por hora
• Entonces entidades empleado_hor, empleado_con son
ESPECIALIZACIONES de entidad empleado
28. 28
Generalización
• GENERALIZACION
• A veces se determina primero las entidades especializadas y
deduce la entidad superclase.
• Al proceso inverso de especialización se denomina
generalización.
• HERENCIA
• La especialización hace que los atributos de la superclase se
hereden a todos las entidades subclases.
• La especialización/generalización crean jerarquías de
entidades.
29. 29
Agregación
• El modelo E-R no soporta relaciones entre relaciones.
• La agregación sirve para expresar que las ocurrencias de
la relación agregada se comportan también como
entidades.
• Para ello, se engloba el símbolo de la relación con un
rectángulo, lo que denota que esa relación es un objeto
agregado.
31. 31
2.7 Diseño de un esquema de Bases de
Datos E-R
• El modelo E-R es flexible (demasiado)
• Decisiones a tomarse
• Se usa un atributo o entidad
• Es mejor representar como entidad o como relación
• Se usa una relación ternaria o dos binarias
• Se define una entidad fuerte o débil
• Se utiliza generalización o una jerarquía de relaciones
• Se utiliza agrupación
• El diseñador debe tener un buen entendimiento de la
empresa (situación) que se modela
32. 32
Mundo real
Universo de
Discurso
Modelado
conceptual de los
datos
Modelado lógico
(base de datos)
Modelado interno
(estructuras de
datos)
Almacenamiento
físico
Universidad, biblioteca, departamento de
formación de una empresa, hospital, etc.
Visión del mundo real acorde a
determinados objetivos
Modelos conceptuales (Modelo E/R)
Modelos convencionales o de base de
datos (Modelo relacional, de
red,jerárquico, etc.)
Modelos internos (registros internos o
almacenados, apuntadores,
organizaciones secuenciales, índices,
etc.)
Estructuras físicas (registros físicos,
bytes, bits, campos, etc.)
MODELAMIENTO
33. 33
MODELO E-R :
Fases de Diseño
• Diseño Conceptual
• Es la fase inicial
• Especificación de requerimientos del usuario
• Especificar de manera sistemática los requerimientos de datos
• Especificar requisitos funcionales y no funcionales
• Diseño Lógico
• Traducir el esquema conceptual a modelo E-R
• Especificación de tablas
• Especificación de campos
• Especificación de relaciones
• Diseño Físico
• Utilizar sentencias DDL para crear el esquema de base de datos
34. 34
Caso: BDD para COMPAÑÍA ACME
Diseño Conceptual
• La compañía consiste de departamentos que tienen un nombre y número,
tienen un administrador el cual es uno de los empleados. Es necesario
mantener la fecha de inicio como administradores del departamento. Los
departamentos pueden tener varias ubicaciones, pero tienen por lo menos
una ubicación. Un departamento controla un número de proyectos. Un
proyecto tiene un nombre, número y una sola ubicación, los cuales pueden
no coincidir.
• Para empleados se requiere el nombre completo, Cedula, dirección, salario,
sexo y fecha de nacimiento. Un empleado trabaja para un departamento pero
puede estar trabajando en varios proyectos, incluyendo aquellos de otros
departamentos. Se realiza un seguimiento de cuántas horas por semana y en
que proyecto. Cada empleado también tiene un supervisor directo (otro
empleado).
• Los empleados pueden tener dependientes (esposo (a) o hijos) de quienes
necesitamos el nombre, sexo, fecha de nacimiento y relación con el empleado.
35. 35
ACME : Entidades, atributos
• Identificar Entidades
• Empleado Javier Castillo
• El departamento de investigación, y
• El proyecto Rexona Axe
• Identificar Atributos de entidad Empleado
• Atributos: Nombre de pila, CI, Dirección, Sexo, Fecha de nacimiento
• Valores: ‘Javier Castillo’, 1708547851, ‘Av.Central, La Paz 123’,
‘Masculino’, ‘09-Enero-1955’
36. 36
ACME : Tipos de atributos
• Atributos simples:
• CI, Sexo, Fecha de nacimiento.
• Atributos compuestos:
• Dirección, (Calle, Casa#, Ruta, Ciudad, Departamento#))
• Atributos multivaluados:
• Números Telefónicos
• Atributos derivados:
• Edad
• Atributos compuestos y multivaluados pueden estar
anidados arbitrariamente hasta cualquier profundidad,
pero esto es raro.
37. 37
ACME : Relaciones
• Trabaja para
• Un empleado “trabaja para” el departamento
• Administra
• Un empleado “administra” el proyecto
• Controla
• El empleado “controla” el departamento
• Trabaja en
• Un empleado “trabaja en” el proyecto
• Depende de
• La señora MM “depende de” el empleado JJ
• Es jefe de ….
38. 38
Fecha inicio
NroDeEmpls
1..N
1..N
1..1
0..N
CI
Fecha Nacimiento
Sexo
Nombre P
Inicial
Apellido
Nombre
Dirección
Sueldo
Nombre
Número
Localidades
LocalidadNombre
Horas
0..1 0..N
1..1
0..N
0..1
1..1 1..N
1..1
CARGA FAMILIAR
Número
ACME diagrama E-R
Relación
familiar sexo
nombre
Fecha nacimiento
EMPLEADO DEPARTAMENTO
PROYECTO
Trabaja para
Administra
Es jefe de
Controla
Trabaja en
Depende de
39. 39
2.8 Reducción de un esquema E-R a
tablas
• Entidades fuertes
• Cada entidad fuerte es una tabla
• Cada atributo de la entidad es un campo
• El dominio de la tabla es D1 x D2
• Entidades débiles
• Cada entidad débil es una tabla
• Cada atributo de la entidad débil es un campo
• La clave primaria de la entidad fuerte se traslada como campos a la entidad
débil
• Relación
• Si la relación es muchos a muchos
• La relación es una tabla
• Los atributos de la relación son campos
• Las claves primarias de las entidades relacionadas son la clave
40. 40
Trasladar E-R a tablas 2
• Atributos compuestos
• Detallar el atributo compuesto
• Definir un campo por cada atributo simple
• Atributos multivalorados
• Se crea una tabla para los atributos
• Los campos son la clave primaria y el atributo
• Generalización a tablas
• Se puede crear una tabla para la entidad de mayor jerarquía
• Se crea un campo para cada atributo
• Se crea una tabla por entidad especifica y heredan campos
• Se puede crear tablas por cada entidad especifica con columnas
para cada uno de los atributos
41. 41
2.9 El lenguaje de modelamiento UML
ANTECEDENTES
Diversos métodos y técnicas OO, con muchos aspectos en común pero
utilizando distintas notaciones
Inconvenientes para el aprendizaje, aplicación, construcción y uso de
herramientas, etc.
Pugna entre distintos enfoques (y correspondientes gurús)
PARTICIPANTES
Rational Software, Digital Equipment , Hewlett-Packard, IBM, Microsoft
, ObjecTime, Oracle Corp., Platinum Technology, Texas Instruments ,
Unisys , entre otros
42. 42
Diagramas de UML
Use Case
Diagramas
Use Case
Diagramas
Diagramas de
Casos de Uso
Escenario
Diagramas
Escenario
Diagramas
Diagramas de
Colaboración
State
Diagramas
State
Diagramas
Diagramas de
Componentes
Component
DiagramasComponent
DiagramasDiagramas de
Distribución
State
Diagramas
State
Diagramas
Diagramas de
Objetos
Escenario
Diagramas
Escenario
Diagramas
Diagramas de
Estados
Use Case
Diagramas
Use Case
Diagramas
Diagramas de
Secuencia
State
Diagramas
State
Diagramas
Diagramas de
Clases
Diagramas de
Actividad
Modelo
“Un modelo es una descripción completa de un sistema desde una perspectiva concreta”
43. 43
Ejemplo Clase ALUMNO
ALUMNO
Cedula : char[10]
número_exp : int
nombre : char[50]
alta()
poner_nota(asignatura:char *, año:int, nota:float)
matricular(cursos : asignatura, año : int)
listar_expediente()
ATRIBUTOS
METODOS
44. 44
Relaciones entre Clases
Los enlaces entre clases de objetos pueden representarse
como relaciones.
Formas de relación entre clases:
• Asociación y Agregación
• Expresa una conexión bidireccional entre objetos
• Generalización y Especialización
• Conceptos simétricos
Las relaciones de Agregación y Generalización forman
jerarquías de clases
45. 45
Especificación de multiplicidad (mínima ... máxima)
1 Uno y sólo uno
0..1 Cero o uno
M..N Desde M hasta N (enteros naturales)
* Muchos
0..* Cero o muchos
1..* Uno o muchos (al menos uno)
La multiplicidad mínima >= 1 establece una restricción
de existencia
… Asociación multiplicidad
47. 47
Jerarquías de Generalización
Especialización
Se obtiene usando los mecanismos de abstracción de
Generalización y/o Especialización
La Generalización consiste en factorizar las propiedades
comunes de un conjunto de clases en una clase más
general
Nombres usados:
clase padre - clase hija, superclase - subclase, clase base - clase
derivada
Las subclases heredan características de sus superclases, es
decir, atributos y operaciones
49. 49
Ejemplo UML completo
Avión militar Avión comercial
Avión de carga Avión de pasajeros
Motor
Avión
1..4
1
Piloto Vendedor de billetes
Reserva
*
1
Vuelo*1
1..2
*
*1
Línea aérea
1
*
1
1..4 1..2
*
1
*
1 * 1 *
*
1
{ disjunta, completa }
{ disjunta, completa }
50. Direccionamiento actividades de aprendizaje
Actividades:
• Revisar el aula virtual
• Realizar las actividades y tareas planteadas.
Se recomienda describir por ejemplo:
• Tomar apuntes esenciales, revisar el material de clases