Sistemas de Bases de Datos I

46
Sistemas de Bases de Datos I José Pedro Rabinovich [email protected] y

description

Sistemas de Bases de Datos I. José Pedro Rabinovich [email protected]. Diseño Conceptual – Intro.1. Diseño Conceptual – Intro.2. Que es la Modelización conceptual Primer etapa en diseño de una BD. Sub-etapas: Estudio del problema real. - PowerPoint PPT Presentation

Transcript of Sistemas de Bases de Datos I

Page 1: Sistemas de Bases de Datos I

Sistemas de Bases de Datos I

José Pedro [email protected]

Page 2: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 2

Diseño Conceptual – Intro.1

Page 3: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 3

Diseño Conceptual – Intro.2

Que es la Modelización conceptual Primer etapa en diseño de una BD. Sub-etapas:

Estudio del problema real. Especificación usando un lenguaje de muy alto

nivel. Resultado:

Esquema Conceptual Lenguajes usados:

Modelos Conceptuales. Nosotros usaremos el MER (Modelo Entidad-Relación)

Page 4: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 4

Diseño Conceptual – Intro.3

Que son los modelos conceptuales? Modelos de datos de muy alto nivel. En general se concentran en

estructuras. Tienen una representación gráfica

asociada. Permiten representar el “mundo real” de

forma abstracta.

Page 5: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 5

Diseño Conceptual – Intro.4

Que son los modelos conceptuales? El E. C. asociado a un problema debe

representar todos los aspectos del mismo.

No debe incluir ningún elemento asociado a la implementación del esquema, así como ningún elemento orientado a la performance de la futura BD.

Page 6: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 6

Diseño Conceptual Modelo Entidad Relación

1 Modelo Conceptual más usado. Propuesto por Chen en 1976. Existe una gran variedad de

“dialectos” y variantes del Modelo Entidad Relación.

Se utiliza fundamentalmente para la definición de datos.

Se base en representar objetos (entidades) y relaciones entre ellos.

Page 7: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 7

Diseño Conceptual Modelo Entidad Relación

2 Permite declarar gran cantidad de

restricciones tanto sobre relaciones como sobre conjuntos de entidaddes.

Tiene DDL gráfico, no tiene DML. Conceptos básicos:

Entidad : objeto de la realidad. (Ej.: Estudiantes, Cursos, Docentes)

Relación : asociación entre objetos (Ej.: Cursa, Dicta)

Page 8: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 8

Diseño Conceptual Modelo Entidad Relación

3Entidad: Una “cosa” de la realidad. Objeto con

existencia física o conceptual (persona, auto, casa, compañía, curso, puesto de trabajo).

Se representan gráficamente con un rectángulo, con el nombre.

Los nombres de entidad no pueden repetirse.

Empleado

Page 9: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 9

Diseño Conceptual Modelo Entidad Relación

4

Atributos: Propiedades especificas de las

entidades (las describen).

CI

TeléfonoeMail

Fecha Nacimiento

Nombre

Empleado

Dirección

Page 10: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 10

Diseño Conceptual Modelo Entidad Relación

5Tipos de Atributos: Atributos Compuestos

Se pueden dividir en componentes mas pequeños, que representan atributos másicos con su propio significado.

CI

TeléfonoeMail

Fecha Nacimiento

Nombre

Empleado

DirecciónCalleNumeroEsquina

Page 11: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 11

Diseño Conceptual Modelo Entidad Relación

6Tipos de Atributos: Atributos Monovaluados o Monovalorados

Atributos con un solo valor para una entidad en particular. Por ej. CI

Atributos Multivaluados o Multivalorados Atributos que tienen un conjunto de valores Por

ej. Color de auto, teléfono. Los representamos con un asterizco.

CI

TeléfonoEmpleado

*

Page 12: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 12

Diseño Conceptual Modelo Entidad Relación

7Atributos Clave de entidad: Atributo cuyo valor es distinto para cada

elemento de la entidad. Sirven para identificar de manera única

cada elemento de la entidad.

CI

TeléfonoeMail

Fecha Nacimiento

Nombre

Empleado

Dirección

Page 13: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 13

Diseño Conceptual Modelo Entidad Relación

8

Dominios de los atributos. Conjunto de valores que puede tomar el

atributo. Especifica que valores es posible asignar

a un atributo. No se representan en los diagramas ER Por ejemplo el nombre de empleado es

una cadena de caracteres.

Page 14: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 14

Diseño Conceptual Modelo Entidad Relación

9Relaciones Una relación define un conjunto de

asociaciones entre entidades. Se representan gráficamente con un rombo

con el nombre. Cada relación tiene un nombre que la

describe. Cada ejemplar de vínculo de una relación R

es una asociación de entidades, donde la asociación incluye una y solo una entidad de cada tipo de entidades participante.

