Flashcards
Gestión de Datos - Práctica

Cards in this deck (67)
- 1Base de Datos (Según Edgar Codd)Usa 3 conceptos, la estructura, la manipulación de datos y la integridad.
- 2Estructura (Edgar Codd)Recopilación de objetos o relaciones. Una relación es una estructura con cabecera, nombres de atributos y un cuerpo.
- 3Propiedades de las Relaciones- No tienen tuplas repetidas.
- Las tuplas no están ordenadas.
- Los atributos no están ordenados.
-Todos los valores de los atributos son atómicos. - 4Manipulación de Datos (Edgar Codd)Operaciones sobre las relaciones para producir otras relaciones en sí.
- 5Clave PrimariaAtributo o conjunto de atributos que sirven como identificador único para la relación. No se aceptan nulos e identifican unívocamente a una tupla dentro de una relación.
- 6Clave ForáneaPermite relacionar entidades, siendo un valor el cual debe existir como clave primaria de otra tabla. No puede apuntar a una tupla que no existe, no puede contener valores no nulos que no tengan un valor correspondiente en la relación referenciada.
- 7Reglas de Integridad- Integridad de las Entidades, ningún componente de la PK puede aceptar nulos.
- Integridad Referencial, no puede haber valores no nulos que no concuerde con una clave primaria de la relación referenciada. - 8Independencia de Datos- Lógica, el orden de los datos no tiene que ser necesariamente el que consultamos, puede ser consultado en cualquier orden.
- Física, es posible modificar la estructura física de las tablas, las técnicas de acceso, la forma de acceder a los datos, sin modificar la aplicación - 9Reglas de Codd (Son 5)- Independencia entre el RDBM y los programas que acceden a los datos.
- Las estructuras y las relaciones de las tablas tienen que estar en un catálogo dentro de la misma base de datos.
- Reglas de Integridad deben guardarse en el catálogo base.
- Soportar información faltante a través de valores nulos.
- Proveer lenguajes para DDL y DML, restricciones de seguridad, integridad, autorización y delimitar una transacción. - 10NormalizaciónTransformar el conjunto de datos que tiene la BDD para poder manipularlos de una manera más consistente y evitar la repetición de datos. Reduce la redundancia, facilita el mantenimiento, evita anomalías y reduce el impacto en la manipulación y asegura la integridad de la información.
- 11TablasUnidad básica de almacenamiento de datos, se encuentran almacenados en filas y columnas. Son de existencia permanente y poseen un nombre identificatorio único en un esquema o en una BDD.
- 12ConstraintsRestricciones a las tablas para asegurar los distintos tipos de integridad: de Entidad, Referencial y Semántica.
- 13Integridad SemánticaAsegura que los datos pertenecientes a una tabla tengan una apropiada configuración y respeten las restricciones definidas.
- 14Data Type (Integridad Semántica)Es el tipo de dato del valor que se puede almacenar en la columna de la tabla.
- 15Default Constraint (Integridad Semántica)Es el valor insertado en una columna cuando no se especifica el valor para la misma, el valor default por defecto es NULL.
- 16Unique Constraint (Integridad Semántica)Se contiene un valor único entre todos los de la columna.
- 17Not Null Constraint (Integridad Semántica)Asegura que la columna tenga un valor.
- 18DominioConjunto de valores posibles para los que puede tomar una columna de una tabla. Es la menor unidad semántica de información, son atómicos, es un conjunto de valores escalares de igual tipo y no contienen nulos.
- 19Implementación del Dominio- Constraints, restringen los valores posibles dentro del tipo de dato: FK, Check, PK, Unique, Null, Not Null, Default.
- Triggers, para validar las reglas de negocio.
-Nombre de la Columna.
- Tipos de Dato. - 20Generador de SecuenciasProveen números secuenciales en entornos multiusuarios sin Overhead, lockeo o valores repetidos.
- 21Tablas TemporalesTablas con datos de existencia temporal, no son registradas en el diccionario de datos ni pueden alterarse estructuralmente, permiten usar sentencias de DML.
- 22Tipos de Tablas Temporales- Locales o de Sesión: Visibles solo para sus creadores durante la misma sesión a una instancia del RDBM, se eliminan cuando el usuario se desconecta o decide eliminarla.
- Globales: visibles para cualquier usuario y sesión una vez creadas, la eliminación depende del RDBM usado. - 23Creación de Tablas Temporales- Creación Implícita: INSERT INTO #TablaTemporal SELECT etc.
- Creación Explícita: Requiere que se declare la tabla explícitamente junto a los nombres de sus atributos y sus tipos de datos y restricciones. - 24Casos de Uso de las Tablas Temporales- Almacenamiento intermedio para consultas muy grandes.
- Optimizar la velocidad de múltiples accesos a una consulta.
- Almacenamiento intermedio de resultados para una aplicación. - 25VistaEs una presentación adaptada de los datos contenidos en una o más tablas, lo que hace la vista es tomar la salida resultante de una consulta y tratarla como una tabla, pudiendo entonces usarlas en la mayoría de las situaciones en las que se usan tablas.
- 26Características de una Vista- Tiene un nombre específico.
- No aloca espacio de almacenamiento.
- No contiene datos almacenados.
- Definida por una consulta que consulta datos de una o varias tablas/vistas. - 27Usos de las Vistas (Son 5)- Nivel extra de seguridad, restringiendo accesos a los datos o columnas de una tabla. Puedo otorgarle acceso a un usuario de una vista, sin que tenga acceso a las tablas reales.
- Oculta la complejidad de los datos.
- Simplifica las sentencias al usuario.
- Permite presentar datos desde otra perspectiva.
- Aisla las aplicaciones de los cambios en la tabla base. - 28Restricciones de las Vistas (Son 6)- No permiten el uso de índices.
- Dependiendo del motor, eliminando una tabla base las vistas que dependan de ella pasarán a ser inválidas o borradas.
- Vistas con JOINS, funciones agregadas y Triggers INSTEAD OF no permiten el uso de Inserts, Updates o Deletes.
- Para crear la vista, el usuario debe tener permisos SELECT sobre la tabla.
- En algunos motores no es posible usar ORDER BY y UNION.
- WITH CHECK OPTION para la integridad de los datos. - 29WITH CHECK OPTIONSe pone esta claúsula para realizar un chequeo de integridad a los datos a insertar o modificar, que deben cumplir con las constraints del WHERE de la vista creada.
- 30Snapshot o Vista MaterializadaEs una vista, pero que posee datos, y es como "sacarle una foto" a la tabla que referencia. Estas sí consumen espacio de almacenamiento en disco y deben ser refrescadas (de forma manual o por intervalos de tiempo) cuando los datos de las tablas que referencian cambian.
- 31Integridad vs. ConsistenciaSe diferencian en que la integridad está ligada a las reglas de integridad de Codd (de entidades y referencial), mientras que la consistencia podemos plantear como que los datos de la BDD deben estar correctos en función a un determinado caso de negocio. La BDD por sí sola puede asegurar la integridad de los datos.
- 32Mecanismos para la Consistencia de Datos- Transacciones.
- Logs transaccionales, logs que guardan información de operaciones realizadas sobre los datos.
- Recovery, método de recuperación ante caídas, la BDD vuelve al último punto consistente, usando los logs transaccionales, ejecutando las transacciones exitosas y revirtiendo las fallidas. - 33TransaccionesConjunto de sentencias que se ejecutan atómicamente en una sola unidad de trabajo. Esto asegura que la transacción llevará a la BDD de un estado correcto a otro estado correcto, garantizando que la operación completa se ejecute o falle, sin permitir que permanezca en un estado intermedio inconsistente.
- 34Atomicidad (ACID)Asegura que cada transacción será atómica, implicando que se ejecuten todas las operaciones correctamente para completar la transacción. Se ejecuta completa o no se ejecuta.
- 35Consistencia (ACID)Asegura que la BDD siempre permanecerá en un estado consistente antes y después de la transacción.
- 36Isolation / Aislamiento (ACID)Asegura que todas las transacciones puedan ejecutarse sin interferencia entre ellas.
- 37Durabilidad (ACID)Asegura que los datos alterados por una transacción, una vez completada esta, serán persistentes, incluso si falla el sistema.
- 38ÍndicesEstructura opcional asociada a una tabla que permite mejorar las velocidad de acceso a esta. Una tabla puede tener más de un índice sobre uno o más campos, siendo independientes de la tabla.
- 39Tipos de Índices- Únicos, donde solo se admite una fila por clave.
-Duplicados, permitiendo más de una fila para una misma clave.
-Simples, clave integrada por una sola columna.
-Compuestos, la clave se compone de varias columnas. - 40Beneficios de usar Índices- Mejora las velocidades de lectura.
- Mejora la performance de ordenamiento de filas.
- Asegura unicidad de valores para las filas almacenadas.
- Mejora performance de JOINs si los campos a matchear poseen índices.
- Asegura cumplimiento de Constraints y reglas de negocio. - 41Costos de usar Índices- Costo de almacenamiento.
- Costo de procesamiento y mantenimiento al actualizar datos. - 42¿Cuándo usar Índices?- Indexar columnas que intervienen en JOINS.
- Indexar columnas donde se usan filtros.
- Donde se usan ORDER BY.
- No usar tanto en tablas actualizadas frecuentemente. - 43SinónimosAlias definido sobre una tabla, vista o SnapShot. Permiten enmascarar el nombre y dueño de un determinado objeto.
- 44Procedimiento AlmacenadoAlmacenado en la BD como un objeto, permite a los usuarios ejecutarlo si poseen permisos. Permite el uso de sentencias SQL y previo a almacenarse sus sentencias son parseadas y optimizadas.
- 45Ventajas Procedimientos Almacenados- Menor complejidad de programación, si creamos un SP con las funciones más usadas.
- Posible mayor performance.
- Mayor nivel de seguridad.
- Uso del mismo código compilado y optimizado. - 46FunciónObjeto de BDD, no permiten operaciones con efecto (INSERT o UPDATE, etc.) con ninguno, uno o varios parámetros de entrada y una salida. Pueden invocarse dentro de una sentencia SQL.
- 47TriggerMecanismo que ejecuta una o varias sentencias SQL al ocurrir un evento, generalmente asociado a uno o varios eventos sobre una determinada tabla.
Tanto la acción que dispara un Trigger como el Trigger en sí forman parte de una misma transacción, así que si falla una, se realiza un Rollback automático, revirtiendo ambas. - 48Ventajas de los Triggers- Refuerzan reglas de negocio o de integridad referencial.
- Replicación de la información insertada.
- Actualización de datos ante una acción en otros datos.
- Puedo implementar FKs sobre tablas de otra BDD.
- Logs de auditoría.
- DELETES en cascada. - 49Base de Datos - DefiniciónConjunto de datos persistentes e interrelacionados que pueden ser utilizados por otras aplicaciones, los mismos datos se almacenan independientemente y sin redundancia.
- 50DBMS - DefiniciónEs un sistema que provee funcionalidades para administrar y mantener los contenidos de una base de datos almacenada en disco, abstrayendo al usuario de la lógica de bajo nivel que maneja esta. También interpreta instrucciones y sentencias SQL.
- 51Enfoque orientado a la aplicaciónCada programa manipula a nivel físico los archivos, peticionando al Sistema Operativo operaciones de lectura y escritura sobre ellos. Hay que tener en cuenta factores como concurrencia a un archivo usado por varios aplicativos a la vez
- 52Enfoque orientado a la Base de DatosLos archivos de datos residen en la BDD y los programas o consultas de usuarios son enviadas mediante algún mecanismo de comunicación estándar al DBMS, que realiza la consulta, devolviendo el resultado al programa.
- 53Nivel Externo (Arquitectura ANSI)Compuesto por múltiples vistas, a las que el usuario accede y ve. Cada usuario tiene una percepción distinta.
- 54Nivel Conceptual (Arquitectura ANSI)Compuesto por la vista común de la BDD, donde está definido el DDL, y donde se encuentra la estructura de la base de datos.
- 55Nivel Interno (Arquitectura ANSI)Define como se almacenarán los datos en disco a bajo nivel, generalmente se encuentra aislado del acceso del usuario.
- 56Diccionario de DatosConjunto de Tablas de la BDD del sistema, contiene información relacionada a la estructura de la BDD y sus objetos.
- 57Controles de SeguridadAutenticación del usuario y la autorización para determinar los permisos que tiene. Se tiene un catálogo, donde se guarda la información de los usuarios, roles y perfiles, etc.
- 58Mecanismos para la Integridad de Datos- Constraints.
- Triggers.
- Índices (Únicos).
- Vistas (WITH CHECK OPTION).
- Procedimientos Almacenados.
-Funciones. - 59Mecanismo para el Resguardo de DatosBackup, copia parcial o total de los datos de la BDD guardados en otro sistema de almacenamiento masivo.
- Diferencial o Acumulativo, guarda los cambios a partir de cierto tiempo.
- Completo, se guardan todos los datos.
- En caliente, con la BDD en uso.
- En frío, con la BDD en baja.
- Basado en logs transaccionales. - 60Mecanismo para la Restauración de DatosRestore, es la acción de restaurar una BDD desde un backup realizado previamente.
- 61Lectura Sucia (Dirty Read)Datos que una transacción actualiza y después lo deshace mediante un Rollback.
- 62Lectura Repetible (Repeteable Read)Datos que se repiten exactamente en una misma transacción, si los consulto al principio me sale lo mismo que si lo consulto al final, aunque hayan hecho cosas en el medio.
- 63Lectura Fantasma (Phantom Read)Datos que aparecen en la transacción que fueron insertados por otra transacción concurrente.
- 64Read UncommitedEs la más permisiva, permite hacer lecturas sucias y fantasmas, no permitiendo lecturas repetibles.

- 65Read CommitedEs el nivel por defecto, no controla las lecturas fantasmas, permite lecturas sucias y no tiene lecturas repetibles. Los datos que se rollbackean no los muestra, los que se commitean si. Cuando hay lecturas de datos se queda esperando a ver si se commitea o se rollbackea. Si se commitea las muestra, si no, no las muestra.
- 66Repeteable Read (Aislamiento)Es un poco controversial por el nombre, nos asegura lecturas repetibles en el caso de que no se alterarán las filas consultadas, pero no protege la tabla frente a Inserts de otras transacciones, permitiendo la existencia de lecturas fantasmas. No permite lecturas Sucias. Lo que hace exactamente es lockear filas.
- 67Serializable ReadEs la más restrictiva de todas, lockea la tabla entera, por lo que se deshace de lecturas sucias y lecturas fantasmas, además de asegurar un repeteable read a nivel tabla, o sea lo que vemos en la tabla en cualquier momento de la transacción siempre va a ser lo mismo.
Information
- Description
- Ingeniería Flashcards on Gestión de Datos - Práctica, created by Juan Nardi on 16/02/2024.
- Created by
- Juan Nardi
- Views
- 0
- Rating