Recu Primer Parcial Flashcards

1
Q

Índices

A

Los Indices se utilizan parta aumentar la velocidad de acceso a los datos
* Un fichero Indice está formado por registros de la
forma:
Clave de búsqueda | Puntero

Un índice es un lugar donde se puede buscar por una clave de búsqueda, encontrar (si existe) lo buscado y tiene un puntero que indica en dónde se encuentra el dato buscado. La clave de búsqueda consiste en uno o varios atributos.
El índice se guarda en otro bloque de memoria. La idea de utilizarlo es, cuando se busca un dato, poder traerlo a la memoria principal primero para recorrerlo y determinar en qué bloques buscar los datos que se necesiten, y también determinar si éstos existen antes de leer los bloques de datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

clasificacion indeces

A

Índices ordenados: están basados en una disposición ordenada de los valores. Son como listas que ayudan a encontrar información rápidamente.

Según la coincidencia entre la clave de búsqueda y la clave de orden:

a. Primario: cuando la clave de búsqueda del índice coincide con la clave de orden. En un archivo ordenado
secuencialmente, es el indice cuya clave de búsqueda
especifica el orden secuencial del archivo.

Pueden ser:
a1. Disperso: significa que no tienes una entrada para cada posible valor, y si no encuentras el valor buscado, debes buscar desde el valor anterior.
a2. Denso: significa que hay una entrada para cada valor, por lo que siempre tienes una guía directa a la ubicación del valor.

b. Secundario: cuando la clave de búsqueda no coincide con la clave de orden. Si los registros no están ordenados, no existe clave de orden, por lo que el índice sólo podrá ser de este tipo. Los índices secundarios nunca pueden ser dispersos, siempre son densos.

Según el nivel:
a. Sin niveles.
b. Multinivel: para encontrar un valor hace falta recorrer distintos niveles en los que esté dividido el índice.

Según su agrupación:
a. Agrupado: cada registro del índice contiene el registro buscado.
b. No agrupado: cada registro del índice contiene un puntero que indica en qué bloque de memoria se encuentra el registro buscado.

Índices asociativos: se aplica una función de asociación (hash) sobre la clave de búsqueda para identificar el bloque donde se encuentra el registro buscado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Big Data aborda 3 problemáticas, las 3 V:

A

Volumen (cantidad de bytes), Velocidad
(tiempo de respuesta) y Variedad (de formatos). También se agrega una cuarta V, que es la veracidad, ya que es
un desafío verificar la confiabilidad de los datos (sobre todo cuando provienen de diversas fuentes y no hay
poco tiempo para validar).

Big data y los desafíos de las V
● Volumen
● Velocidad
● Variedad
● Veracidad

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

verdadero o falso de índice primario
1. Puede estar definido por más de un atributo.
2. Es un índice agrupado
3. Es solo denso
4. Los datos se encuentran ordenados por el mismo campo que es clave de búsqueda del índice
5. Los datos se encuentran dentro del índice

A
  1. Puede tener más de un atributo: Falso. En general, un índice primario se asocia con la clave primaria de una tabla y suele consistir en un solo atributo o campo que identifica de manera única cada fila. Aunque habría que ver qué pasa si la clave primaria es compuesta.
  2. Es un índice agrupado: Verdadero. Un índice primario generalmente se asocia con la clave primaria de una tabla, y por defecto, en muchos sistemas de gestión de bases de datos, el índice primario determina el orden físico de las filas en la tabla. Esto hace que sea un índice agrupado. La relación entre índice primario e índice agrupado radica en que, comúnmente, el índice primario se implementa como un índice agrupado. Esto significa que el orden físico de los registros en la tabla se establece de acuerdo con el orden de la clave primaria. Así, la clave primaria se convierte en un índice agrupado por defecto.

