Вы находитесь на странице: 1из 10

MODELO RELACIONAL

El modelo relacional para la gestión de una base de datos es un modelo de datos


basado en la lógica de predicado y en la teoría de conjuntos. Es el modelo más
utilizado en la actualidad para modelar problemas reales y administrar datos
dinámicamente. Su idea fundamental es el uso de «relaciones». Estas relaciones
podrían considerarse en forma lógica como conjuntos de datos llamados
«tuplas».la mayoría de las veces se conceptualiza de una manera más fácil de
imaginar, esto es, pensando en cada relación como si fuese una tabla que está
compuestas por registros (cada fila de la tabla sería un registro o tupla), y
columnas (también llamadas campos).

Los fundamentos principales del modelo relacional: la independencia lógica y


física de los datos.

El objetivo principal del modelo relacional es proteger al usuario de la obligación


de conocer la estructura física de los datos, es decir, con la representación de
ellos a nivel físico dentro de la base de datos. Esto permite generar un diseño
que sea capaz de implementarse en diferentes gestores de bases de datos.

Características (modelo relacional en BD)

 Una base de datos relacional se compone de varias tablas o relaciones.


 No pueden existir dos tablas con el mismo nombre.
 Cada tabla es a su vez un conjunto de registros, filas o tuplas.
 Cada registro representa un objeto del mundo real.
 Cada una de estos registros consta de varias columnas, campos o atributos.
 No pueden existir dos columnas con el mismo nombre en una misma tabla.
 Los valores almacenados en una columna deben ser del mismo tipo de dato.
 Todas las filas de una misma tabla poseen el mismo número de columnas.
 No se considera el orden en que se almacenan los registros en las tablas.
 No se considera el orden en que se almacenan las tablas en la base de
datos.
 La información puede ser recuperada o almacenada por medio de
sentencias llamadas «consultas».

En una base de datos relacional, los datos son recolectados mediante


relaciones, y estas a su vez son generalmente representadas mediante tablas.

Se define una relación como un conjunto de atributos, cada uno de los cuales
pertenece a un dominio, y que posee un nombre que identifica la relación. Se
representa gráficamente mediante una tabla con columnas (ATRIBUTOS) y filas
(TUPLAS). El conjunto de TUPLAS de una relación representa el CUERPO de
la relación y el conjunto de atributos y el nombre representan el ESQUEMA. Las
filas o tuplas contienen datos reales.
APLICACIONES DE BASES DE DATOS CLIENTE – SERVIDOR

La mayoría de los servicios de Internet son tipo de cliente-servidor. La acción de


visitar un sitio web requiere una arquitectura cliente-servidor, ya que el servidor
web sirve las páginas web al navegador (al cliente). Por ejemplo al logueate con
tu cuenta de Twitter, la computadora y el navegador web del usuario serían
considerados un cliente; y las computadoras, las bases de datos, y los usos que
componen Twitter serían considerados el servidor. Cuando el navegador web del
usuario solicita buscar la cuenta de otro usuario, el servidor de Twitter recopila
toda la información a mostrar en la base de datos de Twitter, la articula en una
página web, y la envía de nuevo al navegador web del cliente.

Otro ejemplo podría ser el funcionamiento de un juego online. Si existen dos


servidores de juego, cuando un usuario lo descarga y lo instala en su
computadora pasa a ser un cliente. Si tres personas juegan en un solo
computador existirían dos servidores, un cliente y tres usuarios. Si cada usuario
instala el juego en su propio ordenador existirían dos servidores, tres clientes y
tres usuarios.

VENTAJAS

1) Centralización del control: los accesos, recursos y la integridad de los datos


son controlados por el servidor de forma que un programa cliente defectuoso o
no autorizado no pueda dañar el sistema. Esta centralización también facilita la
tarea de poner al día datos u otros recursos (mejor que en las redes P2P)..

2) Escalabilidad: se puede aumentar la capacidad de clientes y servidores por


separado. Cualquier elemento puede ser aumentado (o mejorado) en cualquier
momento, o se pueden añadir nuevos nodos a la red (clientes y/o servidores).

3) Fácil mantenimiento: al estar distribuidas las funciones y responsabilidades


entre varios ordenadores independientes, es posible reemplazar, reparar,
actualizar, o incluso trasladar un servidor, mientras que sus clientes no se verán
afectados por ese cambio (o se afectarán mínimamente). Esta independencia de
los cambios también se conoce como encapsulación.

4) Existen tecnologías, suficientemente desarrolladas, diseñadas para el


paradigma de C/S que aseguran la seguridad en las transacciones, la
amigabilidad de la interfaz, y la facilidad de empleo.

