PATRICIA SUAREZ R UTEG 2010 Bases de Datos Dato: Conjunto de caracteres con algn significado, pueden ser numricos, alfabticos, o alfanumricos. Informacin: Es un conjunto ordenado de datos los cuales son manejados segn la necesidad del usuario, para que un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a informacin, primero se debe guardar lgicamente en archivos. Bases de Datos Conceptos bsicos de archivos computacionales.
Campo: Es la unidad ms pequea a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa una caracterstica de un individuo u objeto. Registro: Coleccin de campos de iguales o de diferentes tipos. Archivo: Coleccin de registros almacenados siguiendo una estructura homognea. Base de Datos Definicin de Base de Datos
Una base de datos es una coleccin de informacin ordenada e interrelacionada que es de importancia para una empresa. Base de Datos
Concepto. Puede definirse tambin como una coleccin de datos interrelacionados almacenados en conjunto sin redundancias perjudiciales o innecesarias; su finalidad es la de servir a una aplicacin o ms, de la mejor manera posible.
Los datos se almacenan de modo que resulten independientes de los programas que los usan; se emplean mtodos bien determinados para incluir datos nuevos y para modificar o extraer los datos almacenados. Bases de Datos Definicin de Base de Datos
1. Una Base de Datos, es una coleccin de archivos interrelacionados creado por un DBMS.
2. Es una coleccin de objetos relacionados incluyendo tablas, formularios, informes, consultas y guiones, creada y organizada por un sistema de administracin de Base de Datos.
3. Se define como una coleccin de datos interrelacionados en conjunto sin redundancia perjudicial e innecesaria, su finalidad es la de servir a una aplicacin o ms, de la mejor manera posible, los datos se almacenan de modo que resulten independientes de los programas que los usan, se emplean mtodos bien determinados para incluir datos nuevos y para modificar o extraer los datos almacenados. Dicese que un sistema comprende una coleccin de BD, cuando stas son totalmente independientes desde el punto de vista estructural. Bases de Datos Caractersticas :
1. Es integrada (consta de diferentes tipos de datos relacionados) 2. La redundancia de datos se reduce a un mnimo 3. Es creada y modificada independiente de los programas de aplicacin 4. Es compartida, en forma concurrente, por diversos usuarios 5. Permite satisfacer diferentes necesidades de informacin 6. Se adapta con relativa facilidad a los cambios en las necesidades de informacin de sus usuarios 7. Facilita el control centralizado de los datos y su administracin como recursos corporativos . Bases de Datos Procesos de Administracin :
Planificacin -------------> Qu datos requiere la empresa y sus diferentes Sistemas de Informacin ? Organizacin -------------> Cmo deben estar organizados esos datos ? Control -------------> Quines deben tener acceso a esos datos ? Bases de Datos Los principales objetivos de un DBMS son los siguientes:
Independencia lgica y fsica de los datos: se refiere a la capacidad de modificar una definicin de esquema en un nivel de la arquitectura sin que esta modificacin afecte al nivel inmediatamente superior. Para ello un registro externo en un esquema externo no tiene por qu ser igual a su registro correspondiente en el esquema conceptual.
Redundancia mnima: se trata de usar la base de datos como repositorio comn de datos para distintas aplicaciones.
Acceso concurrente por parte de mltiples usuarios: control de concurrencia mediante tcnicas de bloqueo o cerrado de datos accedidos. Base de Datos Distribucin espacial de los datos: la independencia lgica y fsica facilita la posibilidad de sistemas de bases de datos distribuidas. Los datos pueden encontrarse en otra habitacin, otro edificio e incluso otro pas. El usuario no tiene por qu preocuparse de la localizacin espacial de los datos a los que accede.
Integridad de los datos: se refiere a las medidas de seguridad que impiden que se introduzcan datos errneos. Esto puede suceder tanto por motivos fsicos (defectos de hardware, actualizacin incompleta debido a causas externas), como de operacin (introduccin de datos incoherentes). Bases de Datos Consultas complejas optimizadas: la optimizacin de consultas permite la rpida ejecucin de las mismas.
Seguridad de acceso y auditora: se refiere al derecho de acceso a los datos contenidos en la base de datos por parte de personas y organismos. El sistema de auditora mantiene el control de acceso a la base de datos, con el objeto de saber qu o quin realiz una determinada modificacin y en qu momento.
Respaldo y recuperacin: se refiere a la capacidad de un sistema de base de datos de recuperar su estado en un momento previo a la prdida de datos.
Acceso a travs de lenguajes de programacin estndar: se refiere a la posibilidad ya mencionada de acceder a los datos de una base de datos mediante lenguajes de programacin ajenos al sistema de base de datos propiamente dicho.
Bases de Datos
Funciones del DBA
1. Documentar el proceso de diseo de una Base de Datos 2. Administrar la informacin como recurso corporativo 3. Informar a los usuarios sobre la estructura y contenido de las Bases de Datos 4. Llevar un control del uso de los datos por parte de los programas y de los datos 5. Almacenar esquemas externos, conceptuales e internos de las Bases de Datos mantenidas por el DBMS
Bases de Datos
Una base de datos tpica conlleva la existencia de tres tipos de usuario con relacin a su diseo, desarrollo y uso:
El administrador de bases de datos (DBA: Database Administrator): disea y mantiene la DB.
El desarrollador de aplicaciones (programador): implementa las transacciones e interfaces.
Los usuarios finales: consultan y editan los datos de la DB mediante un lenguaje de consulta de alto nivel.
Bases de Datos
No cabe duda de que la parte ms importante es la llevada a cabo por el DBA. A l le corresponde la eleccin de un determinado modelo de datos y el diseo de la DB. La etapa de diseo es la ms importante, ya que es ah donde se refleja la semntica de la informacin contenida en la DB a travs del denominado esquema conceptual. En general, podemos decir que el propsito de una base de datos es doble:
Responder a consultas sobre los datos que contiene, y ejecutar transacciones
Bases de Datos
Una consulta (query) se expresa como una expresin lgica sobre los objetos y relaciones definidos en el esquema conceptual; el resultado es la identificacin de un subconjunto lgico de la base de datos.
Una transaccin consiste en un nmero de consultas y operaciones de modificacin o actualizacin sobre un subesquema. Las transacciones son atmicas por definicin: todos los pasos de una transaccin han de ser debidamente ejecutados y confirmados como requisito previo para que la transaccin pueda ser llevada a cabo en su conjunto, en caso contrario ha de ser invalidada. Bases de Datos El QL por excelencia es el llamado Structured Query Language (SQL), que, aun con muchas modificaciones y adiciones, es un estndar de las DBMS relacionales (RDBMS: Relational Database Management System).
Hoy en da, sin embargo, con la llegada de las DBMS orientadas a objetos (ODBMS: Object Database Management System), otros estndar de consulta se han hecho necesarios; as ha nacido otro estndar, OQL (Object Query Language), como resultado de una de las primeras implementaciones de ODBMSs (O2, de O2 Technologies). Bases de Datos Adems, una base de datos puede ser consultada y modificada mediante tcnicas "externas", es decir, mediante lenguajes de programacin de propsito general, tpicamente de tercera generacin (3GL). Hoy en da, estas tcnicas se hallan muy avanzadas, existiendo estndares que simplifican el acceso a diferentes DBMSs de forma transparente, tales como ODBC (Open Database Connectivity), que garantizan el acceso a los datos de bases, posiblemente remotas, de distintas compaas.
Bases de Datos
Para llevar a cabo estas tareas, el DBA tiene a su disposicin la principal herramienta de una base de datos, el sistema gestor de bases de datos (DBMS).
A travs de ste se realizan todas las operaciones con los datos (consultas y transacciones), de forma que al DBA no le atae la manera en que los datos se encuentran almacenados fsicamente, pudindose concentrar en los aspectos conceptuales en cuanto a diseo, desarrollo y mantenimiento. Un DBMS tpico integra los siguientes componentes: Bases de Datos 1. Un lenguaje de definicin de datos (DDL: Data Definition Language). 2. Un lenguaje de manipulacin de datos (DML: Data Manipulation Language) 3. Un lenguaje de consulta (QL: Query Language). 4. De forma accesoria, pero ya casi obligada, los DBMS modernos aaden un interfaz de usuario grfico (GUI: Graphical User Interface). 5. consultas mediante ejemplo (posiblemente grficas) ((G)QBE: (Graphical) Query By Example)
Bases de Datos Sistema de Manejo de Base de Datos (DBMS)
Es una coleccin de numerosas rutinas de software interrelacionados cada uno de los cuales es responsable de alguna tarea especfica . El DBMS interpreta y procesa las solicitudes del usuario para recobrar informacin de la BD, el DBMS sirve de interface entre las peticiones del usuario y la Base de Datos Funciones de un DBMS : 1. Crear y organizar la Base de Datos 2. Mantener y establecer las trayectorias de acceso a la Base de Datos de tal manera que los datos en cualquier parte se pueden accesar rpidamente 3. Manejar los datos de acuerdo con las peticiones de los usuarios (concurrencia) 4. Mantener la integridad y seguridad de los datos 5. Registrar el uso de la Base de Datos Bases de Datos Funciones de un DBMS :
1. Organizar lgica y fsicamente los datos de una empresa o de una parte de ella . 2. Mantener las Bases de Datos . 3. Administrar sus propias Bases de Datos . 4. Facilitar el acceso a los datos almacenados . 5. Ejercer un control centralizado de los datos . Bases de Datos Arquitectura de DBMS:
Un DBMS se divide en mdulos que se encargan de cada una de las tareas del sistema general, algunas de las funciones del DBS pueden ser realizadas por el Sistema Operativo en la mayor parte de los casos.
El Sistema Operativo proporciona unicamente los servicios ms elementales y la Base de Datos debe partir de ese fundamento . El diseo de la Base de Datos debe incluir una consideracin de la interfaz entre el DBS y el Sistema Operativo .
Bases de Datos Componentes Funcionales de un DBM
Manejador de Archivos Manejador de Base de Datos Procesador de Consultas (SQL) Precompilador (DML) Compilador (DDL) Bases de Datos Adems se requiere varias estructuras de datos como parte de la implantacin del sistema fsico y son:
Archivos de Datos Diccionario de Datos Indices Bases de Datos Objetivos del Sistema de Gestin de BD:
Independencia de los datos: lgica y fsica Reserva y Seguridad Integridad Respaldo y Recuperacin Redundancia mnima Consistencia de los Datos Bases de Datos Capacidad de Auditoria Control de Concurrencia o Simultaneidad Capacidad de Bsqueda Equilibrio en los requerimientos contradictorios Capacidad para la representacin de relaciones Desempeo Los datos pueden compartirse Se pueden cumplir las normas establecidas
Bases de Datos Tipos y Modelos Hay cuatro modelos principales de bases de datos: el modelo jerrquico, el modelo en red, el modelo relacional (el ms extendido hoy en da; los datos se almacenan en tablas a los que se accede mediante consultas escritas en SQL) y el modelo de bases de datos deductivas. Bases de Datos Componentes de un DBMS
1. PROCESADOR DE CONSULTA : Interacciona con el usuario mediante sentencias especficas en un Lenguaje de Consulta . stos son poderosos y bastante flexibles como para proporcionar soluciones mltiples a un problema, uno de los ms estandares es el SQL ( Lenguaje de Consulta Secuencial) .
1. METODO DE ACCESO : El procesador de consulta tiene que poder accesar los datos requeridos en el menor tiempo posible, estos mtodos se pueden clasificar en dos grupos :
ISAM : Mtodo de acceso secuencial indexado HASHING : Transformacin de clave Bases de Datos
3. EDITORES DE INFORMES : Son herramientas que proporcionan mecanismos para mejorar el formato por defecto de la consulta . El porcesador de consulta obtiene los datos requeridos y el editor de informes toma como entrada estos datos y la especificacin de un formato para producir un informe formateado .
4. GENERADORES DE FORMATOS : Los formatos producen una interfaz amigable al usuario para aadir, borrar, actualizar y recuperar informacin de la Base de Datos, los generadores de formatos toman como entrada un archivo de especificacin que describen el formato de tablas y columnas de la Base de Datos con el formato con el que va a interactuar, un conjunto de reglas de validacin para los datos, mensajes de error, etc... Bases de Datos 6. INTERFAZ CON EL LENGUAJE HOST : Es una interfaz que permite al sistema Host o cualquier otro sistema simular instrucciones del Sistema Operativo.
7. PROCESADOR DE TRANSACCIONES : Tiene como objetivo las cuestiones referentes a la integridad de la Base de Datos , recuperacin y control de la concurrencia .
8. DICCIONARIO DE DATOS : Almacena informacin sobre las tablas y columnas en la Base de Datos, los mtodos de acceso empleados, los privilegios de acceso, etc...
9. Un buen DBMS permitir una fcil carga de datos en la Base de Datos desde archivos planos . Bases de Datos
10. El DBMS deber permitir que mltiples usuarios puedan utilizar las Bases de Datos sin perder la integridad o llegar a una situacin de interbloqueo (esto es importante en aplicaciones de mltiples usuarios) .
11. El DBMS debe ser soportado por varias configuraciones de Hardware, esto es necesario si hay probabilidad de cambiar el Hardware .
12. El DBMS debera proporcionar unos buenos mensajes de error.
13. Verificar la existencia de las restricciones en cuanto al nmero limitado de campos por registros, de registros por archivos o de archivos por Base de Datos . Bases de Datos Administrador de Bases de Datos Persona responsable del desarrollo, administracin y mantenimiento de las Bases de Datos de una organizacin . Funciones : Determinar que Bases de Datos requiere la empresa Realizar el diseo lgico y fsico de las Bases de Datos Escribir los esquemas requeridas Bases de Datos Asistir, asesorar y educar a los usuarios del Sistema de Bases de Datos Establecer e implementar los controles de autorizacin (seguridad de datos), los procedimientos de validacin (integridad de datos) y los mtodos de respaldo Controlar el rendimiento de las Bases de Datos Reorganizar las Bases de Datos para adaptarlas a los cambios en los requerimientos o incrementar su rendimiento
Bases de Datos Base de datos relacional
En informtica, tipo de base de datos o sistema de administracin de bases de datos, que almacena informacin en tablas (filas y columnas de datos) y realiza bsquedas utilizando los datos de columnas especificadas de una tabla para encontrar datos adicionales en otra tabla.
En una base de datos relacional, las filas representan registros (conjuntos de datos acerca de elementos separados) y las columnas representan campos (atributos particulares de un registro). Al realizar las bsquedas, una base de datos relacional hace coincidir la informacin de un campo de una tabla con informacin en el campo correspondiente de otra tabla y con ello produce una tercera tabla que combina los datos solicitados de ambas tablas.
Bases de Datos
Por ejemplo, si una tabla contiene los campos NM- EMPLEADO, APELLIDO, NOMBRE y ANTIGEDAD y otra tabla contiene los campos DEPARTAMENTO, NM- EMPLEADO y SALARIO, una base de datos relacional hace coincidir el campo NM-EMPLEADO de las dos tablas para encontrar informacin, como por ejemplo los nombres de los empleados que ganan un cierto salario o los departamentos de todos los empleados contratados a partir de un da determinado. Bases de Datos En otras palabras, una base de datos relacional utiliza los valores coincidentes de dos tablas para relacionar informacin de ambas.
Por lo general, los productos de bases de datos para microcomputadoras o microordenadores son bases de datos relacionales. Bases de Datos Bases de Datos Tipos de Usuarios de Base de Datos
1. PROGRAMADORES DE APLICACIONES : Estos son profesionales especializados en computacin que interactuan con el sistema mediante llamadas al DML, los cuales estan incrustadas en un programa llamado huesped o Host .
2. USUARIOS CASUALES : Son usuarios complejos que interactuan con el sistema sin escribir programas, escriben consultas en un lenguaje de consulta de Base de Datos .
3. USUARIOS INGENUOS : Son usuarios poco complejos que interactuan con el sistema llamando algunos de los porgramas de aplicacin permanentes escritos previamente .
4. USUARIOS ESPECIALIZADOS : Son usuarios complejos que escriben aplicaciones para la Base de Datos que no estan en el marco tradicional del procesamiento de los datos . Arquitectura Bases de Datos Hay tres caractersticas importantes inherentes a los sistemas de bases de datos: la separacin entre los programas de aplicacin y los datos, el manejo de mltiples vistas por parte de los usuarios y el uso de un catlogo para almacenar el esquema de la base de datos.
El comit ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) propuso una arquitectura de tres niveles para los sistemas de bases de datos, que resulta muy til a la hora de conseguir estas tres caractersticas. Bases de Datos Para conseguir la separacin entre los programas de aplicacin y los datos, el manejo de mltiples vistas por parte de los usuarios y el uso de un catlogo para almacenar el esquema de la base de datos. Nivel interno: Tiene un esquema interno que describe la estructura fsica de almacenamiento de base de datos. Emplea un modelo fsico de datos y los nicos datos que existen estn realmente en este nivel. Nivel conceptual: Describe la estructura de toda la base de datos para una comunidadde usuarios. Oculta los detalles fsicos de almacenamiento y trabaja con elementos lgicos como entidades, atributos y relaciones. Nivel externo o de vistas: tiene varios esquemas externos o vistas de usuario. Cada esquema describe la visin que tiene de la base de datos a un grupo de usuarios, ocultando el resto.
Bases de Datos
Bases de Datos Hay que destacar que los tres esquemas no son ms que descripciones de los mismos datos pero con distintos niveles de abstraccin. Los nicos datos que existen realmente estn a nivel fsico, almacenados en un dispositivo como puede ser un disco. En un SGBD basado en la arquitectura de tres niveles, cada grupo de usuarios hace referencia exclusivamente a su propio esquema externo.
Por lo tanto, el SGBD debe transformar cualquier peticin expresada en trminos de un esquema externo a una peticin expresada en trminos del esquema conceptual, y luego, a una peticin en el esquema interno, que se procesar sobre la base de datos almacenada Bases de Datos Si la peticin es de una obtencin (consulta) de datos, ser preciso modificar el formato de la informacin extrada de la base de datos almacenada, para que coincida con la vista externa del usuario.
El proceso de transformar peticiones y resultados de un nivel a otro se denomina correspondencia o transformacin. Estas correspondencias pueden requerir bastante tiempo, por lo que algunos SGBD no cuentan con vistas externas. Bases de Datos La arquitectura de tres niveles es til para explicar el concepto de independencia de datos que podemos definir como la capacidad para modificar el esquema en un nivel del sistema sin tener que modificar el esquema del nivel inmediato superior. Se pueden definir dos tipos de independencia de datos: La independencia lgica es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos ni los programas de aplicacin. Se puede modificar el esquema conceptual para ampliar la base de datos o para reducirla. Bases de Datos Si, por ejemplo, se reduce la base de datos eliminando una entidad, los esquemas externos que no se refieran a ella no debern verse afectados.
La independencia fsica es la capacidad de modificar el esquema interno sin tener que alterar el esquema conceptual (o los externos). Por ejemplo, puede ser necesario reorganizar ciertos ficheros fsicos con el fin de mejorar el rendimiento de las operaciones de consulta o de actualizacin de datos.
Dado que la independencia fsica se refiere slo a la separacin entre las aplicaciones y las estructuras fsicas de almacenamiento, es ms fcil de conseguir que la independencia lgica. Bases de Datos En conclusin : 1. Nivel interno: es el nivel ms bajo de abstraccin, y define cmo se almacenan los datos en el soporte fsico, as como los mtodos de acceso. 2. Nivel conceptual: es el nivel medio de abstraccin. Se trata de la representacin de los datos realizada por la organizacin, que recoge las vistas parciales de los requerimientos de los diferentes usuarios y las aplicaciones posibles. Se configura como visin organizativa total, e incluye la definicin de datos y las relaciones entre ellos. 3. Nivel externo: es el nivel de mayor abstraccin. A este nivel corresponden las diferentes vistas parciales que tienen de la base de datos los diferentes usuarios. En cierto modo, es la parte del modelo conceptual a la que tienen acceso.
Fig.2.1. Niveles de la arquitectura de bases de datos. Tipos de Bases de Datos JERARQUICAS En ellas se organiza la informacin se organiza con un jerarqua en la que la relacin entre las entidades de este modelo siempre es del tipo padre / hijo.
De esta forma hay una serie de nodos que contendrn atributos y que se relacionarn con nodos hijos de forma que puede haber ms de un hijo para el mismo padre (pero un hijo slo tiene un padre).
Las entidades de este modelo se llaman segmentos y los atributos campos. La forma visual de este modelo es de rbol invertido, en la parte superior estn los padres y en la inferior los hijos. Bases de Datos Bases de Datos RED Se trata de un modelo que se utiliz durante mucho tiempo. Organiza la informacin en registros y enlaces. Los registros representan las entidades del modelo entidad / relacin. En los registros se almacenan los datos utilizando atributos. Los enlaces permiten relacionar los registros de la base de datos.
El modelo en red ms aceptado es el llamado codasyl, que durante mucho tiempo se ha convertido en un estndar. Las bases de datos en red son parecidas a las jerrquicas slo que en ellas puede haber ms de un padre. En este modelo se pueden representar perfectamente relaciones varios a varios. Pero su dificultad de manejo y complejidad hace que se estn abandonando completamente. Bases de Datos Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo ms utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que estn guardados en tablas), y a traves de dichas conexiones relacionar los datos de ambas tablas. Caractersticas Una base de datos relacional se compone de varias tablas o relaciones. No pueden existir dos tablas con el mismo nombre. Cada tabla es a su vez un conjunto de registros (filas y columnas). La relacin entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o forneas).
Bases de Datos Las claves primarias son la clave principal de un registro dentro de una tabla y stas deben cumplir con la integridad de datos. Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave primaria del registro padre; por medio de stas se hacen las relaciones.
Bases de Datos Bases de Datos Bases de Datos Bases de Datos Bases de Datos Bases de Datos Bases de Datos