Una tabla hash o mapa hash es una estructura de datos que asocia



Descargar 230,25 Kb.
Página1/2
Fecha de conversión24.09.2017
Tamaño230,25 Kb.
  1   2
Tabla de Hash
Una tabla hash o mapa hash es una estructura de datos que asocia llaves o claves con valores. La operación principal que soporta de manera eficiente es la búsqueda: permite el acceso a los elementos (teléfono y dirección, por ejemplo) almacenados a partir de una clave generada (usando el nombre o número de cuenta, por ejemplo). Funciona transformando la clave con una función hash en un hash, un número que la tabla hash utiliza para localizar el valor deseado.

Las tablas hash se suelen implementar sobre arrays de una dimensión, aunque se pueden hacer implementaciones multi-dimensionales basadas en varias claves. Como en el caso de los arrays, las tablas hash proveen tiempo constante de búsqueda promedio O(1),1 sin importar el número de elementos en la tabla. Sin embargo, en casos particularmente malos el tiempo de búsqueda puede llegar a O(n), es decir, en función del número de elementos.



Comparada con otras estructuras de arrays asociadas, las tablas hash son más útiles cuando se almacenan grandes cantidades de información.

Las tablas hash almacenan la información en posiciones pseudo-aleatorias, así que el acceso ordenado a su contenido es bastante lento. Otras estructuras como árboles binarios auto-balanceables son más rápidos en promedio (tiempo de búsqueda O(log n)) pero la información está ordenada en todo momento.
Una tabla hash tiene como principal ventaja que el acceso a los datos suele ser muy rápido si se cumplen las siguientes condiciones:

  • Una razón de ocupación no muy elevada (a partir del 75% de ocupación se producen demasiadas colisiones y la tabla se vuelve ineficiente).

  • Una función resumen que distribuya uniformemente las claves. Si la función está mal diseñada, se producirán muchas colisiones.

Los inconvenientes de las tablas hash son:

  • Necesidad de ampliar el espacio de la tabla si el volumen de datos almacenados crece. Se trata de una operación costosa.

  • Dificultad para recorrer todos los elementos. Se suelen emplear listas para procesar la totalidad de los elementos.

  • Desaprovechamiento de la memoria. Si se reserva espacio para todos los posibles elementos, se consume más memoria de la necesaria; se suele resolver reservando espacio únicamente para punteros a los elementos.

Las tablas hash, una de las aplicaciones más extendidas de las funciones de hash, aceleran el proceso de búsqueda de un registro de información según una clave (nota: este uso de la palabra poco se relaciona con su significado habitual). Por ejemplo, una cadena alfanumérica puede ser utilizada para buscar la información de un empleado en la base de datos de un sistema.



La utilización de tablas hash provee un acceso casi directo a dichos registros, lo que significa que, en promedio, una búsqueda puede llegar a requerir sólo uno o dos intentos en la memoria o el archivo que contiene la información. NO TIENE BUSQUEDAS -> ES DIRECTO)

Si asumimos que la clave es una cadena de bytes, entonces la función de hash debería ser como un índice de los registros que tiene una distribución aleatoria sobre las cadenas de entrada esperadas. De otra forma, habría más colisiones de hashdegradando así el tiempo de búsqueda. Si, por ejemplo, la clave es alfabética, cada byte puede tener sólo 26 de sus 256 valores posibles. Funciones tan simples no distribuirán los índices de una forma pareja.


FUNCIONAMIENTO DE TABLA DE HASH:
Crea una estructura auxiliar que guarda el campo clave mediante el cual se accederá a los datos.
A los campos indexados se les calcula su valor de hash, utilizando una función que depende del tipo de datos. Ese valor ( o su modulo respecto del tamaño de la tabla) es utilizado como subíndice para acceder a la fila correspondiente en la tabla de hash. Si ese bucket existe, se procede a leer o escribir el valor asociado a la clave (para DB, es un apuntador al registro) Puede suceder que ya exista un valor en ese bucket para otra clave, esto se denomina colisión. Dependiendo de si se utiliza una tabla estática o dinámica, se recorrerá la tabla desde ese registro hasta encontrar uno libre, o bien, se insertará la clave y el valor en la lista de colisiones para ese bucket.

