Una base de datos o banco de datos (en ocasiones abreviada con la sigla BD o con la abreviatura b. d.) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital (electrónico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos SGBD, así como su utilización y administración, se estudian dentro del ámbito de la informática. Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental. Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países. Por ejemplo, en España los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD). Contenido [ocultar]
1 Tipos de base de datos o 1.1 Según la variabilidad de los datos almacenados 1.1.1 Bases de datos estáticas 1.1.2 Bases de datos dinámicas o 1.2 Según el contenido 1.2.1 Bases de datos bibliográficas 1.2.2 Bases de datos de texto completo 1.2.3 Directorios 1.2.4 Bases de datos o "bibliotecas" de información química o biológica 2 Modelos de bases de datos o 2.1 Bases de datos jerárquicas o 2.2 Base de datos de red o 2.3 Bases de datos transaccionales o 2.4 Bases de datos relacionales o 2.5 Bases de datos multidimensionales o 2.6 Bases de datos orientadas a objetos o 2.7 Bases de datos documentales
2.8 Bases de datos deductivas 2.8.1 Lenguaje 2.8.2 Ventajas 2.8.3 Desventajas 2.8.4 Fases 2.8.5 Interpretación 2.8.6 Mecanismos o 2.9 Gestión de bases de datos distribuida (SGBD) 3 Véase también o
Tipos de base de datos Las bases de datos pueden clasificarse de varias maneras, de acuerdo al contexto que se esté manejando, la utilidad de las mismas o las necesidades que satisfagan. Según la variabilidad de los datos almacenados Bases de datos estáticas Son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo, realizar proyecciones, tomar decisiones y realizar análisis de datos para inteligencia empresarial. Bases de datos dinámicas Éstas son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de un supermercado, una farmacia, un videoclub o una empresa. Según el contenido Bases de datos bibliográficas Sólo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resumen o extracto de la publicación original, pero nunca el texto completo, porque si no, estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver
más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras. Bases de datos de texto completo Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas. Directorios Un ejemplo son las guías telefónicas en formato electrónico. Bases de datos o "bibliotecas" de información química o biológica Son bases de datos que almacenan diferentes tipos de información proveniente de la química, las ciencias de la vida o médicas. Se pueden considerar en varios subtipos:
Las 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éculasBases de datos clínicas. Bases de datos bibliográficas (biológicas, químicas, médicas y de otros campos): PubChem, Medline, EBSCOhost.
Modelos de bases de datos Además de la clasificación por la función de las bases de datos, éstas también se 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 como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos ; por lo general se refieren a algoritmos, y conceptos matemáticos. Algunos modelos con frecuencia utilizados en las bases de datos: Bases de datos jerárquicas Artículo principal: Base de datos jerárquica . En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos . El nodo
que no tiene padres es llamado 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 de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. Base de datos de red Artículo principal: Base de datos de red . Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo : se permite que un mismo nodo 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 una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales. Bases de datos transaccionales Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicación de información no es un problema como con las demás bases de datos, por lo general para poderlas aprovechar al máximo permiten algún tipo de conectividad a bases de datos relacionales. Un ejemplo habitual de transacción es el traspaso de una cantidad de dinero entre cuentas bancarias. Normalmente se realiza mediante dos operaciones distintas, una en la que se decrementa el saldo de la cuenta origen y otra en la que incrementamos el saldo de la cuenta destino. Para garantizar la atomicidad del sistema (es decir, para que no aparezca o desaparezca dinero), las dos operaciones deben ser atómicas, es decir, el sistema debe garantizar que, bajo cualquier circunstancia (incluso una caída del sistema), el resultado final es que, o bien se han realizado las dos operaciones, o bien no se ha realizado ninguna. Bases de datos relacionales
Artículo principal: Modelo relacional . Artículo principal: Base de datos relacional . Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 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 de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas , un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos. Durante los años 80 la aparición de dBASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestión. Bases de datos multidimensionales Artículo principal: Base de datos multidimensional . Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creación de Cubos OLAP. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podrí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 campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan métricas que se desean estudiar.
Bases de datos orientadas a objetos Artículo principal: Base de datos orientada a objetos . Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos 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.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones. SQL:2003, es el estándar de SQL92 ampliado, soporta los conceptos orientados a objetos y mantiene la compatibilidad con SQL92. Bases de datos documentales Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos. Bases de datos deductivas Un sistema de base de datos deductiva, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Las bases de datos deductivas son también llamadas bases de datos lógicas, a raíz de que se basa en lógica matemática. Este tipo de base de datos surge debido a las
limitaciones de la Base de Datos Relacional de responder a consultas recursivas y de deducir relaciones indirectas de los datos almacenados en la base de datos. Lenguaje Utiliza un subconjunto del lenguaje Prolog llamado Datalog el cual es declarativo y permite al ordenador hacer deducciones para contestar a consultas basándose en los hechos y reglas almacenados. Ventajas
Uso de reglas lógicas para expresar las consultas. Permite responder consultas recursivas. Cuenta con negaciones estratificadas Capacidad de obtener nueva información a través de la ya almacenada en la base de datos mediante inferencia. Uso de algoritmos de optimización de consultas. Soporta objetos y conjuntos complejos.
Desventajas
Crear procedimientos eficaces de deducción para evitar caer en bucles infinitos. Encontrar criterios que decidan la utilización de una ley como regla de deducción. Replantear las convenciones habituales de la base de datos.
Fases
Fase de Interrogación: se encarga de buscar en la base de datos informaciones deducibles implícitas. Las reglas de esta fase se denominan reglas de derivación. Fase de Modificación: se encarga de añadir a la base de datos nuevas informaciones deducibles. Las reglas de esta fase se denominan reglas de generación.
Interpretación Encontramos dos teorías de interpretación de las bases de datos deductivas:
Teoría de Demostración: consideramos las reglas y los hechos como axiomas.
Los hechos son axiomas base que se consideran como verdaderos y no contienen variables. Las reglas son axiomas deductivos ya que se utilizan para deducir nuevos hechos.
Teoría de Modelos: una interpretación es llamada modelo cuando para un conjunto específico de reglas, éstas se cumplen siempre para esa interpretación. Consiste en asignar a un predicado todas las combinaciones de valores y argumentos de un dominio de valores constantes dado. A continuación se debe verificar si ese predicado es verdadero o falso.
Mecanismos Existen dos mecanismos de inferencia:
Ascendente: donde se parte de los hechos y se obtiene nuevos aplicando reglas de inferencia. Descendente: donde se parte del predicado (objetivo de la consulta realizada) e intenta encontrar similitudes entre las variables que nos lleven a hechos correctos almacenados en la base de datos.
Gestión de bases de datos distribuida (SGBD) La base de datos y el software SGBD pueden estar distribuidos en múltiples sitios conectados por una red. Hay de dos tipos: 1. Distribuidos homogéneos: utilizan el mismo SGBD en múltiples sitios. 2. Distribuidos heterogéneos: Da lugar a los SGBD federados o sistemas multibase de datos en los que los SGBD participantes tienen cierto grado de autonomía local y tienen acceso a varias bases de datos autónomas preexistentes almacenados en los SGBD, muchos de estos emplean una arquitectura clienteservidor. Estas surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etcétera. Véase también
Sistema de gestión de base de datos Modelo relacional, normalización de bases de datos Base de datos orientada a objetos Almacén de datos Minería de datos Base de datos biológica Base de datos probabilística
DesarrolloWeb.com > Manuales > Manual de iniciación a la programación
Un Sistema Gestor de Bases de Datos (SGBD) o DBMA (DataBase Management System) es una colección de programas cuyo objetivo es servir de interfaz entre la base de datos, el usuario y las aplicaciones. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. Un SGBD permiten definir los datos a distintos niveles de abstracción y manipular dichos datos, garantizando la seguridad e integridad de los mismos. Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL, MS SQL Server, etc. Un SGBD 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.
Las características de un Sistema Gestor de Base de Datos SGBD son: • Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios niveles de abstracción. • Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. • Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los cálculos hace necesaria la aparición de redundancias. • Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea. • Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segurizada frente a usuarios malintencionados, que intenten leer información privilegiada; frente a ataques que deseen manipular o destruir la información; o simplemente ante las torpezas de algún usuario autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos. • Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra
circunstancia capaz de corromper la información almacenada. • Respaldo y recuperación. Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder. • Control de la concurrencia. En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea. Así pues, un SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.
El gestor de la base de datos Se trata de un conjunto de programas no visibles al usuario final que se encargan de la privacidad, la integridad, la seguridad de los datos y la interacción con el sistema operativo. Proporciona una interfaz entre los datos, los programas que los manejan y los usuarios finales. Cualquier operación que el usuario hace contra la base de datos está controlada por el gestor. El gestor almacena una descripción de datos en lo que llamamos diccionario de datos, así como los usuarios permitidos y los permisos. Tiene que haber un usuario administrador encargado de centralizar todas estas tareas.
Diccionario de datos Es una base de datos donde se guardan todas las propiedades de la base de datos, descripción de la estructura, relaciones entre los datos, etc. El diccionario debe contener:
La descripción externa, conceptual e interna de la base de datos Las restricciones sobre los datos El acceso a los datos Las descripciones de las cuentas de usuario Los permisos de los usuarios Los esquemas externos de cada programa
El administrador de la base de datos Es una persona o grupo de personas responsables del control del sistema gestor de base de datos. Las principales tareas de un administrador son:
La definición del esquema lógico y físico de la base de datos
La definición de las vistas de usuario La asignación y edición de permisos para los usuarios Mantenimiento y seguimiento de la seguridad en la base de datos Mantenimiento general del sistema gestor de base de datos
Los lenguajes Un sistema gestor de base de datos debe proporcionar una serie de lenguajes para la definición y manipulación de la base de datos. Estos lenguajes son los siguientes:
Lenguaje de definición de datos (DDL). Para definir los esquemas de la base de datos Lenguaje de manipulación de datos (DML). Para manipular los datos de la base de datos Lenguaje de control de datos(DCL). Para la administración de usuarios y seguridad en la base de datos. Se puede definir una base de datos, como un fichero se guarda en campos o delimitadores, por ejemplo, podemos almacenar el nombre y el apellido de las personas de modo separado, de ésta forma es posible obtener del fichero todos los nombres o todos los apellidos, tanto de forma separada como conjunta. Normalmente el número de campos que se tienen en una base varía según las necesidades en cuanto a gestión de datos, de forma que después se pueda explotar la información de forma ordenada y separada, aunque el resto de la información sigue almacenada y guardada en la base de datos Una base de datos, no es solo el fichero en donde están datos, sino que en dicho archivo se encuentra la estructura de los datos, osea, para saber que longitud tiene para contener desde letras a números o incluso otros datos más complejos, dependiendo de la estructura de la base y del sistema gestor. En realidad aparte de los datos que son almacenados en el archivo, también hay una serie de datos, en los que se informa del tipo de campo, los campos y la longitud de cada campo, es lo que se llama gestor de datos, que permite saber que cada registro (un registro es una suma de campos, por ejemplo a Ana LOPEZ LOPEZ, Ana lo guardamos en el campo Nombre y LOPEZ LOPEZ en el campo Apellidos, cada registro es cada persona que almacenamos en la base, osea una persona es un registro y cada registro está constituido por los campos Nombre y Apellido Un Sistema de Bases de Datos (SBD) es una serie de recursos para manejar grandes volúmenes de información, sin embargo no todos los sistemas que manejan información son bases de datos. Un sistema de bases de datos debe responder a las siguientes características: ==== ~- Independencia de los Datos. Es decir, que los datos no dependen del programa y por tanto cualquier aplicación puede hacer uso de los datos.
~- Reducción de la Redundancia. Llamamos redundancia a la existencia de duplicación de los datos, al reducir ésta al máximo conseguimos un mayor aprovechamiento del espacio y además evitamos que existan inconsistencias entre los datos. Las inconsistencias se dan cuando nos encontramos con datos contradictorios. ~- Seguridad. Un SBD debe permitir que tengamos un control sobre la seguridad de los datos. ====
Base de Datos 2. 3. Componentes de una Base de Datos 4. Tipos de Usuarios en Base de Datos 5. Conceptos Básicos de Base de datos 6. Niveles de Abstracción en Base de datos 7. DBMS 8. Integridad de Datos 9. 10. Recuperación de Datos 11. Mirror o Espejo 12. Seguridad de los Datos 13. Control y Administraciónde Recursos 14. Ciclo de vida de las operaciones de Base de datos 15. Diseño de Base de datos 16. Modelo Entidad – Relaciòn 17. Ejercicios Es un sistema que almacena datos que están relacionados. Es un repositorio en donde guardamos información integrada que podemos almacenar y recuperar.
Un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos
Componentes de una Base de Datos:
Hardware:
cintas, etc.
constituido por dispositivo de almacenamiento como discos, tambores,
Software:
que es el DBMS o Sistema Administrador de Base de Datos.
Datos: los cuales están almacenados de acuerdo a la
estructura externa y van a ser
procesados para convertirse en información.
Tipos de Usuarios en Base de Datos
Usuario Final: es la persona
que utiliza los datos, esta persona ve datos convertidos
en información:
Desarrollador de Aplicaciones: es la persona que desarrolla los
sistemas que
interactuàn con la Base de Datos. DBA: es la persona que asegura integridad, consistencia, redundancia, seguridad este es el Administrador de Base de Datos quien sed encarga de realizar el mantenimiento diario o periòdico de los datos.
Las personas tienen acceso DBMS se clasifican de la siguiente manera: USUARIOS INGENUOS. – Son aquellos que interactuan con el sistema por medio de aplicaciones permanentes. USUARIOS SOFISTICADOS.- son aquellos con la capacidad de acceder a la información por medios de lenguajes de consulta. PROGRAMADORES DE APLICACIÓN.- son aquellos con un amplio dominio del DML capaces de generar nuevos módulos o utilerias capaces de manejar nuevos datos en el sistema. USUARIOS ESPECIALIZADOS.- son aquellos que desarrollan módulos que no se refieren precisamente al manejo de los datos, si no a aplicaciones avanzadas como sistemas expertos, reconocimientos de imágenes, procesamiento de audio y demás.
Conceptos Bàsicos de Base de datos
Archivo:
son conjuntos de registros.
Registros:
son conjuntos de campos.
Campos:
es la minìma unidad de referencia.
Niveles de Abstracción en Base de datos
esa es la visiòn del usuario final, se ve como se maneja los datos ya convertidos en información. Externo:
Es aquel en el que se presenta al usuario final y que puede combinaciones o relaciones entre los datos que conforman a la base de datos global. Puede definirse como la forma en el que el usuario aprecia la información y sus relaciones. se ve como esta estructurado la Base Datos, equipos de campo tiene como estan estructurado los registros. Conceptual:
Es aquel en el que se definen las estructuras lógicas de almacenamiento y las relaciones que se darán entre ellas. Ejemplos comunes de este nivel son el diseño de los registros y las
ligas que permitirán la conexión entre registros de un mismo archivo, de archivos distintos incluso, de ligas hacia archivos. Interno:
se ve como se almacena los datos fisicamente.
Es aquel en el que se determinan las características de almacenamiento en el medio secundario. Los diseñadores de este nivel poseen un amplio dominio de cuestiones técnicas y de manejo de hardware. Muchas veces se opta por mantener el nivel físico proporcionado por el sistema operativo para facilitar y agilizar el desarrollo.
DBMS(Data Managment System (Sistema Administrador de Base de Datos) ) Los Sistemas Gestores de Bases de Datos son un tipo de software muy específico, dedicado a servir de interfaz entre las bases de datos y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. En los textos que tratan este tema, o temas relacionados, se mencionan los términos SGBD y DBMS, siendo ambos equivalentes, y acrónimos, respectivamente, de Sistema Gestor de Bases de Datos y DataBase Management System, su expresión inglesa.
Subsistema de un DBMS
Motor ò Núcleo DBMS: recibe los requerimientos lògicos de E/S y los convierte en
operaciones de lectura y escritura. son cualquier tipo de consulta requerimiento de lectura con ingreso de datos (requerimiento de estructura) es ayudado por el Sistema Operativo para convertir estos requerimientos lògicos en fìsicos que actuàn sobre dispositivos de almacenamiento.
Lògicos:
Herramientas de definición: permite definir y modificar la estructura de la Base de Datos, a
este nivel definimos lo que se conoce como "Esquema " que es la definición total de Base de Datos, es que definimos la estructura de la tabla, los tipos de campos, las restricciones para los campos.
Subesquema:
manejo de vistas de datos, de niveles externos.
Esquema:
manejo de niveles conceptuales.
Interface de Procesamiento: me provee de las facilidades de actualizaciòn, despliegue y
visualizaciòn de datos.
Desarrollo de Aplicaciones: me permite generar una aplicación por Ej: generadores de
formas, pantalla, còdigo, herramientas case, etc.
Diccionario de Datos: este es el componente al subsistema con el que interactuàn
directamente el DBA, le proporciona niveles de consulta y reportes útiles para su trabajo de administración. Es la descripción de la estructura de Base de Datos y relaciones entre datos, y programas.
DBMS Caracterìsticas y Objetos:
Independencia de Datos: el DBMS me provee una
independencia de mis datos vs.
las aplicaciones. Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento).
Minimizar Redundancia (Datos repetidos): desperdicio de Espacio de
Almacenamiento.
es proteger nuestro programa de aplicaciones frente a las modificaciones en la estructura de datos y viceversa, ya sea en forma física ò lógica.
Independencia de datos
Independencia Física: es protección a los programas de aplicación debido a
cambios en la estructura de archivos, con cambios en las características de los campos. Ej: cambio de clave primaria a secundaria.
Independencia Lógica: protección a los programas de aplicación cuando se
modifica el esquema. Redundancia , datos repetidos y distribuidos en cualquier parte. El efecto que ocasiona la
redundancia es tener inconsistencia de datos y desperdicio de espacio de almacenamiento. Esta se presenta cuando se repiten innecesariamente datos en los archivos que conforman la base de datos.
Inconsistencia de Datos: dato que esta en lugar con un
valor y encuentra en otro lugar con otro valor. Ej: se actualiza el archivo cliente pero no se actualiza el archivo de transacciones.
Ocurre cuando existe información contradictoria o incongruente en la base de datos.
Integridad de Datos Integridad:
conjunto de seguridades que son utilizadas para mantener los datos correctos.
Ocurre cuando no existe a través de todo el sistema procedimientos uniformes de validación para los datos.
estas fuentes de error se origina si el programa de entrada de datos no esta validado. Ej: fallas de hardware, actualizaciones incompletas, defectos del software, inserción de datos no vàlidos, errores humanos. Fuente de Error:
Una tècnica que usa el BDMS de una entrada de datos no vàlida es la validación. Validación:
validaciones:
es proteger los datos, validar los datos en la entrada de datos. Existen tipos de
Tipo de Dato: es si se define un campo como
carácter ò char y no puede ingresar
nùmeros enteros.
Valor de Dato: si se define un valor entero se puede especificar un rango y no se
puede pasar de ese valor.
Valores Claves / No Nulos:
asegura registros ùnicos y cuyos valores no sean nulos.
Integridad Referencial: asegura al DBMS que no exista registros hijos sin sus
registros padres correspondientes.
Control de Concurrencia ò Simultaniedad Se da en ambiente multi-usuario, tratando de acceder aun objeto de datos al mismo tiempo. Ocurre cuando el sistema es multiusuario y no se establecen los controles adecuados para sincronizar los procesos que afectan a la base de datos. Comúnmente se refiere a la poca o nula efectividad de los procedimientos de bloqueo que es el tamaño de las unidades aseguradas. Ej: la granularidad puede proteger un campo, un registro, un archivo,etc. Granularidad:
es la tècnica que evita errores de concurrencia, se da cuando se desarrolla una espera circular entre dos transacciones y cada una de estas solicita una actualizaciòn sobre el mismo archivo, no permite a otros usuarios el recurso hasta que tèrmine el proceso, se da la espera circular.
Dead-look(bloqueo):
Recuperaciòn de Datos
Recuperar los datos frente a las fuentes de error mencionadas anteriormente. La restauración de la Base de Datos a su estado normal es responsabilidad del DBA, quien esl el responsable de implantar procedimientos de detecciòn de error y recuperaciòn. El DBA es quien tiene el control centralizado de la base de datos. Se persigue con esto reducir el número de personas que tengan acceso a los detalles técnicos y de diseño para la operación del DBMS. Las soluciones principales de un DBA son: DEFINICION DEL ESQUEMA.- Crea el esquema original de la base de datos y genera el diccionario de datos por medio de proposiciones en DDL. DEFINICION DE ESTRUCTURAS DE ALMACENAMIENTO Y METODOS DE ACCESO.- Se encarga de generar a seleccionar estructuras para el medio secundario y definir los métodos de acceso a la información, esto ultimo por medio de proposiciones en DML. MODIFICACION DE ESQUEMA Y ORGANIZACIÓN.- Es una actividad poco frecuente que consiste en rediseñar el esquema de la base de datos. Esto se haría necesario ante la modificación abrupta de las condiciones originales que dieron pie al diseño del esquema primario. Las proposiciones para llevar a cabo esta tarea se realizan en DDL. CONCESION DE AUTORIZACIONES DE ACCESO.- Se encarga de registrar a los usuarios para permitir su acceso al DBMS. Asigna a cada uno de ellos una serie de atributos que le permiten gozar de privilegios como el acceso a determinadas áreas de aplicación, de los datos o del uso de recursos en el sistema. ESPECIFICACION DE LAS LIMITANTES DE INTEGRIDAD.- Crea una serie de tablas donde se especifica el conjunto de restricciones que serán aplicables durante los procesos de actualización Para recuperar: Backup(respaldo) :
disco duro,cinta.
Backup caliente: Base de Datos esta operativa.
Backup frio: Base de Datos no esta operativa.
Mirror o Espejo
Archivos de Logs: (registro de transacciòn)
Son las transacciones diarias que se registran en la Base de Datos. Cuando ocurre un problema se acude a los archivos de logs se hace un REVERSO y tambièn se puede recuperar la ùltima transacción que se hizo.
Seguridad de los Datos Se presentan cuando no es posible establecer claves de acceso y resguardo en forma uniforme para todo el sistema, facilitando así el acceso a intrusos. La seguridad de los datos se puede definir en las siguientes aspectos:
Objeto a asegurar: el primer objeto a asegurar son los objetos, programas y finalmente al esquema. Codificaciòn de Claves: el DBMS provee la seguridad de los Login (usuario y password). Control de Acceso: se especifican seguridades contra accesos indicados orientado a personas no autorizada.
Control y Administraciònde Recursos El DBMS debe proveer al DBA de todos los mecanismos para control y administración de recursos. Para que el DBA con integridad de datos, recuperaciòn de errores e implementaciòn de seguridad.
Establecimiento de Relaciones entre Datos El BDMS debe proveer los recursos para el establecimiento de relaciones entre los datos, cuales son las relaciones: 1 -> 1, 1 -> n, n -> n
Ciclo de vida de las operaciones de Base de datos Etapas :
Planificación del Proyecto
Definición del Sistema Recolección y Análisis de los Requisitos Diseño de la Base de Datos Selección del SGDB / DBMS Diseño de la Aplicación Prototipo Implementaciòn Conversión y Carga de datos Prueba Mantenimiento
Estas etapas no son estrictamente secuenciales de hecho hay que repetir algunas de las etapas varias veces haciendo lo que se conoce como "Ciclos de Re-alimentaciòn" por Ej: los problemas que se encuentran en la etapa de Diseño de la Base de Datos pueden requerir una recolección de requisitos adicional y su posterior análisis. El ciclo de vida de un desarrollo de una base de datos consta de siete pasos: Análisis de las necesidades Estudio de viabilidad Definición de requisitos Diseño conceptual / lógico Implementación Evaluación y Mantenimiento
Planificación del Proyecto: Esta etapa con lleva la planificación de como se puede llevar acabo las etapas de ciclo de vida de la manera màs eficiente, hay tres componentes principales:
El trabajo que se va arealizar. Los recurso para llevarlo acabo. El dinero para pagar todo ello.
Definición del Sistema En esta etapa se especifica el àmbito y los ìndices de la aplicación de la Base de Datos asì como con que otros sistemas interactua. Tambièn hay que determinar quienes son los usuarios y las àreas de la aplicación.
Recolección y Análisis de los Requisitos:
En esta etapa se recoge y analiza los requerimientos de los usuarios y de las àreas de aplicación. Esta información se la puede recoger de varias formas:
Entrevistando el personal de la empresa concretamente aquellos que son considerando expertos en la àrea que se de. Observando el funcionamiento de la empresa. Examinando documentos sobre todo aquellos que se utilizan para recoger o visualizar la información. Utilizando cuestionario para recoger información de grandes grupos de usuarios. Utilizan la experiencia adquirida en el Diseño de Sistemas similares.
Esta etapa tiene como resultado en conjunto de documentos con las especificaciones de requisitos de los usuarios en donde se describen las operaciones que se realizan en la empresa desde distintos puntos de vista. Los requisitos de desarrollo involucran el software y hardware necesario para la implementación, los recursos humanos necesarios (tanto internos como externos), la formación al personal.
Diseño de Base de datos: En esta etapa se crea un esquema conceptual de la base de datos. Se desarrollan las especificaciones hasta el punto en que puede comenzar la implementación. Durante esta etapa se crean modelos detallados de las vistas de usuario y sobre todo las relaciones entre cada elemento del sistema, documentando los derechos de uso y manipulación de los diferentes grupos de usuarios. Si parte de la información necesaria para crear algún elemento establecido ya se encuentra implementado en otro sistema de almacenamiento hay que documentar que relación existirá entre uno y otro y detallar los sistemas que eviten la duplicidad o incoherencia de los datos. El diseño consta, como se vio anteriormente, de tres fases: el diseño global o conceptual, el diseño lógico y el modelo físico. Esta etapa consta de tres fases: diseño conceptual, diseño lògico, diseño fisico de la Base de Datos. La primera fase consiste en la producción de un esquema conceptual que es independiente de todos los consideraciones fisicas.este modelo se refina después en un esquema lògico eliminando las construcciones que no se puede representar en el modelo de Base de Datos escogido (relacional, orientado a objeto,etc). En la tercera fase el esquema lògico que traduce un esquema fisico para el sistema gestor de Base de Datos escogido. La fase de diseño fisico considera las estructuras de
almacenamiento y los mètodos de acceso necesarios para proporcionar un acceso eficiente a la Base de Datos en memoria secundaria.
Selección del SGBD / DBMS: Si no se dispone de un Sistema Gestor de Base de Datos o que se encuentre obsoleto se debe escoger un SGBD que sea adecuado para el sistema de información esta elecciòn se debe hacer en cualquier momento antes del diseño lògico.
Diseño de aplicación: En esta etapa de diseña los programas de aplicación que usaràn y aplicarà la Base de Datos, esta etapa el diseño de la Base de Datos son paralelos en la mayor parte de los casos no se puede finalizar el diseño de las aplicaciones hasta que se a terminado el diseño de Base de Datos. Por otra lado la Base de Datos exige para dar soporte a las aplicaciones por lo que ahora una retroalimentación desde el diseño de las aplicaciones al diseño de la Base de Datos. En esta etapa hay que asegurarse de que toda la funcionalidad especificada en los requisitos de usuarios se encuentra en el diseño de la aplicación.
Prototipo: Esta etapa es opcional es para construir prototipo de la aplicaiòn que permiten a los diseñadores y al usuario probar el sistema, un prototipo es un modelo de trabajo de las aplicaciones del sistema. El prototipo no tiene toda la funcionalidad del sistema final pero es suficiente para que los usuarios puedan usar el sistema e identificar que aspectos estan bien, cuales no son adecuados ademàs de poder sugerir mejora ò la inclusión de nuevos elementos.
Implementaciòn: En esta etapa se crean las definiciones de la Base de Datos a nivel conceptual externo ò interno, asì como los programas de aplicación la implementaciòn de la Base de Datos se realiza mediante las sentencias SQL, estas sentencias se encargan de crear el sistema d la base, los ficheros donde se almacenaràn los datos y las vistas de los usuarios. Los programas de aplicación se implementan utilizando lenguaje de tercera y cuarta generaciòn, partes de estas aplicaciones son transacciones de la Base de Datos que se implementan tambièn mediante lenguaje SQL. La sentencia de este lenguaje se pueden embeber en un lenguaje de programciòn anfitrion como Visual Basic ,Java, etc. Tambièn se implementan en esta etapa todos l,os controles de seguridad e integridad.
Una vez totalmente detallado el modelo conceptual se comienza con la implementación física del modelo de datos, a medida que se va avanzando en el modelo el administrador del sistema va asegurando la corrección del modelo y el validador la utilidad del mismo.
Conversión y Carga de datos: Esta etapa es necesaria cuando se esta reemplazando un sistema antiguo por uno nuevo. Los datos se cargan desde el sistema viejo al nuevo directamente ò si es necesario se convierte al formato que requiera el nuevo SGBD y luego se carga esta etapa se la suele llamar "Migraciòn".
Prueba: En esta etapa se prueba y vàlida el sistema con los requisitos especificados por los usuarios. Para ello se debe diseñar una materia de test con datos reales que se deben llevar acabo de manera metòdica y rigurosa. Si la fase de prueba se lleva correctamente descubrirà los errores en los programas de aplicación y en la estructura de la Base de Datos.
Mantenimiento: Una vez que el sistema esta completamente probado o implementado se pone en marcha. El sistema esta ahora en la fase de mantenimiento en la que se lleva acabo los siguientes tareas: monitoreo de las prestaciones del sistema y mantenimiento, y actualizaciòn del sistema. En esta última etapa todos los usuarios del sistema acceden a la base de datos y deben asegurarse el correcto funcionamiento de la misma, que sus derechos son los adecuados, teniendo a su disposición cuanta información necesiten. También deberán asegurarse que el acceso a los datos es cómodo, práctico, seguro y que se han eliminado, en la medida de lo posible, las posibilidades de error. El administrador se asegura que todos los derechos y todas las restricciones han sido implementadas correctamente y que se ha seguido en manual de estilo en la totalidad de la implementación
Modelo Entidad – Relaciòn
es el proceso mediante el cual podemos identificar las propiedades dinàmicas ò estàticas de un dominio de aplicación con mira a su transformación en un diseño interpretable en un sistema computarizado. Es el plasmar los requerimientos de los usuarios en un programa para poder implementarlo.
Modelaje:
Entidad:
es el objeto sobre el cual se requiere mantener ò almacenar información.
Relaciòn:
es la asociación significativa y estable entre dos entidades
son las propiedades que describen y califican una entidad. Ej: Entidad cliente(nombre, apelliido, direcciòn, edad, sexo)
Atributo:
Las entidades se las representa mediante cajas que se colocan el nombre de la entidad con letras mayùsculas. Ej:
Las relaciones se representan con lìneas que conectan las cajas de las entidades. Ej:
Los atributos se incluyen dentro de las cajas de las entidades y se escriben con minùsculas. Ej:
Entidades: se puede considerar entidades a los sujetos, objetos, a los eventos, a los lugares y a los abstracciones.
Relaciones: las relaciones tiene tres propiedades ò caracterìsticas:
Grado ò Cardinalidad:
Opcionalidad:
que se clasifica en:
es la participación obligatoria u opcional en la entidad de la relaciòn.
Leyenda:
es una expresión que escribe el rol de cada entidad en la relaciòn.
Como se lee el Grado ò Cardinalidad:
Uno a muchos:
una instancia de la entidad A se relaciona con una ò màs instancias
de la entidad B.
Muchos a muchos: una instancia de la entidad A se relaciona con una ò màs
instancias de la entidad B y una instancia de la entidad B se relaciona con uno ò màs instancias de le entidad B.
Uno a uno: una instancia de la entidad A se relaciona con uno y sòlo unainstancia
de la entidad B.
Relaciòn Recursiva Una instancia de una entidad se asocia con instancia de si misma, es opcional en los dos extremos,es decir, no hay el carácter de obligatorio. Ej:
Atributo: Los atributos son empleados para identificar, describir, calificar ò expresar el estado de una entidad. Todo entidad posee un atributo ò combinación de atributos que se denomina "clave primaria" y que emplea para diferenciar cada instancia de los demàs. Adicionalmente los atributos pueden ser obligatoriou opcionales.
A los atributos que forman parte de la clave primaria se los identifica anteponiendoles el signo de numero (#). A los atributos obligatoriose les antepone el asterisco (*). A los atributos opcionales se les antepone un circulo (o).
Ejemplo:
En un diagrama entidad-relaciòn tambièn puede agrupar las entidades en supertipo y en subtipo.
Los supertipo agrupa a dos ò màs entidades subtipo. Los subtipo heredan los atributos de las entidades supertipo.
Cada subtipo puede tener relaciones propias independientes del supertipo. Los subtipos se representan como cajas dibujadas dentro de la caja del supertipo.
EJERCICIOS: COMPAÑÍA DE BOTES SAN JUAN San Juan es un agente que renta embarcaciones a los clientes por una determinada tarifa. San Juan no posee barcos, en lugar de eso los arrienda a nombre a los propietarios que deseen obtener ingresos cuando no usan sus botes. Por tal servicio San Juan cobra una cuota y se especializa en barcos que puedan usarse para viajes de varios días o semanas. La embarcación más pequeña tiene 28 pies de largo y la más grande es de 44. Cada barco esta por completo equipado cuando se renta; gran parte del equipo proporciona el
propietario, San Juan agrega otra parte. El equipo que proporciona el propietario incluye lo que es parte del bote como: radio, brújula, indicadores de profundidad. Otros importantes instrumentos como estufas y refrigeradores. Otros que proporciona el propietario no están instalados como parte del bote tales implementos incluyen velas, cuerdas, anclas bolsas de caucho, salvavidas, y en la cabina platos, cubiertos, utensilios de cocina, etc. San Juan aporta el equipo de consumo que podría considerarse como provisiones, libros, jabón, toallas de cocina y artículos similares. Una importante responsabilidad de San Juan es registrar el equipo que este en el bote, en particular lo que no están fijos en la embarcación. San Juan prefiere conservar registros precisos de sus clientes y los viajes para tener estadísticas de cuales clientes han ido y en que viaje; algunos itinerarios son más peligrosos que otros por tal motivo a San Juan le gustaría saber que clientes tienen determinado experiencias. En algunos viajes los clientes solicitan servicios de una tripulación y San Juan contrata por hora a tales personas. Las embarcaciones necesitan mantenimiento, San Juan incluye servicios precisos de todos esos procesos y costos de mantenimiento incluyendo actividades normales como limpieza, cambia de aceite o representaciones no programadas. En algunos casos son necesarias las invitaciones durante un viaje, en tal caso los clientes se comunican por radio con el despachador de San Juan quien determina la mejor opción para hacer la reparación. Por tanto más estas decisiones los despachadores necesitan información sobre sus opciones de reparación y antecedentes sobre costos y calidad de la reparación.
ENTIDADES:
CLIENTE PROPIETARIO BOTE EQUIPO VIAJE MANTENIMIENTO REPARACIÓN TRIPULACIÓN TIP_EQUIPO
Video club En una tienda de video se necesita mantener información de alrededor de 3000 casetas cada uno de los casetes tiene asignado un número por cada `película se necesita conocer un titulo y categoría por ejemplo: comedia, suspenso, drama, acción, ciencia ficción, etc. Se mantienen algunas copias de muchas películas. Se le da a cada película una identificación y se mantiene seguimiento de lo que contiene cada casete. Un casete puede venir en varios formatos y una película es grabada en un solo casete; frecuentemente las películas son pedidas de acuerdo a un actor especifico Tom Cruise y Demi More son los más populares es por esto que se debe mantener información de los actores que pertenecen a cada película. No en todas las películas actúan artistas famosos, a los clientes de la tienda le gusta conocer datos como el nombre real del actor, y su fecha de nacimiento. En la tienda se mantienen información solo d los actores que aparecen en las películas y que se tiene a disposición. Solo se alquila videos a aquellos que pertenecen al club de videos. Para pertenecer al club se debe tener un buen crédito. Por cada miembro del club se mantiene una ficha con su nombre, teléfono y dirección, cada miembro del club tiene asignado un número de membresía. Se desea mantener información de todos los casetes que un cliente alquila, cuando un cliente alquila un casete se debería conocer e nombre de la película, la fecha en la que se alquila y la fecha de devolución.
ENTIDAD
CLIENTE PELÍCULAS TIPO_PEL ACTORES CASETE ALQUILER
ACTOS VANDÁLICOS Una cadena de hoteles a decidido acabar con los clientes que deterioran el mobiliario del hotel. Quieren guardar en una base de datos los clientes que han deteriorado o robado muebles y cuales son estos muebles. En la base de datos tendremos información de cada hotel (código, dirección, teléfono), así como un conjunto de habitaciones identificadas con un número de identificación único para cada hotel y un número de inmobiliario estándar con un código, descripción precio, por ejemplo: "Silla de cuero, diseño clásico, $43 ". Después de hacer un inventario todo el mobiliario de los hoteles esta identificado, es decir, sabemos que y cuanto elemento de mobiliario hay en cada habitación de cada hotel. Los muebles pueden cambiar de habitación pero no necesitamos guardar la habitación antigua. Para cada habitación guardaremos también si es soleada, si tiene lavado y si tiene nevera. Cada cliente tiene información personal (cedula de identidad, nombre, etc.) y
además un historial de sus actos vandálicos. Para cada cliente guardaremos que muebles y cuantos han deteriorado. También queremos saber la estancia que ha hecho cada cliente en el hotel, guardaremos en un atributo la fecha de llegada y de salida, así como la de la habitación en la que se ha alojado. Un cliente puede alojarse en una misma habitación del hotel en diferentes estancias. Queremos saber los actos vandálicos (que y cuantos muebles) que ha hecho cada cliente en conjunto independientemente de la habitación que se halla producido. Queremos saber los actos vandálicos de cada cliente en cada habitación.
ENTIDADES
CLIENTE HOTEL HABITACIÓN MOBILIARIO ESTANCIA TIPO_CLIENTE ACTO_VANDALICO TIPO_HABITACION TIPO_MUEBLE
Ejercicios Propuestos El Instituto Se pretende dotar a un centro escolar de medios informáticos con el fin de automatizar su gestión. Descripción En el centro se utilizan cuadernillos de notas para cada alumno, donde se ponen las notas correspondientes a cada evaluación de las asignaturas a las que asiste el alumno. Para ello es preciso tener una lista de alumnos que siguen una asignatura y una lista de alumnos que no tienen nota de una asignatura determinada. También se quiere la lista de notas dada por un profesor. Además, cada clase tiene un profesor que hace las funciones de tutor, un profesor puede ser tutor de varias clases e impartir varias asignaturas en una clase, pero una asignatura solo puede ser impartida por un profesor en una clase. En cada clase, hay también dos representantes o delegados. Resultados a considerar El sistema debe dar respuesta a las siguientes preguntas: 1. El profesor J. Pérez imparte Ingles en 4o C (Lista de destinos del profesor por asignatura y clase). 2. P. Sánchez es alumno de la clase 3o A (Lista de alumnos por clase). 3. P. Rodríguez ha obtenido una nota de 6 en Ingles el 12/3/97 (Libretas de notas). 4. La profesora C. Castillo es tutora de 5o B (Lista de tutores). 5. J. Largo es delegado de 3o A (Lista de delegados). 6. El profesor J. Pérez es profesor del Instituto desde Septiembre de 1992.
La asociación "Amigos de la Fiesta" desea recoger en una base de datos toda la información acerca de las corridas de todos que se celebran en España y de todos los datos relacionados con ellas. Se desea tener información acerca de cada corrida, identificada conjuntamente por un número de orden, la feria en la que se celebra y el año de celebración (por ejemplo: orden = 2, feria = San Isidro, Año = 1999). En una determinada corrida actúan una serie de toreros (mínimo 1 y máximo 3) de los que desea guardar su DNI, nombre, apodo y fecha en que tomó la alternativa (fecha en la que se convirtió en matador de toros). Además se desea saber quien fue el torero que le dio la alternativa (padrino) en su día (un torero puede dar la alternativa a varios toreros o a ninguno). En cada corrida un torero obtiene una serie de premios (cuántas orejas, cuántos rabos y si salió por la puerta grande o no) de los que se desea mantener información. Cada torero puede tener un apoderado del que es protegido. A su vez, un apoderado lo puede ser de varios toreros. De él se desea saber su DNI, nombre, dirección y teléfono. Una corrida se celebra en una plaza de toros de la que se desea saber su nombre que se supone único, localidad, dirección y aforo. En una misma plaza se pueden celebrar varias corridas de toros. En cada corrida son estoqueados al menos 6 toros. Cada toro viene identificado por el código de la ganadería a la que pertenece, el año en que nació y un número de orden. Además se desea mantener información acerca de su nombre y color así como el orden en que fue toreado. Cada toro pertenece a una ganadería determinada. De cada ganadería se pretende saber su código, localidad y antigüedad (fecha de creación).
Ejemplos de Enunciados
1. 2. Cada orden de comprar da lugar a una factura.
3. Un empleado pueden o no puede ser un vendedor pero un vendedor puede ser un empleado.
4. Un cliente solamente puede enviar una orden de compra al mismo tiempo cualquier persona que no tenga una orden pendiente no es un cliente.
5. Un cliente es un cliente sin importar el número de orden de compra que tenga pendiente hasta la fecha. Cada orden de compra pertenece a un cliente.
6. Un vendedor puede tener una o más clientes. 7. Cada producto que tenemos en stock esta compuesto de uno ó más partes, cada parte es usada en un solo producto.
MODELO RELACIONAL Modelo Programador
Campo
Relación
Archivo
Tabla
Tupla
Registro
Fila
Atributo
Campo
Columna
Relacional
El conjunto de una base de datos es el conjunto de tabla relacional.
La tabla.- Es un conjunto de restricciones. NORMALIZACIÓN.- El proceso que revisa que la tabla este bien estructurado se llama normalización. La normalización esta basada en el concepto de formas normales cada forma normal tiene un conjunto de reglas que deben ser verificada (1NF, 2NF, 3NF).
Estas formas normales son anidados, es decir que para que una relación este en 3FN debe haber pasado por 2FN y esta por la 1FN.
Conceptos usados en la normalización
Dependencia Funcional.- es la relación que existe entre dos atributos. Ejemplo:
Dado un valor de X existe un valor de Y entonces Y es funcionalmente dependiente de Y.
EMPLEADO Cod_empleado Nombre 001 Juan Perez 002 Ana Quiroz XàY
Claves o llaves.- Es el atributo que le da la diferencia a cada tabla este atributo hace que no tengamos tuplas o filas repetidas.
Cod_cliente 001 002 003 004 005
Nombre_cliente Juan Perez Ana Quiroz Ana Quiroz Juan Perez José Lopez
Dependencia transitoria.- Es la dependencia que esta encadenada.
X Y Z = Dado un valor de "X" existe un valor de "Y" y dado un valor de "Y" existe un valor de "Z" entonces se dice que "z" es transitivamente dependiente de "X".
Primera Forma Normal (1FN) 1. 2. 3. 4.
ID 100 150 175 200
Las celdas o campos deben tener valores singulares. Las entradas de cualquier columna o atributo deben ser de la misma clase. Cada columna debe tener un nombre único. Dos filas o tuplas no pueden ser iguales.
Deporte Valor Ski 200 Natación 50 Squas 50 Natación 50
Al realizar operaciones sobre la tabla se pueden presentar problemas, estos problemas son llamadas anomalías, estas anomalías pueden ser de inserción, actualización, eliminación, etc.
Segunda Forma Normal (2FN) Todo atributo no clave depende de un atributo clave "Eliminar dependencias parciales a la clave Primaria de una Tabla"
Tercera Forma Normal (3FN) Una relación esta en 3FN si y solo si esta en 2FN y tiene dependencias transitivas, es decir, dependencia encadenada.
EJERCICIO APLICANDO NORMALIZACION EMPRESA XYZ
Cliente: _________________________
Nº Factura: __________
Fecha: __________________________
Nº Orden: __________
Código Detalle Producto xxx xxx xxx
Tamaño
xxxxxx xxxxxx xxxxxx
xx xx xx
Cantidad
Precio
O E R
Venta xxx.xx xxx.xx xxx.xx
x x x
Precio
Precio Valor
Dscto. xxx.xx xxx.xx xxx.xx
Especial xxx.xx xxx.xx xxx.xx
xxx.xx xxx.xx xxx.xx
Total Factura $ xxx.xx
1FN
Número_factura Fecha_factura Total_factura *
Numero_orden Fecha_orden
* *
Cta_bco_cliente Nombre_cliente Direccion_cliente Direccion_entrega
*
Codigo_producto Descripcion_producto Tamaño_producto Cantidad_ordenada Cantidad_entregada
Cantidad_restante Precio_venta Precio_dscto Precio_especial Valor_linea
2FN
Número_factura *
Fecha_factura Total_factura Numero_orden
* Fecha_orden Cta_bco_cliente * Nombre_cliente Direccion_cliente Direccion_entrega
Codigo_producto Descripcion_producto Tamaño_producto Cantidad_ordenada * Cantidad_entregada Cantidad_restante Precio_venta Precio_dscto Precio_especial Valor_linea
3 FN
Número_factura * Fecha_factura Total_factura Numero_orden * Fecha_orden Cta_bco_cliente * Nombre_cliente Direccion_cliente Direccion_entrega
Codigo_producto Descripcion_producto * Tamaño_producto Precio_venta Precio_dscto Precio_especial Codigo_factura Codigo_producto * Cantidad_ordenada * Cantidad_entregada Cantidad_restante Valor_linea
Ejercicio 1. Actos vandálicos Una cadena de hoteles ha decidido acabar con los clientes que deterioran el mobiliario del hotel. Quieren guardar en una base de datos los clientes que han deteriorado o robado muebles y cuáles son estos muebles. En la base de datos tendremos información de cada hotel (código, dirección y teléfono), así como un conjunto de habitaciones identificadas por un número de habitación único para cada hotel y un conjunto de elementos de mobiliario estándard con un código, descripción y precio, por ejemplo: "silla de cuero diseño clásico, 9 8’75 €". Después de hacer un inventario, todo el mobiliario de los hoteles está identificado, es decir, sabemos qué y cuantos elementos de mobiliario hay en cada habitación de cada hotel. Los muebles pueden cambiar de habitación, pero no necesitamos guardar la habitación antigua. Para cada habitación, guardaremos también si es soleada, si tiene lavabo y si tiene nevera. Cada cliente tiene información personal (DNI, nombre, etc), y además un historial de sus actos vandálicos: para cada cliente guardaremos qué muebles y cuántos ha deteriorado.También queremos saber las estancias que ha hecho cada cliente en los hoteles, guardando en un único atributo la fecha de llegada y la de salida, así como la habitación en que se ha alojado. Un cliente puede alojarse en una misma habitación de hotel en diferentes estancias.
Ejercicio 1.1: Queremos saber los actos vandálicos (qué y cuantos muebles) que ha hecho cada cliente en conjunto, independientemente de la habitación y hotel que se hayan producido. Ejercicio 1.2: Queremos saber los actos vandálicos de cada cliente en cada habitación del hotel.
Ejercicio 2. Almacenes Unos almacenes quieren hacer un estudio sobre los hábitos de compra de sus clientes. Disponen de un conjunto de artículos identificados por su código de barras, cada uno con una descripción y el nombre de su fabricante. Para cada artículo, quieren probar diversas colocaciones para estudiar como varía su venta. Para cada colocación tendremos un precio y un lema (del tipo "Más dulces que la miel"), no necesariamente diferentes. Como un artículo y un lugar determinan una colocación, no puede existir una colocación sin ningún artículo. Los clientes de nuestro almacén se identifican por su nombre, número de visa, y además queremos guardar su dirección y teléfono. De las compras que realizan, sólo queremos saber qué articulo, en qué colocación y el número de unidades que ha comprado. Diversas compras del mismo artículo en la misma colocación se acumulan en la misma tupla sumando el número de unidades.
Ejercicio 3. Biblioteca En una biblioteca hay que guardar la información de todas las publicaciones que se tienen. Cada publicación tiene un título único. Las publicaciones pueden ser periódicas o no. De las periódicas hay que saber su periodicidad. Las publicaciones periódicas constan de revistas, cada una definida por un volumen, número y año. Cada revista contiene artículos, especificados por autores, título y páginas de la revista. De cada revista (volumen y número) se puede tener más de un ejemplar, caracterizado por un número de ejemplar. Se puede tener más de un ejemplar, aunque no de todos los volúmenes o números. Las publicaciones se pueden clasificar en diferentes temas, que pueden estar agrupados en una relación jerárquica de tema-subtema. Los socios de la biblioteca pueden coger en préstamo todas las publicaciones periódicas que deseen por un periodo de quince días. Los préstamos siempre hacen referencia a los ejemplares concretos de las publicaciones. Si al solicitar un préstamo de una publicación, ésta tiene todos los ejemplares ocupados, el socio se puede poner en una lista de espera para la publicación periódica, para ser avisado en el momento que se devuelva alguno de los ejemplares.
Ejercicio 4. Electricista
La empresa de suministros eléctricos "El Chispa" te encarga hacer un diseño de BD de control de stocks y facturación con los siguientes requerimientos: "El Chispa" vende artículos. De cada artículo se quiere guardar el código del artículo, nombre, color, medidas, fabricante y precio de venta. Por ejemplo: E12, enchufe txuco, blanco, 9x 9 cm, Simon, 2’10 €.
Un artículo no puede ser suministrado por más de un fabricante y no queremos guardar los precios de venta antiguos, sólo el actual. De cada fabricante queremos guardar infomación del código del fabricante, nombre, dirección, població, teléfono y forma de pago (al contado, cheque o transferencia). De cada venta "El Chispa" hace un Doc de entrega/venta, donde constan el código de entrega/venta, fecha, datos del cliente, número y código de los artículos vendidos, precio por unidad y precio total por artículo (número de unidades x precio/unidad). A finales de mes o cuando toque, se agrupan los albaranes hechos a un cliente en una factura donde queremos que conste: código de factura, fecha, datos del cliente, la información de cada albarán (número y nombre de los artículos, precio por unidad y precio total por artículo), total de la factura, forma de pago y vencimiento en caso que el pago no sea al contado. Todo albarán sólo se puede facturar una sola vez. De un cliente se quiere guardar el NIF, nombre, dirección, población y teléfono. Una factura pertenece únicamente a un cliente. Tenemos un único almacen donde guardamos todos los artículos. Queremos guardar el número de artículos que tenemos en el almacen en un momento determinado. Los fabricantes envian artículos al almacen. Queremos guardar los envíos de entrada al almacen. Todo envío consta únicamente de un artículo. De cada envío queremos saber la fecha, código del artículo y número de unidades enviadas. Un fabricante puede enviar el mismo día unidades de un mismo artículo. En este caso se suma el número de unidades enviadas en la misma fecha.
Ejercicio 5. Conflictos bélicos Una organización internacional quiere hacer un seguimiento de los conflictos bélicos que se producen en el mundo. Por esto quiere crear una BD que responda a los siguientes requerimientos: Un conflicto es cualquier lucha armada que afecte a uno o a diversos paises, donde se producen muertos i/o heridos. Todo conflicto se identificará por un nombre o causa que provoca el conflicto. Este nombre puede cambiar con el paso del tiempo, por lo que cada conflicto se identificará con un código numérico único. Para cada conflicto se quiere
guardar los paises queafecta así como el número de muertos y heridos par cada país y el total. Los conflictos pueden ser de diferentes tipos, según la causa que los haya originado, clasificándose, como mucho, en cuatro grupos: territoriales, religiosos, económicos y raciales. En cada uno se guardarán diferentes datos. En los territoriales tendremos las regiones afectadas, en los religiosos las religiones en conflicto, en los económicos las materias primas disputadas y en los raciales las razas enfrentadas. En los conflictos intervienen diferentes grupos armados (como mínimo dos) y diferentes organizaciones intermediarias, pudiendo no haber ninguna. Los mismos grupos armados y organizaciones intermediarias pueden intervenir en diferentes conflictos. Tanto los grupos como las organizaciones podrán entrar y salir del conflicto. En este caso se recogerán las fechas de incorporación y de salida. Podría ser que en un momento determinado un grupo u organización no interviniera en ningún conflicto. Para cada grupo armado se guarda un código que se le asigna y un nombre. Cada grupo armado dispone de una o más divisiones y es liderado por un único líder político. Las divisiones de que dispone un grupo se numeran consecutivamente y se registra el número de barcos, tanques, aviones y hombres de que dispone así como les bajas que ha tenido. Para los grupos armados se obtiene el número de bajas como la suma de las bajas producidas en todas las divisiones. Los traficantes de armas suministran diferentes tipos de armamento a los grupos armados. De cada tipo de arma se recoge un nombre y un indicador de su capacidad destructiva. De cada traficante se tiene un nombre y los diferentes tipos y cantidades de armas que puede suministrar. Se guarda el número total de armas de cada tipo que cada traficante suministra a un grupo armado. Los líderes políticos se identifican por su nombre y por código del grupo armado que lideran. Además se guarda una descripción en texto de los apoyos que ha recibido. Cada división la pueden dirigir conjuntamente un máximo de tres jefes militares, a pesar de que cada jefe militar no dirige más que una división. A cada jefe militar se le identifica por un código y rango que tiene. Dado que un jefe militar no actúa por iniciativa propia, sino por iniciativa de un único líder político de los que lideran el grupo armado donde pertenece el jefe, queremos saber quién es este líder político a quien obedece. De las organizaciones intermediarias se recojerá su código, nombre, tipo (gubernamental, no gubernamental, internacional), la organización de quien depende (una como máximo), el número de personas que mantiene desplegadas en cada conflicto y el tipo de ayuda que da en cada conflicto que puede ser únicamente uno dels siguientes tipos: médica, diplomática o presencial.
Con diferentes finalidades, los líderes políticos dialogan con las organizaciones. Se desea recoger explícitamente esta información. Así, para cada líder se guardarán aquellas organizaciones con las que dialoga y viceversa.
Ejercicio 6. Parques naturales El ministerio de Medio Ambiente decide crear un sistema de información sobre parques naturales gestionados por cada Comunidad Autónoma. Después de un análisis exhaustivo del contexto se ha llegado a las siguientes conclusiones: Una Comunidad Autónoma (CA) puede tener varios parques naturales. En toda la comunidad autónoma existe un único organismo responsable de los parques. Un parque puede estar compartido por más de una comunidad. Un parque natural se identifica por un nombre y la fecha en que fué declarado parque natural, y está compuesto por varias áreas identificadas por un nombre (único dentro del parque pero puede ser genérico entre parques naturales) y una extensión en kilómetros cuadrados. Por motivos de eficiencia se quiere favorecer las consultas que hagan referencia al número de parques existentes en cada CA y la superficie total declarada como parque natural en cada CA. En cada área residen especies que pueden ser de tres tipos: vegetales, animales i minerales minerales.. Cada especie tiene una denominación científica, una denominación vulgar y un número de individuos en cada área. De las especies vegetales se quiere saber si tienen floración y en qué periodo (mes) se produce. De los animales se quiere saber su tipo de alimentación (herbívora, carnívora u omnívora) y su periodo de celo. De los minerales se quiere saber si se trata de cristales o rocas rocas.. Interesa, además, registrar qué especies sirven de alimento a otras especies, teniendo en cuenta que ninguna especie mineral se considera alimento de ninguna otra especie y que una especie vegetal no se alimenta de ninguna otra especie. Cada parque tiene un personal en dedicación exclusiva. De este personal se guarda el DNI, número de la SS, nombre y apellidos, dirección, teléfonos (fijo y movil) y sueldo. Se distinguen cuatro tipos de personal: • Personal de gestión: registra los datos de los visitantes del parque y se situan a la entrada
del parque. Las entradas se identifican por un número y orientación (N, S, E, O). área determinada del parque que recorre un vehículo de un tipo determinado y con una matrícula. • Personal de vigilancia: vigila una
• Personal de conservación: mantiene y conserva un área determinada del parque. Cada uno
realiza una tarea determinada (limpiar, dar de comer, jardinería, etc.) en un lugar concreto del área (caminos, zona recreativa, jardines, etc.).
• Personal investigador: tiene una titulación que ha y que guardar y puede realizar sólo o en
grupo proyectos de investigación sobre una determinada especie. Un proyecto de investigación tiene un título, presupuesto presupuesto,, un único investigador principal, un periodo de realización y un conjunto de investigadores que participan. Un visitante (DNI, nombre, apellidos, dirección y profesión) puede alojarse en els alojamientos que tiene el parque. Los alojamientos tienen una capacidad limitada y una determinada categoría. Los alojamientos organizan excursiones al parque en vehículo o a pié unos determinados días de la semana y a horas determinadas. Para ir a estas excursiones hay que ser visitante del parque.
Ejercicio 7. ONG La coordinadora nacional de ONGs quiere mantener una base de datos de las asociaciones de este tipo que existen en nuestro país. Por ello necesita guardar información sobre cada asociación, los socios que las forman, los proyectos que realizan y los trabajadores que particpan. De las asociaciones se quiere almacenar su CIF, nombre, dirección, provincia, el tipo de ONG (ecologista, de integración integración,, de desarrollo, etc.) así como si está declarada de utilidad pública por el Ministerio de Interior. Cada asociación está formada por socios de quienes se quiere conocer su DNI, nombre y apellidos, dirección, provincia, fecha de alta de la asociación, cuota mensual con la que colaboran y la aportación anual que realizan. La aportación anual será el total de las cuotas mensuales más otras aportaciones voluntarias. Cada trabajador de una ONG se identifica por su DNI, nombre y apellidos, dirección, teléfonos y fecha de ingreso. Todo trabajador trabaja para una única ONG. Estos trabajadores pueden ser de dos tipos: profesionales y voluntarios. Los profesionales cobran un sueldo y ocupan un cierto cargo en la asociación. Se quiere guardar el cargo que ocupan, la cantidad que pagan a la SS i el porcentaje de IRPF que se les descuenta. Los voluntarios trabajan en la organización desinteresadamente. Queremos saber de ellos su edad, profesión y horas que dedican a la asociación. Las asociaciones realizan proyectos a los cuales están asignados sus trabajadores. Un trabajador puede trabajar en diferentes proyectos de un mismo país. De cada proyecto se quiere almacenar un número de identificación en la ONG, país y región donde se realiza, el objectivo que pretende y el nombre de personas que afecta.
Ejercicio 8. Pinacoteca El Ministerio de Educación y Ciencia quiere tener información sobre todos los cuadros que se encuentran en las pinacotecas.
De cada pinacoteca se quiere saber el nombre único, ciudad donde se encuentra, dirección y extensión en metros cadrados. Cada pinacoteca tiene un conjunto de cuadros de los cuales se quiere guardar el código (único para todas las pinacotecas), nombre, medidas, fecha en que se pintó y técnica utilizada par pintarlo. Cada cuadro es pintado por un único pintor, del que queremos saber el nombre y apellidos, ciudad y país donde nació, fecha de nacimiento y fecha de la muerte. muerte. Un pintor puede tener un único maestro, pero un maestro puede serlo de varios pintores. Los pintores pueden pertenecer o no a una escuela de la cual se quiere saber el nombre así como el país y fecha en que apareció. Los pintores pueden tener también uno o varios mecenas que los protejen. De los mecenas queremos saber el nombre y apellidos, país y fecha de nacimiento, fecha de la muerte y la fecha de inicio y final del soporte que dió al pintor. Un mecenas puede serlo de varios pintores y un pintor puede tener varios mecenas en periodos diferentes. Se quiere recoger la relación que existe entre un pintor y su mecenas.
Ejercicio 9. Proyectos de investigación En la UAB se quiere llevar un un control sobre els proyectos de investigación que se realizan. Se quiere diseñar una BD que contenga toda la información sobre los proyectos, departamentos, grupos de investigación y profesores. Se consideran los siguientes requisitos: Un departamento se identifica por un nombre, código, centro (Facultad o Escuela) donde está situado, dirección, profesor de la universidad que ejerce como director de departamento y un teléfono de contacto (secretaría de departamento). Dentro de un departamento se crean Unidades donde están adscritos los profesores. Todo profesor ha de pertenecer a una unidad. Cada unidad tiene un nombre único dentro de la universidad, pertenece a un único departamento i está asociada a un área de conocimiento (CCIA, ATC, etc.). Cada unidad tiene un jefe de unidad que ha de ser profesor de universidad. Un profesor del departamento está identificado por un DNI, nombre y apellidos, años de experiencia en investigación, unidad a la que pertenece y proyectos en que trabaja. Existen tres tipos de profesorado: Funcionario (Catedráticos de Universidad y Titulares de Universidad), Ayudantes de Universidad y Asociados. Del personal funcionario queremos saber el código de funcionario, el año de su toma de posesión y perfil de la asignatura a la que opositó. De los Ayudantes de Universidad queremos saber la fecha de incorporación. Del Asociado queremos saber la fecha de incorporación y la empresa en que trabaja.
Cada proyecto de investigación tiene un nombre, código único, presupuesto, fechas de inicio y final del proyecto y un único profesor que ejerce de investigador principal del proyecto. Un proyecto puede estar financiado por uno o varios programas nacionales. Un programa nacional viene identificado per un nombre único y la cantidad total de dinero que el programa dispone para financiar proyectos. Dentro de cada programa cada proyecto tiene un número asociado y una cantidad de dinero con que el programa financia el proyecto. Un profesor puede participar en varios proyectos y puede ser investigador principal de varios proyectos. En cada proyecto un profesor se incorpora en una determinada fecha y lo abandona en otra con una determinada dedicación (horas por semana). Un profesor puede incorporarse más de una vez a un proyecto en fechas separadas.
Ejercicio 10. Reserva de salas La ETSE quiere controlar el sistema de reservas de sus salas que pone a disposición del personal de la Escuela durante un curso académico con las siguientes restricciones: De cada sala (sala de grados, sala de actos, seminarios, aulas) queremos saber el código (Q2/xxxx,Q0/xxxx, etc.), el tipo de sala (aula, seminario, sala de actos, sala de grados, etc.), capacidad y equipamiento audiovisual que contiene de forma permamente. Del equipamiento audiovisual que tiene la Escuela queremos guardar un código único, nombre (proyector, cañón, etc.), si és permanente o móvil y la sala donde se encuentra, caso de que sea fijo. Tenemos cuatro tipos de equipamiento: cañón de proyección, proyector de transparencias, proyector de diapositivas y ordenador. Del cañón de proyección queremos saber la marca, modelo, luminosidad y resolución máxima en la que trabaja. Del proyector de transparencias queremos conocer su luminosidad y si acepta transparencias en color o no. Del proyector de diapositivas interesa guardar la marca, modelo, si admite cargador clásico o moderno y luminosidad. Del ordenador queremos saber el procesador, RAM y resolución máxima. Un profesor puede reservar una sala en una fecha concreta (dia, mes y año) a intervalos de hora (de 12:00 a 13:00, de 17:00 a 18:00). Cuando reserva la sala, el profesor también reserva todo el equipamiento fijo que contiene la sala. Un profesor también puede reservar equipamiento audiovisual móvil con un número variable (2 cañones, 3 proyectores, etc.) en una fecha concreta (día, mes y año) a intervalos de una hora. Dada una fecha y una hora, queremos saber las salas disponibles y el equipamiento audiovisual disponible. A finales de curso queremos saber el grado de ocupación de las salas.
¿Qué son las bases de datos? Una base de datos es un ―almacén‖ que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar fácilmente. A continuación te presentamos una guía que te explicará el concepto y características de las bases de datos. El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada. Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos. Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.
Definición de base de datos
Se define una base de datos como una serie de datos organizados y relacionados entre sí, los cuales son recolectados y explotados por los sistemas de información de una empresa o negocio en particular.
Características Entre las principales características de los sistemas de base de datos podemos mencionar:
Independencia lógica y física de los datos. Redundancia mínima. Acceso concurrente por parte de múltiples usuarios. Integridad de los datos. Consultas complejas optimizadas. Seguridad de acceso y auditoría. Respaldo y recuperación. Acceso a través de lenguajes de programación estándar.
Sistema de Gestión de Base de Datos (SGBD) Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.
Ventajas de las bases de datos Control sobre la redundancia de datos: Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento , además de provocar la falta de consistencia de datos. En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se puede eliminar la redundancia completamente, ya que en ocasiones es necesaria para modelar las relaciones entre los datos.
Consistencia de datos: Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes.
Compartición de datos:
En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos los usuarios que estén autorizados.
Mantenimiento de estándares: Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel de la empresa como los nacionales e internacionales. Estos estándares pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estándares de documentación, procedimientos de actualización y también reglas de acceso.
Mejora en la integridad de datos: La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas.
Mejora en la seguridad: La seguridad de la base de datos es la protección de la base de datos frente a usuarios no autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros.
Mejora en la accesibilidad a los datos: Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicación que realice tal tarea.
Mejora en la productividad: El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros típicas de los programas de aplicación. El hecho de disponer de estas funciones permite al programador centrarse mejor en la función específica requerida por los usuarios, sin tener que preocuparse de los detalles de implementación de bajo nivel.
Mejora en el mantenimiento: En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se ven afectados. Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos.
Aumento de la concurrencia: En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de este tipo.
Mejora en los servicios de copias de seguridad: Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos. En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.
Desventajas de las bases de datos Complejidad: Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos.
Coste del equipamiento adicional: Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la implantación de un sistema de bases de datos sea más cara.
Vulnerable a los fallos:
El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup).
Tipos de Campos Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre los más comunes podemos nombrar:
Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin decimales” y reales “decimales”. Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”. Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados. Fechas: almacenan fechas facilitando posteriormente su explotación. Almacenar fechas de esta forma posibilita ordenar los registros por fechas o calcular los días entre una fecha y otra. Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres). Autoincrementables: son campos numéricos enteros que incrementan en una unidad su valor para cada registro incorporado. Su utilidad resulta: Servir de identificador ya que resultan exclusivos de un registro.
Tipos de Base de Datos Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:
MySql: es una base de datos con licencia GPL basada en un servidor. Se caracteriza por su rapidez. No es recomendable usar para grandes volúmenes de datos.
PostgreSql y Oracle: Son sistemas de base de datos poderosos. Administra muy bien grandes cantidades de datos, y suelen ser utilizadas en intranets y sistemas de gran calibre. Access: Es una base de datos desarrollada por Microsoft. Esta base de datos, debe ser creada bajo el programa access, el cual crea un archivo .mdb con la estructura ya explicada. Microsoft SQL Server: es una base de datos más potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.
Modelo entidad-relación Los diagramas o modelos entidad-relación (denominado por su siglas, ERD ―Diagram Entity relationship‖) son una herramienta para el modelado de datos de un sistema de
información. Estos modelos expresan entidades relevantes para un sistema de información, sus inter-relaciones y propiedades.
Cardinalidad de las Relaciones El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:
Relaciones de uno a uno: una instancia de la entidad A se re laciona con una y solamente una de la entidad B. Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B. Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la entidad B.
Estructura de una Base de Datos Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente. Cada base de datos contiene una o más tablas, que cumplen la función de contener los campos. En el siguiente ejemplo mostramos una tabla ―comentarios‖ que contiene 4 campos.
Los datos quedarían organizados como mostramos en siguiente ejemplo:
Por consiguiente una base de datos posee el siguiente orden jerárquico:
Tablas Campos Registros Lenguaje SQL
El lenguaje SQL es el más universal en los sistemas de base de datos. Este lenguaje nos permite realizar consultas a nuestras bases de datos para mostrar, insertar, actualizar y borrar datos. A continuación veremos un ejemplo de ellos:
Mostrar: para mostrar los registros se utiliza la instrucción Select. Select * From comentarios. Insertar: los registros pueden ser introducidos a partir de sentencias que emplean la instrucción Insert. Insert Into comentarios (titulo, texto, fecha) Values ('saludos', 'como esta', '22-10-2007')
Borrar: Para borrar un registro se utiliza la instrucción Delete. En este caso debemos especificar cual o cuales son los registros que queremos borrar. Es por ello ne cesario establecer una selección que se llevara a cabo mediante la cláusula Where. Delete From comentarios Where id='1'. Actualizar: para actualizar los registros se utiliza la instrucción Update. Como para el caso de Delete, necesitamos especificar por medio de Whe re cuáles son los registros en los que queremos hacer efectivas nuestras modificaciones. Además, tendremos que especificar cuáles son los nuevos valores de los campos que deseamos actualizar. Update comentarios Set titulo='Mi Primer Comentario' Where id='1'.
No te pierdas la sección de Foros del Web dedicada especialmente al tema de las bases de datos. Base de datos (módulo) Base de datos
Características de la base de datos Agregar una base de datos Detalles de una base de datos Plantillas de la base de datos Campos de la base de datos Conjunto predefinido Agregar un registro en la base de datos Ver una base de datos Eliminar una Base de datos Usos didácticos Enlaces
Moodle 1.6 Esta actividad permite que los usuarios incorporen datos en un formulario diseñado por el profesor del curso. Las entradas se pueden clasificar, buscar, etc. Las entradas pueden contener el texto, imágenes y otros formatos de información. Este módulo es una novedad en la versión de Moodle 1.6, pero también funciona con Moodle 1.5.4.
Permite crear una base de datos accesible, en lectura y escritura, tanto al alumnado como al profesorado. Tiene diferentes tipos de campos: o Texto o Imágenes o Archivo o URL o Fecha o Menú o Menú (Selección múltiple) o Botón de marcar (Checkbox) o Botones de elección (Radio buttons) Su icono estándar es:
El Módulo Base de Datos permite a los profesores y/o estudiantes construir, mostrar y buscar un repositorio de entradas con registros sobre cualquier tema concebible. El formato y la estructura de estas entradas pueden ser casi ilimitadas, incluyendo imágenes, archivos, URLs, números y texto entre otras cosas. Usted puede estar familiarizado con tecnologías similares para crear bases datos como pueden ser Microsoft Access o Filemaker.
Contenido [ocultar]
1 Cómo usar el módulo Base de Datos 2 Ejemplos de Bases de datos 3 Ver también o 3.1 Tabla de módulos de Actividades
Cómo usar el módulo Base de Datos
Lo primero que debe hacer es agregar una base de datos. Se le requerirá un nombre, indique algún texto descriptivo que indique el propósito a los usuarios y complete otras pocas opciones. Seguidamente defina el tipo de Campos que definan la información que desee almacenar. Por ejemplo, una base de datos de pintores famosos puede tener un campo de imágen llamado cuadro, para subir un archivo de imágen que muestre e l cuadro, y dos campos de texto llamados artista y título para el nombre del artista y el título del cuadro. Tiene la posibilidad, opcional, de editar las Plantilla para modificar la manera en que la base de datos mostará las entradas. Note que si usted, más tarde, edita los campos de la base de datos, deberá usar el Botón Restaurar plantilla, o manualmente editar la plantilla, para asegurar que los nuevos campos son correctamente añadidos en la visualización. Finalmente el Profesor y/o los Alumnos pueden empezar a introducir datos y (opcionalmente) comentar o calificar otros envíos. Estas e ntradas pueden ser visualizadas como registro único, lista o pueden ser buscadas y ordenadas.
Ejemplos de Bases de datos En Moodle.org tenemos tres buenos ejemplo de aplicación de módulo Base de datos:
Moodle Buzz, Una base de datos de artículos sobre Moodle con su título, autor y el enlace Web. Themes, Una base de datos sobre Temas de Moodle con captura, enlace para su descarga y comentarios de los usuarios. Modules and plugins, Una base de datos sobre los módulos de Moodle que contiene enlaces Web (descarga, docum
Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que están guardados en tablas), y a través de dichas conexiones relacionar los datos de ambas tablas, de ahí proviene su nombre: "Modelo Relacional". Tras ser postuladas sus bases en 1970 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 de datos .1
Contenido [ocultar]
1 Características 2 Elementos o 2.1 Relaciones base y derivadas o 2.2 Restricciones o 2.3 Dominios o 2.4 Clave única o 2.5 Clave primaria
2.6 Clave foránea 3 Clave índice o 3.1 Procedimientos almacenados 4 Estructura 5 Manipulación de la información 6 Manejadores de base de datos relacionales 7 Ventajas y desventajas 8 Diseño de las bases de datos relacionales 9 Véase también 10 Referencias 11 Enlaces externos o
[editar] Características
Una base de datos relacional se compone de varias tablas o relaciones. No pueden existir dos tablas con el mismo nombre ni registro. Cada tabla es a su vez un conjunto de registros (filas y columnas). La relación entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o foráneas). 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.
[editar] Elementos [editar] Relaciones base y derivadas En una base de datos relacional, todos los datos se almacenan y se accede a ellos por medio de relaciones. Las relaciones que almacenan datos son llamadas "relaciones base" y su implementación es llamada "tabla". Otras relaciones no almacenan datos, pero son calculadas al aplicar operaciones relacionales. Estas relaciones son llamadas "relaciones derivadas" y su implementación es llamada "vista" o "consulta". Las relaciones derivadas son convenientes ya que expresan información de varias relaciones actuando como si fuera una sola.
[editar] Restricciones Una restricción es una condición que obliga el cumplimiento de ciertas condiciones en la base de datos. Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la base de datos sea relacional. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.
Las restricciones proveen un método de implementar reglas en la base de datos. Las restricciones restringen los datos que pueden ser almacenados en las tablas. Usualmente se definen usando expresiones que dan como resultado un valor booleano, indicando si los datos satisfacen la restricción o no. Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptos relacionales.
[editar] Dominios Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "todos los valores de este atributo deben de ser elementos del conjunto especificado". Distintos tipos de dominios son: enteros, cadenas de texto, fecha,no procedurales etc.
[editar] Clave única Cada tabla puede tener uno o más campos cuyos valores identifican de forma única cada registro de dicha tabla, es decir, no pueden existir dos o más registros diferentes cuyos valores en dichos campos sean idénticos. Este conjunto de campos se llama clave única. Pueden existir varias claves únicas en una determinada tabla, y a cada una de éstas suele llamársele candidata a clave primaria.
[editar] Clave primaria Una clave primaria es una clave única elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla, para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto es por medio de claves foráneas. Sólo puede existir una clave primaria por tabla y ningún campo de dicha clave puede contener valores NULL.
[editar] Clave foránea Una clave foránea es una referencia a una clave en otra tabla, determina la relación existente en dos tablas. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas. Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados. Se permite que haya varios empleados en un mismo departamento, pero habrá uno y sólo un departamento por cada clave distinta de departamento en la tabla de empleados.
[editar] Clave índice Las claves índice surgen con la necesidad de tener un acceso más rápido a los datos. Los índices pueden ser creados con cualquier combinación de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave índice. Las bases de datos relacionales incluyen múltiples técnicas de ordenamiento, cada una de ellas es óptima para cierta distribución de datos y tamaño de la relación. Los índices generalmente no se consideran parte de la base de datos, pues son un detalle agregado. Sin embargo, las claves índices son desarrolladas por el mismo grupo de programadores que las otras partes de la base de datos.
[editar] Procedimientos almacenados Un procedimiento almacenado es código ejecutable que se asocia y se almacena con la base de datos. Los procedimientos almacenados usualmente recogen y personalizan operaciones comunes, como insertar un registro dentro de una tabla, recopilar información estadística, o encapsular cálculos complejos. Son frecuentemente usados por un API por seguridad o simplicidad. Los procedimientos almacenados no son parte del modelo relacional, pero todas las implementaciones comerciales los incluyen.
[editar] Estructura La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o instancia). El esquema es la definición de la estructura de la base de datos y principalmente almacena los siguientes datos:
El nombre de cada tabla El nombre de cada columna El tipo de dato de cada columna La tabla a la que pertenece cada columna
Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización, el resultado de dicho proceso es un esquema que permite que la base de datos sea usada de manera óptima. Los datos o instancia es el contenido de la base de datos en un momento dado. Es en sí, el contenido de todos los registros.
[editar] Manipulación de la información Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el álgebra relacional y el cálculo relacional. El álgebra relacional permite describir la forma de realizar una consulta, en cambio, el cálculo relacional sólo indica lo que se desea devolver. El lenguaje más común para construir las consultas a bases de datos relacionales es SQL (Structured Query Language), un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. En el modelo relacional los atributos deben estar explícitamente relacionados a un nombre en todas las operaciones, en cambio, el estándar SQL permite usar columnas sin nombre en conjuntos de resultados, como el asterisco taquigráfico ( ) como notación de consultas. *
Al contrario del modelo relacional, el estándar SQL requiere que las columnas tengan un orden definido, lo cual es fácil de implementar en una computadora, ya que la memoria es lineal. Es de notar, sin embargo, que en SQL el orden de las columnas y los registros devueltos en cierto conjunto de resultado nunca está garantizado, a no ser que explícitamente sea especificado por el usuario.
[editar] Manejadores de base de datos relacionales Existe software exclusivamente dedicado a tratar con bases de datos relacionales. Este software se conoce como SGBD (Sistema de Gestión de Base de Datos relacional) o RDBMS (del inglés Relational Database Management System). Entre los gestores o manejadores actuales más populares encontramos: MySQL, PostgreSQL, Oracle, DB2,INFORMIX, Interbase, FireBird, Sybase y Microsoft SQL Server.
[editar] Ventajas y desventajas Ventajas
Provee herramientas que garantizan evitar la duplicidad de registros. Garantiza la integridad referencial, así, al eliminar un registro elimina todos los registros relacionados dependientes. Favorece la normalización por ser más comprensible y aplicable.
Desventajas
Presentan deficiencias con datos gráficos, multimedia, CAD y sistemas de información geográfica. No se manipulan de forma manejable los bloques de texto como tipo de dato. Las bases de datos orientadas a objetos (BDOO) se propusieron con el objetivo de satisfacer las necesidades de las aplicaciones anteriores y así, complementar pero no sustituir a las bases de datos relacionales.
[editar] Diseño de las bases de datos relacionales El primer paso para crear una base de datos, es planificar el tipo de información que se quiere almacenar en la misma, teniendo en cuenta dos aspectos: la información disponible y la información que necesitamos. La planificación de la estructura de la base de datos, en particular de las tablas, es vital para la gestión efectiva de la misma. El diseño de la estructura de una tabla consiste en una descripción de cada uno de los campos que componen el registro y los valores o datos que contendrá cada uno de esos campos. Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definición de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc. Los registros constituyen la información que va contenida en los campos de la tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la dirección de este. Generalmente los diferentes tipos de campos que se pueden almacenar son los siguientes: Texto (caracteres), Numérico (números), Fecha / Hora, Lógico (informaciones lógicas si/no, verdadero/falso, etc.), imágenes. En resumen, el principal aspecto a tener en cuenta durante el diseño de una tabla es determinar claramente los campos necesarios, definirlos en forma adecuada con un nombre especificando su tipo y su longitud. Base de datos jerárquica Saltar a: navegación, búsqueda
Una base de datos jerárquica es un tipo de sistema de gestión de bases de datos que, como su nombre indica, almacenan la información en una estructura jerárquica que enlaza los registros en forma de estructura de árbol (similar a un árbol visto al revés), en donde un nodo padre de información puede tener varios nodos hijo. Esta relación jerárquica no es estrictamente obligatoria, de manera que pueden establecerse relaciones entre nodos hermanos . En este caso la estructura en forma de árbol se convierte en una estructura en forma de grafo dirigido. Esta variante se denomina Bases de datos de red.
Contenido [ocultar]
1 Breve reseña histórica 2 Cómo funcionan 3 Limitaciones del modelo jerárquico o 3.1 Duplicidad de registros o 3.2 Integridad referencial o 3.3 Desnormalización 4 Gestores de bases de datos jerárquicas 5 Véase también 6 Enlaces externos
[editar] Breve reseña histórica Las bases de datos jerárquicas fueron concebidas en los años 1960. El primer metamodelo de base de datos propuesto fue la mencionada Base de datos en red , concebida bajo el auspicio de CODASYL (COnference on DAta SYstems Languages) . Posteriormente se refinó la idea dando lugar a la base de datos jerárquica. La primera implementación de este metamodelo fue IMS (Information Management System) . Se trata de un diseño de IBM y otros colaboradores en 1966 para el Programa Apollo de la NASA. IMS aún se encuentra activo. El sector de la banca y las Administraciones Públicas adoptaron rápidamente esta tecnología, sin la cual, no hubiese sido posible el grado de automatización que tienen hoy día. Estos sectores eran los únicos con capacidad económica suficiente para adquirir los enormes mainframe para la automatización de bases de datos, única solución posible en la época. Poco después, en 1970, E. F. Codd propuso el modelo relacional. Las ventajas de este modelo y su enfoque matemático centraron los esfuerzos de la industria dando lugar a los sistemas gestores de bases de datos relacionales. Estos últimos han reemplazado a las bases de datos jerárquicas hoy día, pero no completamente. La mayoría de las antiguas bases de datos jerárquicas de bancos y Administraciones Públicas aún siguen en actividad. Esto se debe a que el rendimiento de las bases de datos jerárquicas sigue sin ser superado por las bases de datos relacionales. Además estos sectores sufren un gran volumen de transacciones. Observése, por ejemplo, la cantidad de apuntes contables que requiere una red de cajeros automáticos en un solo día.
[editar] Cómo funcionan A diferencia del modelo relacional, el modelo jerárquico no diferencia una vista lógica de una vista física de la base de datos. De manera que las relaciones entre datos se establecen siempre a nivel físico, es decir, mediante referencia a direcciones físicas del medio de almacenamiento (sectores y pistas).
Los datos se almacenan en la forma de registros, el equivalente a las filas del modelo relacional. Cada registro consta de un conjunto de campos, el equivalente a las columnas del modelo relacional. Un conjunto de registros con los mismos campos se denomina fichero (record type, en inglés), el equivalente a las tablas del modelo relacional. El modelo jerárquico facilita relaciones padre-hijo , es decir, relaciones 1:N (de uno a varios) del modelo relacional. Pero a diferencia de éste último, las relaciones son unidireccionales. En justicia, dichas relaciones son hijo-padre , pero no padre-hijo. Por ejemplo, el registro de un empleado (nodo hijo) puede relacionarse con el registro de su departamento (nodo padre), pero no al contrario. Esto implica que solamente se puede consultar la base de datos desde los nodos hoja hacia el nodo raíz. La consulta en el sentido contrario requiere una búsqueda secuencial por todos los registros de la base de datos (por ejemplo, para consultar todos los empleados de un departamento). En las bases de datos jerárquicas no existen índices que faciliten esta tarea. Obsérvese que, a priori, no existen relaciones N:M (de muchos a muchos) en el modelo jerárquico. Salvo que se simulen mediante varias relaciones 1:N. No obstante, esto puede provocar problemas de inconsistencia, ya que el gestor de base de datos no controla estas relaciones. Como ya se ha mencionado, las relaciones se establecen mediante punteros entre registros. Es decir, un registro hijo contiene la dirección física en el medio de almacenamiento de su registro padre. Esto tiene una ventaja fundamental sobre las bases de datos relacionales: el rendimiento. El acceso de un registro a otro es prácticamente inmediato sin necesidad de consultar tablas de correspondencia. Las relaciones jerárquicas entre diferentes tipos de datos pueden hacer que sea muy sencillo responder a determinadas preguntas, pero muy difícil el contestar a otras.
[editar] Limitaciones del modelo jerárquico A continuación se mencionan los problemas típicos de las bases de datos jerárquicas y que no existen en las bases de datos relacionales. Todos estos problemas derivan del hecho de que el sistema gestor de base de datos no implementa ningún control sobre los propios datos, sino que queda en manos de las aplicaciones garantizar que se cumplen las condiciones invariantes que se requieran (por ejemplo, evitar la duplicidad de registros). Dado que todas las aplicaciones están sujetas a errores y fallos, esto es imposible en la práctica. Además dichas condiciones suelen romperse ex profeso por motivos operativos (generalmente, ajustes debidos a cambios en el negocio) sin evaluarse sus consecuencias.
[editar] Duplicidad de registros No se garantiza la inexistencia de registros duplicados. Esto también es cierto para los campos "clave". Es decir, no se garantiza que dos registros cualesquiera tengan diferentes valores en un subconjunto concreto de campos.
[editar] Integridad referencial No existe garantía de que un registro hijo esté relacionado con un registro padre válido. Por ejemplo, es posible borrar un nodo padre sin eliminar antes los nodos hijo, de manera que éstos últimos están relacionados con un registro inválido o inexistente..
[editar] Desnormalización Este no es tanto un problema del modelo jerárquico como del uso que se hace de él. Sin embargo, a diferencia del modelo relacional, las bases de datos jerárquicas no tienen controles que impidan la desnormalización de una base de datos. Por ejemplo, no existe el concepto de campos clave o campos únicos. La desnormalización permite ingresar redundancia de una forma controlada, seguir a una serie de pasos conlleva a:
Combinar las relaciones Duplicar los atributos no claves Introducción de grupos repetitivos Crear tablas de extracción
Cuando se debe desnormalizar:
Se debe desnormalizar para optimizar el esquema relacional Para hacer referencia a la combinación de 2 relaciones que forman una sola relación
Ejemplo: Proveedor (Nro_proveedor, calle, ciudad, cod_postal, descripción) La relación Proveedor esta desnormalizada, ya que para normalizarla deberíamos crear una tabla con ciudad y código postal
[editar] Gestores de bases de datos jerárquicas Base de datos de red Saltar a: navegación, búsqueda
Una base de datos de red es una base de datos conformada por una colección o set de registros, los cuales están conectados entre sí por medio de enlaces en una red. El registro es similar al de una entidad como las empleadas en el modelo relacional. Un registro es una colección o conjunto de campos (atributos), donde cada uno de los que contiene solamente un único valor almacenado, exclusivamente el enlace es la asociación entre dos registros, así que podemos verla como una relación estrictamente binaria.
Una estructura de base de datos de red, llamada algunas veces estructura de plex, abarca más que la estructura de árbol, porque un nodo hijo en la estructura red puede tener más de un nodo padre. En otras palabras, la restricción de que en un árbol jerárquico cada hijo puede tener sólo un padre, se hace menos severa. Así, la estructura de árbol se puede considerar como un caso especial de la estructura de red .
[editar] Ejemplo Para ilustrar la estructura de los registros en una base de datos de red, mostraremos la base de datos alumno – materia, con los siguientes registros (en el Lenguaje de programación Pascal): type materia = record clave: string[7] nombreM: string[25] cred: string[2]; end; type alumno = record nombre: string[30]; control: string[8]; materia: Materia; {Enlace a materia} end;
En síntesis una base de datos en red puede tener 1 o mas elementos padre.
[editar] Véase también
Bases de datos Una base de datos o banco de datos es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos tienen formato electrónico, que ofrece un amplio rango de soluciones al problema de almacenar datos. En informática existen los sistemas gestores de bases de datos (SGBD), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de los sistemas gestores de bases de datos se estudian en informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental. Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios países. Por ejemplo en España, los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD).
Tipos de bases de datos Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para su clasificación:
Según la variabilidad de los datos almacenados Bases de datos estáticas Éstas son bases de datos de sólo lectura, utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar 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 el tiempo, permitiendo operaciones como actualización y adición de datos, además de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes, una farmacia, un videoclub, etc.
Según el contenido Bases de datos bibliográficas Solo contienen un surrogante (representante) de la fuente primaria, que permite localizarla. Un registro típico de una base de datos bibliográfica contiene información sobre el autor, fecha de publicación, editorial, título, edición, de una determinada publicación, etc. Puede contener un resúmen o extracto de la publicación original, pero nunca el texto completo, porque sino estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias — ver más abajo). Como su nombre lo indica, el contenido son cifras o números. Por ejemplo, una colección de resultados de análisis de laboratorio, entre otras.
Bases de datos de texto completo Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas.
Directorios Un ejemplo son las guías telefónicas en formato electrónico.
Banco de imágenes, audio, video, multimedia, etc. Bases de datos o “bibliotecas” de información Biológica
Son bases de datos que almacenan diferentes tipos de información proveniente de 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)
Modelos de bases de datos Además de la clasificación por la función de las bases de datos, éstas también se 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 como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar
y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren 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 su información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado 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 de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.
Base de datos de red Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo 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 una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.
Base de datos relacional Artículo principal: Modelo relacional
Éste es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 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 de datos. Su idea fundamental es el uso de ―relaciones‖. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados ―tuplas‖. Pese a que ésta es la teoría de las bases de datos relacionales
creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante ―consultas‖ que
ofrecen una amplia flexibilidad y poder para administrar la información. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas , un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos. Durante los años ’80 (1980-1989) la aparición de dBASE produjo una revolución en los
lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestión.
Bases de datos orientadas a objetos
Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos 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.
En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones. Se está trabajando en SQL3, que es el estándar de SQL92 ampliado, que soportará los nuevos conceptos orientados a objetos y mantendría compatibilidad con SQL92.
Bases de datos documentales Permiten la indexación a texto completo, y en líneas generales realizar búsquedas más potentes. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos.
Base de datos deductivas Un sistema de base de datos deductivas, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. También las bases de datos deductivas son llamadas base de datos lógica, a raíz de que se basan en lógica matemática.
Gestión de bases de datos distribuida La base de datos está almacenada en varias computadoras conectadas en red. Surgen debido a la existencia física de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades, sucursales de tiendas, etcetera 2.
3. Elementos principales 4. En resumen 5. Algunos antecedentes, ¿Por qué fue creado? 6. Evolución de la arquitectura cliente servidor 7. Que es una arquitectura 8. Que es un cliente 9. Que es un servidor 10. Elementos de la arquitectura cliente/servidor 11. Características del modelo cliente/servidor 12. Tipos de clientes, de servidor 13. Estilos del modelo cliente servidor 14. Presentación remota 15. Lógica distribuida 16. Administración de datos remota 17. Base de datos distribuida 18. Definición de Middleware 19. Funciones de un programa servidor 20. Bibliografía
INTRODUCCIÒN En vista del aprendizaje que tenemos diariamente en el aula de clases, nos vemos desafiados por un mundo lleno de conocimientos que invoca a la investigación. investigación . Este trabajo fue realizado precisamente para llenar las expectativas y ansias de intelectualidad que nos brinda la carrera, desde bases de datos, datos , vemos la importancia de la arquitectura cliente servidor servidor.. Es exactamente lo que se plasmara en el siguiente trabajo, la forma de Conocer una arquitectura que en este momento es una de las más importantes y utilizadas en el ámbito de enviar y recibir información información,, también es una herramienta potente para guardar los datos en una base de datos como servidor.
------------------------------------Con respecto a la definición de arquitectura cliente/servidor se encuentran las siguientes definiciones:
Cualquier combinación de sistemas que pueden colaborar entre si para dar a los usuarios toda la información que ellos necesiten sin que tengan que saber donde esta ubicada. Es una arquitectura de procesamientos cooperativo donde uno de los componentes pide servicios a otro.
Es un procesamiento de datos de índole colaborativo entre dos o más computadoras conectadas a una red. red. El término cliente/servidor es originalmente aplicado a la arquitectura de software que describe el procesamiento entre dos o más programas programas:: una aplicación y un servicio soportante. IBM define al modelo Cliente/Servidor. "Es la tecnología que proporciona al usuario final el acceso transparente a las aplicaciones, datos, servicios de cómputo o cualquier otro recurso del grupo de trabajo y/o, a través de la organización organización,, en múltiples plataformas. El modelo soporta un medio ambiente distribuido en el cual los requerimientos de servicio hechos por estaciones de trabajo inteligentes o "clientes clientes''', resultan en un trabajo realizado por otros computadores llamados servidores"". servidores "Es un modelo para construir sistemas de información, que se sustenta en la idea de repartir el tratamiento de la información y los datos por todo el sistema informático, permitiendo mejorar el rendimiento del sistema global de información"
Elementos principales "Los elementos principales de la arquitectura cliente servidor son justamente el elemento llamado cliente y el otro elemento llamado servidor". Por ejemplo dentro de un ambiente multimedia,, el elemento cliente seria el dispositivo que puede observar el vídeo, cuadros y multimedia texto,, o reproduce el audio distribuido por el elemento servidor. texto Por otro lado el cliente también puede ser una computadora personal o una televisión inteligente que posea la capacidad de entender datos digitales. Dentro de este caso el elemento servidor es el depositario del vídeo digital, audio, fotografías digitales y texto y los distribuye bajo demanda de ser una maquina que cuenta con la capacidad de almacenar los datos y ejecutar todo el software que brinda éstos al cliente.
EN RESUMEN C/S es una relación entre procesos corriendo en máquinas separadas El servidor (S) es un proveedor de servicios. El cliente (C) es un consumidor de servicios. C y S Interactúan por un mecanismo de pasaje de mensajes: Pedido de servicio. Respuesta
ALGUNOS ANTECEDENTES, ¿PORQUE FUE CREADO?
Existen diversos puntos de vista sobre la manera en que debería efectuarse el procesamiento de datos, aunque la mayoría que opina, coincide en que nos encontramos en medio de un proceso de evolución que se prolongará todavía por algunos años y que cambiará la forma en que obtenemos y utilizamos la información almacenada electrónicamente. El principal motivo detrás de esta evolución es la necesidad que tienen las organizaciones (empresas o instituciones públicas o privadas), de realizar sus operaciones más ágil y eficientemente, debido a la creciente presión competitiva a la que están sometidas, lo cual se traduce en la necesidad de que su personal sea mas productivo, que se reduzcan los costos y gastos de operación, al mismo tiempo que se generan productos y servicios más rápidamente y con mejor calidad. En este contexto, es necesario establecer una infraestructura de procesamiento de información, que cuente con los elementos requeridos para proveer información adecuada, exacta y oportuna en la toma de decisiones y para proporcionar un mejor servicio a los clientes. El modelo Cliente/Servidor reúne las características necesarias para proveer esta infraestructura, independientemente del tamaño y complejidad de las operaciones de las organizaciones públicas o privadas y, consecuentemente desempeña un papel importante en este proceso de evolución.
Evolución de la arquitectura cliente servidor La era de la computadora central "Desde sus inicios el modelo de administración de datos a través de computadoras se basaba en el uso de terminales remotas, que se conectaban de manera directa a una computadora central". Dicha computadora central se encargaba de prestar servicios caracterizados por que cada servicio se prestaba solo a un grupo exclusivo de usuarios.
La era de las computadoras dedicadas Esta es la era en la que cada servicio empleaba su propia computadora que permitía que los usuarios de ese servicio se conectaran directamente. Esto es consecuencia de la aparición de computadoras pequeñas, de fácil uso, más baratas y más poderosas de las convencionales.
La era de la conexión libre Hace mas de 10 años que la computadoras escritorio aparecieron de manera masiva. Esto permitió que parte apreciable de la carga de trabajo de cómputo tanto en el ámbito de cálculo como en el ámbito de la presentación se lleven a cabo desde el escritorio del usuario. En muchos de los casos el usuario obtiene la información que necesita de alguna computadora de servicio. Estas computadoras de escritorio se conectan a las computadoras de servicio empleando software que permite la emulación de algún tipo de terminal. En
otros de los casos se les transfiere la información haciendo uso de recursos magnéticos o por trascripción.
La era del cómputo a través de redes
Esta es la era que esta basada en el concepto de redes de computadoras, en la que la información reside en una o varias computadoras, los usuarios de esta información hacen uso de computadoras para laborar y todas ellas se encuentran conectadas entre si. Esto brinda la posibilidad de que todos los usuarios puedan acceder a la información de todas las computadoras y a la vez que los diversos sistemas intercambien información.
La era de la arquitectura cliente servidor "En esta arquitectura la computadora de cada uno de los usuarios, llamada cliente, produce una demanda de información a cualquiera de las computadoras que proporcionan información, conocidas como servidores"estos últimos responden a la demanda del cliente que la produjo. Los clientes y los servidores pueden estar conectados a una red local o una red amplia, como la que se puede implementar en una empresa o a una red mundial como lo es la Internet. Bajo este modelo cada usuario tiene la libertad de obtener la información que requiera en un momento dado proveniente de una o varias fuentes locales o distantes y de procesarla como según le convenga. Los distintos servidores también pueden intercambiar información dentro de esta arquitectura.
QUE ES UNA ARQUITECTURA Una arquitectura es un entramado de componentes funcionales que aprovechando diferentes estándares, convenciones, reglas y procesos, permite integrar una amplia gama de productos y servicios informáticos, de manera que pueden ser utilizados eficazmente dentro de la organización. Debemos señalar que para seleccionar el modelo de una arquitectura, hay que partir del contexto tecnológico y organizativo del momento y, que la arquitectura Cliente/Servidor requiere una determinada especialización de cada uno de los diferentes componentes que la integran.
QUE ES UN CLIENTE Es el que inicia un requerimiento de servicio. El requerimiento inicial puede convertirse en múltiples requerimientos de trabajo a través de redes LAN o WAN. La ubicación de los datos o de las aplicaciones es totalmente transparente para el cliente.
QUE ES UN SERVIDOR Es cualquier recurso de cómputo dedicado a responder a los requerimientos del cliente. Los servidores pueden estar conectados a los clientes a través de redes LANs o WANs, para proveer de múltiples servicios a los clientes y ciudadanos tales como impresión, acceso a bases de datos, fax, procesamiento de imágenes, etc. Para ver el gráfico seleccione la opción "Descargar" del menú superior Este es el ejemplo gráfico de la arquitectura cliente servidor.
ELEMENTOS DE LA ARQUITECTURA CLIENTE/SERVIDOR En esta aproximación, y con el objetivo de definir y delimitar el modelo de referencia de una arquitectura Cliente/Servidor, debemos identificar los componentes que permitan articular dicha arquitectura, considerando que toda aplicación de un sistema de información está caracterizada por tres componentes básicos:
Presentación/Captación de Información Procesos Almacenamiento de la Información
Los cuales se suelen distribuir tal como se presenta en la figura:
Aplicaciones Cliente/Servidor Para ver el gráfico seleccione la opción "Descargar" del menú superior Y se integran en una arquitectura Cliente/Servidor en base a los elementos que caracterizan dicha arquitectura, es decir:
Puestos de Trabajo Comunicaciones Servidores
Tal como se presenta en la figura:
Arquitectura Cliente/Servidor Para ver el gráfico seleccione la opción "Descargar" del menú superior De estos elementos debemos destacar:
El Puesto de Trabajo o Cliente Una Estación de trabajo o microcomputador (PC: Computador Personal) conectado a una red, que le permite acceder y gestionar una serie de recursos» el cual se perfila como un
puesto de trabajo universal. Nos referimos a un microcomputador conectado al sistema de información y en el que se realiza una parte mayoritaria de los procesos. Se trata de un fenómeno en el sector informático. Aquellos responsables informáticos que se oponen a la utilización de los terminales no programables, acaban siendo marginados por la presión de los usuarios. Debemos destacar que el puesto de trabajo basado en un microcomputador conectado a una red, favorece la flexibilidad y el dinamismo en las organizaciones. Entre otras razones, porque permite modificar la ubicación de los puestos de trabajo, dadas las ventajas de la red.
Los Servidores o Back-end Una máquina que suministra una serie de servicios como Bases de Datos, Archivos, Comunicaciones,...). Los Servidores, según la especialización y los requerimientos de los servicios que debe suministrar pueden ser:
Mainframes Miniordenadores Especializados (Dispositivos de Red, Imagen, etc.)
Una característica a considerar es que los diferentes servicios, según el caso, pueden ser suministrados por un único Servidor o por varios Servidores especializados.
Las Comunicaciones En sus dos vertientes:
Infraestructura de redes Infraestructura de comunicaciones
Infraestructura de redes Componentes Hardware y Software que garantizan la conexión física y la transferencia de datos entre los distintos equipos de la red.
Infraestructura de comunicaciones Componentes Hardware y Software que permiten la comunicación y su gestión, entre los clientes y los servidores. La arquitectura Cliente/Servidor es el resultado de la integración de dos culturas. Por un lado, la del Mainframe que aporta capacidad de almacenamiento, integridad y acceso a la información y, por el otro, la del computador que aporta facilidad de uso (cultura de PC),
bajo costo, presentación atractiva (aspecto lúdico) y una amplia oferta en productos y aplicaciones.
CARACTERISTICAS DEL MODELO CLIENTE/SERVIDOR En el modelo CLIENTE/SERVIDOR podemos encontrar las siguientes características: 1. El Cliente y el Servidor pueden actuar como una sola entidad y también pueden actuar como entidades separadas, realizando actividades o tareas independientes. 2. Las funciones de Cliente y Servidor pueden estar en plataformas separadas, o en la misma plataforma. Para ver el gráfico seleccione la opción "Descargar" del menú superior 3. Un servidor da servicio a múltiples clientes en forma concurrente. 4. Cada plataforma puede ser escalable independientemente. Los cambios realizados en las plataformas de los Clientes o de los Servidores, ya sean por actualización o por reemplazo tecnológico, se realizan de una manera transparente para el usuario final. 5. La interrelación entre el hardware y el software están basados en una infraestructura poderosa, de tal forma que el acceso a los recursos de la red no muestra la complejidad de los diferentes tipos de formatos de datos y de los protocolos. 6. Un sistema de servidores realiza múltiples funciones al mismo tiempo que presenta una imagen de un solo sistema a las estaciones Clientes . Esto se logra combinando los recursos de cómputo que se encuentran físicamente separados en un solo sistema lógico, proporcionando de esta manera el servicio más efectivo para el usuario final. También es importante hacer notar que las funciones Cliente/Servidor pueden ser dinámicas. Ejemplo, un servidor puede convertirse en cliente cuando realiza la solicitud de servicios a otras plataformas dentro de la red. Su capacidad para permitir integrar los equipos ya existentes en una organización, dentro de una arquitectura informática descentralizada y heterogénea. 7. Además se constituye como el nexo de unión mas adecuado para reconciliar los sistemas de información basados en mainframes o minicomputadores, con aquellos otros sustentados en entornos informáticos pequeños y estaciones de trabajo. 8. Designa un modelo de construcción de sistemas informáticos de carácter distribuido. 1. Su representación típica es un centro de trabajo (PC), en donde el usuario dispone de sus propias aplicaciones de oficina y sus propias bases de datos, sin dependencia
directa del sistema central de información de la organización, al tiempo que puede acceder a los 2. recursos de este host central y otros sistemas de la organización ponen a su servicio. En conclusión, Cliente/Servidor puede incluir múltiples plataformas, bases de datos, redes y sistemas operativos. Estos pueden ser de distintos proveedores, en arquitecturas propietarias y no propietarias y funcionando todos al mismo tiempo. Por lo tanto, su implantación involucra diferentes tipos de estándares: APPC, TCP/IP, OSI, NFS, DRDA corriendo sobre DOS, OS/2, Windows o PC UNIX, en TokenRing, Ethernet, FDDI o medio coaxial, sólo por mencionar algunas de las posibilidades.
TIPOS DE CLIENTES 1. "cliente flaco":
Servidor rápidamente saturado. Gran circulación de datos de interfase en la red.
1. "cliente gordo":
Casi todo el trabajo en el cliente. No hay centralización de la gestión de la BD. Gran circulación de datos inútiles en la red.
TIPOS DE SERVIDOR Servidores de archivos Servidor donde se almacena archivos y aplicaciones de productividad como por ejemplo procesadores de texto, hojas de cálculo, etc.
Servidores de bases de datos
Servidor donde se almacenan las bases de datos, tablas, índices. Es uno de los servidores que más carga tiene.
Servidores de transacciones Servidor que cumple o procesa todas las transacciones. Valida primero y recién genera un pedido al servidor de bases de datos.
Servidores de Groupware Servidor utilizado para el seguimiento de operaciones dentro de la red. Servidores de objetos Contienen objetos que deben estar fuera del servidor de base de datos. Estos objetos pueden ser videos, imágenes, objetos multimedia en general. Servidores Web Se usan como una forma inteligente para comunicación entre empresas a través de Internet. Este servidor permite transacciones con el acondicionamiento de un browser específico.
Estilos del modelo cliente servidor PRESENTACIÓN DISTRIBUIDA
1. 2. 3. 4. 5.
Se distribuye la interfaz entre el cliente y la plataforma servidora. La aplicación y los datos están ambos en el servidor. Similar a la arquitectura tradicional de un Host y Terminales. El PC se aprovecha solo para mejorar la interfaz gráfica del usuario.
Ventajas
Revitaliza los sistemas antiguos. Bajo costo de desarrollo. No hay cambios en los sistemas existentes.
Desventajas
El sistema sigue en el Host. No se aprovecha la GUI y/o LAN. La interfaz del usuario se mantiene en muchas plataformas.
PRESENTACIÓN REMOTA
1. 2. La interfaz para el usuario esta completamente en el cliente. 3. La aplicación y los datos están en el servidor.
Ventajas
La interfaz del usuario aprovecha bien la GUI y la LAN. La aplicación aprovecha el Host. Adecuado para algunos tipos de aplicaciones de apoyo a la toma de decisiones.
Desventajas
Las aplicaciones pueden ser complejas de desarrollar. Los programas de la aplicación siguen en el Host. El alto volumen de tráfico en la red puede hacer difícil la operación de aplicaciones muy pesadas.
LÓGICA DISTRIBUIDA 1. 2. La interfaz esta en el cliente. 3. La base de datos esta en el servidor. 4. La lógica de la aplicación esta distribuida entre el cliente y el servidor.
Ventajas
Arquitectura mas corriente que puede manejar todo tipo de aplicaciones. Los programas del sistema pueden distribuirse al nodo mas apropiado. Pueden utilizarse con sistemas existentes.
Desventajas
Es difícil de diseñar. Difícil prueba y mantenimiento si los programas del cliente y el servidor están hechos en distintos lenguajes de programación. No son manejados por la GUI 4GL.
ADMINISTRACIÓN DE DATOS REMOTA 1. 2. En el cliente residen tanto la interfaz como los procesos de la aplicación. 3. Las bases de datos están en el servidor. 4. Es lo que comúnmente imaginamos como aplicación cliente servidor
Ventajas
Configuración típica de la herramienta GUI 4GL. Muy adecuada para las aplicaciones de apoyo a las decisiones del usuario final. Fácil de desarrollar ya que los programas de aplicación no están distribuidos. Se descargan los programas del Host.
Desventajas
No maneja aplicaciones pesadas eficientemente. La totalidad de los datos viaja por la red, ya que no hay procesamiento que realice el Host.
BASE DE DATOS DISTRIBUIDA 1. 2. La interfaz, los procesos de la aplicación, y , parte de los datos de la base de datos están en cliente. 3. El resto de los datos están en el servidor.
Ventajas
Configuración soportada por herramientas GUI 4GL. Adecuada para las aplicaciones de apoyo al usuario final. Apoya acceso a datos almacenados en ambientes heterogéneos. Ubicación de los datos es transparente para la aplicación.
Desventajas
No maneja aplicaciones grandes eficientemente. El acceso a la base de datos distribuida es dependiente del proveedor del software administrador de bases de datos.
Definición de middleware "Es un termino que abarca a todo el software distribuido necesario para el soporte de interacciones entre Clientes y Servidores". Es el enlace que permite que un cliente obtenga un servicio de un servidor. Este se inicia en el modulo de API de la parte del cliente que se emplea para invocar un servicio real; esto pertenece a los dominios del servidor. Tampoco a la interfaz del usuario ni la a la lógica de la aplicación en los dominios del cliente. Tipos de Middleware Existen dos tipos de middleware:
1. Este tipo permite la impresión de documentos remotos, manejos de transacciones, autenticación de usuarios, etc. 2. Middleware general 3. Middleware de servicios específicos Generalmente trabajan orientados a mensajes. Trabaja uno sola transacción a la vez.
Funciones de un programa servidor 1. 2. 3. 4. 5. 6.
Espera las solicitudes de los clientes. Ejecuta muchas solicitudes al mismo tiempo. Atiende primero a los clientes VIP. Emprende y opera actividades de tareas en segundo plano. Se mantiene activa en forma permanente.
BIBLIOGRAFÍA
www.elrincondelvago.com Taller de Sistemas de Información 1 InCo – Facultad de Ingeniería 2005 www.ciber-tec.com/ads.htm www.virtual.unal.edu.co/cursos/sedes/manizales/4060029/lecciones/cap6-3.html
www.pcm.gob.pe/portal_ongei/publicaciones/cultura/Lib5038
Cliente-servidor Saltar a: navegación, búsqueda
La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, que le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma. Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes computadoras aumentando así el grado de distribución del sistema. La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico. La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se este utilizando en una red mixta.
Contenido [ocultar]
1 Características 2 Comparación de la arquitectura C/S con otras arquitecturas de red o 2.1 Comparación con las redes de pares o 2.2 Comparación con la arquitectura Cliente-Cola-Cliente 3 Arquitecturas multi-capas 4 Ventajas 5 Desventajas 6 Dirección 7 Ejemplos 8 Cooperación cliente-servidor o 8.1 Multiple Server 8.1.1 Cooperación de procesos paralelos 8.1.2 Cooperación de base de datos 9 Véase también
[editar] Características En la arquitectura C/S el remitente de una solicitud es conocido como cliente. Sus características son:
Es quien inicia solicitudes o peticiones, tienen por tanto un papel activo en la comunicación (dispositivo maestro o amo). Espera y recibe las respuestas del servidor. Por lo general, puede conectarse a varios servidores a la vez. Normalmente interactúa directamente con los usuarios finales mediante una interfaz gráfica de usuario. Al contratar un servicio de redes , se tiene que tener en la velocidad de conexión que le otorga al cliente y el tipo de cable que utiliza , por ejemplo : cable de cobre ronda entre 1 ms y 50 ms.
Al receptor de la solicitud enviada por el cliente se conoce como servidor. Sus características son:
Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan entonces un papel pasivo en la comunicación (dispositivo esclavo). Tras la recepción de una solicitud, la procesan y luego envían la respuesta al cliente. Por lo general, aceptan conexiones desde un gran número de clientes (en ciertos casos el número máximo de peticiones puede estar limitado). No es frecuente que interactúen directamente con los usuarios finales.
[editar] Comparación de la arquitectura C/S con otras arquitecturas de red [editar] Comparación con las redes de pares Las redes de pares, también conocidas como redes par-a-par o peer-to-peer (abreviado con las siglas P2PM) son otro tipo de arquitectura de red.
[editar] Comparación con la arquitectura Cliente-Cola-Cliente Si bien la clásica arquitectura C/S requiere uno de los puntos terminales de comunicación para actuar como un servidor, que puede ser algo más difícil de aplicar, la arquitectura Cliente-Cola-Cliente habilita a todos los nodos para actuar como clientes simples, mientras que el servidor actúa como una cola que va capturando las peticiones de los clientes (un proceso que debe pasar sus peticiones a otro, lo hace a través de una cola, por ejemplo, una consulta a una base de datos, entonces, el segundo proceso conecta con la base de datos, elabora la petición, la pasa a la base de datos, etc.). Esta arquitectura permite simplificar en gran medida la implementación de software. La arquitectura P2P originalmente se basó en el concepto "Cliente-Cola-Cliente".
[editar] Arquitecturas multi-capas La arquitectura cliente/servidor genérica tiene dos tipos de nodos en la red: clientes y servidores. Consecuentemente, estas arquitecturas genéricas se refieren a veces como arquitecturas de dos niveles o dos capas. Algunas redes disponen de tres tipos de nodos:
Clientes que interactúan con los usuarios finales. Servidores de aplicación que procesan los datos para los clientes. Servidores de la base de datos que almacenan los datos para los servidores de aplicación.
Esta configuración se llama una arquitectura de tres-capas.
Ventajas de las arquitecturas n-capas: La ventaja fundamental de una arquitectura n-capas comparado con una arquitectura de dos niveles (o una tres-capas con una de dos niveles) es que separa hacia fuera el proceso, eso ocurre para mejorar el balance la carga en los diversos servidores; es más escalable.
Desventajas de las arquitecturas de la n-capas:
Pone más carga en la red, debido a una mayor cantidad de tráfico de la red. Es mucho más difícil programar y probar el software que en arquitectura de dos niveles porque tienen que comunicarse más dispositivos para terminar la transacción de un usuario.
[editar] Ventajas
Centralización del control: los accesos, recursos y la integridad de los datos son controlados por el servidor de forma que un programa cliente defectuoso o no autorizado no pueda dañar el sistema. Esta centralización también facilita la tarea de poner al día datos u otros recursos (mejor que en las redes P2P).. Escalabilidad: se puede aumentar la capacidad de clientes y servidores por separado. Cualquier elemento puede ser aumentado (o mejorado) en cualquier momento, o se pueden añadir nuevos nodos a la red (clientes y/o servidores). Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades entre varios ordenadores independientes, es posible reemplazar, reparar, actualizar, o incluso trasladar un servidor, mientras que sus clientes no se verán afectados por ese cambio (o se afectarán mínimamente). Esta independencia de los cambios también se conoce como encapsulación. Existen tecnologías, suficientemente desarrolladas, diseñadas para el paradigma de C/S que aseguran la seguridad en las transacciones, la amigabilidad de la interfaz, y la facilidad de empleo.
[editar] Desventajas
La congestión del tráfico ha sido siempre un problema en el paradigma de C/S. Cuando una gran cantidad de clientes envían peticiones simultaneas al mismo servidor, puede ser que cause muchos problemas para éste (a mayor número de clientes, más problemas para el servidor). Al contrario, en las redes P2P como cada nodo en la red hace también de servidor, cuanto más nodos hay, mejor es el ancho de banda que se tiene. El paradigma de C/S clásico no tiene la robustez de una red P2P. Cuando un servidor está caído, las peticiones de los clientes no pueden ser satisfechas. En la mayor parte de redes P2P, los recursos están generalmente distribuidos en varios nodos de la red. Aunque algunos salgan o abandonen la descarga; otros pueden todavía acabar de descargar consiguiendo datos del resto de los nodos en la re d. El software y el hardware de un servidor son generalmente muy determinantes. Un hardware regular de un ordenador personal puede no poder servir a cierta cantidad de clientes. Normalmente se necesita software y hardware específico, sobre todo e n el lado del servidor, para satisfacer el trabajo. Por supuesto, esto aumentará el coste. El cliente no dispone de los recursos que puedan existir en e l servidor. Por ejemplo, si la aplicación es una Web, no podemos escribir en el disco duro del cliente o imprimir directamente sobre las impresoras sin sacar antes la ventana previa de impresión de los navegadores.
[editar] Dirección Los métodos de dirección en ambientes del servidor de cliente se pueden describir como sigue:
Dirección del proceso de la máquina: la dirección se divide como proceso@máquina. Por lo tanto 56@453 indicaría el proceso 56 en la computadora 453. Servidor de nombres: los servidores de nombres tienen un índice de todos los nombres y direcciones de servidores en el dominio relevante. Localización de Paquetes: Los mensajes de difusión se envían a todas las computadoras en el sistema distribuido para determinar la dirección de la computadora de la destinación. Comerciante: Un comerciante es un sistema que pone en un índice todos los servicios disponibles en un sistema distribuido. Una computadora que requiere un servicio particular comprobará con el servicio que negocia para saber si existe la dirección de una computadora que proporciona tal servicio.
[editar] Ejemplos La mayoría de los servicios de Internet son tipo de cliente-servidor. La acción de visitar un sitio web requiere una arquitectura cliente-servidor, ya que el servidor web sirve las páginas web al navegador (al cliente). Al leer este artículo en Wikipedia , la computadora y el navegador web del usuario serían considerados un cliente; y las computadoras, las bases de datos, y los usos que componen Wikipedia serían considerados el servidor. Cuando el navegador web del usuario solicita un artículo particular de Wikipedia, el servidor de
Wikipedia recopila toda la información a mostrar en la base de datos de Wikipedia, la articula en una página web, y la envía de nuevo al navegador web del cliente. Otro ejemplo podría ser el funcionamiento de un juego online. Si existen dos servidores de juego, cuando un usuario lo descarga y lo instala en su computadora pasa a ser un cliente. Si tres personas juegan en un solo computador existirían dos servidores, un cliente y tres usuarios. Si cada usuario instala el juego en su propio ordenador existirían dos servidores, tres clientes y tres usuarios.
[editar] Cooperación cliente-servidor [editar] Multiple Server Para que un proceso se realice de la mejor manera, es preferible utilizar terminales distintos realizando la misma tarea, a centralizar los recursos y que con más hardware / software se realice la misma tarea. Con la ejecución de múltiples servidores el procesamiento es más rápido, el tiempo de respuesta es descentralizado y se incrementa la confiabilidad.
[editar] Cooperación de procesos paralelos El mismo proceso se ejecuta simultáneamente (sistemas redundantes).
[editar] Cooperación de base de datos Si se requiere de cierta información ya existente, por qué crearla de nuevo, simplemente interactúa y aprovecha la información ya creada.
[editar] Véase también Las funciones que realiza un DBMS son muy importantes para mantener la integridad y la consistencia de la información en una base de datos (BD). La mayoria de las funciones son transparentes para los usurios, bien sean finales o administradores, es por ello que un DBMS provee de abstracción hacia sus operadores, esto es que en algunos casos no estamos concientes de las funcionalidades que se realizan en segundo plano.
Estas funciones incluyen:
La administración de un diccionario de datos La administración del almacenamiento de datos Transformación y presentación de los datos Administración de la seguridad Control de acceso a usuarios múltiples Administración de resplados y recuperación
Administración de la integridad de los datos (transacciones) Manejo del lenguaje de acceso a base de datos Interfaces de programación de aplicaciones Interfaces de comunicación con bases de datos
De forma global veamos la siguiente imagen
El sistema organizador de Base de Datos (DBMS) El DBMS es un conjunto de programas que se encargan de manejar la creación y todos los accesos a las bases de datos. Se compone de un lenguaje de definición de datos (DDL: Data Definition Language), de un lenguaje de manipulación de datos (DML: Data Manipulation Language) y de un lenguaje de consulta (SQL: Structured Query Language). El lenguaje de definición de datos (DDL) es utilizado para describir todas las estructuras de información y los programas que se usan para construir, actualizar e introducir la información que contiene una base de datos. El lenguaje de manipulación de datos (DML) es utilizado para escribir programas que crean, actualizan y extraen información de las bases de datos. El lenguaje de consulta (SQL) es empleado por el usuario para extraer información de la base de datos. El lenguaje de consulta permite al usuario hacer requisiciones de datos sin tener que escribir un programa, usando instrucciones como el SELECT, el PROJECT y el JOIN. La secuencia conceptual de operaciones que ocurren para acceder cierta información que contiene una base de datos es la siguiente: 1 El usuario solicita cierta información contenida en la base de datos. El DBMS intercepta este requerimiento y lo interpreta. El DBMS realiza las operaciones necesarias para acceder y/o actualizar la información solicitada.
1 - SISTEMAS DE ADMINISTRACIÓN DE BASES DE DATOS (DBMS)
Tutorial creado por Javier . 12 Enero 2007 Colaboración en línea Trabaje en equipo online. ¡Pruebe hoy TeamViewer gratis! www.TeamViewer.com Anuncios Google
1 2 3 4 5 6 | siguiente >
""
Un sistema de administración de bases de datos DBMS (Database Management System, por sus siglas en Inglés) es un sistema basado en computador (software) que maneja una base de datos, o una colección de bases de datos o archivos. La persona que administra un D0BMS es conocida como el DBA (Database Administrator, por sus siglas en ingles). USOS Y FUNCIONES DE UN DBMS Los sistemas de administración de bases de datos son usados para:
Permitir a los usuarios acceder y manipular la base de datos proveyendo métodos para construir sistemas de procesamiento de datos para aplicaciones que requieran acceso a los datos. •
Proveer a los administradores las herramientas que les permitan ejecutar tareas de mantenimiento y administración de los datos. •
Algunas de las funciones de un DBMS son: