martes, 16 de marzo de 2010

Estructuras Ramificadas.


Arbol Binario:

Un árbol binario es una estructura de datos en la cual cada nodo siempre tiene un hijo izquierdo y un hijo derecho. No pueden tener más de dos hijos (de ahí el nombre "binario"). Si algún hijo tiene como referencia a null, es decir que no almacena ningún dato, entonces este es llamado un nodo externo. En el caso contrario el hijo es llamado un nodo interno. Usos comunes de los árboles binarios son los árboles binarios de búsqueda, los montículos binarios y Codificación de Huffman.

Algebra Relacional.

El álgebra relacional es un conjunto de operaciones que describen paso a paso como computar una respuesta sobre las relaciones, tal y como éstas son definidas en el modelo relacional. Denominada de tipo procedimental, a diferencia del Cálculo relacional que es de tipo declarativo.

Describe el aspecto de la manipulación de datos. Estas operaciones se usan como una representación intermedia de una consulta a una base de datos y, debido a sus propiedades algebraicas, sirven para obtener una versión más optimizada y eficiente de dicha consulta.

Las operaciones
Básicas Cada operador del álgebra acepta una o dos relaciones y retorna una relación como resultado. σ y Π son operadores unarios, el resto de los operadores son binarios. Las operaciones básicas del álgebra relacional son:

No básicas
Entre los operadores no básicos tenemos:
Intersección (∩) La intersección de dos relaciones se puede especificar en función de otros operadores básicos.

miércoles, 17 de febrero de 2010

Bases de Datos

*SQL*

El Lenguaje de consulta estructurado (SQL (/esekuˈele/ en español, /ɛskjuːˈɛl /, en inglés, pero no /ˈsiːkwəl/ ya que esto deriva de sus primeras versiones donde se nombraba Structured ENGLISH Query Language, que no es vigente hoy en día) Structured Query Language) es un
lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en éstas. Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencilla- información de interés de una base de datos, así como también hacer cambios sobre ella. Es un lenguaje de cuarta generación (4GL).

*Oracle*

Oracle es un
sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation.
Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando:
soporte de
transacciones,
estabilidad,
escalabilidad y
Soporte
multiplataforma.
Ha sido criticada por algunos especialistas la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los parches de actualización provistos durante el primer semestre de 2005 fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de más de 2 años.
Aunque su dominio en el mercado de servidores empresariales ha sido casi total hasta hace poco, recientemente sufre la competencia del
Microsoft SQL Server de Microsoft y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySql o Firebird. Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux.

*DBASE*

dBASE fue el primer
Sistema de gestión de base de datos usado ampliamente para microcomputadoras, publicado por Ashton-Tate para CP/M, y más tarde para Apple II, Apple Macintosh, UNIX, VMS, e IBM PC bajo DOS donde con su legendaria versión III Plus se convirtió en uno de los títulos de software más vendidos durante un buen número de años.
dBASE nunca pudo superar exitosamente la transición a
Microsoft Windows y terminó siendo desplazado por productos más nuevos como Paradox, Clipper, y FoxPro.
Incorporaba un lenguaje propio interpretado y requería un LAN PACK para funcionar sobre red local. En 1988 llegó finalmente la versión IV.
dBASE fue vendido a
Borland en 1991. Al poco tiempo promovió una casi intrascendente versión 5, de la que llegó a haber versión para Windows. Luego vendió los derechos de la línea de productos en 1999 a dataBased Intelligence, Inc. (dBI) que sigue comercializando nuevas versiones, llamadas dBASE Plus, desde 1999.
Durante la primera mitad de los
'80s muchas otras compañías produjeron sus propios dialectos o variaciones del producto y lenguaje. Estos incluyeron FoxPro (ahora Visual FoxPro), Quick-Silver, Clipper, Xbase++, FlagShip, y Harbour. Todos ellos son llamados informalmente como xBase o XBase.
El formato subyacente de dBASE, el archivo dbf, es ampliamente utilizado en muchas otras aplicaciones que necesitan un formato simple para almacenar datos estructurados.
dBASE fue licenciado a los usuarios por un plazo de quince años basado en el inconcebible evento de que un usuario utilizara su copia de dBASE por tan largo período de tiempo.

