introducción al modelo entidad relación

64
Modelo Entidad-Relación. Conceptos básicos. Mtro. Omar Sosa Tzec. Lic. en Diseño de Interacción. Universidad Iberoamericana Campus Puebla. http://www.tzek-design.com/blog

Upload: omar-sosa-tzec

Post on 19-Jan-2015

17.114 views

Category:

Design


5 download

DESCRIPTION

Presentación de los conceptos básicos relacionados al Modelo Entidad-Relación para las bases de datos como parte de los sistemas de organización para la arquitectura de información para la world wide web definidos por Peter Morville y Louis Rosenfeld.

TRANSCRIPT

Page 1: Introducción al Modelo Entidad Relación

ModeloEntidad-Relación.Conceptos básicos.

Mtro. Omar Sosa Tzec.

Lic. en Diseño de Interacción.Universidad Iberoamericana Campus Puebla.

http://www.tzek-design.com/blog

Page 2: Introducción al Modelo Entidad Relación

Sistemas deorganización.

Sistemas deetiquetado.

Sistemas denavegación.

Sistemas deBúsqueda.

Information Architecture for the World Wide Web.Peter Morville and Louis Rosenfeld.O’Reilly. 2006.

Componentes de la Arquitectura de Información.

Page 3: Introducción al Modelo Entidad Relación

Sistemas deorganización.

Esquemas deorganización.

Estructuras deorganización.

Exactos Ambiguos

Clasificación Social (Folksonomía).Information Architecture for the World Wide Web.

Peter Morville and Louis Rosenfeld.O’Reilly. 2006.

Jerarquía/Taxonomías(top-down)

Modelo debase de datos(bottom-up)

Page 4: Introducción al Modelo Entidad Relación

Sistemas deorganización.

Esquemas deorganización.

Estructuras deorganización.

Exactos Ambiguos Jerarquía/Taxonomías(top-down)

Modelo debase de datos(bottom-up)

Clasificación Social (Folksonomía).Information Architecture for the World Wide Web.

Peter Morville and Louis Rosenfeld.O’Reilly. 2006.

Page 5: Introducción al Modelo Entidad Relación

La taxonomía presente en los pasillosde la tienda de artículos de oficina.

Page 6: Introducción al Modelo Entidad Relación

La taxonomía presente en los pasillosde la tienda de artículos de oficina.

Page 7: Introducción al Modelo Entidad Relación

Sistemas deorganización.

Esquemas deorganización.

Estructuras deorganización.

Exactos Ambiguos Jerarquía/Taxonomías(top-down)

Modelo debase de datos(bottom-up)

Clasificación Social (Folksonomía).Information Architecture for the World Wide Web.

Peter Morville and Louis Rosenfeld.O’Reilly. 2006.

Page 8: Introducción al Modelo Entidad Relación

<helado><nombre></nombre><sabor></sabor><recipiente></recipiente>

</helado>

Idea de una estructura XMLpara caracterizar a los helados.

Page 9: Introducción al Modelo Entidad Relación

Elementos delmodelo entidad-relación.

Page 10: Introducción al Modelo Entidad Relación

El modelo E-R se basa en una percepción del mundo real, la cual está formada por objetos básicos llamados entidades, los cuales poseen atributos y las relaciones entre estos objetos.

Fuente: http://www.lsgames.com/tmp/SQL/ModeloER_Access.htm

Page 11: Introducción al Modelo Entidad Relación

Entidad.

Una entidad es un objeto que ya existe y que es distinguible de otros objetos.

Se representa visualmente como:

Fuente: http://alvherre.atentus.cl/modBasico/node3.html

Page 12: Introducción al Modelo Entidad Relación

Atributo.

Es una característica interesante sobre una entidad.

Algo que se desee almacenar.

Se representa visualmente como:

Fuente: http://alvherre.atentus.cl/modBasico/node3.html

Page 13: Introducción al Modelo Entidad Relación

Persona

CURP Nombre ApellidoPaterno

ApellidoMaterno

Ejemplo.

Page 14: Introducción al Modelo Entidad Relación

Clave.

Para una entidad una clave es un atributo o conjunto de atributos que no se repite.

Como pueden haber muchas claves, para elegir una hay que considerar:

* Que sea única.* Que se tenga pleno conocimiento de ella.* Que sea mínima.

Fuente: http://www.lsgames.com/tmp/SQL/ModeloER_Access.htm

Page 15: Introducción al Modelo Entidad Relación

Persona

#CURP Nombre ApellidoPaterno

ApellidoMaterno

Ejemplo.

Page 16: Introducción al Modelo Entidad Relación

Relación.

* Una asociación entre dos entidades, generalmente dos.

