jueves, 21 de abril de 2016

ÁLGEBRA RELACIONAL

ÁLGEBRA RELACIONAL

Se denomina álgebra relacional a un conjunto de operaciones encargadas de la manipulación de datos agrupados. Puede ser usada para realizar consultas en base de datos. 

Al realizar una operación en una tabla obtengo como resultado otra tabla.



Operadores

Operadores de comparación (=, >, <, >=, <=, <>)
Conjunción (∧)
Disyunción (∨)
Negación (¬)

Operaciones Unitarias

  • Seleccionar  (𝜎)
         Selecciona el valor de ciertas tuplas es decir las filas completas.
  • Proyectar (𝜋)
         Selecciona el valor de ciertos atributos de todas las tuplas de una relación, Selecciona          columnas completas.
  • Eliminar duplicados(𝛿)
         Elimina tuplas duplicadas en una relación.

         
                                                      Operaciones Binarias


  • Producto Cartesiano
         Operación binaria en la cual obtenemos una nueva tabla con los atributos resultado              de un producto punto entre ambas tablas.


                                                     Operaciones de Conjuntos

Se trabajan sobre dos o más relaciones que sean compatibles.

  • Unión (∪)
         Esta operación retorna un conjunto de tuplas que estén en una o en ambas relaciones        que se asocian. El resultado de esta operación entregará a lo más la cantidad de tuplas         de la primera relación sumada a la cantidad de tuplas de la segunda. Los elementos             repetidos aparecerán solo una vez.


  • Intersección (∩)

       Esta operación, obtiene como resultado la cantidad de tuplas que se encuentran en              las dos relaciones. El resultado de esta operación, a lo más entrega el total de tuplas            de una de las dos relaciones.

Resultado de imagen para interseccion de conjuntos ejemplos
  • Diferencia (−)

        Esta operación entrega como resultado la cantidad de tuplas que se encuentren en la           primera relación pero no en la segunda. El resultado de esta operación, a lo más                   entrega el total de tuplas de la primera relación.



  • Join o Reunión 
         Es equivalente a seleccionar las combinaciones completas del producto cartesiano.              Algunos autores indican poner la condición de igualdad.


                     



lunes, 18 de abril de 2016

CONVERTIR ENTIDAD-RELACIÓN EN MODELO RELACIONAL

Convertir Entidad-Relación En Modelo Relacional

Se comienza con un modelo E-R
Porque es más fácil de diseñar.
Tiene dos conceptos: entidad y relación.
Traducir E-R a relacional, versión simple:
1. Se agregan claves donde sea necesario.
2. Cada entidad se transforma en una tabla con los mismos atributos.
      a. Atributos multivaluados.
      b. Atributos derivados.
3. Cada relación se transforma en una tabla en que los atributos son las claves de cada entidad participante.

Uso de Espacio Extra

Directo E-R

·         Sólo se repiten las claves primarias.

Generalización disjunta
  • No se repiten atributos no comunes.

Valores nulos
  • Se repiten todos los atributos.


Modelo Relacional

Modelo Relacional 

Se  denominan bases de datos relacionales debido a que sus relaciones se transforman en tablas de datos. 


Claves Candidatas y Primarias

  • La elección de una clave primaria es arbitraria 
  • Se escoge una que tenga pocos atributos 
  • Se escoge una que identifique de manera única a cada tupla
Claves Compuestas 
  • Puede ser una clave la cual está formada por varios atributos o incluso toda la tupla
Claves Foráneas

Al insertar 
  • Insertar clave foránea en la otra tabla 
  • Rechazar la inserción 
Al Eliminar
  • Eliminar tuplas que apuntan a esta tupla
  • Actualizar valores en tuplas que apuntan a esta tupla



Diagramas Entidad Relación

Diagramas Entidad Relación

Describen el esquema de una base de datos.