*FoxPro*

Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web.
Entre sus características se pueden enumerar:
Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.
Flexibilidad para crear todo tipo de soluciones de bases de datos.
Lenguaje de Programación Orientado a objetos.
Utilización de Sentencias
SQL en forma nativa.
Poderoso manejo de vistas, cursores y control completo de estructuras relacionales.
Su propio gestor de base de datos incorporado. Sin embargo, también puede conectarse con servidores de base de datos, tales como
Oracle, Microsoft SQL Server o MySQL.
Cuenta con un motor de generación de informes renovado y muy flexible para soluciones más robustas.
Desde la versión 9.0, amplio soporte de
XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reports en formato XML.
Desde la versión 7.0, soporte de la tecnología IntelliSense de Microsoft
La última versión liberada es la 9.0.

Administrador De Base De Datos

El administrador de base de datos (DBA) es la persona responsable de los aspectos ambientales de una base de datos. En general esto incluye:
Recuperabilidad - Crear y probar Respaldos
Integridad - Verificar o ayudar a la verificación en la integridad de datos
Seguridad - Definir o implementar controles de acceso a los datos
Disponibilidad - Asegurarse del mayor tiempo de encendido
Desempeño - Asegurarse del máximo desempeño incluso con las limitaciones
Desarrollo y soporte a pruebas - Ayudar a los programadores e ingenieros a utilizar eficientemente la base de datos.
El diseño lógico y físico de las bases de datos a pesar de no ser obligaciones de un administrador de bases de datos, es a veces parte del trabajo. Esas funciones por lo general están asignadas a los analistas de bases de datos ó a los diseñadores de bases de datos.

Programador

Un programador es aquel que escribe, depura y mantiene el código fuente de un programa informático, es decir, el conjunto de instrucciones que ejecuta el hardware de una computadora para realizar una tarea determinada. La programación es una de las principales áreas dentro de la informática. En la mayoría de los países, programador es también una categoría profesional reconocida.
Los programadores también reciben el nombre de desarrolladores de software.
El programador se encarga de la implementación de prototipos mediante un lenguaje de programación que pueda entender la computadora.
Inicialmente, la profesión se formalizó desde el enfoque Tayloriano de la especialización de funciones en la empresa. Así, el proceso de producción de software se concibe como un conjunto de tareas altamente especializadas donde está claramente definido el papel de cada categoría profesional:
El analista tiene como cometido analizar un problema y describirlo con el propósito de ser solucionado mediante un sistema de información.
El programador cuya única función consistía en trasladar las especificaciones del analista en código ejecutable por la computadora. Dichas especificaciones se recogen en un documento denominado cuaderno de carga, medio de comunicación entre ambos. Obsérvese que esto se consideraba un trabajo mecánico y de baja cualificación.
Hoy día se reconoce que este enfoque no es válido para organizar tareas de tipo intelectual, como es la producción de software. De manera que la profesión de programador ha ido evolucionando. Las dificultades de comunicación entre analistas y programadores (un mero documento no basta para describir lo que se quiere hacer) dio origen a una categoría profesional intermedia, denominada analista-programador. La concepción original del programador ha desaparecido siendo sustituida por esta: la de un profesional mucho más formado y con unas funciones menos "mecánicas".
La profesión de analista también ha evolucionado, surgiendo el concepto diseñador (de software). Esto se debe a los avances de la ingeniería del software donde se reconoce que el análisis es una actividad distinta del diseño. El análisis describe el problema (el qué hacer) mientras que el diseño describe la solución (el cómo hacerlo). En la mayoría de países industrializados esto ha dado lugar a la categoría profesional del diseñador o arquitecto del software.

Sistema

*ORÍGENES DE LA TEORÍA DE SISTEMAS*

La teoría de sistemas (TS) es un ramo específico de la teoría general de sistemas (TGS).
La TGS surgió con los trabajos del alemán Ludwig von Bertalanffy, publicados entre 1950 y 1968. La TGS no busca solucionar
problemas o intentar soluciones prácticas, pero sí producir teorías y formulaciones conceptuales que pueden crear condiciones de aplicación en la realidad empírica.
Los supuestos básicos de la TGS son:
Existe una nítida tendencia hacia la
integración de diversas ciencias naturales y sociales.
Esa integración parece orientarse rumbo a un
teoría de sistemas.
Dicha teoría de sistemas puede ser una manera más amplia de
estudiar los campos no-físicos del conocimientocientífico, especialmente en ciencias sociales.
Con esa teoría de los sistemas, al desarrollar
principios unificadores que atraviesan verticalmente los universos particulares de las diversas ciencias involucradas, nos aproximamos al objetivo de la unidad de la ciencia.
Esto puede generar una integración muy necesaria en la
educación científica.
La TGS afirma que las propiedades de los sistemas, no pueden ser descritos en términos de sus elementos separados; su comprensión se presenta cuando se estudian globalmente.
La TGS se fundamenta en tres premisas básicas:
Los sistemas existen dentro de sistemas: cada
sistema existe dentro de otro más grande.
Los sistemas son abiertos: es consecuencia del anterior. Cada sistema que se examine, excepto el menor o mayor, recibe y descarga algo en los otros sistemas, generalmente en los contiguos. Los sistemas abiertos se caracterizan por un
proceso de cambio infinito con su entorno, que son los otros sistemas. Cuando el intercambio cesa, el sistema se desintegra, esto es, pierde sus fuentes de energía.
Las
funciones de un sistema dependen de su estructura: para los sistemas biológicos y mecánicos esta afirmación es intuitiva. Los tejidos musculares por ejemplo, se contraen porque están constituidos por una estructura celular que permite contracciones.
El
interés de la TGS, son las características y parámetros que establece para todos los sistemas. Aplicada a la administración la TS, la empresa se ve como una estructura que se reproduce y se visualiza a través de un sistema de toma de decisiones, tanto individual como colectivamente.
Desde un punto de vista histórico, se verifica que:
La teoría de la
administración científica usó el concepto de sistema hombre-máquina, pero se limitó al nivel de trabajo fabril.
La teoría de las relaciones humanas amplió el enfoque hombre-máquina a las relaciones entre las personas dentro de la
organización. Provocó una profunda revisión de criterios y técnicas gerenciales.
La teoría estructuralista concibe la
empresa como un sistema social, reconociendo que hay tanto un sistema formal como uno informal dentro de un sistema total integrado.
La teoría del
comportamiento trajo la teoría de la decisión, donde la empresa se ve como un sistema de decisiones, ya que todos los participantes de la empresa toman decisiones dentro de una maraña de relaciones de intercambio, que caracterizan al comportamiento organizacional.
Después de la segunda
guerra mundial, a través de la teoría matemática se aplicó la investigación operacional, para la resolución de problemas grandes y complejos con muchas variables.
La teoría de colas fue profundizada y se formularon
modelos para situaciones típicas de prestación de servicios, en los que es necesario programar la cantidad óptima de servidores para una esperada afluencia de clientes.
Las teorías tradicionales han visto
la organización humana como un sistema cerrado. Eso a llevado a no tener en cuenta el ambiente, provocando poco desarrollo y comprensión de la retroalimentación (feedback), básica para sobrevivir.
El enfoque antiguo fue débil, ya que 1) trató con pocas de las variables significantes de la situación total y 2) muchas veces se ha sustentado con variables impropias.
El concepto de sistemas no es una
tecnología en sí, pero es la resultante de ella. El análisis de las organizaciones vivas revela "lo general en lo particular" y muestra, las propiedades generales de las especies que son capaces de adaptarse y sobrevivir en un ambiente típico. Los sistemas vivos sean individuos o organizaciones, son analizados como "sistemas abiertos", que mantienen un continuo intercambio de materia/energía/información con el ambiente. La TS permite reconceptuar los fenómenos dentro de un enfoque global, para integrar asuntos que son, en la mayoría de las veces de naturaleza completamente diferente.

*CONCEPTO DE SISTEMAS*