* El número de entidades determina el grado de la relación.

Fuente: http://alvherre.atentus.cl/modBasico/node3.html

Se representa visualmente como:

Page 17: Introducción al Modelo Entidad Relación

Ejemplo.

Profesor imparte Curso

Page 18: Introducción al Modelo Entidad Relación

Entidad Débil.

* Depende de la existencia de otra entidad.

* No poseen atributos claves propios sino que dependen del que posee una fuerte.

Introducción a Los Sistemas de Bases de Datos.C.J. Date.Pearson, 2001.

Se representa visualmente como:

Page 19: Introducción al Modelo Entidad Relación

Ejemplo.

Persona come helado

Page 20: Introducción al Modelo Entidad Relación

Cardinalidad.

Page 21: Introducción al Modelo Entidad Relación

El tipo de relación que puede establecerse entre entidades:

* Uno a uno. 1:1.

* Uno a muchos. 1:M.

* Muchos a uno. M:1.

* Muchos a muchos. M:N.

Fuente: http://atenea.udistrital.edu.co/profesores/jdimate/basedatos1/tema2_3.htm

Page 22: Introducción al Modelo Entidad Relación

Ejemplo.

Persona nació País

Fuente: http://mysql.conclase.net/curso/index.php?cap=002a

Page 23: Introducción al Modelo Entidad Relación

Ejemplo.

Profesor imparte CursoM

Page 24: Introducción al Modelo Entidad Relación

Ejemplo.

Galleta comida por PersonaM

Page 25: Introducción al Modelo Entidad Relación

Ejemplo.

Alumno registra CursoM N

Page 26: Introducción al Modelo Entidad Relación

Para modelar:

1. Se parte de una descripción textual del problema o sistema de información a automatizar (los requisitos).

2. Se hace una lista de los sustantivos y verbos que aparecen.

3. Los sustantivos son posibles entidades o atributos.

4. Los verbos son posibles relaciones.

5. Analizando las frases se determina la cardinalidad de las relaciones y otros detalles.

6. Se elabora el diagrama (o diagramas) entidad-relación.

7. Se completa el modelo con listas de atributos, selección de claves primarias y una descripción de otras restricciones que no se pueden reflejar en el diagrama.

Wikipedia, 2010.

Page 27: Introducción al Modelo Entidad Relación

Un ejemplo sencillode Entidad-Relación.

Page 28: Introducción al Modelo Entidad Relación

usuario

#id nick

Page 29: Introducción al Modelo Entidad Relación

ID nick

1 Omar

2 Lulú

3 Horacio

4 Roberto

5 Fátima

6 José

7 Carlos

Page 30: Introducción al Modelo Entidad Relación

ID nick

1 Omar

2 Lulú

3 Horacio

4 Roberto

5 Fátima

6 José

7 Carlos

Page 31: Introducción al Modelo Entidad Relación

Album

#ID_album nombre_album año_album portada

Page 32: Introducción al Modelo Entidad Relación

ID_album nombre_album año_album portada

1 Day & Age 2008 thekillers.gif

2 Monster Fame 2009 ladygaga05.jpg

3 The E.N.D. 2009 blackeyedpeas.jpg

4 Happy Nation 1996 acehappynation.png

5 Only by the night. 2009 kingsofleoncover.jpg

6 Greatest Hits 2002 bjork-gh.gif

7 Greatest Hits 2000 madonna-gh.jpg

Page 33: Introducción al Modelo Entidad Relación

ID_album nombre_album año_album portada

1 Day & Age 2008 thekillers.gif

2 Monster Fame 2009 ladygaga05.jpg

3 The E.N.D. 2009 blackeyedpeas.jpg

4 Happy Nation 1996 acehappynation.png

5 Only by the night. 2009 kingsofleoncover.jpg

6 Greatest Hits 2002 bjork-gh.gif

7 Greatest Hits 2000 madonna-gh.jpg

Page 34: Introducción al Modelo Entidad Relación

Usuario Álbumtiene

M N

Page 35: Introducción al Modelo Entidad Relación

ID ID_album

1 1

1 2

1 3

1 6

2 3

3 1

3 7

Page 36: Introducción al Modelo Entidad Relación

ID ID_album

1 1

1 2

1 3

1 6

2 3

3 1

3 7

Page 37: Introducción al Modelo Entidad Relación

ID ID_album

1 1

1 2

1 3

1 6

2 3

3 1

3 7

Page 38: Introducción al Modelo Entidad Relación

ID nick

1 Omar

2 Lulú

3 Horacio

4 Roberto

5 Fátima

6 José

7 Carlos

ID ID_album

1 1

1 2

1 3

1 6

2 3

3 1

3 7

En una base de datos relacional, las relaciones de una entidad relación se vuelven tablas.

Los queries o consultas (en lenguaje SQL) buscan en los datos que tienen las tablas, tupla por tupla, por eso no podemos poner todo en una sola tabla...!!!

ID_album nombre_album

año_album portada

1 Day & Age 2008 thekillers.gif

2 Monster Fame 2009 ladygaga05.jpg

3 The E.N.D. 2009 blackeyedpeas.jpg

4 Happy Nation 1996 acehappynation.png

5 Only by the night.

2009 kingsofleoncover.jpg

6 Greatest Hits 2002 bjork-gh.gif

7 Greatest Hits 2000 madonna-gh.jpg

Page 39: Introducción al Modelo Entidad Relación

Cancion

nombre_canción género rating#ID_canción

Page 40: Introducción al Modelo Entidad Relación

ID_cancion nombre_canción género rating

1 Losing Touch Rock alternativo 5

2 Human Rock alternativo 3

3 Spaceman Rock alternativo 3

4 Joy Ride Rock alternativo 1

5 Dustland Fairytale Rock alternativo

6 This is your life Rock alternativo

7 I can’t stay Rock alternativo 5

Cuando se diseña, hay que determinar cómo se van a guardar los datos... la base de datos no puede guardar “estrellitas”..!!!

Page 41: Introducción al Modelo Entidad Relación

ID_cancion nombre_canción género rating

1 Losing Touch Rock alternativo 5

2 Human Rock alternativo 3

3 Spaceman Rock alternativo 3

4 Joy Ride Rock alternativo 1

5 Dustland Fairytale Rock alternativo

6 This is your life Rock alternativo

7 I can’t stay Rock alternativo 5

Mapear este valor a algo visual con significado, legibilidad, pregnancia, etc... ¡eso es diseñar la información!

Page 42: Introducción al Modelo Entidad Relación

ID_cancion nombre_canción género rating

1 Losing Touch Rock alternativo 5

2 Human Rock alternativo 3

3 Spaceman Rock alternativo 3

4 Joy Ride Rock alternativo 1

5 Dustland Fairytale Rock alternativo

6 This is your life Rock alternativo

7 I can’t stay Rock alternativo 5

El “cómo” va el usuario va colocar el número de estrellas, por ejemplo, arrastrando el dedo en la pantalla del iPod para que aumenten o disminuyan, es una solución de ¡diseño de interacción!.

Page 43: Introducción al Modelo Entidad Relación

Album Cancióntiene

M N

Page 44: Introducción al Modelo Entidad Relación

ID_album nombre_album

año_album portada

1 Day & Age 2008 thekillers.gif

2 Monster Fame 2009 ladygaga05.jpg

3 The E.N.D. 2009 blackeyedpeas.jpg

4 Happy Nation 1996 acehappynation.png

5 Only by the night.

2009 kingsofleoncover.jpg

6 Greatest Hits 2002 bjork-gh.gif

7 Greatest Hits 2000 madonna-gh.jpg

ID_cancion nombre_canción

género rating

1 Losing Touch Rock alternativo 5

2 Human Rock alternativo 3

3 Spaceman Rock alternativo 3

4 Joy Ride Rock alternativo 1

5 Dustland Fairytale

Rock alternativo

6 This is your life Rock alternativo

7 I can’t stay Rock alternativo 5

ID_album ID_canción

1 1

1 2

1 3

1 6

2 8

2 9

2 10

Page 45: Introducción al Modelo Entidad Relación

Canción Autortiene

Page 46: Introducción al Modelo Entidad Relación

La tabla original....

ID_album nombre_album año_album portada

1 Day & Age 2008 thekillers.gif

2 Monster Fame 2009 ladygaga05.jpg

3 The E.N.D. 2009 blackeyedpeas.jpg

4 Happy Nation 1996 acehappynation.png

5 Only by the night. 2009 kingsofleoncover.jpg

6 Greatest Hits 2002 bjork-gh.gif

7 Greatest Hits 2000 madonna-gh.jpg

Page 47: Introducción al Modelo Entidad Relación

Hay que ligar al único autor.

ID_album nombre_album año_album portada id_autor

1 Day & Age 2008 thekillers.gif

2 Monster Fame 2009 ladygaga05.jpg 3

3 The E.N.D. 2009 blackeyedpeas.jpg 3

4 Happy Nation 1996 acehappynation.png 4

5 Only by the night. 2009 kingsofleoncover.jpg 1

6 Greatest Hits 2002 bjork-gh.gif 4

7 Greatest Hits 2000 madonna-gh.jpg

Page 48: Introducción al Modelo Entidad Relación

ID_autor nombre_autor