Índices de una BD

El índice de una base de datos es una estructura de datos que mejora la velocidad de las operaciones, permitiendo un rápido acceso a los registros de una tabla. Al aumentar drásticamente la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuales se hagan frecuentes búsquedas.
El índice tiene un funcionamiento similar al índice de un libro, guardando parejas de elementos: el elemento que se desea indexar y su posición en la base de datos. Para buscar un elemento que esté indexado, sólo hay que buscar en el índice dicho elemento para, una vez encontrado, devolver el registro que se encuentre en la posición marcada por el índice.

Los índices pueden ser creados usando una o más columnas, proporcionando la base tanto para búsquedas rápidas al azar como de un ordenado acceso a registros eficiente.



Los índices son construidos sobre árboles BB+B* o sobre una mezcla de ellos, funciones de cálculo u otros métodos.



  • Tablas de hashing: se guarda en una tabla la clave (es por lo que se ordena), la posición relativa que ocupa en la parte de datos y un puntero a una lista de de duplicados. Se indexa por los campos que son accedidos con más frecuencia. Las claves pueden ser compuestas, por ejemplo nombre y legajo, entonces ordeno por nombre y a igual nombre ordeno por legajo (un solo índice). Pero si necesito ordenar por DNI y legajo entonces se necesitan dos índices.



  • Árbol-B: el número máximo de claves por nodo constituye el orden del árbol-B y el número mínimo de claves permitidas en un nodo es normalmente la mitad del orden excepto para la raíz. En los nodos no terminales se guardan los datos y un apuntador a otro nodo con valores menores o iguales. Todas las hojas tienen la misma profundidad (pertenecen al mismo nivel). Las hojas poseen apuntadores a los registros en el fichero de datos, de forma que el nivel completo de las hojas forma un índice ordenado del fichero de datos.


Cuando implementar un índice con Arbol B o con Tabla de Hashing?

Influye el volumen de los datos, los tipos de clave, dado que Hashing genera redundancia y el tipo de acceso, dado que Hashing está preparado para un acceso directo y no secuencial  Las tablas de hashing son utilizadas cuando el volumen de información indexada cabe en memoria y se desea tener acceso lo más rápido posible, aun a costa de desperdicio de la misma. Los arboles B se utilizan cuando el uso eficiente de la memoria es prioritario, y la velocidad de acceso pasa a un segundo plano, y si los índices no caben en memoria. Es importante que la tabla de hashing tenga bien formadas las claves, ya que sino se vuelve notablemente menos performante que un árbol B.



Los índices pueden ser definidos como únicos o no únicos. Un índice único actúa como una restricción en la tabla previniendo filas idénticas en el índice.

CARACTERÍSTICAS DIFERENCIADORAS PARA LOS ÍNDICES


  • UNIQUE: único actúa como una restricción en la tabla previniendo filas idénticas en el índice.

  • CLUSTER: provoca al momento de su creación que físicamente los datos de la tabla sean ordenados por el mismo.

  • DUPLICADO: permite multiples entradas para una misma clave.

  • COMPUESTO: la clave se compone de varias columnas.(permite facilitar los joins y aumentar la unicidad de las claves)


BENEFICIOS DE LA UTILIZACIÓN DE INDICES:

1. Se le provee al sistema mejor perfomance al equipo ya que no debe hacer lecturas secuenciales sino accede a través de los índices.

2. Mejor perfomance en el ordenamiento de filas

3. Asegura únicos valores para las filas almacenadas

4. Cuando las columnas que intervienen en un JOIN tienen índices se le da mejor perfomance si el sistema logra recuperar los datos a través de ellas

COSTO DE LA UTILIZACIÓN DE INDICES

