domingo, 13 de mayo de 2012

BASE DE DATOS ENTIDAD RELACION

El Modelo de Datos Entidad-Relación (E/R)


Cuando se utiliza una base de datos para gestionar información, se está plasmando una parte del mundo real en una serie de tablas, registros y campos ubicados en un ordenador; creándose un modelo parcial de la realidad. Antes de crear físicamente estas tablas en el ordenador se debe realizar un modelo de datos.
Se suele cometer el error de ir creando nuevas tablas a medida que se van necesitando, haciendo así el modelo de datos y la construcción física de las tablas simultáneamente. El resultado de esto acaba siendo un sistema de información parcheado, con datos dispersos que terminan por no cumplir adecuadamente los requisitos necesarios.

Entidades y Relaciones

El modelo de datos más extendido es el denominado ENTIDAD/RELACIÓN (E/R) En el modelo E/R se parte de una situación real a partir de la cual se definen entidades y relaciones entre dichas entidades:


  • Entidad.-
Objeto del mundo real sobre el que queremos almacenar información (Ej: una persona). Las entidades están compuestas de atributos que son los datos que definen el objeto (para la entidad persona serían DNI, nombre, apellidos, dirección,...). De entre los atributos habrá uno o un conjunto de ellos que no se repite; a este atributo o conjunto de atributos se le llama clave de la entidad, (para la entidad persona una clave seria DNI). En toda entidad siempre hay al menos una clave que en el peor de los casos estará formada por todos los atributos de la tabla. Ya que pueden haber varias claves y necesitamos elegir una, lo haremos atendiendo a estas normas:

  • Que sea única.
  • Que se tenga pleno conocimiento de ella.- ¿Por qué en las empresas se asigna a cada cliente un número de cliente?.
  • Que sea mínima, ya que será muy utilizada por el gestor de base de datos.

  • Relación.- Asociación entre entidades, sin existencia propia en el mundo real que estamos modelando, pero necesaria para reflejar las interacciones existentes entre entidades. Las relaciones pueden ser de tres tipos:

    • Relaciones 1-1.-
    Las entidades que intervienen en la relación se asocian una a una (Ej: la entidad HOMBRE, la entidad MUJER y entre ellos la relación MATRIMONIO).
    • Relaciones 1-n.-
    Una ocurrencia de una entidad está asociada con muchas (n) de otra (Ej: la entidad EMPERSA, la entidad TRABAJADOR y entre ellos la relación TRABAJAR-EN).
    • Relaciones n-n.-
  • Cada ocurrencia, en cualquiera de las dos entidades de la relación, puede estar asociada con muchas (n) de la otra y viceversa (Ej: la entidad ALUMNO, la entidad EMPRESA y entre ellos la relación MATRÍCULA).
 
Clave de Entidad

Atributo o conjunto de atributos que identificando forma única  a cada ocurrencia. Si una entidad no tiene clave se dice que es débil y que tiene dependencia de Identificación. Una entidad es débil si depende de la existencia de otra entidad.

Representación gráfica
 Entidades: rectángulos
Atributos: incluidos en la entidad, o con elipses
conectadas a ésta
Relaciones: rombos o hexágonos, uniendo las
entidades asociadas
Cardinalidad: se detalla encima de las líneas
que asocian entidades

Atributos clave de una entidad
 
 Un tipo de entidad casi siempre tiene un atributo que es distinto para cada entidad. Hay ocasiones en que un conjunto de atributos constituyen la clave de una entidad (atributos subrayados en los diagramas). Algunas entidades tienen más de un atributo clave.
 Dominio de los atributos:
 Cada uno de los atributos simples tiene asociado un conjunto de valores posibles.


sábado, 5 de mayo de 2012

Comunicación interna en la Computadora

Buses