no es no agrupado pq Si un índice no agrupado se utilizara como índice primario, cada vez que se inserta, actualiza o elimina un registro, se requeriría reorganizar físicamente la tabla para mantener el orden del índice. Esto puede ser ineficiente y costoso en términos de rendimiento.

  1. Es solo denso: Falso. Un índice primario puede ser denso o disperso. Depende de si hay una entrada para cada valor (denso) o no (disperso). Un índice primario suele ser denso, pero hay situaciones en las que puede ser disperso. Esto puede ocurrir cuando solo se almacenan algunas de las claves de búsqueda y es posible encontrar registros mediante un acceso secuencial a una parte del archivo.
  2. Los datos se encuentran ordenados por el mismo campo que es clave de búsqueda del índice.
    Verdadero. En un índice primario, los datos en la tabla se encuentran físicamente ordenados según el campo que es la clave de búsqueda del índice. La clave de búsqueda generalmente coincide con la clave primaria de la tabla y determina el orden secuencial de las filas en la tabla.
  3. Los datos se encuentran dentro del índice. Falso. En un índice primario, las entradas del índice contienen información sobre la ubicación física de los datos en la tabla, pero los datos reales no están almacenados directamente dentro del índice. Los datos se mantienen en la tabla principal, y el índice actúa como una referencia para localizar rápidamente esos datos.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Diferenciar índice primario y secundario

A

el índice primario está estrechamente vinculado con la estructura del archivo secuencial, asociado con la clave primaria y puede ser tanto disperso como denso. Por otro lado, el índice secundario se usa para acceder a registros según una clave de búsqueda diferente a la clave de orden y siempre es denso, proporcionando acceso eficiente a los registros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

diferenciar organización de archivos ordenada y de montón

A

En un sistema de bases de datos, la organización de archivos ordenada y la organización de montón son dos formas diferentes de almacenar y acceder a los datos.

Organización de Archivos Ordenada:
Se almacenan registros en un orden específico basado en uno o más atributos.
Permite recuperación rápida utilizando técnicas de búsqueda y ordenación.
Reducción de la cantidad de bloques leídos para acceder a datos específicos.
Útil para consultas que requieren acceso eficiente a datos en un orden particular.

Organización de Montón:
Registros se almacenan sin un orden específico.
Facilita la inserción de nuevos registros sin reorganizar datos existentes.
Inserción rápida, pero la recuperación puede ser más lenta sin técnicas de ordenación.
Útil cuando la prioridad es la inserción eficiente de nuevos datos.

En resumen, la organización de archivos ordenada es útil para la recuperación rápida de datos y la reducción de la cantidad de bloques que se leen para acceder a los datos que se están buscando, mientras que la organización de montón es útil para la inserción rápida de nuevos registros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Responda que entiende por nulidad de datos; describa el concepto de un procedimiento almacenado; explique que es una vista y un trigger

A

Nulidad de Datos:
representa la ausencia de valor (valor desconocido o no aplicable). Aparece en aquellos campos de
un registro de la base de datos donde no haya un valor asignado.

Procedimiento Almacenado:
Un procedimiento almacenado es un conjunto de instrucciones SQL que se almacenan en el sistema de gestión de bases de datos (SGBD) para su posterior ejecución. Funciona como un script o programa que realiza tareas específicas, como consultas complejas, actualizaciones de datos o cualquier operación lógica. Los procedimientos almacenados se pueden invocar mediante un nombre y parámetros, lo que facilita la reutilización y la gestión eficiente de la lógica de base de datos.

Vista:
. Las vistas permiten simplificar la complejidad de las consultas al proporcionar una capa de abstracción sobre las tablas subyacentes. Se pueden utilizar para restringir el acceso a ciertos datos y para proporcionar una interfaz más sencilla y estructurada a los usuarios.

Trigger:
En bases de datos, un trigger (o desencadenador) es un conjunto de instrucciones asociadas a ciertos eventos que se activan automáticamente cuando esos eventos ocurren en la base de datos. Los triggers permiten automatizar acciones complejas, como la verificación de restricciones, el mantenimiento de la integridad referencial o la actualización de datos en cascada. Son útiles para imponer reglas empresariales y asegurar la consistencia de los datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

