Bases de Datos
Bases de Datos
Bases de Datos
Al finalizar el curso, el alumno conocer y aplicar los conceptos de programacin y desarrollo de los sistemas manejadores de bases de datos centralizadas, su arquitectura, componentes fundamentales y algunos aspectos relacionados con la operacin interna de dichos manejadores.
Simbologa
Tabla 2
Temario
1 Conceptos generales 1.1 Objetivos de los sistemas de base de datos. 1.2 Administracin de los datos y administracin de bases de datos. 1.3 Niveles de arquitectura.
1.3.1 Nivel fsico. 1.3.2 1 3 2 Nivel conceptual conceptual. 1.3.3 Nivel de visin.
1.5 Independencia de los datos. 1.6 Lenguaje de definicin de datos. 1.7 Lenguaje de manejos de base de datos. g j j 1.8 Manejador de base de datos. 1.9 Administrador de la base de datos (DBA - DBMS). 1.10 Usuarios de la base de datos. 1.11 Estructura general del sistema. 1.12 1 12 Arquitectura de sistemas de bases de datos datos.
1.12.1 Sistemas centralizados. 1.12.2 Sistemas cliente/servidor. 1.12.3 Sistemas paralelos. 1.12.4 Sistemas distribuidos.
Introduccin
Tradicionalmente Tradicionalmente
La informacin se almacenaba en archivos, estos archivos no guardaban ninguna relacin entre s y los datos podan repetirse dando lugar a informacin redundante
Dependencia D d i
Actualmente
Aplicacin Ventas Aplicacin Compras Aplicacin N
Independencia
Aplicacin
BB DD
Ejercicio - Tarea
Analiza la forma de almacenamiento tradicional con la tradicional, manera de almacenar en una base de datos, menciona ventajas, desventajas. Cul de las dos formas, desde tu punto de vista, es ms ptima para desarrollar un software profesional? Por qu?
1. C Conceptos generales
Dato:
Conjunto de caracteres con o sin ningn significado, pueden ser numricos, alfabticos, o alfanumricos. Un hecho aislado que carece de significado significado. Es un conjunto ordenado de datos los cuales son manejados segn la necesidad del usuario, para que un conjunto de datos pueda ser procesado eficientemente y pueda dar lugar a informacin, primero se debe guardar lgicamente en archivos. Es la unidad ms pequea a la cual uno puede referirse en un programa. Desde el punto de vista del programador representa una caracterstica de un individuo u objeto. Coleccin de campos de iguales o de diferentes tipos. Coleccin de homognea. registros almacenados siguiendo una estructura
Informacin:
Campo:
Registro:
Archivo:
1. C Conceptos generales
Es un conjunto de datos persistentes que es utilizado por los sistemas de aplicacin de alguna empresa. Datos interrelacionados, creados con p g p , un SGBD (Sistema Gestor de Bases de Datos). Una BD es una coleccin de datos que estn lgicamente relacionados entre s. La descripcin y definicin de los datos se encuentra almacenada en la propia BD BD. Los datos estn estructurados segn un modelo de BD que refleja las relaciones y restricciones que tienen estos datos en el mundo real. El contenido de una base de datos engloba la informacin de una organizacin, para que los datos estn disponibles a los usuarios. Los tres componentes principales de un sistema de base de datos son el hardware, el software SGBD y los datos a manejar, es importante mencionar el personal encargado d l manejo d l sistema. i l l d del j del i t
1. C Conceptos generales
Est compuesta de datos persistentes. Sirve a una o ms aplicaciones aplicaciones. Existe independencia entre los datos y los programas que los manejan. Es accesible a mltiples usuarios de forma simultnea simultnea. Hay independencia entre los datos y los programas que los van a tratar. Maneja la Coherencia Coherencia. Asegura no redundancia innecesaria. una finalidad de la base de datos es eliminar la redundancia o al menos minimizarla. minimizarla Maneja seguridad de los datos.
Compartir datos:
Ventas
BD - Librera
adems es posible desarrollar nuevas aplicaciones para operar sobre los mismos datos. datos.
Reducir la redundancia:
En sistemas que no son de base de datos, cada aplicacin tiene sus propios archivos exclusivos. Este hecho puede conducir a una redundancia considerable d l d t almacenados, con el d d i id bl de los datos l d l consecuente desperdicio de espacio de almacenamiento.
Personal
Escolaridad
Puesto
Archivo1
Archivo2
Puesto
Evitar la inconsistencia
Cuando la redundancia no esta controlada, podra un dato estar representado por dos entidades distintas en la base de datos, entonces necesariamente habr ocasiones en que las dos entidades no coincidan, digamos, cuando una de ellas ha sido actualizada y la otra no. En esos momentos decimos que la base de datos es inconsistente.
BD Personal
Puesto
Tabla 1 Tabla 2
Una base de datos inconsistente es capaz p de proporcionar a sus usuarios informacin correcta o contradictoria. contradictoria.
Puesto
Manejo de transacciones j
Una transaccin es una unidad de trabajo lgica, que por lo regular comprende varias operaciones de la base de datos (en particular, varias operaciones de actualizacin).
Transaccin T i
1. 2. 2 3. 4.
Retirar el efectivo de la cuenta A Depositarlo en la cuenta B Actualizar cantidad en cuenta A Actualizar cantidad en cuenta B
Si el usuario declara que las dos actualizaciones son parte de la misma transaccin, entonces el sistema puede garantizar que se hagan ya sea a bas ambas o ninguna de ellas, an cuando el sistema fallara (por falta de gu a e as, a cua do e s ste a a a a (po a ta suministro elctrico) a la mitad del proceso.
Mantener la integridad g
El objetivo de la integridad es asegurar que los datos de la base de datos estn correctos. La inconsistencia entre dos entradas que pretenden representar el mismo hecho es un ejemplo de la falta de integridad; desde luego, este problema slo puede surgir s existe redundancia en los datos almacenados. N obstante, aun cuando no exista redundancia, l b l d No b t t d i t d d i la base de datos podra seguir conteniendo informacin incorrecta. Por ejemplo un empleado podra aparecer con 400 horas laboradas durante la semana en lugar de 40 como parte de un semana, departamento que no existe. El control centralizado de la base de datos puede ayudar a evitar estos problemas mediante restricciones de integridad (tambin conocidas como reglas del negocio) que sern verificadas siempre que se realice una operacin de actualizacin.
Es E posible establecer dif ibl t bl diferentes restricciones para cada ti d t ti i d tipo de acceso (recuperacin, insercin, eliminacin, etc.) para cada parte de la informacin de la base de datos. Sin dichas restricciones la seguridad de los datos podra estar en mayor riesgo que en un sistema de archivos tradicionales; es decir, decir la naturaleza centralizada de un sistema de base de datos requiere, que tambin sea establecido un buen sistema de seguridad.
Al conocer los requerimientos generales de la empresa, el DBA (administrador de la BD) puede estructurar los sistemas de manera que ofrezcan un servicio general que sea el mejor para la empresa. Por ejemplo, es posible elegir una representacin f i d l d t almacenados que proporcione un acceso rpido t i fsica de los datos l d i id para las aplicaciones ms importantes.
Con el control central de la base de datos, el DBA puede asegurar que todos los estndares aplicables en la representacin de los datos sean observados. Estos estndares podran incluir alguno o todos los siguientes: departamentales, de instalacin, corporativos, de la industria, nacionales, e internacionales. En forma similar, los estndares en la asignacin de nombres y en la documentacin de los datos, tambin son muy convenientes como una ayuda para compartir y entender los datos. p
Es imperativo que exista una persona que administre los datos, los entienda junto con las necesidades de la empresa a un nivel e administracin superior. superior La labor del administrador de datos (DA) es decidir en primer lugar que datos deben ser almacenados en la base de datos y establecer polticas para mantener y manejar esos datos una vez almacenados. Un ejemplo de estas polticas podra ser que i di quin puede realizar indicar i d li qu operaciones sobre ciertos datos y bajo que circunstancias, es decir, una poltica de seguridad de los datos. El administrador de datos es un administrador, no de TI.
Administrador de Datos
El responsable de implementar las decisiones del administrador de datos es el administrador de base de datos (DBA). Por lo tanto el DBA es un profesional de TI TI. El trabajo del DBA consiste en crear la base de datos real e implementar los controles tcnicos necesarios para hacer cumplir las diversas decisiones de las polticas hechas por el administrador de datos. El DBA tambin es responsable de asegurar que el sistema opere con el rendimiento adecuado y debe proporcionar una variedad de otros servicios tcnicos. El DBA tendr el equipo de programadores de sistemas y otros asistentes tcnicos.
Existen diferentes niveles de abstraccin para simplificar la interaccin de los usuarios con el sistema: Interno, conceptual y externo (especficamente el de almacenamiento fsico, el del p g programador y el del usuario). ) La interrelacin entre estos tres niveles de abstraccin se ilustra en la siguiente figura. g g
Es la representacin del nivel ms bajo de abstraccin, abstraccin en ste nivel se describe en detalle la forma en como se almacenan los datos en los dispositivos de almacenamiento
Es el ms cercano al almacenamiento fsico que tiene que ver con la forma en que los datos estn almacenados fsicamente.
El siguiente nivel de abstraccin describe que datos son almacenados abstraccin, realmente en la base de datos y las relaciones que existen entre los mismos, describe la base de datos completa en trminos de su estructura de diseo. El nivel conceptual de abstraccin lo usan los administradores de bases de datos, datos quienes deben decidir qu informacin se va a guardar en la base de datos. Consta de las siguientes definiciones: Definicin de los datos: Se describen el tipo de datos y la longitud de campo todos los elementos en la base. Los elementos por definir incluyen artculos elementales (atributos), totales de datos y registros conceptuales (entidades). Relaciones entre d R l i datos: S d fi Se definen l relaciones entre d las l i datos para enlazar l tipos de registros relacionados para el procesamiento de archivos mltiples.
NOTA: En el nivel conceptual la base de datos aparece como una coleccin de registros lgicos, sin
descriptores de almacenamiento Los archivos conceptuales no existen fsicamente La transformacin de almacenamiento. fsicamente. registros conceptuales a registros fsicos para el almacenamiento se lleva a cabo por el sistema y es transparente al usuario.
Nivel ms alto de abstraccin es lo que el usuario final puede abstraccin, visualizar del sistema terminado, describe slo una parte de la base de datos al usuario acreditado para verla. El sistema puede proporcionar muchas visiones para la misma base de datos.
BD
Usuario 2
Vista 2
Usuario 3
Vista 3
Vista externa 1
sNo nombre aPatern edad salario
Vista externa 2
nStaff nombre nSuc
Nivel conceptual
Esquema Conceptual
nStaff
Nivel Interno
Esquema Interno
Struct STAFF{ int nStaff; nStaff; int nSuc; nSuc; char nombre[15]; char aPatern[15]; aPatern[15]; struct date fechaNac; fechaNac; float salario; struct STAFF *next; / apuntador al siguiente registro STAFF / *next; /* next STAFF*/ }; Index nStaff; index nSuc; /*define indices de STAFF*/ nStaff; nSuc;
BD
Disco duro
Es una representacin de la realidad que contiene las caractersticas generales de algo que se va a realizar. En base de datos, esta representacin la elaboramos de forma grfica.
Qu es modelo de datos?
Es una coleccin de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semntica asociada a los datos y restricciones de consistencia.
Se usan para describir datos en los niveles conceptual y de visin, es decir, con este modelo representamos los datos de tal forma como nosotros los captamos en el mundo real, tienen una capacidad de estructuracin bastante flexible y permiten especificar restricciones de datos explcitamente. Existen diferentes modelos de este tipo, pero el ms utilizado por su sencillez y eficiencia es el modelo Entidad-Relacin y O i t d a Obj t Orientado Objetos.
Se utilizan para describir datos en los niveles conceptual y fsico. Estos modelos utilizan registros e instancias para representar la realidad as como las relaciones realidad, que existen entre estos registros (ligas) o apuntadores. A diferencia de los modelos de datos basados en objetos, se usan para especificar la estructura lgica global de la base de datos y para proporcionar una descripcin a nivel ms alto de la implementacin. Los tres modelos de datos ms ampliamente aceptados son: Modelo Relacional, Modelo de Red y Modelo Jerrquico.
Se usan para describir a los datos en el nivel ms bajo, aunque existen muy pocos p , p p p modelos de este tipo, bsicamente capturan aspectos de la implementacin de los sistemas de base de datos. Existen dos clasificaciones de este tipo que son: Modelo unificador y Memoria de elementos.
Denominado por sus siglas como: E-R; Este modelo representa a la realidad a E R; travs de entidades, que son objetos que existen y que se distinguen de otros por sus caractersticas,
por ejemplo: un alumno se distingue de otro por sus caractersticas particulares como l es el nombre, o el numero d control asignado al entrar a una i tit i lo l b l de t l i d l t institucin educativa, as mismo, un empleado, una materia, etc. Tangibles: Son todos aquellos objetos fsicos que podemos ver tocar o sentir ver, sentir. Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, aun sabiendo que existen, por ejemplo: la entidad materia, sabemos que existe, sin embargo, no la podemos visualizar o tocar.
Las L caractersticas d l entidades en b t ti de las tid d base d d t se ll de datos llaman atributos, por t ib t ejemplo el nombre, direccin telfono, grado, grupo, etc. son atributos de la entidad alumno; clave, nmero de seguro social, departamento, etc., son p p atributos de la entidad empleado. A su vez una entidad se puede asociar o relacionar con ms entidades a travs de relaciones.
El modelado entidad relacin es una tcnica para el modelado de entidad-relacin datos utilizando diagramas entidad relacin. No es la nica tcnica pero s la ms utilizada. El E R consiste en los siguientes pasos: E-R
Se parte de una descripcin textual del problema o sistema de informacin a automatizar (los requisitos). Se hace una lista de los sustantivos y verbos que aparecen aparecen. Los sustantivos son posibles entidades o atributos. Los verbos son posibles relaciones. Analizando las frases se determina la cardinalidad de las relaciones y otros detalles. Se elabora el diagrama (o diagramas) entidad-relacin. Se completa el modelo con listas de atributos y una descripcin de otras restricciones que no se pueden reflejar en el diagrama.
artculo
autor
pertenece a
Diagrama E-R de EAutores de artculos institucin Entidad: objeto (real o abstracto) acerca del cual se recoge informacin de inters para la base de datos. Relacin: asociacin entidades. o correspondencia existente entre
Fecha 1:N 1
Cliente
Realiza
Pedido
*
RFC
artculos
Se compone de
Cantidad
N:M
NSerie
RFC
En este modelo se representan los datos y las relaciones entre estos, a travs de p , una coleccin de tablas, en las cuales los renglones (tuplas) equivalen a los cada uno de los registros que contendr la base de datos y las columnas corresponden a las caractersticas (atributos) de cada registro localizado en la tupla; Considerando nuestro ejemplo del y el artculo:
Nombre Francisca Bojorges Jmenez Cruz Ortiz Gemma Chinchilla Corts Areli Garca Gaspar Hermenegildo Puesto Vendedor Vendedor Vendedor Vendedor Salario 3500 3500 3500 3500
Relacin: empleado
Clave P001 P002
Relacin: artculo
Descripcin Microsoft Office 2007 Microsoft Windows Vista WebSphere Modeler Suite Lotus Aris Modeler WebSphere Monitor Costo 5750 3800 15000 4900 18000 18000
Existen dos formas de representarla; pero para ello necesitamos definir que es una llave primaria: p p p q p Es un atributo el cual definimos como atributo principal, es una forma nica de identificar a una entidad.
Por ejemplo, el RFC de un empleado se distingue de otro por que los RFC no pueden ser iguales.
Ahora si, las formas de representar las relaciones en este modelo son:
1. Haciendo una tabla que contenga cada una de las llaves primarias de las entidades involucradas en la relacin. Tomando en cuenta que la llave primaria del empleado es su RFC, y la llave primaria del artculo es la Clave. 2. Incluyendo en alguna de las tablas de las entidades involucradas, la llave de la otra tabla.
Descripcin Microsoft Office 2007 Microsoft Windows Vista WebSphereModeler Suite Lotus Aris Modeler WebSphere Monitor Microsoft Office 2007
Ejercicio
Analiza las dos soluciones anteriores del modelo relacional Indica cules son las relacional. ventajas y las desventajas de cada una de ellas. ellas
Representa los datos mediante colecciones de registros y sus relacione se representan por medio de ligas o enlaces, los cuales pueden verse como punteros. Los registros se organizan en un conjunto de grficas arbitrarias.
BOJF880101 Francisca Bojorges Jmenez Vendedor 3500 P001 P006 CUOG881101 Cruz Ortiz Gemma Vendedor 3500 P005 CICA880901 Chinchilla Corts Areli Vendedor 3500 P002 P004 GAGH881226 Garca Gaspar Hermenegildo Vendedor 3500 P003 WebSphere Modeler 15000 Microsoft Windows Vista Suite Lotus 3800 4900 Aris Modeler A i M d l 18000 Microsoft Office 2007 WebSphere Monitor 5750 18000
Muy parecido al modelo de red en cuanto a las relaciones y datos datos, ya que stos se representan por medio de registros y sus ligas. La diferencia radica en que estn organizados por conjuntos de rboles en lugar de grficas arbitrarias arbitrarias.
BOJF880101
Vendedor
3500
CUOG881101
Vendedor
3500
CICA880901
Vendedor
3500
GAGH881226
Vendedor
3500
P001 P006
5750 18000
P005
Aris Modeler
18000
P002 P004
El modelo orientado a objetos ampla la definicin de Entidad para incluir no slo los atributos que describen el estado del objeto, sino tambin las acciones j , asociadas con el objeto, es decir su comportamiento. En este caso, decimos que el objeto encapsula tanto el estado como el comportamiento.
Clases Cl
Empleado Atributos o Estado rFC FC nombre puesto salario Comportamiento o Mtodos vender(Artculo) Artculo Atributos o Estado l clave descripcin precio Comportamiento o Mtodos
Mensaje:Vende
RFC= BOJF880101 Nombre= F Francisca B j i Bojorges Jmenez J Puesto = Vendedor Salario = 3500
Mensaje:Vende
Instancias = objetos
Es la capacidad de modificar el esquema fsico sin provocar que se vuelvan a escribir los programas de aplicacin. Capacidad de modificar el esquema conceptual sin provocar que se vuelvan a escribir los programas de aplicacin.
Un lenguaje que permite al DBA o al usuario describir y nombrar g j q p las entidades, atributos y relaciones requeridas por la aplicacin, junto con cualquier restriccin asociada de integridad y seguridad. Permite especificar los restricciones de los datos.
tipos
de
datos,
estructuras
Integridad Seguridad
Facilidad para la obtencin de datos especficos (lenguaje de consulta). Provee operaciones b i P i bsicas d manipulacin d d t que se de i l i de datos encuentran almacenado en la base de datos.
DML Procedural
Permite al usuario decirle al sistema exactamente como manipular los datos datos.
DML No Procedural
Un sistema de software que permite a los usuarios definir, crear, mantener y controlar el acceso a la base de datos. Es una coleccin de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de una tarea especfica. El objetivo primordial de un sistema de gestin de base de datos es p p proporcionar un entorno que sea conveniente y eficiente para q p extraer, almacenar y manipular informacin de la base de datos. Todas las peticiones de acceso a la base se manejan base, centralizadamente, por lo que este paquete funciona como interface entre los usuarios y la base de datos.
Primera generacin
Jerrquica De red
Segunda generacin S d i
Relacional
Tercera generacin
Debe proporcionar a los usuarios la capacidad de almacenar, extraer y actualizar datos de la base de datos. Ocultar detalles internos de implementacin fsica.
Un tl U catlogo accesible por el usuario. Proporcionar un catlogo en el que se almacenan las ibl l i
descripciones de los elementos de datos y que sea accesible por parte de los usuarios. Es un repositorio de informacin que describe los datos contenidos en la base de datos, es decir, los datos acerca de los datos o metadatos.
Soporte de transacciones. Debe proporcionar un mecanismo que garantice que se lleve a cabo
todas las actualizaciones correspondientes a una determinada transaccin, o que no se lleve ninguna. Una transaccin es una serie de acciones, mediante las cuales se accede al contenido de DB, acciones de un nico usuario o programa de aplicacin. Si fallar la transaccin la BD quedara en estado incoherente.
Servicios de recuperacin.
mecanismo para recuperar la BD si resulta daada de alguna forma. Falla de hardware, error de software, fallo de soporte fsico, el usuario aborte la aplicacin.
Servicios de autorizacin. Proporcionar un mecanismo para garantizar que slo los usuarios autorizados puedan acceder a la base de datos. Seguridad hace referencia a la proteccin frente accesos no autorizados. Soporte para l comunicacin d d t Debe poder integrarse con software S t la i i de datos. de comunicaciones. El SGBD recibe solicitudes en forma de mensajes de comunicacin y responde a ellas de forma similar. Procesamiento distribuido. Servicios de integridad. Proporcionar un medio de garantizar que tanto los datos
de la BD como los cambios efectuados en los mismos se adecuen a ciertas reglas. Integridad es la correccin y coherencia de datos almacenados. La integridad esta relacionada con la CALIDAD de los propios datos. Se suele expresar en trminos de restricciones que son reglas de coherencia que la BD no debe violar.
Incluir funcionalidades para permitir que los programas sean independientes de la estructura real de la base de datos. La independencia se consigue mediante mecanismos de vistas.
Servicios de utilidad P utilidad. Proporcionar una serie d servicios d utilidad. A d all i i de i i de tilid d Ayudan
DBA a administrar la DB de forma efectiva. Utilidades que funcionan a nivel interno y externo: Importacin, Monitorizacin, Anlisis estadstico. Reorganizacin de ndices, recoleccin y reasignacin de memoria.
Es la persona o equipo de personas profesionales responsables del control y manejo del sistema de base de datos, generalmente tiene (n) experiencia en DBMS, diseo de bases ( ) de datos, Sistemas operativos, comunicacin de datos, hardware y programacin.
Administrador de Datos (DA) Administrador de la Base de Datos(DBA) Diseadores de la base de datos (Lgica y fsica) Programadores de aplicaciones (Visin) Usuarios finales (Ingenuos y sofisticados)
Usuarios sofisticados Interactan con el sistema sin escribir sofisticados. programas. En cambio escriben sus preguntas en un lenguaje de consultas de base de datos. Usuarios especializados. Usuarios sofisticados escriben aplicaciones de base de datos especializadas que no encajan en el marco tradicional de procesamiento de datos. Usuarios ingenuos. Podemos mencionar al usuario ingenuo como el usuario final que utiliza el sistema de base de datos sin saber nada del diseo interno del mismo por ejemplo: un cajero.
Hardware Abarca desde una PC hasta una red de computadoras. Software DBMS SGBD, sistema operativo, software de red (si fuera necesario) y programas de aplicacin. Datos Datos utilizados por la organizacin y una descripcin de esos datos, llamado esquema. Procedimientos Instrucciones y reglas que deberan ser aplicados al diseo y uso de la base de datos y el DBMS. Personas
Componentes de un SGBD
Procesador de consultas. Transforma consultas en instrucciones de bajo nivel. Gestor de BD. Comunica l G t d BD C i las consultas enviadas por usuarios y lt i d i aplicaciones, llama al gestor de archivos para satisfacer esas solicitudes. Gestor d archivos. M i l l G t de hi Manipula los archivos d almacenamiento hi de l i t subyacentes y gestiona la asignacin de espacio de memoria Preprocesador DML. Convierte instrucciones DML a funciones en el lenguaje h t l j host. Compilador DDL. Convierte instrucciones DDL en tablas que contienen metadatos. Gestor de catlogo. Gestiona y mantiene el catlogo del sistema.
Componentes de un SG C SGBD
Componentes de un GBD p
Control de autorizacin Comprobar autorizaciones de los usuarios autorizacin. usuarios. Procesador de comandos. Una vez comprobada la autorizacin pasa el control al procesador de comandos. Comprobador de integridad. Verifica que la operacin solicitada satisface todas las restricciones de integridad. Optimizador de consultas. Determina estrategia ptima para la ejecucin de consultas. consultas Gestor de transacciones. Procesamiento requerido para las operaciones que recibe de las transacciones. Planificador. Garantiza que las operaciones concurrentes no entren en conflicto unas con otras. Gestor de recuperacin. Garantiza la coherencia de la base de datos cuando se produzcan fallos. Gestor de bfer. Responsable de la transferencia de datos de la memoria principal y el almacenamiento secundario.
Componentes de un G C GBD
Tarea
Realizar una presentacin de cmo instalar, configurar y aspectos a tomar en consideracin de un SGBD (SQLite, VFP, Access, P t A Postgress, M SQL O l DB2 SQL S MySQL, Oracle, DB2, Server, I f Informix, i etc.) bajo Linux y Windows Analizar cul de las funciones vistas soporta En qu generacin de SGBD lo clasificaran.
Realizar una pgina electrnica y publicarla en el servidor central de la materia, toda copia ser sancionada. ( esta tarea puede realizarse en equipo de 3 personas previa autorizacin ) t i i
La arquitectura de los sistemas de bases de datos est enormemente influenciada por el sistema informtico en el que se ejecuta el sistema de bases de datos. Los sistemas de bases de datos pueden ser centralizados o clienteservidor, donde una mquina que hace de servidor ejecuta trabajos de mltiples mquinas clientes. Los SGBD tambin pueden disearse para explotar las arquitecturas paralelas de computadoras. Las bases de datos distribuidas abarcan muchas mquinas separadas geogrficamente.
No tienen control de concurrencia que no es necesario cuando concurrencia, solamente un usuario puede generar modificaciones. Las facilidades de L f ilid d d recuperacin en estos sistemas o no existen o i t i t i t son primitivas; por ejemplo, realizar una copia de seguridad de la base de datos antes de cualquier modificacin. La mayora de estos sistemas no admiten SQL y proporcionan un lenguaje de consulta muy simple que, en algunos casos, es una variante d QBE i t de QBE. En cambio, los sistemas de bases de datos diseados para sistemas multiusuario soportan todas las caractersticas de las transacciones.
Desventajas
Enorme carga de trabajo a la computadora central. La computadora central tena que ejecutar el SGBD y las aplicaciones. La computadora central es la encargada tambin de llevar a cabo las tareas por cuenta de las terminales, por ejemplo formatear los datos para la visualizacin en pantalla.
Caractersticas:
El servidor almacena los archivos que el SGBD y las aplicaciones necesitan. El SGBD y las aplicaciones se ejecutan en cada estacin de trabajo, solicitando el archivo al servidor cada vez que es l hi l id d necesario
Desventajas:
Gran cantidad de trfico en la red Una copia del SGBD en cada estacin de trabajo El control de concurrencia integridad y concurrencia, recuperacin son muy complejos.
Las L PC son ahora ms rpidas, ms potentes y ms b t h id t t baratas, l sistemas los i t se han ido distanciando de la arquitectura centralizada. Como consecuencia, los sistemas centralizados actan hoy como sistemas servidores que satisfacen las peticiones generadas por los sistemas clientes. clientes El trmino cliente-servidor hace referencia ala forma en que interactan los componentes de para formar el sistema. Hay un proceso cliente que necesita algn recurso y un servidor que proporciona el recurso No es obligatorio que el cliente y el servidor residan recurso. en la misma mquina.
La funcionalidad de una base de datos se puede dividir a grandes rasgos p g g en dos partes: la parte visible al usuario y el sistema subyacente.
El sistema subyacente gestiona el acceso a las estructuras, la evaluacin y optimizacin de consultas, el control de concurrencia y la recuperacin. La parte visible al usuario de un sistema de base de datos est formado por herramientas como formularios diseadores de informes y facilidades grficas formularios, de interfaz de usuario. La interfaz entre la parte visible al usuario y el sistema subyacente puede ser SQL o una aplicacin.
Los sistemas servidores de transacciones o servidores de consultas, proporcionan una interfaz a travs de la cual los clientes pueden enviar peticiones para realizar una accin que el servidor ejecutar y cuyos resultados se devolvern al cliente. Los sistemas servidores de datos permiten a los clientes interaccionar con los servidores realizando peticiones de lectura o modificacin de datos en unidades tales como archivos o pginas. Los servidores de datos de los SGDB soportan unidades de datos de menor tamao que los archivos archivos, como pginas, tuplas u objetos. Proporcionan facilidades de indexacin de datos, as como facilidades de transaccin de modo que los datos nunca se quedan en un estado inconsistente si falla una mquina cliente o un proceso.
La arquitectura del servidor de transacciones es, la arquitectura ms ampliamente utilizada. un sistema servidor de transacciones tpico consiste en mltiples procesos accediendo a los datos en una memoria compartida
El cliente (nivel 1) es responsable de la presentacin de los datos al usuario. El servidor (nivel 2) es responsable de suministrar servicios de datos al cliente Ventajas:
Amplio acceso a BD existentes. Alto y creciente desempeo desempeo. Reduccin en el costo de hw. Reduccin en el costo de comunicacin. Incrementa la consistencia.
El lado del cliente presentaba dos problemas relacionados con la escalabilidad escalabilidad.
Cliente Gordo, necesitaba demasiados recursos Gordo para correr efectivamente (memoria, procesador, velocidad de procesamiento, etc). Las tareas de administracin del lado del cliente eran bastante significativas significativas.
Surge en 1995. La nueva arquitectura propona tres niveles cada uno de los cuales corre en diferentes plataformas. l t f
Nivel 1 Interfaz de usuario Se ejecuta en la computadora del 1. usuario. usuario final (Cliente delgado) Nivel 2. Lgica del negocio y procesamiento de datos. Se ejecuta en un servidor que a menudo se denomina servidor de aplicaciones. Nivel 3. SGBD. Almacena los datos requeridos por el nivel intermedio. Este nivel puede ejecutarse en un servidor independiente, denominado servidor de base de datos.
Ventajas
El hardware es menos costoso ya que utiliza clientes delgados. El mantenimiento de las aplicaciones esta centralizado, al transferir la lgica de negocios desde las plataformas de los usuarios finales a un nico i servidor d aplicaciones. Eli i problemas d di t ib i d sw. id de li i Elimina bl de distribucin de Mayor modularidad, resulta mas sencillo modificar o sustituir uno o dos niveles sin que los otros se vean afectados afectados. Resulta ms fcil equilibrar la carga de procesamiento al separar la lgica principal de negocio de las funciones de base de datos datos.
La arquitectura multinivel se utiliza en aquellas aplicaciones que pueden beneficiarse de ser divididas di ididas en capas de componentes componentes. La L suma d l niveles f de los i l forma el t d l todo. La integridad de cada nivel queda independiente de los otros.
En las aplicaciones Multi-niveles, los tres componentes estn contenidos en capas totalmente independientes y separadas. i d di d Esta separacin entre las capas de Tecnologa, Tecnologa Reglas de Negocio y Base de datos, posibilita utilizar, reemplazar o reutilizar cada componente, en p nuevas combinaciones conforme a requisitos empresariales especficos y dinmicos.
Mejoran la velocidad de procesamiento y de E/S mediante la utilizacin de CPU y discos en paralelo. La fuerza que ha impulsado a los sistemas paralelos de bases de datos ha sido la demanda de aplicaciones que manejan bases de datos muy grandes (del orden de terabytes, esto es, 1012 bytes) o que tienen que procesar un nmero enorme de transacciones por segundo (del orden de miles de transacciones por segundo). Los sistemas de bases de datos centralizados o cliente-servidor no son suficientemente potentes para soportar tales aplicaciones. Una mquina paralela de grano grueso consiste en un pequeo nmero de potentes procesadores; una mquina masivamente paralela o de grano fino utiliza miles de procesadores ms pequeos. p p q
La ganancia de velocidad y la ampliabilidad son dos aspectos importantes en el estudio del paralelismo. paralelismo La ganancia de velocidad se refiere a la ejecucin en menos tiempo de una tarea dada mediante el incremento del grado de paralelismo. La ampliabilidad se refiere al manejo de transacciones ms largas mediante el incremento del grado de paralelismo.
En un sistema distribuido de bases de datos se almacena la base de datos en varias computadoras. Varios medios de comunicacin, como las redes de alta velocidad o l l l id d las lneas t l f i telefnicas, son l que pueden los d poner en contacto las distintas computadoras de un sistema distribuido. No comparten ni memoria ni discos. Las computadoras de d un sistema di t ib id pueden variar en t i t distribuido d i tamao y funcin pudiendo abarcar desde las estaciones de j g trabajo a los grandes sistemas.
Datos compartidos. La principal ventaja de construir un sistema distribuido de bases de datos es poder disponer de un entorno donde los usuarios puedan acceder desde una nica ubicacin a los datos que residen en otras ubicaciones. bi i Autonoma. La principal ventaja de compartir datos por medio de distribucin de datos es que cada ubicacin es capaz de mantener un grado de control sobre los datos que se almacenan localmente. Disponibilidad. Disponibilidad Si un sitio de un sistema distribuido falla los sitios falla, restantes pueden seguir trabajando. En particular, si los elementos de datos estn replicados en varios sitios, una transaccin que necesite un elemento de datos en particular puede encontrarlo en varios sitios. De este modo, el fallo de un sitio no implica la cada del sistema.
Tarea
Imagina que te encuentras a cargo de las operaciones de la base de datos de una empresa cuyo trabajo principal es el de procesar transacciones. La empresa crece rpidamente cada ao y el sistema informtico actual se ha quedado pequeo. Qu arquitectura sera ms conveniente para la BD de tu empresa? Qu o cules factores consideraste para tu decisin y por qu? Genera un reporte en forma de pgina electrnica y publicala en el servidor central de la materia.
Bibliografa utilizada
Libros: Lib
Database Management Systems 2nd or 3rd edition by Raghu Ramakrishnan and Johannes Gehrke. Fundamentos de Bases de Datos Abraham Silberschatz Henry Datos. Silberschatz, F. Korth, S. Sudarshan Sistemas de Bases de Datos. Thomas M. Connolly y Carolyn Begg
Papers:
A relational model of data for large shared data banks. E.F. Codd. IBM Research Laboratory San Jose California. 1983. El modelo relacional de bases de datos. Javier Quiroz. Boletn de Poltica Informtica 2003.
Imgenes: I