1 Dave Keuning

2 Mark Stoermer

3 Brandon Flowers

4 Vanucci Jr.

ID_cancion nombre_canción

género rating id_autor

1 La estrategia perdida

emo light 5

2 So violento so macabro

emo light 3 3

3 El infame “estar y no

estar”

emo light 3 3

4 Estoy más solo que ayer

emo light 1 4

5 Narcisista por Excelencia

emo light 1

6 Procedimientos para...

emo light 4

7 Tripulación, armar

toboganes

emo light 5

Page 49: Introducción al Modelo Entidad Relación

Básicos de SQL.

Page 50: Introducción al Modelo Entidad Relación

Es el lenguaje para realizar consultas en un Sistema de Base de Datos Relacionales (RDBMS).

Wikipedia.

Page 51: Introducción al Modelo Entidad Relación

Comandos de SQL:

* SELECT

* FROM

* WHERE

* GROUP BY

* ORDER BY

Wikipedia.

Page 52: Introducción al Modelo Entidad Relación

Comandos de SQL:

* SELECT - ¿Qué cosa?

* FROM

* WHERE

* GROUP BY

* ORDER BY

Wikipedia.

Page 53: Introducción al Modelo Entidad Relación

Comandos de SQL:

* SELECT - ¿Qué cosa?

* FROM - ¿De qué tabla?

* WHERE

* GROUP BY

* ORDER BY

Wikipedia.

Page 54: Introducción al Modelo Entidad Relación

SELECT nick FROM usuario

SELECT id_cancion, rating FROM canción

Wikipedia.

Page 55: Introducción al Modelo Entidad Relación

Comandos de SQL:

* SELECT - ¿Qué cosa?

* FROM - ¿De qué tabla?

* WHERE - ¿Bajo qué condición?

* GROUP BY

* ORDER BY

Wikipedia.

Page 56: Introducción al Modelo Entidad Relación

SELECT nick FROM usuario WHERE nick= “josé”

SELECT id_cancion, rating FROM canción WHERE rating > 3

Wikipedia.

Page 57: Introducción al Modelo Entidad Relación

Comandos de SQL:

* SELECT - ¿Qué cosa?

* FROM - ¿De qué tabla?

* WHERE - ¿Bajo qué condición?

* GROUP BY - ¿Como debe agruparse?

* ORDER BY

Wikipedia.

Page 58: Introducción al Modelo Entidad Relación

SELECT * FROM canción GROUP BY género

SELECT id_cancion, rating, género FROM canción WHERE rating > 3GROUP BY género

Wikipedia.

Page 59: Introducción al Modelo Entidad Relación

Comandos de SQL:

* SELECT - ¿Qué cosa?

* FROM - ¿De qué tabla?

* WHERE - ¿Bajo qué condición?

* GROUP BY - ¿De qué tabla?

* ORDER BY - ¿Cómo se debe ordenar?

Wikipedia.

Page 60: Introducción al Modelo Entidad Relación

SELECT * FROM usuario ORDER BY nombre_usuario

SELECT id_cancion, rating, género FROM canción WHERE rating > 3ORDER BY rating

Wikipedia.

Page 61: Introducción al Modelo Entidad Relación

Tarea 3.

Se ha decidido crear una agenda de eventos estudiantiles de la universidad para el iPod/iPhone y Blackberry.

Dada las limitaciones de espacio y pensando en la transmisión de datos, de cada evento sólo se registrará lo siguiente:

* nombre del evento.* fecha del evento.* lugar.* hora de inicio.* duración.* cuánto cuesta la entrada (si es que cuesta algo).

Los eventos estudiantiles sólo serán realizados en tres lugares: el anfiteatro, el auditorio y la cafetería.

Page 62: Introducción al Modelo Entidad Relación

Como las mesas de cada escuela organizan los eventos, es necesario saber cuál de ellas está organizando un evento en particular. Por cierto, los datos que se registran de cada mesa son los siguientes:

* Nombre de la mesa.* Escuela a la que pertenece.

La gente que utilice la agenda puede checar qué eventos hay en el mes actual, por rango de fechas, dependiendo si el evento es gratuito o no, según el precio de entrada y según el lugar de entrada. También pueden checar qué escuela organiza el evento.

Page 63: Introducción al Modelo Entidad Relación

Escribe un post que contenga:

1. Un diagrama entidad-relación para este proyecto.

2. Explica tres casos de casos de cómo se llevarían a cabo las consultas.

Importante: El título de este post debe empezar con la palabra “Tarea 3”.

Page 64: Introducción al Modelo Entidad Relación

Gracias.

* Presentación con fines didácticos sin lucro. Imágenes y textos son propiedad de sus autores.