Primer Parcial Flashcards

1
Q

Tipos de problemas. áreas principales del diseño de los SI

A

Problema infológico:
1. Definir el sist objeto
2. Definir las necesidades o usos de información para cada función o subsistema del sistema objeto.

Problema datalógico:
3. Definir la arquitectura del sist de datos que realizará el SI
4. Construcción de los diferentes componentes de la arquitectura del sistema de datos.
5. Definir implementación y operación del sistema de datos

A partir de estos 5 problemas es que se definen las áreas principales del diseño de los SI:
Análisis y diseño del sistema objeto.
Análisis infológico ( relacionado con la utilidad de datos externos).
Arquitectura del sistema de datos.
Construcción del sistema de datos.
Implementación y operación del sistema de datos.

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

Sistemas gestores de bases de datos (SGBD)
obj princ

A

El objetivo principal de un SGBD es proporcionar una forma de almacenar y recuperar la información de una base de datos de manera que sea tanto práctica como eficiente.

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

Sistemas gestores de bases de datos (SGBD)
SERVICIOS

A

Transacciones: Una transacción es un conjunto de operaciones que lleva a cabo una única función lógica en una aplicación de bases de datos. Cada transacción es una unidad de atomicidad y consistencia. Por tanto, se exige que, si la base de datos era consistente cuando la transacción comenzó, debe ser consistente cuando la transacción term1ine con éxito. El SGBD garantiza que la base de datos quede en un estado consistente (correcto) a pesar de los fallos del sistema, y que la ejecución concurrente de transacciones transcurra sin conflictos.

Concurrencia: control de la interacción entre las transacciones concurrentes (2 o más peticiones sobre un mismo objeto) para garantizar la consistencia de la base de datos.

Acceso: a partir de la gestión de usuarios y contraseñas, se diferencia a los usuarios en cuanto al tipo de acceso que se les permite a diferentes valores de los datos de la base de datos. Estas diferenciaciones se expresan en términos de autorización, las cuales pueden ser de lectura, inserción, actualización y eliminación de los datos.

Restricciones: un SGBD dispone de elementos que permiten asegurar restricciones en los datos que se carguen en la base de datos. Las restricciones pueden ser:
De dominio: Se debe asociar un dominio de valores posibles a cada atributo. Si defines un atributo como “número de páginas” y estableces un dominio que solo permite valores entre 1 y 1000, eso sería una restricción de dominio. Entonces, no podrías ingresar, por ejemplo, 5000 páginas para un libro. Esta restricción ayuda a mantener la integridad y coherencia de los datos en la base de datos.
Integridad referencial: La integridad referencial se trata de mantener la consistencia entre las relaciones de una base de datos. Imagina que tienes dos tablas, una para autores y otra para libros. Si un autor tiene asignado un número único, esa relación debe mantenerse en la tabla de libros cuando se especifica el autor de un libro. Si intentas eliminar un autor que aún tiene libros asociados, estarías violando la integridad referencial. El SGBD normalmente rechazaría esa acción para evitar inconsistencias en los datos.

Archivos: gestiona la asignación de espacio de almacenamiento de disco y las estructuras de datos usadas para representar la información almacenada en el disco.

Memoria intermedia: es responsable de traer los datos desde el disco de almacenamiento a la memoria principal y decidir los datos a guardar en la memoria caché. Es una parte fundamental de los sistemas de bases de datos, ya que permite que la ésta maneje tamaños de datos que son mucho mayores que el tamaño de la memoria principal.

Optimizar consultas: Este servicio incluye el análisis y la ejecución eficiente de las consultas, la gestión de índices para acelerar la recuperación de datos y la planificación de cómo ejecutar operaciones para minimizar el tiempo de procesamiento.

El hecho de que se implemente un SGBD no quita la posibilidad de que exista un software aplicativo por cada proceso de la organización para cargar los datos en la base.

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

Sistemas gestores de bases de datos (SGBD)
Estructura física

A

El SGBD implementa varias estructuras de datos como parte de la implementación física del sistema:

  • Archivos de datos: lugar donde se almacena la propia base de datos. Contienen los datos reales que los usuarios consultan y manipulan.
  • Diccionario de datos: es como un “libro de reglas” que le dice al sistema cómo deben estructurarse y organizarse los datos. Antes de guardar cualquier dato en la base de datos, es necesario seguir ciertas reglas, como el tipo de dato (número, texto, fecha) y la longitud del dato (cuántos caracteres, por ejemplo). El diccionario de datos es como un archivo especial o una tabla dentro del SGBD que guarda estas reglas, también llamadas metadatos. Antes de que cualquier operación real ocurra en la base de datos, el SGBD consulta este diccionario para asegurarse de que todo esté en orden según las reglas establecidas. Además, se mantiene bajo control del SGBD para garantizar la integridad y consistencia de la base de datos.
  • Índices: Pueden proporcionar un acceso rápido a los elementos de datos. Facilitan punteros a los elementos de datos que tienen un valor concreto.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Administrador de bases de datos (DBA)