Entidades: Rectángulos, representan objetos reales
Atributos: Óvalos, representan propiedades de estos objetos. 
Relaciones: Rombos, representan enlaces. 
Líneas: Enlazan atributos con entidades, o entidades con relaciones.


Simbología 


Entidades

Una entidad puede no tener suficientes atributos para formar una clave primaria. 
Tal entidad se denomina entidad débil. 
Una entidad que tiene una clave primaria se denomina entidad fuerte. 


EL Buen diseño: Lo más simple posible pero no más simple que eso, resiste el paso del tiempo, No es inmutable: es extensible. 
Mal diseño: Empeora con el tiempo, casos especiales, más y más entidades.

Modelos de Datos

Modelos de Datos

Modelo E-R


El modelo de datos entidad-relación (E-R) está basado en una percepción del mundo real que consta de una colección de objetos básicos, llamados entidades, y de relaciones entre estos objetos.
El modelo entidad-relación se utiliza habitualmente en el proceso de diseño de bases de datos


Modelo Relacional 

En el modelo relacional se utiliza un grupo de tablas para representar los datos y las relaciones entre ellos. Cada tabla está compuesta por varias columnas, y cada columna tiene un nombre único. El modelo relacional se encuentra a un nivel de abstracción inferior al modelo de datos E-R. Los diseños de bases de datos a menudo se realizan en el modelo E-R, y después se traducen al modelo relacional.

Análisis de Requerimientos


Requisitos funcionales:
    ¿Qué debe hacer el sistema? 
    Transacciones. 
Requisitos de datos. 
    Qué debe almacenar el sistema? 
    Pensar en el futuro. 
    Tipos de dato. 
    Esquema de datos.
    Diseño lógico 
    Tablas.
Definiciones 
Entidad:
  • Un objeto que existe y es distinguible de algún tipo (~instancia). 

Conjunto de entidades:
  • Una colección de objetos similares 

Atributos:
  • Propiedades de entidades en un conjunto de entidades. 

Relaciones:
  • Conexiones entre dos o más entidades. 

Conjunto de relaciones:
  • Conexiones entre dos o más conjuntos de entidades.

Roles y Actores de las Bases de Datos

Roles y Actores de las Bases de Datos

Administrador de base de datos
Administración de datos.
  • Planificación de la base de datos.
  • Desarrollo de estándares políticas y procedimientos.
  • Diseño lógico de la base de datos.

Administración de bases de datos.
  • Diseño e implementación de la base de datos.
  • Acceso y control 
  • Mantenimiento 
  • Respaldo.

Diseñador de Base de Datos

  • Diseño lógico de la base de datos.
  • ¿Qué datos deben ser almacenados?
  • Definir vista parcial
  • ¿Cómo deben organizarse los datos?
  • ¿Cuáles son los usos típicos de los datos?
  • Abstracción



Desarrollador de Aplicaciones

  • Programas que usen las bases de datos.
  • Interfaces a otros sistemas.
  • Web.
  • E-Mail.
  • Sistemas de archivos

Usuarios Finales 

Paramétricos o simples
  • Usuarios de las aplicaciones finales
  • Consultas pre-fijadas
Expertos o sofisticados
  • Reportes y análisis
  • Consultas personalizadas

Arquitectura de SGBD

Arquitectura de SGBD



Nivel interno o físico
  • Estructura física de almacenamiento.
  • Todos los detalles de cómo el SGBD utiliza:
  • El disco duro.
  • La memoria
  • El sistema debe ser rápido en responder y eficiente en el uso de espacio.
  • Administrador de la base de datos.
Nivel conceptual
  • Estructura lógica de almacenamiento.
  • Diseño conceptual de la base de datos.
  • Tablas, columnas
  • El diseño debe reflejar conceptual mente el problema a modelar.
  • Administradores de datos.
Nivel externo

  • Vistas sobre las tablas.
  • Requiere sólo acceso parcial a los datos.
  • Público objetivo.
  • Desarrolladores de aplicaciones
  • Usuarios finales
  • Cada vista debe reflejar adecuadamente la parte de los datos que interesa a cada uno.
