Está en la página 1de 80

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.

Ral Morales S Salcedo, Ph.D.

Simbologa

Concepto importante Base d D t B de Datos Tarea o ejercicio Aplicaciones p

Tablas Entidades - Relaciones

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.4 Modelos de datos.


1.4.1 Modelo entidad-relacin. 1.4.2 Modelo relacional. 1.4.3 Modelo de redes. 1.4.4 Modelo jerrquico. 1.4.5 Modelo orientado a objetos.

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

Manejo de una gran cantidad d d t en tid d de datos empresas o instituciones.

Por lo que es necesario disponer de medios de hardware y software.

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

Base de datos (BD):

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

En resumen una BD:


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.

1.1 Objetivos de los sistemas de base de datos.

Compartir datos:

Las aplicaciones existentes pueden compartir la informacin de la base de datos,

Ventas

Almacn Venta en lnea

BD - Librera

adems es posible desarrollar nuevas aplicaciones para operar sobre los mismos datos. datos.

1.1 Objetivos de los sistemas de base de 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

1.1 Objetivos de los sistemas de base de datos.

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

1.1 Objetivos de los sistemas de base de datos.

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).

Transferir una cantidad de efectivo de A a B

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.

1.1 Objetivos de los sistemas de base de datos.

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.

1.1 Objetivos de los sistemas de base de datos. Cumplir la seguridad

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.

1.1 Objetivos de los sistemas de base de datos.

Equilibrar los requerimientos en conflicto

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.

Cumplir los estndares

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

1.2 Administracin de los datos y administracin de bases de datos. d t

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

1.2 1 2 Administracin de los datos y administracin de bases 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.

Administrador de Bases de Datos

1.3 Niveles de 1 3 Ni l d arquitectura. it t

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

Nivel externo o de visin

Nivel conceptual o lgico

Nivel interno o fsico

1.3.1 Ni l f i 1 3 1 Nivel fsico o i t interno

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

Por ejemplo, mediante ndices para el acceso aleatorio a los datos.

Es el ms cercano al almacenamiento fsico que tiene que ver con la forma en que los datos estn almacenados fsicamente.

1.3.2 Nivel conceptual o nivel lgico

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.

1.3.3 Nivel de visin o nivel externo

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

Vista Controlador Vista Empleado Vista Cliente

Ejemplo de los tres niveles:


Nivel externo Usuario 1
Vista 1

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

nombre aPatern fechaNac salario

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;

Organizacin Fsica d l d t F i de los datos

BD

Disco duro

1.4 Modelos de datos


Modelo:

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.

Los modelos de datos se dividen en tres grupos:

Modelos lgicos basados en objetos. g j

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.

Modelos lgicos basados en registros.

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.

Modelos fsicos de datos.

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.

1.4.1 Modelo entidad-relacin.

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 entidades pueden ser de dos tipos:


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.

1.4.1 Modelo entidad-relacin.

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.

cita a es escrito por

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

Atributos: cada una de las propiedades o caractersticas de una entidad o relacin.

Uno a uno 1:1 Una a muchos 1:N 1: * Muchos a muchos N:M

Cardinalidad: n mximo y n mnimo de ocurrencias de cada entidad que intervienen en la relacin.

1.4.2 Modelo l i 1 4 2 M d l relacional l

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

BOJF880101 CUOG881101 CICA880901 GAGH881226

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

cmo se representan las relaciones entre las l i t l entidades en este modelo?

P003 P004 P005 P006

1.4.2 Modelo l i 1 4 2 M d l relacional l

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.

Clave P001 P002 P003 P004 P005 P006 P001

RFC BOJF880101 CICA880901 GAGH881226 CICA880901 CUOG881101 BOJF880101 CICA880901

Clave P001 P002 P003 P004 P005 P006 P001

Descripcin Microsoft Office 2007 Microsoft Windows Vista WebSphereModeler Suite Lotus Aris Modeler WebSphere Monitor Microsoft Office 2007

Costo 5750 3800 15000 4900 18000 18000 5750

RFC BOJF880101 CICA880901 GAGH881226 CICA880901 CUOG881101 BOJF880101 CICA880901

Ejercicio

Analiza las dos soluciones anteriores del modelo relacional Indica cules son las relacional. ventajas y las desventajas de cada una de ellas. ellas

1.4.3 Modelo de redes.

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

1.4.4 1 4 4 Modelo jerrquico jerrquico.

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

Francisca Bojorges Jmenez

Vendedor

3500

CUOG881101

Cruz Ortiz Gemma

Vendedor

3500

CICA880901

Chinchilla Corts Areli