FUNCIONES

A

Un administrador de bases de datos es un profesional encargado de gestionar y asegurar el funcionamiento adecuado de las bases de datos en una organización.

Las funciones del DBA incluyen:
- Definición del esquema: crea el esquema original de la base de datos mediante la ejecución de un conjunto de instrucciones de definición de datos en el DDL.

  • Definición de la estructura y del método de acceso: Decide cómo se organizarán los datos y cómo se accederá a ellos.
  • Modificación del esquema y de la organización física: Ajusta la estructura de la base de datos para adaptarse a cambios en la organización o mejorar el rendimiento. Lo hace mediante herramientas que facilitan escribir el lenguaje de definición de datos (DDL).
  • Concesión de autorización para el acceso a los datos: Controla quién puede acceder a qué partes de la base de datos.
  • Mantenimiento rutinario:
    A. Back up periódico para impedir la pérdida de datos en caso de desastres.

B. Asegurarse de que se dispone de suficiente espacio libre en disco para las operaciones normales y aumentar el espacio en disco según sea necesario.

C. Supervisar los trabajos que se ejecuten en la base de datos y asegurarse de que el rendimiento no se degrade debido a que algún usuario haya remitido tareas muy costosas.

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

Los niveles de Abstracción de los datos

A
  1. Nivel conceptual (de vistas, externo): nivel más elevado de abstracción. Sólo describe parte de la base de datos. Si bien es el menos complejo, aún queda algo de complejidad debido a la variedad de información almacenada en las grandes bases de datos. Muchos usuarios del sistema no necesitan toda esta información; en su lugar sólo necesitan tener acceso a una parte de la base de datos. El nivel conceptual existe para simplificar su interacción con el sistema. Éste puede proporcionar muchas vistas para la misma base de datos.
  • Nivel lógico (esquema): describe qué datos se almacenan en la base de datos y qué relaciones existen entre esos datos. Este nivel, por tanto, describe toda la base de datos en términos de un número pequeño de estructuras relativamente simples. Aunque la implementación de esas estructuras simples en el nivel lógico puede involucrar estructuras complejas del nivel físico, los usuarios del nivel lógico no necesitan preocuparse de esta complejidad. Los DBA, que deben decidir la información que se guarda en la base de datos, usan el nivel de abstracción lógico.

Nivel físico (interno): El nivel más bajo de abstracción describe cómo se almacenan realmente los datos. Describe en detalle las estructuras de datos complejas de bajo nivel.

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

Ciclo de Vida de un Sistema de Base de Datos: Diseño del Sistema

A

Dentro del ciclo de vida de un sistema de base de datos, en la etapa de diseño se definen cómo se construirán y funcionarán los distintos niveles de abstracción:

Diseño conceptual: En esta etapa, se elige el modelo de datos adecuado y se traducen los requisitos del sistema en un esquema conceptual de la base de datos.

Diseño lógico: Relacionar el esquema conceptual con el modelo de implementación de los datos del sistema de base de datos que se va a usar (una representación lógica más específica y cercana a la implementación real).

Diseño físico: se elige un esquema específico para almacenar los datos y se definen detalles técnicos prácticos, como la organización de archivos. La meta es configurar la base de datos para un rendimiento eficiente y garantizar que funcione de manera óptima en el entorno real del sistema, abordando consideraciones prácticas y asegurando la accesibilidad y gestión efectiva de los datos.

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

Arquitectura de las bases de datos

A

La arquitectura de los sistemas de bases de datos se ve muy influenciada por el sistema informático subyacente sobre el que se ejecuta el sistema de bases de datos. Los sistemas de bases de datos pueden estar:

Centralizados. donde toda la gestión ocurre en un solo lugar

Tipo cliente-servidor: donde los usuarios se conectan a través de una red a sistemas remotos de bases de datos

Paralelos. con procesamiento simultáneo.

Distribuidos: extendiéndose por varias máquinas en ubicaciones geográficamente separadas.

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

Modelo Entidad-Relación (E-R)

A

El modelo Entidad-Relación (E-R) es una representación que permite formalizar cuáles son los datos, y las relaciones entre éstos, que debe guardar el SI.

Es una técnica de diseño de base de datos de tipo arriba a abajo que comienza identificando los datos más importantes, denominados entidades, y las relaciones entre los datos que deben presentarse en el modelo. Después se añaden más detalles, como la información que se requiere almacenar acerca de las entidades y relaciones, lo que se denomina atributos y sobre cualesquiera restricciones que haya que aplicar a las entidades, relaciones y atributos.

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