Independencia de datos

Independencia lógica de datos.
  • Agregar más columnas no afecta las vistas.
  • Modificar columnas sólo afecta las vistas que incluyen esas columnas.
Independencia física de datos.
  • Si el SGBD modifica su organización interna de archivos, no pasa nada con el esquema conceptual (sucede cuando hay un cambio de versión, o al migrar a otro SGBD).



Sistema Gestor de Base de Datos


Sistema Gestor de Base de Datos (SGBD

Es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones.



Características
  • Datos autodescriptivos.
  • Uso de un catálogo de metadatos.
  • Independencia de los datos.
  • Otros programas para los mismos datos.
  • Múltiples vistas de los datos.
  • Compartir datos.
  • Transacciones multiusuario.
Componentes

  • El motor de la base de datos acepta peticiones lógicas de los otros subsistemas del SGBD, las convierte en su equivalente físico y accede a la base de datos y diccionario de datos en el dispositivo de almacenamiento.
  • El subsistema de definición de datos ayuda a crear y mantener el diccionario de datos y define la estructura del fichero que soporta la base de datos.
  • El subsistema de manipulación de datos ayuda al usuario a añadir, cambiar y borrar información de la base de datos y la interroga para extraer información. El subsistema de manipulación de datos suele ser la interfaz principal del usuario con la base de datos. Permite al usuario especificar sus requisitos de la información desde un punto de vista lógico.
  • El subsistema de generación de aplicaciones contiene utilidades para ayudar a los usuarios en el desarrollo de aplicaciones. Usualmente proporciona pantallas de entrada de datos, lenguajes de programación e interfaces.
  • El subsistema de administración ayuda a gestionar la base de datos ofreciendo funcionalidades como almacenamiento y recuperación, gestión de la seguridad, optimización de preguntas, control de concurrencia y gestión de cambios.

Objetivos 

  • Crear bases de datos y esquemas.
  • Data-definition language (DDL)
  • Preguntar sobre los datos.
  • Query language
  • Almacenar los datos de forma persistente.
  • Controlar el acceso de múltiples usuarios.
Tipos de SGBD


Según el modelo de datos:
  • Sistemas gestores de datos relacionales.
  • Sistemas gestores de datos orientados a objetos.
  • Sistemas gestores de datos objeto-relacionales.

Según número de usuarios:
  • Monousuario.
  • Multiusuario.

Según número de sitios:
  • Centralizado.
  • Distribuido
Ventajas de las bases de datos

  • Concurrencia
  • Consistencia
  • Control de la redundancia
  • Menos uso de espacio
  • Almacenamiento persistente de objetos
  • Independencia de los datos
  • Múltiples interfaces
  • Relaciones complejas entre datos
  • Restricciones de integridad
  • Restricciones de accesos
  • Copias de seguridad y recuperación



domingo, 17 de abril de 2016

Sistema de Gestión de Archivos


Sistema de Gestión de Archivos
  • Se consideran parte del sistema operativo.
  • La entrada a la aplicación se realiza por medio de archivos.
  • La salida se guarda en archivos para su almacenamiento a largo plazo.

Objetivos de los SGA

  • Garantizar que la información del archivo sea válida.
  • Optimizar el acceso a los archivos.
  • Proveer soporte E/S a gran variedad de dispositivos de almacenamiento.
  • Entregar los datos que el usuario pide.
  • Minimizar o eliminar una potencial pérdida de datos.
  • Proveer un conjunto estándar de rutinas E/S.
  • Proveer soporte de E/S a múltiples usuarios.
Funciones principales 

  • Identificar y localizar un archivo.
  • Usa un directorio (como un directorio telefónico) para describir la ubicación y atributos de un archivo.
  • Controla el acceso de varios usuarios a los archivos.
  • Bloquea el uso de archivos.
  • Ubica archivos en bloques libres.
  • Administra el espacio libre.
Organización 


  • Se tiene un Directorio maestro con directorios del usuario dentro del directorio maestro.
  • Cada directorio del usuario puede contener subdirectorios y archivos.
  • Los archivos pueden ser localizados siguiendo la ruta de directorios desde el directorio maestro (root).
  • La ruta de directorios se conoce como path.
  • Se pueden tener varios archivos con el mismo nombre ubicados en diferentes rutas.
  • El directorio donde se encuentra el usuario es el directorio de trabajo.
  • Los archivos se referencian respecto al directorio de trabajo falta de texto.

Al usar archivos no se puede:

  • Buscar rápido.
  • Modificar fragmentos pequeños.
  • Hacer consultas complejas.
  • Modificar varios archivos a la vez.
  • No es eficiente consultar partes pequeñas de los archivos sin leerlos completos en memoria.
  • No hay restricciones de integridad.
  • Falta de flexibilidad.
Arquitectura




TIPOS DE ARCHIVOS

  • Archivo de pila

Registros de longitud variable, conjunto variable de campos y orden cronológico.
  • Archivo secuencial

Registros de longitud fija, conjunto fijo de campos en orden constante, orden secuencial por el campo clave.
  • Archivo secuencial indexado

Las mismas características del archivo secuencial y se mantiene un índice para mejorar las búsquedas.






Introducción a las Bases de Datos



Introducción a las Bases de Datos


Se le llama base de datos a los bancos de información que contienen datos relativos diversos estructurados, organizados de distinta manera, pero que comparten entre sí algún tipo de vínculo o relación que busca ordenarlos y clasificarlos en conjunto, pueden tener independencia de datos que permite a múltiples usuarios hacer utilizaciones varias y simultáneas de los datos.

Historia


Los orígenes de las bases de datos se remontan a la Antigüedad donde ya existían bibliotecas y toda clase de registros. Además también se utilizaban para recoger información sobre las cosechas y censos. Sin embargo, su búsqueda era lenta y poco eficaz y no se contaba con la ayuda de máquinas que pudiesen reemplazar el trabajo manual.

Posteriormente, el uso de las bases de datos se desarrolló a partir de las necesidades de almacenar grandes cantidades de información o datos. Sobre todo, desde la aparición de las primeras computadoras, el concepto de bases de datos ha estado siempre ligado a la informática.

En 1884 Herman Hollerith creó la máquina automática de tarjetas perforadas, siendo nombrado así el primer ingeniero estadístico de la historia. En esta época, los censos se realizaban de forma manual.


Ante esta situación, Hollerith comenzó a trabajar en el diseño de una maquina tabuladora o censadora, basada en tarjetas perforadas.

Posteriormente, en la década de los cincuenta se da origen a las cintas magnéticas, para automatizar la información y hacer respaldos. Esto sirvió para suplir las necesidades de información de las nuevas industrias. Y a través de este mecanismo se empezaron a automatizar información, con la desventaja de que solo se podía hacer de forma secuencial.


Década de 1960

Posteriormente en la época de los sesenta, las computadoras bajaron los precios para que las compañías privadas las pudiesen adquirir; dando paso a que se popularizara el uso de los discos, cosa que fue un adelanto muy efectivo en la época, debido a que a partir de este soporte se podía consultar la información directamente, sin tener que saber la ubicación exacta de los datos. En esta misma época se dio inicio a las primeras generaciones de bases de datos de red y las bases de datos jerárquicas, ya que era posible guardar estructuras de datos en listas y arboles. Otro de los principales logros de los años sesenta fue la alianza de IBM y American Airlines para desarrollar SABRE, un sistema operativo que manejaba las reservas de vuelos, transacciones e informaciones sobre los pasajeros de la compañía American Airlines, posteriormente, en esta misma década, se llevo a cabo el desarrollo del IDS desarrollado por Charles Bachman ( que formaba parte de la CODASYL) supuso la creación de un nuevo tipo de sistema de bases de datos conocido como modelo en red que permitió la creación de un standard en los sistemas de bases de datos gracias a la creación de nuevos lenguajes de sistemas de información.

CODASYL (Conference on Data Systems Languages) era un consorcio de industrias informáticas que tenían como objetivo la regularización de un lenguaje de programación estándar que pudiera ser utilizado en multitud de ordenadores. Los miembros de este consorcio pertenecían a industrias e instituciones gubernamentales relacionadas con el proceso de datos, cuya principal meta era promover un análisis, diseño e implementación de los sistemas de datos más efectivos; y aunque trabajaron en varios lenguajes de programación como COBOL, nunca llegaron a establecer un estándar fijo, proceso que se llevo a cabo por ANSI.

Década de 1970

Por lo que respecta a la década de los setenta, Edgar Frank Codd, científico informático ingles conocido por sus aportaciones a la teoría de bases de datos relacionales, definió el modelo relacional a la par que publicó una serie de reglas para los sistemas de datos relacionales a través de su artículo “Un modelo relacional de datos para grandes bancos de datos compartidos”.

Este hecho dio paso al nacimiento de la segunda generación de los Sistemas Gestores de Bases de Datos. Como consecuencia de esto, durante la década de 1970, Lawrence J. Ellison, más conocido como Larry Ellison, a partir del trabajo de Edgar F. Codd sobre los sistemas de bases de datos relacionales, desarrolló el Relational Software System, o lo que es lo mismo, lo que actualmente se conoce como Oracle Corporation, desarrollando así un sistema de gestión de bases de datos relacional con el mismo nombre que dicha compañía.

Década de 1980

Por su parte, a principios de los años ochenta comenzó el auge de la comercialización de los sistemas relacionales, y SQL comenzó a ser el estándar de la industria, ya que las bases de datos relacionales con su sistema de tablas (compuesta por filas y columnas) pudieron competir con las bases jerárquicas y de red, como consecuencia de que su nivel de programación era sencillo y su nivel de programación era relativamente bajo.

Década años 1990

En la década de 1990 la investigación en bases de datos giró en torno a las bases de datos orientadas a objetos. Las cuales han tenido bastante éxito a la hora de gestionar datos complejos en los campos donde las bases de datos relacionales no han podido desarrollarse de forma eficiente. Así se desarrollaron herramientas como Excel y Access del paquete de Microsoft Office que marcan el inicio de las bases de datos orientadas a objetos. Así se creó la tercera generación de sistemas gestores de bases de datos. Fue también en esta época cuando se empezó a modificar la primera publicación hecha por ANSI del lenguaje SQL y se empezó a agregar nuevas expresiones regulares, consultas recursivas, triggers y algunas características orientadas a objetos, que posteriormente en el siglo XXI volverá a sufrir modificaciones introduciendo características de XML, cambios en sus funciones, estandarización del objeto sequence y de las columnas autonuméricas. Y además, se creará la posibilidad de que SQL se pueda utilizar conjuntamente con XML, y se definirá las maneras de cómo importar y guardar datos XML en una base de datos SQL. Dando asi, la posibilidad de proporcionar facilidades que permiten a las aplicaciones integrar el uso de XQuery (lenguaje de consulta XML) para acceso concurrente a datos ordinarios SQL y documentos XML. Y posteriormente, se dará la posibilidad de usar la clausula order by. Aunque el boom de la década de los noventa será es el nacimiento del World Wide Web a finales de la década, ya que a través de este se facilitará la consulta a bases de datos.

Actualidad

Durante estos últimos años se ha empezado a extender un tipo de aplicación de las bases de datos denominado Data Warehouse. A lo largo de los años que han trabajado con bases de datos de distintas aplicaciones, las empresas han ido acumulando gran cantidad de datos de todo tipo. Si estos datos se analizan convenientemente pueden dar información valiosa.