1. El primer costo asociado es el espacio que ocupa en disco, que en algunos casos suele ser mayor al que ocupan los datos.

2. El segundo costo es el de procesamiento, hay que tener en cuenta que cada vez que una fila es insertada o modificada o borrada, el índice debe estar bloqueado, con lo cual el sistema deberá recorrer y actualizar los distintos índices.


CUANDO INDEXAR:

Indexar columnas que intervienen en Joins

• Indexar las columnas donde se realizan filtros

• Indexar columnas que son frecuentemente usadas en orders by

• Evitar duplicación de índices sobre todo en columnas con pocos valores diferentes Ej: Sexo, Estado Civil, Etc.

• Limitar la cantidad de índices en tablas que son actualizadas frecuentemente porque sobre estas tablas se estarán ejecutando Selects extras.

• Verificar que el tamaño de índice debería ser pequeño comparado con la fila

◊ Tratar sobre todo en crear índices sobre columnas cuya longitud de atributo sea pequeña



IMPORTANTES LIMITACIONES SOBRE INDICES
Cuando aplicamos cualquier función en una columna indizada en la cláusula WHERE, el índice deja de tener efecto.
Un simple TRUNC sobre una columna fecha, o un TRIM en una columna VARCHAR2, deja sin efecto a los índices sobre esas columnas.

EJ:


SELECT nombre, TRIM(apellido)
FROM socios
WHERE SUBSTR(ódigo,1,3) = ‘DNO’
AND apellido > ‘P’;

En este ejemplo, un índice sobre la columna código no es de utilidad, ya que la función SUBSTR lo anula. Un índice sobre apellido puede funcionar sin problemas ya que no hay ninguna función aplicada en la cláusula WHERE (notar que sí la hay en el SELECT).

O bien por conversiones implícitas:


Por ejemplo, una consulta como la siguiente:

SELECT nombre, TRIM(apellido)


FROM socios
WHERE nro_socio = ‘2232′;

internamente es traducida como:

SELECT nombre, TRIM(apellido)
FROM socios
WHERE TO_CHAR(nro_socio) = ‘2232′;

y el índice sobre nro_socio es inhibido por la conversión implícita.


ALGORITMO DE HUFFMAN


Este algoritmo toma un alfabeto de n símbolos, junto con sus frecuencias de aparición asociadas, y produce un código de Huffman para ese alfabeto y esas frecuencias.

El algoritmo consiste en la creación de un árbol binario que tiene cada uno de los símbolos por hoja, y construido de tal forma que siguiéndolo desde la raíz a cada una de sus hojas se obtiene el código Huffman asociado.

Se crean varios árboles, uno por cada uno de los símbolos del alfabeto, consistiendo cada uno de los árboles en un nodo sin hijos, y etiquetado cada uno con su símbolo asociado y su frecuencia de aparición.


  1. Se toman los dos árboles de menor frecuencia, y se unen creando un nuevo árbol. La etiqueta de la raíz será la suma de las frecuencias de las raíces de los dos árboles que se unen, y cada uno de estos árboles será un hijo del nuevo árbol. También se etiquetan las dos ramas del nuevo árbol: con un 0 la de la izquierda, y con un 1 la de la derecha.

  2. Se repite el paso 2 hasta que sólo quede un árbol.

Con este árbol se puede conocer el código asociado a un símbolo, así como obtener el símbolo asociado a un determinado código.

Para obtener el código asociado a un símbolo se debe proceder del siguiente modo:



  1. Comenzar con un código vacío

  2. Iniciar el recorrido del árbol en la hoja asociada al símbolo

  3. Comenzar un recorrido del árbol hacia arriba

  4. Cada vez que se suba un nivel, añadir al código la etiqueta de la rama que se ha recorrido

  5. Tras llegar a la raíz, invertir el código

  6. El resultado es el código Huffman deseado