Se denomina bus, en informática, al conjunto de conexiones físicas (cables, placa de circuito impreso, etc.) que pueden compartirse con múltiples componentes de hardware para que se comuniquen entre sí. El propósito de los buses es reducir el número de rutas necesarias para la comunicación entre los distintos componentes, al realizar las comunicaciones a través de un solo canal de datos. Ésta es la razón por la que, a veces, se utiliza la metáfora "autopista de datos".
Características de un bus
Un bus se caracteriza por la cantidad de información que se transmite en forma simultánea. Este volumen se expresa en bits y corresponde al número de líneas físicas mediante las cuales se envía la información en forma simultánea. Un cable plano de 32 hilos permite la transmisión de 32 bits en paralelo. El término "ancho" se utiliza para designar el número de bits que un bus puede transmitir simultáneamente. En su forma más simple, el ancho de banda es la capacidad de transferencia de datos, en otras palabras, la cantidad de datos que se pueden mover de un punto a otro en cierta cantidad de tiempo. El tener una comunicación de datos de punto a punto implica dos cosas:
Un conjunto de conductores eléctricos utilizados para hacer posible la comunicación a bajo nivel
Un protocolo para facilitar la comunicación de datos confiable y eficiente
 
Por otra parte, la velocidad del bus se define a través de su
frecuencia (que se expresa en Hercios o Hertz), es decir el número de paquetes de datos que pueden ser enviados o recibidos por segundo. Cada vez que se envían o reciben estos datos podemos hablar de ciclo. De esta manera, es posible hallar la velocidad de transferencia máxima del bus (la cantidad de datos que puede transportar por unidad de tiempo) al multiplicar su ancho por la frecuencia.

Ejemplos de buses

Buses de almacenamiento masivo (ATA y SCSI)
Redes (Ethernet y Token Ring)
Los buses de memoria (PC133 y Rambus®)
Buses de expansión (PCI, ISA, USB)

Bus Local. ANTECEDENTES
NOMBRE AÑO FABRICANTE ANCHO DE BUS VELOCIDAD PROCESADOR
BUS DE EXPANSION XT 1980 IBM 8 BITS 4.77 Mhz (vel de reloj) 8086
ISA(Industry standard Arquitecture) 1980 IBM 16 BITS 8.33 Mhz AT
BUS MICRO CHANNEL (MCA) 1987 IBM 32 BITS 10 Mhz PS/2
EISA (Extended ISA) 1987-1988 AST, Compaq, epson, HP, NEC, Olivetti, Tandy 32 BITS 8.33 Mhz OS/2 Y UNIX
Vesa Local Bus 1992 VESA 32 BITS 32 Mhz – 66 Mhz 80286 - 80486
PCI (Peripheral Componet Interconect) 1992 INTEL 32 BITS 32 Mhz – 66 Mhz Pentium – Pentium 2
Vesa Local Bus
Al contrario que con el EISA, MCA y PCI, el bus VL no sustituye al bus ISA sino que lo complementa. Un PC con bus VL dispone para ello de un bus ISA y de las correspondientes ranuras (slots) para tarjetas de ampliación. Además, en un PC con bus VL puede haber, sin embargo, una, dos o incluso tres ranuras de expansión, para la colocación de tarjetas concebidas para el bus VL, casi siempre gráficos. Solamente estos slots están conectados con la CPU a través de un bus VL, de tal manera que las otras ranuras permanecen sin ser molestadas y las tarjetas ISA pueden hacer su servicio sin inconvenientes. El VL es una expansión .

Bus de datos.
La propia palabra "Bus" ya está anunciando el "transporte" de algo, y en este caso, se refiere a datos para procesarse por un equipo informático. El Bus de Datos soporta tanto la información como las instrucciones declaradas sobre la misma, de tal forma de gestionar operaciones. De este modo, se da lugar a 3 tipos de "Buses": Datos, Direcciones y Control. Mientras el Bus de Datos se encarga de mover la información por los componentes de hardware del sistema de computación, tanto de Entrada (teclado, mouse, etc) como de salida (monitor, impresora, etc.), el Bus de Direcciones ubica los datos en el Sub-sistema de Memoria teniendo relación directa con los procesos de CPU, y finalmente el Bus de Control tiene la tarea de marcar el estado de una instrucción dada a la PC. Es común dibujar y describir el Bus de Datos como una autopista de información y órdenes, porque no es otra cosa que eso. Se rige por la cantidad de bits capaz de soportar en el camino, y en este marco, el CPU cumple la función primaria.
Es por ello, que hoy tenemos procesadores de 64 bits en lugar de 32 ó 16, porque la evolución de la PC y la exigencia informativa de los usuarios lo demandaron. Es común dibujar y describir el Bus de Datos como una autopista de información y órdenes, porque no es otra cosa que eso. Se rige por la cantidad de bits capaz de soportar en el camino, y en este marco, el CPU cumple la función primaria.
Es por ello, que hoy tenemos procesadores de 64 bits en lugar de 32 ó 16, porque la evolución de la PC y la exigencia informativa de los usuarios lo demandaron.