Page 15: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 15

Diseño Conceptual Modelo Entidad Relación 10

Relaciones Por ejemplo: Los empleados

pertenecen a departamentos.

Empleado Pertenece_A

DirecciónFecha nac

NombreCI

Departamento

Nombre

Numero

Page 16: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 16

Diseño Conceptual Modelo Entidad Relación 11

RelacionesGrado de la relación: Es la cantidad entidades que

participan en la relación. En el ejemplo anterior el grado es 2. Llamaremos relaciones binarias a las

de grado 2 y ternarias a las de grado 3. (Por ahora nos centraremos en las binarias).

Page 17: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 17

Diseño Conceptual Modelo Entidad Relación 12

RelacionesRestricciones sobre las relaciones: Distinguimos 2 tipos principales de

restricciones sobre relaciones: Cardinalidad Participación o totalidad.

Page 18: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 18

Diseño Conceptual Modelo Entidad Relación 13

Relaciones - Restricciones Cardinalidad 1:N

Especifica el numero de ejemplares de vínculos en los que puede participar una entidad en una relación.

Empleado Pertenece_A

Fecha nacNombre

CI

Departamento

Nombre

Numero

Dirección

N 1

Page 19: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 19

Diseño Conceptual Modelo Entidad Relación 14

Relaciones - Restricciones Cardinalidad 1:N En el ejemplo tenemos que:

Cada departamento puede estar relacionado con muchos empleados N

Un empleado solo puede estar relacionado (pertenecer a) con un departamento 1

Page 20: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 20

Diseño Conceptual Modelo Entidad Relación 15

Relaciones Papeles o Roles en las relaciones

Toda entidad que participe en una relación desempeña un papel específico en la misma.

En el ejemplo, para la relación PERTENECE_A EMPLEADO desempeña el rol de empleado o trabajador y DEPARTAMENTO el de patrón.

No son necesarios los roles en las relaciones en las que todas las entidades son diferentes.

Page 21: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 21

Diseño Conceptual Modelo Entidad Relación 15

Relaciones Papeles o Roles en las relaciones y

auto-relaciones. Cuando una entidad participa mas de

una vez en una relación desempeñando diferentes papeles. Debemos diferenciar los roles.

Page 22: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 22

Diseño Conceptual Modelo Entidad Relación 16

Relaciones Auto-relaciones (o relaciones

recursivas)

Empleado Supervisión

Fecha nacNombre

CI

1

N

Supervisado

Jefe

Page 23: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 23

Diseño Conceptual Modelo Entidad Relación 17

Relaciones Restricción de cardinalidad 1:1

Empleado Dirige

Fecha nacNombre

CI

Departamento

Nombre

Numero

1 1

Page 24: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 24

Diseño Conceptual Modelo Entidad Relación 18

Relaciones Restricción de cardinalidad N:M

Empleado Trabaja_en

Fecha nacNombre

CI

Proyecto

Nombre

Numero

N M

Page 25: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 25

Diseño Conceptual Modelo Entidad Relación 19

Relaciones - Restricciones Participación o Totalidad

Especifica si la existencia de un ejemplar de entidad depende de que esté relacionada con otra entidad a través de la relación

Empleado Pertenece_A

Fecha nacNombre

CI

Departamento

Nombre

Numero

Dirección

N 1

Page 26: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 26

Diseño Conceptual Modelo Entidad Relación 20

Relaciones - Restricciones Participación o Totalidad

En el ejemplo estamos representando en hecho de que todo empleado debe pertenecer a un departamento.

Se dice que la participación de empleado es TOTAL.

A veces recibe el nombre de “dependencia de existencia”.

Page 27: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 27

Diseño Conceptual Modelo Entidad Relación 21

Relaciones Atributos de Relaciones ¿Como represento la cantidad de

horas que un empleado dedica a un proyecto?

Empleado Trabaja_en

Fecha nacNombre

CI

Proyecto

Nombre

Numero

N M

Page 28: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 28

Diseño Conceptual Modelo Entidad Relación 21

Relaciones Atributos de Relaciones ¿Es atributo del empleado? ¿Es atributo del proyecto?

Empleado Trabaja_en

Fecha nacNombre

CI

Proyecto

Nombre

Numero

N M

Horas

Page 29: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 29

Diseño Conceptual Modelo Entidad Relación 22

Relaciones y atributos de relacionesEjercicio 1: Hay un conjunto de cines de los que se

conoce el nombre y la ciudad y se asume que la pareja nombre-ciudad identifica al cine. Existe también un conjunto de películas que se exhibe en los cines y de las que se conoce un código que la identifica y un nombre.

Una función, que se exhibe en un cine, queda determinada por su fecha y hora.

Page 30: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 30

