Modelo ANSI/SPARC •Las arquitecturas de BD han evolucionado.
•Estándar hoy -> descrito por el comité ANSI/X3/SPARC,
fines de los 70s.
•ANSI/X3/SPARC: grupo de estudio del Standard
Planning and Requirements Commitee (SPARC) del ANSI (American National Standars Institute), dentro del Comité X3 que se ocupa de computadores e informática. •Creado en 1969, para estudiar el impacto de los SGBD en los sistemas de información.
•Los resultados publicados en 1975, propusieron el uso
de tres niveles de descripción de datos.
•->Un esqueleto generalizado para sistemas de bases de
datos que propone una arquitectura de tres niveles: • Nivel interno (nivel físico)
• Nivel conceptual
• Nivel externo (nivel de usuario)
• Arquitectura de tres niveles
• Objetivos BD: independencia entre datos y aplicaciones.
• La estructura lógica de usuario o esquema externo (nivel
usuario) es la visión que tiene de la base de datos cada usuario en particular. • La estructura física o esquema interno es la forma como se organizan los datos en el medio de almacenamiento físico.
• En los SI encontramos la existencia de dos estructuras:
la lógica (vista del usuario) y la física (forma en que se encuentran los datos en el almacenamiento). • En las BD-> nuevo nivel de abstracción: nivel conceptual, estructura lógico global, esquema, etc. • ->Representación global de los datos que se interpone entre las estructuras lógica y física, independiente, tanto del equipo como de cada usuario en particular.
• Esta arquitectura de tres niveles proporciona la deseada
independencia: capacidad para cambiar el esquema en un nivel sin tener que cambiarlo en ningún otro nivel.
• Distinguimos entre independencia física y lógica:
• Independencia lógica de los datos: Cambio del esquema conceptual sin cambiar las vistas externas o las aplicaciones. • Independencia física de los datos: Cambio del esquema interno sin necesidad de cambiar el esquema conceptual o los esquemas externos. • Nivel Externo
• Más cercano a los usuarios.
• En él se definen los datos tal y como los va a ver éste. • Cada usuario puede tener su propio modelo externo, sólo con datos e interrelaciones que necesite.
• Deben definirse las restricciones de uso, como por
ejemplo el derecho a insertar o borrar determinados datos, o poder acceder a ellos. • Se ocupa de las vistas individuales de los usuarios. • Usuarios:
• Programadores de aplicaciones.
• Usuarios finales. Disponen de un lenguaje de consulta
o algún lenguaje de aplicación especial, manejado por ejemplo por menús o forms.
• El SQL (Structured Query Language) es usado en casi
todos los sistemas relacionales actuales. • Nivel Conceptual
• Describe en términos abstractos pero con absoluta
fidelidad cierta realidad: diseño conceptual de la base de datos.
• Se define mediante un esquema conceptual.
• Para escribirlo se utiliza un DDL (lenguaje de definición de datos) conceptual.
• Para que exista independencia de los datos, las
definiciones en DDL no deberán implicar consideraciones de estructura de almacenamiento. • En el esquema conceptual no debe haber representaciones de campos almacenados, secuencia de registros, indexación, etc. • Nivel Interno
• Nivel más bajo en la abstracción.
• Describe la estructura física de la base de datos, las
estrategias de acceso a los datos, etc. • Especifica todos los aspectos relacionados con el HW: dispositivos de memoria a usar (tamaño de páginas, número de éstas, tamaño de los buffers, direcciones físicas, etc.), técnicas de compresión de datos, criptografiado, etc.
• El modelo interno, que es único, corresponde a la
implementación del modelo conceptual. • Ningún usuario, en calidad de tal, tiene conocimiento de este nivel. • Redundancia
• Se presenta cuando se repiten innecesariamente datos
en los archivos que conforman la base de datos. • Inconvenientes:
• Incremento del trabajo: un mismo dato está
almacenado en dos o más lugares, cuando se graben o actualicen, debe hacerse en todos los lugares a la vez. • Desperdicio de espacio de almacenamiento: los mismos datos están almacenados en varios lugares, ocupando así más bytes del medio de almacenamiento. Problema es más evidente en grandes bases de datos. • Inconsistencia de datos: los datos redundantes no son iguales entre sí: se actualiza el dato en un lugar, pero el dato duplicado en otro lugar no es actualizado. • Si una base de datos está bien diseñada, no debería haber redundancia de datos. • Integridad
• Objetivo->proteger la BD contra operaciones que
introduzcan inconsistencias en los datos. • Se debe garantizar la coherencia de los datos, comprobando que sólo los usuarios autorizados puedan efectuar las operaciones correctas sobre la base de datos. Esto se consigue mediante:
• Control sobre los usuarios que acceden a la BD y
los tipos de operaciones que están autorizados a realizar. • Permite crear o borrar usuarios y conceder o retirar derechos a efectuar determinados tipos de operaciones (por ejemplo: crear objetos, borrar objetos, modificar datos, etc.) • Validación de las operaciones realizadas con los datos. • Conjunto de reglas: restricciones de integridad. objetivo-> no permitir el ingreso de datos que se encuentren fuera del dominio del atributo.
• Ej. Si el dominio del atributo edad es números
mayores de 18, no debería permitirse el ingreso de valores inferiores.
• Restricciones de integridad referencial: imponen que
las modificaciones realizadas sobre algunos datos, obliguen a realizar modificaciones de otros datos con los que están enlazados • Ej. si se modifica el código de un artículo, se debería modificar ese código en todos los pedidos que soliciten el artículo. • Protección de los datos contra los accesos malintencionados y los fallos. • Se suelen evitar con la asignación de password a los usuarios, la definición de vistas, protección física de los datos (encriptado de los datos). • Con respecto a los fallos causados por manipulaciones incorrectas, o accidentes lógicos o físicos, los SGBD suelen disponer de utilidades de recuperación de los datos después de un fallo.