Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Base de datos
Silvio Moschen
2 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
Características
Silvio Moschen
3 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
Silvio Moschen
4 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
Consistencia de datos:
Compartir datos:
Mantenimiento de estándares:
Silvio Moschen
5 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
Mejora en la seguridad:
Mejora en la productividad:
Silvio Moschen
6 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
Mejora en el mantenimiento:
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:
Silvio Moschen
7 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
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.
Complejidad:
Silvio Moschen
8 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
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.
Tipos de Campos
Silvio Moschen
9 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
Silvio Moschen
10 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
Modelo entidad-relación
Silvio Moschen
11 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
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
Silvio Moschen
13 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
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
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.
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
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
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).
Interfaz de usuario.
Gestión del procesamiento.
Gestión de la base de datos.
Silvio Moschen
18 Bases de Datos I: Diseño Conceptual de Bases de Datos – TS Desarrollo de Software – 2° año
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:
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
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
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.
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.
Silvio Moschen