Para obtener un símbolo a partir de un código se debe hacer así:

  1. Comenzar el recorrido del árbol en la raíz de éste

  2. Extraer el primer símbolo del código a descodificar

  3. Descender por la rama etiquetada con ese símbolo

  4. Volver al paso 2 hasta que se llegue a una hoja, que será el símbolo asociado al código


El árbol de Huffman no necesariamente debe estar completo
OTRAS DEFINICIONES
RECOVERY: El recovery es el proceso que recupera la información a su estado anterior  cuando falló una transacción o cuando se encuentra el comando ROLLBACK.
FUNCION en PL-SQL: Función es un procedimiento almacenado como objeto de la base de datos, que puede recibir cero o más parámetros y que tiene un valor de retorno escalar, o dependiendo del motor, también otros objetos. Las funciones, a diferencia de los SP no deben realizar modificaciones sobre la estructura o los datos de la base de datos, ni imprimir resultados. Por otro lado, a diferencia de los Triggers, no tienen eventos asociados que disparen su ejecución.
TRIGGER: procedimiento almacenado que se ejecuta ante la ocurrencia de ciertos eventos (como inserción, eliminación, modificación) sobre las tablas de la base de datos, antes durante o tras el suceso. Existe una instancia de trigger ejecutándose por cada evento. Los triggers pueden utilizarse para mantener consistencia entre los datos de diferentes registros, tablas y bases de datos, para llevar auditorías y para manejar bajas lógicas.
Ejecución: un trigger se ejecuta ante un acontecimiento (INSERT, UPDATE, DELETE) sobre una tabla determinada.
Tipos: se puede aplicar a la fila que disparó el trigger o a todas las filas.
Before, After & Instead of (en lugar del evento que lo invocó).
Atomicidad: si un error ocurre cuando un trigger se está ejecutando, la operación que disparó el trigger falla, o sea que no se modifica la tabla.
Uso: se usan triggers cuando la integridad referencial y los constraints son insuficientes; reglas de consistencia (no provistas por el modelo relacional); replicación de datos; auditoría; acciones en cascada; autorización de seguridad; los triggers constituyen la herramienta más potente para el mantenimiento de la integridad de la base de datos

STORE PROCEDURE: son bloques de código compuesto por sentencias SQL y PLSQL, compilados y almacenados en la base de datos, en forma de objetos. Los procedimientos, en cambio, pueden realizar dichas modificaciones, y su valor de retorno es opcional

VENTAJAS DE LOS STORED PROCEDURES:

• Pueden reducir la complejidad en la programación. Creando SP con las funciones + usadas.

• Pueden ganar perfomance en algunos casos

• Otorgan un nivel de seguridad extra

• Pueden definirse ciertas reglas de negocio independientemente de las aplicaciones.

• Diferentes aplicaciones acceden al mismo código ya compilado y optimizado.

• En un ambiente cliente servidor, no sería necesario tener distribuido el código de la aplicación

• En proyectos donde el código puede ser ejecutados desde diferentes interfaces, Ud. mantiene un solo tipo de código.


TRANSACCION: Conjunto de operaciones que se ejecutan de forma atómica, es decir, que se completan o fallan en conjunto.
Su utilidad es que cuando se deben ejecutar una serie de operaciones importantes uno puede asegurar que si se produce un fallo en alguna de ellas no habrá impacto sobre los datos, esto asegura la consistencia de los mismos.
Debe cumplir con (ACID):

  • Atomicidad: la transacción debe ejecutarse en su totalidad o no debe ejecutarse en absoluto.

  • Consistencia: al terminar una transacción la base de datos debe pasar de un estado consistente a otro. Un estado consistente de la base de datos es aquel que satisface todas las restricciones de integridad.

  • Aislamiento (isolation): cuando dos transacciones se ejecutan concurrentemente, sus efectos deben ser aislados y no deben interferirse entre sí.

  • Durabilidad: una vez que la transacción ha terminado, su efecto no puede perderse en caso de fallas del sistema.


Si cumple esto, se dice que el motor es transaccional.