Un conjunto de elementos
Dinámicamente relacionados
Formando una actividad
Para alcanzar un objetivo
Operando sobre
datos/energía/materia
Para proveer información/energía/materia
Características de los sistemas
Sistema es un todo organizado y complejo; un conjunto o combinación de cosas o partes que forman un todo complejo o unitario. Es un conjunto de objetos unidos por alguna forma de interacción o interdependencia. Los límites o fronteras entre el sistema y su ambiente admiten cierta arbitrariedad.
Según Bertalanffy, sistema es un conjunto de unidades recíprocamente relacionadas. De ahí se deducen dos conceptos: propósito (u objetivo) y globalismo (o totalidad).
Propósito u objetivo: todo sistema tiene uno o algunos propósitos. Los elementos (u objetos), como también las relaciones, definen una
distribución que trata siempre de alcanzar un objetivo.
Globalismo o totalidad: un cambio en una de las unidades del sistema, con
probabilidad producirá cambios en las otras. El efecto total se presenta como un ajuste a todo el sistema. Hay una relación de causa/efecto. De estos cambio y ajustes, se derivan dos fenómenos: entropía y homeostasia.
Entropía: es la tendencia de los sistemas a desgastarse, a desintegrarse, para el relajamiento de los estándares y un aumento de la aleatoriedad. La entropía aumenta con el correr del
tiempo. Si aumenta la información, disminuye la entropía, pues la información es la base de la configuración y del orden. De aquí nace la negentropía, o sea, la información como medio o instrumento de ordenación del sistema.
Homeostasia: es el
equilibrio dinámico entre las partes del sistema. Los sistemas tienen una tendencia a adaptarse con el fin de alcanzar un equilibrio interno frente a los cambios externos del entorno.
Una organización podrá ser entendida como un sistema o subsistema o un supersistema, dependiendo del enfoque. El sistema total es aquel representado por todos los componentes y relaciones necesarios para la realización de un objetivo, dado un cierto número de restricciones. Los sistemas pueden operar, tanto en serio como en paralelo.
Tipos de sistemas
En cuanto a su constitución, pueden ser físicos o abstractos:
Sistemas físicos o concretos: compuestos por equipos, maquinaria, objetos y cosas reales. El
hardware.
Sistemas abstractos: compuestos por conceptos, planes,
hipótesis e ideas. Muchas veces solo existen en el pensamiento de las personas. Es el software.
En cuanto a su naturaleza, pueden cerrados o abiertos:
Sistemas cerrados: no presentan intercambio con el medio ambiente que los rodea, son herméticos a cualquier influencia ambiental. No reciben ningún
recursos externo y nada producen que sea enviado hacia fuera. En rigor, no existen sistemas cerrados. Se da el nombre de sistema cerrado a aquellos sistemas cuyo comportamiento es determinístico y programado y que opera con muy pequeño intercambio de energía y materia con el ambiente. Se aplica el término a los sistemas completamente estructurados, donde los elementos y relaciones se combinan de una manera peculiar y rígida produciendo una salida invariable, como las máquinas.
Sistemas abiertos: presentan intercambio con el ambiente, a través de entradas y salidas. Intercambian energía y materia con el ambiente. Son adaptativos para sobrevivir. Su estructura es óptima cuando el conjunto de elementos del sistema se organiza, aproximándose a una operación adaptativa. La adaptabilidad es un continuo proceso de
aprendizaje y de auto-organización.
Los sistemas abiertos no pueden vivir aislados. Los sistemas cerrados, cumplen con el segundo principio de la
termodinámica que dice que "una cierta cantidad llamada entropía, tiende a aumentar al máximo".
Existe una tendencia general de los
eventos en la naturaleza física en dirección a un estado de máximo desorden. Los sistemas abiertos evitan el aumento de la entropía y pueden desarrollarse en dirección a un estado de creciente orden y organización (entropía negativa). Los sistemas abiertos restauran sus propia energía y reparan pérdidas en su propia organización. El concepto de sistema abierto se puede aplicar a diversos niveles de enfoque: al nivel del individuo, del grupo, de la organización y de la sociedad.

Analisis de Sistemas

El Análisis de Sistemas trata básicamente de determinar los objetivos y límites del sistema objeto de análisis, caracterizar su estructura y funcionamiento, marcar las directrices que permitan alcanzar los objetivos propuestos y evaluar sus consecuencias. Dependiendo de los objetivos del análisis, podemos encontrarnos ante dos problemáticas distintas:
Análisis de un sistema ya existente para comprender, mejorar, ajustar y/o predecir su comportamiento
Análisis como paso previo al diseño de un nuevo sistema-producto
En cualquier caso, podemos agrupar más formalmente las tareas que constituyen el análisis en una serie de etapas que se suceden de forma iterativa hasta validar el proceso completo:
ConceptualizaciónConsiste en obtener una visión de muy alto nivel del sistema, identificando sus elementos básicos y las relaciones de éstos entre sí y con el entorno.
Análisis funcional Describe las acciones o transformaciones que tienen lugar en el sistema. Dichas acciones o transformaciones se especifican en forma de procesos que reciben unas entradas y producen unas salidas.
Análisis de condiciones (o constricciones)Debe reflejar todas aquellas limitaciones impuestas al sistema que restringen el margen de las soluciones posibles. Estas se derivan a veces de los propios objetivos del sistema:
Operativas, como son las restricciones físicas, ambientales, de mantenimiento, de personal, de seguridad, etc.
De calidad, como fiabilidad, mantenibilidad, seguridad, convivencia, generalidad, etc. Sin embargo, en otras ocasiones las constricciones vienen impuestas por limitaciones en los diferentes recursos utilizables:
Económicos, reflejados en un presupuesto
Temporales, que suponen unos plazos a cumplir
Humanos
Metodológicos, que conllevan la utilización de técnicas determinadas
Materiales, como espacio, herramientas disponibles, etc.