Entidad

A

cosa, persona o hecho del mundo real que es distinguible de otros objetos (es decir, algo que existe y que puede ser representado) sobre el cual el sistema debe guardar información.

Para cada entidad es necesario definir atributos, ocurrencias y clave primaria.

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

Ocurrencia o instancia de la entidad

A

Se trata de un objeto identificable de forma unívoca dentro de un tipo de entidad. Se da cuando cuando los atributos de una entidad asumen valores específicos, se crea una instancia u ocurrencia única de esa entidad. Por ejemplo, si tenemos una entidad “Persona” con atributos como nombre, edad y dirección, una ocurrencia de esa entidad podría ser una persona específica con un nombre particular, una edad específica y una dirección única.

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

Atributos

A

Un atributo es toda aquella característica o propiedad que se desee registrar de una ocurrencia de una entidad. No se trata de representar todas las características de esa entidad, sino solamente las que son relevantes, es decir, las propiedades que representan a la entidad para esa organización.
Los atributos contienen valores que describen cada ocurrencia. Lo que se guarda en una base de datos son los valores posibles que pueden tener cada una de esas instancias. Cada atributo está asociado a un dominio, es decir, un conjunto de valores permitidos para uno o más atributos. El dominio es único y define los valores potenciales que un atributo puede tener.

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

Claves

A

superclave: conjunto de uno o más atributos de una entidad que, cuando toman un valor, identifican unívocamente una ocurrencia de una entidad.

clave candidata: conjunto mínimo de atributos cuyos valores identifican de forma unívoca cada instancia de una entidad. Es aquella superclave a la que, si se elimina cualquier atributo del conjunto, deja de ser superclave.

clave primaria (PK): es una clave candidata (por ende, es superclave) a la que se la elige como el principal criterio de identificación. Es la clave candidata que ha elegido el diseñador de la base de datos como medio principal para la identificación de las tuplas de una relación. Obligatorias

claves alternas: son todas las claves candidatas no elegidas como clave primaria. No necesariamente son obligatorias.

claves subrogadas: parecen cuando, en ciertos casos, no es posible determinar una superclave, por lo que se inventa un atributo autogenerado para identificar unívocamente una ocurrencia de un evento. Es una clave inventada para ser primaria. Solamente se considera subrogada si no existía como atributo del sistema objeto al momento del diseño.

clave foránea (FK): es una clave de una entidad que también es clave primaria de otra entidad.

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

Relación

A

Las relaciones se definen por las claves foráneas (son la manera mecánica de dar existencia a una relación). Se clasifican según:

Grado: número de entidades que participan en la relación.
- Recursiva: 1 entidad
- Binaria: 2 entidades
- Ternaria: 3 entidades
- Compleja: más de 3 entidades

Cardinalidad: especifica la cantidad de ocurrencias que se conectan a ambos extremos de una relación.
- 1 a 1: en ambos lados de la relación el máximo de ocurrencias es 1.
- 1 a M: una ocurrencia de la entidad se puede relacionar con muchas de otra.
- M a M: en ambos lados de la relación el máximo de ocurrencias posibles es igual a muchos.

Dependencia:
- Identidad: entidad fuerte se relaciona con entidad débil. La registración de una instancia de la entidad fuerte obliga a registrar una ocurrencia en la entidad débil.

  • No identidad: Ocurre cuando dos entidades fuertes están relacionadas, pero ninguna depende directamente de la otra. Una puede ser la principal (primaria) y la otra referenciada. Por ejemplo, una entidad de “Cliente” (primaria) puede tener una relación con una entidad de “Pedido” (referenciada), pero un pedido no es obligatorio para que exista un cliente.
  • Generalización/especialización: se da cuando una entidad contiene a la otra, es decir, una es subconjunto de la otra. Las entidades tienen la misma PK.

Integridad referencial: acciones que realiza la base de datos para evitar que, ante la inserción, modificación o eliminación de un registro, no queden referencias que no sean integras.

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

Restricciones

A

