Generalidades bases de datos

4.232 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
4.232
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
58
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Generalidades bases de datos

  1. 1. FUNDAMENTO BASE DE DATOS INGENIERIA CIVIL UNIVERSIDAD FRANCISCO DE PAULA SANTANDER OCAÑA BASE DE DATOSUna base de datos o banco de datos (en inglés: database) es un conjunto dedatos pertenecientes a un mismo contexto y almacenados sistemáticamentepara su posterior uso. En este sentido, una biblioteca puede considerarse unabase de datos compuesta en su mayoría por documentos y textos impresos enpapel e indexados para su consulta. En la actualidad, y debido al desarrollotecnológico de campos como la informática y la electrónica, la mayoría de lasbases de datos están en formato digital (electrónico), que ofrece un ampliorango de soluciones al problema de almacenar datos.Existen unos programas denominados sistemas gestores de bases de datos,abreviado SGBD, que permiten almacenar y posteriormente acceder a los datosde forma rápida y estructurada.Las aplicaciones más usuales son para la gestión de empresas e institucionespúblicas. También son ampliamente utilizadas en entornos científicos con elobjeto de almacenar la información experimental.Tipos de Bases de DatosBases de datos estáticasÉstas son bases de datos de sólo lectura, utilizadas primordialmente paraalmacenar datos históricos que posteriormente se pueden utilizar paraestudiar el comportamiento de un conjunto de datos a través del tiempo,realizar proyecciones y tomar decisiones.Bases de datos dinámicasÉstas son bases de datos donde la información almacenada se modifica con eltiempo, permitiendo operaciones como actualización y adición de datos, ademásde las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la
  2. 2. base de datos utilizada en un sistema de información de una tienda deabarrotes, una farmacia, un videoclub, etc.Según el contenidoBases de datos bibliográficasSolo contienen un surrogante (representante) de la fuente primaria, quepermite localizarla. Un registro típico de una base de datos bibliográficacontiene información sobre el autor, fecha de publicación, editorial, título,edición, de una determinada publicación, etc. Puede contener un resumen oextracto de la publicación original, pero nunca el texto completo, porque sinoestaríamos en presencia de una base de datos a texto completo (o de fuentesprimarias). Como su nombre lo indica, el contenido son cifras o números. Porejemplo, una colección de resultados de análisis de laboratorio, entre otras.Bases de datos de texto completoAlmacenan las fuentes primarias, como por ejemplo, todo el contenido de todaslas ediciones de una colección de revistas científicas.DirectoriosUn ejemplo son las guías telefónicas en formato electrónico.Bases de datos o "bibliotecas" de información BiológicaSon bases de datos que almacenan diferentes tipos de información provenientede las ciencias de la vida o médicas. Se pueden considerar en varios subtipos: • Aquellas que almacenan secuencias de nucleótidos o proteínas. • Las bases de datos de rutas metabólicas • Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas • Bases de datos clínicas • Bases de datos bibliográficas (biológicas)
  3. 3. Modelos de bases de datosAdemás de la clasificación por la función de las bases de datos, éstas tambiénse pueden clasificar de acuerdo a su modelo de administración de datos.Un modelo de datos es básicamente una "descripción" de algo conocido comocontenedor de datos (algo en donde se guarda la información), así como de losmétodos para almacenar y recuperar información de esos contenedores. Losmodelos de datos no son cosas físicas: son abstracciones que permiten laimplementación de un sistema eficiente de base de datos; por lo general serefieren a algoritmos, y conceptos matemáticos.Algunos modelos con frecuencia utilizados en las bases de datos:Bases de datos jerárquicasÉstas son bases de datos que, como su nombre indica, almacenan suinformación en una estructura jerárquica. En este modelo los datos seorganizan en una forma similar a un árbol (visto al revés), en donde un nodopadre de información puede tener varios hijos. El nodo que no tiene padres esllamado raíz, y a los nodos que no tienen hijos se los conoce como hojas.Las bases de datos jerárquicas son especialmente útiles en el caso deaplicaciones que manejan un gran volumen de información y datos muycompartidos permitiendo crear estructuras estables y de gran rendimiento.Una de las principales limitaciones de este modelo es su incapacidad derepresentar eficientemente la redundancia de datos.Base de datos de redÉste es un modelo ligeramente distinto del jerárquico; su diferenciafundamental es la modificación del concepto de nodo: se permite que un mismonodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía unasolución eficiente al problema de redundancia de datos; pero, aun así, ladificultad que significa administrar la información en una base de datos de red
  4. 4. ha significado que sea un modelo utilizado en su mayoría por programadoresmás que por usuarios finales.Base de datos relacionalÉste es el modelo más utilizado en la actualidad para modelar problemas realesy administrar datos dinámicamente. Tras ser postulados sus fundamentos en1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California),no tardó en consolidarse como un nuevo paradigma en los modelos de base dedatos. Su idea fundamental es el uso de "relaciones". Estas relaciones podríanconsiderarse en forma lógica como conjuntos de datos llamados "tuplas". Pese aque ésta es la teoría de las bases de datos relacionales creadas por EdgarFrank Codd, la mayoría de las veces se conceptualiza de una manera más fácilde imaginar. Esto es pensando en cada relación como si fuese una tabla queestá compuesta por registros (las filas de una tabla), que representarían lastuplas, y campos (las columnas de una tabla).En este modelo, el lugar y la forma en que se almacenen los datos no tienenrelevancia (a diferencia de otros modelos como el jerárquico y el de red). Estotiene la considerable ventaja de que es más fácil de entender y de utilizar paraun usuario esporádico de la base de datos. La información puede serrecuperada o almacenada mediante "consultas" que ofrecen una ampliaflexibilidad y poder para administrar la información.El lenguaje más habitual para construir las consultas a bases de datosrelacionales es SQL, Structured Query Language o Lenguaje Estructurado deConsultas, un estándar implementado por los principales motores o sistemas degestión de bases de datos relacionales.Durante su diseño, una base de datos relacional pasa por un proceso al que se leconoce como normalización de una base de datos.Durante los años 80 (1980-1989) la aparición de dBASE produjo unarevolución en los lenguajes de programación y sistemas de administración dedatos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguajebase para su gestión.
  5. 5. Bases de datos multidimensionalesSon bases de datos ideadas para desarrollar aplicaciones muy concretas, comocreación de Cubos OLAP. Básicamente no se diferencian demasiado de lasbases de datos relacionales (una tabla en una base de datos multidimensionalpodría serlo también en una base de datos multidimensional), la diferencia estámás bien a nivel conceptual; en las bases de datos multidimensionales loscampos o atributos de una tabla pueden ser de dos tipos, o bien representandimensiones de la tabla, o bien representan métricas que se desean estudiar.Bases de datos orientadas a objetosEste modelo, bastante reciente, y propio de los modelos informáticosorientados a objetos, trata de almacenar en la base de datos los objetoscompletos (estado y comportamiento).Una base de datos orientada a objetos es una base de datos que incorporatodos los conceptos importantes del paradigma de objetos: • Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos. • Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases. • Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.Bases de datos documentalesPermiten la indexación a texto completo, y en líneas generales realizarbúsquedas más potentes.Base de datos deductivasUn sistema de base de datos deductivas, es un sistema de base de datos perocon la diferencia de que permite hacer deducciones a través de inferencias. Sebasa principalmente en reglas y hechos que son almacenados en la base dedatos. También las bases de datos deductivas son llamadas base de datoslógica, a raíz de que se basan en lógica matemática.
  6. 6. Gestión de bases de datos distribuidaLa base de datos está almacenada en varias computadoras conectadas en red.Surgen debido a la existencia física de organismos descentralizados. Esto lesda la capacidad de unir las bases de datos de cada localidad y acceder así adistintas universidades, sucursales de tiendas, etc. Características de la base de datos Permite que sólo se puedan ver, los registros de la base de datos, cuando el usuario haya introducido un determinado número de registros en ella. Permite configurar los derechos de edición. Puede agregar entradas profesores y alumnos, si lo permite en la base de datos. Esto no restringe la visualización de sus entradas para todos. Se puede limitar el número máximo de entradas de cada participante. Podemos permitir añadir comentarios a las entradas de la base de datos. Podemos habilitar la revisión del profesor antes de que las entradas sean públicas. Características y objetivos Bases de datosTodos los conceptos referentes a las bases de datos están hoy muy claros ydefinidos formalmente, al contrario que los de las bases de conocimiento. Latecnología de gestión de bases de datos se halla en una etapa muy madura. Lasbases de datos han evolucionado durante los pasados 30 años desde sistemasde archivos rudimentarios hasta sistemas gestores de complejas estructurasde datos que ofrecen un gran número de posibilidades. Los principalesobjetivos de un SGBD son los siguientes: 1. 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
  7. 7. un registro externo en un esquema externo no tiene por qué ser igual a su registro correspondiente en el esquema conceptual. 2. Redundancia mínima: se trata de usar la base de datos como repositorio común de datos para distintas aplicaciones. 3. Acceso concurrente por parte de múltiples usuarios: control de concurrencia mediante técnicas de bloqueo o cerrado de datos accedidos. 4. Distribución espacial de los datos: la independencia lógica y física facilita la posibilidad de sistemas de bases de datos distribuidas. Los datos pueden encontrarse en otra habitación, otro edificio e incluso otro país. El usuario no tiene por qué preocuparse de la localización espacial de los datos a los que accede. 5. Integridad de los datos: se refiere a las medidas de seguridad que impiden que se introduzcan datos erróneos. Esto puede suceder tanto por motivos físicos (defectos de hardware, actualización incompleta debido a causas externas), como de operación (introducción de datos incoherentes). 6. Consultas complejas optimizadas: la optimización de consultas permite la rápida ejecución de las mismas. 7. Seguridad de acceso y auditoría: se refiere al derecho de acceso a los datos contenidos en la base de datos por parte de personas y organismos. El sistema de auditoría mantiene el control de acceso a la base de datos, con el objeto de saber qué o quién realizó una determinada modificación y en qué momento. 8. Respaldo y recuperación: se refiere a la capacidad de un sistema de base de datos de recuperar su estado en un momento previo a la pérdida de datos. 9. Acceso a través de lenguajes de programación estándar : se refiere a la posibilidad ya mencionada de acceder a los datos de una base de datos mediante lenguajes de programación ajenos al sistema de base de datos propiamente dicho.Una base de datos típica conlleva la existencia de tres tipos de usuario conrelación a su diseño, desarrollo y uso: 1. El administrador de bases de datos (DBA: Database Administrator): diseña y mantiene la DB. 2. El desarrollador de aplicaciones (programador): implementa las transacciones e interfaces.
  8. 8. 3. Los usuarios finales: consultan y editan los datos de la DB mediante un lenguaje de consulta de alto nivel. En general, podemos decir que el propósito de una base de datos es doble: a. responder a consultas sobre los datos que contiene, y b. ejecutar transaccionesCOMPONENTES DE UN SISTEMA DE BASE DE DATOSUn sistema de base de datos está compuesto por:Base de datos:Datos del usuario. En la actualidad, casi todas las bases de datos representanlos datos del usuario como afinidades que son tablas de datos. No todas lasafinidades son igualmente deseables; algunas están mejor estructuradas queotras. Para crear afinidades bien estructuradas se realiza un proceso llamadonormalización.Metadatos. Debido a que los productos DBMS están diseñados para almacenary manipular tablas, la mayor parte de ellos almacenan los metadatos en formade tablas, algunas veces llamadas tablas del sistema.Índices. Están encaminados a mejorar el funcionamiento y la accesibilidad de labase de datos. Se usan para ordenar y para obtener un acceso rápido a losdatos. Los índices son muy valiosos pero implican un costo. Cada vez que seactualiza una fila en una afinidad o tabla, también deben actualizarse losíndices. Esto no es malo; sólo significa que los índices no son gratuitos y quedeben reservarse para casos en los que sean de verdad necesarios.Metadatos de aplicación. Se usan para almacenar la estructura en formato deformas, reportes, consultas de usuarios, y otros componentes de aplicación.Normalmente no se accede de forma directa a los metadatos de aplicación sinoque se hace a través de herramientas proporcionadas por el DBMS para tal fin.Sistema administrador de base de datos:
  9. 9. Herramientas de diseño. El subsistema de herramientas de diseño tiene unaserie de elementos que facilitan el diseño y la creación de la base de datos ysus aplicaciones. Por lo general, incluye recursos para crear tablas, formas,consultas y reportes. Los productos DBMS también proporcionan lenguajes deprogramación e interfaces para estos.Utilerías de tiempo de ejecución. El subsistema de tiempo de ejecuciónprocesa los componentes de aplicación que se desarrollan usando lasherramientas de diseño. Otras utilerías de tiempo de ejecución responden aconsultas e imprimen reportes. Adicionalmente hay un componente de tiempode ejecución que procesa las solicitudes del programa de aplicación para leer yescribir datos de la base de datos.Motor del sistema administrador de base de datos. Es el intermediario entrelas herramientas de diseño y las utilerías del subsistema de tiempo deejecución, y los datos mismos.Aplicaciones de bases de datos:Formas. Se emplean para introducir información a la base de datos. En algunasocasiones los identificadores (ID) de los objetos no son desplegados en laaplicación. La razón es que en el modelo del usuario no existen y por lo tantocarecen de significado para él. Se utilizan para que el DBMS identifique cadafila de cada tabla y se denominan claves sustitutas.Consultas. Se usan cuando los usuarios desean consultar los datos paracontestar preguntas o para identificar problemas o situaciones particulares.Para expresar las consultas se puede usar el lenguaje SQL de acceso a losdatos, otra posibilidad es usar la consulta por ejemplo (QBE). En la mayoría delos DBMS las consultas se pueden guardar como parte de la aplicación, de modoque sea posible volverlas a ejecutar. Además en las consultas se puedenespecificar parámetros, lo que significa que se estructuran de forma tal queacepten valores de criterios durante su funcionamiento.Reportes. Un reporte es una presentación que tiene un formato de lainformación de una base de datos. Suelen estar divididos por secciones comoEncabezado, títulos, grupos, detalles, subtotales, totales y pié de página. Lapresentación de la información casi siempre tiene uno o más ordenamientos.
  10. 10. Menús. Se usan para organizar los distintos componentes de la aplicación con elpropósito de que el usuario final acceda a ellos con facilidad, mostrándole lasopciones disponibles y ayudándole a seleccionar las acciones que desea realizar.Programas de aplicación. Los programas de aplicación vienen a ser como elpegamento que nos permite unir el resto de los componentes de maneracoherente y permite realizar procesos y cálculos a la aplicación.Adicionalmente suele haber algunas limitaciones que los DBMS no puedenenforzar directamente en la estructura de los datos y que deben sercodificadas en el programa de aplicación. ARQUITECTURA DE LAS BASES DE DATOSLa arquitectura de sistemas de bases de datos de tres esquemas fue aprobadopor la ANSI-SPARC (American National Standard Institute - StandardsPlanning and Requirements Committee) en 1975 como ayuda para conseguir laseparación entre los programas de aplicación y los datos, el manejo demúltiples vistas por parte de los usuarios y el uso de un catálogo paraalmacenar 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 programasde aplicación de la base de datos física.La mayoría de los SGBD no distinguen del todo los tres niveles. Algunosincluyen detalles del nivel físico en el esquema conceptual. En casi todos losSGBD que se manejan vistas de usuario, los esquemas externos se especificancon el mismo modelo de datos que describe la información a nivel conceptual,aunque en algunos se pueden utilizar diferentes modelos de datos en los nivelesconceptual y externo.
  11. 11. Hay que destacar que los tres esquemas no son más que descripciones de losmismos datos pero con distintos niveles de abstracción. Los únicos datos queexisten realmente están a nivel físico, almacenados en un dispositivo comopuede ser un disco. En un SGBD basado en la arquitectura de tres niveles, cadagrupo de usuarios hace referencia exclusivamente a su propio esquemaexterno. Por lo tanto, el SGBD debe transformar cualquier petición expresadaen términos de un esquema externo a una petición expresada en términos delesquema conceptual, y luego, a una petición en el esquema interno, que seprocesará sobre la base de datos almacenada. Si la petición es de unaobtención (consulta) de datos, será preciso modificar el formato de lainformación extraída de la base de datos almacenada, para que coincida con lavista externa del usuario. El proceso de transformar peticiones y resultadosde un nivel a otro se denomina correspondencia o transformación. Estascorrespondencias pueden requerir bastante tiempo, por lo que algunos SGBD nocuentan con vistas externas.La arquitectura de tres niveles es útil para explicar el concepto deindependencia de datos que podemos definir como la capacidad para modificarel esquema en un nivel del sistema sin tener que modificar el esquema del nivelinmediato superior.Se pueden definir dos tipos de independencia de datos:• La independencia lógica es la capacidad de modificar el esquema conceptual sin tener que alterar los esquemas externos ni los programas de aplicación. Se puede modificar el esquema conceptual para ampliar la base de datos o para reducirla. Si, por ejemplo, se reduce la base de datos eliminando una entidad, los esquemas externos que no se refieran a ella no deberán verse afectados.• La independencia física 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 físicos con el fin de mejorar el rendimiento de las operaciones de consulta o de actualización de datos. Dado que la independencia física se refiere sólo a la separación entre las aplicaciones y las estructuras físicas de almacenamiento, es más fácil de conseguir que la independencia lógica.En los SGBD que tienen la arquitectura de varios niveles es necesario ampliarel catálogo o diccionario, de modo que incluya información sobre cómoestablecer la correspondencia entre las peticiones de los usuarios y los datos,
  12. 12. entre los diversos niveles. El SGBD utiliza una serie de procedimientosadicionales para realizar estas correspondencias haciendo referencia a lainformación de correspondencia que se encuentra en el catálogo. Laindependencia de datos se consigue porque al modificarse el esquema en algúnnivel, el esquema del nivel inmediato superior permanece sin cambios, sólo semodifica la correspondencia entre los dos niveles. No es preciso modificar losprogramas de aplicación que hacen referencia al esquema del nivel superior.Por lo tanto, la arquitectura de tres niveles puede facilitar la obtención de laverdadera independencia de datos, tanto física como lógica. Sin embargo, losdos niveles de correspondencia implican un gasto extra durante la ejecución deuna consulta o de un programa, lo cual reduce la eficiencia del SGBD. Es poresto que muy pocos SGBD han implementado esta arquitectura completa.

×