definir DDL, Dml, sql y sgbd

A

DDL: Lenguaje de Definición de Datos (en inglés, Data Definition Language). Es un conjunto de comandos que se utilizan para definir la estructura de una base de datos, como la creación, modificación o eliminación de tablas, índices, restricciones, etc.

DML: Lenguaje de Manipulación de Datos (en inglés, Data Manipulation Language). Es un conjunto de comandos que se utilizan para manipular los datos almacenados en una base de datos, como la inserción, actualización, eliminación y consulta de datos.

SQL: Lenguaje de Consulta Estructurado (en inglés, Structured Query Language). Es un lenguaje de programación utilizado para administrar y manipular bases de datos relacionales. SQL se utiliza para crear, modificar y eliminar bases de datos, así como para insertar, actualizar y eliminar datos en ellas.

SGBD: Sistema de Gestión de Bases de Datos (en inglés, Database Management System). Es un software que se utiliza para administrar y manipular bases de datos. Los SGBD proporcionan una interfaz para que los usuarios interactúen con la base de datos, así como herramientas para crear, modificar y eliminar la estructura de la base de datos y los datos almacenados en ella. Ej: MySQL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

con qué tipo de arquitectura alternativa a una base de datos relacional, intenta resolver el Big Data los problemas de las 3 Vs

A

Para afrontar los desafíos del Big Data, se ha creado la arquitectura NoSQL. A diferencia de las bases de datos relacionales, NoSQL es más flexible y escalable, adaptándose mejor a la diversidad de datos generados en Big Data. Incluye diferentes tipos de bases de datos, como las de documentos, columnas, grafos y clave-valor. Estas bases de datos están diseñadas para manejar grandes volúmenes de datos no estructurados de manera eficiente, siendo una alternativa adecuada para casos de uso en entornos de Big Data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Clave de búsqueda y clave de orden:

A

La clave de búsqueda es el campo (o conjunto de campos) que se utiliza comúnmente para buscar registros en una tabla.

La clave de orden es el campo (o conjunto de campos) por el cual se organiza físicamente la tabla para mejorar la eficiencia de las búsquedas y consultas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Explicar índice bitmap y el índice invertido:

A

Índice Bitmap:
Imagina que tienes una lista de personas y quieres saber quiénes son mayores de 25 años. Con un índice bitmap, en lugar de revisar toda la lista, tendrías un mapa de bits para cada edad posible, donde cada bit representa una persona. Al consultar el mapa de bits correspondiente a la edad de 25, por ejemplo, los bits encendidos te indicarían quiénes cumplen ese criterio, haciendo la búsqueda más rápida.

Índice Invertido:
Ahora, piensa en tener una biblioteca con muchos libros y quieres saber en qué libros aparece cierta palabra. Un índice invertido sería como tener una lista que relaciona cada palabra con la lista de libros que la contienen. En lugar de revisar todos los libros, solo miras la lista asociada a esa palabra para encontrar rápidamente en qué libros está presente.

En resumen, los índices bitmap se enfocan en acelerar consultas con múltiples valores de un atributo en una tabla, mientras que los índices invertidos se centran en mejorar la velocidad de las consultas relacionadas con la búsqueda de valores en un conjunto de documentos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Tipos de datos

A

Numéricos Exactos:
- smallint De -32 768 a 32 767 -2^15 a 2^15-1 2 bytes
tinyint De 0 a 255 2^0-1 a 2^8-1 1 byte

  • Entero pequeño (smallint): entero de 2 bytes con una precisión de 5 dígitos. Ejemplo de Dato: 42
    cantidad_productos SMALLINT
  • Entero grande (integer): entero de 4 bytes con una precisión de 10 dígitos. Ejemplo de Dato: 1234567890
    ingresos_mensuales INT
  • Entero superior (bigint): entero de 8 bytes con una precisión de 19 dígitos. Ejemplo de Dato: 9876543210987654321
    poblacion_ciudad BIGINT
  • Decimal (decimal o numeric): se utiliza para almacenar números decimales con una precisión y escala definidas. Es comúnmente usado para valores monetarios. Todos los valores en una columna DECIMAL tienen la misma precisión y escala. El rango de valores posibles está determinado por la precisión y la escala, con un límite amplio dependiendo del sistema de bases de datos específico. Ejemplo de declaración: DECIMAL(10, 2) para una precisión total de 10 dígitos, con 2 en la parte fraccionaria. La precisión máxima es de 31 dígitos. Ejemplo de Dato: 12345.67
    precio_producto DECIMAL(10, 2)

