Actualizado el 21 de Marzo del 2018 (Publicado el 6 de Enero del 2018)
982 visualizaciones desde el 6 de Enero del 2018
298,2 KB
37 paginas
Creado hace 19a (20/10/2004)
El Modelo Entidad–Relación
Conversión a Tablas
SQL
El Modelo Entidad–Relación
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Conversión a Tablas
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
SQL
CREATE TABLE
SELECT
JOIN
Criterios de JOIN
Los Otros Tres
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Modelo Entidad–Relación
I Modelo conceptual para diseño de bases de datos
I Propósito: simplificar el diseño de BDs a partir de descripciones
textuales
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Modelo Entidad–Relación
I Modelo conceptual para diseño de bases de datos
I Propósito: simplificar el diseño de BDs a partir de descripciones
textuales
I Elementos del Modelo:
I Entidades
I Atributos
I Relaciones
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Entidad–Relación: Elementos
Entidad objeto que existe y que es distinguible de otros
Puede ser concreta o abstracta
Puede ser fuerte o débil
ej: persona, factura, huracán
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Entidad–Relación: Elementos
Entidad objeto que existe y que es distinguible de otros
Puede ser concreta o abstracta
Puede ser fuerte o débil
ej: persona, factura, huracán
Atributo Característica interesante de una entidad
ej: nombre, fecha de nacimiento, capacidad
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Entidad–Relación: Elementos
Entidad objeto que existe y que es distinguible de otros
Puede ser concreta o abstracta
Puede ser fuerte o débil
ej: persona, factura, huracán
Atributo Característica interesante de una entidad
ej: nombre, fecha de nacimiento, capacidad
Relaciones Asociación entre entidades
ej: profesor trabaja para institución, factura es
entregada a cliente
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Ejemplo: Artículos científicos
Se quiere modelar un sistema para manejar artículos científicos. Un
artículo está escrito por un autor, aunque a veces pueden ser varios.
Obviamente una misma persona puede participar en más de un
artículo. Cada artículo tiene título, resumen y contenido. Cada autor
pertenece a alguna institución.
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Ejemplo: Artículos científicos
I Entidades
I autor
I artículo
I institución
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Ejemplo: Artículos científicos
I Entidades
I autor
I artículo
I institución
I Relaciones
I artículo es escrito por uno o más autores
I autor pertenece a una institución
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Ejemplo: Artículos científicos
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Atributos
I Característica interesante sobre una entidad
I Nos interesa almacenarlo
I Valores pertenecen al dominio
I Pueden ser opcionales u obligatorios
persona
nombre
rut
fecha de nacimiento
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Llave Primaria
I Superllave: conjunto de atributos que permite identificar de
modo único una entidad dentro de un conjunto
Ejemplo: de personas, el nombre y el RUT
I puede haber más de una superllave
I Llaves candidatas: resultado de quitar atributos redundantes de
las superllaves
I Llave primaria: arbitrariamente escoger una de las llaves
candidatas
I Llaves sustitutas (surrogate keys): usar números enteros
asignados arbitrariamente
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Cardinalidad
I Cantidad de entidades en cada extremo de una relación
I No cuántas entidades hay en cada conjunto ...
... sino cuántas entidades están asociadas a través de esa relación
I Puede ser opcional ( 0) u obligatoria ( 1)
I Puede ser “uno a uno”, “uno a muchos”, “muchos a muchos”
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
Introducción
Modelo de Ejemplo
Atributos y Llaves
Cardinalidad
Diagrama con cardinalidades
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
Conversión a Tablas
I Este modelo es útil sólo conceptualmente
I La implementación real es distinta
I El modelo de tablas (como en SQL) no hace diferencia entre
entidades y relaciones
I Tampoco permite implementar directamente relaciones “muchos
a muchos”
I Se pueden simplificar relaciones “uno a uno” y “uno a varios”
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
Reglas de Conversión de Entidades
I Cada conjunto de entidades fuerte ! una tabla; una columna
por atributo
I Cada conjunto de entidades débil ! una tabla; una columna
por atributo; columnas para llave primaria de entidad fuerte de
que depende
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
Conversión de Entidades — Ejemplos
tabla autores (entidad fuerte)
autor_id
nombre
nacionalidad
fecha de nacimiento
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
Conversión de Entidades — Ejemplos
tabla autores (entidad fuerte)
autor_id
nombre
nacionalidad
fecha de nacimiento
tabla lineas_facturas (entidad débil)
facturaId
numLinea
texto
cantidad
unitario
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
Reglas de Conversión de Relaciones
I Relaciones “uno a uno” pueden fundirse en una sola tabla. O
bien según regla siguiente
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
Reglas de Conversión de Relaciones
I Relaciones “uno a uno” pueden fundirse en una sola tabla. O
bien según regla siguiente
I Relaciones “uno a varios” pueden representarse incluyendo en
la tabla del extremo “varios” las columnas de la llave primaria
del extremo “uno”. O bien según regla siguiente
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
Reglas de Conversión de Relaciones
I Relaciones “uno a uno” pueden fundirse en una sola tabla. O
bien según regla siguiente
I Relaciones “uno a varios” pueden representarse incluyendo en
la tabla del extremo “varios” las columnas de la llave primaria
del extremo “uno”. O bien según regla siguiente
I Relación “varios a varios” y relaciones entre más de dos
conjuntos de entidades ! una tabla con columnas para las llaves
primarias
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
Ejemplo 1 — “uno a uno”
factura
totalBruto
iva
encabezadoFactura
razonSocial
giro
rut
Representamos esto agregando a la tabla facturas los atributos de la
entidad encabezadoFactura
tabla facturas
facturaId
totalBruto
iva
razonSocial
giro
rut
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
Ejemplo 2 — “uno a varios”
En el colegio, cada alumno pertenece a exactamente un curso.
Tenemos una tabla alumnos y una tabla cursos
Representamos esto agregando una columna cursoId a la tabla de
alumnos.
o bien según la regla siguiente
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
¿Para qué?
Conversión de Entidades
Conversión de Relaciones
Ejemplo de conversión de relaciones — “uno a varios”
Ejemplo 3: varios a varios En la universidad, cada alumno pertenece
a varios cursos.
Tenemos una tabla alumnos y una tabla cursos Representamos esto
creando una tabla alumnoCurso con atributos alumnoId y cursoId
Álvaro Herrera
Modelamiento Básico de Datos con PostgreSQL
El Modelo Entidad–Relación
Conversión a Tablas
SQL
CREATE TABLE
SELECT
JOIN
Criterios de JOIN
Los Otros Tres
Qué es SQL
I Structured Query Language
I Lenguaje estructurado de consulta
I Estandarizado por ISO y ANSI
I Lenguaje declarativo (no procedural)
I no hay IF, FOR, WHIL
Comentarios de: Modelamiento Básico de Datos con PostgreSQL (0)
No hay comentarios