Está en la página 1de 22

1 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Base de datos

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

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

Tipos de bases de datos:

De acuerdo a su organización podemos encontrar:

 Bases de Datos Relacionales


 Bases de Datos Orientadas a Objetos
 Bases de Datos NoSQL
 Bases de Datos en Tiempo Real

Silvio Moschen
2 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Bases de Datos Relacionales

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.

Silvio Moschen
3 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

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.

Silvio Moschen
4 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

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.

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

Silvio Moschen
5 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

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

Silvio Moschen
6 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

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

Silvio Moschen
7 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

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.

Silvio Moschen
8 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

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

Silvio Moschen
9 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

 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.
 Blob: Permiten almacenar datos binarios. Presentan
inconvenientes al ser indexados.

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

Silvio Moschen
10 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Modelo Relacional de Datos

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


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

Silvio Moschen
11 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

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

Silvio Moschen
12 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

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 necesario 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 Where 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'.

Silvio Moschen
13 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Arquitecturas de Sistemas de Bases de Datos


Como se fue mencionado anterior mente en la arquitectura de bases de datos hay
diferentes influencias una de las principales es sistema informático subyacente en
el cual se va a encontrar las bases de datos, a continuación explicaremos algunos
aspectos sobresalientes de las arquitectura de bases de datos:
 Conexión en red: en esta conexión de computadoras se verá la ejecución
de tareas en un sistema servidor y en sistemas clientes. De aquí se deriva
el sistema Cliente-Servidor.
 Procesamiento paralelo dentro de una computadora: Agiliza el proceso de
las tareas dentro de una base de datos.
 Distribución de datos: permite la accesibilidad de diferentes departamentos
o puntos.

Sistemas Centralizados
Nace en torno a una concepción tradicional de la organización, con estructura
centralizada y jerárquica, dividida en departamentos. Cada departamento tiene
unas actividades muy concretas, las relaciones que pueda establecer con otros
departamentos están muy definidas y limitadas y suelen realizarse a través de la
jerarquía.

El sistema de la base de datos centralizados se ejecuta en el único sistema


informático, sin interactuar con ningún otro sistema.
La arquitectura está centralizada en un servidor central al que sólo tienen acceso
los usuarios del departamento correspondiente, no puede estar ubicada en varias
partes sino en su totalidad en un solo equipo, a el podrán ingresar los usuarios
que necesiten hacer uso de ella.

Estos sistemas abarcan a los típicos equipos monopuestos, y a los equipos con
sistemas multipuesto2, donde la base de datos está centralizada en el sistema
principal.
Las tareas de gestión y control son más sencillas pero no suelen ofrecer
soluciones excesivamente avanzadas en la gestión de bases de datos.

Características funcionales
 El ordenador central es el único ordenador de la organización.
 El contiene todos los datos y es el responsable de la consolidación de la
 información.
 Desde el ordenador central se controla el acceso a múltiples terminales
 conectados a través de productos integrados en la arquitectura de red
del suministrador.
 Los terminales funcionan como "esclavos" del ordenador central.
 Cada usuario tiene un número asignado, y unos derechos y prioridades
de ejecución en la máquina de sus programas o peticiones.

Silvio Moschen
14 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Características físicas
 Único ordenador corporativo dimensionado para soportar todos los
procesos de la organización, todos los datos y las posibles
comunicaciones con las delegaciones.
 Una gran base de datos donde residen todos los datos del organismo.
 Impresoras y terminales (u ordenadores personales con emulación de
terminal)
 como puestos de trabajo conectados en grupos (clusters) al ordenador
central.

Características lógicas
 Ejecución de todos los procesos en el ordenador corporativo.
 Si la empresa está dispersa geográficamente y dispone de comunicaciones,
todos los puestos de trabajo están conectados al ordenador formando una
"estrella".

Ventajas e Inconvenientes

Entre las principales ventajas se encuentran:

 Alto rendimiento transaccional.


 Alta disponibilidad.
 Entorno probado y personal experimentado.
 Control total del ordenador, al ser éste único y residente en un único
Centro de Proceso de Datos.
 Concentración de todo el personal de explotación y administración del
sistema en un único Centro de Proceso de Datos.
 Alto nivel de seguridad

Entre los inconvenientes destacan:

 Alto precio del ordenador, al requerirse mucha potencia de tratamiento


para dar servicio a todos los usuarios que estén conectados y gran
espacio en disco para albergar todos los datos del organismo.
 Alta dependencia de las comunicaciones si existen. En caso de caída de
una línea, todos los puestos de trabajo dependientes de dicha línea
quedan inoperantes.
 Interfaces de usuario de caracteres (no gráficos) y, por lo tanto, poco
 amigables.
 Arquitecturas propietarias.