Bus de direcciones.
En el bus se encuentran dos pistas separadas, el bus de datos y el bus de direcciones. La CPU escribe la dirección de la posición deseada de la memoria en el bus de direcciones accediendo a la memoria, teniendo cada una de las líneas carácter binario. Es decir solo pueden representar 0 o 1 y de esta manera forman conjuntamente el número de la posición dentro de la memoria (es decir: la dirección). Cuanto más líneas haya disponibles, mayor es la dirección máxima y mayor es la memoria a la cual puede dirigirse de esta forma. En el bus de direcciones original había ya 20 direcciones, ya que con 20 bits se puede dirigir a una memoria de 1 MB y esto era exactamente lo que correspondía a la CPU.
Esto que en le teoría parece tan fácil es bastante mas complicado en la práctica, ya que aparte de los bus de datos y de direcciones existen también casi dos docenas más de líneas de señal en la comunicación entre la CPU y la memoria, a las cuales también se acude. Todas las tarjetas del bus escuchan, y se tendrá que encontrar en primer lugar una tarjeta que mediante el envío de una señal adecuada indique a la CPU que es responsable de la dirección que se ha introducido. Las demás tarjetas se despreocupan del resto de la comunicación y quedan a la espera del próximo ciclo de transporte de datos que quizás les incumba a ellas. Este mismo concepto es también la razón por la cual al utilizar tarjetas de ampliación en un PC surgen problemas una y otra vez, si hay dos tarjetas que reclaman para ellas el mismo campo de dirección o campos de dirección que se solapan entre ellos.

Los datos en si no se mandan al bus de direcciones sino al bus de datos. El bus XT tenía solo 8 bits con lo cual sólo podía transportar 1 byte a la vez. Si la CPU quería depositar el contenido de un registro de 16 bits o por valor de 16 bits, tenía que desdoblarlos en dos bytes y efectuar la transferencia de datos uno detrás de otro.
De todas maneras para los fabricantes de tarjetas de ampliación, cuyos productos deben atenderse a este protocolo, es de una importancia básica la regulación del tiempo de las señales del bus, para poder trabajar de forma inmejorable con el PC. Pero precisamente este protocolo no ha sido nunca publicado por lBM con lo que se obliga a los fabricantes a medir las señales con la ayuda de tarjetas ya existentes e imitarlas. Por lo tanto no es de extrañar que se pusieran en juego tolerancias que dejaron algunas tarjetas totalmente eliminadas.


Bus de control.
El bus de control (en ocasiones denominado bus de comando) transporta las órdenes y las señales de sincronización que provienen de la unidad de control y viajan hacia los distintos componentes de hardware. Se trata de un bus bidireccional en la medida en que también transmite señales de respuesta del hardware.
El bus de control es una colección de líneas que transportan un conjunto de señales cuyo propósito es la sincronía de todas las operaciones efectuadas por el CPU con los diferentes subsistemas de un equipo de cómputo, destacan las líneas para escritura (
write) y lectura (read) de datos, el reloj del sistema, líneas de interrupción, líneas de estado, etc. El uso de éstas líneas se comprenderá mejor conforme se avance en éste curso. Los procesadores de la familia 80x86 proveen dos espacios diferentes de direccionamiento, uno para la memoria y otro para la E/S, mientras que el direccionamiento de memoria varía según el procesador, las líneas de E/S son siempre de 16 bits, lo que permite direccionar 65,536 localidades diferentes. Algunas líneas de control son las encargadas de decidir qué direcciones son para memoria y cuáles son para E/S. El Bus de Control transporta señales de estado de las operaciones efectuadas por el CPU con las demás unidades. Organiza y redirige la información hacia el bus pertinente para la información que se tiene que transmitir. Es el bus encargado de hacer el direccionamiento, quién realiza toda la función de direccionar es el controlador, diferente para cada tipo de dispositivo.