Numéricos Aproximados:
- Coma flotante de precisión simple (real): aproximación de 32 bits de un número real. Ejemplo de Dato: 31.14
temperatura_actual REAL

Coma flotante de doble precisión (double o float): aproximación de 64 bits de un número real. Ejemplo de Dato: 12345.6789
distancia_viaje DOUBLE PRECISION

Caracter
- Char: se reserva un espacio fijo para almacenar la cadena, independientemente de su longitud real.
Si declaras un campo CHAR(10) y almacenas “Hola” en él, se ocuparán 6 caracteres (4 letras más 6 espacios en blanco para alcanzar la longitud fija de 10).
Útil cuando se sabe que la longitud de los datos siempre será constante. Ejemplo de Dato: ‘Daniel’
nombre_cliente CHAR(10)

  • Varchar: la longitud de la cadena puede variar según su contenido.
    Si declaras un campo VARCHAR(10) y almacenas “Hola”, solo se ocuparán 4 caracteres en lugar de reservar espacio para los 10.
    Útil cuando la longitud de los datos puede variar y no se quiere desperdiciar espacio. Ejemplo de Dato: ‘Naranja’
    descripcion_producto VARCHAR(20)

Booleanos
Permite almacenar valores lógicos (verdadero o falso).
Ejemplo de Dato: true
es_cliente_nuevo BOOLEAN

Fecha/hora
- Date: permite almacenar valores de fecha. Ejemplo de Dato: ‘2023-11-25’
fecha_compra DATE

  • Time: permite almacenar valores de hora. Ejemplo de Dato: ‘14:30:00’
    hora_reunion TIME
  • Timestamp: permite almacenar valores de fecha y hora. Ejemplo de Dato: ‘2023-11-25 14:30:00’
    timestamp_evento TIMESTAMP

Objetos de gran tamaño
- BLOB (binary large object): Es un tipo de dato que almacena datos binarios, es decir, información que no necesariamente representa texto. Puede usarse para almacenar archivos como imágenes, audio, video, o cualquier tipo de datos binarios. Ideal cuando necesitas guardar archivos o información que no tiene una estructura de texto definida. Ejemplo de Dato: (contenido binario, por ejemplo, un archivo de imagen)
imagen_producto BLOB

  • CLOB (character large object): Es un tipo de dato que almacena datos de caracteres, es decir, información que tiene significado en términos de texto. Puede usarse para almacenar documentos de texto extensos, como artículos, descripciones largas, o cualquier información que sea esencialmente texto. Útil cuando necesitas almacenar grandes cantidades de texto, ya que está diseñado para gestionar caracteres y su codificación. Ejemplo de Dato: (contenido de texto, por ejemplo, un documento)
    documento_texto CLOB
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Índices Hash (asociativos)

A

Los índices hash funcionan como cajones virtuales donde se almacenan datos. Existen dos tipos: estáticos, donde asignas cajones de antemano para cada posible valor, y dinámicos, que ajustan la asignación de cajones según cambia el tamaño de la base de datos. La asignación se realiza mediante una función de asociación (hash function), que transforma la clave de búsqueda en una dirección de cajón. Esto agiliza las búsquedas, ya que puedes ir directamente al cajón que contiene la información que buscas. En resumen, los índices hash son eficientes para recuperar datos en bases de datos grandes, ya que organizan la información de manera que sea fácil de encontrar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Índice Agrupado vs. Índice No Agrupado &
Índice Primario vs. Índice Secundario:

A

Índice Agrupado: En un índice agrupado, los datos de la tabla se almacenan en el mismo orden que las claves del índice. Por lo general, hay un índice agrupado en una tabla, generalmente asociado con la clave primaria. La clave primaria define el orden físico de almacenamiento de los datos en la tabla.

Índice No Agrupado: En un índice no agrupado, los datos de la tabla y las claves del índice se almacenan por separado. La tabla tiene una estructura de almacenamiento físico diferente al orden del índice. Una tabla puede tener varios índices no agrupados.

Índice Primario: El índice primario es aquel que generalmente se asocia con la clave primaria de la tabla. Define el orden físico de almacenamiento de los datos en la tabla. En el caso de un índice agrupado, la clave primaria y el índice primario son esencialmente lo mismo.

Índice Secundario: Un índice secundario es aquel que no es la clave primaria y, por lo tanto, no define el orden físico de almacenamiento de los datos en la tabla. Se crea para mejorar la velocidad de búsqueda de columnas que no son la clave primaria.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

y el indice secundario es agrupado o no agrupado?

A

En un índice secundario agrupado, los datos de la tabla se organizan físicamente de acuerdo con las claves del índice secundario. Sin embargo, a diferencia de un índice primario agrupado, esto no significa que la tabla se organice completamente en ese orden. El índice secundario agrupado determina el orden de almacenamiento para las claves secundarias específicas, pero no necesariamente para toda la tabla.

Es diferente de un índice primario agrupado, donde la tabla se organiza completamente según las claves primarias y no solo para claves específicas.

Índice Secundario No Agrupado: En este caso, los datos de la tabla y las claves del índice se almacenan por separado, similar a un índice no agrupado. Este tipo de índice no afecta directamente al orden físico de almacenamiento de los datos en la tabla.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

La diferencia clave entre los tipos de datos numéricos aproximados (como REAL y DOUBLE PRECISION) y el tipo de dato DECIMAL

A

es la forma en que manejan la precisión y la escala.

Decimal (DECIMAL):
Se utiliza para representar números con una precisión y escala específicas.
Adecuado para aplicaciones donde la precisión decimal exacta es crucial, como en montos de dinero.

Coma Flotante de Precisión Simple (REAL) y Coma Flotante de Doble Precisión (DOUBLE PRECISION):
Se utilizan para representar números con aproximaciones en coma flotante.
Adecuados para aplicaciones científicas o de ingeniería donde la magnitud de los números es más importante que la precisión decimal exacta.

Ventaja: Permiten trabajar con una amplia variedad de números, desde muy pequeños hasta muy grandes.

Advertencia: Debido a la naturaleza de la representación, pueden haber pequeños errores de precisión en los cálculos, pero son útiles cuando la exactitud extrema no es crítica.

16
Q

índices multinivel

A

Los índices multinivel son jerarquías de estructuras de datos en bases de datos. Comienzan con un índice primario en la parte superior y se descomponen en niveles más bajos, reduciendo gradualmente el conjunto de datos. Esto mejora la eficiencia en las búsquedas pero puede complicar las actualizaciones y usar más espacio.

17
Q

Multinivel: árbol b y b +

A

Árbol B:
El Árbol B es una estructura jerárquica de índice utilizada en bases de datos, compuesta por nodos internos y hojas. Las claves de búsqueda pueden estar presentes tanto en los nodos internos como en las hojas. Este tipo de árbol es eficiente para operaciones de búsqueda en sistemas de almacenamiento en disco, ya que reduce gradualmente el conjunto de datos.

Árbol B+:
El Árbol B+ es una extensión del Árbol B, con la característica clave de tener claves de búsqueda solo en los nodos hoja. Además, los nodos hoja están conectados en una estructura de lista, facilitando operaciones secuenciales y por rango. Esto lo hace especialmente útil para aplicaciones que requieren búsquedas eficientes y operaciones de rango en sistemas de almacenamiento en disco.