Primer Parcial Flashcards
Tipos de problemas. áreas principales del diseño de los SI
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.
Sistemas gestores de bases de datos (SGBD)
obj princ
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.
Sistemas gestores de bases de datos (SGBD)
SERVICIOS
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.
Sistemas gestores de bases de datos (SGBD)
Estructura física
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.
Administrador de bases de datos (DBA)
FUNCIONES
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.
Los niveles de Abstracción de los datos
- 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.
Ciclo de Vida de un Sistema de Base de Datos: Diseño del Sistema
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.
Arquitectura de las bases de datos
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.
Modelo Entidad-Relación (E-R)
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.
Entidad
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.
Ocurrencia o instancia de la entidad
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.
Atributos
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.
Claves
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.
Relación
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.
Restricciones
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.
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:
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.
Normalización
La normalización es necesaria para evitar propiedades no deseables:
- Repetición de la información.
- Imposibilidad de representar determinada información.
Anomalías de actualización
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.
Primera forma normal (1FN)
1FN debe cumplir 3 condiciones:
1 dato por celda
Cada tabla tener definida su clave primaria.
No contener grupos repetitivos.
Segunda forma normal (2FN)
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.