DESVENTAJAS

1) La congestión del tráfico ha sido siempre un problema en el paradigma de


C/S. Cuando una gran cantidad de clientes envían peticiones simultaneas al
mismo servidor, puede ser que cause muchos problemas para éste (a mayor
número de clientes, más problemas para el servidor). Al contrario, en las redes
P2P como cada nodo en la red hace también de servidor, cuantos más nodos
hay, mejor es el ancho de banda que se tiene.

2) El paradigma de C/S clásico no tiene la robustez de una red P2P. Cuando un


servidor está caído, las peticiones de los clientes no pueden ser satisfechas. En
la mayor parte de redes P2P, los recursos están generalmente distribuidos en
varios nodos de la red. Aunque algunos salgan o abandonen la descarga; otros
pueden todavía acabar de descargar consiguiendo datos del resto de los nodos
en la red.

3) El software y el hardware de un servidor son generalmente muy


determinantes. Un hardware regular de un ordenador personal puede no poder
servir a cierta cantidad de clientes. Normalmente se necesita software y
hardware específico, sobre todo en el lado del servidor, para satisfacer el trabajo.
Por supuesto, esto aumentará el coste.

4) El cliente no dispone de los recursos que puedan existir en el servidor. Por


ejemplo, si la aplicación es una Web, no podemos escribir en el disco duro del
cliente o imprimir directamente sobre las impresoras sin sacar antes la ventana
previa de impresión de los navegadores.

Características del Modelo

 El Cliente y el Servidor pueden actuar como una sola entidad y también


pueden actuar como entidades separadas, realizando actividades o
tareas independientes.
 Las funciones de Cliente y Servidor pueden estar en plataformas
separadas, o en la misma plataforma.
 Un servidor da servicio a múltiples clientes en forma concurrente.
 Cada plataforma puede ser escalable independientemente. Los cambios
realizados en las plataformas de los Clientes o de los Servidores, ya sean
por actualización o por reemplazo tecnológico, se realizan de una manera
transparente para el usuario final.

El servidor es un programa que recibe una solicitud, realiza el servicio requerido


y devuelve los resultados en forma de una respuesta. Generalmente un servidor
puede tratar múltiples peticiones (múltiples clientes) al mismo tiempo.

EJEMPLO: Al momento en que queremos ingresar a internet le enviamos una


petición al servidor de internet el cual nos provee el servicio dándonos una
respuesta que es la página que tiene el servidor.

También se conoce como aplicaciones de dos capas es aquella donde los datos
y la lógica del negocio se encuentran separados de la interfaz, este tipo de
aplicaciones también es llamado cliente servidor.
Otro escenario válido para una aplicación cliente/servidor se da separando los
datos de la interfaz y la lógica del negocio, este tipo de aplicación también se
conoce como cliente pesado.

Esta arquitectura consiste básicamente en un cliente que realiza peticiones a


otro programa (el servidor) que le da respuesta. Aunque esta idea se puede
aplicar a programas que se ejecutan sobre una sola computadora es más
ventajosa en un sistema operativo multiusuario distribuido a través de una red
de computadoras.

En esta arquitectura la capacidad de proceso está repartida entre los clientes y


los servidores, aunque son más importantes las ventajas de tipo organizativo
debidas a la centralización de la gestión de la información y la separación de
responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el
servidor no se ejecuta necesariamente sobre una sola máquina ni es
necesariamente un sólo programa.

Es la tecnología que proporciona al usuario final el acceso transparente a las


aplicaciones, datos, servicios de cómputo o cualquier otro recurso del grupo de
trabajo y/o, a través de la organización, en múltiples plataformas. El modelo
soporta un medio ambiente distribuido en el cual los requerimientos de servicio
hechos por estaciones de trabajo inteligentes o “clientes, resultan en un trabajo
realizado por otras computadoras llamados servidores.

Es el que inicia un requerimiento de servicio. El requerimiento inicial puede


convertirse en múltiples requerimientos de trabajo a través de redes LAN o WAN.
La ubicación de los datos o de las aplicaciones es totalmente transparente para
el cliente.

Es cualquier recurso de cómputo dedicado a responder a los requerimientos del


cliente. Los servidores pueden estar conectados a los clientes a través de redes
LANs o WANs, para proporcionar múltiples servicios a los clientes tales como
impresión, acceso a bases de datos, procesamiento de imágenes, etc.
BASES DE DATOS UTILIZANDO LA TECNOLOGÍA DE INTERNET

Cuando se utiliza una interfaz para lograr la integración del Web con cierta base
de datos, se puede verificar que los procesos seguidos varían, dependiendo de
la tecnología que se esté utilizando.

