1. Profesor : Claudio Vaccalluzzo
Bibliografía: Sistema de Bases de Datos // Thomas Connolly-Carolyn Begg
// Editorial Pearson
2. Unidad 1 Introducción
Sistemas Tradicionales basados en archivos
La técnica basadas en archivos
Limitaciones de la técnica basadas en archivo
Sistemas de Base de Datos
La base de Datos
Sistema de Gestión de Base de Datos (SGBD)
Programa de Aplicación
Componentes de un entorno SGBD
Diseño de Bases de Datos
Papeles en un entorno de base de datos
Administradores
Diseñadores
Desarrolladores de Aplicaciones
Usuario finales
Ventajas y desventajas
3. •Usos comunes de los sistemas de bases de datos
•Las características de los sistemas basados en archivos
•Los problemas asociados a la técnica basada en archivos
•El significado del termino “base de datos”
•El significado del termino “sistema de gestión de bases de
datos” (SGBD)
•Las funciones típicas de un SGBD
•Los componentes principales del entorno SGBD
•El personal implicado en el entorno SGBD
•La historia del desarrollo de los SGBD
•Las ventajas y desventajas SGBD
4.
5. Sistemas basados en archivos
Una colección de programas de aplicación que realiza
diversos servicios para los usuarios finales, como por
ejemplo la producción de informes. Cada programa
define y gestiona sus propios datos.
• Fue uno de los primeros intentos de informatizar los
sistemas de archivo manual.
Sistema de almacenamientos no informatizados
por ejemplo lugares físicos donde guardamos las
facturas o documentación importante también
teniendo en cuenta la seguridad de esta por
ejemplo ponerla bajo llave fotocopiar para tener
copias de resguardo.
También podemos tener algún sistema de
indexación para organizarlos por ejemplo un
índice en la agenda.
6. Los sistemas manuales funcionan bien cuando:
•Reducido numero de elementos
•Cuando puede haber una gran numero de elementos
pero lo único que necesitamos es almacenarlos o
extraerlos.
•No se requiere mucho espacio físico.
7. Los sistemas basados en archivos fueron desarrollados para dar respuesta a la
necesidad que las empresas tenían de forma mas eficiente a los datos. Sin embargo, en
lugar de establecer un sistema centralizado de gestión de los datos operacionales de las
organizaciones, lo que se hizo fue adoptar un sistema descentralizado, en el que cada
departamento, con la ayuda de personal especializado en procesamiento de
datos, almacenaba y controlaba sus propios datos.
8. Rutinas de
Introducción de tratamientos de
datos e informes datos
Definición de
Archivos
Ventas Programa de aplicación de ventas Archivo de ventas
Rutinas de
Introducción de tratamientos de
datos e informes datos
Definición de
Archivos
Contratos Programa de aplicación de contratos Archivo de contratos
9. •Separación y aislamientos de datos
•Duplicación de datos
•Dependencia entre los datos
•Formatos de archivos incompatibles
•Consultas fijas / proliferación de programas de aplicación
10. •Separación y aislamientos de datos
Cuando se aíslan los datos en archivos separados, resulta mas difícil acceder a los
datos que deben estar disponibles.
El desarrollador de aplicaciones debe sincronizar el procesamiento de los dos
archivos para garantizar que se
extraigan los datos correctos.
Esta dificultad se hace todavía
mayor si se necesita extraer
datos de mas de dos archivos.
11. •Duplicación de datos
Debido al enfoque descentralizado esta técnica promueve una duplicación incontrolada de los
datos esta resulta indeseable por varias razones:
• Desperdicio de recursos. Cuesta tiempo y dinero introducir los datos mas de una vez.
• Se consume espacio de almacenamiento innecesario lo que también tiene costes
asociados.
• Perdida de integridad de los datos. Los datos podrían dejar de ser coherente por ejemplo
si cambio un domicilio en un archivo y no se modifica el importe de su sueldo en otro puesto
que no existe nada que los actualice automáticamente.
12. •Dependencia entre los datos
La estructura física y el almacenamiento de los archivos y registros de datos están definidos en
el código de la aplicación. Esto significa que resulta difícil realizar cambio a una estructura
existente. Por ejemplo si se modifica el tamaño de un campo:
•Abrir el archivo original para lectura
•Abrir un archivo temporal con la nueva estructura
•Leer un registro del archivo original, convertir los datos para adecuarlos a la nueva
estructura y escribirlo en el archivo temporal y repetir este paso con cada registro.
•Borrar el archivo original
•Renombrar el archivo temporal por el original
•Adecuar todos los programas que accedan al archivo a la nueva estructura.
13. •Formatos de archivos incompatibles
Puesto que la estructuras de los archivos esta incrustada en los programas de aplicación,
dichas estructuras dependen del lenguaje de programación de aplicaciones que se utilice.
Por ejemplo la estructura de un archivo generada por un programa COBOL puede ser diferente
de la estructura de un archivo creada por C. La incompatibilidad directa de dichos archivos
hace difícil que se los pueda procesar conjuntamente.
14. •Consultas fijas / proliferación de programas de aplicación
Desde el punto de vista del usuario los sistemas basados en archivos fueron una gran mejora
con respecto a los sistemas manuales. En consecuencia las peticiones de nuevas consultas o
modificaciones de las ya existentes comenzaron a crecer. Sin embargo, los sistemas basados en
archivos son muy dependientes del desarrollador de aplicaciones, que es quien tiene que
escribir todas las consultas e informes requeridos. Esto dio origen a dos cuestiones:
1. No existía ninguna posibilidad de solicitar consultas no planificadas es decir consultas
pensadas en el momento (ad hoc)
2. Proliferación de archivos y de programas de aplicación para gestionar nuevas consultas o
informes. Para esto se tendría que omitir diversos tipo de funcionalidad:
• Seguridad e Integridad
• La recuperación, parar los casos de falla de hardware y software, era limitada o
inexistente.
• El acceso a los archivos estaba restringido de modo que un solo usuario podía acceder
en cada instante.
15. Para poder ser mas efectivo, se necesitaba una nueva técnica y lo que
surgió fue el concepto de bases de datos y los sistemas de gestión de
bases de datos (SGBD)
16. Bases de Datos Una colección compartida de datos lógicamente
relacionados, junto con una descripción de estos
datos, que están diseñados para satisfacer las
necesidades de información de una organización.
Características
•Repositorio centralizado
•Pueden ser utilizados por varios departamento o usuarios
•No solo almacena datos sino también su descripción (catalogo del
sistema o diccionario de datos es decir datos acerca de los datos). Es
esta naturaleza auto descriptiva de la base de datos la que proporciona
la independencia entre programa y datos.
•Se separa la estructura de los datos de los programas de aplicación y
almacena dicha estructura en la base de datos.
17. Lógicamente relacionada
Al analizar las necesidades de una organización tratamos de identificar
Entidades, Atributos y Relaciones:
Entidades: es un objeto distintivo (una persona, lugar, cosa, concepto o suceso) dentro
de la organización y que hay que representar dentro de la base de datos.
Atributo: es una propiedad que describe algún aspecto del objeto que queremos
almacenar.
Relación: es una asociación entre entidades.
18. La base de datos
representa las entidades, los
atributos y las relaciones lógicas
entre entidades. En otras
palabras, la base de datos
almacena un conjunto de datos
que están lógicamente
relacionados.
19. Es un sistema de software que permite a los usuarios definir, crear,
mantener y controlar el acceso a las base de datos.
Funcionalidad
• Permite a los usuarios definir la base de datos, usualmente mediante un lenguaje
de definición de datos (DDL Data Definition Language).
• Permite a los usuarios insertar, actualizar, borrar y extraer datos de la base de
datos, usualmente mediante un lenguaje de manipulación de datos (DML Data
Manipulation Language). Al disponer de un repositorio centralizado para todos los
datos y las descripciones de los datos, el lenguaje DML puede proporcionar un
mecanismo general de consulta de esos datos denominado lenguaje de consulta. El
mas común el Structured Query language o SQL.
• Proporciona un acceso controlado a la base de datos. Por ejemplo puede
proporcionar:
20. • Un sistema de seguridad que evita que los usuarios no autorizados accedan a
las base de datos.
• Un sistema de seguridad, que mantiene la coherencia de los datos
almacenados.
• Un sistema de control de concurrencia que permite el acceso compartido a la
base de datos.
• Un sistema de control de recuperación, que restaura la base de datos a un
estado previo coherente después de cada fallo de hardware o software.
• Un catalogo accesible por el usuario, que contiene descripciones
de los datos que están almacenados en la base de datos.
21. Un programa informático que interactúa con las bases de datos
emitiendo las apropiadas solicitudes (normalmente una instrucción
SQL dirigidas al SGBD.
Introducción de
datos e Informes
Programa de aplicación
de ventas SGBD
Introducción de
datos e Informes
Base de Datos
Programa de aplicación
de compras
22. Vistas: es en esencia un cierto subconjunto de la base de datos o sea
permite personalizar resultados (consultas) de una base de datos según la
necesidad del usuario.
•Las vistas proporcionan un cierto nivel de seguridad. Ya que hay datos que
se le puede restringir a ciertos usuarios.
•Proporcionan un mecanismo para personalizar la apariencia de las bases de
Ventajas
datos. Por ejemplo a un campo se lo puede llamar de otra manera mas
conveniente según el usuario.
•Puede presentar una imagen coherente y estática de las estructura de las
bases de datos. Por ejemplo si se eliminan o modifican campos, relaciones o
archivos y estos no son afectadas por las vistas no sufriría modificaciones.
Elimina las dependencias.
23. Podemos identificar 5 componentes principales dentro de un entorno SGBD:
Hardware Personas
Software Procedimientos
Datos
Datos
Hardware Software Procedimientos Personas
Maquina Operador
24. Hardware
Tanto las SGBD como las
aplicaciones requieren una
plataforma de hardware
sobre la cual ejecutarse.
Estas pueden ir desde una
computadora personal
(monousuario) hasta una red
(multiusuario)
25. Software
El componente de sotware comprende el propio software SGBD y los
programas de aplicaion , junto con el sistema operativo y el SO de red si
corriera en esa plataforma. Generalmente los programas de aplicación se
escriben en un lenguaje de tercera generacion (3GL), como C, C++, java , visual
basic etc. o utilizando un lenguaje de cuarta generacion (4GL) como el SQL
incrutado dentro de un 3GL.
26. Datos Es quizás el componente mas importante , al menos desde le punto de
vista de los usuarios finales. Actúan como una especie de puente entre
los componentes ligados a la maquina y los componentes ligado al
operador humano.
Datos
Hardware Software Procedimientos Personas
Puente
Maquina Operador
La base de datos contiene los datos operacionales como los
metadatos( datos de los datos).
27. Procedimientos
Los procedimientos son las instrucciones y reglas que gobiernan el diseño y utilización
de las bases de datos. Los usuarios del sistemas y el personal que gestiona las bases de
datos requieren una serie de procedimientos documentados que les permitan saber
como utilizar o ejecutar el sistema. Estos procedimientos pueden estar compuestos de
instrucciones que le digan como:
•Iniciar una sesión en el SGBD
•Iniciar y detener el SGBD
•Realizar copias de seguridad de las bases de datos.
•Gestionar los fallos de hardware y software.
•Cambiar la estructura de una tablas, reorganizar la base de datos entre múltiples
discos, mejorar el rendimiento o archivar los datos de un almacenamiento
secundario.
28. Personas
Personas que se relacionan con el sistema
Administradores Usuarios
Diseñadores Desarrolladores Finales
de Aplicaciones
29. Personas Administradores
Es responsable de gestionar los recursos de datos, lo que incluye la planificación de la
base de datos, el desarrollo y mantenimiento de estándares, políticas y
procedimientos y el diseño procedimental/logico de la base de datos. El administrador
consulta con los gerentes de mayor nivel y les aconseja para garantizar que la
dirección seguida por el desarrollo de las bases de datos permita soportar los
objetivos corporativos.
También es responsable de:
•Materialización física
•Implementación
•Diseño físico
•Control de la seguridad e integridad.
•Fiabilidad
•Rendimiento
30. Personas Diseñadores
Diseñadores Lógicos Diseñadores Físicos
Esta encargado de hacer
•Identificar los datos (entidades y •Establecer la correspondencia entre
atributos) el diseño lógico de la base de datos y
•Identificar las relaciones entre un conjunto de tablas y restricciones
entidades. de integridad.
•Debe tener una comprensión profunda y •Seleccionar estructuras de
completa de los datos de la organización. almacenamiento y métodos de acceso
•Restricción de los datos según los específicos para los datos con el fin de
usuarios. conseguir unas buenas prestaciones.
•Diseñar las medidas de seguridad de
los datos requieran
31. Personas Desarrolladores de aplicaciones
•Una vez implementada la base de datos, es necesario implementar
también los programas de aplicación que proporcionen la funcionalidad
requeridas por los usuarios finales.
•Normalmente trabajan a partir de una especificación producida por los
analista de sistemas.
•Generar los programas de extraer, insertar , borrar y actualizar datos. Estos
pueden estar escritos en lenguaje de tercera o cuarta generación.
32. Personas Usuarios finales
Son los clientes de las bases de datos , que se diseña, implementa y
mantiene para dar servicio a sus necesidades de información.
Se clasifican en:
Usuarios Inexpertos Usuarios Expertos
Normalmente no son conscientes de la Están familiarizados con la estructura de
existencia de un SGBD. Acceden a la las bases de datos y con la
base de datos con programas de funcionalidades ofrecidas por SGBD.
aplicación realizados lo mas simple Pueden utilizar un lenguaje de consulta
posible. Utilizan comando simples u de alto nivel como SQL.
opciones de menú. No necesita saber
ningún detalle interno de la base de
datos y del SGBD.
33.
34. Control de la redundancia de datos
Elimina la duplicación de datos
Coherencia de los Datos
Si un elemento se almacena una vez en la base de datos, las actualizaciones
de su valor tiene que llevarse a cabo una sola vez.
Mas información a partir de la misma cantidad de datos
Al integrar los datos operacionales, la información puede deducir
información adicional. Por ejemplo el cruce de información.
35. Compartición de los datos
Un numero mayor de usuarios puede compartir una mayor cantidad de de
datos.
Mayor integridad de datos
Hace referencia a la validez y coherencia de los datos almacenados. Son
restricciones o reglas de coherencia que no permite que la base de datos
viole. Ejemplo no puede dar de alta a lo que compra un cliente si este no
existe.
Mayor seguridad
Protección de datos frente a usuarios no autorizados.
36. Imposición de estándares
Estándares departamentales, de la organización, nacionales o internacionales.
Formatos de datos establecidos . Ejemplo 54-011-4769-01234
Economía de escala
Al combinar todos los datos operacionales de una organización en una
única base de datos y crear un conjunto de aplicaciones que funcionan con
esta fuente centralizada de datos, pueden reducirse enormemente los
costes.
Equilibrios entre los requisitos conflictivos.
Controla los conflictos que puedan generar las necesidades de los
distintos usuarios al acceder a las bases de datos con la toma de
decisiones acerca del diseño y la utilización operacional de las
mismas.
37. Mejor accesibilidad de los datos y mayor capacidad de respuesta.
Debido a la integración de datos todos estos se encuentran concentrados en
un solo lugar y da mayor velocidad a los pedidos.
Mayor productividad
Reduce costos en el desarrollo de aplicaciones.
Mantenimiento simplificado gracias a la independencia de los datos
Debido que no hay dependencia de datos entre la aplicación y las
bases de datos es mas fácil el mantenimiento.
38. Mayor nivel de concurrencia
En algunos sistemas basados en archivos, si se permite a dos o mas usuarios
acceder al mismo archivo simultáneamente, es posible que los accesos se
interfieran entre si, provocando una perdida de información o la integridad de
las mismas. Los SGBD se encargan de gestionar el acceso concurrente a las
bases de datos.
Servicios mejorados de copias de seguridad y recuperación
Copias de seguridad programadas en horarios convenientes. En caso
que se produzca un fallo el sistema recupera la información.
39. Complejidad
Software y análisis mas complejos.
Tamaño
La complejidad y el amplio rango de funcionalidades hacen que el
SGBD se un software de gran complejidad, que ocupa muchos espacio
en disco y requiere una gran cantidad de memoria para podes
ejecutarse de manera eficiente.
Coste del SGBD
Los costes varían significativamente, dependiendo del entorno y de la
funcionalidad proporcionada.
40. Coste del hardware adicional
Almacenamientos adicionales. Servidores de datos.
Costes de conversión
Los costes de conversión pueden ser muy grandes a la hora de migrar
los datos.
Prestaciones
Los sistemas basados en archivos respondían a una necesidad concreta. En
cambio los SGBD responde a cuestiones mas generales lo que implica una
mayor lentitud.
Mayor impacto de los fallos
La centralización de los recursos implementa la vulnerabilidad del sistema.
Puede ser que una sola falla detenga a todos los usuarios.
41. Unidad 2 El entorno de las bases de datos
La arquitectura en tres niveles de ANSI-SPARC
Nivel externo
Nivel conceptual
Nivel interno
Esquemas, asignaciones e instancias
Independencia de los datos
Lenguajes de bases de datos
El lenguaje de definición de datos
El lenguaje de manipulación de datos
Lenguajes de cuarta generación
Modelos de datos y modelado conceptual
Modelos de datos basados en objetos
Modelos de datos basados en registros
Modelos de datos fisicos
Modelo conceptual
Funciones de un SGBD
Componentes de un SGBD
Arquitectura de un SGBD multiusuario
42. Unidad 2 El entorno de las bases de datos
Teleprocesamiento
Arquitectura de servidor de archivos
Arquitectura cliente – servidor tradicional en dos
niveles.
Arquitectura cliente servidor en tres niveles
Monitores de procesamiento de transacciones
43. 1971 Se elaboro unas de las primeras propuestas de terminología
Estándar y arquitectura general para las bases de datos.
El responsable
DBTG (Data Base Task Group //grupo de trabajo de
bases de datos) nombrado por la conferencia
CODASYL (conferencia sobre sistemas de datos y
lenguajes.
Percibió la necesidad de adoptar un enfoque en dos
niveles:
1. una vista del sistema denominada
ESQUEMA.
2. Una series de vistas de usuario
denominada subesquema.
44. 1975 El comité SPARC (comité de requisitos y planificación de
estándares) de ANSI (Instituto nacional de estándares de América)
El responsable
Hay tres características importantes inherentes a los
sistemas de bases de datos: la separación entre los
programas de aplicación y los datos, el manejo de
múltiples vistas por parte de los usuarios y el uso de
un catálogo para almacenar el esquema de la base de
datos.
45. Usuario1 Usuario2 Usuario3
Vista1 Vista2 Vista3
Esquema
conceptual
Esquema
conceptual
Organización física de los datos
Base de datos
46. Es la vista que los usuarios tienen de la base de datos.
Este nivel describe la parte de la base de datos que es
relevante para cada usuario.
•Vista del mundo real representada en una forma que resulta familiar
para dicho usuario.
•Diferentes vistas pueden construir diferentes representaciones de los
mismos datos.
• Por ejemplo: un usuario puede utilizar la fecha con
DD-MM-AA y otro puede usarla como MM-DD-AAAA.
•Algunas vistas tambien pueden generar datos derivados (datos
creados o calculados cada vez que se necesitan) estos no quedan
almacenados.
47. Es la vista comunitaria de la base de datos. Este nivel
describe que datos están almacenados en la base de
datos y las relaciones existentes entre los mismos.
•Este nivel conceptual representa:
•Todas las entidades, sus atributos y sus relaciones.
•Las restricciones aplicadas a los datos.
•La información semántica acerca de los datos
•La información de seguridad e integridad.
•Este nivel no debe contener ningún detalle que sea dependiente del
almacenamiento como por ejemplo el numero de bytes ocupados.
Solo debe contener los tipos de datos de los atributos (por ejemplo
entero, real)
48. Representación física de la base de datos en la
computadora. Este nivel describe como están
almacenados los datos en la base de datos.
•Este nivel se ocupa de conceptos tales como:
•La asignación de espacio de almacenamiento para los datos
e índices.
•Las descripciones de los registros para el almacenamiento
(almacenando los tamaños requeridos para elementos de
datos).
•La ubicación de los registros
•La compresión de datos y las técnicas de cifrado de datos.
•Por debajo de este nivel se encuentra el nivel físico que puede ser
gestionado por el sistema operativo bajo la dirección del SGBD. Sin
embargo las funciones del SGBD y del SO no tienen una separación
perfectamente clara y varían de un sistema a otro.
49. Vista Externa 1 Vista Externa 2
sNo fname iname age salary sNo iname branchNo
Nivel
Conceptual sNo fname iname fnac salary branchNo
Struct STAFF {
int staffNo;
int branchNo;
Nivel char fName [15];
char Iname [15];
Interno struct date dateOfBirth;
float salary;
struct STAFF *next;
};
Index staffNo; index branchNo;
50. A la descripción de las bases de
datos se la denomina esquema
de la base de datos
Los datos de la BD en cualquier
instante concreto se denominan
instancia de la base de datos
51. La capacidad para modificar una definición de esquema
en un nivel sin que afecte a una definición de esquema en
el siguiente nivel más alto se llama Independencia de
datos.
Independencia física de datos: Es la capacidad
Existen 2 niveles de independencia de datos:
de modificar el esquema físico sin provocar que
Independencia Lógica
se vuelvan a escribir los programas de
aplicación. Las modificaciones en el nivel físico
son casionalmente necesarias para mejorar el Independencia Física
funcionamiento.
Independencia lógica de datos: Capacidad de
modificar el esquema conceptual sin provocar
que se vuelvan a escribir los programas de
aplicación. Las modificaciones en el nivel lógico
son necesarias siempre que la estructura lógica
de la base de datos se altere.
52. El lenguaje de definición de datos (DDL)
Es un lenguaje que permite al Administrador de base de datos o
al usuario describir y nombrar las entidades, atributos y
relaciones requeridas por la aplicación, junto con cualquier
restricción asociada de integridad y seguridad.
•No puede emplearse para manipular datos
•Integra los metadatos
•Se puede llamar catálogos de datos o diccionario de datos.
53. El lenguaje de manipulación de datos (DML)
Un lenguaje que proporciona un conjunto de operadores para permitir
las manipulaciones básicas de los datos contenidos en la base de datos.
•Inserción de nuevos datos
•Modificación de datos ya almacenados
•La extracción de datos contenidos en la base
•El borrado de los datos.
Se pueden distinguir dos tipos
Lenguajes DML procedimentales Lenguajes DML no procedimentales
Permite al usuario decirle al sistema Permite al usuario indicar que datos
que datos necesita y cual es la forma necesita en lugar de cómo hay que
exacta de extraerlos. Generalmente el extraerlos. También se denominan
programador introduce estas líneas en lenguajes declarativos. Usan
programas de alto nivel. instrucciones sql.