Silvio Moschen
15 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Sistemas Cliente-Servidor
La Arquitectura Cliente/Servidor.- Es un modelo para el desarrollo de sistemas de
información en el que las transacciones se dividen en procesos independientes
que cooperan entre sí para intercambiar información, servicios o recursos. Se
denomina cliente al proceso que inicia el diálogo o solicita los recursos y servidor
al proceso que responde a las solicitudes.

Arquitecturas múltiples clientes / múltiples servidores. Son más flexibles, ya que la


base de datos es distribuida en varios servidores. Cada cliente tiene un servidor
directo al cual hace sus peticiones. La comunicación entre los servidores ejecuta
las transacciones y peticiones de los usuarios y esta es transparente para ellos.
Arquitecturas de igual a igual.-Un DBMS verdadero no distingue entre cliente y
servidor.

Idealmente cada máquina puede desempeñar la funcionalidad de cliente y de


servidor. La base de datos es físicamente distribuida en diferentes lugares
fragmentado y replicando los datos. La fragmentación es deseable ya que hace
posible el poner los datos cerca de los usuarios que los necesitan, de esta forma
reduciendo potencialmente el costo de la transmisión y reduciendo el tamaño de
las relaciones involucradas en las consultas de los usuarios.

Entre las principales características de la arquitectura cliente/servidor se pueden


destacar las siguientes:

 El servidor presenta a todos sus clientes una interfaz única y bien definida.
 El cliente no necesita conocer la lógica del servidor, sólo su interfaz
externa.
 El cliente no depende de la ubicación física del servidor, ni del tipo de
equipo
 físico en el que se encuentra, ni de su sistema operativo.
 Los cambios en el servidor implican pocos o ningún cambio en el cliente.

Silvio Moschen
16 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Niveles de la arquitectura: Esta arquitectura se puede clasificar en cinco niveles,


según las funciones que asumen el cliente y el servidor, tal y como se puede ver
en el siguiente diagrama:

Primer nivel: el cliente asume parte de las funciones de presentación de la


aplicación, ya que en el servidor aun hay programas que se dedican a ese tipo de
tareas. Dicha distribución se realiza mediante el uso de productos para el
"maquillaje" de las pantallas del mainframe3. Esta técnica no exige el cambio en
las aplicaciones orientadas a terminales, pero dificulta su mantenimiento. Además,
el servidor ejecuta todos los procesos y almacena la totalidad de los datos. En
este caso se dice que hay una presentación distribuida o embellecimiento.

Segundo nivel: la aplicación está soportada directamente por el servidor, excepto


la presentación que es totalmente remota y reside en el cliente. Los terminales del
cliente soportan la captura de datos, incluyendo una validación parcial de los
mismos y una presentación de las consultas. En este caso se dice que hay una
presentación remota.

Tercer nivel: la lógica de los procesos se divide entre los distintos componentes
del cliente y del servidor. El diseñador de la aplicación debe definir los servicios y
las interfaces del sistema de información de forma que los papeles de cliente y
servidor sean intercambiables, excepto en el control de los datos que es
responsabilidad exclusiva del servidor. En este tipo de situaciones se dice que hay
un proceso distribuido o cooperativo.

Cuarto nivel: el cliente realiza tanto las funciones de presentación como los
procesos. Por su parte, el servidor almacena y gestiona los datos que permanecen
en una base de datos centralizada. En esta situación se dice que hay una gestión
de datos remota.

Silvio Moschen
17 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Quinto nivel: el reparto de tareas es como en el anterior y además el gestor de


base de datos divide sus componentes entre el cliente y el servidor. Las interfaces
entre ambos están dentro de las funciones del gestor de datos y, por lo tanto, no
tienen impacto en el desarrollo de las aplicaciones. En este nivel se da lo que se
conoce como bases de datos distribuidas.

Tipos de Arquitectura Cliente-Servidor:

Arquitectura de 2 capas:
La arquitectura cliente/ servidor tradicional es una solución de 2 capas. La
arquitectura de 2 capas consta de tres componentes distribuidos en dos capas:
cliente (solicitante de servicios) y servidor (proveedor de servicios).

Los tres componentes son:

 Interfaz de usuario.
 Gestión del procesamiento.
 Gestión de la base de datos.

Hay 2 tipos de arquitecturas cliente servidor de dos capas:

 Clientes obesos (thick clients): La mayor parte de la lógica de la aplicación


(gestión del procesamiento) reside junto a la lógica de la presentación
(interfaz de usuario) en el cliente, con la porción de acceso a datos en el
servidor.
 Clientes delgados (thin clients): solo la lógica de la presentación reside en
el cliente, con el acceso a datos y la mayoría de la lógica de la aplicación en
el servidor.

Silvio Moschen
18 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Es posible que un servidor funcione como cliente de otro servidor. Esto es