Las restricciones pueden estar dadas por:

  • Dominio: Limita los valores que pueden tener los atributos. Por ejemplo, si tienes un atributo “Edad”, podrías limitar el dominio para que solo acepte valores entre 1 y 100.
  • Obligatoriedad: La obligatoriedad asegura que en una base de datos cada elemento debe tener un valor asignado para todos los atributos que son marcados como necesarios. Es como llenar un formulario donde ciertos campos deben ser completados; no se permite dejarlos en blanco. Esto garantiza que la información sea completa y útil.
  • Unicidad. Asegura que no haya duplicados. Puede ser aplicado a un atributo o a una combinación de atributos. Por ejemplo, la “Clave Primaria” garantiza que no haya duplicados en esa clave.
  • Clave primaria
  • Clave alterna
  • Relaciones entre atributos: Asegura que existan ciertas relaciones lógicas entre los valores de diferentes atributos. Por ejemplo, si tienes un atributo “Fecha de Nacimiento” y otro “Edad”, debería haber una relación lógica entre ellos para que la realidad no sea distorsionada.
  • Cardinalidad máxima y mínima. Define cuántas ocurrencias pueden estar relacionadas con otra ocurrencia en una relación.
  • Integridad referencial: Establece reglas sobre cómo se pueden realizar las operaciones (inserción, modificación, eliminación) en las relaciones entre ocurrencias.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Transformar modelo en esquema
El modelo E-R no es la representación formal que se utilizará para diseñar el futuro esquema de la base de datos porque:

A

Las entidades débiles no llevan PK, sino discriminante.
No se formalizan las FK.
Existen relaciones M a M.
Se permiten atributos multivalorados y entidades débiles.

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

Normalización

A

La normalización es necesaria para evitar propiedades no deseables:
- Repetición de la información.
- Imposibilidad de representar determinada información.

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

Anomalías de actualización

A

Las relaciones con datos redundantes pueden presentar problemas que se denominan anomalías de actualización, las cuales se clasifican en:

Anomalías de inserción:
- Insertar una ocurrencia de entidad que deje en un estado oncoherente a la base de datos
- Insertar una ocurrencia para la cual aún no existan datos de su PK, lo cual violaría la integridad referencia.

Anomalías de borrado:
- Si la ocurrencia de una entidad posee atributos que representan información que es independiente de la ocurrencia, el borrado de la misma haría que se pierdan datos que no deberían ser eliminados.

Anomalías de modificación:
- La modificación de un valor de un atributo podría requerir modificar todos aquellos atributos en donde se repita dicho valor. Si se omite hacerlo en alguno de los casos, la base de datos quedaría en un estado incoherente.

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

Primera forma normal (1FN)

A

1FN debe cumplir 3 condiciones:
1 dato por celda
Cada tabla tener definida su clave primaria.
No contener grupos repetitivos.

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

Segunda forma normal (2FN)

A

2FN debe cumplir dos condiciones:
Encontrarse en 1FN.
No tener dependencias funcionales parciales respecto de la clave primaria. Es decir, todos los atributos de una tabla deben pertenecer a una misma clave primaria completa.

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

Tercera forma normal (3FN)

A

Para que una entidad se encuentre en 3FN debe cumplir dos condiciones:
Encontrarse en 2FN.
No existir dependencias funcionales transitivas, que es cuando un atributo no depende de nuestra clave primaria pero su clave primaria se encuentra en la tabla. Este se debe sacar fuera en otra tabla.

21
Q

Criterios de buen diseño

A

Representar información:
- Evitar valores indefinidos
- Definir nivel de desagregación
- Capacidad de generar información

Evitar redundancia:
- Reducir espacio de almacenamiento.
- Menor costo de actualización.
- Menor probabilidad de generar inconsistencias.

Asegurar consistencia:
Añadir restricciones al modelo tiene un costo, el cual tiene que ver con la validación de los datos que se ingresan. Si los costos de asegurar la consistencia son mayores que los beneficios, se debe tomar la decisión profesional de no validar esa restricción y compensar esa falta de alguna otra manera.

Claridad conceptual:
Tiene que ver con la semántica del modelo: debe ser comprensible y fácil de entender. Se debe establecer un criterio para nombrar los atributos y seguirlos durante todo el desarrollo del mismo. Esto ayuda a que el usuario sepa que existen ciertos atributos sin necesidad de ir a buscarlos.

22
Q

Esquema de las bases de datos

A

El diseño general de la estructura base de datos se denomina el esquema de la base de datos. Un esquema de base de datos se especifica con un conjunto de definiciones que se expresan usando un lenguaje de definición de
datos (DDL).
El diseño del esquema de la base de datos depende del software SGBD que se va a usar.

23
Q

Un esquema posee los siguientes elementos:

A

Tablas.
Tipos de datos.
Integridad.
Índices.
Vistas.
Stored procedures.
Triggers.
Seguridad (usuarios, permisos).

24
Q

Tablas

A

Al crear una tabla se deben añadir sus atributos, representados en columnas. Para cada atributo se debe especificar:
Nombre.
Tipo de dato, lo que define el dominio de los valores que puede asumir el atributo.
Longitud.
Si se permite valor null, es decir un valor vacío. De permitirse, el dato será no obligatorio.
Si toman valor predeterminado.

25
Q

Tipos de dato

A

