01. Modelo Relacional

Modelo Entidad-Relacion (MER)

Herramienta que permite realizar una abstracción o modelo de alguna situación de interés presente en el mundo real. - Se representa mediante un DER (Diagrama Entidad-Relación).

Clasificación

Notación

Participación parcial

Roles

Cada entidad que participa en una interrelación, lo hace en un rol particular que ayuda a explicar el significado de la relación.

roles

Atributos

atributo a atributo b

Interrelaciones ternarias

Participan tres entidades a la vez. ternaria

Jerarquías

Coberturas (incompleto)

TODO:

Solapamiento (incompleto)

TODO:

Agregación

Abstracción en la cual una interrlación es tratada como una entidad de alto nivel. agregacion

Atributos

Modelo Relacional

Definiciones

Interpretación

Claves

Conjunto minimal de atributos que definen unívocamente a las tuplas.

Superclaves (incompleto)

TODO:

Restricciones / Constraints

Una Integrity Constraint es básicamente una expresión booleana que tiene que evaluar a true.

Transformación de MER a MR (incompleto)

TODO:

Consideraciones de diseño (incompleto)

TODO:

02. Álgebra Relacional

Conjunto de elementos junto con sus propiedades operacionales determinadas y las propiedades matemáticas que dichas operaciones poseen.

Select

Selecciona un subconjunto de tuplas de una relación a través de una condición lógica.

EMPLEADO

dni nombre sexo salario
1 Diego M 20000
2 Laura F 25000
3 Marina F 10000

Propiedades:

Project

Selecciona un subconjunto de columnas de una relación

EMPLEADO

dni nombre sexo salario
1 Diego M 20000
2 Laura F 25000
3 Marina F 10000

Propiedades

Rename

Asigna nombre a atributos/relación resultado.

Ejemplo 1: Relaciones

EMPLEADO

dni nombre sexo salario
1 Diego M 20000
2 Laura F 25000
3 Marina F 10000

Son equivalentes:

y

  1. ρ<SALARIO_MAYOR>(σ<salario≥15000>(EMPLEADO))

    SALARIO_MAYOR

    dni nombre sexo salario
    1 Diego M 20000
    2 Laura F 25000
  2. ρ<RESULT>(π<nombre,sexo>(SALARIO_MAYOR))

    RESULT

    nombre sexo
    Diego M
    Laura F

Ejemplo 2: Atributos

EMPLEADO

dni nombre sexo salario
1 Diego M 20000
2 Laura F 25000
3 Marina F 10000

Union, Intersection, Minus

Equivalente a operaciones matemáticas sobre conjuntos

ALUMNOS_BD

id nombre
1 Diego
2 Laura
3 Marina

ALUMNOS_TLENG

id nombre
2 Laura
4 Alejandro

Cartesian Product

Produce una nueva relación que combina cada tupla de una relación con las de la otra relación.

PERSONA

nombre nacionalidad
Diego AR
Laura BR
Marina AR

NACIONALIDADES

idn detalle
AR Argentina
BR Brasilera
CH Chilena

RESULT

nombre nacionalidad idn detalle
Diego AR AR Argentina
Diego AR BR Brasilera
Diego AR CH Chilena
Laura BR AR Argentina
Laura BR BR Brasilera
Laura BR CH Chilena
Marina AR AR Argentina
Marina AR BR Brasilera
Marina AR CH Chilena

Join

Permite combinar pares de tuplas relacionadas

PERSONA

nombre nacionalidad
Diego AR
Laura BR
Marina AR

NACIONALIDADES

idn detalle
AR Argentina
BR Brasilera
CH Chilena

RESULT

nombre nacionalidad idn detalle
Diego AR AR Argentina
Laura BR BR Brasilera
Marina AR AR Argentina

PERSONA

nombre nacionalidad
Diego BR
Laura NULL
Marina AR
Santiago UY

NACIONALIDADES

idn detalle
AR Argentina
BR Brasilera
CH Chilena
US Estadounidense

TODO: ¿esto es lo mismo que outer join?

Division

Retorna los valores de R que están emparejados con todos los valores de S.

ALUMNOS

nombre materia
diego bd
diego plp
laura bd
laura plp
laura tleng
marina bd
marina tleng
santiago bd
santiago plp
santiago tleng

MATERIAS_1

materia
bd

MATERIAS_2

materia
bd
tleng

MATERIAS_3

materia
bd
plp
tleng

ALUMNOS÷MATERIAS_1

nombre
diego
laura
marina
santiago

ALUMNOS÷MATERIAS_2

nombre
laura
marina
santiago

ALUMNOS÷MATERIAS_3

nombre
laura
santiago

TEMP_1

nombre
diego
laura
marina
santiago

TEMP_2

nombre
diego
marina

TEMP_3

nombre
laura
santiago

Bibliografía

03. Cálculo Relacional de Tuplas

Lenguaje de consultas al igual que Álgebra Relacional

Ejemplos

EMPLEADO

dni nombre salario depto supervisor
20222333 Diego 20000 IN 33456234
33456234 Laura 25000 IN
45432345 Marina 10000 IN 33456234
12323212 Beatriz 12000 RH 12323212
34323232 Pedro 17000 RH
11232123 María 55000 GG

DEPARTAMENTO

idd detalle
IN Investigación
RH RRHH
GG Gerencia General
  1. Listar nombre y salario de aquellos empleado que trabajan en el Departamento cuyo detalle es RRHH.
    • {t | (∃e)(∃d)(e∈EMPLEADO ∧ d∈DEPARTAMENTO ∧ d.detalle='RRHH' ∧ e.depto=d.idd ∧ t.nombre=e.nombre ∧ t.salario=e.salario)}.
  2. Listar nombre, salario y nombre de departamento de aquellos empleados que ganan más de 15000.
    • {t | (∃e)(e∈EMPLEADO ∧ d∈departamento ∧ e.salario>15000 ∧ e.depto=d.idd ∧ t.nombre=e.nombre ∧ t.salario=e.salario ∧ t.departamento=d.detalle)}
    1. Listar el nombre de cada empleado junto al de su supervisor.
      • {t | (∃e)(∃s)(e∈EMPLEADO ∧ s∈EMPLEADO ∧ e.supervisor=s.dni ∧ t.nombre=e.nombre ∧ t.supervisor=s.nombre}
    2. Listar el nombre de cada empleado del Departamento de investigación junto al de su supervisor.
      • {t | (∃e)(∃s)(e∈EMPLEADO ∧ s∈EMPLEADO ∧ e.depto='IN' ∧ e.supervisor=s.dni ∧ t.nombre=e.nombre ∧ t.supervisor=s.nombre}
  3. Listar el nombre de los empleados que trabajan en RRHH o que su supervisor gana más de 15000 text {t | (∃e)(e∈EMPLEADO ∧ ( (e.dpto='RH') ∨ (∃s)(s∈EMPLEADO ∧ e.supervisor=s.dni ∧ s.salario>15000) ) ∧ t.nombre=e.nombre)}
  4. Listar los empleados que no tienen supervisor asignado
    • {t | (∃e)(e∈EMPLEADO ∧ (∀s)(s∈EMPLEADO ⟹ e.supervisor≠s.dni) ∧ t.nombre=e.nombre)}

04. Expresividad

Es la amplitud de ideas que pueden ser representadas por un lenguaje.

Comparación CRT vs LPO

CRT es una especialización de LPO.

CRT - Expresiones seguras

Comparación CRT vs AR

Bajo ciertas condiciones, CRT tiene el mismo poder expresivo que Álgebra Relacional.

CRD - Cálculo Relacional de Dominio

Propiedades NO expresables

TODO: Hace falta estudiar el teorema este? Suena al pedo.

SQL

Bibliografía

05. Normalización

Marco general

Pautas de diseño (SANE)

  1. Semántica: Estar seguro de que la semántica de atributos en el esquema es clara
  2. Almacenamiento: Reducir la información redundante en las tuplas
  3. Reducir la cantidad de valores NULL en las tuplas
  4. Deshabilitar la posibilidad de generar tuplas espúreas

  5. Estas pautas no son siempre independientes entre sí.

Pauta 1: Semántica

Objetivo: cuanto más fácil es explicar la semántica en los esquemas, mejor es el diseño

Pautas

Pauta 2: Almacenamiento

Objetivo: minimizar el espacio de almacenamiento a través del diseño.

Anomalías de inserción

Anomalías de eliminación

Anomalías de modificación

Performance

Pauta 3: NULLs

Atributos no relacionados agrupados en una misma tabla pueden generar múltiples NULL en una misma tupla.

EMPLEADO_DEPARTAMENTO

E_NOMBRE E_DNI NRO_DPTO D_NOMBRE
Santiago 44444 5 Publicidad y Promoción
Tamar 55555 NULL NULL

Pautas

Pauta 4: Tuplas Espúreas

Las tuplas espúreas representan información no válida.

Pautas

Dependencias funcionales

Herramienta formal para el análisis de esquemas. Permite detectar y describir problemas descriptos previamente.

Ejemplo:

E_DNI, P_NUMERO, HORAS, E_NOMBRE, P_NOMBRE, P_UBICACION
-----  --------
  v       v       ^
  |       |       |
  v-------v-------^
E_DNI, P_NUMERO, HORAS, E_NOMBRE, P_NOMBRE, P_UBICACION
-----  --------
  v       v                ^
  |       |                |
  v-------v----------------^
E_DNI, P_NUMERO, HORAS, E_NOMBRE, P_NOMBRE, P_UBICACION
-----  --------
          v                           ^          ^
          |                           |          |
          v---------------------------------------

FN basadas en PK

Elementos

1FN

Técnicas para alcanzar 1FN

DEPARTAMENTO

D_NOMBRE <D_NUMERO> D_MGR_CUIL D_AREAS_INFLUENCIA
Investigación 2 27-233-9 {Argentina, Brasil, Uruguay}
Prensa 3 20-172-4 {Chile}
Administración 8 27-384-2 {Argentina}
  1. Remover atributo que viola 1FN y ubicarlo en una nueva relación. La nueva relación tiene como PK ambos atributos.

    • Se mueve DPTO_AREAS_INFLUENCIA junto con la PK D_NUMERO.

      DEPARTAMENTO

      D_NOMBRE <D_NUMERO> D_MGR_CUIL
      Investigación 2 27-233-9
      Prensa 3 20-172-4
      Administración 8 27-384-2

      DEPARTAMENTO_AREAS

      <D_NUMERO> <D_AREAS_INFLUENCIA>
      2 Argentina
      2 Brasil
      2 Uruguay
      3 Chile
      8 Argentina
      + Suele ser la mejor opción ya que no sufre de redundancia y es genérica (no se limita a un número de valores).
      2. Expandir la PK que permita que exista más de un mismo D_NUMERO, pero con distinta área de influencia.
      + Esta solución introduce REDUNDANCIA en la relación.

      DEPARTAMENTO

      D_NOMBRE <D_NUMERO> D_MGR_CUIL <D_AREAS_INFLUENCIA>
      Investigación 2 27-233-9 Argentina
      Investigación 2 27-233-9 Brasil
      Investigación 2 27-233-9 Uruguay
      Prensa 3 20-172-4 Chile
      Administración 8 27-384-2 Argentina
      3. Si se conoce la cantidad máxima de valores que puede tomar el atributo, se pueden generar tantos atributos como esa cantidad.
      + Ejemplo, si hay 3 áreas de influencia como máximo por departamento.

      DEPARTAMENTO

      D_NOMBRE <D_NUMERO> D_MGR_CUIL D_AREAS_INFLUENCIA1 D_AREAS_INFLUENCIA2 D_AREAS_INFLUENCIA3
      Investigación 2 27-233-9 Argentina Brasil Uruguay
      Prensa 3 20-172-4 Chile NULL NULL
      Administración 8 27-384-2 Argentina NULL NULL
    • Introduce valores NULL para los casos en que la tupla no posee todos los valores.

    • No existe una semántica en cuanto al orden y ubicación de los valores.
    • Consultas se vuelven más complejas.
    • La técnica puede aplicarse recursivamente.
    • Debe manejarse con cuidado cuando hay múltiples atributos multivaluados para no generar relaciones inexistentes.

Relaciones anidadas

Cuando el valor de una tupla es una relación.

2FN

Un esquema R está en 2FN si todo atributo no primo A de R depende funcionalmente de manera completa de la PK de R.

Tips - Verificar sólo DF cuyos lado izquierdo posean atributos que sean parte de la PK. - Si la PK es un solo atributo, cumple 2FN.

Ejemplo descomposición en 2FN: + EP1

E_DNI, P_NUMERO, HORAS
-----  --------
  v       v       ^
  |       |       |
  v-------v-------^
E_DNI, E_NOMBRE
----- 
  v       ^
  |       |
  v-------^
P_NUMERO, P_NOMBRE, P_UBICACION
--------                       
v          ^          ^
|          |          |
v----------------------

3FN

Un esquema está en 3FN si está en 2FN, y además ningún atributo no primo de R depende transitivamente de la PK.

Ejemplo descomposición 3FN

E_NOMBRE | <E_CUIL> | E_FECHA_NACIMIENTO | NRO_DPTO | D_NOMBRE
    ^          v              ^              ^ v         ^
    |          |              |              | |         |
    ^----------v--------------^--------------^ |         |
                                               |         |
                                               v---------^
E_NOMBRE | <E_CUIL> | E_FECHA_NACIMIENTO | NRO_DPTO
    ^          v              ^               ^
    |          |              |               |
    ^----------v--------------^---------------^
<NRO_DPTO> | D_NOMBRE
   v            ^
   |            |
   v------------^

BCFN (Boyce-Codd Normal Form)

Un esquema R está en BCFN si pra toda dependencia funcional no trivial X⟹A de R, X es SK de R.

Reglas de inferencia

El diseñador de la BD especifica DF semánticamente obvias. Existen DF no especificadas que pueden ser inferidas.

Axiomas de Armstrong

Corolarios de Armstrong (reglas adicionales)

Clausura

Algoritmo para determinar X⁺

X⁺ := X
repetir
    viejoX⁺ := X⁺
    para cada DF Y⟹Z en F hacer
        si Y⊆X⁺ entonces
            X⁺ = X⁺∪Z
mientras(X⁺==viejoX⁺)

Clave de una relación

Búsqueda de una clave K en R a partir de un conjunto de DFs.

K := R
para cada atributo A∈K
    calcular (K−A)⁺
    si (K−A)⁺ contiene todos los atributos de R entonces
        K := K − {A}

Bibliografía

06. XML

Introducción

Datos estructurados

Datos semiestructurados

Datos no estructurados

Formato XML

Comparación con datos relacionales

TODO: Lo dejé acá porque es un embole esta diapo.

07. Open Data

Movimiento que apoya la difusión de datos por parte de los estados, organismos internacionales, empresas, etcétera.

09. noSQL

Conjunto muy variado de base de datos no relacionales que fueron diseñadas tomando en cuenta la existencia de datos no estructurados.

Características principales

Características generalmente aceptadas

BASE

Basic Availability, Soft-state, Eventual consistency

Teorema CAP

Cualquier sistema que comparta datos a través de una red puede tener a lo sumo dos de las tres propiedades: consistencia (Consistency), alta disponibilidad (Availability), tolerancia a fallos/particiones (Partition tolerance).

Estrategia para las particiones

  1. Detectar la partición
  2. Entrar al modo "particionado"
  3. Recuperar del modo anterior

Estructura

En lugar de usar tablas, noSQL usa el concepto de almacenamientos del tipo clave/valor.

Tipos de bases noSQL

1. Key-Value stores

La unidad atómica de modelado es el par clave-valor.

Características

Ventajas

Desventajas

2. Column Family databases

La unidad atómica de modelado es una familia de columnas.

Características

Standard Column Family

Son pares clave-valor en donde el valor está representado por un conjunto de columnas.

Super Column Family

Son pares clave-valor en donde el valor está representado por un conjunto de conjunto de columnas.

Ventajas

Desventajas

3. Document stores

La unidad atómica de modelado es un documento.

Características

Ventajas

Desventajas

4. Graph databases

Modela toda la estructura como un grafo.

Características

Ventajas

TODO:?

Desventajas

TODO:?

PROS y CONS

pros cons
escalable muchas opciones, por lo que resulta difícil elegir la base adecuada
esquema flexible capacidad de query limitada
características distribuídas (confiable, escalable, recursos compartidos, velocidad) consistencia eventual, hay entornos para el cual esto no es intuitivo (ej negocio bancario)
no tiene interrelaciones complicadas no tiene joins, group by, order by, etc
menor costo por la facilidad de escalar en máquinas comunes carece de ACID
open source soporte limitado

RDBMS vs noSQL

Características noSQL RDBMS
Volumen muchísimo volumen volumen limitado
Validez de los datos poca garantía mucha garantía
Escalabilidad horizontal horizontal y vertical
Query Language no tienen lenguaje SQL
Schema sin esquema o muy flexible esquema rígido
Tipos de datos no estructurado; no tiene límites estructurado; han incorporado extensiones para permitir el almacenamiento de no estructurados
ACID/BASE BASE (en general) ACID
Administración de transacciones garantía débil garantía muy fuerte
Requerimientos de hardware sin grandes requerimientos servers propietarios, costosos

Bibliografía / referencias

10. Data Warehousing

Business Intelligence

Término genérico que incluye aplicaciones, infraestructura, herramientas y prácticas que permiten el acceso y el análisis de la información para mejorar y optimizar las deciciones y el rendimiento.

Recursos

Fuentes de datos

Herramientas de administración de datos

TODO:

Herramientas de extracción y consulta

TODO:

Herramientas de modelización (data mining)

TODO:

14. Schedules

Transacción

Una transacción es una colección de operaciones que deben aplicarse de forma atómica en una base de datos. Esta atomicidad, además aplica a la consistencia (las restricciones de la base), es decir que si una base de datos era consistente antes de una transacción, debe seguir siéndolo luego de aplicar la misma. La base puede volverse, sin embargo, inconsistente de forma temporal durante la aplicación de las operaciones internas de la transacción.

Propiedades ACID

Propiedades que debe cumplir una transacción.

Historia

Una historia es un orden en que se ejecuta un conjunto de transacciones en donde se respeta el orden parcial de cada transacción.

Serialización

Una historia es conflicto-serializable cuando es conflicto-equivalente a una versión serial de la misma.

Ejemplo, si se tienen las siguientes transacciones: - T1 = (T1a, T1b, T1c) - T2 = (T2a, T2b) - T3 = (T3a)

Y las siguientes historias:

H1 es conflicto-serializable si es conflicto-equivalente a H2, es decir, si los swaps necesarios para llegar de una a otra son no conflictivos.

Tipos de historia

15. Control de Concurrencia

Problemas básicos

Lock binario

Utiliza el concepto de Lock/Unlock asociado a una variable.

Shared lock (lock ternario)

Extensión del lock binario, permite que el lock sea exclusivo o compartido

Two Phase Locking (2PL)

Protocolo que asegura la serialización. Requiere que cada transacción emita los pedidos de lock y unlock en dos fases.

Deadlocks

Wait-For Graph (WFG)

Grafo que representa qué operaciones esperan de otras.

Ejemplo WFG sin deadlock

        --> T2 ---> T4
       /    ∧
      /     |
    T1      |
      \     |
       \    |
        --> T3

Ejemplo WFG con deadlock (T2->T4->T3->T2)

        --> T2 -----> T4
       /    ∧         /
      /     |        /
    T1      |       /
      \     |      /
       \    |     /
        --> T3 <--

Recuperación

Cuando se detecta un deadlock, se debe solucionar mediante una operación de recuperación.

Timestamps

Se asocia un timestamp único a cada transacción, denotado TS(Tᵢ).

Timestamps - Protocolo de ordenamiento

Asegura que cualquier operación de lectura o escritura conflictiva se ejecute en el orden indicado por el timestamp.

  1. Lectura
    • Si TS(Tᵢ) < W-timestamp(Q): Tᵢ necesita leer un dato en Q que ya fue sobre-escrito. Se rechaza la operación, y se hace rollback a Tᵢ.
    • Si TS(Tᵢ) ≥ W-timestamp(Q): la operación es ejecutada, y el R-timestamp(Q) es actualizado a max(R-timestamp(Q), TS(Tᵢ)).
  2. Escritura
    • Si TS(Tᵢ) < R-timestamp(Q): el valor de Q que Tᵢ está por escribir fue necesitado previamente en una lectura. Como no se puede escribir "hacia el pasado", se rechaza la operación y se hace rollback a Tᵢ.
    • Si TS(Tᵢ) < W-timestamp(Q): el valor de Q que Tᵢ está por escribir ya fue escrito por un valor más nuevo, por lo que el valor que se está intentado escribir es obsoleto. Se rechaza la operación y se hace rollback a Tᵢ.
      • Notar que este caso es posteriormente abordado por la Thomas Write Rule.
    • en cualquier otro caso: la operación es ejecutada, y el W-timestamp(Q) es actualizado a TS(Tᵢ).

Thomas Write Rule

Modificación del protocolo de ordenamiento para timestamps que permite descartar operaciones write obsoletas (cuando el valor que tiene X es más nuevo al que se quiere escribir).

Multiversión

Se guardan distintas versiones de los datos, una por cada transacción vigente.

Multiversión con Two Phase Lock

Se puede combinar multiversionado con Two Phase lock, obteniendo las ventajas de ambos protocolos.

Niveles de aislamiento (SQL)

Fenómenos que violan el aislamiento (y la serialización)

Comparación

Isolated level Lost Updates Dirty Read Non repeat. Read Phantom Read
Read Uncommitted No Maybe Maybe Maybe
Read Committed No No Maybe Maybe
Repeated Read No No No Maybe
Serializable No No No No

16. Logging

Existen 3 tipos de fallas:

Estas fallas tienen que ver con pérdida de datos en memoria.

TODO: este tema es un embole, lo voy a saltear por ahora

17. Long Duration Transactions

Sagas

Una saga es un conjunto de acciones [A₁ ⟹ A₂ ⟹ ⋯ ⟹ Aₙ] que conforman un long duration transaction.

Acciones compensatorias

Sea A una acción, la acción de compensación A⁻¹ es tal que si se tiene una base en un estado S, al aplicarle A y luego A⁻¹ se vuelve a obtener el mismo estado S inicial.

18. In-Memory databases

Una "in-memory database" es una base de datos que carga toda la base en memoria.

Tipos

Persistencia

Almacenamiento

19. Distributed Databases

Una base de datos distribuída es una colección de múltiples bases de datos que están lógicamente relacionadas y se encuentran distribuídas en una red de computadoras.

Condiciones que debe satisfacer: - Interconexión entre BDs. - Relación lógica entre BDs interconectadas. - Heterogeneidad entre nodos.

Interconexión

Transparencia

Ocultar detalles de implementación a usuarios finales

Organización de los datos

(también distribución u organización de red)

Fragentación

Replicación

Otras

Disponibilidad y Confiabilidad

Escalabilidad y Particiones

Autonomía

Determina en qué medida los nodos individuales pueden operar independientemente

Ventajas

Transparencia total

Provee al usuario una visión de la DDB como si fuera un sistema centralizado.

Esquemas de fragmentación

Replicación total

Replicación parcial

Control de concurrencia y Recovery

Ambientes distribuídos traen nuevos problemas.

Control de Concurrencia

Responsable de mantener consistencia entre copias

Falla de Nodo Primario - Eleccion de nuevo coordinador

Falla de Nodo Primario - Votación

Recovery - Problemas

  1. Fallos en sitios y comunicaciones
    • En ciertos casos es muy difícil determinar cuándo un sitio se encuentra caído.
      • Ejemplo: sitio X envía un mensaje a sitio Y, del cual espera una respuesta. Posibles causas:
        • Nunca llegó mensaje a Y por problema en comunicación
        • Y está caído
        • Y se encuentra funcionando y envía respuesta, pero no llegó por problema en comunicación
    • En cualquier caso, también es complicado determinar la causa.
  2. Commit distribuído
    • Si T actualiza información en varios sitios, no puede terminar el COMMIT hasta asegurarse de que los efectos de T no se van a perder en ningún sitio (grabación de log)
    • Es frecuente usar 2PC para asegurar correctitud de commit distribuído

Transacciones

Propiedades ACID

Propiedades que debe cumplir una transacción.

2PC

3PC

Divide segunda fase de commit en dos subfases.

  1. Prepare to commit
    • Comunica resultado de la fase de votación a todos los participantes
    • El commit se debe preparar en esta fase
    • Si todos los participantes votan afirmativamente, pide que pasen a prepare-to-commit
  2. Commit

    • Idéntico a commit en 2PC
    • Si el coordinador cae durante esta subfase, otro participante puede tomar asumir la coordinación del commit.
    • Se limita el tiempo requerido por T para realizar el commit, ya que se preparó en la fase anterior, por lo que solo debe ser aplicado. Esto asegura liberar los locks luego de un determinado tiempo.
  3. Tiene algunas desventajas, principalmente el overhead para asegurarse de que no hayan inconsistencias, por lo que no ampliamente muy usado debido a problemas de red (muchos nodos fallando a la vez).

Queries distribuídos

  1. Mapeo: se mapea la consulta SQL a una consulta de AR sobre las relaciones globales, referenciando al esquema global.
    • NO se utiliza la información de distribución y replicación.
    • El mapeo es idéntico al de las BD centralizadas: normalización, análisis de errores, simplificación, reestructuración.
  2. Localización: se mapea el resultado anterior a múltiples consultas sobre fragmentos individuales.
    • Se utiliza la información de distribución y replicación.
  3. Optimización global: se selecciona una estrategia de una lista de candidatos cercanos al óptimo.
    • Tiempo es la unidad más utilizada para medir costo
    • Costo total es ponderado entre CPU, I/O, comunicación/red.
    • Costo de comunicación/red suele ser muy significativo.
  4. Optimización local: similar a las BD centralizadas, se optimiza cada query localmente.

Queries - Costos

Queries - Semijoin

Reducir cantidad de tuplas de una relación antes de que sean transferidas a otro nodo.

Tipos de DDB

Federated Databases - Heterogeneidad

Federated Databases - Autonomía

Arquitecturas Paralelas vs Distribuídas

Catálogo distribuído

El catálogo es una BD en sí misma

20. Integración de Datos

Integración de Datos (Data Integration - Data Federation)

           ∑₁
|DB1| S₁<------
           ∑₂  \
|DB2| S₂<------ --- |T| <- CONSULTA
           ∑₃  /
|DB3| S₃<-----

- Sᵢ: fuentes
- T: esquema global
- ∑ᵢ(T->Sᵢ): mapeos

Intercambio de Datos (Data Exchange - Data Translation)

Se transforman datos estructurados bajo un esquema origen en datos estructurados bajo un esquema destino.

        ∑
  S ----------> T
|DBₛ| - - - > |DBₜ|

Schema Mappings

Son piezas fundamentales para la formalización y el estudio de interoperabilidad de datos

         ∑
  S ----------> T
|DBₛ| - - - > |DBₜ|

Mapeo M = (S, T, ∑)

Lenguaje de mapeo de esquemas

Tuple-Generating Dependencies (TGD)

Restricciones que se refieren a la necesidad de que existan tuplas cuando se cumple una condición de disparo.

Source-to-Target TGDs

Soluciones Universales

Solución J para I es universal si existen homomorfismos de J a todas las posibles soluciones de I.

Chase

Procedimiento para reparar una BD en relación a un conjunto de dependencias (TGDs)

Solución universal mínima

Dada una instancia J, la subinstancia J' más pequeña homomórficamente equivalente a J se denomina el core de J.

Consultas en intercambio de datos

Cómputo de certain answers

21. Ontology-based Data Access

Conocimiento ontológico

22. Gobierno y Calidad de Datos

Tipos de datos

Calidad de datos

Análisis de calidad

Gobierno de datos

Madurez del gobierno de datos

  ∧                                               | R
V |                                   GOBERNADO   | i
a |                         PROACTIVO             | e
l |                REACTIVO                       | s
o | INDISCIPLINADO                                | g
r |                                               ∨ o
   ----------------------------------------------->
            Persona, procesos y tecnología

Roles

Administración de los datos

Datos -------> Información ------> Conocimiento
+ metadata     + asunciones
(definición    + relaciones
formato        + patrones
relevancia)

Administrador de datos

Persona responsable de la administración de datos, perfil funcional.

Tareas del administrador de datos

Privacidad

Preocupación creciente

23. Diseño Avanzado

No hay mucho que poner de esta clase.

24. Data Mining

Extracción de patrones o información interesante de grandes bases de datos.

Descubrimiento del conocimiento (KDD Process)

DATABASES
   \
    ---------> data warehouse
    data cleaning       \
                         -----> task-relevant data
                     Selection       \
                                      --------> Pattern evaluation
                                   Data mining       \
                                                      ------> Knowledge

Funcionalidades del Data Mining

Supervisada: Redes Neuronales

Sistemas capaces de enfrentar problemas que sólo podían ser resueltos por el cerebro humano.

Supervisada: Árboles de decisión

Supervisada: Regresión lineal

Se genera un modelo de regresión lineal.

Clasificación bayesiana

No supervisada: Clústering

Colección de objetos

No supervisada: reglas de asociación