Se utiliza poniendo la porción de código a “transaccionar” entre “BEGIN TRANSACTION” y “COMMIT” o “ROLLBACK”.
FUNCIONALIDADES Y CARACTERISTICAS DE UN DBMS:

  • Concurrencia: permite el acceso simultáneo de muchas usuarios/procesos.

  • Atomicidad: asegura que un conjunto de operaciones se ejecuta todo o falla en su conjunto.

  • Consistencia: asegura que la integridad de los datos se mantiene antes y después de realizar una operación.

  • Backup y Restore: provee herramientas para realizarlos.

  • Gestión de almacenamiento: independiza al usuario de los detalles de bajo nivel de cómo se almacenan los datos. (tratamiento con FS)

  • Aislamiento: usuario se abstrae de la implementación física del modelo.

  • Facilidad de consultas.

  • Transaccionalidad.

  • Abstracción.

  • Procesamiento distribuido: las diferentes capas o sistemas de un DBMS interactúan entre sí para llevar a cabo los objetivos generales de un DBMS.


QUE DEBE CUMPLIR UN MOTOR DE BD

  • Relación costo/beneficio.

  • Volúmenes de datos a manejar.

  • Tipos de bloqueos.

  • Concurrencia.

  • Si el sistema es o no orientado a objetos.

  • Capacidad del equipo de trabajo.

  • Plataforma (Hardware y SO)


Características de los DSS Queries (DataWarehouse) -> OLAP:

  • • Muchas filas son leídas y el resultado no esta en una transacción

  • • Los datos son leídos secuencialmente

  • • SQL complejos son ejecutados

  • • Grandes archivos temporarios son creados

  • • El tiempo de respuesta es medido en horas y minutos

  • • Hay relativamente poca concurrencia de queries



CARACTERISTICAS DEL Ambiente OLTP: On-Line Transaction Processing

  • • Relativamente pocas filas leídas

  • • Alta frecuencia de transacciones

  • • Acceso a los datos a través de índices

  • • Simple Operaciones SQL

  • • Respuesta de scan medida en segundos

  • • Muchos queries concurrentes


Existen 3 niveles de Seguridad:

  • a) Base de datos

  • b) Tabla

  • c) Columna (depende del motor de bd)

VENTAJAS Y DESVENTAJAS ENTRE BD RELACIONAL Y OO
BDOO:

Ventajas:

  • Flexibilidad para el manejo de datos complejos.

  • Manipula datos complejos en forma rápida.

  • La estructura de la DB está dada por las referencias entre objetos.

  • Veloz para la recuperación de datos.

Desventajas:

  • Inmadurez en el mercado.

  • Falta de estándares para el trabajo.

  • Baja Performance

BDR:

Ventajas:

  • Esta muy aceptada en el mercado.

  • Lenguaje de consulta estándar

  • Permite trabajar con sistemas estructurados.

  • Permite almacenar grandes volúmenes de datos.

Desventajas:

  • Es necesario aplicar una capa de mapeo entre objetos y entidades.

REPRESENTACION COMPUTACIONAL DE UN GRAFO IRRESTRICTO:
ESTATICO: contemplan todas las posibilidades del mismo, ocupa siempre la misma cantidad de memoria, pero es más eficiente.
Ej: matriz de adyacencia (VERTICE-VERTICE -> cant de aristas) o matriz de incidencia (VERTICE-ARISTA -> es 1 o 0 según se unen o no).
DINAMICO: Lista enlazada de adyacencia o estructura de graal. Utilizando una lista o vector de punteros donde se guardan los nodos que participan del grafo con sus correspondientes datos. Cada elemento contiene un puntero a una lista adicional que contiene “las flechas que salen” del nodo que representan. No se guarda el dato en la lista adicional, guarda los punteros a datos.

PLAN DE CONSULTA:
Consiste en que el SGBD tiene armado un plan de cómo va a acceder a los datos, esto hace que el acceso sea más rápido. Los SP, Vistas y Funciones implementan un plan de ejecución, es por esto que son más veloces que un query normal.
- El optimizador de consultas es el componente del sistema de gestión de base de -datos que intenta determinar la forma más eficiente de ejecutar una consulta SQL.