Numéricos:
a. Exactos:
a.1) Entero pequeño (smallint): entero de dos bytes con una precisión de 5 dígitos.
a.2) Entero grande (integer): entero de cuatro bytes con una precisión de 10 dígitos.
a.3) Entero superior (bigint): entero de ocho bytes con una precisión de 19 dígitos.
a.4) Decimal (decimal o numeric): número decimal empaquetado con una coma decimal implícita. La posición de la coma decimal la determinan la precisión y la escala del número.

b. Aproximados:
b.1) Coma flotante de precisión simple (real): aproximación de 32 bits de un número real.
b.2) Coma flotante de doble precisión (double o float): aproximación de 64 bits de un número real.

Carácter:
a. Char: permite almacenar cadenas de texto de longitud fija.
b. Varchar: permite almacenar cadenas de texto de longitud variable.

Booleanos: Permite almacenar valores lógicos (verdadero o falso).

Fecha/hora:
a. Date: permite almacenar valores de fecha.
b. Time: permite almacenar valores de hora.
c. Timestamp: permite almacenar valores de fecha y hora

Objetos de gran tamaño:
a. BLOB (binary large object): almacena basado en binario, donde los bytes no representan caracteres (sirve para, por ej.: video, audio, etc.).
b. CLOB (character large object): almacena basado en caracteres, donde los bytes tienen sentido representándose como tales (sirve para, por ej.: documentos de texto).

26
Q

Datos requeridos (not null)

A

Null 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. La forma especial de tratarlos puede generar problemas. En las consultas a la base de datos, por ejemplo, si no se especifica en la misma que traiga datos null, la consulta no los va a considerar.

Las PK, por definición, no admiten null ya que, al permitir identificar unívocamente a un registro, son datos obligatorios. Además, la PK valida que no exista otro registro con el mismo valor.

Las claves alternativas son tratadas en el esquema como UNIQUE: pese a no ser PK, esta característica obliga a esos atributos a cumplir con el criterio de unicidad y, así, no permitir que los mismos posean valores duplicados en diferentes registros de una misma entidad.

27
Q

Integridad referencial

A

Cuando se define una FK, se indica qué se debe hacer cuando se realiza alguna de las siguientes operaciones:

Inserción (INSERT): para insertar un registro en una tabla con FK, la base de datos validará que el valor insertado en el atributo que es FK exista en la tabla a la que hace referencia.

Actualización (UPDATE) y borrado (DELETE): para la actualización y borrado de registros con atributos que son FK se debe decidir qué acción tomar:
a. Restringir (RESTRICT): restringe la modificación o borrado de los datos en la tabla a la que referencia el atributo que es FK.
b. Cascada (CASCADE): la actualización de los datos en la tabla a la que hace referencia el atributo que es FK actualiza los registros en la tabla con el nuevo valor de dicho atributo. En el caso del borrado, se borran los registros que tenían ese valor.
c. Fijarlos como nulos (SET NULL): igual que en el caso anterior, sólo que los atributos referenciados por la FK son seteados como null cuando se actualizan o borran los registros de la tabla a la que referencian.

28
Q

Vistas

A

Las vistas son consultas a la base de datos cuya estructura (es decir, la consulta) se guarda en el diccionario de datos. Es un medio para ofrecer al usuario un modelo personalizado de la base de datos. Las vistas pueden ocultar datos que éste no necesite ver. La capacidad de las vistas de ocultar datos sirve tanto para simplificar el uso del sistema como para mejorar la seguridad.

29
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.

30
Q

Clasificación de índices

A
  1. Índices ordenados: están basados en una disposición ordenada de los valores.

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.
– También se llama índice con agrupación.
– La clave de búsqueda de un índice primario suele ser la
clave primaria, aunque no necesariamente.
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.

  1. Í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.
31
Q

Índices ordenados

A

Cada estructura de índice está asociada con una clave de búsqueda concreta. Los registros en el archivo indexado pueden estar a su vez almacenados siguiendo un orden, semejante a como los libros están ordenados en una biblioteca por algún atributo como el número decimal Dewey. Un archivo puede tener varios índices según diferentes claves de búsqueda. Si el archivo que
contiene los registros está ordenado secuencialmente, el índice cuya clave de búsqueda especifica el orden secuencial del archivo es el índice con agrupación (clustering index).
En la figura se muestra un archivo secuencial de los registros cuenta tomados del ejemplo bancario. los registros están almacenados según el orden de la clave de búsqueda: nombre_sucursal.

Estos archivos con índice primario según una clave de búsqueda se llaman archivos secuenciales indexados. Representan uno de los esquemas de índices más antiguos usados por los sistemas de bases de datos. Se emplean en aquellas aplicaciones que demandan un procesamiento secuencial del archivo completo así como un acceso directo a sus registros.