conocido como diseño de dos capas encadenado.

Limitaciones:
 El número usuarios máximo es de 100. Más allá de este número de
usuarios se excede la capacidad de procesamiento.
 No hay independencia entre la interfaz de usuario y los tratamientos, lo que
hace
 delicada la evolución de las aplicaciones.
 Dificultad de relocalizar las capas de tratamiento consumidoras de cálculo.
 Reutilización delicada del programa desarrollado bajo esta arquitectura.

Arquitectura de 3 capas:

La arquitectura de 3 capas surgió para superar las limitaciones de la arquitectura


de 2 capas. La tercera capa (servidor intermedio) está entre el interfaz de usuario
(cliente) y el gestor de datos (servidor). La capa intermedia proporciona gestión del
procesamiento y en ella se ejecutan las reglas y lógica de procesamiento. Permite
cientos de usuarios (en comparación con sólo 100 usuarios de la arquitectura de 2
capas). La arquitectura de 3 capas es usada cuando se necesita un diseño cliente
/ servidor que proporcione, en comparación con la arquitectura de 2 capas,
incrementar el rendimiento, flexibilidad, mantenibilidad, reusabilidad y
escalabilidad mientras se esconde la complejidad del procesamiento distribuido al
usuario.

Silvio Moschen
19 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Limitaciones:
Construir una arquitectura de 3 capas es una tarea complicada. Las herramientas
de programación que soportan el diseño de arquitecturas de 3 capas no
proporcionan todos los servicios deseados que se necesitan para soportar un
ambiente de computación distribuida. Un problema potencial en el diseño de
arquitecturas de 3 capas es que la separación de la interfaz gráfica de usuario, la
lógica de gestión de procesamiento y la lógica de datos no es siempre obvia.
Algunas lógicas de procesamiento de transacciones pueden aparecer en las 3
capas. La ubicación de una función particular en una capa u otra debería basarse
en criterios como los siguientes:
 Facilidad de desarrollo y comprobación.
 Facilidad de administración.
 Escalabilidad de los servidores.
 Funcionamiento (incluyendo procesamiento y carga de la red).

El middleware:

Como hemos visto, las capas están localizadas en máquinas diferentes que están
conectadas a través de la red. El middleware es el software que proporciona un
conjunto de servicios que permite el acceso transparente a los recursos en una
red. El middleware es un módulo intermedio que actúa como conductor entre dos
módulos de software. Para compartir datos, los dos módulos de software no
necesitan saber cómo comunicarse entre ellos, sino cómo comunicarse con el
módulo de middleware.
Es el encargado del acceso a los datos: acepta las consultas y datos recuperados
directamente de la aplicación y los transmite por la red. También es responsable
de enviar de vuelta a la aplicación, los datos de interés y de la generación de
códigos de error.

Ventajas e Inconvenientes:
Ventajas

 Aumento de la productividad:
 Los usuarios pueden utilizar herramientas que le son familiares, como hojas
de cálculo y herramientas de acceso a bases de datos.
 Mediante la integración de las aplicaciones cliente/servidor con las
aplicaciones personales de uso habitual, los usuarios pueden construir
soluciones particularizadas que se ajusten a sus necesidades cambiantes.
 Una interfaz gráfica de usuario consistente reduce el tiempo de aprendizaje
de las aplicaciones.
 Menores costos de operación:
 Permiten un mejor aprovechamiento de los sistemas existentes,
protegiendo la inversión. Por ejemplo, la compartición de servidores
(habitualmente caros) y dispositivos periféricos (como impresoras) entre
máquinas clientes permite un mejor rendimiento del conjunto.
 Proporcionan un mejor acceso a los datos. La interfaz de usuario ofrece
una forma homogénea de ver el sistema, independientemente de los

Silvio Moschen
20 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

cambios o actualizaciones que se produzcan en él y de la ubicación de la


información.
 El movimiento de funciones desde un ordenador central hacia servidores o
 clientes locales origina el desplazamiento de los costes de ese proceso
hacia máquinas más pequeñas y por tanto, más baratas.
 Mejora en el rendimiento de la red:
 Las arquitecturas cliente/servidor eliminan la necesidad de mover grandes
bloques de información por la red hacia los ordenadores personales o
estaciones de trabajo para su proceso. Los servidores controlan los datos,
procesan peticiones y después transfieren sólo los datos requeridos a la
máquina cliente. Entonces, la máquina cliente presenta los datos al usuario
mediante interfaces amigables. Todo esto reduce el tráfico de la red, lo que
facilita que pueda soportar un mayor número de usuarios.
 Tanto el cliente como el servidor pueden escalarse para ajustarse a las
necesidades de las aplicaciones. Las UCPs utilizadas en los respectivos
equipos pueden dimensionarse a partir de las aplicaciones y el tiempo de
respuesta que se requiera.
 La existencia de varias UCPs proporciona una red más fiable: un fallo en