Entre estas tecnologías se tienen las siguientes:

El Common Gateway Interface (CGI)

Actualmente, ésta es la solución que más se está utilizando para la creación de


interfaces Web/DBMS. Fue probada por primera vez en el servidor NCSA.

Se ha comprobado que si el Servidor Web recibe un URL con una llave, para
devolver un documento HTML como respuesta, tendrá que cargar el servicio
(programa) que le indique las variables de ambiente y de la forma HTML. La
mayoría de las veces dicha llave es el "cgi-bin".

Entre las ventajas de la programación CGI, se tiene su sencillez, ya que es muy


fácil de entender, además de ser un lenguaje de programación independiente,
ya que los escritos CGI pueden elaborarse en varios lenguajes.

También es un estándar para usarse en todos los servidores Web, y funcionar


bajo una arquitectura independiente, ya que ha sido creado para trabajar con
cualquier arquitectura de servidor Web.

Como la aplicación CGI se encuentra funcionando de forma independiente, no


pone en peligro al servidor, en cuanto al cumplimiento de todas las tareas que
éste se encuentre realizando, o al acceso del estado interno del mismo.

Pero el CGI presenta cierta desventaja en su eficiencia, debido a que el Servidor


Web tiene que cargar el programa CGI y conectar y desconectar con la base de
datos cada vez que se recibe una requisición. Además, no existe un registro de
el estado del servidor, sino que todo hay que hacerlo manualmente.

Interfaz de Programación de Aplicaciones (API)

Es un conjunto de rutinas, protocolos y herramientas para construir aplicaciones


de interfaz. Una buena API hace más fácil el trabajo de desarrollo de un
programa, ya que debe proveer todos los bloques para construirlo. El
programador lo único que hace es poner todos los bloques juntos.

API está diseñado especialmente para los programadores, ya que garantiza que
todos los programas que utilizan API, tendrán interfaces similares. Asimismo,
esto le facilita al usuario aprender la lógica de nuevos programas.

Cuando se realiza una requisición, el servidor llamará al API, brindando la


ventaja de disponer de una mayor cantidad de servicios.
Interfaz de Programación de Aplicaciones del Servidor Internet (ISAPI)

Es la interfaz propuesta por Microsoft como una alternativa más rápida que el
CGI, y ya está incluida en el Servidor Microsoft Internet Information (IIS).

Así como los escritos CGI, los programas escritos usando ISAPI habilitan un
usuario remoto para ejecutar un programa, busca información dentro de una
base de datos, o intercambia información con otro software localizado en el
servidor.

Los programas escritos usando la interfaz ISAPI son compilados como


bibliotecas de enlace dinámico (DLL - Dynamic Link Library), ya que son
cargados por el servidor Web cuando éste se inicia. Dichos programas se
vuelven residentes en memoria, por lo que se ejecutan mucho más rápido que
las aplicaciones CGI, debido a que requieren menos tiempo de uso de CPU al
no iniciar procesos separados.

Uno de los programas ISAPI más usados es el HTTPODBC.DLL que se usa para
enviar y/o devolver información hacia y desde las bases de datos, a través de
ODBC.

Además, ISAPI permite realizar un procesamiento previo de la solicitud y uno


posterior de la respuesta, con lo cual manipula la solicitud/respuesta HTTP. Los
filtros ISAPI pueden utilizarse para aplicaciones tales como autenticación,
acceso o apertura de sesión.

Java, JDBC y Java Script

Java ofrece un ambiente de programación muy sencillo, robusto, dinámico, de


propósito general, orientado a objetos y múltiples plataformas, creado por Sun
MicroSystems.

Es tanto un compilador como un lenguaje intérprete. El código fuente de Java es


convertido en instrucciones binarias simples, y compilado con un formato
universal.

El Compilador realiza todas las actividades de un procesador real en un ambiente


virtual más seguro. Es decir, ejecuta instrucciones, crea y manipula información,
carga y hace referencia a bloques de código nuevos.

El Intérprete, que es pequeño y muy útil, es capaz de ser implantado en cualquier


forma que se desee para un sistema operativo particular. Este puede correr como
una aplicación independiente, o como una parte de otro software, tal como el
Web Browser.

El concepto de Java es diferente al de CGI, ya que el CGI se ejecuta en el


servidor, mientras que Java se ejecuta en el cliente.
Aplicaciones Java

Los programadores pueden desarrollar pequeñas aplicaciones, las cuales


permiten tener sitios Web con una gran funcionalidad en cuanto a: animación,
actualización en vivo, interacción bidireccional y más.

