• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Bases de Datos - Parte 5/10 Modelo relacional
 

Bases de Datos - Parte 5/10 Modelo relacional

on

  • 20,816 views

 

Statistics

Views

Total Views
20,816
Views on SlideShare
20,589
Embed Views
227

Actions

Likes
4
Downloads
684
Comments
0

5 Embeds 227

http://www.pelogo.org 112
http://www.slideshare.net 101
http://adanielf.wordpress.com 8
http://amigascasuales.blogspot.com 5
http://209.85.173.132 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Bases de Datos - Parte 5/10 Modelo relacional Bases de Datos - Parte 5/10 Modelo relacional Presentation Transcript

    • Sistemas de Información II Tema 5. El modelo relacional
        • Carlos Castillo
        • UPF – 2007
        • Bibliografía:
        • Elmasri y Navathe: “Fundamentos de Sistemas de Bases de Datos”
        • 3ª edición, 2002 (Capítulo 7).
        • Garcia-Molina, Ullman y Widom: “Database systems: the complete book”. Prentice-Hall (Capítulo 3).
    • Temas de esta clase
      • Conceptos del modelo relacional
      • Convertir E-R a modelo relacional
    • Relación
      • Relación ≃ tabla de datos
        • Por eso se llaman bases de datos relacionales
    • Conceptos Atributos Tuplas Dominio =Textos Dominio =Enteros Película(título,año,duración) Esquema
    • Notación
      • Atributos A i
      • Relación R R(A 1 , A 2 , A 3 , ..., A N )
      • Dominio de Ai dom(A i )
      Relación son algunas de todas las combinaciones posibles
    • Relación es un conjunto
      • Por lo tanto, no está ordenado
      • Notación para las tuplas
        • t = <Mar Adentro, 2004, 125> ∈ Película
      • Notación para subconjunto de tupla
        • t[año,duración] = <2004, 125>
    • Dominios
      • Restricción de dominio
        • t[A] = <x> ⇔ x ∈ dom(A)
      • En algunos casos ...
        • NULL ∈ dom(A)
        • En tal caso diremos que la relación acepta valores nulos
    • Claves candidatas y primarias Claves candidatas
        • La elección de una clave primaria es arbitraria
        • Se escoge una que tenga pocos atributos
    • Restricciones de claves
      • Restricción de claves únicas
        • K ⊆ claves(Relación)
        • ∀ t 1 , t 2 ∈ Relación, t 1 [K] ≠ t 2 [K]
        • NULL |K| ∉ K
      • Una clave puede ser
        • Un atributo
        • Varios atributos (clave compuesta)
          • Incluso toda la tupla en algunos casos (evitarlo)
    • Llaves foráneas
    • Integridad referencial
    • Mejor nombre: ID_XXX[_rol] Mejor dominio: numérico
    • Mantener integridad referencial
      • Al insertar
        • Insertar clave foránea en la otra tabla
        • Rechazar la inserción
      • Al eliminar
        • Eliminar tuplas que apuntan a esta tupla
          • “Cascada”
        • Actualizar valores en tuplas que apuntan a esta tupla
    • Convertir Entidad-Relación en Modelo Relacional
    • Convertir Entidad-Relación
      • Se comienza con un modelo E-R
        • Porque es más fácil de diseñar
        • Tiene dos conceptos: entidad y relación
      • Traducir E-R a relacional, versión simple:
        • Cada entidad se transforma en una tabla con los mismos atributos
        • Se agregan claves donde sea necesario
        • Cada relación se transforma en una tabla en que los atributos son las claves de cada entidad participante
    • Traducción simple, paso 0
    • Traducción simple, paso 1
    • Traducción simple, paso 2
    • Traducción simple, paso 3
    • Combinar relaciones
      • A veces es posible combinar relaciones
        • El caso típico son las relaciones 1-N
        • Relaciones 1-1 deberían descartarse antes
    • Combinando relación 1-N (a)
    • Combinando relación 1-N (b)
    • Combinando relación 1-N (c) Actúa Película Nombre Año Produce Estudio Nombre Actor Nombre Apellido N N N 1 ID_Película ID_Actor ID_Estudio
    • Traducción cuando hay subclases
    • E-R a relacional con subclases
    • Opción 1: directo E-R
    • Opción 2: orientado a objetos Nota : La tabla vehículo existe en este caso sí y sólo si hay especialización parcial
    • Opción 3: valores nulos
    • Desventaja opción orientado a objetos
      • Queremos pocas entidades
        • Cuando hay entidades “ o verlapped ” podríamos tener que generar todas las combinaciones posibles
    • Ventaja de usar valores nulos
      • Puede acelerar ciertas consultas, al evitar consultar varias tablas
      • SELECT ejes
      • FROM vehiculo,camion
      • WHERE camion.idv=vehiculo.idv
      • AND vehiculo.matricula='XXX-XXX';
      • SELECT ejes
      • FROM camion
      • WHERE camion.matricula='XXX-XXX';
    • Uso de espacio extra
      • Directo E-R
        • Se repiten las claves primarias
      • Orientado a objetos
        • No se repite nada
      • Valores nulos
        • Se repiten todos los atributos
      • La opción “ Directo E-R ” es una buena solución intermedia entre ambas
    • Resumen
      • Modelo relacional
        • Formalización de esquemas de tablas
      • Traducción E-R a relacional es directa en muchos casos