32
Q

Índices densos y dispersos

A

Un registro índice o entrada del índice consiste en un valor de la clave de búsqueda y punteros a uno o más registros con ese valor de la clave de búsqueda. El puntero a un registro consiste en el identificador de un bloque de disco y un desplazamiento en el bloque de disco para identificar el registro dentro del bloque. Hay dos clases de índices ordenados que se pueden emplear:
* Índice denso. Aparece un registro índice por cada valor de la clave de búsqueda en el archivo. El registro índice contiene el valor de la clave y un puntero al primer registro con ese valor de la clave de búsqueda. El resto de registros con el mismo valor de la clave de búsqueda se almacenan consecutivamente después del primer registro, dado que, ya que el índice es primario, los registros se ordenan sobre la misma clave de búsqueda. Las implementaciones de índices densos pueden almacenar una lista de punteros a todos los registros con el mismo valor de la clave de búsqueda; esto no es esencial para los índices primarios.

  • Índice disperso. Sólo se crea un registro índice para algunos de los valores. Al igual que en los índices densos, cada registro índice contiene un valor de la clave de búsqueda y un puntero al primer registro con ese valor de la clave. Para localizar un registro se busca la entrada del índice con el valor más grande que sea menor o igual que el valor que se está buscando. Se empieza por el registro apuntado por esa entrada del índice y se continúa con los punteros del archivo hasta encontrar el registro deseado.
33
Q

Índices secundarios

A

Los índices secundarios deben ser densos, con una entrada en el índice por cada valor de la clave de búsqueda, y un puntero a cada registro del archivo. Un índice primario puede ser disperso, almacenando sólo algunos de los valores de la clave de búsqueda, ya que siempre es posible encontrar registros con valores de la clave de búsqueda intermedios mediante un acceso secuencial a parte del archivo. Si un índice secundario almacena sólo algunos de los valores de la clave de búsqueda, los registros con los valores de la clave de búsqueda intermedios pueden estar en cualquier lugar del archivo y, en general, no se pueden encontrar sin explorar el archivo completo. Un índice secundario sobre una clave candidata es como un índice denso primario, excepto en que los registros apuntados por los sucesivos valores del índice no están almacenados secuencialmente. Si la clave de búsqueda de un índice primario no es una clave candidata, es suficiente si el valor de cada entrada en el índice apunta al primer registro con ese valor en la clave de búsqueda, ya que los otros registros podrían ser alcanzados por una búsqueda secuencial del archivo. Por tanto, un índice secundario debe contener punteros a todos los registros. Se puede usar un nivel adicional de indirección para implementar los índices secundarios sobre claves de búsqueda que no sean claves candidatas. Los punteros en estos índices secundarios no apuntan directamente al archivo. En vez de eso, cada puntero apunta a un cajón que contiene punteros al archivo. Se muestra la estructura del archivo cuenta, con un índice secundario que emplea un nivel de indirección adicional, y teniendo como clave de búsqueda el saldo

34
Q

Índices multinivel

A

Incluso si se usan índices dispersos, el propio índice podría ser demasiado grande para un procesamiento eficiente. En la práctica no es excesivo tener un archivo con 100.000 registros, con 10 registros almacenados en cada bloque. Si tenemos un registro índice por cada bloque, el índice tendrá 10.000 registros. Como los registros índices son más pequeños que los registros de datos, podemos suponer que caben 100 registros índices en un bloque. Por tanto, el índice ocuparía 100 bloques. Estos índices de mayor tamaño se almacenan como archivos secuenciales en disco. Si un índice es lo bastante pequeño como para guardarlo en la memoria principal, el tiempo de búsqueda para encontrar una entrada será breve. Sin embargo, si el índice es tan grande que se debe guardar en disco, buscar una entrada implicará leer varios bloques de disco.
Para resolver este problema el índice se trata como si fuese un archivo secuencial y se construye un índice disperso sobre el índice con agrupación, como se muestra.

35
Q

Índice multinivel: Árbol B+

A

Los índices de árbol B+ son una alternativa a los archivos secuenciales indexados.
Inconvenientes de los archivos secuenciales indexados: el rendimiento baja cuando el archivo crece, dado que se crean muchos bloques de desbordamiento. Es necesario reorganizar periódicamente todo el archivo.
Ventajas de los archivos de índice de árbol B+: se reorganiza automáticamente por sí mismo con pequeños cambios locales, a pesar de las inserciones y los borrados. No es necesario reorganizar todo el archivo para mantener el rendimiento.
Inconvenientes de los árboles B+: inserciones extras, sobrecarga de borrados y costes de espacio.
Las ventajas de los árboles B+ superan a los inconvenientes, por lo que se emplean ampliamente.