- Se decide cuál de los posibles planes de ejecución de una consulta dada es el más eficiente.

- Los optimizadores basados en costos asignan un costo (operaciones de E/S requeridas, CPU, etc.) a cada uno de esos planes y se elige el que tiene menor costo.



Por qué se establece que las Reglas del Negocio deben estar en el Motor de Base de Datos y no en la aplicación cliente?

  • Reglas de negocio: cada aplicación debe reflejar las restricciones que existen en el negocio dado, de modo que nunca sea posible realizar acciones no válidas.

  • La información puede ser manipulada por muchos programas distintos que podrán variar de acuerdo a los departamentos de la organización, los cuales tendrán distintas visiones y necesidades pero que en cualquier caso, siempre deberán respetar las reglas de negocio.

  • Es por lo anterior expuesto que las reglas del negocio deben estar en el motor de base de datos.

Describa los componentes básicos de un DBMS. Teniendo en cuenta la administración de datos, la interfaz con el usuario y el procesamiento cliente-servidor.

  • Dos lenguajes: DML y DDL.

  • 3 capas: externa (usuario), lógica (conceptual) e interna (física).

  • Disk manager (recibe peticiones del file manager y las envía al SO), file manager (decide que página contiene el registro deseado y la solicita el disk manager) y user manager (permite la interacción con el usuario).

  • Arquitectura cliente-servidor: las aplicaciones corren en el cliente y generan solicitudes para y reciben respuestas del servidor. El servidor realiza el procesamiento de datos y aplica las reglas de negocio establecidas.

  • Clustering: es la forma de agrupar la información. Hay dos formas, intra-file clustering (todas las tablas conviven con sus elementos) e inter-file clustering (se guarda cada objeto con sus relaciones).

CHECK CONSTRAINS, CONSTRAINS FK PK e INTEGRIDAD REF.
Constraints son limitaciones al dominio de un atributo, e incluyen FK, PK, unique constraints, not null y check constrinats. Las constraints existen para mantener los tres tipos fundamentales de integridad: de entidad, referencial y de dominio
Las check constraints y not null constrints son limitaciones sobre el rango de valores independientes de los valores de otros atributos (por ejemplo, que el valor sea no nulo, o menor a 50). Mantienen la integridad de dominio.
Las FK y PK en cambio dependen del valor de otros atributos de la misma u otra tabla.
Las primeras existen para mantener la integridad de entidad (entity integrity) y las segundas, para mantener la integridad referencial (asegurarse que la entidad referenciada exista).
Finalmente, los triggers pueden utilizarse para reforzar reglas de integridad propias del negocio.


  • PRIMARY KEY CONSTRAINT: Puede estar compuesta por una o más columnas, y deberá representar unívocamente a cada fila de la tabla. No debe permitir valores nulos.

La integridad referencial es usada para asegurar la coherencia entre los datos. Referencial: Ej.: Si se ingresa un comprobante de un cliente, este debe existir en la tabla de clientes.


  • FOREIGN KEY CONSTRAINT: Puede estar compuesta por una o más columnas, y estará referenciando a la PRIMARY KEY de otra tabla.

Los constraints referenciales permiten a los usuarios especificar claves primarias y foráneas para asegurar una relación PADRE-HIJO (MAESTRO-DETALLE).



Reglas que son aseguradas con el uso de constraints referenciales:

1. Si un usuario BORRA (DELETE) una PRIMARY KEY y dicha clave está correspondida por FOREIGNS KEY en otras tablas, el DETELE fallará. Esta regla podría pasarse mediante la aplicación de cláusulas de ON DELETE CASCADE (Borrado en Cascada).

2. Si un usuario MODIFICA (UPDATE) una PRIMARY KEY y la clave original está correspondida por FOREIGNS KEY en otras tablas, el UPDATE fallará

