B3T1 BBDD y SQL Flashcards
Cardinalidad en E/R
Nº de ocurrencias de una entidad que se relaciona con UNA del otro extremo
Grado en E/R
Nº de tipos de entidad que participan en una relación
Generalización
Permite abstraer un tipo de entidad de nivel superior(supertipo) a partir de varios tipos de entidad (subtipos)
Especialización
Contario a generalización. Un supertipo se descompone en uno o varios subtipos
Agregación
Encapsula una parte del modelo para crear una nueva entidad
Entidad externa
Ente ajeno al sistema que da o recibe información del mismo
Proceso
Funcionalidad del sistema para transformar o manipular datos
Almacén de datos
Información en reposo utilizada por el sistema independientemente del sistema de gestión de datos.
Los flujos que pasan por un almacén son asíncronos
El almacén no puede crear, transformar o destruir datos, no puede estar comunicado con otro almacén o entidad
externa
Flujo permitidos
-Entre 2 procesos (información es síncrona)
-Proceso y almacén
-Proceso y entidad externa
Tipos de flujos de datos que comunican procesos con almacenes
De consulta, de actualización y de diálogo (CAD)
Arquitectura ANSI/SPARC, niveles
-Nivel externo
-Nivel conceptual
-Nivel interno
Busca independencia entre nivel físico-lógico
Soporta mejor los cambios
Grado en modelo Relacional
Nº de atributos
Cardinalidad en modelo Relacional
Nº de tuplas
Intensión en modelo Relacional
Conjunto de atributos
Características modelo Relacional
-Atomicidad
-No repetición de tuplas
-No orden en tuplas
-No orden en atributos
Integridad de entidad
Ningún atributo de la PrimaryKey puede tomar valor nulo ( cuando PK compuesta)
Integridad referencial
Si existe clave ajena, sus valores deben coincidir con los valores de la PK referenciada o ser nulos
Clave
Atributo o conjunto de atributos que identifican unívocamente una tupla
Tipos de claves
-Candidata
-Primaria
-Superclave
Regla 0
Regla Fundamental
Regla 1
Regla de la Información
Regla 2
Regla De acceso garantizado
Regla 3
Del tratamiento sistemático de valores nulos
Regla 4
Catálogo dinámico en línea basado en el modelo relacional
Regla 5
Regla del sublenguaje de datos completo
Regla 6
Regla de actualización de vistas
Regla 7
Inserción, actualización y borrado de alto nivel
Regla 8
Independencia física de los datos
Regla 9
Independencia lógica de los datos
Regla 10
Independencia de la integridad
Regla 11
Independencia de la distribución
Regla 12
Regla de la no subversión
Normalización
Estudia las dependencias entre atributos de una relación de cara a eliminar redundancia
++relaciones -> –redundancia -> ++joins -> peor rendimiento en consulta
Dependencia funcional
x –> y
x determina a y
y depende funcionalmente de x
1FN
Si no contiene grupos repetitivos
Cada atributo de cada tupla solo tiene un valor
2FN
Si está en 1FN y todos los atributos no principales tienen dependencia funcional completa de la clave principal.
Si la clave es simple ya está en 2FN
3FN
Si está en 2FN y no hay dependencias transitivas
Cada atributo no principal depende sólo de la clave
FNBC
Boyce-Codd. Sí y solo sí los únicos determinantes son claves candidatas.
Los determinantes de todas las dependencias funcionales son la clave.
4FN
Si toda la dependencia multivaluada no trivial está implicada por una clave candidata
5FN
Llamada de Proyección-Unión.
Si toda dependencia de combinación está implicada por claves candidatas
6FN
Cuando tenemos una clave primaria y como mucho un atributo
Estándares SQL
ANSI-86,92
SQL 1992 (triggers)
2003 (obj.SECUENCE)
2006 (xml)
2008 (sentencia TRUNCATE)
2011
2016 (compatibilidad JSON)
Productos SQL
Oracle
Microsoft SQL Server
Mysql/MariaDB
Informix
IBM DB2
Postgre SQL
MaxDB
SQLite (librería ACID compatible)
ACID
Atomicidad
Consistencia
Asilamiento (Isolation)
Durabilidad
DDL
Data Definition Language
Más importantes:
CREATE
DROP
ALTER
DML
Data Manipulation Language
SELECT
UPDATE
INSERT
DELETE
MERGE
TRUNCATE
DCL
Data Control Language
GRANT (dar permisos)
REVOKE (quitar permisos)
COMMINT/ROLLBACK (confirmar o deshacer transacción)
SAVEPOINT/RELEASE SAVEPOINT(salvaguarda)
SET TRANSACTION/START (begin) TRANSACTION
CALL procedure (llamar a un procedimiento almacenado)
Anomalías de BBDD
Lectura sucia
Lectura no repetible
Lectura fantasma
Niveles de aislamiento
Lecturas no comprometidas
Lecturas comprometidas
Lecturas repetibles
Serializable
Disparadores/Triggers
Representa lógica de base de datos que se ejecuta cuando se detectan eventos (filas borradas / añadidas / …)