Un árbol B+ es un árbol con raíz que satisface las siguientes propiedades:
Todos los caminos, desde la raíz a las hojas, tienen la misma longitud
Cada nodo que no es ni raíz ni hoja, tiene entre [n/2] y n hijos.
Un nodo hoja tiene entre [(n–1)/2] y n–1 valores
Casos especiales:
 Si la raíz no es una hoja, tiene al menos 2 hijos.
 Si la raíz es una hoja (es decir, no hay otros nodos en el árbol), puede tener entre 0 y (n–1) valores.

36
Q

Árbol B

A

Elimina redundancia
Los nodos internos tienen 2 punteros por cada clave. Uno apunta al cajon de la clave, y el otro apunta al siguiente nodo hijo.

37
Q

Indices Agrupados y no agrupados

A

Los índices agrupados están ordenados igual que la tabla, son dispersos. Cada nodo hoja tiene los datos de la tabla
Los nodos hoja de los índices no agrupados tiene punteros a los datos

38
Q

Índices bitmap

A

Los índices bitmap son un tipo de índices especializado diseñado para la consulta sencilla sobre varias claves, aunque cada índice bitmap se construya para una única clave.
Para que se utilicen los índices bitmap, los registros de la relación deben estar numerados secuencialmente comenzando, por ejemplo, por 0. Dado un número n debe ser fácil recuperar el registro con número n. Esto resulta especialmente fácil de conseguir si los registros son de tamaño fijo y están asignados a bloques consecutivos de un archivo. El número de registro se puede traducir fácilmente en un número de bloque y en un número que identifica el registro dentro de ese bloque.
Un índice bitmap sobre el atributo A de la relación r consiste en un mapa de bits para cada valor que pueda tomar A. Cada mapa de bits tiene tantos bits como el número de registros de la relación. El i-ésimo bit del mapa de bits para el valor vj se define como 1 si el registro con número i tiene el valor vj para el atributo A. El resto de los bits del mapa de bits se define como 0.
En su forma más simple, un índice de mapa de bits sobre un
atributo tiene una mapa de bits por cada valor del atributo
El mapa de bits tiene tantos bits como registros
En un mapa de bits para el valor v, el bit para un registro es 1 si el registro tiene el valor v para el atributo, de lo contrario es 0

39
Q

Índices Hash (asociativos)

A

Los índices asociativos están basados en una distribución uniforme de los valores a través de una serie de cajones (buckets). El valor asignado a cada cajón está determinado por una función, llamada función de asociación (hash function), la cual se aplica sobre la clave de búsqueda.
Un cajón indica una unidad de almacenamiento que puede guardar uno o más registros. Un cajón es normalmente un bloque de disco, aunque también se podría elegir de tamaño mayor o menor que un bloque de disco.
Existen dos tipos de asociaciones posibles:
Asociación estática: el conjunto de direcciones posibles de los cajones es fijo. Se crea un cajón para cada valor de la función de asociación. Así, para realizar una búsqueda con el valor Ki de la clave de búsqueda, basta con calcular fKi y buscar luego el cajón con esa dirección. Esto presenta problemas cuando las bases de datos aumentan de tamaño.
Asociación dinámica: modifica dinámicamente la función de asociación para adaptarse al aumento o disminución de tamaño de la base de datos, dividiendo y fusionando los cajones en cada caso. No se crea un cajón para cada valor de la función de asociación; en vez de eso, se crean cajones bajo demanda, a medida que se insertan registros en el archivo. Así, para localizar el cajón que contiene el valor de la clave de búsqueda Ki, el sistema toma los primeros i bits más significativos de fKi, busca la entrada de la tabla correspondiente a esa cadena de bits, y sigue el puntero del cajón de esa entrada de la tabla.

40
Q

Indice invertido

A

índice invertido, que relaciona cada palabra clave Ci con el conjunto Si de (los identificadores de) los documentos que contienen Ci. Para dar soporte a la clasificación por relevancia basada en la proximidad de las palabras clave estos índices pueden proporcionar no sólo los identificadores de los documentos, sino también una lista de las ubicaciones dentro del documento en las que aparecen las palabras clave. Estos índices hay que almacenarlos en disco, y cada lista Si puede abarcar varias páginas de disco. Para minimizar el número de operaciones de E/S para la recuperación de cada lista Si, el sistema intentará guardar cada lista Si en un conjunto de páginas consecutivas del disco, de modo que toda la lista se pueda recuperar con una sola búsqueda en el disco. Se pueden usar índices de árbol B+ para asignar cada palabra clave Ci a su lista invertida asociada

41
Q

Indices sobre viarias claves

A

