Your SlideShare is downloading. ×
Generalidades bases de datos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Generalidades bases de datos

1,596
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,596
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
24
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. BASES 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áticamente parasu posterior uso. En este sentido, una biblioteca puede considerarse una base dedatos compuesta en su mayoría por documentos y textos impresos en papel eindexados para su consulta. En la actualidad, y debido al desarrollo tecnológico decampos como la informática y la electrónica, la mayoría de las bases de datosestán en formato digital (electrónico), que ofrece un amplio rango de soluciones alproblema 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 el objetode 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 para estudiar elcomportamiento de un conjunto de datos a través del tiempo, realizarproyecciones 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 labase de datos utilizada en un sistema de información de una tienda de abarrotes,una farmacia, un videoclub, etc.Según el contenidoBases de datos bibliográficasSolo contienen un surrogante (representante) de la fuente primaria, que permitelocalizarla. Un registro típico de una base de datos bibliográfica contieneinformación sobre el autor, fecha de publicación, editorial, título, edición, de una
  • 2. determinada publicación, etc. Puede contener un resumen o extracto de lapublicación original, pero nunca el texto completo, porque sino estaríamos enpresencia de una base de datos a texto completo (o de fuentes primarias). Comosu nombre lo indica, el contenido son cifras o números. Por ejemplo, una colecciónde 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 proveniente delas 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)Modelos de bases de datosAdemás de la clasificación por la función de las bases de datos, éstas también sepueden 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:
  • 3. Bases de datos jerárquicasÉstas son bases de datos que, como su nombre indica, almacenan su informaciónen una estructura jerárquica. En este modelo los datos se organizan en una formasimilar a un árbol (visto al revés), en donde un nodo padre de información puedetener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos queno 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 diferencia fundamentales la modificación del concepto de nodo: se permite que un mismo nodo tengavarios 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í, la dificultadque significa administrar la información en una base de datos de red ha significadoque sea un modelo utilizado en su mayoría por programadores más que porusuarios finales.Base de datos relacionalÉste es el modelo más utilizado en la actualidad para modelar problemas reales yadministrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardóen consolidarse como un nuevo paradigma en los modelos de base de datos. Suidea fundamental es el uso de "relaciones". Estas relaciones podrían considerarseen forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es lateoría de las bases de datos relacionales creadas por Edgar Frank Codd, lamayoría de las veces se conceptualiza de una manera más fácil de imaginar. Estoes pensando en cada relación como si fuese una tabla que está compuesta porregistros (las filas de una tabla), que representarían las tuplas, y campos (lascolumnas 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 para unusuario esporádico de la base de datos. La información puede ser recuperada o
  • 4. almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder paraadministrar 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 una revoluciónen los lenguajes de programación y sistemas de administración de datos. Aunquenunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para sugestión.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 los camposo atributos de una tabla pueden ser de dos tipos, o bien representan dimensionesde 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áticos orientados aobjetos, trata de almacenar en la base de datos los objetos completos (estado ycomportamiento).Una base de datos orientada a objetos es una base de datos que incorpora todoslos 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.
  • 5. Bases de datos documentalesPermiten la indexación a texto completo, y en líneas generales realizar búsquedasmá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.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 les dala capacidad de unir las bases de datos de cada localidad y acceder así a distintasuniversidades, 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 sistemas de
  • 6. archivos rudimentarios hasta sistemas gestores de complejas estructuras de datosque ofrecen un gran número de posibilidades. Los principales objetivos de unSGBD 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 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. 3. Los usuarios finales: consultan y editan los datos de la DB mediante un lenguaje de consulta de alto nivel.
  • 7. 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 representan losdatos 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 almacenar ymanipular tablas, la mayor parte de ellos almacenan los metadatos en forma detablas, 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 los datos.Los índices son muy valiosos pero implican un costo. Cada vez que se actualizauna fila en una afinidad o tabla, también deben actualizarse los índices. Esto no esmalo; sólo significa que los índices no son gratuitos y que deben reservarse paracasos 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:Herramientas de diseño. El subsistema de herramientas de diseño tiene una seriede elementos que facilitan el diseño y la creación de la base de datos y susaplicaciones. Por lo general, incluye recursos para crear tablas, formas, consultasy reportes. Los productos DBMS también proporcionan lenguajes de programacióne interfaces para estos.Utilerías de tiempo de ejecución. El subsistema de tiempo de ejecución procesalos componentes de aplicación que se desarrollan usando las herramientas dediseño. Otras utilerías de tiempo de ejecución responden a consultas e imprimen
  • 8. reportes. Adicionalmente hay un componente de tiempo de ejecución que procesalas solicitudes del programa de aplicación para leer y escribir datos de la base dedatos.Motor del sistema administrador de base de datos. Es el intermediario entre lasherramientas de diseño y las utilerías del subsistema de tiempo de ejecución, y losdatos 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 cada filade cada tabla y se denominan claves sustitutas.Consultas. Se usan cuando los usuarios desean consultar los datos para contestarpreguntas o para identificar problemas o situaciones particulares. Para expresarlas consultas se puede usar el lenguaje SQL de acceso a los datos, otraposibilidad es usar la consulta por ejemplo (QBE). En la mayoría de los DBMS lasconsultas se pueden guardar como parte de la aplicación, de modo que seaposible volverlas a ejecutar. Además en las consultas se pueden especificarparámetros, lo que significa que se estructuran de forma tal que acepten valoresde criterios durante su funcionamiento.Reportes. Un reporte es una presentación que tiene un formato de la informaciónde una base de datos. Suelen estar divididos por secciones como Encabezado,títulos, grupos, detalles, subtotales, totales y pié de página. La presentación de lainformación casi siempre tiene uno o más ordenamientos.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. Adicionalmentesuele haber algunas limitaciones que los DBMS no pueden enforzar directamenteen la estructura de los datos y que deben ser codificadas en el programa deaplicació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 - Standards Planningand Requirements Committee) en 1975 como ayuda para conseguir la separación
  • 9. entre los programas de aplicación y los datos, el manejo de múltiples vistas porparte de los usuarios y el uso de un catálogo para almacenar el esquema de labase 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 deaplicación de la base de datos física.La mayoría de los SGBD no distinguen del todo los tres niveles. Algunos incluyendetalles del nivel físico en el esquema conceptual. En casi todos los SGBD que semanejan vistas de usuario, los esquemas externos se especifican con el mismomodelo de datos que describe la información a nivel conceptual, aunque enalgunos se pueden utilizar diferentes modelos de datos en los niveles conceptual yexterno.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 como puedeser un disco. En un SGBD basado en la arquitectura de tres niveles, cada grupode usuarios hace referencia exclusivamente a su propio esquema externo. Por lotanto, el SGBD debe transformar cualquier petición expresada en términos de unesquema externo a una petición expresada en términos del esquema conceptual,y luego, a una petición en el esquema interno, que se procesará sobre la base dedatos almacenada. Si la petición es de una obtención (consulta) de datos, serápreciso modificar el formato de la información extraída de la base de datosalmacenada, para que coincida con la vista externa del usuario. El proceso detransformar peticiones y resultados de un nivel a otro se denominacorrespondencia o transformación. Estas correspondencias pueden requerirbastante tiempo, por lo que algunos SGBD no cuentan con vistas externas.La arquitectura de tres niveles es útil para explicar el concepto de independenciade datos que podemos definir como la capacidad para modificar el esquema en unnivel del sistema sin tener que modificar el esquema del nivel inmediato 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
  • 10. 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 ampliar elcatálogo o diccionario, de modo que incluya información sobre cómo establecer lacorrespondencia entre las peticiones de los usuarios y los datos, entre los diversosniveles. El SGBD utiliza una serie de procedimientos adicionales para realizarestas correspondencias haciendo referencia a la información de correspondenciaque se encuentra en el catálogo. La independencia de datos se consigue porqueal modificarse el esquema en algún nivel, el esquema del nivel inmediato superiorpermanece sin cambios, sólo se modifica la correspondencia entre los dos niveles.No es preciso modificar los programas de aplicación que hacen referencia alesquema 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, los dosniveles de correspondencia implican un gasto extra durante la ejecución de unaconsulta o de un programa, lo cual reduce la eficiencia del SGBD. Es por esto quemuy pocos SGBD han implementado esta arquitectura completa.