Al integrarse en una página Web, las aplicaciones de Java tienen acceso a:

 Recreación de gráficos expertos.


 Interacción en tiempo real con los usuarios.
 Actualización en vivo de la información.
 Interacción instantánea con los servidores a través de la red.

Las aplicaciones de Java pueden obtenerse en cualquier servidor con esta


tecnología y funcionan de forma segura bajo cualquier plataforma o arquitectura
de CPU, permitiendo introducirlas en páginas HTML.

Las aplicaciones son programas independientes, tales como el browser HotJava.

 Procesamiento Cliente/Servidor

Por lo general, las aplicaciones Web son procesadas completamente en el lado


del servidor, lo cual no es precisamente lo más apropiado, ya que significa un
uso excesivo de memoria, manteniendo al usuario en la espera mientras termina
de ejecutarse. Pero los browser Java (del lado del usuario) pueden ejecutar
aplicaciones, y no sólo desplegar documentos HTML, poniendo a correr el
proceso en el lugar apropiado.

Las aplicaciones clásicas proveen de información acerca de los tipos de formato


(tipos MIME). Los browser del Web rápidos serán capaces de aprender cómo
tratar con nuevos protocolos y dar formato dinámicamente a los datos.

 Seguridad

Java está diseñado para proveer la máxima seguridad posible en redes públicas,
con múltiples formas de seguridad ante virus, posibles invasiones o accesos
incorrectos, archivos basura, etc. Java es como una versión de C++, en la cual
se puede causar cualquier daño. Es funcional como C y modular Como C++.

Conectividad de Bases de Datos de Java (JDBC)

Se considera el primer producto estándar de Java con DBMS, creado y ofrecido


por primera vez en marzo de 1996.

Crea una interfaz con un nivel de programación que le permite comunicarse con
las bases de datos mediante un concepto similar al de componentes ODBC, el
cual se ha convertido en el estándar que se utiliza en computadoras personales
o en redes locales.
El estándar de JDBC está basado en un nivel de interfaz con instrucciones SQL
X/Open, que es básicamente lo mismo que en ODBC.

Las clases de objetos para iniciar la transacción con la base de datos, están
escritas completamente en Java, lo cual permite mantener la seguridad, robustez
y portabilidad de este ambiente.

El puente JDBC-ODBC manipula la traducción de llamadas JDBC a aquellas que


puedan ser entendidas por el cliente ODBC a un nivel de lenguaje C.

JavaScript

 Es un lenguaje muy poderoso y especialmente diseñado para la creación


de escritos, que se alojan dentro de un documento HTML. Dicho lenguaje
es propiedad de Netscape.
 Es un API programable que permite crear escritos de eventos, objetos y
acciones, bajo cualquier plataforma. Gracias a que JavaScript es parte de
la conexión en vivo, se puede usar para crear interacciones entre
documentos HTML, Plug-ins (aplicaciones que corren dentro del browser
del Web) y Java.
 Las conexiones en vivo habilitan:
 Navegación con Plug-ins, que se carga en una página para interactuar
con JavaScript, que se encuentra activo dentro de la misma página.
 Aplicaciones de Java cargados en la misma página para comunicarse con
los escritos JavaScript activos dentro de la misma página, y viceversa.
 Mediante el uso de JavaScript se pueden enviar respuestas ante una
variedad de eventos, objetos y acciones, permitiendo cambiar imágenes
o activar sonidos ante determinados eventos, tales como entrar o salir de
una página, presionar el ratón, etc.
 Es un lenguaje de escritos compacto, basado en objetos, para el
desarrollo de aplicaciones Internet Cliente/Servidor. Las sentencias
JavaScript que reconocen y responden ante eventos, pueden ser
introducidas directamente en una página Web. Por ejemplo, se puede
escribir una función JavaScript que verifique la correcta entrada de datos
a una forma, sin necesidad de transmisión de datos a través de la red.
Así, una página HTML con código JavaScript puede interpretar el texto
introducido y alertar al usuario si el dato es inválido.

Para la interconexión de una base de datos con el Web, se pueden construir


escritos CGI en lenguajes de programación adecuados, tales como C o Perl.
Estos escritos se mantendrán cargados en memoria a la espera de requisiciones
o llamadas del servidor, y realizando las conexiones con la base de datos.

Algo un poco más complejo es crear un servidor personal, tal como APACHE, y
agregarle los servicios que se consideren necesarios, a través de módulos. Para
ello, se puede obtener el código fuente de los servidores ya existentes y que se
encuentren disponibles en Internet, tal como el anteriormente mencionado, luego
compilarlo y modificarlo según conveniencias.

Вам также может понравиться