Una estrategia más eficiente para este caso es crear y utilizar un índice con una clave de búsqueda (nombre_
sucursal, saldo)—esto es, la clave de búsqueda consistente en el nombre de la sucursal concatenado
con el saldo de la cuenta. Esa clave de búsqueda, que contiene más de un atributo, se denomina a veces
clave de búsqueda compuesta. La estructura del índice es la misma que para cualquier otro índice, con
la única diferencia de que la clave de búsqueda no es un simple atributo sino una lista de atributos

42
Q

Indices de cobertura

A

Los índices de cobertura almacenan los valores de algunos atributos (distintos de los atributos de la
clave de búsqueda) junto con los punteros a los registros. El almacenamiento de valores de atributo
adicionales es útil en los índices secundarios, ya que permite responder algunas consultas utilizando
únicamente el índice, sin ni siquiera buscar en los registros de datos

43
Q

Tipos de datos

A

Numéricos Exactos:
- 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_verdadero BOOLEAN

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

  • Time: permite almacenar valores de hora. Ejemplo de Dato: ‘14:30:00’
    hora_time TIME
  • Timestamp: permite almacenar valores de fecha y hora. Ejemplo de Dato: ‘2023-11-25 14:30:00’
    fecha_hora_timestamp 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)
datos_blob 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)
    texto_clob CLOB
44
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.

45
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.

46
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
47
Q

verdadero o falso de índice primario
1 puede tener más de un atributo
2 es un índice agrupado
3 es solo denso
4 se ordena por clave de búsqueda
5. índice contiene el dato

A

1 puede tener más de un atributo. Verdadero. Esta para mi está ahí porque un índice contiene registros con clave de búsqueda y puntero, y la clave de búsqueda puede contener uno o más atributos

2 es un índice agrupado. Verdadero: Un índice primario es un índice agrupado, lo que significa que los registros de datos se almacenan en el mismo orden que las claves de búsqueda del índice.

3 es solo denso Falso. Puede ser disperso o denso

4 se ordena por clave de búsqueda. Verdadero. 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.

  1. Los datos se encuentran dentro del índice. Falso: Un índice primario no contiene los datos completos de la tabla, sino que contiene solo las claves de búsqueda y los punteros a los registros de datos correspondientes.
48
Q

Diferenciar índice primario y secundario

A

La principal diferencia entre un índice primario y un índice secundario es que el primero se basa en una clave de búsqueda única y siempre es denso, mientras que el segundo se utiliza cuando la clave de búsqueda no coincide con la clave de orden (por ejemplo, si buscas registros por el nombre pero la tabla está ordenada por la fecha de creación) y puede ser disperso o denso.

49
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.

50
Q

Que arquitectura alternativa además de la base de datos relacional se usa para el big data

A

Una arquitectura alternativa a la base de datos relacional que se utiliza comúnmente para el big data es la arquitectura NoSQL (Not Only SQL). Los sistemas NoSQL se han desarrollado para manejar grandes volúmenes de datos no estructurados o semiestructurados, como los datos generados por las redes sociales, los sensores, los dispositivos móviles y otros dispositivos conectados a Internet. A diferencia de las bases de datos relacionales, que utilizan tablas y relaciones para almacenar y recuperar datos, los sistemas NoSQL utilizan modelos de datos no relacionales, como documentos, grafos o columnas. Estos sistemas son altamente escalables y pueden manejar grandes volúmenes de datos con alta velocidad y disponibilidad. Algunos ejemplos de sistemas NoSQL populares son MongoDB, Cassandra y HBase.

51
Q

Explicar índice bitmap y el índice invertido

A

Un índice bitmap es un tipo de índice que se utiliza para acelerar las consultas que involucran múltiples valores de un atributo. En un índice bitmap, se crea un mapa de bits para cada valor posible del atributo. Cada mapa de bits tiene tantos bits como registros en la tabla. De esta manera, se puede realizar una consulta sobre un valor de atributo específico simplemente consultando el mapa de bits correspondiente, en lugar de buscar en toda la tabla.

Por otro lado, un índice invertido es un tipo de índice que se utiliza para acelerar las consultas que involucran la búsqueda de valores en un conjunto de documentos. En un índice invertido, se crea una tabla que asocia cada valor posible de un atributo con una lista de documentos que contienen ese valor. De esta manera, se puede realizar una consulta sobre un valor de atributo específico simplemente consultando la lista de documentos correspondiente, en lugar de buscar en todos los documentos de la colección.

En resumen, los índices bitmap se utilizan para acelerar las consultas que involucran múltiples valores de un atributo en una tabla, mientras que los índices invertidos se utilizan para acelerar las consultas que involucran la búsqueda de valores en un conjunto de documentos. Ambos tipos de índices son útiles para mejorar el rendimiento de las consultas en sistemas de datos grandes y complejos.