Vendedor

3500

GAGH881226

Garca Gaspar Hermenegildo

Vendedor

3500

P001 P006

Microsoft Office 2007 WebSphere Monitor

5750 18000

P005

Aris Modeler

18000

P002 P004

Microsoft Windows Vista Suite Lotus

3800 4900 P003 WebSphere Modeler 15000

1.4.5 Modelo orientado a objetos. j

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.

Siguiendo el ejemplo de empleado y artculo:

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

Clave = P001 Descripcin = Mi Microsoft Office 2007 ft Offi Precio = 5750

Instancias = objetos

1.5 Independencia de los datos. p


Se S refiere a l proteccin contra l fi la t i t los programas d de aplicacin que puedan originar modificaciones cuando se altera la organizacin fsica o lgica de la base de datos. Existen dos i l de independencia d d t E i t d niveles d i d d i de datos.

Independencia fsica de datos:

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.

Independencia lgica de datos:

1.6 Lenguaje de definicin de datos. g j

Data definition language (DDL).

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

Todas las especificaciones son almacenadas en la base de datos.

1.7 Lenguaje de manejos de base de datos.

Data manipulation language (DML) (DML).

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

Permite al usuario definir que datos necesita ms que como manipularlos.

1.8 Sistemas d G i d B 1 8 Si de Gestin de Base d D de Datos.

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.

Historia de los Sistemas de Base de Datos

Primera generacin

Jerrquica De red

Segunda generacin S d i

Relacional

Tercera generacin

Entidad - relacin Orientadas a objetos

Funciones del SGBD

Almacenamiento, actualizacin y extraccin d d Al i li i i de datos.

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 control de concurrencia. Proporcionar un mecanismo para garantizar que la


BD se actualice correctamente cuando haya mltiples usuarios actualizando de manera concurrente la base de datos.

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.

Funciones del SGBD

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 para mejorar la independencia de los datos.

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.

1.9 Administrador d l b 1 9 Ad i i d de la base d d de datos (DBA) (DBA).

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.

1.10 Usuarios de la base de datos .


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.

1.11 1 11 Estructura general del sistema. sistema

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

Instalar Linux y el SGBD que utilizarn en clase I t l Li l tili l

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

Para llevar a casa

1.12 1 12 Arquitectura de sistemas de bases de datos datos.

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.

1.12.1 Sistemas centralizados.


Los sistemas de bases de datos centralizados son aquellos que se ejecutan en un nico sistema informtico sin interaccionar con ninguna otra computadora. Un sistema monousuario tpico es una unidad de sobremesa utilizada por una nica persona que di dispone d una sola CPU d uno o d de l CPU, de dos discos fijos y que trabaja con un sistema operativo que slo permite un nico usuario. p q p

1.12.1 Sistemas centralizados.

1.12.1 Sistemas centralizados.

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.

1.12.1 Sistemas centralizados. 1 12 1 Si t t li d


Por el contrario un sistema multiusuario tpico tiene ms discos y ms memoria, puede disponer de varias CPU y trabaja con un sistema operativo multiusuario. Se encarga de dar servicio a un gran nmero de usuarios que estn conectados al sistema a t a s travs de terminales. te a es

1.12.1 1 12 1 Sistemas centralizados centralizados.

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.

Arquitectura de Servidor de Archivo


Procesamiento distribuido en toda la red. Arquitectura de servidor de archivos

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.

1.12.2 Sistemas cliente/servidor.

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.

1.12.2 Sistemas cliente/servidor.

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.

1.12.2 Sistemas cliente/servidor.

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.

1.12.2 Sistemas cliente/servidor.

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

Arquitectura cliente-servidor en dos niveles. q

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.

Arquitectura cliente-servidor en d niveles. A i li id dos i l

Arquitectura cliente-servidor en dos niveles. q

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.

Arquitectura cliente-servidor en tres niveles. q

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.

Arquitectura cliente-servidor en tres niveles.

Arquitectura cliente-servidor en tres niveles.

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.

Arquitectura cliente-servidor en multi-niveles cliente servidor multi niveles.

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.

Arquitectura cliente-servidor en multi-niveles.

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.

1.12.3 Sistemas paralelos.

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

1.12.3 Sistemas paralelos.

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.

1.12.3 Sistemas paralelos.

1.12.4 Sistemas distribuidos.

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.

1.12.4 Sistemas distribuidos.

Las bases de datos distribuidas normalmente se encuentran en varios lugares geogrfico

1.12.4 Sistemas distribuidos.

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

Libro de Silberschatz Diapositivas de apoyo del libro de Connolly

También podría gustarte