miércoles, 28 de septiembre de 2016

Modelos de datos

Modelos de datos

Una colección de herramientas conceptuales para describir los datos, las relaciones, la semántica y las restricciones de consistencia.

  • Modelo E-R (Entidad-relación)
  • Modelo Relacional
  • Otros modelos de datos

Modelo E-R 

  • Modelo basado e una percepción del mundo real que consta de una colección de objetos básicos, llamados entidades y de relaciones entre estos objetos.
  • Se utiliza habitualmente en el proceso de diseño de bases de datos.

Modelo Relacional:
  • En este modelo se utiliza un grupo de tablas para representar los datos y las relaciones entre ellos. Cada tabla está compuesta por 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.
Otros modelos de datos:
  • El modelo de datos orientada a objetos
    • Se puede observar una extensión del modelo E-R con las nociones de encapsulación, métodos e identidad de objeto.
  • Modelo de datos relacional orientado a objetos
    • Combina las características del modelo de datos orientado a objetos y el modelo de datos relacional.
  • Modelos de datos semiestructurados
    • Permiten la especificación de datos donde los elementos de datos individuales del mismo tipo pueden tener diferentes conjuntos de atributos.
  • Modelo de datos de red y el modelo de datos jerárquico
    • Procedieron al modelo de datos relacional. Estos modelos estuvieron ligados fuertemente a la implementación subyacente y complicaban la tarea del modelado de datos.
Análisis de requerimientos:
  • Requerimientos funcionales
    • ¿Qué debe hacer el sistema?
    • transacciones
  • Requisitos de datos
    • ¿Qué debe almacenar el sistema? (Pensar a futuro)
    • Tipos de datos (según lo que se desea guardar)
    • Esquema de datos
    • Diseño lógico
Entidad: Un objeto que existe y es distinguible de algún tipo.
Conjunto de entidades: 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.

Diagrama Entidad-Relación: Permite describir un esquema de base de datos.
  • Entidades: Se representan con rectángulos.
  • Atributos: Se representan con óvalos.
  • Relaciones: Se representan con rombos.
  • Líneas: Enlazan atributos con entidades o entidades con relaciones.

Resultado de imagen para ejemplo Diagrama Entidad-Relación:

Tipos de atributos
  • Atómicos
  • Compuestos
  • Valores
    • Monovaluados (Fecha de nacimiento)
    • Multivaluados (Teléfonos)
  • Almacenados o derivados (Edad de una persona es derivado de la fecha de nacimiento)
  • Posiblemente nulos (cuando un atributo se puede dejar en blanco)
  • Claves (Localizan una entidad y son únicos)
Relaciones
  • Tipo de relación (Ej.: es_jefe_de)
  • Instancia de la relación (Ej.: Juan es_jefe_de Pedro)
  • Grado de una relación
    • Número de entidades que participan
    • Binario, terciario, etc.
  • Cardinalidades
    • Número de instancias de cada unidad.
Cardinalidad de una relación:

Resultado de imagen para cardinalidad de una relación

lunes, 26 de septiembre de 2016

Independencia de datos

Independencia Física de datos:

El esquema conceptual no es afectado por cambios al esquema físico de datos.

Independencia Lógica de datos:

El esquema externo no es afectado por cambios al esquema conceptual.

Independencia de datos:

  • Independencia lógica de datos:
    • Agregar más columnas no afecta las vistas.
    • Modificar columnas solo 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.
Transacciones:

Ejecución de una serie de sentencias como si fueran una sola, resultando en un cambio consistente de los datos.
Proporciona flexibilidad y control cuando los datos cambian y asegura la consistencia de los datos en el caso de fallo.


Transacciones (A.C.I.D)
  • Atomicidad
    • Se ejecuta toda la transacción o nada.
  • Consistencia
      • Antes y después de la transacción la base de datos está consistente.
    • Isolation (Aislamiento)
      • Cada transacción debe aparecer como algo separado de otras transacciones.
    • Durabilidad
      • Una vez hecha la transacción, ésta es durable.
    Administrador base de datos:
    • Administración de datos
      • Planificación de la base de datos.
      • Desarrollo de estándares
      • 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?
    Desarrollador de aplicaciones
    Usuarios Finales

    Claves para el futuro:
    • Personal, administradores de bases de datos:
      • Funciones más especialidades.
      • formación continua.
      • Mayor conocimiento de los SO
      • Mayor automatización de las funciones de administración
      • Internet
      • Métricas de productividad y calidad de servicio
    Lenguajes:
    • Según área
      • Vistas, definición de datos, manipulación de datos, etc.
    • Según nivel:
      • Alto nivel: no procedimientos.
      • Bajo nivel: procedimientos.
    Interfaces de Usuario:
    • Intérprete de comandos.
    • Formularios.
    • Interfaces gráficas
      • Interfaces parametrizadas
      • Web
    • Interfaces en lenguaje natural

    miércoles, 21 de septiembre de 2016

    Sistema de Gestión de archivos

    Sistema de Gestión de archivos

    • Objetivos: 
      • Optimizar rendimiento.
      • Minimizar posibilidad de pérdida.
      • Cumplir con las necesidades de gestión de datos.
    • Funciones:
      • Identifica y ubica archivos.
      • utiliza directorios que describen la ubicación de archivos.
      • Los sistemas compartidos aplican a algún control de acceso.
      • La entrada y salida se lleva a cabo por bloques.
      • Asigna los archivos a los bloques disponibles.
      • Gestiona el espacio libre.
    ¿Por qué no usar archivos?
    • No hay como:
      • Buscar rápidamente.
      • Modificar fragmentos pequeños.
      • Hacer consultas complejas.
      • Modificar varios archivos a la vez.
    • Falta de flexibilidad.
    • No hay restricciones de integridad.
    • No es eficiente consultar partes pequeñas de los archivos sin leerlos completos en memoria.
    Tipos de archivos: Archivos de pila, archivo secuencial, archivo secuencial indexada.

    Sistema gestor de base de datos:

    Es un sistema de software que permite a sus usuarios crear, mantener y controlar el acceso a una base de datos

    Base de datos: Colección de datos relacionados con las siguientes características.
    • Datos auto descriptivos.
    • Independencia de datos.
    • Múltiples vistas de los datos.
    • Compartir datos.
    • Transacciones multiusuario.
    • Desarrollar programas en menos tiempo.
    Componentes básicos:

    Resultado de imagen para usuario sgbd manejador de archivos

    Objetivos SGBD:
    • Crear bases de datos y esquemas.
    • Preguntar sobre los datos.
    • Almacenar los datos de forma persistente.
    • Controlar el acceso de múltiples usuarios.
    Usos de SGBD: El sistema gestor de base de datos tiene muchos usos pero algunos ejemplos son: Inventario, reservas, compras, seguimiento, logística, transporte, etc.

    Usos avanzados:
    • Sistemas de información geográfica.
    • Bases de datos multimedia (video, música, sonido, fotografías).
    • Sistemas de proceso analítico online.
    • Bases de datos distribuidas.
    Utilidades:
    • Importar, exportar datos.
    • Copia de respaldo
    • Reorganización de archivos.
    Ventajas de las bases de datos:
    • Concurrencia (Cantidad de usuarios accediendo al mismo tiempo).
    • Consistencia (Datos correctos, que muestre lo que se quiere mostrar, que guarde lo que se quiere guardar). 
    • Control de redundancia (los datos no deben estar repetidos).
    • Almacenamiento persistente de objetos.
    • Independencia de los datos (Los datos no pueden depender de Software ni de Hardware).
    • Múltiples interfaces.
    • Relaciones complejas entre datos.
    • Restricciones de integridad.
    • Restricciones de accesos.
    • Copias de seguridad y recuperación.
    ¿Cuando no se debe usar bases de datos relacionales?
    • Problemas muy simples.
    • Las bases de datos agregan costos.
    • Genera tiempo para ejecución.
    Arquitectura General de una Base de datos:

    Comprende tres niveles, físico o interno, conceptual o lógico (Diseño de la base de datos) y nivel de vistas o externo.

    Resultado de imagen para niveles base de datos

    • Nivel interno: Estructura física de almacenamiento y se detallan los de talles de como se utilizará el SGBD.
    • Nivel conceptual: Estructura lógica de almacenamiento, diseño conceptual de la base de datos y este diseño debe reflejar el problema a modelar.
    • Nivel Externo: Nivel de vistas sobre las tablas, la idea de aquí es el acceso parcial a los datos, también el objetivo de los datos según el usuario.
    Tarea de la base de datos:
    • Mantener la coherencia entre los esquemas.
    • Mantener la independencia entre los datos, el modelo no puede depender ni de Software ni de Hardware.
      • Independencia física: el esquema conceptual (diseño) no puede ser afectado por cambios al esquema físico.
      • Independencia lógica de datos: algunos elementos del esquema externo no son afectados por cambios al esquema conceptual, ejemplo: se tiene una tabla de clientes y saldos, con diferentes vistas según el usuario, al venir un nuevo requerimiento no puede dejar de operar el software.

    domingo, 18 de septiembre de 2016

    Modelos de Base de datos:

    Modelo Jerárquico:

    Modelo que se caracteriza por almacenar la información de forma jerárquica, en donde el dato de una escala mayor considerado como nodo padre, puede tener varios hijos, sin embargo éstos solo pueden tener un nodo padre.
    Ya que la estructura es estable y el rendimiento es bueno, se usa a este modelo cuando existe una gran cantidad de información por almacenar.
    Resultado de imagen para modelo jerarquico

    Modelo en red:

    Modelo en el cual sus registros se relacionan entre sí por medio de enlaces, a diferencia del modelo jerárquico, este modelo permite la relación de un nodo hijo, con uno o más nodos padres eliminando así la posible redundancia de datos.
    Administrar el modelo de red, con sus respectivos nodos genera una dificultad significativa por lo que este modelo es usado por programadores y no mucho por usuarios.




    Modelo relacional:

    Modelo útil para administrar datos de manera dinámica, la información se comunica entre sí por medio de “relaciones”.      

    Resultado de imagen para modelo relacional base de datos

    Modelo transaccional:

    Modelo en el cual el único fin u objetivo es enviar y recibir información rápidamente, la redundancia de datos no es un problema en este modelo a diferencia de los demás.


    Resultado de imagen para modelo transaccional base de datos

    Principales productos DBMS en el mercado:
    Oracle:
    • Permite gestionar grandes bases de datos
    • Los usuarios son muy concurrentes
    • Seguro, portable y con alta compatibilidad
    • Alto rendimiento

    MySQL:
    • Proyecto de base de datos de código abierto.
    • Alto rendimiento
    • Seguro, portable.
    • Permite agrupar transacciones para incrementar el número de transacciones por segundo.

    Informix:
    • Intuitivo por sus herramientas gráficas
    • Uso de memoria bajo
    • Gestión de varias bases de datos desde una sola consola
    • Multiplataforma

    Postgresql:
    • Proyecto de base de datos de código abierto.
    • Administración simple
    • Multiplataforma y soporte empresarial disponible
    • Estable y confiable
    Productos DBMS más utilizados:

    Ranking de los productos DBMS más utilizados según db-engines.com (Actualizado en Septiembre 2016).


    Conclusiones:
    • Existen varios modelos para la creación de bases de datos, cada modelo tiene sus respectivas ventajas y sobretodo sus respectivos enfoques.
    • Hay una gran cantidad de modelos de bases de datos, esto ayuda a los usuarios a tener varias opciones el momento de elegir el enfoque de su base de datos.
    • El mercado actual genera competencia entre los diferentes productos DBMS, lo que los impulsa a mejora, ofreciendo así productos muy buenos a sus usuarios.
    • El estudio de los modelos de bases de datos es útil con el objetivo de poder escoger un modelo según el enfoque que nosotros necesitemos para la base de datos.



    Referencias Bibliográficas:


       Date, C.J.. (2001). Panorama general de la administración de base de datos. En Introducción a los sistemas de bases de datos(pp 25-27). México: Pearson Educación.
       Base de datos. (2016, 10 de septiembre). Wikipedia, La enciclopedia libre. Fecha de consulta: 17:38, septiembre 18, 2016 desdehttps://es.wikipedia.org/w/index.php?title=Base_de_datos&oldid=93520499.
       DB-Engines Ranking. (2016, 1 de septiembre). DB-Engines. Fecha de consulta: 13:18, septiembre 18, 2016 desde http://db-engines.com/en/ranking




    Bases de datos relacionales


    Resultado de imagen para bases de datos relacionales

    Una base de datos es una colección de datos ordenados de forma estructurada y organizada, que se caracteriza por tener su información relacionada entre sí evitando la redundancia de datos. Por ejemplo en una base de datos de una Universidad que debe tener la información de estudiantes en diferentes áreas o departamentos se debe omitir datos repetidos, como el nombre, dirección o carrera, pero se deben relacionar estos datos en diferentes áreas mediante un dato único como la matrícula.

    Debe permitir a múltiples usuarios utilizar varias veces, y de manera simultánea a los datos y también se debe evitar la inconsistencia de datos, con el objetivo de dar estabilidad y coherencia a los datos almacenados.

    Historia

    Las bases de datos nacen a partir de la necesidad de mantener información almacenada, se puede decir que su inicio electrónico se inició con las tarjetas perforadas, que permitían ingresar información a través de patrones definidos, esto dio paso a la creación de muchas maneras mas de almacenar datos.

    Resultado de imagen para tarjetas perforadas


    El primer ingeniero estadístico de la historia Herman Hollerith se dio cuenta que las preguntas de los censos de un determinado país se pueden responder con un "si" o con un "no", a partir de eso creó la máquina tabuladora de Hollerith, el Gobierno de Estados Unidos eligió esta máquina para hacer el censo, se demoraron solo 3 años en perforar 56 millones de tarjetas y los resultados se dieron en 7 años.


    Resultado de imagen para maquina tabuladora de hollerith

    En 1950 se creó una nueva forma de almacenar datos, a partir de "Cintas magnéticas" el problema de este tipo de almacenamiento es que la información solo podía ser accedida de manera secuencial.


    Resultado de imagen para cintas magneticas 1950

    En 1960 se empezó a utilizar los disco físicos que darían inicio a las bases de datos que conocemos actualmente, la mayor diferencia es que se podía acceder a la información sin la necesidad de saber la dirección exacta de los datos.


    En 1970 Edgar Frank Codd definió el modelo relacional aportando así a la teoría de bases de datos, a partir de este trabajo, Larry Ellison desarrolló el Relational Software System actualmente conocido como Oracle Corporation desarrollando un sistema de base de datos con ese mismo nombre.


    Resultado de imagen para Edgar Frank Codd


    Referencias Bibliográficas:

    ·         Baez T. & Ávila S. (2016). Historia de las Bases de Datos. Septiembre 18, 2016, de Dry Valley Computer Sitio web: http://dryvalleycomputer.com/index.php/bases-de-datos/introduccion/45-historia-de-las-bases-de-datos
    ·         Herman Hollerith. (2016, 16 de septiembre). Wikipedia, La enciclopedia libre. Fecha de consulta: 21:45, septiembre 18, 2016 desdehttps://es.wikipedia.org/w/index.php?title=Herman_Hollerith&oldid=93662995.

    ·         Edgar Frank Codd. (2016, 16 de septiembre). Wikipedia, La enciclopedia libre. Fecha de consulta: 21:46, septiembre 18, 2016 desdehttps://es.wikipedia.org/w/index.php?title=Edgar_Frank_Codd&oldid=93640696.