Buses normalizados.
Antes cada fabricante definía sus buses lo cual dificultaba mucho la comunicación entre distintos componentes. Para facilitar la interacción entre componentes de distintos fabricantes los buses se han "normalizado". Siguen un estándar acordado previamente. Un bus debe cumplir las siguientes especificaciones: Nivel mecánico En el nivel mecánico deben definirse aspectos tales como el tipo de soporte, el número de hilos del bus, el tipo de conector, etc. Por ejemplo, en los buses para la conexión de placas impresas, hay que definir, entre otras cosas, la altura de las placas, los conectores y las posiciones de éstos, para garantizar la compatibilidad de las distintas placas. Nivel eléctrico El nivel eléctrico (u óptico, en el caso de emplear como soporte la fibra óptica), debe especificar el circuito equivalente de los dispositivos que se conectan a las líneas del bus, tanto de los emisores como de los receptores. También debe especificar las tensiones y corrientes utilizadas para establecer el valor de las señales. En este nivel, debe quedar definida la forma en la que los distintos dispositivos deben conectarse eléctricamente. Nivel lógico Este nivel define estáticamente todas las líneas del bus, estableciendo las equivalencias entre los valores eléctricos de las señales y sus valores lógicos. Por ejemplo, se definirá que los hilos 0-7 su nivel alto (5V) equivale a un 1 lógico y los hilos 8-15 su nivel activo es a nivel bajo (0V). Nivel de temporización básica En este nivel se establecen los cronogramas para la realización de la operación más elemental del bus, esto es, de un ciclo. Nivel de transferencia elemental
En este nivel se establece el procedimiento empleado para realizar una transferencia de un dato por el bus. En el caso de un bus de ciclo completo, este nivel coincide con el anterior puesto que la temporización básica establece todas las condiciones nesesarias para trensferir un dato. Sin embargo en el caso de un bus de ciclo partido, se especifican las ranuras que forman cada tipo de ciclo a transferencia.
Nivel de transferencia de bloque En algunos buses, la operación básica esta formada por una serie de transferencias elementales, que tiene por objetivo el transferir un bloque de información con entidad propia. En este nivel, deberá definirse el protocolo de comunicación empleado para realizar esta transferencia de bloque. Se definirán aspectos tales como cabeceras, codificación de los datos para detección de errores, procedimientos de recuperación para el caso de error, identificación del receptor, etc. Todos los buses poseen especificaciones normalizadas, como son: - protocolos de transmisión de datos, - velocidades y temporización de las transferencias, - anchuras de los sub-buses, - y sistema físico de conexión (conectores estandarizados). Los Buses normalizados más conocidos son: S-100 Bus (IEEE 696). Puede considerarse como el primer bus normalizado para microcomputadores, siendo introducido por Atari para su computador 8080 (sistema de 8 bits). En total disponia de unos 100 hilos. CAMAC (o IEEE 583). El bus CAMAC ("ComputerAutomatedMeasurement and Control") Se introdujo para interconectar instrumentos de medida nucleares en 1969. GPIB ( o IEEE 488). El GPIB ("General Purpose Interface Bus") fue ideado por Hewlett Packard (1965 a 1975) usa 24 hilos, 8 de los cuales son para datos y el resto para señales de control. Multibus (o IEEE 796). Bus de 16 bit de datos introducido por Intel. En la actualidad hay una versión mejorada llamada Multibus-II (IEEE 1296) para transferir datos de 32 bits. ISA Bus. El bus ISA ("Industrial Standard Architecture"), es el bus introducido con el IBM-PC. Tiene 64 hilos de los cuales 8 son para datos. ISA AT Bus. Fue introducido con los IBM-AT (80286). Ideado para arquitecturas de 16 bits, posee subdirecciones de 24 bits (direcciona hasta 16 Mbytes) y es compatible, como no, con su antecesor de 16 bits. MCA. ("Micro-ChannelArchitecture") fue introducido por IBM en 1987 en sus equipos PS/2. Es un bus para arquitecturas de 32 bits y es 10 veces más rápido que el ISA AT, llegando a transferir hasta 20 Mbits/seg. Ampliación de Estructura de Computadores. Curso 2010-11 3º de Ingeniería Informática. Vicente Arnau LlombartPag. 5 20/09/2010 EISA ("ExtendetIndustrySatandardArchitecture"). Es un bus ideado por 9 fabricantes de ordenadores, para arquitecturas de 32 bits. Posee velocidad de transferencia de 33Mbits/seg. Es compatible con el bus ISA. Este bus puede solo ser controlado por microprocesadores 80386, 80486 o superiores, y es autoconfigurable.
SCSI
("Small computerSystem Interface") es un estándar universal para conexiones paralelas a periféricos. Suele utilizarse para unidades de discos magnéticos y ópticos. Admite hasta 7 dispositivos y fue ideado para entornos UNIX y Macintosh. Permite velocidades de transferencia de 5 Mbits/seg hasta 400 Mbits/seg. En la actualidad se está desarrollando el SCII-3, de 32 bits, que podrá admitir hasta 32 periféricos conectados a gran distancia por fibra óptica (comunicación serie).
Futurebus+ (IEEE 896.1 e IEEE 896.2). Es una normalización proyectada para equipos de muy altas prestaciones, que puede considerarse como una evolución de las normas Multibus II y VME. Diseñado para arquitectura de 64 bits. Permite la construcción de sistemas multiprocesador (de hasta 32 procesadores) compartiendo memoria. USB o Bus Serie Universal, es un estándar de 1995 que define un bus para conectar periféricos al ordenador. Puede llegar a conectar hasta 127 dispositivos con una conexión de tipo estrella. El estándar incluye la transmisión de energía eléctrica al dispositivo conectado. Soporta dos tipos de transferencias, una baja de 1,5 Mbps para conectar dispositivos lentos y de bajo coste (joyticks, ratones) y otra alta de hasta 12 Mbps para la conexión de dispositivos que requieren un mayor ancho de banda (discos y CD-Roms). Las especificaciones de este estándar has sido respaldadas por las empresas líderes en informática, como Intel, DEC, Microsoft, Compac, NEC y Northem Telecom. Este bus permite instalar nuevos dispositivos sin necesidad de resetear el computador. El USB puede conectar los periféricos como ratones, teclados, escáneres, cámaras digitales, teléfonos móviles, reproductores multimedia, impresoras, discos duros externos, tarjetas de sonido, sistemas de adquisición de datos y componentes de red. Para dispositivos multimedia como escáneres y cámaras digitales, el USB se ha convertido en el método estándar de conexión. Para impresoras, el USB ha crecido tanto en popularidad que ha desplazado a un segundo plano a los puertos paralelos porque el USB hace mucho más sencillo el poder agregar más de una impresora a una computadora personal. Ahora mismo tenemos la versión 2.0 de Alta velocidad con una tasa de transferencia de hasta 480Mbit/s (60MB/s). Y se espera pronto la Super velocidad (3.0): Actualmente en fase experimental y con tasa de transferencia de hasta 4.8Gbit/s (600MB/s). Esta especificación será lanzada a mediados de 2008 por Intel, de acuerdo con información recabada de Internet. La velocidad del bus será diez veces más rápida que la del USB 2.0, debido a la sustitución del enlace tradicional por uno de fibra óptica que trabaja con conectores tradicionales de cobre, para hacerlo compatible con los estándares anteriores. Se espera que los productos fabricados con esta tecnología lleguen al consumidor en 2009 o 2010.