fundamentos de base de datos completo
TRANSCRIPT
Fundamentos de Base de Datos
Ing. Edgar F. Espinoza Silverio
CAPITULO 1
Diseño conceptual de base de datos
Diseño conceptual de bases de datos El objetivo del diseño conceptual
es crear un esquema conceptual de alto nivel, independiente del DBMS, partiendo de especificaciones de requerimientos que describan la realidad.
Los conceptos de diseño de bases de datos se presentan por medio de la descripción de los mecanismos de abstracción: procesos mentales mediante los cuales nos concentramos en las propiedades comunes de los datos, sin atender a los detalles no pertinentes.
1
Componentes de los sistemas de BD
Herramientasde Diseño
Herramienta de Creaciónde TablasHerramienta de Creaciónde FormasHerramienta de Creaciónde ConsultasHerramienta de Creaciónde ReportesCompilador de Lenguajede Procedimiento
Tiempo de Ejecución
Procesador de Formas
Procesador de Consultas
Escritor de Reportes
Tiempo de Ejecución delLenguaje deProcedimiento
Motor
DBMS
Datos del UsuarioMetadatosIndices y otros datos del sistemaMetadatos de aplicación
La base de datos contiene:
Programasde
Aplicación
Programasde
Aplicación
Usuarios
Analista
DBMS
Base deDatos
Introducción al diseño de bases de datos
SESION 1
Introducción al diseño de bases de datos
1. El Diseño de bases de datos en el ciclo de vida de los Sistemas de Información
2. Fases del diseño de bases de datos3. Interacción entre el diseño de bases
de datos4. Modelos y herramientas para el diseñ
o de bases de datos y el análisis funcional
5. Por que es valioso el diseño conceptual 1
1. El Diseño de bases de datos en el ciclo de vida de los Sistemas de Información
El sistema de información de una empresa es el conjunto de actividades que regulan la distribución y el compartimiento de información, y el almacenamiento de los datos relevantes para la administración de la empresa.
Una base de datos es cualquier conjunto grande de datos estructurados almacenado dentro de un computador.
1
1. El Diseño de bases de datos en el ciclo de vida de los Sistemas de Información
Los sistemas de gestión de bases de datos (DBMS) son paquetes de software para la gestión de las bases de datos; en particular para almacenar, manipular y recuperar datos en un computador.
Las BD son sólo uno de los componentes de los Sistem. de Información, que también incluyen programas de aplicación, interfaces para usuarios y otros tipos de paquetes de software
1
1. El Diseño de bases de datos en el ciclo de vida de los Sistemas de Información
Las BD son esenciales para la supervivencia de cualquier organización, porque los datos estructurados constituyen un recurso esencial para todas las organizaciones, grandes medianas o pequeñas.
El diseño de base de datos se sitúa en un a perspectiva adecuada al considerarlo dentro del ciclo de vida de los sistemas de información.
1
1. El Diseño de bases de datos en el ciclo de vida de los Sistemas de Información
El diseño de un sistema de información es una actividad complicada, que incluye la planificación, especificación y desarrollo de cada componente del sistema.
También incluye siete etapas que son: estudio de factibilidad, recolección y análisis de requerimientos, diseño, creación de prototipos, implantación, validación y prueba y por último operación.
1
Estudio defactibilidad
Estudio defactibilidad
Recolección yanálisis de
requerimientos
Recolección yanálisis de
requerimientos
OperaciónOperación
Validación yprueba
Validación yprueba
DiseñoDiseño
ImplantaciónImplantaciónCreación de
prototipos
Creación deprototipos
Ciclo de Vida de los sistemas de Información
Estudio de factibilidad.
Recolección y análisis de requerimientos.
Diseño. Creación de prototip
os. Implantación. Validación y prueba. Operación.
1
InicioInicio
Estudio de factibilidad
Determina la rentabilidad de las distintas alternativas de diseño del sistema de información y las prioridades de los diversos componentes del sistema.
1
RegresarRegresar
Recolección y análisis de requerimientos
Se ocupan de la comprensión de la misión del sistema de información, es decir, las áreas de aplicación del sistema dentro de una empresa y los problemas que el sistema debe resolver.
Especificaciones de requerimientos.
1
RegresarRegresar
Diseño
1
Se ocupa de la especificación de la estructura del sistema de información. Se distingue entre el diseño de la estructura de la base de datos y el diseño de los programas de aplicación
RegresarRegresar
Creación de prototipos
Se crea un prototipo que permita a los usuarios verificar si el sistema de información satisface sus necesidades. Un prototipo que funciona es útil para la corrección o adición de requerimientos sobre la base de la experimentación.
1
RegresarRegresar
Implantación
Se refiere a la programación de la versión final y operativa del sistema de información. En esta etapa las alternativas de realización se verifican con cuidado y se comparan, para así lograr que el sistema final cumpla los requerimientos en cuanto a rendimiento
1
RegresarRegresar
Validación y prueba
Es el procedimiento mediante el cual se garantiza que cada fase del proceso de desarrollo es de calidad aceptable y e suna evolución correcta de la fase anterior, aquí se verifica si la aplicación cumple con las especificaciones de diseño.
1
RegresarRegresar
Operación
Empieza con la carga inicial de datos y termina cuando el sistema se vuelve obsoleto y tiene que ser reemplazado. Se necesita el mantenimiento para hacer que el sistema se adapte a las nuevas condiciones.
1
RegresarRegresar
2. Fases del diseño de bases de datos
El diseño de una base de datos es un proceso complejo que abarca varias decisiones a muy distintos niveles.
La complejidad se controla mejor si se descompone el problema en subproblemas y se resuelve cada uno de éstos independientemente, usando métodos y técnicas específicas.
1
2. Fases del diseño de bases de datos
El diseño de bases de datos se descompone en: Diseño conceptual Diseño lógico y Diseño físico
1
Diseño conceptual
Parte de la especificación de requerimientos y su resultado es el esquema conceptual de la base de datos.
Un esquema conceptual es una descripción de alto nivel de la estructura de la base de datos independiente del software de DBMS.
El fin del diseño conceptual es describir el contenido de información de la base de datos, mas que las estructuras de almacenamiento que se necesitarán para manejar esta información.
1
Diseño lógico
Parte del esquema conceptual y da como resultado un esquema lógico.
Un esquema lógico es una descripción de la estructura de la base de datos que puede procesar el software de DBMS.
Un modelo lógico es un lenguaje usado para especificar esquemas lógicos; los modelos lógicos mas usados pertenecen a tres clases: relacional, de redes y jerárquico.
Depende del modelo de datos usado por el DBMS, no del DBMS utilizado.
1
Diseño físico
Parte del esquema lógico y da como resultado un esquema físico
Un esquema físico es una descripción de la implantación de una base de datos en la memoria secundaria; describe las estructuras de almacenamiento y los métodos usados para tener un acceso efectivo a los datos.
Se adapta a un sistema DBMS específico1
Enfoque orientado a los datos para el diseño de sistemas de información
Requerimientosde datos
Diseñoconceptual
Esquema conceptual
Diseñológico
Esquema lógico
Diseñofísico
Esquema físico1
Dependencia de los diseños conceptual, lógico y físico de la clase de DBMS y el DBMS específico
Dependencia del:
Diseño conceptual
Diseño lógico
Diseño físico
El tipo de DBMS Un DBMS específico
No
Sí
Sí
No
No
Sí
1
RegresarRegresar
3. Interacción entre el diseño de bases de datos y el análisis funcional
Un enfoque alternativo en el diseño de los sistemas de información, es el enfoque orientado a las funciones, ya que difiere del enfoque orientado a los datos en que la atención se centra en las aplicaciones y no en los datos.
El diseño funcional se descompone en: Análisis funcional Diseño de aplicaciones de alto nivel Diseño del programa de aplicación
1
Análisis funcional
Parte con los requerimientos de aplicaciones, descripción de alto nivel de las actividades desarrolladas dentro de una organización y de los flujos de información intercambiados entre actividades.
El resultado es un conjunto de esquemas de funciones que describen esas actividades y flujos de información mediante el uso de modelos de funciones específicos.
1
Diseño de aplicaciones de alto nivel
En esta etapa se transforma los esquemas de función en especificaciones de aplicación, que describen, a un alto nivel de abstracción, también de cómo las aplicaciones obtienen acceso a las bases de datos.
1
Diseño del programa de aplicación
Estas especificaciones de aplicación son la base para el diseño de programas de aplicación, que produce una especificación detallada del programa de aplicación y, en última instancia el código del programa.
1
Requerimientosde aplicaciones
Análisisfuncional
Esquema de funciones
Diseñode aplicaciones
de alto nivel
Especificaciones deaplicaciones
Diseñodel programade aplicación
Especificaciones detalladasdel programa
Enfoque orientado a las funciones para el diseño de sistemas de información
1
Enfoque conjunto orientado a los datos y funciones para el diseño de sistemas de información
Se comprueba que los esquemas de datos y de funciones sean mutuamente coherentes (que no generen conflicto) y completos (que todos los datos requeridos por las funciones se representen en el esquema conceptual de la base de datos y, a la inversa, que las funciones incluyan todas las operaciones requeridas por la base de datos).
1
Enfoque conjunto orientado a los datos y funciones para el diseño de sistemas de información
Requerimientos dedatos y aplicaciones
Análisisfuncional
Esquema conceptual
Diseñode aplicaciones
de alto nivel
Esquemas de funciones
1
RegresarRegresar
4. Modelos y herramientas para el diseño de bases de datos y análisis funcional
El diseño de BD y el Análisis funcional están fuertemente influidos por la elección de modelos adecuados para representar los datos y las funciones.
Estos modelos, como lenguajes de programación, poseen un conjunto fijo de construcciones lingüísticas que se pueden usar en la descripción de datos y funciones.
1
4. Modelos y herramientas para el diseño de bases de datos y análisis funcional
Es importante que las construcciones de un modelo también cuenten con una una representación gráfica. Estos documentos son fáciles de leer y entender y son esenciales en el proceso de diseño.
El Modelo Entidad-relación es la estructura formal más destacada para la representación conceptual de datos, llegando a imponerse como un estándar.
1
4. Modelos y herramientas para el diseño de bases de datos y análisis funcional
El Modelo Entidad-relación se basa en sólo unos pocos conceptos de modelado y posee una eficaz representación gráfica, en la que cada elemento del modelo corresponde a un símbolo gráfico distinto.
El Modelo de flujo de datos es simple y conciso, además, cada elemento del modelo corresponde a un símbolo gráfico distinto.
Las herramientas de diseño se apoyan en el modelo entidad-relación para datos y el modelo de flujo de datos para funciones.
1
RegresarRegresar
5. Por qué es valioso el diseño conceptual
El Diseño conceptual es la fase mas crucial del diseño de bases de datos, y el desarrollo posterior de la tecnología de bases de datos no cambiará esta situación.
Las características básicas del diseño conceptual y de los modelos conceptuales de datos son relativamente simples y su entendimiento no requiere mayor conocimiento técnico previo sobre sistemas de bases de datos.
1
5. Por qué es valioso el diseño conceptual
El Diseño conceptual es independiente de un DBMS particular.
El diseño conceptual subraya la utilidad de los esquemas conceptuales después de finalizado el proceso de diseño.
El Diseño conceptual facilita a través de su documentación el fácil entendimiento de los esquemas de datos y de las aplicaciones que los utilizan y por ende, su transformación y mantenimiento.
1
Conceptos sobre el modelado de datos
SESION 2
Conceptos sobre el modelado de datos
1. Abstracciones en el diseño conceptual de bases de datos
2. Propiedades de las correspondencias entre clases
3. Modelos de datos4. El Modelo de Entidad-Relación5. Casos del Modelo Entidad-Relación
2
1. Abstracciones en el diseño conceptual de bases de datos
La abstracción es un proceso mental que se aplica al seleccionar algunas características y propiedades de un conjunto de objetos y excluir otras no pertinentes.
2
1. Abstracciones en el diseño conceptual de bases de datos
En el diseño conceptual de base de datos se usan tres tipos de abstracciones: Abstracción de clasificación Abstracción de agregación Abstracción de generalización.
2
Abstracción de Clasificación
Se usa para definir un concepto como una clase de objetos de la realidad caracterizados por propiedades comunes.
Por ejemplo el concepto bicicleta es la clase cuyos miembros son todos bicicletas (la bicicleta de Jorge, la bicicleta roja, la bicicleta rota, etc).
2
Abstracción de Clasificación
Por ejemplo el concepto mes es la clase cuyos miembros son enero, febrero,... Diciembre.
2
MES
FebreroEnero Diciembre........
Abstracción de Clasificación
Se representa gráficamente como un árbol de un nivel, que tiene como raíz la clase y como hojas los elementos de la clase.
Las ramas del árbol se representan por líneas discontinuas. Cada rama del árbol indica que un nodo hoja es un miembro de (ES_MIEMBRO_DE) la clase que representa.
Enero ES_MIEMBRO_DE Mes 2
Abstracción de Clasificación
Un mismo objeto real puede clasificarse de varias maneras, por ejemplo:{silla negra, mesa negra, silla blanca, mesa blanca}
Se puede clasificar como MESAS y SILLAS o considerar, en cambio su color y clasificarlos como MUEBLES NEGROS Y MUEBLES BLANCOS.
2
Abstracción de Clasificación
Este ejemplo muestra también que cada objeto real puede pertenecer a varias clases. 2
SILLA
Mesanegra
MESA MUEBLE NEGRO MUEBLE BLANCO
Mesablanca
Sillanegra
Sillablanca
Abstracción de Agregación
Se define una nueva clase a partir de un conjunto de (otras) clases que representan sus partes componentes.
2
PEDAL
BICICLETA
RUEDA MANILLAR
Abstracción de Agregación
Se representa gráficamente por un árbol de un nivel en el cual todos los nodos son clases. La raíz representa la clase creada por agregación de las clases representadas por las hojas.
Cada rama del árbol indica que una clase hoja es una parte de (ES_PARTE_DE) la clase representada por la raíz.
Pedal ES_PARTE_DE Bicicleta 2
Abstracción de Generalización
Define una relación de subconjunto entre los elementos de dos o más clases.
2
HOMBRE
PERSONA
MUJER
Abstracción de Generalización
Coberturas: Total Parcial Exclusiva Superpuesta
2
2. Propiedades de las correspondencias entre las clases
Las abstracciones de agregación y generalización establecen correspondencias entre clases.
Existe tres tipos de correspondencias: Agregación Binaria Agregación n-aria Generalizaciones
2
3. Modelos de datos
Un modelo de datos es una serie de conceptos que puede utilizarse para describir un conjunto de datos y operaciones para manipular los mismos.
La complejidad se controla mejor si se descompone el problema en subproblemas y se resuelve cada uno de éstos independientemente, usando métodos y técnicas específicas.
2
4. El Modelo de Entidad-Relación
El diseño de bases de datos se descompone en: Elementos básicos del MER Otros elementos del MER Mecanismos de abstracción en el
MER Cualidades del MER
2
5. Casos del Modelo Entidad-Relación
Base de datos de fútbol
Base de datos de Proyectos de Investigación
Base de Datos Universitaria
2
PERSONA
ENTRENADOR JUGADOR
ES_PRESI-DENTE_DE
(1,1)
NOMBRE
EDAD
NUMERO
BASE DE FUTBOL
AFICIONADO PRESIDENTE
JUEGA_PARAMANEJAAPOYA
EQUIPO
JUEGA_CONTRA
JUEGOASISTE
FECHA
TIEMPO
ASISTENCIA(0,1)
PUNTUACION FINAL(0,1)
SE_JUEGA_EN ESTADIO
PRACTICA
FECHA
LOCALIDAD
TAMAÑO
NOMBRE
(1,1)(1,1)(1,1)
(1,n)
(1,n)(1,1) (1,n)
(1,1)
(1,n)
(1,n)(1,n)
(1,n) (1,1) (0,n)
(1,n)
BASE DE DATOS DEPROYECTOS DEINVESTIGACION
TRABAJO_DE_INVESTIGACION
ORIGINA
SOBRE
SUPERVISA
(1,n)
(0,n)
PROYECTO_DE_INVESTIGACION
ES_INVESTIGADOR_PRINCIPAL
TEMA_DE_INVESTIGACION
DIRIGE
AGENCIA
CON_FONDOS_DE
NUMERO_DE_SUBVENCION
FECHA
CANTIDAD
NOMBRE
DIRECCION
EMPLEADO_DE_CONTACTO
NOMBRE
TITULO
AUTORES (1,n)
TRABAJA_EN(1,n)
(1,n)
(1,n)
(1,1)
(1,n)
(1,1)
(1,n)
(1,n)
(1,1)
(0,n)
EMPLEADO
(0,n) (1,1)
NOMBRE
NUM_SEG_SOC
TITULO
OFICINA
TELEFONO (0,n)NOMBRE CODIGO
LUGAR_DE_NACIM_DE
CIUDAD PERSONA
CIUDAD_DE_RESIDENCIA_DE
ESTUDIANTE
CURSO
SE_REUNE_EN
TIEMPO
AULA
ESTUDIANTE_GRADUADO
IMPARTIDO_POR
PROFESOR
ASESORADOPOR
PERTENECE_A DEPARTAMENTO
PROFESOR_VISITANTE
(1,2)(1,n)
(3,5)
(1,n)
(1,n)
(1,n)
(1,n)
(1,1)
(0,n)
(0,n)
(0,n) (1,1)
(1,1)
(1,n)
NOMBRE
TELEFONOAPELLIDO
NOMBRE
PROVINCIA
(0,n)
TITULO
INSCRITO
SEMESTRE
CALIFICACION
SEMESTRE
PLANIFICADO
EDAD
TIPO_DE_CONTRATO
TITULO
INICIO_DE_NOMBRAMIENTO
FIN_DE_NOMBRAMIENTO
NUM_DE_AULA
EDIFICIO
DIA
HORA
(1,1)
(0,n)
BASE DE DATOSUNIVERSITARIA
Caso de Estudio EREl Jefferson Dance club enseña bailes de salón y ofrece sus clientes
lecciones privadas y grupo. La empresa cobra 45 dólares por hora a cada estudiante (o pareja) por una lección privada y 6 dólares por hora, por una lección en grupo. Se dan lecciones privadas todo el día, de las 12 AM a las 10 PM, seis días a la semana. Las lecciones por grupo se ofrecen en las noches.
El club emplea dos tipos de instructores: de tiempo completo y por horas. Los instructores de tiempo completo reciben una cantidad fija por semana y los maestros por horas cobran una cantidad por una noche o por trabajar durante una clase particular.
Además de las lecciones, el Jefferson auspicia dos bailes a la semana con música grabada. El costo de la admisión es de 5 dólares por persona. El baile de la noche del viernes es el más popular y promedia alrededor de 80 personas. El baile de la noche del sábado reúne a treinta participantes. El propósito de los bailes es dar a los estudiantes un lugar para que practiquen sus habilidades. No se sirven alimentos ni bebidas.
Al club le gustaría desarrollar un Sistema de Información para registrar a los estudiantes y las clases que han tomado. Los administradores también desearían saber cuántos y cuáles tipos de lecciones ha enseñado cada maestro y ser capaces de calcular el costo promedio por leccion con cada instructor.
Metodología para el diseño conceptual
SESION 3
Metodología para el diseño conceptual
1. Primitivas del diseño conceptual2. Estrategias para el diseño de esqu
emas3. Criterios de elección entre concept
os4. Entradas, salidas y actividades del
diseño conceptual5. Ejercicios
3
1. Primitivas del diseño conceptual
El diseño de un esquema conceptual es el resultado de un análisis complejo de los requerimientos del usuario.
Durante este proceso, se empieza con una versión preliminar del esquema y se efectúa una serie de transformaciones de esquemas que finalmente producen la versión definitiva.
En el diseño de datos se define un conjunto de primitivas de refinamiento que pueden usarse para efectuar transformaciones, cada una de las cuales se aplica a un esquema inicial y produce un esquema resultante.
3
1. Primitivas del diseño conceptual
La trasformación de esquemas tienen tres características bien definidas:
Cada transformación de esquema tiene un esquema inicial, esto es, el esquema al que se aplica la transformación, y un esquema resultante, el efecto de aplicar la transformación.
Cada transformación de esquema crea una correspondencia entre nombres de conceptos del esquema inicial y nombres de conceptos del esquema resultante.
Los conceptos del esquema resultante deben heredar todas las conexiones lógicas definidas para los conceptos del esquema inicial.
3
1. Primitivas del diseño conceptual
3
ESQUEMA INICIAL
ESQUEMA RESULTANTE
Transformación
1. Primitivas del diseño conceptual (ejemplo)
3
PERSONA LUGARVIVE_EN
Esquema inicial
1. Primitivas del diseño conceptual (ejemplo)
3
LUGAR
CIUDAD
ESTA_EN
PROVINCIATransformación
1. Primitivas del diseño conceptual (ejemplo)
3
PERSONA CIUDADVIVE_EN
ESTA_EN
PROVINCIA
Esquema resultante
1. Primitivas del diseño conceptual
3
Se clasifican en dos grupos:
Las primitivas descendentes:Corresponden a refinamientos puros, es decir, refinamientos que se aplican a un concepto simple (el esquema inicial) y producen una descripción más detallada de ese concepto (el esquema resultante).
Las primitivas ascendentes:Introducen conceptos nuevos y propiedades que no aparecían en versiones anteriores del esquemas.
1.1 Primitivas descendentes
3
Se caracterizan por las siguientes propiedades:
1.Tienen una estructura simple: el esquema inicial es un concepto único y el esquema resultante se compone de un pequeño conjunto de conceptos.
2.Todos los nombres se refinan dando lugar a nuevos nombres que describen el concepto original en un nivel de abstracción más bajo.
3.Las conexiones lógicas deben ser heredadas por un solo concepto del esquema resultante.
1.1 Primitivas descendentes
3
La primitiva T1 refina una entidad para producir una relación entre dos o más entidades.
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
T1 : ENTIDAD =>Entidades relacionadas
1.1 Primitivas descendentes
3
Aplicación de la primitiva T1
LUGAR
CIUDAD
PROVINCIA
EN
1.1 Primitivas descendentes
3
La primitiva T2 refina una entidad para producir jerarquía de generalización o un subconjunto.
T2 : ENTIDAD =>Generalización;
(Entidad => Subconjunto)
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
1.1 Primitivas descendentes
Aplicación de la primitiva T2
PERSONA
PERSONA
MUJERHOMBRE
3
1.1 Primitivas descendentes
3
La primitiva T3 divide una entidad en un conjunto de entidades independientes. El efecto de esta primitiva es introducir nuevas entidades, no establecer relaciones o generalizaciones entre ellas.
T3 : ENTIDAD =>Entidades no relacionadas
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
1.1 Primitivas descendentes
Aplicación de la primitiva T3
PREMIO OSCARPREMIONOBEL
3
1.1 Primitivas descendentes
3
La primitiva T4 refina una relación para producir dos o más relaciones de las mismas entidades.
T4 : RELACION =>Relaciones paralelas
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
1.1 Primitivas descendentes
PERSONA
CIUDAD
RELACIO-NADO_CON
PERSONA
CIUDAD
VIVE_EN NACIO_EN
Aplicación de la primitiva T4
3
1.1 Primitivas descendentes
La primitiva T5 refina una relación para producir una ruta de entidades y relaciones. La aplicación de esta primitiva comprende el reconocimiento de que una relación entre dos conceptos debe expresarse mediante un tercer concepto, que ha estado oculto en la representación anterior.
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
T5 : RELACION =>Entidades con relaciones
3
1.1 Primitivas descendentes
3
EMPLEADO
DEPARTAMENTO
TRABAJA_EN
EMPLEADO
DIRECTOR
PUEDESER
DEPARTAMENTO
DIRIGE
Aplicación de la primitiva T5
1.1 Primitivas descendentes
3
La primitiva T6 refina una entidad o una relación introduciendo sus atributos.
T6 : DESARROLLO DEATRIBUTOS
o o
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
1.1 Primitivas descendentes
PERSONANOMBRE
SEXO
EDADPERSONA
Aplicación de la primitiva T6
3
1.1 Primitivas descendentes
3
La primitiva T7 refina una entidad o una relación introduciendo un atributo compuesto.
T7 : DESARROLLO DEATRIBUTOS COMPUESTOS
o o
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
1.1 Primitivas descendentes
PERSONAPERSONA
Aplicación de la primitiva T7
CALLE
NUMERO
CIUDADDIRECCIONPROVINCIA
CODIGO_POSTAL
3
1.1 Primitivas descendentes
3
La primitiva T8 refina un atributo simple para producir un atributo compuesto o bien un grupo de atributos.
T8 : REFINAMIENTO DEATRIBUTOS o
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
1.1 Primitivas descendentes
3
Aplicación de la primitiva T8
DIA
MESFECHAAÑO
FECHA
DATOS_DE_SALUDESTADO_DE_SALUD
FECHA_ULTIMA_VACUNACION
1.1 Primitivas descendentes
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTEPRIMITIVA
ESQUEMAINICIAL
ESQUEMARESULTANTE
T1 : ENTIDAD =>Entidades relacionadas
T2 : ENTIDAD =>Generalización;
(Entidad => Subconjunto)
T3 : ENTIDAD =>Entidades no relacionadas
T4 : RELACION =>Relaciones paralelas
T5 : RELACION =>Entidades con relaciones
T6 : DESARROLLO DEATRIBUTOS
T7 : DESARROLLO DEATRIBUTOS COMPUESTOS
T8 : REFINAMIENTO DEATRIBUTOS
o o
o o
o
Clasificación de las primitivas descendentes3
1.1 Primitivas descendentes(ejemplo)
SISTEMAOPERATIVO PAQUETETRABAJA_
CONDATOS
ALMACENADOSMANTIENE
(a) Esquema Inicial
3
1.1 Primitivas descendentes(ejemplo)
DDL/DML
INTERPRETA
PROGRAMA DEAPLICACION
ESCRITO_EN
SISTEMAOPERATIVO DBMSTRABAJA_
CONDATOS
ALMACENADOSMANTIENE
PROGRAMADORESCRITO_
POR
GESTION DE BASESDE DATOS
CONCEDE_ACCESO
(b) Esquema resultante3
1.2 Primitivas ascendentes
3
Introducen nuevos conceptos y propiedades que no aparecían en versiones anteriores del esquema, o modifican algunos conceptos existentes
Se usan en el diseño de un esquema siempre que se descubren rasgos del dominio de aplicación que no fueron captados en ninugun nivel de abstracción en la versión anterior del esquema.
1.1 Primitivas ascendentes
3
La primitiva B1 genera una nueva entidad. Esta primitiva se usa cuando el diseñador descubre un nuevo concepto con propiedades específicas, que no aparecía en el esquema anterior.
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
B1 : GENERACION DEENTIDAD
1.1 Primitivas ascendentes
3
La primitiva B2 genera una nueva relación entre entidades definidas anteriormente.
B2 : GENERACION DERELACIONES
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
1.2 Primitivas ascendentes
PERSONA
LUGAR
PERSONA
LUGAR
VIVE_EN
Aplicación de la primitiva B23
1.1 Primitivas ascendentes
3
La primitiva B3 crea una nueva entidad que se toma como una generalización (sea subconjunto o una jerarquía de generalización) entre entidades definidas con anterioridad.
B3 : GENERACION DEGENERALIZACION
(Generación desubconjuntos)
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
1.2 Primitivas ascendentes
PERSONA
Aplicación de la primitiva B3
DIRECTOREMPLEADO
EMPLEADO DIRECTOR
3
1.1 Primitivas ascendentes
3
La primitiva B4 genera un nuevo atributo y lo conecta a una entidad o relación definida anteriormente.
B4 : AGREGACION DEATRIBUTOS
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
1.2 Primitivas ascendentes
PERSONANOMBRE
SEXO
EDADLUGAR CIUDAD
PROVINCIA
NOMBRE
SEXO
EDAD
CIUDAD
PROVINCIA
Aplicación de la primitiva B4
3
1.1 Primitivas ascendentes
3
La primitiva B5 crea un atributo compuesto y lo conecta a una entidad o relación ya definida.
B5 : AGREGACION DEATRIBUTO COMPUESTO
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
1.2 Primitivas ascendentes
Aplicación de la primitiva B5
PERSONA
CIUDAD
CALLE
NUMERO
PROVINCIA
CIUDAD
CALLE
NUMERO
PROVINCIA
DIRECCIONPERSONA
3
1.2 Primitivas ascendentes
PRIMITIVAESQUEMA
INICIALESQUEMA
RESULTANTE
B1 : GENERACION DEENTIDAD
B2 : GENERACION DERELACIONES
B3 : GENERACION DEGENERALIZACION
(Generación desubconjuntos)
B4 : AGREGACION DEATRIBUTOS
B5 : AGREGACION DEATRIBUTO COMPUESTO 3
1.2 Primitivas ascendentes (ejemplo)
EMPLEADO CIUDADNACIO_EN
COMPAÑIATRABAJA_
EN
NOMBRE_DE_PILA
APELLIDO
3
1.2 Primitivas ascendentes (ejemplo)
EMPLEADO CIUDADNACIO_EN
COMPAÑIATRABAJA_
EN
NOMBRE_DE_PILA
APELLIDO
PERSONA
3
1.2 Primitivas ascendentes (ejemplo)
EMPLEADO
CIUDADNACIO_EN
COMPAÑIATRABAJA_
EN
NOMBRE_DE_PILA
APELLIDOPERSONA
3
2 Estrategias para el diseño de esquemas
3
Se distingue cuatro estrategias para el diseño de esquemas:
2.1 Estrategia descendente2.2 Estrategia ascendente2.3 Estrategia centrífuga2.4 Estrategia mixta
2.1 Estrategia descendente
Dominio deaplicación
Primer plano derefinamiento
Plano derefinamientogenérico
Plano derefinamientofinal
3
Se obtiene un esquema aplicando sólo las primitivas de refinamiento descendente; cada primitiva introduce nuevos detalles en el esquema
2.1 Estrategia descendente (ejemplo)
3
Los requerimientos para la base de datos son los siguientes:
En la base de datos de un censo se consideran las siguientes propiedades de las personas: nombre, apellido, sexo, edad, lugar de nacimiento, lugar de residencia, años de residencia, situación militar de los hombres, apellido de soltera de las mujeres.
Los lugares pueden ser estados extranjeros o ciudades nacionales. Cada uno tiene un nombre y número de habitantes (que representa la población total en el caso de los estados extranjeros) y los nombres de las regiones o ciudades.
2.1 Estrategia descendente (ejemplo)
(a) Primer refinamiento
DATOS DELUGARES
DATOS DEPERSONAS
RELACIONADO_CON
DATOSDEMOGRAFICOS
(b) Segundo refinamiento
3
2.1 Estrategia descendente (ejemplo)
LUGAR
LUGARNACIONAL
PAISEXTRANJERO
PERSONA
MUJERHOMBRE
VIVEEN
NACIOEN
(c) Tercer refinamiento (primitivas T2 y T4)3
2.1 Estrategia descendente (ejemplo)
CIUDADNACIONAL
PROVINCIA
LUGAR
PAISEXTRANJERO
PERSONA
MUJERHOMBRE
VIVEEN
NACIOEN
EN
(d) Esquema final (primitivas T1 y T6)
EDAD
ESTATURA
APELLIDO
NOMBRE
(1,n)
(1,n)(1,n)
NOMBRE
HABITANTES
CONTINENTEAPELLIDO DE SOLTERASITUACION MILITAR
NUMERO DE AÑOS
NOMBRE DE PROV
(1,1)
3
2.2 Estrategia ascendente
Producción deconceptos
elementales
Producción deconceptos
elementales
Conjunto deconceptos
elementales
EsquemaFinal
Dominio deaplicación
3
Se obtiene un esquema aplicando sólo las primitivas de refinamiento ascendente; partiendo de conceptos elementales y construyendo conceptos más complejos a partir de ellos; los requerimientos se descomponen, se conceptualizan de manera independiente y finalmente se fusionan en un esquema global.
EDAD_DEL_HOMBRE
ESTATURA_DEL_HOMBRE
APELLIDO_DEL_HOMBRE
NOMBRE_DEL_HOMBRE
SITUACION MILITAR
(a) Primer esquema
CONTINENTE
NOMBRE_DEL_PAIS_EXTRANJERO
APELLIDO_DE_SOLTERA
HABITANTES_DEL_PAIS_EXTRANJERONOMBRE_DE_LA_CIUDAD_NACIONAL
HABITANTES_DE_LA_CIUDAD_NACIONAL
NOMBRE_DE_LA_PROVINCIA
EDAD_DE_LA_MUJER
ESTATURA_DE_LA_MUJER
APELLIDO_DE_LA_MUJER
NOMBRE_DE_LA_MUJER
3
2.2 Estrategia ascendente (ejemplo)
2.2 Estrategia ascendente (ejemplo)
MUJERHOMBRE
EDAD
ESTATURA
APELLIDO
NOMBRE
SITUACION MILITAR
(b) Segundo esquema
CIUDADNACIONAL
PAISEXTRANJERO
CONTINENTE
NOMBRE
EDAD
ESTATURA
APELLIDO
NOMBRE
APELLIDO DESOLTERA
HABITANTES
NOMBRE
HABITANTES
PROVINCIANOMBRE DE PROV
3
2.2 Estrategia ascendente (ejemplo)
PERSONA
MUJERHOMBRE
EDAD
ESTATURA
APELLIDO
NOMBRE
SITUACION MILITAR
(c) Tercer esquema
LUGAR
CIUDADNACIONAL
PAISEXTRANJERO
CONTINENTE
NOMBRE
EDAD
ESTATURA
APELLIDO
NOMBRE
APELLIDO DESOLTERA
HABITANTES
NOMBRE
HABITANTES
PROVINCIANOMBRE DE PROV
3
2.2 Estrategia ascendente (ejemplo)
CIUDADNACIONAL
PROVINCIA
LUGAR
PAISEXTRANJERO
PERSONA
MUJERHOMBRE
VIVEEN
NACIOEN
EN
EDAD
ESTATURA
APELLIDO
NOMBRE
(1,n)
(1,n)(1,n)
NOMBRE
HABITANTES
CONTINENTEAPELLIDO DE SOLTERASITUACION MILITAR
NUMERO DE AÑOS
NOMBRE DE PROV
(d) Esquema final (primitiva B2)
(1,1)
(1,1)
(1,n)
3
Es un caso especial de estrategia ascendente. Primero se fijan los conceptos más importantes o evidentes, y luego se procede con un movimiento similar al de una mancha de aceite, seleccionando primero los conceptos más cercanos al concepto inicial, y navegando después hacia los mas distantes.
2.3 Estrategia centrífuga
Seleccionar elconcepto más
importante
Procederdesplazándose
como una manchade aceite
Esquema Final
Dominio deaplicación
Esquema inicial
Esquemaintermedio
3
2.3 Estrategia centrífuga (ejemplo)
CIUDADNACIONAL
PROVINCIA
LUGAR
PAISEXTRANJERO
PERSONA
MUJERHOMBRE
VIVEEN
NACIOEN
EN
EDAD
ESTATURA
APELLIDO
NOMBRE
(1,n)
(1,n)(1,n)
NOMBRE
HABITANTES
CONTINENTEAPELLIDO DE SOLTERASITUACION MILITAR
NUMERO DE AÑOS
NOMBRE DE PROV
(1,1)
(1,1)
(1,n)
3
2.4 Estrategia mixta
Seleccionar elconcepto más
importante
Esquema 2
Dominio deaplicación
Dominio deaplicación
Dominio deaplicación
Esquema 1
Seleccionar elconcepto más
importante 3
Aprovecha tanto la estrategia descendente como la ascendente, al permitir particiones controladas de los requerimientos.Cuando el dominio de aplicación es muy complejo, se divide los requerimientos en subconjuntos, que más tarde se consideran por separados. “ARMAZON”
2.4 Estrategia mixta (ejemplo)
LUGARPERSONA RELACIONADA_CON
(a) Esquema armazón
PERSONA
MUJERHOMBRESITUACION_
MILITARAPELLIDO_DE_
SOLTERA
(b) Esquema PERSONA
EDAD
ESTATURA
APELLIDO
NOMBRE
3
2.4 Estrategia mixta (ejemplo)
LUGAR
CIUDADNACIONAL
PAISEXTRANJERO
(c) Esquema LUGAR
PROVINCIA
EN
CONTINENTE
NOMBRE DE PROV
NOMBRE
HABITANTES
3
2.4 Estrategia mixta (ejemplo)
CIUDADNACIONAL
PROVINCIA
LUGAR
PAISEXTRANJERO
PERSONA
MUJERHOMBRE
VIVEEN
NACIOEN
EN
(d) Esquema integrado
EDAD
ESTATURA
APELLIDO
NOMBRE
(1,n)
(1,n)(1,n)
NOMBRE
HABITANTES
CONTINENTEAPELLIDO DE SOLTERASITUACION MILITAR
NUMERO DE AÑOS
NOMBRE DE PROV
(1,1)
3
2.5 Comparación de estrategiasEstrategia Descripción Ventajas Desventajas
DESCENDENTE Los conceptos se refinan progresivamente
No hay efectos secundarios indeseables
Requiere un diseñador hábil con alta capacidad de abstracción desde el comienzo
ASCENDENTE Los conceptos se crean a partir de componentes elementales. Decisiones locales de diseño sencillas
Necesidad de una reestructuración después de aplicar cada primitiva ascendente
Ninguna carga sobre el diseñador
CENTRIFUGA Los conceptos se construyen con un enfoque "de mancha de Aceite"
Facilidad para descubrir nuevos conceptos cercanos a los anteriores
La visión global del dominio de aplicación se tiene sólo al final
Ninguna carga sobre el diseñador inicial
MIXTA Partición descendente de los requerimientos; integración ascendente usando el esquema armazón
Enfoque de "divide y vencerás" Requiere decisiones cruciales sobre el esquema armazón al inicio del proceso de diseño
3
3. Criterios de elección entre conceptos
3
Entidad o atributo simple: Este problema implica elegir si un objeto de la realidad debe ser modelado como entidad o como un atributo. Se debe elegir una entidad cuando se entiende que varias características (atributos, relaciones, generalizaciones, subconjuntos) se pueden asociar con el objeto a modelar, sea ahora o más adelante en el proceso de diseño.
Generalización o atributo: Debe usarse una generalización cuando se espera que alguna característica se asocie con las entidades de más bajo nivel; de lo contrario, se elige un atributo
Atributo compuesto o conjunto de atributos simples: Se elige un atributo compuesto cuando resulta natural asignarle un nombre; se elige un conjunto de atributos simples cuando ellos representan propiedades independientes
3. Criterios de elección entre conceptos
CIUDAD
NACIO_EN
APELLIDO
PERSONA
(a) Primer ejemplo
CIUDAD_DE_NACIMIENTO
EDAD
APELLIDOPERSONA
EDAD
NOMBRE
3
3. Criterios de elección entre conceptos
PERSONA
MUJERHOMBRE
(b) Segundo ejemplo
APELLIDO
EDAD
NUMERO_DE_EMBARAZOS
PERSONAAPELLIDO
EDAD
SEXO
NUMERO_DE_EMBARAZOS
3
4. Entradas, salidas y actividades del diseño conceptual
Documentación del diseño
Esquema de datos
Esquema de funciones
Especificaciones de altonivel de la aplicación
Requerimientos dedatos
Requerimientos defunciones
Requerimientos deaplicaciones
3
4. Entradas, salidas y actividades del diseño conceptual
3
ENTRADAS: Requerimientos de Datos: describen la
estructura de los datos que se debe almacenar dentro de una base de datos( ejemplo: los empleados tienen un nombre, salario y un número de seguro social)
Requerimientos de Funciones: describen la estructura dinámica del sistema de información, identificando varias funciones o actividades dentro del sistemas (ejemplo: procesamiento de pedidos, notas de embarque)
Requerimientos de aplicación: describen operaciones sobre los datos (ejemplo: inserciones, actualizaciones, consultas)
4. Entradas, salidas y actividades del diseño conceptual
3
SALIDAS: Esquema de Datos: describe todo los datos
presentes en los requerimientos. Esquema de Funciones: describen funciones y
actividades del sistema de información. Esquema de Especificaciones de alto nivel
de la aplicación: describen las operaciones efectuadas con la base de datos
Documentación del diseño: ofrecen información adicional sobre cada una de las salidas anteriores.
4. Entradas, salidas y actividades del diseño conceptual
3
ACTIVIDADES: Análisis de requerimientos: durante este
análisis el diseñador debe estudiar minuciosamente los requerimientos y trabajar con sumo cuidado para empezar un esquema conceptual.
Conceptualización inicial: en este nivel, el diseñador crea un conjunto preliminar de abstracciones, buenas candidatas para ser representadas como entidades, relaciones y generalizaciones, el esquema es incompleto y solo representa sólo algunos aspectos de los requerimientos.
4. Entradas, salidas y actividades del diseño conceptual
3
ACTIVIDADES: Integración: Implica la fusión de varios esquemas y la
producción de una nueva representación global de ellos. Se determinan los elementos comunes de distintos esquemas y se descubren los conflictos (representaciones diferentes de los mismos conceptos) y las propiedades interesquemáticas (restricciones entre esquemas distintos).
Reestructuración: Si los requerimientos se expresan en lenguaje natural, con muchas ambigüedades y omisiones, es conveniente evitar un análisis profundo de los requerimientos y proceder a la conceptualización inicial. En cambio si los requerimientos se expresan mediante el uso de formularios, es conveniente hacer un análisis preciso de su estrcutura. Esto permite una traducción directa de los requerimientos a un esquema conceptual
5. Ejercicios
CASO 1Considere el esquema conceptual de la base de datos de fútbol. Produzca este esquema usando las siguientes estrategias.
Estrategia descendente Estrategia ascendente Estrategia centrífuga Estrategia mixta
3
PERSONA
ENTRENADOR JUGADOR
ES_PRESI-DENTE_DE
(1,1)
NOMBRE
EDAD
NUMERO
AFICIONADO PRESIDENTE
JUEGA_PARAMANEJAAPOYA
EQUIPO
JUEGA_CONTRA
JUEGOASISTE
FECHA
TIEMPO
ASISTENCIA (0,1)
PUNTUACION FINAL (0,1)
SE_JUEGA_EN ESTADIO
PRACTICA
FECHA
LOCALIDAD
TAMAÑO
NOMBRE
(1,1)(1,1)(1,1)
(1,n)
(1,n)(1,1) (1,n)
(1,1)
(1,n)
(1,n)(1,n)
(1,n) (1,1) (0,n)
(1,n)
NUMERO
3
5. Ejercicios
CASO 2Considere el esquema conceptual de la base de datos de proyectos de investigación. Produzca este esquema usando las siguientes estrategias.
Estrategia descendente Estrategia ascendente Estrategia centrífuga Estrategia mixta
3
TRABAJO_DE_INVESTIGACION
ORIGINA
SOBRE
SUPERVISA
(1,n)
(0,n)
PROYECTO_DE_INVESTIGACION
ES_INVESTIGADOR_PRINCIPAL
TEMA_DE_INVESTIGACION
DIRIGE
AGENCIA
CON_FONDOS_DE
NUMERO_DE_SUBVENCION
FECHA
CANTIDAD
NOMBRE
DIRECCION
EMPLEADO_DE_CONTACTO
NOMBRE
TITULO
AUTORES (1,n)
TRABAJA_EN(1,n)
(1,n)
(1,n)
(1,1)
(1,n)
(1,1)
(1,n)
(1,n)
(1,1)
(0,n)
EMPLEADO
(0,n) (1,1)
NOMBRE
NUM_SEG_SOC
TITULO
OFICINA
TELEFONO (0,n)NOMBRE CODIGO
NOMBRE
3
5. Ejercicios
CASO 3Considere los siguientes requerimientos referidos a la organización de un curso. Los requerimientos están inscritos en un estilo centrífugo: comienzo describiendo los participantes del curso y continúan con todos los otros aspectos importantes.
Para cada participante en un curso, almacene el nombre, apellido, fecha de nacimiento y sexo.
Indique si cada participante está casado y el número de hijos.
Represente, asimismo, las ciudades de residencia y las ciudades donde nacieron, con las provincias.
Almacene otra información relativa al curso al que asistieron (número de clases, fecha, temas) y al profesor (o profesores) que les enseño (nombre, apellido, afiliación).
Para profesores afiliados a universidades, indique su universidad de afiliación y su campo de especialización.
3
5. Ejercicios
CASO 4Estudie los siguientes requerimientos de datos para una base de datos de reservas y cree un esquema conceptual para este dominio de aplicación, usando estas estrategias:
Estrategia descendente Estrategia ascendente Estrategia centrífuga Estrategia mixta
La base de datos de reserva almacena información sobre vuelos y reservas de pasajeros. Para cada vuelo, se conocen los aeropuertos, fechas y horas de salida y de llegada. Suponga que los vuelos conectan sólo aeropuerto de salida y un aeropuerto de llegada, sin paradas intermedias. De cada pasajero se conoce el nombre, sexo y número de teléfono; así como el asiento y si fuma o no. Cada pasajero puede tener múltiples reservas.
3
5. Ejercicios
CASO 5Estudie los siguientes requerimientos de datos para una base de datos de un hospital y cree un esquema conceptual para este dominio de aplicación, usando estas estrategias:
Estrategia descendente Estrategia ascendente Estrategia centrífuga Estrategia mixta
La base de datos del hospital almacena información sobre los pacientes, su admisión y alta de los departamentos del hospital, y sus tratamientos. Para cada paciente, se conoce nombre, dirección, sexo, número de seguro social y código del seguro (si lo tiene). Para cada departamento, su ubicación, el nombre del médico que lo dirige, el número de camas disponibles y el número de camas ocupadas. …//
3
5. Ejercicios
CASO 5//…Cada paciente se admite y se da de alta en una determinada fecha. A cada paciente se le administran varios tratamientos durante la hospitalización; para cada tratamiento, se almacena su nombre, duración y las posibles reacciones que pueda tener el paciente.
3