1. Instituto Tecnológico de Tijuana I.T.T. FUNDAMENTOS DE BASE DE DATOS Unidad 1 Integrantes: Mora Marquez Luis Omar 07210172 Aguirre Anguiano Javier 0721…. Martínez Martínez Armando Jesús 072101… Tijuana B.C. 29 Junio 2010
2. 1.1 Definición de base de datos. La base de datos es un conjunto de información que está almacenada en forma sistemática, de manera tal que los datos que la conforman puedan ser utilizados en forma fragmentada cuando sea necesario. Los datos almacenados pueden ser muy diversos: nombres, números telefónicos, direcciones, años, etc. Todo depende de la finalidad para la que sea armada la base de datos .
3. Tipos de base de datos. Existen tanto bases estáticas como dinámicas. Las estáticas son sólo de lectura y que generalmente se utilizan para almacenar datos históricos que podrán ser utilizados a lo largo del tiempo. Las Dinámicas son las que contienen información que puede ser modificada tanto para actualizar los datos que la integran como para agregar nuevos. Otra forma en que se clasifican es según su modelo de administración de los datos.
4. 1.2 Objetivos de los sistemas de bases de datos. Los objetivos principales de un sistema de base de datos es disminuir los siguientes aspectos: Redundancia e inconsistencia de datos. Puesto que los archivos que mantienen almacenada la información son creados por diferentes tipos de programas de aplicación existe la posibilidad de que si no se controla detalladamente el almacenamiento, se pueda originar un duplicado de información, es decir que la misma información sea más de una vez en un dispositivo de almacenamiento. Esto aumenta los costos de almacenamiento y acceso a los datos, además de que puede originar la inconsistencia de los datos - es decir diversas copias de un mismo dato no concuerdan entre si -, por ejemplo: que se actualiza la dirección de un cliente en un archivo y que en otros archivos permanezca la anterior.
5. Dificultad para tener acceso a los datos. Un sistema de base de datos debe contemplar un entorno de datos que le facilite al usuario el manejo de los mismos. Supóngase un banco, y que uno de los gerentes necesita averiguar los nombres de todos los clientes que viven dentro del código postal 78733 de la ciudad. El gerente pide al departamento de procesamiento de datos que genere la lista correspondiente. Puesto que esta situación no fue prevista en el diseño del sistema, no existe ninguna aplicación de consulta que permita este tipo de solicitud, esto ocasiona una deficiencia del sistema. Aislamiento de los datos. Puesto que los datos están repartidos en varios archivos, y estos no pueden tener diferentes formatos, es difícil escribir nuevos programas de aplicación para obtener los datos apropiados.
6. Anomalías del acceso concurrente. Para mejorar el funcionamiento global del sistema y obtener un tiempo de respuesta más rápido, muchos sistemas permiten que múltiples usuarios actualicen los datos simultáneamente. En un entorno así la interacción de actualizaciones concurrentes puede dar por resultado datos inconsistentes. Para prevenir esta posibilidad debe mantenerse alguna forma de supervisión en el sistema. Problemas de seguridad. La información de toda empresa es importante, aunque unos datos lo son más que otros, por tal motivo se debe considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar alguna información, por tal motivo para que un sistema de base de datos sea confiable debe mantener un grado de seguridad que garantice la autentificación y protección de los datos. En un banco por ejemplo, el personal de nóminas sólo necesita ver la parte de la base de datos que tiene información acerca de los distintos empleados del banco y no a otro tipo de información.
7. Problemas de integridad. Los valores de datos almacenados en la base de datos deben satisfacer cierto tipo de restricciones de consistencia. Estas restricciones se hacen cumplir en el sistema añadiendo códigos apropiados en los diversos programas de aplicación. 1.3 Uso de bases de datos y sus aplicaciones Las personas son el principal capital de las entidades sin ánimo de lucro por lo que resulta muy importante que la información sobre éstas sea accesible y fácil de manejar. De esta manera, nos resultará sencillo hacer un envío de información por correo a todas las personas relacionadas con la entidad, dar listados de teléfonos de los/as voluntarios/as a los responsables de cada sección o seleccionar a los socios de una misma profesión para que colaboren en una actividad relacionada con su ocupación.
8. A la hora de diseñar una base de datos, conviene "perder" algo de tiempo en pensar sobre estas cuatro cosas: ¿Qué información necesito de cada tipo de persona o entidad? ¿Cómo quiero extraer la información una vez introducida? ¿Qué campos serán libres y qué campos obligarán a elegir entre varias opciones (campos cerrados)? ¿Cuáles serán las opciones de cada uno de los campos cerrados?
9. Definición de base de datos de aplicación. Al definir una aplicación de Notification Services, puede definir el nombre de base de datos de aplicación, el esquema para objetos de aplicación, y si está creando una base de datos nueva, las especificaciones para la base de datos. La base de datos de aplicación almacena datos de eventos, suscripciones y notificaciones, y también metadatos de aplicación. Bases de datos de aplicación. Una aplicación de Notification Services genera y distribuye notificaciones desde suscripciones y eventos. Los datos de suscripciones y eventos, y los datos de notificaciones resultantes, se almacenan en una base de datos. Notification Services también almacena metadatos de aplicación en esta base de datos.
10. 1.4 Arquitectura de base de datos. Arquitectura ANSI La arquitectura de sistemas de bases de datos de tres esquemas fue aprobado por la ANSI-SPARC en 1975 como ayuda para conseguir 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. Nivel interno:Tiene un esquema interno que describe la estructura física de almacenamiento de base de datos. Emplea un modelo físico de datos y los únicos datos que existen están realmente en este nivel. Nivel conceptual:tiene esquema conceptual. Describe la estructura de toda la base de datos para una comunidad de usuarios. Oculta los detalles físicos de almacenamiento y trabaja con elementos lógicos como entidades, atributos y relaciones. Nivel externo o de vistas:tiene varios esquemas externos o vistas de usuario. Cada esquema describe la visión que tiene de la base de datos a un grupo de usuarios, ocultando el resto. El objetivo de la arquitectura de tres niveles es el de separar los programas de aplicación de la base de datos física.
11. 1.4.2 Independencia lógica y física de los datos. Independencia lógica y física de los datos: se refiere a la capacidad de modificar una definición de esquema en un nivel de la arquitectura sin que esta modificación afecte al nivel inmediatamente superior. Para ello un registro externo en un esquema externo no tiene por qué ser igual asu registro correspondiente en el esquema conceptual.
12. 1.5 Estructura general de un sistema de base de datos. Aunque las bases de datos CDS/ISIS pueden parecerse a simple vista como un archivo de información, en realidad consisten en varios archivos lógicamente interrelacionados pero físicamente diferentes. La administración de los archivos físicos es responsabilidad de CDS/ISIS y el usuario normalmente no necesita conocer su estructura en detalle para operar una base de datos. No obstante, algunos conocimientos básicos sobre los objetivos y funciones de los archivos principales asociados a una base de datos pueden ayudar a un mejor entendimiento del sistema.
13. 1.5.1 El gestor de base de datos. Un Sistema Gestor de base de datos (SGBD) es un conjunto de programas que permiten crear y mantener una Base de datos, asegurando su integridad, confidencialidad y seguridad. Por tanto debe permitir: Definir una base de datos: especificar tipos, estructuras y restricciones de datos.. Construir la base de datos: guardar los datos en algún medio controlado por el mismo SGBD Manipular la base de datos: realizar consultas, actualizarla, generar informes. Así se trata de un software de propósito general. Ejemplo de SGBD son Oracle y SQL Server de Microsoft .
14. Algunas de las características deseables en un Sistema Gestor de base dedatosSGBDson: Control de la redundancia: La redundancia de datos tiene varios efectos negativos (duplicar el trabajo al actualizar, desperdicia espacio en disco, puede provocar inconsistencia de datos) aunque a veces es deseable por cuestiones de rendimiento. Restricción de los accesos no autorizados: cada usuario ha de tener unos permisos de acceso y autorización. Cumplimiento de las restricciones de integridad: el SGBD ha de ofrecer recursos para definir y garantizar el cumplimiento de las restricciones de integridad.
15. 1.5.2 Los usuarios de la base de datos. Usuarios de bases de datos El usuario de una base de datos es una entidad de seguridad de la base de datos. Cada usuario de una base de datos es miembro de la función public. Usuarios sofisticados Los usuarios sofisticados interactúan con el sistema sin escribir programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos. Usuarios especializados Algunos usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento.
16. 1.5.3 El administrador de la base de datos (DBA). Persona que toma las decisiones estratégicas y de política con respecto a la información de la empresa, y el DBA es quién proporciona el apoyo técnico necesario para poner en práctica esas decisiones. Por tanto el DBA esta encargado del control general del sistema en el nivel técnico.
17. 1.5.4 El sistema de comunicación entre los distintos componentes. API’s: Es una serie de servicios o funciones que el Sistema Operativo ofrece al programador, como por ejemplo, imprimir un caracter en pantalla, leer el teclado, escribir en un fichero de disco, etc. Visto desde la perspectiva del código máquina, el API aparece como una serie de llamadas es el API aparece como un conjunto de procedimientos y funciones. DOS:esta API ofrece los servicios genéricos de todo Sistema Operativo multitarea, como abrir y cerrar ficheros y colas, leer y escribir en ellos, crear nuevos THREADS, semáforos, etc. KBD, VIO y MOU:estas tres APIs dan acceso a los denominados subsistemas, que son las partes encargadas de virtualizar el acceso a los dispositivos. El API KBD se encarga de la lectura del teclado, el API MOU del ratón, y el API VIO del acceso a la pantalla en modo texto. Todo esto se puede hacer también a través del API DOS, pero el usar los subsistemas da mayor comodidad al usuario, y mayor rapidez a los programas, a costa de una perdida de portabilidad del programa. + WIN:Este API es el que da acceso al Presentation Manager, el gestor de ventanas de OS/2. Permitecrearprogramas de tipográfico.
18. Midleware: Se conoce como midleware a los componentes software que facilitan el desarrollo de aplicaciones cliente/servidor para que puedan ser utilizados en plataformas de distintos fabricantes. El sistema básico de R/3 también conocido como kernel, es el middleware de SAP R/3.
19. 1.6 Arquitectura cliente/servidor . La arquitectura cliente/servidor es un modelo para el desarrollo de sistemas de información en el que las transacciones se dividen en procesos independientes que cooperan entre sí para intercambiar información, servicios o recursos. Se denomina cliente al proceso que inicia el diálogo o solicita los recursos y servidor al proceso que responde a las solicitudes.
27. 1.6.2 Funciones de componentes. Es quien inicia el diálogo, el proceso servidor que pasivamente espera a que lleguen peticiones de servicio y el middleware que corresponde a la interfaz que provee la conectividad entre el cliente y el servidor para poder intercambiar mensajes. Nivel de Presentación:Agrupa a todos los elementos asociados al componente Cliente. Nivel de Aplicación:Agrupa a todos los elementos asociados al componente Servidor. Nivel de comunicación:Agrupa a todos los elementos que hacen posible la comunicación entre los componentes Cliente y servidor. Nivel de base de datos:Agrupa a todas las actividades asociadas al acceso de los datos.
28. Cliente El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor, se le conoce con el término front-end. Este normalmente maneja todas las funciones relacionadas con la manipulación y despliegue de datos, por lo que están desarrollados sobre plataformas que permiten construir interfaces gráficas de usuario (GUI), además de acceder a los servicios distribuidos en cualquier parte de la red. Las funciones que lleva a cabo el proceso cliente son los siguientes puntos: Administrar la interfaz de usuario. Interactuar con el usuario. Procesar la lógica de la aplicación y hacer validaciones locales. Generar requerimientos de bases de datos. Recibir resultados del servidor. Formatear resultados.
29. Servidor Es el proceso encargado de atender a múltiples clientes que hacen peticiones de algún recurso administrado por él. Al proceso servidor se lo conoce con el término back-end. El servidor normalmente maneja todas las funciones relacionadas con la mayoría de las reglas del negocio y los recursos de datos. Las funciones que lleva a cabo el proceso servidor son los siguientes puntos: Aceptar los requerimientos de bases de datos que hacen los clientes. Procesar requerimientos de bases de datos. Formatear datos para trasmitirlos a los clientes. Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de datos.
30. 1.7 Componentes de un gestor de base de datos. Datos.Los datos son la Base de Datos propiamente dicha. Hardware.El hardware se refiere a los dispositivos de almacenamiento en donde reside la base de datos, así como a los dispositivos periféricos (unidad de control, canales de comunicación, etc.) necesarios para su uso. Software.Está constituido por un conjunto de programas que se conoce como Sistema Manejador de Base de Datos (DMBS: Data Base Management System). Este sistema maneja todas las solicitudes formuladas por los usuarios a la base de datos. Usuarios.Existen tres clases de usuarios relacionados con una Base de Datos: El programador de aplicaciones.Es quien crea programas de aplicación que utilizan la base de datos. El usuario final.Es quien accesa la Base de Datos por medio de un lenguaje de consulta o de programas de aplicación. El administrador de la Base de Datos. Es quien se encarga del control general del Sistema de Base de Datos.
31. 1.7.1 Estructura general. Un sistema de base de datos se encuentra dividido en módulos cada uno de los cuales controla una parte de la responsabilidad total de sistema. En la mayoría de los casos, el sistema operativo proporciona únicamente los servicios más básicos y el sistema de la base de datos debe partir de esa base y controlar además el manejo correcto de los datos. Así el diseño de un sistema de base de datos debe incluir la interfaz entre el sistema de base de datos y el sistema operativo.
32. 1.7.2 Funciones. Las funciones de un sistema de base de datos, son: Gestor de archivos. Gestiona la asignación de espacio en la memoria del disco y de las estructuras de datos usadas para representar información. Manejador de base de datos. Sirve de interfaz entre los datos y los programas de aplicación. Procesador de consultas. Compilador de DDL. Convierte las proposiciones DDL en un conjunto de tablas que contienen metadatos, estas se almacenan en el diccionario de datos. Archivo de datos. En él se encuentran almacenados físicamente los datos de una organización. Diccionario de datos. Contiene la información referente a la estructura de la base de datos. Índices. Permiten un rápido acceso a registros que contienen valores específicos.