Diseño Conceptual Modelo Entidad Relación 23

Relaciones y atributos de relacionesEjercicio 1 - solución:

Película Exhibe

NombreCod

Cine

Nombre

Ciudad

N M

Función

Fecha Hora

ID

Page 31: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 31

Diseño Conceptual Modelo Entidad Relación 24

Ejercicio 2: Una empresa de construcción

realiza, a partir del diseño de sus proyectos, documentos de requerimientos de materiales. Todo requerimiento da origen a uno o mas pedidos de compras.

Modelar qué requerimientos originan qué pedidos de compras solicitando determinados materiales.

Page 32: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 32

Diseño Conceptual Modelo Entidad Relación 25

Ejercicio 2 – solución 1:

Materiales M-R-P Requerimientos? ?

Pedidos

?

Page 33: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 33

Diseño Conceptual Modelo Entidad Relación 26Agregaciones Objetivos:

Representar asociaciones (Relaciones) entre elementos de Relaciones y otras Entidades.

Representar relaciones entre múltiples Entidades pero manteniendo relaciones binarias.

Constructor: Se “re interpreta” una relación como si

fuera una Entidad. La nueva Entidad se utiliza como cualquier

otra. Se represente enmarcando las 2 entidades

y la relación en cuestión.

Page 34: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 34

Diseño Conceptual Modelo Entidad Relación 27

Agregaciones Ejercicio 2 – solución 2:

Materiales M-R RequerimientosN N

Pedidos

N

M-R-P

N

Page 35: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 35

Diseño Conceptual Modelo Entidad Relación 28

¿Cómo procedemos a aplicar el Modelo a una determinada realidad?

Identificar los objetos de nuestro problema.

Identificar las relaciones entre estos objetos.

Representar las propiedades que nos interesan de dichos objetos.

Determinar otras restricciones que deseamos imponer.

Page 36: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 36

Diseño Conceptual Modelo Entidad Relación 29

Ejercicio 3: Se desea guardar información sobre las

conferencias realizadas en una convención. Cada conferencia trata sobre uno o mas

temas. Cada conferencia es dictada por uno o mas

conferencistas, y tiene asociados uno o mas documentos.

Tales documentos son realizados por uno o mas autores, cada uno de los cuales pudo haber intervenido en mas de un documento.

Page 37: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 37

Diseño Conceptual Modelo Entidad Relación 30

Ejercicio 3

Solución 1

ConferencistaConferencia DictaN N

Trata

Tema

N

1

DocumentoN

1

Escrito_Por Autor

Tiene

N

N

Page 38: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 38

Diseño Conceptual Modelo Entidad Relación 30

Ejercicio 3 Solución 2

ConferencistaDicta

1 N

Documento1

Escrito_Por

Tiene

Conferencia

Trata

TemaN

1

Autores

N N

N

Page 39: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 39

Diseño Conceptual Modelo Entidad Relación 31

Ejercicio 4:Una empresa esta dividida en varios departamentos de

los que se conoce un nombre que los identifica.De los funcionarios se conoce su numero, nombre y

dirección. Si el funcionario es chofer, se conoce su nro. de libreta y # de accidentes que tuvo. Si es administrativo, los idiomas que habla. Si es técnico, las especialidades en las que puede trabajar.

La empresa tiene un cjto. de coches (conducidos por choferes) de los que se conoce matrícula y marca. A cualquier chofer se le puede asignar cualquier coche.

Además la empresa lleva adelante un conjunto de proyectos (identificados por un numero) en los que trabajan los empleados técnicos.

Page 40: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 40

Diseño Conceptual Modelo Entidad Relación 32

Especialización o categorización. Permiten representar

subagrupaciones de entidades. Se utiliza cuando dichas

subagrupaciones son significativas y es necesario representarlas en forma explícita por su importancia para la aplicación de base de datos.

Page 41: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 41

Diseño Conceptual Modelo Entidad Relación 33

Especialización o categorización.

Entidad

Subentidad1 Subentidad2

Page 42: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 42

Diseño Conceptual Modelo Entidad Relación 34

Ejercicio 4Solución

Page 43: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 43

Diseño Conceptual Modelo Entidad Relación 35

Entidad Débil.

Page 44: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 44

Diseño Conceptual Modelo Entidad Relación 36 Entidad Débil.

Page 45: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 45

Diseño Conceptual Modelo Entidad Relación 37 Entidad Débil.

Page 46: Sistemas de Bases de Datos I

21/04/23

Sistemas de Bs. de Ds. I 2do Año Jose Pedro

Rabinovich 46

Diseño Conceptual Modelo Entidad Relación 33

Especialización o categorización.

Funcionarios

choferes

Subentidad2

#fincNombre

direcciónConferencistaTrab

N 1

Nombre