Intro base de datos

  • 852 views
Uploaded on

Intro a las bases de datos

Intro a las bases de datos

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
852
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
51
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Profesor : Claudio VaccalluzzoBibliografí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 dedatos” (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. 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.
  • 5. 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.
  • 6. Los sistemas basados en archivos fueron desarrollados para dar respuesta a lanecesidad que las empresas tenían de forma mas eficiente a los datos. Sin embargo, enlugar de establecer un sistema centralizado de gestión de los datos operacionales de lasorganizaciones, lo que se hizo fue adoptar un sistema descentralizado, en el que cadadepartamento, con la ayuda de personal especializado en procesamiento dedatos, almacenaba y controlaba sus propios datos.
  • 7. Rutinas de Introducción de tratamientos de datos e informes datos Definición de ArchivosVentas 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
  • 8. •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
  • 9. •Separación y aislamientos de datosCuando se aíslan los datos en archivos separados, resulta mas difícil acceder a losdatos que deben estar disponibles.El desarrollador de aplicaciones debe sincronizar el procesamiento de los dosarchivos para garantizar que seextraigan los datos correctos.Esta dificultad se hace todavíamayor si se necesita extraerdatos de mas de dos archivos.
  • 10. •Duplicación de datosDebido al enfoque descentralizado esta técnica promueve una duplicación incontrolada de losdatos 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.
  • 11. •Dependencia entre los datosLa estructura física y el almacenamiento de los archivos y registros de datos están definidos enel código de la aplicación. Esto significa que resulta difícil realizar cambio a una estructuraexistente. 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.
  • 12. •Formatos de archivos incompatiblesPuesto 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 diferentede la estructura de un archivo creada por C. La incompatibilidad directa de dichos archivoshace difícil que se los pueda procesar conjuntamente.
  • 13. •Consultas fijas / proliferación de programas de aplicaciónDesde el punto de vista del usuario los sistemas basados en archivos fueron una gran mejoracon respecto a los sistemas manuales. En consecuencia las peticiones de nuevas consultas omodificaciones de las ya existentes comenzaron a crecer. Sin embargo, los sistemas basados enarchivos son muy dependientes del desarrollador de aplicaciones, que es quien tiene queescribir 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.
  • 14. Para poder ser mas efectivo, se necesitaba una nueva técnica y lo quesurgió fue el concepto de bases de datos y los sistemas de gestión debases de datos (SGBD)
  • 15. 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.
  • 16. Lógicamente relacionadaAl analizar las necesidades de una organización tratamos de identificarEntidades, 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.
  • 17. La base de datosrepresenta las entidades, losatributos y las relaciones lógicasentre entidades. En otraspalabras, la base de datosalmacena un conjunto de datosque están lógicamenterelacionados.
  • 18. 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 lenguajede definición de datos (DDL Data Definition Language).• Permite a los usuarios insertar, actualizar, borrar y extraer datos de la base dedatos, usualmente mediante un lenguaje de manipulación de datos (DML DataManipulation Language). Al disponer de un repositorio centralizado para todos losdatos y las descripciones de los datos, el lenguaje DML puede proporcionar unmecanismo general de consulta de esos datos denominado lenguaje de consulta. Elmas común el Structured Query language o SQL.• Proporciona un acceso controlado a la base de datos. Por ejemplo puedeproporcionar:
  • 19. • Un sistema de seguridad que evita que los usuarios no autorizados accedan alas base de datos.• Un sistema de seguridad, que mantiene la coherencia de los datosalmacenados.• Un sistema de control de concurrencia que permite el acceso compartido a labase de datos.• Un sistema de control de recuperación, que restaura la base de datos a unestado 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.
  • 20. Un programa informático que interactúa con las bases de datosemitiendo las apropiadas solicitudes (normalmente una instrucciónSQL 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
  • 21. 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 deVentajas 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.
  • 22. Podemos identificar 5 componentes principales dentro de un entorno SGBD: Hardware Personas Software Procedimientos Datos Datos Hardware Software Procedimientos Personas Maquina Operador
  • 23. HardwareTanto las SGBD como lasaplicaciones requieren unaplataforma de hardwaresobre la cual ejecutarse.Estas pueden ir desde unacomputadora personal(monousuario) hasta una red(multiusuario)
  • 24. 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.
  • 25. 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).
  • 26. ProcedimientosLos procedimientos son las instrucciones y reglas que gobiernan el diseño y utilizaciónde las bases de datos. Los usuarios del sistemas y el personal que gestiona las bases dedatos requieren una serie de procedimientos documentados que les permitan sabercomo utilizar o ejecutar el sistema. Estos procedimientos pueden estar compuestos deinstrucciones 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.
  • 27. Personas Personas que se relacionan con el sistema Administradores Usuarios Diseñadores Desarrolladores Finales de Aplicaciones
  • 28. 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
  • 29. Personas Diseñadores Diseñadores Lógicos Diseñadores Físicos Esta encargado de hacer•Identificar los datos (entidades y •Establecer la correspondencia entreatributos) el diseño lógico de la base de datos y•Identificar las relaciones entre un conjunto de tablas y restriccionesentidades. de integridad.•Debe tener una comprensión profunda y •Seleccionar estructuras decompleta 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 deusuarios. conseguir unas buenas prestaciones. •Diseñar las medidas de seguridad de los datos requieran
  • 30. Personas Desarrolladores de aplicaciones•Una vez implementada la base de datos, es necesario implementartambién los programas de aplicación que proporcionen la funcionalidadrequeridas por los usuarios finales.•Normalmente trabajan a partir de una especificación producida por losanalista de sistemas.•Generar los programas de extraer, insertar , borrar y actualizar datos. Estospueden estar escritos en lenguaje de tercera o cuarta generación.
  • 31. 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 ExpertosNormalmente no son conscientes de la Están familiarizados con la estructura deexistencia de un SGBD. Acceden a la las bases de datos y con labase de datos con programas de funcionalidades ofrecidas por SGBD.aplicación realizados lo mas simple Pueden utilizar un lenguaje de consultaposible. Utilizan comando simples u de alto nivel como SQL.opciones de menú. No necesita saberningún detalle interno de la base dedatos y del SGBD.
  • 32. Control de la redundancia de datos Elimina la duplicación de datosCoherencia 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.
  • 33. 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.
  • 34. Imposición de estándares Estándares departamentales, de la organización, nacionales o internacionales. Formatos de datos establecidos . Ejemplo 54-011-4769-01234Economí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.
  • 35. 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.
  • 36. 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.
  • 37. 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.
  • 38. 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.
  • 39. 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
  • 40. 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
  • 41. 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.
  • 42. 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.
  • 43. Usuario1 Usuario2 Usuario3 Vista1 Vista2 Vista3 Esquema conceptual Esquema conceptualOrganización física de los datos Base de datos
  • 44. 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 familiarpara dicho usuario.•Diferentes vistas pueden construir diferentes representaciones de losmismos datos.• Por ejemplo: un usuario puede utilizar la fecha conDD-MM-AA y otro puede usarla como MM-DD-AAAA.•Algunas vistas tambien pueden generar datos derivados (datoscreados o calculados cada vez que se necesitan) estos no quedanalmacenados.
  • 45. 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 delalmacenamiento como por ejemplo el numero de bytes ocupados.Solo debe contener los tipos de datos de los atributos (por ejemploentero, real)
  • 46. 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 sergestionado por el sistema operativo bajo la dirección del SGBD. Sinembargo las funciones del SGBD y del SO no tienen una separaciónperfectamente clara y varían de un sistema a otro.
  • 47. Vista Externa 1 Vista Externa 2 sNo fname iname age salary sNo iname branchNo NivelConceptual 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;
  • 48. A la descripción de las bases dedatos se la denomina esquemade la base de datos Los datos de la BD en cualquier instante concreto se denominan instancia de la base de datos
  • 49. 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 capacidadExisten 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.
  • 50. 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.
  • 51. 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 tiposLenguajes DML procedimentales Lenguajes DML no procedimentalesPermite al usuario decirle al sistema Permite al usuario indicar que datosque datos necesita y cual es la forma necesita en lugar de cómo hay queexacta de extraerlos. Generalmente el extraerlos. También se denominanprogramador introduce estas líneas en lenguajes declarativos. Usanprogramas de alto nivel. instrucciones sql.