uno de los equipos no significa necesariamente que el sistema deje de
funcionar.
 En una arquitectura como ésta, los clientes y los servidores son
independientes los unos de los otros con lo que pueden renovarse para
aumentar sus funciones y capacidad de forma independiente, sin afectar al
resto del sistema.
 La arquitectura modular de los sistemas cliente/servidor permite el uso de
ordenadores especializados (servidores de base de datos, servidores de
ficheros, estaciones de trabajo para CAD, etc.).
 Permite centralizar el control de sistemas que estaban descentralizados,
como por ejemplo la gestión de los ordenadores personales que antes
estuvieran aislados.

Inconvenientes
 Hay una alta complejidad tecnológica al tener que integrar una gran
variedad de
 productos.
 Requiere un fuerte rediseño de todos los elementos involucrados en los
sistemas
 de información (modelos de datos, procesos, interfaces, comunicaciones,
 almacenamiento de datos, etc.). Además, en la actualidad existen pocas
 herramientas que ayuden a determinar la mejor forma de dividir las
aplicaciones
 entre la parte cliente y la parte servidor.
 Es más difícil asegurar un elevado grado de seguridad en una red de
clientes y
 servidores que en un sistema con un único ordenador centralizado.

Silvio Moschen
21 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

 A veces, los problemas de congestión de la red pueden degradar el


rendimiento
 del sistema por debajo de lo que se obtendría con una única máquina
(arquitectura
 centralizada). También la interfaz gráfica de usuario puede a veces
ralentizar el
 funcionamiento de la aplicación.
 El quinto nivel de esta arquitectura (bases de datos distribuidas) es
técnicamente
 muy complejo y en la actualidad hay muy pocas implantaciones que
garanticen un
 funcionamiento totalmente eficiente.

Servidor de Transacciones
Estos servidores se ocupan de la interacción con los Clientes, desocupando al
servidor de datos de ello.
El servidor de transacciones se encarga de mantener un alto rendimiento,
disponibilidad e integridad de datos. Asimismo, se asegura de que ninguna
computadora tenga demasiado o muy poco que hacer.
Cuando un servidor de transacciones ve que a una computadora se le ha dado
demasiado trabajo, automáticamente divide el trabajo entre todas las
computadoras disponibles, haciendo que las mismas compartan recursos para
evitar que alguna de las máquinas se colapse.
Cuando actualiza bases de datos, el servidor de transacciones también ejecuta lo
que se conoce como el manejo de estados. Esto quiere decir que si el servidor de
transacciones percibe que una computadora no puede completar una transacción,
hace que el software abandone el trabajo y regrese a su estado original sin que
ocurra corrupción de datos.
Se basa en distintas normas, como pueda ser la ODBC4. Utiliza SQL para la
comunicación con los clientes y ofrece la ejecución de procedimientos remotos.
Son una parte intrínseca de los servidores de datos centralizados.

Servidor de datos
Estos no son necesariamente servidores de bases de datos relacionales, pueden
ser servidores de archivos, servidores de directorios, de objetos, etc.
Tienen una comunicación directa con los clientes, de forma que el cliente debe
tener todas las funcionalidades del sistema servidor.

Sus características son:

 Envío de páginas o elementos.


 Bloqueo: gestionado por el servidor.
 Cache de datos: agiliza el envío de datos muy comunes.
 Cache de bloqueos.

Silvio Moschen
22 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año

Sistemas Paralelos
El concepto de paralelismo supone la introducción de varios procesadores para
resolver un problema. Sabemos que un procesador diez veces más potente que
un procesador de potencia normal para una fecha es mucho más caro que diez
procesadores de potencia normal para dicha fecha. Por ello, si paralelizamos
nuestro programa -es decir, dividimos la carga computacional entre varios
procesadores distintos- vamos a obtener una mejora en la relación entre costo y
rendimiento. Con menos inversión en hardware estamos obteniendo mucha más
potencia computacional.
Los sistemas paralelos mejoran la velocidad d e procesamiento y E\S mediante la
utilización de UCP y discos en paralelo.

Las arquitecturas de sistemas paralelos varían entre dos extremos:

 No compartir nada.- Cada procesador tiene acceso exclusivo a su memoria


principal y a sus unidades de disco.
 Memoria compartida.- Cualquier procesador tiene acceso a cualquier
módulo de memoria o unidad de disco a través de una interconexión rápida.
 Un punto intermedio lo es discos compartidos - donde cualquier procesador
tiene acceso a cualquier unidad de disco a través de la interconexión, pero
solo tiene acceso exclusivo a su memoria principal.
 Jerárquico- Es un híbrido de las anteriores.

Silvio Moschen

También podría gustarte