introducción al modelo entidad relación

Post on 19-Jan-2015

17.108 Views

Category:

Design

5 Downloads

Preview:

Click to see full reader

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

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

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.

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)

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.

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

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

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.

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

</helado>

Idea de una estructura XMLpara caracterizar a los helados.

Elementos delmodelo 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

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

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

Persona

CURP Nombre ApellidoPaterno

ApellidoMaterno

Ejemplo.

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

Persona

#CURP Nombre ApellidoPaterno

ApellidoMaterno

Ejemplo.

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:

Ejemplo.

Profesor imparte Curso

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:

Ejemplo.

Persona come helado

Cardinalidad.

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

Ejemplo.

Persona nació País

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

Ejemplo.

Profesor imparte CursoM

Ejemplo.

Galleta comida por PersonaM

Ejemplo.

Alumno registra CursoM 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.

Un ejemplo sencillode Entidad-Relación.

usuario

#id nick

ID nick

1 Omar

2 Lulú

3 Horacio

4 Roberto

5 Fátima

6 José

7 Carlos

ID nick

1 Omar

2 Lulú

3 Horacio

4 Roberto

5 Fátima

6 José

7 Carlos

Album

#ID_album nombre_album año_album portada

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_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

Usuario Álbumtiene

M N

ID ID_album

1 1

1 2

1 3

1 6

2 3

3 1

3 7

ID ID_album

1 1

1 2

1 3

1 6

2 3

3 1

3 7

ID ID_album

1 1

1 2

1 3

1 6

2 3

3 1

3 7

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

Cancion

nombre_canción género rating#ID_canció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”..!!!

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!

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!.

Album Cancióntiene

M 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

Canción Autortiene

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

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

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

Básicos de SQL.

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

Wikipedia.

Comandos de SQL:

* SELECT

* FROM

* WHERE

* GROUP BY

* ORDER BY

Wikipedia.

Comandos de SQL:

* SELECT - ¿Qué cosa?

* FROM

* WHERE

* GROUP BY

* ORDER BY

Wikipedia.

Comandos de SQL:

* SELECT - ¿Qué cosa?

* FROM - ¿De qué tabla?

* WHERE

* GROUP BY

* ORDER BY

Wikipedia.

SELECT nick FROM usuario

SELECT id_cancion, rating FROM canción

Wikipedia.

Comandos de SQL:

* SELECT - ¿Qué cosa?

* FROM - ¿De qué tabla?

* WHERE - ¿Bajo qué condición?

* GROUP BY

* ORDER BY

Wikipedia.

SELECT nick FROM usuario WHERE nick= “josé”

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

Wikipedia.

Comandos de SQL:

* SELECT - ¿Qué cosa?

* FROM - ¿De qué tabla?

* WHERE - ¿Bajo qué condición?

* GROUP BY - ¿Como debe agruparse?

* ORDER BY

Wikipedia.

SELECT * FROM canción GROUP BY género

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

Wikipedia.

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.

SELECT * FROM usuario ORDER BY nombre_usuario

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

Wikipedia.

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.

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.

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”.

Gracias.

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

top related