martes, 27 de octubre de 2009

Plan de Evaluación Sistemas I Nocturno

Señores en este enlace se encuentra colgado el plan de evaluación, procedan a descargarlo. Saludos
http://rapidshare.com/files/298754387/Sistemas_I_Nocturno.xls.html

45 comentarios:

  1. Manuel Ribeiro descargo plan evaluación, saludos

    ResponderEliminar
  2. rafael ramos

    Análisis de exposición sobre SGBD

    Considero que el Sistemas Gestor de Base de Datos tiene una gran importancia ya que permite la interacción del usuario con las bases de datos por medio de una interfaz dinámica y de sencillo manejo además permite la interacción con aplicaciones que están relacionadas con dichas bases de datos.
    Entre los objetivos que debería tener un SGBD están:
    • La abstracción de la información.
    • Independencia
    • Consistencia
    • Seguridad
    • Manejo de transacciones
    • Tiempo de respuesta
    Dichos objetivos permitirán el manejo sencillo, rápido y con seguridad de la información que se introduzca en las bases de datos.
    Los componentes que caracterizan a un SGBD son:
    • El gestos de base de datos
    • Diccionario de datos
    • El administrador de la base de datos
    • Los lenguajes.
    Estos componentes permiten que el SGBD desarrolle su objetivo que es interconectar al usuario con la información contenida en las bases de datos y las aplicaciones.
    Entre las ventajas que tienen los SGBD se encuentra:
    • Simplifica la programación de base de datos, permitiendo que haya respaldo de la información y limitando las inconsistencias en la información.
    • Organiza los datos de forma que el manejo del programa no ralentice el computador.
    • Algunas veces permite la recuperación rápida de datos, esto siempre que se programe para tal propósito.
    Como conclusión considero que el tener conocimientos precisos sobre SGBD nos permitirá crear desarrollos informáticos orientados a simplificar el trabo de los usuarios con las bases de datos ofreciéndoles una interfaz sencilla y con características amplias.

    ResponderEliminar
  3. Ángel Ramírez ingeniería de sistema trayecto2-2
    Sistema aldea: charavare
    La base de datos nos proporciona de un sistema los métodos tradicionales es muy útil a la hora de elaborar un programa y la compactación es muy importante a la hora de reducir papel y esfuerzo muy poco a la hora de elaborar un trabajo.
    El administrador de la base de datos (da)es la persona identificable donde tendrá central los datos de una empresa determinada .
    El administrador de la base de dato (dba) es el técnico responsable implementar las decisiones del administrador de datos debe ser un profesional del it lo cierto es que ellos son los responsable del manejo de la base de datos a la hora de tener aseso a ella mas nadie sin la autorización también debe haber un buen sistema de seguridad.
    Por que utilizar una base de datos por que la base de dato le da aseso al usuario lo principal de la base de datos es que múltiples usuario tiene aseso a ella
    Le voy a nombrar algunas bases de datos más importantes:
    Microsoft Access, Microsoft FoxPro, msql, interbase IBM db2.
    Gestor de base de datos son los que administran las bases de datos y cumplen para que se apliquen las diferentes base de datos para que el usuario tenga el aseso a cada una.
    Evaluación de los sistemas es un conjuntos de programas y procedimientos que se forman junto en una unidad se debe tener en cuenta las necesidades de los usuario debe tener en cuenta a la hora de trabajar con la base de datos

    ResponderEliminar
  4. Lisbeth Blanco Sistemas 2.2 Nocturno


    Análisis Exposición Base de Datos


    Como todos sabemos el administrador de la base es datos es la persona encargada de o responsable de los datos dentro de una determinada empresa este a su vez tiene la responsabilidad de este el dar acceso a los usuarios a datos específicos dependiendo de el cargo ocupado por cada usuarios, también tiene la responsabilidad de implementar las decisiones del AD, este tiene que ser un profesional en IT. Este debe de estar al pendiente del funcionamiento optimo del sistema, crear la base de datos con datos reales y dotar otros servicios técnicos.

    Los datos pueden compartirse, esto no significa que las aplicaciones que existen puedan compartir la información de la base de datos, sino que esta nos permita desarrollar nuevas aplicaciones en la misma, esto quiere decir que sea posible satisfacer los requerimientos de datos en aplicaciones nuevas sin tener que agregar información a la base de datos. El administrador de base de datos una vez que conozca los requerimientos de la empresa puede estructurar los sistemas de una manera que sea la más apropiada para la empresa.

    Los datos tienen 2 tipos de independencia de datos, física y lógica.

    Los sistemas anteriores de bases de datos tienen la tendencia a ser dependientes de los datos. Esto quiere decir, la forma en que físicamente son representados los datos en al almacenamiento secundario y la técnica empleada por los requerimientos de la aplicación, lo que indica que estas representación física y esa técnica están integrada por un código.

    ResponderEliminar
  5. Administración de datos y administración de bases de datos
    El administrador de datos (DA) es la persona identificable que tendrá la responsabilidad central sobre los datos dentro de la empresa. Ya que los datos son uno de los activos más valiosos de la empresa, es imperativo que exista una persona que los entienda junto con las necesidades de la empresa con respecto a esos datos, a un nivel de administración superior. Por lo tanto, es labor del administrador decidir en primer lugar qué datos deben ser almacenados en la base de datos y establecer políticas para mantener y manejar esos datos una vez almacenados.
    El administrador de base de datos (DBA) es el técnico responsable de implementar las decisiones del administrador de datos. Por lo tanto, debe ser un profesional en IT. El trabajo del DBA consiste en crear la base de datos real e implementar los controles técnicos necesarios para hacer cumplir las diversas decisiones de las políticas hechas por el DA. El DBA también es responsable de asegurar que el sistema opere con el rendimiento adecuado y de proporcionar una variedad de otros servicios técnicos.

    ResponderEliminar
  6. ANÁLISIS: SOBRE EXPOSICIONES DEL DÍA LUNES 26 Y MARTES 27.
    DIA LUNES 26.
    Se hablo sobre bases de datos. Es un conjunto de datos pertenecientes a un mismo contexto y almacenamiento sistemáticamente para su posterior uso.
    Tipos de bases de datos según la variabilidad de los datos almacenados estáticas y dinámicas.
    Según su contenido, datos bibliográficos, de texto completo, directorios y de información química o biológica.
    Los modelos de bases de datos. Jerárquicas, de red, transaccionales, relacionales, multidimensionales, orientada a objetos, documentales, deductivas y gestión de bases de datos distribuida

    Los sistemas de gestión de bases de datos o SGBD 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.

    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 y/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.

    ResponderEliminar
  7. Martes27

    La programación orientada a objetos es una nueva forma de programar que trata de encontrar una solución a estos problemas. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos, expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más fáciles de escribir, mantener, reutilizar y volver a utilizar.

    OBJETOS (Sinónimo de instancia). Es la abstracción de alguna cosa en el dominio del problema que Refleja la capacidad de un sistema de alcanzar información alrededor de él. Los objetos, por lo tanto, son entidades que tienen atributos (datos) y formas de comportamiento (procedimientos) particulares. Las aplicaciones pueden constar de diferentes clases de objetos. Un objeto pasivo es el que actúa solamente bajo petición. Los objetos activos efectúan el seguimiento de los sucesos que ocurren en una aplicación y actúan de forma autónoma.

    ResponderEliminar
  8. ANALISIS DE LA EXPOSISCION BASE DE DATOS
    La base de datos o banco de datos es un conjunto de datos almacenados sistemáticamente para su posterior uso. Con el nuevo desarrollo de las tecnologías las bases de datos son digitales ya que ofrecen soluciones al problema de almacenamiento de datos. Hoy en día existen programas denominados sistemas gestores de bases de datos, que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada.
    Sus aplicaciones más usuales son para la gestión de empresas e instituciones públicas. También son utilizadas en entornos científicos con el objeto de almacenar la información experimental.
    Las bases de datos se clasifican de varias maneras como son: por su variabilidad de los datos almacenados, por su contenido.
    Bases de datos estáticas: son bases de datos de sólo lectura. Bases de datos dinámicas: son bases de datos donde la información almacenada se modifica con el tiempo, permitiendo operaciones como actualización, borrado y adición de datos, además de las operaciones fundamentales de consulta. Bases de datos de texto completo: Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una colección de revistas científicas.
    Sobre los modelos de bases de datos, se puede decir que es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información), así como de los métodos para almacenar y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemáticos. Las jerárquicas: almacenan su información en una estructura jerárquica. Son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. Base de datos de red: su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). Bases de datos transaccionales: Son bases de datos cuyo único fin es el envío y recepción de datos a grandes velocidades, estas bases son muy poco comunes y están dirigidas por lo general al entorno de análisis de calidad, datos de producción e industrial, es importante entender que su fin único es recolectar y recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicación de información no es un problema como con las demás bases de datos. Bases de datos relacionales: Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Bases de datos orientadas a objetos: Es un modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento).
    Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:
    Encapsulación : es la propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos. Herencia: es la propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases. Polimorfismo: propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.

    ResponderEliminar
  9. Los sistemas de gestión de bases de datos o SGBD (en inglés database management system, abreviado DBMS) 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.
    Proposito del SGDB
    El propósito general de los sistemas de gestión de bases de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.

    Un sistema gestor de base de datos se define como el conjunto de programas que administran y gestionan la información contenida en una base de datos. Ayuda a realizar las siguientes acciones:
    -Definición de los datos
    -Mantenimiento de la integridad de los datos dentro de la base de datos
    -Control de la seguridad y privacidad de los datos
    -Manipulación de los datos
    -Simplifican la programación de equipos de consistencia.
    Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente, etc.

    -Organizan los datos con un impácto mínimo en el código de los programas.
    Bajan drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores.

    -Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos.

    Un sistema gestor de base de datos debe proporcionar una serie de lenguajes para la definición y manipulación de la base de datos.

    Estos lenguajes son los siguientes:

    -Lenguaje de definición de datos (DDL).
    Para definir los esquemas de la base de datos.

    -Lenguaje de manipulación de datos (DML).
    Para manipular los datos de la base de datos.

    -Lenguaje de control de datos (DCL).
    Para la administración de usuarios y seguridad en la base de datos.

    ResponderEliminar
  10. Teràn Josè Gabriel , sistemas 2-2 fin de semanas: base de datos esdonde se guardan todas las propiedades descritas de la estructura, relaciones, tratandose de un conjunto de programas no visibles al usuario final que se encargan de la integridad, la seguridad de los datos y la interacion con elsistema operativo.
    proporciona una interfaz entre los datos , los programas quelos manejan y los usuario finales.
    el gestor almacena una descripcion de de datos en los que llamamos diccionario de datos, asi como los usuarios permitientos y los permisos.
    tiene que haber un usuario administrador encargado de centralizar todas estas tareas.
    el administrador es una personas responsables del controldel sistema gestor de base de datos.

    ResponderEliminar
  11. luis andueza.sistema 2-2: base de datos-
    una base de datos es un almacen que nos permite guardar grandes cantidades de iformaciòn de forma organizada.
    el tçermino de base de datos fue escuchado prprimera vez en 1963, en un simposio celebrado en California.USA.
    labase de datos es un sistema formado por un conjunto de datos almacenados.
    cada base de datos se compone de una omças tablas que guarda un conjunto de datos.
    cadaq tabla tiene una o mças columnas y filas. las columnas guardan una parte de la informaciçon sobre cada elemento que queramos guardar en la tabla.cada fila de la tabla conforman un registro.

    ResponderEliminar
  12. Jose Villalobos dice
    Base de Dato: Es unacoleccion de datos integrados orealizados que permite recuperar informacion para satifacesr a una amplia variedad de usuarios (para evitar duplicado).
    Administrador de base de dato:Es una persona o grupo de personar resposables del sistema gestor de base de dato.

    ResponderEliminar
  13. balio escalante considera que la imformacion es muy util pero por lo largo se me dificulta comprender todo el contenido

    ResponderEliminar
  14. juan hernandez ci: 17 592 508 las bases de datos son un comjunto de informacion que se recolecta e organisa de forma ordenada para el uso comodo de nosotros los usuarios .las bases de datos facilitan el metodo de desarrollo de las activadades .

    ResponderEliminar
  15. Luis Romero.Una base de datos es como un almacen de informacion extensa organizada o estructurada y relacionada entre si en correcto orden .De facil acceso que puede ser almacenada en discos que contengan ficheros para posteriormente ser utilizadas por personas autorizadas que explotaran dicha informacion respetando el orden para acceder a la informacion de manera coherente y haci hacer buen uso de la informacion y con mas rapidez.

    ResponderEliminar
  16. ¿Qué es un Diagrama de Flujo de Datos? Es una descripción grafica de un procedimiento para la resolución de un problema. Son frecuentemente usados para descubrir algoritmos y programas de computador. Los diagramas de flujos están compuestos por figuras conectadas con flechas. Para ejecutar un proceso comienza por el Inicio y se siguen las acciones indicadas por cada figura: El tipo de figura indica el tipo de paso que representa.
    Simbología de los Diagramas de flujo:Las diversas organizaciones usan distintos símbolos, pero el comité sobre computadoras y procesadores de información de la Asociación Norteamericana de Normas ha hecho un gran esfuerzo para normalizar los símbolos de los diagramas de flujo. Esa normalización permite comprender cualquier diagrama de flujo que use los símbolos recomendados.
    REGLAS PARA ESTRUCTURAR UN DIAGRAMA DE FLUJO
     El sentido de un diagrama de flujo generalmente es de arriba hacia abajo.
     Es un símbolo solo puede entrar una flecha de flujo si varias líneas se dirigen al mismo símbolo, se deben unir en una sola flecha.
     Las líneas de flujo no deben cruzarse, para evitar los cruces se utilizan los conectores.
     De un símbolo excepto el de decisión, solo puede salir una línea de flujo.
     Los símbolos Terminal, Conector dentro de página y conector fuera de página solo pueden estar conectados al diagrama por una sola flecha, ya que por su naturaleza es imposible que tenga una entrada y una de salida.
     Los émbolos de decisión tendrán siempre una sola flecha de entrada y dos o tres flechas de salida según la cantidad de alternativas que se presentan.
    CONSIDERACIONES SOBRE DIAGRAMA DE FLUJO
    Un diagrama de flujo, puede tener tipos de errores diferentes: De Forma: Se genera por no seguir las reglas establecidas, puede hacer el diagrama difícil interpretación, confundir el diagrama y hasta convertirlo en errado en cuanto ser lógica. De Lógica: Son errores de estructura del diagrama en cuanto al arden puede ser de distinta gravedad, desde dejar de mostrar el resultado. O falta un cálculo hasta un error que determine que un programa nunca llegue a su fin. De Objetivo: Es cuando un diagrama de flujo esta correcto Un diagrama de flujo debe estar complemente cerrado, teniendo una continuidad de principio a fin, no pueden en cuanto a su estructura y forma pero no soluciona el problema propuesto sino otro. Una vez terminado e diagrama de flujo, es necesario asegurarse de que funcione correctamente cumpliendo el objetivo fundamental, las condiciones especificas y las excepciones del problema propuesto a esto se le llama generalmente "corrida en frió" prueba de escritorio.
    Los Componentes de un Diagrama de Flujo
    El Proceso: nuestra una parte del sistema que transforman Entradas y Salidas. Algunas analistas prefieren usar un ovalo o un rectángulo con esquinas redondeadas.
    Flujo: Un flujo se representa gráficamente por medio de una flecha que entra y sale de proceso; el flujo se usa para describir el movimiento, de bloques o paquetes de información de una parte del sistema a otra.
    Los flujos realmente representan Datos, es decir, Bits caracteres, mensajes, números, de puntos, flotante y los diversos tipos de información con los que las computadoras pueden tratar.
    Los flujos también muestran la dirección: Una cabeza de flecha en cualquier extremo(o posiblemente ambos) del flujo indica si los datos (o el material) se esta moviendo hacia adentro a hacia fuera.
    Almacén: Se utiliza para modelar una colección de paquetes de datos en reposo. Se denota por dos líneas paralelas, de modo característico el nombre que se utiliza para identificar para los paquetes que entran y salen del almacén por medios de flujo.
    Terminador: Se representa como un rectángulo como los terminadores se representan en entidades externas con las cuales el sistema se comunica, continuamente, puede ser una persona, o un grupo.

    ResponderEliminar
  17. bX-yb2nc
    Significado de los Símbolos de Flujo: El cuadrado doble es representado y usado para una actividad externa (otro departamento, un negocio, una persona, o una maquina) que puedan enviar datos y recibirlas del sistema. La entidad externa es llamada una fuente de destino de datos y es considerada externa al estudio, cada entidad externa es etiquetada con un nombre adecuado. La flecha muestra el movimiento de datos de un punto a otro , esta señalada hacia suceden simultáneamente pueden ser representadas simplemente mediante el uso de flechas paralelas, debido a que una flecha representada datos acerca de una persona lugar o casa, también :Debe ser descrita con un nombre.
    Un rectángulo con esquinas redondeadas es usado para mostrar la aparición de un proceso de transformación. Los procesos siempre denotan un cambio o transformación de los datos.
    Principios del Diseño Centrado en el Usuario: El diseño, sea cual sea el objeto del mismo, tiene que basarse en el usuario, y el usuario puede ser cualquier individuo (Diseño para Todos).
    Principios de diseño: Los principios de diseño son los siguientes: 1º) ABSTRACCIÓN Y REFINAMIENTO: Se trata de ocultar los detalles, es decir no centrarse en detalles concretos del diseño, sino hacer un esquema visual a alto nivel. La técnica de abstración y refinamiento se complementa con la de refinamiento, es decir, primero se hace una abstracción del problema y una vez que tenemos un esquema abstracto usamos la técnica del refinamiento para centrarnos en detalles concretos. 2º)MODULARIDAD: Consiste en dividir un sistema en varios subsistemas, cada uno de estos resuelve un problema pequeñito y luego se vuelven a unir. Esta técnica se puede aplicar a distintas escalas.3º) VARIACIONES PROTEGIDAS: Hay que tener claros dos conceptos: punto de variación y punto de evolución. *Punto de variación: es un requisito del sistema que tiene caracteristicas variables y puede cambiar, por tanto tengo que soportarlo en mi aplicación. *Punto de evolución: es cuando nosotros preveemos que se puede convertir en un punto de variación. En el desarrollo del software todo lo que sea cambion es un problema, hay que prestar atención a estos puntos que cambian, la idea es proteger al sistema de los cambios en los puntos de variación y en los puntos de evolución. 4º) ACOPLAMIENTO: medida cualitativa del grado en el que un módulo esta conectado a otros y el mundo exterior. El acoplamiento hay que mantenerlos bajo para que cada módulo sea lo más independiente posible. De esta forma si un módulo cambia, su cambio afecta lo menos posible al resto de sistema. Nunca se puede dar el acoplamiento 0. 5º)COHESIÓN: es la medida cualitativa del grado en el que un módulo se enfoca a una sola cosa. Un módulo hace cosas muy parecidas, la cohesión debe ser alta en cada módulo, se trata de conseguir módulos muy cohesivos y que estén poco acoplados. Para mejorar la cohesión lo mejor es dividir en subsistemas. 6º)REFACTORIZACIÓN: Es el proceso de cambiar un sistema de software de tal forma que no se altere el comportamiento externo de su código (diseño) y aún así se mejora su estructura interna. La funcionalidad sigue siendo la misma pero mejora la estructura interna del código, es decir, mejorando la cohesión y disminuyendo el acoplamiento, pero siempre hay que tener en cuenta que la funcionalidad no puede cambiar.

    ResponderEliminar
  18. 7º)REUTILIZACIÓN: consiste en utilizar código que se sabe que funciona bien, en vez de hacerlo nosotros de nuevo. Buscar que hay que resuelva mi problema y adaptarlo a mi caso. La reutilización puede ser a dos niveles: por un lado poder reutilizar código en forma de componente (por ejemplo usar una base de datos, servicios, bibliotecas, frameworks); por otro lado esta la reutilización de conocimiento que me da ideas de como hacer las cosas como Idioms.
    *Idioms: una forma de utilizar un Lenguaje de Programación, patrón de bajo nivel, es especifico de un Lenguaje de Programación. Describen soluciones a problemas de implementación de un determinado Lenguaje de Programación por ejemplo la gestión de memorias en C++.

    ResponderEliminar
  19. Evolución de los sistemas.
    Los SGBD de años atrás (IMS de IBM, IDS de Bull, DMS de Univac, etc.) eran sistemas totalmente centralizados, como corresponde a los sistemas operativos de aquellos años, y al hardware para el que estaban hechos: un gran ordenador para toda la empresa y una red de terminales sin inteligencia ni memoria.
    Los primeros SGBD se les denominaba así estaban orientados a facilitar la utilización de grandes conjuntos de datos en los que las interrelaciones eran complejas. El arquetipo de aplicación era el Hill of materials o Parts explosion, típica en las industrias del automóvil, en la construcción de naves espaciales y en campos similares. Estos sistemas trabajaban exclusivamente por lotes (batch).
    Al aparecer los terminales de teclado, conectados al ordenador central mediante una línea telefónica, se empiezan a construir grandes aplicaciones on-line transaccionales (OLTP). Los SGBD estaban íntimamente ligados al software de comunicaciones y de gestión de transacciones.
    Aunque para escribir los programas de aplicación se utilizaban lenguajes de alto nivel como Cobol o PL/I, se disponía también de instrucciones y de subrutinas especializadas para tratar las BD que requerían que el programador conociese muchos detalles del diseño físico, y que hacían que la programación fuese muy compleja.
    Actualmente se usan los relacionados con el nivel físico, se debían modificar continuamente cuando se hacían cambios en el diseño y la organización de la BD. La preocupación básica era maximizar el rendimiento: el tiempo de respuesta y las transacciones por segundo.

    1era Evaluación (Examen)

    Arquitectura de un Sistema Gestor de Base de Datos
    Es la denominada arquitectura de los esquemas

    Nivel Externo: Es el mas cercano a usuario, esta relacionado con la forma en que los datos son vistos por los usuarios individualmente.

    Nivel Conceptual: es el nivel del diseño , de cómo va ser la base de datos , la estructuración del diseño, la conceptualización de la base de datos.


    Nivel interno o físico: es como esta almacenada la base de datos. El lenguaje de bajo nivel, sistema binario y la actuación del catalizador.

    Modelos de Base de Datos:
    Son un conjunto de componentes o herramientas conceptuales que un SGBD proporciona para modelar .
    Modelo Orientado a objetos.
    Modelo Relacional
    Modelo Entidad- Relación

    Relaciones: representa una base de datos como una colección de tablas y se pueden almacenar en forma de archivo individual

    Transacciones: colección de operaciones que forman una única unidad lógica de trabajo.

    Concurrencia: manejo de una entidad por varios usuarios

    ResponderEliminar
  20. Eventos
    Es el suceso donde interactua el usuario con la máquina, enviando el mensaje adecuado al objeto respectivo.
    También se puede definir como evento, a la reacción que desencadena un objeto, es decir la acción que genera.

    Como se produce un evento?
    Cada vez que se produce un evento sobre un determinado tipo de control, se ejecuta una determinada función o procedimiento que realiza la acción programada por el usuario para ese evento concreto.
    Estos procedimientos se definen con un nombre que se forma a partir del nombre del objeto y el nombre del evento, separados por el carácter (_), como por ejemplo txtBox_click, que es el nombre del procedimiento que se ocupará de responder al evento click en el objeto txtBox.


    Tipos de Eventos

    - Eventos relacionados al formulario
    Inicio del formulario.
    Respuesta a una acción (de usuario).
    Vinculación de los objetos.
    Cierre del formulario.

    - Eventos relacionados al puntero del ratón
    El click sobre un botón,
    Hacer doble click sobre el nombre de un fichero para abrirlo,
    Arrastrar un icono, etc,

    - Eventos relacionados con gráficos
    Color de texto.
    Dibujar una caja de texto.
    Imprimir.

    - Eventos personalizados (generados por el usuario)
    El usuario declara un evento al módulo myClass, utilizando la instrucción Event para declarar un evento con los argumentos que se desea. Los eventos deben ser declarados con Public. Disparando el eventos de acuerdo a la clase, usando la instrucción RaiseEvent, suministrando los parámetros requeridos.


    Vinculación de los Objetos (Polimorfismo)
    Es la asociación de un atributo con su valor
    - Variable con un valor.
    - Llamada a función con el cuerpo de la función.

    Puede ser: Estática (early binding): en tiempo de compilación o antes de ejecutar.
    C++, Pascal, COBOL, FORTRAN

    Dinámica (late binding): en tiempo de ejecución.
    C++, Smalltalk, Objetive-C, Java
    Ejemplo:

    Cuando una variable de un tipo Coche posee una referencia a un objeto de clase Taxi (siendo Taxi descendiente de Coche) y se invoca a un método por medio de la variable.
    Con la vinculación dinámica se asociará la ejecución al tipo más específico, en este caso a Taxi.

    El mecanismo para la búsqueda empieza por el tipo dinámico de la variable receptora y remontarse por la jerarquía de herencia hasta encontrar una implementación válida.


    Funciones Miembro
    Generalmente en las clases se suelen ubicar los datos miembros bajo la etiqueta private, y las funciones miembro bajo la etiqueta public, esto favorece a una buena ingeniería de software. La idea es que los clientes de las clases no puedan acceder directamente a los datos miembros de la clase, sino a través de las funciones miembro y sólo cuando sea necesario. Si intentaramos acceder a un dato miembro privado, obtendríamos un error en tiempo de compilación que nos alertaría.

    Clasificación de las funciones miembro

    - Funciones Set:
    Permite acceder a los datos miembros de la clase y asignarle un valor.
    Permite generar datos miembros en la clase y asignar controles para que sólo puedan establecerse datos miembros válidos.
    Ejemplo: Set establecerTitulo,
    Set establecerPaginas,
    Set establecerCodigo.

    - Funciones GET:
    Permite obtener valores de los datos miembro para luego dirigir la salida de los datos de diferente manera.
    Ejemplo: Get imprime().

    - Funciones predicado:
    Permite verifican la falsedad o veracidad de una condición.
    Ejemplo: En una clase Libro, se tiene una función miembro llamada hayStock,
    Esta función tendrá un valor True si el número de stock es mayor que cero
    y False si es menor que cero.

    - Funciones de utilidad:
    No pueden ser definidas bajo la etiqueta public.
    El usuario no puede tener acceso directamente.
    Son de utilidad para otras funciones miembro de la clase.

    ResponderEliminar
  21. DIAGRAMAS DE FLUJO
    Un diagrama de flujo u organigrama es una representación diagramática que ilustra la secuencia de las operaciones que se realizarán para conseguir la solución de un problema. Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el código frente a la computadora. Los diagramas de flujo facilitan la comunicación entre los programadores y la gente del negocio. Estos diagramas de flujo desempeñan un papel vital en la programación de un problema y facilitan la comprensión de problemas complicados y sobre todo muy largos. Una vez que se dibuja el diagrama de flujo, llega a ser fácil escribír el programa en cualquier idióma de alto nivel. Vemos a menudo cómo los diagramas de flujo nos dan ventaja al momento de explicar el programa a otros. Por lo tanto, está correcto decir que un diagrama de flujo es una necesidad para la documentación mejor de un programa complejo.
    Reglas para dibujar un diagramas de flujo.
    Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando séan requeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuación:
    Inicio o fin del programa
    Pasos, procesos o líneas de instruccion de programa de computo
    Operaciones de entrada y salida
    Toma de desiciónes y Ramificación
    Conector para unir el flujo a otra parte del diagrama
    Cinta magnética
    Disco magnético
    Conector de pagina
    Líneas de flujo
    Anotación
    Display, para mostrar datos
    Envía datos a la impresora
    Observación: Para obtener la correcta elaboración de los símbolos, existen plantillas. Las puedes conseguir en Papelerías.
    Simbolos gráficos
    Dentro de los simbolos fundamentales para la creaación de diagramas de flujo, los símbolos gráficos son utilizádos especificamente para para operaciónes aritméticas y relaciónes condicionales. La siguiente es una lista de los símbolos más comunmente utilizados:
    + Sumar
    - Menos
    * Multiplicación
    / División
    ± Mas o menos
    = Equivalente a
    > Mayor que
    < Menor que
    ³ Mayor o igual que
    £ Menor o igual que
    ¹ o <> Diferente de
    Si
    No
    True
    False
    Reglas para la creacion de Diagramas
    1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
    2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).
    3. Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se vana utilizar conectores cuando sea estrictamente necesario.
    4. No deben quedar líneas de flujo sin conectar
    5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.
    6. Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.
    7. Solo los símbolos de decisión pueden y deben tener mas de una línea de flujo de salida.

    ResponderEliminar
  22. PRINCIPIOS DE LAS BASES DE DATOS

    - Se debe evitar la información duplicada.
    Los datos redundantes, malgastan el espacio y aumentan la probabilidad de que se produzcan errores e incoherencias.
    - La información debe ser correcta y completa.
    Si la base de datos contiene información incorrecta, los informes que recogen información de la base de datos contendrán también información incorrecta y, por tanto, las decisiones que tome a partir de esos informes estarán mal fundamentadas.
    - Dividir la información en tablas basadas en temas para reducir los datos redundantes.
    - Garantizar la exactitud e integridad de la información.
    - Satisfacer las necesidades de procesamiento de los datos y de generación de informes.


    DISEÑO DE LAS BASES DE DATOS

    - Determinar la finalidad de la base de datos
    Para que va a ser usada la base de datos.
    - Organizar la información necesaria
    Reúnir todos los tipos de información que desee registrar en la base de datos, como los nombres de productos o los números de pedidos.
    - Dividir la información en tablas
    Divida los elementos de información en entidades o temas principales, como Productos o Pedidos. Cada tema pasará a ser una tabla.
    - Convertir los elementos de información en columnas
    Qué información desea almacenar en cada tabla. Cada elemento se convertirá en un campo y se mostrará como una columna en la tabla. Por ejemplo, una tabla Empleados podría incluir campos como Apellido y Fecha de contratación.
    - Especificar claves principales
    Elija la clave principal de cada tabla. La clave principal es una columna que se utiliza para identificar inequívocamente cada fila, como Id. de producto o Id. de pedido.
    - Definir las relaciones entre las tablas
    Examinando cada tabla permitirá decidir cómo se relacionan los datos de una tabla con las demás tablas. Agregue campos a las tablas o cree nuevas tablas para clarificar las relaciones según sea necesario. Se establece la o las claves secundarias.
    - Ajustar el diseño
    Analice el diseño para detectar errores. Cree las tablas y agregue algunos registros con datos de ejemplo. Compruebe si puede obtener los resultados previstos de las tablas. Realice los ajustes necesarios en el diseño.
    - Aplicar las reglas de normalización
    Aplique reglas de normalización de los datos para comprobar si las tablas están estructuradas correctamente. Realice los ajustes necesarios en las tablas.

    ResponderEliminar
  23. ARQUITECTURA DE UN SISTEMA GESTOR DE BASE DE DATOS
    Las bases de datos respetan la arquitectura de tres niveles definida, para cualquier tipo de base de datos, por el grupo ANSI/SPARC. En esta arquitectura la base de datos se divide en los niveles externo, conceptual e interno
    Nivel interno: es el nivel más bajo de abstracción, y define cómo se almacenan los datos en el soporte físico, así como los métodos de acceso.
    Nivel conceptual: es el nivel medio de abstracción. Se trata de la representación de los datos realizada por la organización, que recoge las vistas parciales de los requerimientos de los diferentes usuarios y las aplicaciones posibles. Se configura como visión organizativa total, e incluye la definición de datos y las relaciones entre ellos.
    Nivel externo: es el nivel de mayor abstracción. A este nivel corresponden las diferentes vistas parciales que tienen de la base de datos los diferentes usuarios. En cierto modo, es la parte del modelo conceptual a la que tienen acceso.
    El modelo de arquitectura propuesto permite establecer el principio de independencia de los datos. Esta independencia puede ser lógica y física. Por independencia lógica se entiende que los cambios en el esquema lógico no deben afectar a los esquemas externos que no utilicen los datos modificados. Por independencia física se entiende que el esquema lógico no se vea afectado por cambios realizados en el esquema interno, correspondientes a modos de acceso.
    Arquitectura de los SGBD
    Es fundamental en la arquitectura de un SGBD para permitir independizar éste de la BD. Tiene 2 niveles:
    Lógico: es en el que se inspira el modelo relacional del SQL. Distinguimos en él dos esquemas: Externo (visión lógica que programas y usuarios tendrán de la BD) y Conceptual (donde se describen entidades tipo, sus atributos, reglas de integridad).
    Físico: se corresponde con el esquema interno, y contiene la descripción de la organización física de la BD (índices, apuntadores, como y dónde se agrupan físicamente los registros. Es transparente al usuario, y el SQL lo deja prácticamente (algo sí deja hacer) en manos de los SGBD comerciales.
    Modelos de BD
    El primer modelo de BD en aparecer fue el jerárquico (60'), con registros interrelacionados en árbol. En los 70' surgieron los modelos en red, derivado del anterior, pero de poco éxito. En los 80 el modelo relacional se vuelve predominante en los SGBD, los cuales en su mayoría utilizan el lenguaje SQL como nativo. Este modelo se basa en el concepto de relación o tabla (filas y columnas), se limita únicamente al nivel lógico, dándose una independencia física de datos total, al menos en la teoría. Actualmente se está extendiendo el modelo relacional con objetos, con tipos de datos abstractos (TAD), aproximándose a la OO. También cabe señalar aquí otros SGBD que no siguen estos modelos, como los documentales o las BD geográficas.

    Relaciones entre bases de datos
    Podemos definir la relación como una asociación de dos o más entidades. A cada relación se le asigna un nombre para poder distinguirla de las demás y saber su función dentro del modelo entidad-relación. Otra característica es el grado de relación, siendo las de grado 1 relaciones que solo relacionan una entidad consigo misma. Las de grado 2 son relaciones que asocian dos entidades distintas, y las de grado n que se tratan de relaciones que unen más de dos entidades.

    ResponderEliminar
  24. Tipo de correspondencia entre dos relaciones;
    1:1. Uno a uno, a cada ocurrencia de una entidad le corresponde como máximo una ocurrencia de la otra entidad relacionada.
    1:N. Uno a Mucho, a cada ocurrencia de la entidad A le puede corresponder varias de la entidad B.
    N: M. Muchos a muchos, cada ocurrencia de una entidad puede contener varias de la otra entidad relacionada y viceversa.
    En la relación tenemos la cardinalidad que define el número máximo y mínimo de ocurrencias de cada tipo de entidad. Se representa con los valores máximo coma mínimo encerrado entre paréntesis encima de la relación. (Máximo, mínimo).
    Transacción (base de datos)
    Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica.
    Un SGBD se dice transaccional, si es capaz de mantener la integridad de los datos, haciendo que estas transacciones no puedan finalizar en un estado intermedio. Cuando por alguna causa el sistema debe cancelar la transacción, empieza a deshacer las órdenes ejecutadas hasta dejar la base de datos en su estado inicial (llamado punto de integridad), como si la orden de la transacción nunca se hubiese realizado.
    Concurrencia
    El propósito del control de concurrencia es mantener la consistencia de la BD cuando ésta es actualizada por múltiples usuarios. Existen casos en los que las transacciones ejecutadas aisladamente originan nuevos estados consistentes, sin embargo las mismas transacciones ejecutadas concurrentemente pueden originar efectos como pérdidas de operaciones y/o violación de restricciones de integridad.
    Sistema de Manipulación de BD
    El lenguaje de manipulación de datos (DML, Data Manipulación/ Management Lenguaje), que es el encargado de facilitar a los usuarios el acceso y manipulación de los datos. Pueden diferenciarse en procedimentales (aquellos que requieren que datos se necesitan y como obtenerlos) y no procedimentales (que datos se necesitan, sin especificar como obtenerlos), y se encargan de la recuperación de los datos almacenados, de la inserción y supresión de datos en la base de datos, y de la modificación de los existentes.

    ResponderEliminar
  25. Principios del Diseño Centrado en el Usuario
    El diseño, sea cual sea el objeto del mismo, tiene que basarse en el usuario, y el usuario puede ser cualquier individuo (Diseño para Todos).
    El control de la situación debe estar en manos del usuario:
    Ha a ser el usuario quien inicie las acciones y controle las tareas.
    El usuario ha de tener la oportunidad de personalizar la interfaz.
    El sistema debe ser lo más interactivo posible, facilitando el cambio y gestión de sus modos.
    Es preciso un planteamiento directo:
    El usuario ha de comprobar cómo sus acciones afectan a la salida del sistema.
    La accesibilidad de la información y de las opciones van a reducir la carga mental de trabajo del usuario.
    Las metáforas familiares proporcionan una interfaz intuitiva.
    Se asocia un significado con un objeto mejor que con un comando, siempre y cuando la asociación resulte apropiada.
    La consistencia es parte indispensable en el diseño:
    Se ha de facilitar la aplicación de los conocimientos adquiridos de forma previa al desarrollo de nuevas tareas, lo que a su vez se va a traducir en un aprendizaje rápido.
    Consistencia y estabilidad se van a traducir en facilidad de uso.
    Ha de darse la consistencia dentro de un producto (el mismo comando desarrollaría funciones que el usuario interpreta como similares), en un entorno (se efectúa una adopción de convenciones para todo el conjunto), con las metáforas (si un comportamiento particular es más caracterísitico de un objeto diferente que el que su metáfora implica, el usuario puede tener dificultad en asociar comportamiento y objeto).
    Hay que posibilitar la recuperación de los errores:
    El diseño minimiza los riesgos y las consecuencias adversas de las acciones accidentales o involuntarias.
    Hay que posibilitar el descubrimiento interactivo y el aprendizaje ensayo-error.
    Hay que posibilitar la reversibilidad y la recuperabilidad de las acciones.
    Hay que contemplar los potenciales errores de los usuarios.
    Retroalimentación apropiada por el sistema:
    Es precisa una respuesta apropiada a las acciones del usuario por parte del sistema.
    Tal respuesta ha de ser inevitablemente de complejidad variable y ha de darse en un tiempo apropiado.
    El estado de un sistema (esperando entrada, comprobando, transfiriendo datos,...) debería estar siempre disponible para el usuario
    No se puede descuidar la estética:
    Determinados atributos visuales o auditivos concentran la atención del usuario en la tarea que está desarrollando.
    Es preciso proporcionar un entorno agradable que contribuya al entendimiento por parte del usuario de la información presentada.
    El diseño debe caracterizarse por su simplicidad:
    La interfaz ha de ser simple (que no simplista), fácil de aprender y usar, con funcionalidades accesibles y bien definidas.
    El uso del diseño ha de ser fácil de entender, independientemente de la experiencia, conocimiento, capacidades lingüísticas o nivel de concentración del usuario.
    Hay que controlar la información explicitada, que se ha de reducir al mínimo necesario.
    El diseño ha de comunicar la información necesaria al usuario de forma efectiva, independientemente de las condiciones ambientales o de las capacidades sensoriales del mismo.

    ResponderEliminar
  26. El lenguaje de consulta estructurado (SQL)
    Es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de bases de datos para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos. Pero como sucede con cualquier sistema de normalización hay excepciones para casi todo; de hecho, cada motor de bases de datos tiene sus peculiaridades y lo hace diferente de otro motor, por lo tanto, el lenguaje SQL normalizado (ANSI) no nos servirá para resolver todos los problemas, aunque si se puede asegurar que cualquier sentencia escrita en ANSI será interpretable por cualquier motor de datos.
    Componentes del SQL
    El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
    Comandos
    Existen dos tipos de comandos SQL:
    o DLL que permiten crear y definir nuevas bases de datos, campos e índices.
    o DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
    Comandos DLL
    CREATE Utilizado para crear nuevas tablas, campos e índices
    DROP Empleado para eliminar tablas e índices
    ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.
    Comandos DML
    SELECT: Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
    INSERT: Utilizado para cargar lotes de datos en la base de datos en una única operación.
    UPDATE: Utilizado para modificar los valores de los campos y registros especificados.
    DELETE: Utilizado para eliminar registros de una tabla de una base de datos.
    Cláusulas
    Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.
    FROM: Utilizada para especificar la tabla de la cual se van a seleccionar los registros
    WHERE: Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar
    GROUP BY: Utilizada para separar los registros seleccionados en grupos específicos
    HAVING: Utilizada para expresar la condición que debe satisfacer cada grupo
    ORDER BY: Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico
    Operadores Lógicos
    AND: Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.
    OR: Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.
    NOT: Negación lógica. Devuelve el valor contrario de la expresión.

    ResponderEliminar
  27. MYSQL FUNDAMENTOS
    El desarrollo de MySQL se fundamenta en el trabajo de los desarrolladores contratados por la empresa MySQL AB quienes se encargan de dar soporte a los socios comerciales y usuarios de la comunidad MySQL y dar solución a los problemas encontrados por los usuarios. Los usuarios o miembros de la comunidad MySQL pueden reportar bugs revisando el manual en línea que contiene las soluciones a problemas encontrados; el historial de cambios; la base de datos bugs que contiene bugs reportados y solucionados y en las listas de correo MySQL .
    MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido.
    MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License) para definir que puede hacer y que no puede hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o requiere introducir código MySQL en aplicaciones comerciales.
    PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos de software libre, publicado bajo la licencia BSD.
    Como muchos otros proyectos open source, el desarrollo de PostgreSQL no es manejado por una sola compañía sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).
    PostgreSQL
    Está considerado como la base de datos de código abierto más avanzada del mundo. PostgreSQL proporciona un gran número de características que normalmente sólo se encontraban en las bases de datos comerciales tales como DB2 u Oracle. La siguiente es una breve lista de algunas de esas características, a partir de PostgreSQL 7.1.x.
    DBMS Objeto-Relacional
    PostgreSQL aproxima los datos a un modelo objeto-relacional, y es capaz de manejar complejas rutinas y reglas. Ejemplos de su avanzada funcionalidad son consultas SQL declarativas, control de concurrencia multi-versión, soporte multi-usuario, transactions, optimización de consultas, herencia, y arrays.
    Altamente Extensible
    PostgreSQL soporta operadores, funcionaes métodos de acceso y tipos de datos definidos por el usuario.
    Integridad Referencial
    PostgreSQL soporta integridad referencial, la cual es utilizada para garantizar la validez de los datos de la base de datos.
    API Flexible
    La flexibilidad del API de PostgreSQL ha permitido a los vendedores proporcionar soporte al desarrollo fácilmente para el RDBMS PostgreSQL. Estas interfacaes incluyen Object Pascal, Python, Perl, PHP, ODBC, Java/JDBC, Ruby, TCL, C/C++, y Pike.

    ResponderEliminar
  28. Lenguajes Procedurales
    PostgreSQL tiene soporte para lenguajes procedurales internos, incluyendo un lenguaje nativo denominado PL/pgSQL. Este lenguaje es comparable al lenguaje procedural de Oracle, PL/SQL. Otra ventaja de PostgreSQL es su habilidad para usar Perl, Python, o TCL como lenguaje procedural embebido.
    MVCC
    MVCC, o Control de Concurrencia Multi-Versión (Multi-Version Concurrency Control), es la tecnología que PostgreSQL usa para evitar bloqueos innecesarios. Si alguna vez ha usado algún DBMS con capacidades SQL, tal como MySQL o Access, probablemente habrá notado que hay ocasiones en las una lectura tiene que esperar para acceder a información de la base de datos. La espera está provocada por usuarios que están escribiendo en la base de datos. Resumiendo, el lector está bloqueado por los escritores que están actualizando registros.
    Mediante el uso de MVCC, PostgreSQL evita este problema por completo. MVCC está considerado mejor que el bloqueo a nivel de fila porque un lector nunca es bloqueado por un escritor. En su lugar, PostgreSQL mantiene una ruta a todas las transacciones realizadas por los usuarios de la base de datos. PostgreSQL es capaz entonces de manejar los registros sin necesidad de que los usuarios tengan que esperar a que los registros estén disponibles.
    Write Ahead Logging (WAL)
    La característica de PostgreSQL conocida como Write Ahead Logging incrementa la dependencia de la base de datosal registro de cambios antes de que estos sean escritos en la base de datos. Esto garantiza que en el hipotético caso de que la base de datos se caiga, existirá un registro de las transacciones a partir del cual podremos restaurar la base de datos. Esto puede ser enormemente beneficioso en el caso de caída, ya que cualesquiera cambios que no fueron escritos en la base de datos pueden ser recuperados usando el dato que fue previemante registrado. Una vez el sistema ha quedado restaurado, un usuario puede continuar trabajando desde el punto en que lo dejó cuando cayó la base de datos.

    ResponderEliminar
  29. MySQL es un sistema de gestión de base de datos relacional, multi-hilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.
    Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C.
    Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es propietario y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.
    Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

    Historia del proyecto
    SQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez en 1981 por IBM, el cual fue presentado a ANSI y desde entonces ha sido considerado como un estándar para las bases de datos relacionales. Desde 1986, el estándar SQL ha aparecido en diferentes versiones como por ejemplo: SQL:92, SQL:99, SQL:2003. MySQL es una idea originaria de la empresa opensource MySQL ABestablecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius. El objetivo que persigue esta empresa consiste en que MySQL cumpla el estándar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad.
    Michael Widenius en la década de los 90 trató de usar mSQL para conectar las tablas usando rutinas de bajo nivel ISAM, sin embargo, mSQL no era rápido y flexible para sus necesidades. Esto lo llevó a crear una API SQL denominada MySQL para bases de datos muy similar a la de mSQL pero más portable.
    La procedencia del nombre de MySQL no es clara. Desde hace más de 10 años, las herramientas han mantenido el prefijo My. También, se cree que tiene relación con el nombre de la hija del cofundador Monty Widenius quien se llama My.
    Por otro lado, el nombre del delfín de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso “Name the Dolphin”. Este nombre fue enviado por Ambrose Twebaze, un desarrollador de software de código abierto africano, derivado del idiomaSiSwate, el idioma local de Swazilandia y corresponde al nombre de una ciudad en Arusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose.

    Lenguajes de programación
    Existen varias APIs que permiten, a aplicaciones escritas en diversos lenguajes de programación, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (via db Express), Eiffel, Smalltalk, Java (con una implementación nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby, Gambas, REAL basic (Mac), (x)Harbour (Eagle1), FreeBASIC, y Tcl; cada uno de estos utiliza una APIespecífica. También existe un interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de programación que soporte ODBCcomunicarse con las bases de datos MySQL. También se puede acceder desde el sistema SAP, lenguaje ABAP.

    ResponderEliminar
  30. Aplicaciones
    MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está muy ligada a PHP, que a menudo aparece en combinación con MySQL. MySQL es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccionalMyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones.

    Especificaciones
    Plataformas
    MySQL funciona sobre múltiples plataformas, incluyendo:
     AIX
     BSD
     FreeBSD
     HP-UX
     GNU/Linux
     Mac OS X
     NetBSD
     Novell Netware
     OpenBSD
     OS/2 Warp
     QNX
     SGI IRIX
     Solaris
     SunOS
     SCO OpenServer
     SCO UnixWare
     Tru64
     eBD
     Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7 y Windows Server (2000, 2003 y 2008) Windows.
     OpenVMS (véase: www.pi-net.dyndns.org/anonymous/kits/).

    Características de la versión 5.0.22
     Un amplio subconjunto de ANSI SQL 99, y varias extensiones.
     Soporte a multiplataforma
     Procedimientos almacenados
     Disparadores (triggers)
     Cursores
     Vistas actualizables
     Soporte a VARCHAR
     INFORMATION_SCHEMA
     Modo Strict
     Soporte X/Open XA de transacciones distribuidas; transacción en dos fases como parte de esto, utilizando el motor InnoDB de Oracle
     Motores de almacenamiento independientes (MyISAM para lecturas rápidas, InnoDB para transacciones e integridad referencial)
     Transacciones con los motores de almacenamiento InnoDB, BDB Y Cluster; puntos de recuperación (savepoints) con InnoDB
     Soporte para SSL
     Query caching
     Sub-SELECTs (o SELECTs anidados)
     Réplica con un maestro por esclavo, varios esclavos por maestro, sin soporte automático para múltiples maestros por esclavo.
     indexing y buscando campos de texto completos usando el motor de almacenamiento MyISAM
     Embedded database library
     Soporte completo para Unicode
     Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster
     Shared-nothing clustering through MySQL Cluster

    ResponderEliminar
  31. Características adicionales
     Usa GNU Automake, Autoconf, y Libtool para portabilidad
     Uso de multihilos mediante hilos del kernel.
     Usa tablas en disco b-tree para búsquedas rápidas con compresión de índice
     Tablas hash en memoria temporales
     El código MySQL se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una herramienta GPL
     Completo soporte para operadores y funciones en cláusulas select y where.
     Completo soporte para cláusulas group by y order by, soporte de funciones de agrupación
     Seguridad: ofrece un sistema de contraseñas y privilegios seguro mediante verificación basada en el host y el tráfico de contraseñas está cifrado al conectarse a un servidor.
     Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros.
     Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2).
     Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas Windows se pueden conectar usando named pipes y en sistemas Unix usando ficheros socket Unix.
     En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida.
     MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el código fuente de la distribución de MySQL.

    Características (versión 4.0)
    Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web con contenido dinámico, justamente por su simplicidad.
    Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre. Entre las características disponibles en las últimas versiones se puede destacar:
     Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.
     Disponibilidad en gran cantidad de plataformas y sistemas.
     Diferentes opciones de almacenamiento según si se desea velocidad en las operaciones o el mayor número de operaciones disponibles.
     Transacciones y claves foráneas.
     Conectividad segura.
     Replicación.
     Búsqueda e indexación de campos de texto.
    MySQL es un sistema de administración de bases de datos. Una base de datos es una colección estructurada de tablas que contienen datos. Esta puede ser desde una simple lista de compras a una galería de pinturas o el vasto volumen de información en una red corporativa. Para agregar, acceder a y procesar datos guardados en un computador, usted necesita un administrador como MySQL Server. Dado que los computadores son muy buenos manejando grandes cantidades de información, los administradores de bases de datos juegan un papel central en computación, como aplicaciones independientes o como parte de otras aplicaciones.
    MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido.
    MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License) para definir que puede hacer y que no puede hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o requiere introducir código MySQL en aplicaciones comerciales, usted puede comprar una versión comercial licenciada.

    ResponderEliminar
  32. Mejoras futuras
    El mapa de ruta de MySQL 5.1 indica soporte para:
     Particionado de la base de datos
     Backup en línea para todos los motores de almacenamiento
     Replicación segura
     Restricciones a nivel de columna
     Planificación de eventos
     Funciones XML

    Características distintivas
    Las siguientes características son implementadas únicamente por MySQL:
     Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea más adecuada para cada tabla de la base de datos.
     Agrupación de transacciones, reuniendo múltiples transacciones de varias conexiones para incrementar el número de transaccionespor segundo.

    Tipos de compilación del servidor
    Hay tres tipos de compilación del servidor MySQL:
     Estándar: Los binarios estándar de MySQL son los recomendados para la mayoría de los usuarios, e incluyen el motor de almacenamiento InnoDB.
     Max (No se trata de MaxDB, que es una cooperación con SAP): Los binarios incluyen características adicionales que no han sido lo bastante probadas o que normalmente no son necesarias.
     MySQL-Debug: Son binarios que han sido compilados con información de depuración extra. No debe ser usada en sistemas en producción porqué el código de depuración puede reducir el rendimiento.
    Especificaciones del código fuente
    MySQL está escrito en una mezcla de C y C++. Hay un documento que describe algunas de sus estructuras internas enhttp://dev.mysql.com/doc/internals/en/ (en inglés).
    Desarrollo del proyecto
    El desarrollo de MySQL se fundamenta en el trabajo de los desarrolladores contratados por la empresa MySQL AB quienes se encargan de dar soporte a los socios comerciales y usuarios de la comunidad MySQL y dar solución a los problemas encontrados por los usuarios. Los usuarios o miembros de la comunidad MySQL pueden reportar bugs revisando el manual en línea que contiene las soluciones a problemas encontrados; el historial de cambios; la base de datos bugs que contiene bugs reportados y solucionados y en las listas de correo MySQL.
    A través de las listas de correo los usuarios pueden enviar preguntas y éstas serán contestadas por desarrolladores brindándoles soporte.

    Otras funcionalidades de las listas de correo
     Anuncios: informan sobre nuevas versiones de MySQL y programas relacionados.
     MySQL: lista principal de discusión de MySQL.
     Bugs: permite a la gente buscar y arreglar bugs.
     Temas internos: para gente que trabaja con el código de MySQL. Es el fórum para discutir sobre el desarrollo de MySQL.
     MySQLdoc: para gente que trabaja en documentación.
     Pruebas de rendimiento: para gente interesada en temas de rendimiento no sólo de MySQL, sino de otros motores de bases de datos.
     Empaquetadores: para discusiones sobre empaquetamiento y distribución de MySQL.
     Java: discusiones sobre MySQL Server y Java.
    Otras listas de correo son: MyODBC, Herramientas GUI, Cluster, Dotnet, PlusPlus y Perl.

    Adicional a las listas de correo, se encuentra el soporte de IRC de la comunidad MySQL. Además, hay soporte a través de foros agrupados en categorías tales como: Migración, Uso de MySQL, Conectores MySQL, Tecnología MySQL y Negocios.

    Estructuras organizativas/asociativas o de decisión
    La dirección y el patrocinio de los proyectos MySQL están a cargo de la empresa MySQL AB quien posee el copyrigth del código fuente MySQL, su logo y marca registrada. MySQL, Inc. y MySQL GmbH son ejemplos de empresas subsidiarias de MySQL AB. Están establecidas en los Estados Unidos y Alemania respectivamente. MySQL AB, cuenta con más de 200 empleados en más de 20 países y funcionan bajo la estrategia de teletrabajo.
    En enero del 2008 Sun Microsystems anuncia su compra.

    ResponderEliminar
  33. Industria relacionada
    La industria radica en la venta de productos software y de algunos servicios relacionados a numerosas empresas que utilizan estos productos.
    MySQL AB clasifica los productos así:
     MySQL Enterprise: incluye MySQL Enterprise Server , Monitoreo de la red MySQL, servicios de consulta y soporte de producción MySQL
     MySQL Cluster
     MySQL Embedded Database
     MySQL Drivers: para JDBC, ODBC y .Net
     MySQL Tools: MySQL Administrator, MySQL Query Browser, and the MySQL Migration Toolkit
     MaxDB: MaxDB es una base de datos de código abierto certificada para SAP/R3.

    Los ingresos de esta empresa por la venta de licencias privativas de sus productos y los servicios suma los U$12 millones.

    MySQL en cifras
     Según las cifras del fabricante, existirían más de seis millones de copias de MySQL funcionando en la actualidad, lo que supera la base instalada de cualquier otra herramienta de bases de datos.
     El tráfico del sitio web de MySQL AB superó en 2004 al del sitio de IBM.

    Qué licencia utilizar
    La licencia GNU GPL de MySQL obliga a que la distribución de cualquier producto derivado (aplicación) se haga bajo esa misma licencia. Si un desarrollador desea incorporar MySQL en su producto pero desea distribuirlo bajo otra licencia que no sea la GNU GPL, puede adquirir una licencia comercial de MySQL que le permite hacer justamente eso.

    Estado actual
    La serie en desarrollo de MySQL Server actualmente, es la 5.1 al cual se añaden nuevas características en relación a la serie 5.0. La serie de producción actual de MySQL es 5.0, cuya penúltima versión estable es la 5.0.26 lanzada en octubre de 2006. Actualmente, se puede descargar la serie 5.0.27. La serie de producción anterior fue la 4.1, cuya versión estable es 4.1.7 lanzada en octubre de 2004. A estas versiones de producción sólo se arreglan problemas, es decir, ya no se añaden nuevas características. Y a las versiones anteriores solamente se les corrigen bugs críticos.
    Usuarios destacados
     Amazon.com
     Cox Communications - La cuarta televisión por cable más importante de EEUU, tienen más de 3.600 tablas y aproximadamente dos millones de inserciones cada hora.
     Craigslist
     CNET Networks
     Digg - Sitio de noticias.
     flickr, usa MySQL para gestionar millones de fotos y usuarios.
     Google - Para el motor de búsqueda de la aplicación AdWords.
     Joomla!, con millones de usuarios.
     phpBB, Uno de los más famosos sitios de foros, con miles de instalaciones y con millones de usuarios.
     LiveJournal - Cerca de 300 millones de páginas servidas cada día. NASA
     NetQOS, usa MySQL para la gestión de algunas de las redes más grandes del mundo como las de Chevron, American Express yBoeing.
     Nokia, usa un cluster MySQL para mantener información en tiempo real sobre usuarios de redes de móviles.
     Omniture
     Sabre, y su sistema de reserva de viajes Travelocity
     Slashdot - con cerca de 50 millones de páginas servidas cada día.
     Wikipedia, sirve más de 200 millones de consultas y 1,2 millones de actualizaciones cada día, con picos de 11.000 consultas por segundo.
     WordPress, con cientos de blogs alojados en él.
     Yahoo! - para muchas aplicaciones críticas.

    ResponderEliminar
  34. Postgres.
     1986: se publicaron varios papers que describían las bases del sistema.
     1988: ya se contaba con una versión utilizable.
     1989: el grupo publicaba la versión 1 para una pequeña comunidad de usuarios.
     1990: se publicaba la versión 2 la cual tenía prácticamente reescrito el sistema de reglas.
     1991: publicación de la versión 3, esta añadía la capacidad de múltiples motores de almacenamiento.
     1993: crecimiento importante de la comunidad de usuarios, la cual demandaba más características.
     1994: después de la publicación de la versión 4, el proyecto terminó y el grupo se disolvió.
    Después de que el proyecto POSTGRES' terminara, dos graduados de la universidad, Andrew Yu y Jolly Chen, comenzaron a trabajar sobre el código de POSTGRES, esto fue posible dado que POSTGRES estaba licenciado bajo la BSD, y lo primero que hicieron fue añadir soporte para el lenguaje SQL a POSTGRES, dado que anteriormente contaba con un intérprete del lenguaje de consultas QUEL (basado en Ingres), creando así el sistema al cual denominaron Postgres95.
    Para el año 1996 se unieron al proyecto personas ajenas a la Universisdad como Marc Fournier de Hub.Org Networking Services, Bruce Momjian y Vadim B. Mikheev quienes proporcionaron el primer servidor de desarrollo no universitario para el esfuerzo de desarrollo de código abierto y comenzaron a trabajar para estabilizar el código de Postgres95.
    En el año 1996 decidieron cambiar el nombre de Postgres95 de tal modo que refleje la característica del lenguaje SQL y lo terminaron llamando PostgreSQL, cuya primera versión de código abierto fue lanzada el 1 de agosto de 1996. La primera versión formal de PostgreSQL (6.0) fue liberada en enero de 1997. Desde entonces, muchos desarrolladores entusiastas de los motores de base de datos se unieron al proyecto, coordinaron vía Internet y entre todos comenzaron a incorporar muchas características al motor.
    Aunque la licencia permitía la comercialización de PostgreSQL, el código no se desarrolló en principio con fines comerciales, algo sorprendente considerando las ventajas que PostgreSQL ofrecía. La principal derivación se originó cuando Paula Hawthtorn (un miembro del equipo original de Ingres que se pasó a Postgres) y Michael Stonebraker conformaron Illustra Information Technologies para comercializar Postgres.
    En 2000, ex inversionistas de Red Hat crearon la empresa Great Bridge para comercializar PostgreSQL y competir contra proveedores comerciales de bases de datos. Great Bridge auspició a varios desarrolladores de PostgreSQL y donó recursos de vuelta a la comunidad, pero a fines de 2001 cerró debido a la dura competencia de compañías como Red Hat y pobres condiciones del mercado.

    ResponderEliminar
  35. En 2001, Command Prompt, Inc. lanzó Mammonth PostgreSQL, la más antigua distribución comercial de PostgreSQL. Continúa brindando soporte a la comunidad PostgreSQL a traves del auspicio de desarrolladores y proyectos, incluyendo PL/Perl, PL/php y el alojamiento de proyectos de comunidades como PostgreSQL Build Farm.
    En enero de 2005, PostgreSQL recibió apoyo del proveedor de base de datos Pervasive Software, conocido por su producto Btrieve que se utilizaba en la plataforma Novell Netware, Pervasive anunció soporte comercial y participación comunitaria y logró algo de éxito. Sin embargo, en julio de 2006 dejó el mercado de soporte de PostgreSQL.
    A mediados de 2005 otras dos compañías anunciaron planes para comercializar PostgreSQL con énfasis en nichos separados de mercados. EnterpriseDB añadió funcionalidades que le permitían a las aplicaciones escritas para trabajar con Oracle ser más fáciles de ejecutar con PostgreSQL. Greenplum contribuyó mejoras directamente orientadas a aplicaciones de Data Warehouse e Inteligencia de negocios, incluyendo el proyecto BizGres.
    En octubre de 2005, John Loiacono, vicepresidente ejecutivo de software en Sun Microsystems comentó: "No estamos yendo tras el OEMde Microsoft pero estamos viendo a PostgreSQL ahora", aunque no se dieron especificaciones en ese momento. Para noviembre de 2005, Sun Solaris 10 (lanzamiento 6/06) incluía PostgreSQL.
    En agosto de 2007 EnterpriseDB anunció el Postgres Resource Center y EnterpriseDB Postgres, diseñados para ser una completamente configurada distribución de PostgreSQL incluyendo muchos módulos contribuidos y agregados. EnterpriseDB Postgres fue renombrado Postgres Plus en marzo de 2008.
    El proyecto PostgreSQL continúa haciendo lanzamientos principales anualmente y lanzamientos menores de reparación de bugs, todos disponibles bajo la licencia BSD, y basados en contribuciones de proveedores comerciales, empresas aportantes y programadores de código abierto mayormente.
    Características
    Algunas de sus principales características son, entre otras:
    Alta concurrencia
    Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos.

    Amplia variedad de tipos nativos
    PostgreSQL provee nativamente soporte para:
     Números de precisión arbitraria.
     Texto de largo ilimitado.
     Figuras geométricas (con una variedad de funciones asociadas)
     Direcciones IP (IPv4 e IPv6).
     Bloques de direcciones estilo CIDR.
     Direcciones MAC.
     Arrays.
    Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden ser por completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos ejemplos son los tipos de datos GIS creados por el proyecto PostGIS.
    Otras características
    Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign keys).
     Disparadores (triggers): Un disparador o trigger se define en una acción especifica basada en algo ocurrente dentro de la base de datos.

    ResponderEliminar
  36. En PostgreSQL esto significa la ejecución de un procedimiento almacenado basado en una determinada acción sobre una tabla específica. Ahora todos los disparadores se definen por seis características:
     El nombre del disparador o trigger
     El momento en que el disparador debe arrancar
     El evento del disparador deberá activarse sobre...
     La tabla donde el disparador se activará
     La frecuencia de la ejecución
     La función que podría ser llamada
    Entonces combinando estas seis características, PostgreSQL le permitirá crear una amplia funcionalidad a través de su sistema de activación de disparadores (triggers).
     Vistas.
     Integridad transaccional.
     Herencia de tablas.
     Tipos de datos y operaciones geométricas.
     Soporte para transacciones distribuidas. Permite a PostgreSQL integrase en un sistema distribuido formado por varios recursos (p.ej, una base de datos PostgreSQL, otra Oracle, una cola de mensajes IBM MQ JMS y un ERP SAP) gestionado por un servidor de aplicaciones donde el éxito ("commit") de la transacción goblal es el resultado del éxito de las transacciones locales.

    Funciones
    Bloques de código que se ejecutan en el servidor. Pueden ser escritos en varios lenguajes, con la potencia que cada uno de ellos da, desde las operaciones básicas de programación, tales como bifurcaciones y bucles, hasta las complejidades de la programación orientada a objetos o la programación funcional.
    Los disparadores (triggers en inglés) son funciones enlazadas a operaciones sobre los datos.

    Algunos de los lenguajes que se pueden usar son los siguientes:
     Un lenguaje propio llamado PL/PgSQL (similar al PL/SQL de oracle).
     C.
     C++.
     Java PL/Java web.
     PL/Perl.
     plPHP.
     PL/Python.
     PL/Ruby.
     PL/sh.
     PL/Tcl.
     PL/Scheme.
     Lenguaje para aplicaciones estadísticas R por medio de PL/R.

    PostgreSQL soporta funciones que retornan "filas", donde la salida puede tratarse como un conjunto de valores que pueden ser tratados igual a una fila retornada por una consulta (query en inglés).
    Las funciones pueden ser definidas para ejecutarse con los derechos del usuario ejecutor o con los derechos de un usuario previamente definido. El concepto de funciones, en otros DBMS, son muchas veces referidas como "procedimientos almacenados" (stored procedures en inglés).

    Productos alrededor de PostgreSQL
    El PGDG solo desarrolla el Motor de Datos y un número pequeño de utilidades, para potenciar el trabajo con PostgreSQL suele ser necesario añadir utilidades externas creadas especialmente para este motor, algunas de estas herramientas son:

    Alternativas Comerciales
    Gracias a su licencia BSD, se permite la utilización del código para ser comercializado. Uno de los casos ejemplo es la de Enterprise DB (Postgresql Plus), la cual incluye varios agregados y una interfaz de desarrollo basada en Java. Entre otras empresas que utilizan Postgresql para comercializar se encuentra CyberTech (alemania), con su producto CyberCluster.

    ResponderEliminar
  37. GIS
    PostGIS
    Extensión que añade soporte de objetos geográficos a PostgreSQL y permite realizar análisis mediante consultas SQL espaciales o mediante conexión a aplicaciones GIS (Sistema de Información Geográfica).

    Replicación
    PgCluster
    Replicación multi maestro.
    Slony-I
    Replicación maestro esclavo.
    PyReplica
    Replicación maestro esclavo y multi maestro asincrónica.
    Herramientas de administración
    PgAdmin3
    Entorno de escritorio visual.
    PgAccess
    Entorno de escritorio visual.
    PhpPgAdmin
    Entorno web.
    psql
    Cliente de consola.

    Database Master
    Entorno de escritorio visual.

    Búsqueda de texto
    Full text search
    Incluido en el núcleo a partir de la versión 8.3.
    Via Tsearch2 y OpenFTS para versiones anteriores a la 8.3.
    XML
    XML/XSLT soporte
    Via XPath extensiones en la sección contrib.

    Usuarios destacados
    • .org, .info, .mobi y .aero registros de dominios por Afilias.
    • La American Chemical Society.
    • BASF.
    • IMDb.
    • Skype.
    • TiVo.
    • Penny Arcade.
    • Sony Online.2
    • U.S. Departamento de Trabajo.
    • USPS.
    • VeriSign.
    • Pictiger.com
    • Wisconsin Circuit Court Access con 6 * 180GB DBs replicados en tiempo real.
    • OpenACS y .LRN.
    Premios
    • PostgreSQL ha recibido los siguientes reconocimientos:
    • 1999 LinuxWorld Editor's Choice Award for Best Database
    • 2000 Linux Journal Editors' Choice Awards for Best Database
    • 2002 Linux New Media Editors Choice Award for Best Database
    • 2003 Linux Journal Editors' Choice Awards for Best Database
    • 2004 Linux New Media Award For Best Database
    • 2004 Linux Journal Editors' Choice Awards for Best Database
    • 2004 ArsTechnica Best Server Application Award
    • 2005 Linux Journal Editors' Choice Awards for Best Database
    • 2006 Linux Journal Editors' Choice Awards for Best Database
    • 2008 Developer.com Product of the Year, Database Tool

    ResponderEliminar
  38. El lenguaje de consulta estructurado (SQL)
    Es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de bases de datos para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos. Pero como sucede con cualquier sistema de normalización hay excepciones para casi todo; de hecho, cada motor de bases de datos tiene sus peculiaridades y lo hace diferente de otro motor, por lo tanto, el lenguaje SQL normalizado (ANSI) no nos servirá para resolver todos los problemas, aunque si se puede asegurar que cualquier sentencia escrita en ANSI será interpretable por cualquier motor de datos.
    Componentes del SQL
    El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
    SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
    Comandos
    Existen dos tipos de comandos SQL:
    o DLL que permiten crear y definir nuevas bases de datos, campos e índices.
    o DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
    Comandos DLL
    CREATE Utilizado para crear nuevas tablas, campos e índices
    DROP Empleado para eliminar tablas e índices
    ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.
    Comandos DML
    SELECT: Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
    INSERT: Utilizado para cargar lotes de datos en la base de datos en una única operación.
    UPDATE: Utilizado para modificar los valores de los campos y registros especificados.
    DELETE: Utilizado para eliminar registros de una tabla de una base de datos.
    Cláusulas
    Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.
    FROM: Utilizada para especificar la tabla de la cual se van a seleccionar los registros
    WHERE: Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar
    GROUP BY: Utilizada para separar los registros seleccionados en grupos específicos
    HAVING: Utilizada para expresar la condición que debe satisfacer cada grupo
    ORDER BY: Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico
    Operadores Lógicos
    AND: Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.
    OR: Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.
    NOT: Negación lógica. Devuelve el valor contrario de la expresión.

    ResponderEliminar
  39. MYSQL FUNDAMENTOS
    El desarrollo de MySQL se fundamenta en el trabajo de los desarrolladores contratados por la empresa MySQL AB quienes se encargan de dar soporte a los socios comerciales y usuarios de la comunidad MySQL y dar solución a los problemas encontrados por los usuarios. Los usuarios o miembros de la comunidad MySQL pueden reportar bugs revisando el manual en línea que contiene las soluciones a problemas encontrados; el historial de cambios; la base de datos bugs que contiene bugs reportados y solucionados y en las listas de correo MySQL .
    MySQL es un sistema de administración relacional de bases de datos.
    Está desarrollado en su mayor parte en ANSI C.
    Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es propietario y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.
    Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

    ResponderEliminar
  40. Mejoras futuras
    El mapa de ruta de MySQL 5.1 indica soporte para:
     Particionado de la base de datos
     Backup en línea para todos los motores de almacenamiento
     Replicación segura
     Restricciones a nivel de columna
    En PostgreSQL esto significa la ejecución de un procedimiento almacenado basado en una determinada acción sobre una tabla específica. Ahora todos los disparadores se definen por seis características:
     El nombre del disparador o trigger
     El momento en que el disparador debe arrancar
     El evento del disparador deberá activarse sobre...
     La tabla donde el disparador se activará
     La frecuencia de la ejecución
     La función que podría ser llamada
    Entonces combinando estas seis características, PostgreSQL le permitirá crear una amplia funcionalidad a través de su sistema de activación de disparadores (triggers).
     Vistas.
     Integridad transaccional.
     Herencia de tablas.
     Tipos de datos y operaciones geométricas.
     Soporte para transacciones distribuidas. Permite a PostgreSQL integrase en un sistema distribuido formado por varios recursos (p.ej, una base de datos PostgreSQL, otra Oracle, una cola de mensajes IBM MQ JMS y un ERP SAP) gestionado por un servidor de aplicaciones donde el éxito ("commit") de la transacción goblal es el resultado del éxito de las transacciones locales.

     Planificación de eventos
     Funciones XML

    Características distintivas
    Las siguientes características son implementadas únicamente por MySQL:
     Múltiples motores de almacenamiento (MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster, Federated, Archive, CSV, Blackhole y Example en 5.x), permitiendo al usuario escoger la que sea más adecuada para cada tabla de la base de datos.

    ResponderEliminar
  41. ARQUITECTURA DE UN SISTEMA GESTOR DE BASE DE DATOS
    Las bases de datos respetan la arquitectura de tres niveles definida, para cualquier tipo de base de datos, por el grupo ANSI/SPARC. En esta arquitectura la base de datos se divide en los niveles externo, conceptual e interno
    Nivel interno: es el nivel más bajo de abstracción, y define cómo se almacenan los datos en el soporte físico, así como los métodos de acceso.
    Nivel conceptual: es el nivel medio de abstracción. Se trata de la representación de los datos realizada por la organización, que recoge las vistas parciales de los requerimientos de los diferentes usuarios y las aplicaciones posibles. Se configura como visión organizativa total, e incluye la definición de datos y las relaciones entre ellos.
    Nivel externo: es el nivel de mayor abstracción. A este nivel corresponden las diferentes vistas parciales que tienen de la base de datos los diferentes usuarios. En cierto modo, es la parte del modelo conceptual a la que tienen acceso.
    El modelo de arquitectura propuesto permite establecer el principio de independencia de los datos. Esta independencia puede ser lógica y física. Por independencia lógica se entiende que los cambios en el esquema lógico no deben afectar a los esquemas externos que no utilicen los datos modificados. Por independencia física se entiende que el esquema lógico no se vea afectado por cambios realizados en el esquema interno, correspondientes a modos de acceso.
    Arquitectura de los SGBD
    Es fundamental en la arquitectura de un SGBD para permitir independizar éste de la BD. Tiene 2 niveles:
    Lógico: es en el que se inspira el modelo relacional del SQL. Distinguimos en él dos esquemas: Externo (visión lógica que programas y usuarios tendrán de la BD) y Conceptual (donde se describen entidades tipo, sus atributos, reglas de integridad).
    Físico: se corresponde con el esquema interno, y contiene la descripción de la organización física de la BD (índices, apuntadores, como y dónde se agrupan físicamente los registros. Es transparente al usuario, y el SQL lo deja prácticamente (algo sí deja hacer) en manos de los SGBD comerciales.
    Modelos de BD
    El primer modelo de BD en aparecer fue el jerárquico (60'), con registros interrelacionados en árbol. En los 70' surgieron los modelos en red, derivado del anterior, pero de poco éxito. En los 80 el modelo relacional se vuelve predominante en los SGBD, los cuales en su mayoría utilizan el lenguaje SQL como nativo. Este modelo se basa en el concepto de relación o tabla (filas y columnas), se limita únicamente al nivel lógico, dándose una independencia física de datos total, al menos en la teoría. Actualmente se está extendiendo el modelo relacional con objetos, con tipos de datos abstractos (TAD), aproximándose a la OO. También cabe señalar aquí otros SGBD que no siguen estos modelos, como los documentales o las BD geográficas.

    Relaciones entre bases de datos
    Podemos definir la relación como una asociación de dos o más entidades. A cada relación se le asigna un nombre para poder distinguirla de las demás y saber su función dentro del modelo entidad-relación. Otra característica es el grado de relación, siendo las de grado 1 relaciones que solo relacionan una entidad consigo misma. Las de grado 2 son relaciones que asocian dos entidades distintas, y las de grado n que se tratan de relaciones que unen más de dos entidades.

    ResponderEliminar
  42. una base de datos es un almacen que nos permite guardar grandes cantidades de iformaciòn de forma organizada.
    el tçermino de base de datos fue escuchado prprimera vez en 1963, en un simposio celebrado en California.USA.
    labase de datos es un sistema formado por un conjunto de datos almacenados.
    cada base de datos se compone de una omças tablas que guarda un conjunto de datos.
    cadaq tabla tiene una o mças columnas y filas. las columnas guardan una parte de la informaciçon sobre cada elemento que queramos guardar en la tabla.cada fila de la tabla conforman un registro.

    ResponderEliminar
  43. El lenguaje de consulta estructurado (SQL)
    Es un lenguaje de base de datos normalizado, utilizado por los diferentes motores de bases de datos para realizar determinadas operaciones sobre los datos o sobre la estructura de los mismos. Pero como sucede con cualquier sistema de normalización hay excepciones para casi todo; de hecho, cada motor de bases de datos tiene sus peculiaridades y lo hace diferente de otro motor, por lo tanto, el lenguaje SQL normalizado (ANSI) no nos servirá para resolver todos los problemas, aunque si se puede asegurar que cualquier sentencia escrita en ANSI será interpretable por cualquier motor de datos.
    Componentes del SQL
    El lenguaje SQL está compuesto por comandos, cláusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.
    Comandos
    Existen dos tipos de comandos SQL:
    o DLL que permiten crear y definir nuevas bases de datos, campos e índices.
    o DML que permiten generar consultas para ordenar, filtrar y extraer datos de la base de datos.
    Comandos DLL
    CREATE Utilizado para crear nuevas tablas, campos e índices
    DROP Empleado para eliminar tablas e índices
    ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos.
    Comandos DML
    SELECT: Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado
    INSERT: Utilizado para cargar lotes de datos en la base de datos en una única operación.
    UPDATE: Utilizado para modificar los valores de los campos y registros especificados.
    DELETE: Utilizado para eliminar registros de una tabla de una base de datos.
    Cláusulas
    Las cláusulas son condiciones de modificación utilizadas para definir los datos que desea seleccionar o manipular.
    FROM: Utilizada para especificar la tabla de la cual se van a seleccionar los registros
    WHERE: Utilizada para especificar las condiciones que deben reunir los registros que se van a seleccionar
    GROUP BY: Utilizada para separar los registros seleccionados en grupos específicos
    HAVING: Utilizada para expresar la condición que debe satisfacer cada grupo
    ORDER BY: Utilizada para ordenar los registros seleccionados de acuerdo con un orden específico
    Operadores Lógicos
    AND: Es el "y" lógico. Evalúa dos condiciones y devuelve un valor de verdad sólo si ambas son ciertas.
    OR: Es el "o" lógico. Evalúa dos condiciones y devuelve un valor de verdad si alguna de las dos es cierta.
    NOT: Negación lógica. Devuelve el valor contrario de la expresión.

    ResponderEliminar
  44. MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License) para definir que puede hacer y que no puede hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o requiere introducir código MySQL en aplicaciones comerciales.
    PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos de software libre, publicado bajo la licencia BSD.
    Como muchos otros proyectos open source, el desarrollo de PostgreSQL no es manejado por una sola compañía sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).
    PostgreSQL
    Está considerado como la base de datos de código abierto más avanzada del mundo. PostgreSQL proporciona un gran número de características que normalmente sólo se encontraban en las bases de datos comerciales tales como DB2 u Oracle. La siguiente es una breve lista de algunas de esas características, a partir de PostgreSQL 7.1.x.
    DBMS Objeto-Relacional
    PostgreSQL aproxima los datos a un modelo objeto-relacional, y es capaz de manejar complejas rutinas y reglas. Ejemplos de su avanzada funcionalidad son consultas SQL declarativas, control de concurrencia multi-versión, soporte multi-usuario, transactions, optimización de consultas, herencia, y arrays.
    Altamente Extensible
    PostgreSQL soporta operadores, funcionaes métodos de acceso y tipos de datos definidos por el usuario.
    Integridad Referencial
    PostgreSQL soporta integridad referencial, la cual es utilizada para garantizar la validez de los datos de la base de datos.
    API Flexible
    La flexibilidad del API de PostgreSQL ha permitido a los vendedores proporcionar soporte al desarrollo fácilmente para el RDBMS PostgreSQL. Estas interfacaes incluyen Object Pascal, Python, Perl, PHP, ODBC, Java/JDBC, Ruby, TCL, C/C++, y Pike.

    ResponderEliminar