3. No hay restricciones asociadas al borrado de FOREIGNS KEYS.

4. Si un usuario MODIFICA (UPDATE) una FOREIGN KEY y no hay una

PRIMARY KEY en la tabla de referencia que corresponda a esa nueva clave NO NULA, el UPDATE fallará.

5. Todos los valores en una PRIMARY KEY deben ser únicos. Al tratar de insertar una clave duplicada en una PRIMARY KEY dará un error.

6. Cuando un usuario INSERTA (INSERT) una fila en una tabla hijo, si todas las FOREIGN KEYS son NO NULAS, todas deberán estar correspondidas




  • DATA TYPE: Este define el tipo de valor que se puede almacenar en una columna.




  • DEFAULT CONSTRAINT: Es el valor insertado en una columna cuando al insertar

un registro ningún valor fue especificado para dicha columna. El valor default por default es el NULL.

    • Se aplica a columnas no listadas en una sentencia INSERT.

    • El valor por default puede ser un valor literal o una función SQL (USER, TODAY, etc.)

    • Aplicado sólo durante un INSERT (NO UPDATE).

  • CHECK CONSTRAINT: Especifica condiciones para la inserción o modificación en una columna. Cada fila insertada en una tabla debe cumplir con dichas condiciones.

Actúa tanto en el INSERT, como en el UPDATE.

    • Es una expresión que devuelve un valor booleano de TRUE o FALSE.

    • Son aplicados para cada fila que es INSERTADA o MODIFICADA.

    • Todas las columnas a las que referencia deben ser de la misma tabla (la corriente).

    • No puede contener subconsultas, secuencias, funciones (de fecha,usuario) ni pseudocolumnas.

    • Todas las filas existentes en una tabla deben pasar un nuevo constraint creado para dicha tabla. En el caso de que alguna de las filas no cumpla, no se podrá crear dicho constraint.




  • UNIQUE CONSTRAINT: Especifica sobre una o más columnas que la inserción o actualización de una fila contiene un valor único en esa columna o conjunto de columnas.




  • NOT NULL CONSTRAINT: Asegura que una columna contenga un valor durante una operación de INSERT o UPDATE. Se considera el NULL como la ausencia de valor.

¿Qué beneficios brinda la aplicación de la normalización al diseño de un modelo de base de datos?




  • Evitar la redundancia de los datos.

  • Evitar problemas de actualización de los datos en las tablas.

  • Proteger la integridad de los datos.

¿Qué entiende por diccionario de datos, catálogo de datos o metadata?




  • Para representar una base de datos relacional, necesitamos almacenar no sólo las relaciones mismas, sino también una cantidad de información adicional acerca de las relaciones.

  • El conjunto de tal información se llama diccionario de datos o metainformación.

  • El diccionario de datos debe contener información como: nombre de las relaciones en la base de datos; nombre de los atributos de cada relación; dominio de cada atributo; tamaño de cada relación; método de almacenamiento de cada relación; claves y otras restricciones de seguridad; nombres y definiciones de vistas.

  • Además debe contener información sobre los usuarios de la base de datos y los poderes que éstos tienen: nombre de los usuarios; costo del uso efectuado por cada usuario; nivel de privilegio de cada usuario.

¿En qué consiste la técnica de Data Mining? ¿Para qué se utiliza? Indique alguna de las técnicas algorítmicas aplicadas en el mismo.




  • Consiste en la extracción de información oculta y predecible de grandes bases de datos.

  • Las herramientas de datamining predicen futuras tendencias y comportamientos, permitiendo tomar decisiones conducidas por un conocimiento acabado de la información (knowledge-driven).

  • Predicción automatizada de tendencias y comportamientos.

  • Descubrimientos automatizados de modelos previamente desconocidos.

  • Las técnicas más comúnmente usadas son: redes neuronales, árboles de decisión, algoritmos genéticos, etc.



ELEMENTOS DE UNA BD
  1   2


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal