RESUMEN TEMA 1
Un sistema sis tema de gestión de Bases de Datos (SGDB) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a dichos datos. Los objetivos principales de un SGBD consisten en proporcionar un entorno eficaz y eficient eficien te que permita permita el almacenamiento almacenamiento y la recuperació recuperación n de información en una base de datos. El propósito propósito principal de un sistema de base de datos es proporcionar a los usuarios una visión abstracta de los datos. Hay tres niveles: -
Nivel físico (el nivel nivel de abstracción más bajo): cómo se almacenan realmente los datos
-
Nivel lógico: Qué datos se almacenan y qué relaciones existen entre ellos
-
Nivel de vistas (el nivel de abstracción más alto): sólo se ofrece una parte de una BD al usuario, hay muchas posibles vistas para la misma BD.
Ejemplar es la colección de información de una BD en un momento dado, se modifica frecuentemente. Esquema es el diseño completo de la BD y raramente se modifica. Independencia de datos física es la capacidad para modificar el esquema físico sin que los programas tengan que reescribirse. Independencia de datos lógica es la capacidad para modificar el esquema físico sin que los programas tengan que reescribirse, reescribirse, más compleja. compleja. Modelo entidad-relación (E-R): Basado en una abstracción del mundo real que considera entidades y relaciones entre ellas así como restricciones que los datos deben cumplir. Las entidades se describen por sus atributos. Modelo orientado a objetos: Similar al modelo E-R, está basado en una colección de objetos que contienen contienen valores almacenados en e n variables ejemplares así como fragmentos de código que operan en ese objeto. Los objetos con iguales valores y métodos se agrupan en clases. Cada objeto tiene identidad única ún ica independiente de d e los l os datos que contenga - Un objeto accede a los datos de otro invocando un método de ese otro objeto. Modelo relacional: emplea una colección de tablas tablas para representar tanto los datos como las relaciones relaciones entre ellos. Cada tabla tiene tiene varias columnas columnas con nombre nombre único. Modelo de red: Los datos se representan repre sentan me diante colecciones de de registros registros y las relaciones relaciones se representa repre sentan n mediante enlaces. Modelo jerárquic je rárquico: o: simil similar ar al al de redes, se se diferencia en que los registros registros se organizan como colecciones de árboles en vez de grafos dirigidos. 1
Modelo físico: se utiliza para describir datos a muy bajo nivel, existen pocos ejemplos: modelos de unificación y modelo de memoria por marcos. Dos tipos de lenguaje de base de datos, lenguaje de definición (LDD) y lenguaje de manipulación de datos (LMD). El LDD es un lenguaje que se especifica el esquema de la BD en el cual el resultado de la compilación del LDD es un conjunto de tablas que se almacenan en un directorio de datos o diccionario de datos. También un diccionario de datos contiene metadatos (datos sobre los datos) y se consulta antes de acceder o modificar los registros. La estructura de almacenamiento y métodos de acceso se especifican mediante un conjunto de definiciones en un tipo de LDD denominado lenguaje de almacenamiento y definición de datos. El LMD la manipulación de datos consiste en las operaciones de recuperación de información, inserción de nueva información, borrado de información y modificación de información. También permite a los usuarios acceder o manipular los datos mediante el modelo de datos apropiados. Hay dos tipos: -
Procedimentales: Requieren que el usuario especifique qué datos quiere obtener y cómo obtenerlos.
-
No procedimentales: Requiere que el usuario especifique qué datos quiere obtener sin especificar cómo obtenerlos, éstos son más sencillos de emplear por el usuario pero menos eficientes.
Existen diferentes tipos de usuarios: -
Programadores de aplicaciones: Interactúan con el sistema a través de llamadas del LMD escritas en el lenguaje de la base de datos pero como el lenguaje es muy distinto al de la LMD se emplea un precompilador que convierte las instrucciones del LMD en llamadas a procedimientos normales del anfitrión.
-
Usuarios sofisticados. Interactúan con el sistema sin programas escritos, escribiendo sus consultas en un lenguaje de consulta de BD
-
Usuarios especializados:
Tipo de usuario sofisticado que
escriben aplicaciones
especializadas -
Usuarios normales. Interactúan con el sistema invocando alguna aplicación permanente.
Componentes de procesamiento de consultas: -
Compilador del LMD: Traduce las instrucciones del LMD a instrucciones de bajo nivel que entiende el motor de evaluación de consultas (trata de ganar eficiencia)
-
Precompilador del LMD: convierte las instrucciones del LMD en llamadas a procedimientos normales del anfitrión.
-
Intérprete del LDD: interpreta las instrucciones del LDD y las
registra
en
un
conjunto de tablas que contienen metadatos. -
Motor de evaluación de consultas: Ejecuta las instrucciones a bajo nivel generadas por el compilador del LMD.
2
RESUMEN TEMA 2
Una entidad es un objeto del mundo real que es distinguible de todos los demás objetos (p.e. una persona). Tienen unas propiedades que las hacen distinguirlas unas de otras. Una entidad puede ser concreta o abstracta. Un conjunto de e ntidades es la totalidad de las entidades del mismo tipo que comparten las mismas propiedades. Una se entidad se representa mediante un conjunto de atributos. Para cada atributo hay un conjunto de valores permitidos llamado dominio del atributo. Una BD incluye una colección de entidades cada una de las cuales incluye un número de entidades del mismo tipo. Podemos distinguir varios tipos de atributos: -
Simples y compuestos, no pueden ser divididos en subpartes, mientras que los compuestas sí. Usar atributos compuestos puede referirse a un atributo entero o a partes, lo que aumenta la flexibilidad.
-
Univalorados y multivalorados. Los atributos multivalorados pueden tener varios valores para una entidad concreta y los univalorados solo 1.
-
Nulos. Se usan cuando una entidad no tiene un determinado valor para dicho atributo, nunca puede ser nulo un atributo clave.
-
Derivados. El valor de este tipo de atributos puede extraerse de los valores de otros atributos o entidades.
Una relación es una asociación entre entidades. Se llama conjunto de relaciones a aquél que incluye relaciones del mismo tipo. Se llama parti cipación a la asociación entre conjuntos de entidades de referencia. La función que desempeña una entidad en una relación se llama papel de la entidad. La correspondencia de cardinalidades o razón de cardinalidad expresa el número de entidades a las que otra entidad puede estar asociada por medio de un conjunto de relaciones. Las correspondencias de cardinalidades pueden ser: -
Uno a uno. Una entidad de A se asocia a los sumo a una entidad B.
-
Uno a varios. Una entidad de A se asocia con cualquier número de entidades de B, una entidad de B se asocia a lo sumo con una entidad de A.
-
Varios a uno. Varias entidades de A se asocian a lo sumo con una entidad de B, una entidad de B se puede asociar con cualquier número de entidades de A.
-
Varios a varios. 1 entidad de A se puede asociar con cualquier número de entidades de B y viceversa.
Una superclave es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única una entidad en el conjunto de entidades. Se denomina clave primaria a una clave candidata elegida por el diseñador de l a BD como elemento principal para identificar entidades dentro de un conjunto de entidades. Dos entidades no pueden tener el mismo valor de sus atributos clave. 3
Un conjunto de entidades puede no tener suficientes atributos para formar una clav e primaria, en este caso se dice que se trata de un conjunto de entidades débil. Un miembro de un conjunto de entidades fuerte es una entidad dominante, uno de una débil, subordinada. Un conjunto de entidades puede i ncluir subgrupos que se diferencian de alguna forma de otras entidades del conjunto (ej. tipos de cuenta). El proceso de designación de subgrupos dentro de un conjunto de entidades se denomina especialización. La generalización es la manera en la que distintos grupos de entida des se sintetizan en grupos de entidades de nivel más alto. La generalización es la inversa de la especialización. Diseño de un esquema de una BD E-R. 1
En la fase inicial se trata de caracterizar completamente las necesidades esperadas por los usuarios de la BD, esta fase se denomina especificación de los requisitos de usuario.
2
En segundo lugar el diseñador elige un modelo conceptual y en ella se trata de especificar todos los conjuntos de entidades, de relaciones y ligaduras de correspondencia. También hay que identificar situaciones de conflicto y eliminar redundancia. Además hay que describir los tipos de operaciones (transacciones) que se efectuarán, esta parte se llama la especificación de los requisitos funcionales.
3
En la fase de diseño lógico, el esquema conceptual se asocia al modelo de datos del SGBD que se empleará (lo veremos más adelante).
4
En la fase de diseño físico se determinan las características físicas de la BD.
RESUMEN TEMA 3
Una BD relacional consiste en un conjunto de tablas, cada una de ellas con nombre exclusivo, cada fila representa una relación entre un conjunto de valores. Cada tabla consta de un conjunto de columnas que se denominan atributos. Un lenguaje de consulta es aquel en el que un usuario solicita información de la base de datos. Hay de 2 tipos: -
Procedimentales: En las que el usuario indica al sistema cuales son las operaciones para calcular el resultado deseado
-
No procedimentales: En las que el usuario describe la información deseada sin indicar el procedimiento.
El algebra relacional es un consulta procedimental que consta de un conjunto de operaciones sobre una o varias relaciones y que producen nuevas relaciones. Estas operaciones puede ser unarias (una sola relación) o bien binarias (pares de relaciones) y estas operaciones son: -
Selección: Selecciona las tuplas que satisfacen un predicado dado. Notación (σ)
4
-
Proyección: Extrae una relación que contenga sólo los atributos incluidos en el subíndice y elimina las filas repetidas si las hubiera. Notación (π)
-
Unión: Encuentra la relación compuesta por tuplas que aparecen en un par de relaciones y se anota con el símbolo ( ∪). Las relaciones tienen que ser compatibles.
-
Diferencia de conjuntos: Busca tuplas que están en una relación pero no en otra. Se apunta con el símbolo (-). Las relaciones tienen que ser compatibles.
-
Producto cartesiano: Combina información de cualesquiera dos relaciones. Se denota (x). Como el atributo puede aparecer en ambas relaciones hay que crear un esquema de denominaciones para distinguir entre ambos atributos.
-
Renombramiento: Se nombra (p) y permite renombrar una relación devolviendo el resultado de la expresión E con el nombre x. También se pueden renombrar atributos
-
Intersección de conjuntos. Permite encontrar tuplas que estén simultáneamente en dos relaciones, no añade mayor potencia computacional al algebra relacional pero simplifica la notación. Se utiliza el símbolo ( ∩).
-
Reunión natural. Sirve para simplificar algunas consultas que involucran un producto cartesiano. Combina una selección y un producto cartesiano en una sola operación ya que forma un producto cartesiano de sus dos argumentos, re aliza una selección forzando la igualdad de los atributos que aparecen en ambos esquemas y finalmente elimina atributos duplicados. Su símbolo es ><.
-
División: Es adecuada para las consultas que incluyen la expresión ‘para todo’. Su símbolo es “÷”.
-
Asignación: Sirve para asignar temporalmente una relación y se nota con el símbolo “←”, la asignación va de derecha a izquierda y no hace mostrar ninguna relación al usuario.
RESUMEN TEMA 5
Las restricciones de integridad proporcionan un medio de asegurar que las modificaciones hechas a la base de datos por los usuarios no provoquen una pérdida de la consistencia de los datos. Las Restricción de integridad son predicados arbitrarios para las relaciones de la base de datos. Hay varios tipos de restricciones: -
Restricciones de dominios. Es el tipo de restricción más básico y hace que los valores de un atributo de la base de datos estén comprendido entre unos valores definidos anteriormente. Tiene un ámbito interno en una relación determinada y no se utiliza para verificar la integridad entre varias relaciones de manera directa.
-
Integridad referencial. Asegura la integridad de los datos entre una relación para un conjunto de atributos determinados respecto de otra relación con otro cierto grupo de atributos. Asegura que las relaciones entre las distintas tablas de la base de datos puedan ser mantenidas sin ninguna pérdida de consistencia, pudiendo recuperarse la información mediante una reunión natural entre dichas relaciones. 5
a) Tuplas colgantes. Sea un par de relación r(R) y s(S), y la reunión natural entre r y s. Se llama tupla colgante a áqueta tupla tsubr de r que no se reúne con ninguna tupla de s. b) Clave externa. Sean r1(R1) y r2(R2) dos relaciones con las claves primarias K1 y K2 respectivamente. Un subconjunto α de R2 es una clave externa que hace referencia a K1 de la relación r1 si se exige que para cada t2 de r2 haya una tupla t1 de r1 tal que: t1[K1] = t2 *α] -
Asertos. Son predicados que expresan condiciones que deben cumplirse dentro de la base de datos en todo momento y que la afectan de manera global. Los asertos se chequean en su creación y posteriormente cada vez que existe una modificación. Las modificaciones se permiten si se comprueba que una vez hecha, el aserto se mantiene en un estado verdadero. Un abuso en el uso de asertos puede provocar una ralentización de funcionamiento muy importante con bases de datos grandes.
-
Disparadores: Son funciones integradas dentro de la BD que se ejecutan cuando se cumplen una serie de condiciones. Sirven pare realizar ciertas tareas de mantenimiento cuando se dan una serie de condiciones. Los disparadores dependen del SGBD utilizado, y pueden tener ámbitos de acción de columna o de tupla. También pueden generar un registro de error tanto en una tabla de mantenimiento cuando se producen inserciones o actualizaciones que violan ciertas reglas.
RESUMEN TEMA 6 PARTE 1
Superclave: Dado un subconjunto K de R, se considera superclave de R si para todos los pares t1 y t2 de r tales que t1 ≠t2 , entonces t1 *K+ ≠t2 [K] Dependencia funcional: Sea α
⊆
Ryβ
⊆
R, se dice que la dependencia funcional αÆβ se
cumple si para todas las tuplas t1, t2 de r se da que si t1*α+=t2*α+ entonces t1*β+=t2*β+ . De acuerdo con esto, se dice que K es superclave de R si KÆR, es decir, siempre que t1[K]=t2[K] también se produce que t1[R]=t2[R], es decir t1=t2. Las dependencias funcionales permiten expresar ligaduras que no pueden ser expresadas con superclaves, al afectar las superclaves a la totalidad de la relación, mientras que las dependencias funcionales puede afectar sólo a conjuntos de atributos de la relación. Se dice que un atributo de una dependencia funcional es raro si se puede eliminar sin modificar el cierre del conjunto de dependencias funcionales. Un atributo A es raro para α si A Un atributo A es raro para β si A
∈
α, y F implica lógicamente (F-α -> β-) U (α –A) -> β-
∈
β, y el conjunto de dependencias funcionales (F{->β-) U
{α ->(β-A)}) implica lógicamente a F.
6
El recubrimiento canónico Fc de F es un conjunto de dependencias tales que F implica lógicamente todas las dependencias de Fc y Fc implica lógicamente todas las dependencias de F. Aparte posee dos propiedades y es que ninguna dependencia funcional de Fc posee atributos raros y que el lado izquierdo de cada dependencia funcional de Fc es único, es decir, no existen dos dependencias α -> β1 y α2 ->β2 de Fc tales que α1=α2.
RESUMEN TEMA 6 PARTE 2
Forma normal de Boyce-Codd (FNBC) Se dice que un esquema R está en FNBC respecto a un conjunto de dependencias funcionales F si, para todas las dependencias funcionales F de la forma α -> β, donde α
⊆
Ryβ
⊆
R se
cumple al menos una de las siguientes condiciones 1) α-> β es una dependencia funcional trivial 2) α es una superclave en el esquema R. Un diseño de BD está en FNBC si cada relación lo está aunque puede haber redundancia. No todas las descomposiciones FNBC conservan las dependencias. Los objetivos de diseño son 3: 1) reunión sin perdida 2) FNBC 3) Conservación de las dependencias. Y como reunión sin perdida es una condición esencial para la descomposición, para evitar perdida de información, entonces habrá que abandonar la FNBC o el requisito de conservación de las dependencias. La tercera forma normal es una relajación de la FNBC y permite obtener siempre descomposiciones que conservan las dependencias. Tercera Forma Normal En los casos en que la descomposición en FNBC no conserva las dependencias se pueden hacer dos cosas: -
Para cada actualización soportar el coste computacional del cálculo de las reuniones para buscar violaciones
-
Emplear una descomposición alternativa (la 3FN) que, a diferencia de la FNBC, puede tener alguna redundancia.
La FNBC exige que todas las dependencias funcionales no triviales sean de la forma αÆβ donde α es una superclave, la 3FN relaja la restricción permitiendo dependencias funcionales no triviales cuyo lado de la izquierda no sea una superclave.
7
Obsérvese que si un esquema satisface FNBC también satisface 3FN, pero no al revés. Al igual que en el caso de FNBC existe un algoritmo (algoritmo de síntesis de 3FN) que permite descomponer, con reuniones sin pérdida y conservando las dependencias funcionales. Cuarta Forma Normal El problema de repetición de información se produce en las anteriores normalizaciones, para evitarlo incluimos el concepto de dependencias multivaloradas cuya función es exigir que estén presentes otras tuplas de una cierta forma. La 4FN es una especialización de la forma norma Boyce-Codd en la cual una relación R está en 4FN con respecto a un conjunto de dependencias funcionales multivaloradas F si para toda dependencia multivalorada en F+ de la forma α->->β con α
⊆R
yβ
⊆ R,
se cumple,
como mínimo, una de las condiciones siguientes: a) α ->->β es una dependencia multivalorada trivial b) α es una superclave en el esquema R.
RESUMEN TEMA 14
Data Mining: conjunto de técnicas estadísticas, generalmente muy sofisticadas, que permiten extraer patrones estadísticos de grandes bases de datos para su utilización efectiva por parte de la empresa; actuando sobre bases de datos relaciones o sobre ‘Data Warehouses’ extrayendo información oculta. Data Warehouses es un sistema de información con estas características: -
Es una BBDD diseñada para tareas analíticas, sus datos provienen de diversas aplicaciones.
-
Soporta un número relativamente reducido de usuarios con interacción prolongada.
-
El acceso a la lectura de registros es intensivo.
-
El contenido es modificado continuamente.
-
Contiene información actual e histórica.
-
Generalmente tienen pocas tablas pero muy grades.
-
Cada consulta suele producir una tabla grande.
Aunque se podría definir como una colección orientada hacia el usuario, variante en el tiempo y no volátil que sirve como sistema de soporte en el proceso de toma de decisiones. La mayoría de las técnicas de Data Mining consisten en modelos estadísticos y matemáticos muy sofisticados, generalmente provenientes de la inteligencia artificial. Inteligencia Artificial: El conjunto de programas de ordenador y sistemas que permiten efectuar tareas de complejidad tal que generalmente se entiende que sólo pueden ser efectuados por humanos. 8
Redes Neuronales Artificiales (RNA) Simulan el funcionamiento y estructura del cerebro y parten del elemento más básico, la neurona. Su estructura es esta: -
En la capa de entrada se recibe la información que procesará la red.
-
Las capas intermedias realizan la computación.
-
La capa de salida produce la reacción adecuada para cada entrada.
La estructura no se programa, se modifica de manera autónoma mediante prueba y error. Las neuronas refuerzan o debilitan su conexión con otras neuronas dependiendo de si la salida ha sido la deseada o no. Al proceso consistente en modificar la fuerza de las conexiones sinápticas en el cerebro se le denomina aprendizaje quedando grabado el mensaje en la fuerza de l as conexiones sinápticas. Este mensaje seria una secuencia de números que representa como de fuerte es su conexión. La mayor ventaja es que las RNA van aprendiendo según va variando el entorno, no necesitan que un humano las programe ni las modifique aunque cambien las condiciones iniciales. Algoritmos Genéticos (AG) Son un procedimiento de búsqueda heurístico basado en los principios de evolución natural de Darwin en el cual los individuos mejor adaptados al medio sobreviven y transmiten su información genética a sus sucesores. Con lo cual al cabo de unas generaciones la especia será más fuerte y más acoplada al medio. Pasos de un (AG): 1) Generar aleatoriamente una población de soluciones iniciales, codificarla en binario. 2) Calcular cómo de buena es cada solución 3) Elegir 2 individuos para reproducirse en función de su bondad. 4) Cruzar secciones de los cromosomas generando individuos ‘hijo’ 5) Mutar con probabilidad muy baja a los ‘hijos’ 6) Sustituir la población anterior por la nueva, si no hemos llegado al óptimo repetir. Estrategia de CRM (Customer Relationship Managent) Cualquier iniciativa destinada a ayudar a una empresa a optimizar sus interacciones con sus clientes o proveedores que emplee una o más herramientas del marketing con el propósito de adquirir o retener clientes o hacer ventas cruzadas. Diversos problemas como que la información web está indexada por palabras y no por contenido, los usuarios no quieren hacer encuestas, las bases de datos no son públicas, diversos problemas de privacidad, seguridad de esos datos. Aparte surgen retos como que los sistemas de Data Mining requieren gran cantidad de datos y velocidad de proceso con lo cual necesita mucha ‘maquina’, aparte estos sistemas no son escalables y pueden llegar a no ser validos si hay demasiados datos.
9