ER /DFD /Modelo Relacional Flashcards
(58 cards)
¿Qué elementos tiene un diagrama E/R?
¿Qué tipos de atributos existen en E/R?
¿Que tipos de jerarquía hay en E/R?
¿Qué es la cardinalidad en E/R?¿Cómo se representa?
El número de ocurrencias de una entidad que se relaciona con una del otro extremo.
Cliente–(0,m)———-< compra N:M>———–(0,m)–Producto
¿Qué tipos de entidades hay en E/R?
Fuertes o regular: Existen por si solas
Debiles: Necesitan una entidad fuerte para existir. Existencia o de Identidad
¿Qué es el grado en modelo E/R?
El número de tipos de entidad que participan en una relación. Recesiva, binaria, ternaria….
En que consiste la técnica de la descomposición funcional en DFD
Se trata de englobar (burbuja) la funcionalidad atendiendo a las entradas y salidas. Entonces ‘explotamos’ la burbuja en otras más pequeñas hasta que la ‘burbuja’ se pueda realzar con un código sencillo y no tenga sentido seguir explotando
¿Qué reglas de construcción DFD ?
- Los flujos son direccionales
- Los flujos permitidos son: proceso-proceso // proceso-almacen // proceso-entidad externa
- Los flujos de datos y los almacenes también se descomponen
- Todos lo niveles de un DFD han de estar balanceados
¿Qué tipos de flujogramas existen?
- Diagrama de actividad UML
- Diagrama de Nassi-Shneiderman
- Método Warnier
- Método de Jackson
- Método de Bertini
- Método Tabourier
En que consiste la arquitectura ANSI/SPARC
Para sistemas de BBDD (DBMS). Tres niveles:
- Nivel externo: Lo que los usuarios ven. Vistas
- Nivel coceptual: tablas / relaciones
- Nivel interno: indices, detalles de almacenamiento, tipos datos …
Wiki:
Nivel externo (Vistas de usuario)
En el nivel externo, se encuentra la vista de la base de datos que tienen los usuarios finales. Una vista de usuario describe una parte de la base de datos que es relevante para un usuario en particular. Permite definir y acceder a subconjuntos específicos de datos según las necesidades de cada usuario, el cual puede tener una vista personalizada de la base de datos, lo que mejora la seguridad y la simplicidad de uso.
Nivel conceptual
En el nivel conceptual, se representa la estructura lógica global de la base de datos. Es una forma de describir los datos que se almacenan dentro de la base de datos y cómo los datos están relacionados entre sí. Aquí se definen las entidades, las relaciones y las restricciones de integridad que se aplican a todos los usuarios. Este nivel no especifica cómo se almacenan físicamente los datos, la representación es independiente de cualquier implementación física.
Algunos datos importantes acerca de este nivel son:
El DBA (Administrador de la base de datos) trabaja en este nivel.
Describe la estructura de todos los usuarios.
Solo el DBA puede definir este nivel.
Visión global de la base de datos.
Independiente de hardware y software.
Nivel interno (Almacenamiento Físico)
El nivel interno implica la forma en que la base de datos se representa físicamente en el sistema informático de almacenamiento. Aquí se define cómo se almacenan y acceden los datos a nivel más bajo, se describe cómo los datos se almacenan en la base de datos y en el hardware del equipo. Se incluyen detalles como la estructura de almacenamiento, los índices y los mecanismos de acceso a los datos.
Modelo E/R vs Modelo Relacional
El módelo E/R es un modelo conceptual de alto nivel mientras que el modelo Relacional ya es un módelo lógico de diseño de BBDD.
Elementos fundamentales del Modelo relacional
En este modelo SOLO hay relaciones.
¿En el MR, que es ‘Esquema’ o ‘Intensión’ de una relación?
Conjunto de los atributos que define una relación
¿En el MR, que es la ‘Extensión’?
Conjunto de tuplas de la relación.
¿En el MR, que es el ‘Grado’?
Número de atributos de una relación.
NOTA: No confundir con Intensión que se refiere al conjunto y no al número concreto.
¿En el MR, que es la ‘Cardinalidad’?
Número de tuplas
NOTA: No confundir con Extensión que se refiere al conjunto de tuplas y no al número concreto.
Grado en E/R vs Grado en MR
- En E/R es el número de entidades que forman parte de la relación
- En MR el grado es el número de atributos de una relación
Cardinalidad en E/R vs Cardinalidad en MR
- En E/R la cardinalidad marca la cantidad de entidades que pueden estar relacionadas con otra entidad. N:M, 1:M…
- En MR la cardinalidad es el número de tuplas que existe en una relación
¿Qué reglas hay que seguir para pasar de un módelo E/R al Módelo Relacional?
Como se convertiría una relacion 1:N en E/R al Modelo Relacional
Mediante la técnica de la propagación de clave. Propagamos la clave desde el lado del ‘1’ hacia el lado de la ‘N’
PRODUCTO (1,N) ——-<1:N>———–(1,1)PROVEEDOR
Producto(id, precio, nombre, id_dni_proveedor) –> clave = id
(10, 123, nombre1, 1111)
(20, 456, nombre1, 1111)
(30, 789, nombre1, 2222)
(40, 321, nombre1, 3333)
Proveedor(dni, nombre, dirección) –> clave = dni
(1111, Prov1, calle1)
(2222, Prov2, calle2)
(3333, Prov3, calle3)
Como se convertiría una relacion N:M en E/R al Modelo Relacional
Mediante una nueva relación que nos una las dos. En esta nueva relación apareceran OBLIGATORIAMENTE las claves de las otras dos relaciones, formando así una clave compuesta en la nueva relación
CLIENTE(0,N) ———<compra>-----------(0,N)PRODUCTO</compra>
Cliente(id, nombre) –> clave = id
(1, Pepe)
(2, Maria)
(3, Juan)
(4, Ana)
Compra (id_cliente, id_producto, fecha_compra, cantidad)
(1, 20, 01/01/2024, 3)
(2, 30, 02/01/2024, 10)
(2, 10, 03/01/2024, 50)
Producto(id, precio, nombre, id_dni_proveedor) –> clave = id
(10, 123, nombre1, 1111)
(20, 456, nombre1, 1111)
(30, 789, nombre1, 2222)
(40, 321, nombre1, 3333)
Como se convertiría una relacion de herencia en E/R al Modelo Relacional
Cliente(id, nombre) –> clave = id
(1, Pepe)
(2, Maria)
(3, Juan)
(4, Ana)
Cliente_vip(cod_socio, descuento)
Cliente_normal(tarjeta_puntos)
Tenemos tres formas de hacerlo:
1) 1 sola relación
Cliente(id, nombre, cod_socio, descuento, tarjeta_puntos, tipo)
(1, Pepe, 1234, 20%, NULL, “vip”)
(3, Juan, NULL, NULL, aaa-0987, “normal”)
- Esto da lugar a campos NULL en función de a que hijo pertenezca la tupla
2) 1 relación para cada subtipo
Cliente_vip(id, nombre, cod_socio, descuento)
(1, Pepe, 1234, 20%)
Cliente_normal(id, nombre, tarjeta_puntos)
(3, Juan, aaa-0987)
- Duplicamos la estructura ‘base’ (dni, nombre) . Si la relación es solapada nos puede aparecer el mismo ‘padre’ en las dos relaciones.
3) 1 relación para cada subtipo y otra para el supertipo
Cliente(dni, nombre)
(1, Pepe)
(3, Juan)
Cliente_vip(cod_socio, descuento, id_cliente)
(1, Pepe, 1234, 20%, 1)
Cliente_normal(tarjeta_puntos, , id_cliente)
(3, Juan, aaa-0987, 3)
Caracteristicas del MR
- Atomicidad de los valores de los atributos. No se pueden tener atributos con varios valores
- No repetición de tuplas. Claves que hacen la tupla única
- No orden de tuplas.
- No orden en atributos.
- Valores NULL. Ausencia de valor en un campo
Integridad de entidad en el MR
Ningún atributo de la PK puede tomar valor NULL.