sábado, 15 de noviembre de 2014

Sistema Gestor de Bases de Datos - Modelo Entidad Relación

BASE DE DATOS
Es un sistema que almacena datos que están relacionados, un repositorio en donde guardamos información integrada que podemos almacenar y recuperar. Un conjunto de información almacenada en memoria auxiliar que permite acceso directo y un conjunto de programas que manipulan esos datos.

Componentes de una Base de Datos
  • Hardware: constituido por dispositivo de almacenamiento como discos, tambores, cintas, etc.
  • Software: que es el DBMS o Sistema Administrador de Base de Datos.
  • Datos: los cuales están almacenados de acuerdo a la estructura externa y van a ser procesados para convertirse en información.
Tipos de Usuarios en Base de Datos
  • Usuario Final: es la persona que utiliza los datos, esta persona ve datos convertidos en información.
  • Desarrollador de Aplicaciones: es la persona que desarrolla los sistemas que interactúan con la Base de Datos.
  • DBA: es la persona que asegura integridad, consistencia, redundancia, seguridad este es el Administrador de Base de Datos quien sed encarga de realizar el mantenimiento diario o periódico de los datos.
DBMS: Data Management System (Sistema Administrador de Base de Datos)
Los Sistemas Gestores de Bases de Datos son un tipo de software muy específico, dedicado a servir de interfaz entre las bases de datos y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta. En los textos que tratan este tema, o temas relacionados, se mencionan los términos SGBD y DBMS, siendo ambos equivalentes, y acrónimos, respectivamente, de Sistema Gestor de Bases de Datos y DataBase Management System, su expresión inglesa. 

Características y Objetos:
  • Independencia de Datos: el DBMS me provee una independencia de mis datos vs. las aplicaciones.
  • Cambio en datos no implica cambio en programas y viceversa (Menor coste de mantenimiento).
  • Minimizar Redundancia (Datos repetidos): desperdicio de Espacio de Almacenamiento.

Diseño de Base de datos:
En esta etapa se crea un esquema conceptual de la base de datos. Se desarrollan las especificaciones hasta el punto en que puede comenzar la implementación. Durante esta etapa se crean modelos detallados de las vistas de usuario y sobre todo las relaciones entre cada elemento del sistema, documentando los derechos de uso y manipulación de los diferentes grupos de usuarios. Si parte de la información necesaria para crear algún elemento establecido ya se encuentra implementado en otro sistema de almacenamiento hay que documentar que relación existirá entre uno y otro y detallar los sistemas que eviten la duplicidad o incoherencia de los datos.
El diseño consta, como se vio anteriormente, de tres fases: el diseño global o conceptual, el diseño lógico y el modelo físico.
Esta etapa consta de tres fases: diseño conceptual, diseño lógico, diseño físico de la Base de Datos.
La primera fase consiste en la producción de un esquema conceptual que es independiente de todos los consideraciones físicas. Este modelo se refina después en un esquema lógico eliminando las construcciones que no se puede representar en el modelo de Base de Datos escogido (relacional, orientado a objeto, etc.).
En la tercera fase el esquema lógico que traduce un esquema físico para el sistema gestor de Base de Datos escogido. La fase de diseño físico considera las estructuras de almacenamiento y los métodos de acceso necesarios para proporcionar un acceso eficiente a la Base de Datos en memoria secundaria.


MODELO ENTIDAD - RELACIÓN
Las entidades se las representa mediante cajas que se colocan el nombre de la entidad con letras mayúsculas. Las relaciones se representan con líneas que conectan las cajas de las entidades.
Los atributos se incluyen dentro de las cajas de las entidades y se escriben con minúsculas.
  • Modelaje: es el proceso mediante el cual podemos identificar las propiedades dinámicas ó estáticas de un dominio de aplicación con mira a su transformación en un diseño interpretable en un sistema computarizado. Es el plasmar los requerimientos de los usuarios en un programa para poder implementarlo.
  • Entidad: es el objeto sobre el cual se requiere mantener ó almacenar información.
  • Relación: es la asociación significativa y estable entre dos entidades. 
  • Atributo: son las propiedades que describen y califican una entidad. Ejemplo: Entidad cliente(nombre, apellido, dirección, edad, sexo).
Entidades: Se puede considerar entidades a los sujetos, objetos, a los eventos, a los lugares y a los abstracciones.
Relaciones: las relaciones tiene tres propiedades ó características.
  • Grado ó Cardinalidad: que se clasifica en 1 a 1,  1 a N y N a N.
  • Opcionalidad: es la participación obligatoria u opcional en la entidad de la relación.
  • Leyenda: es una expresión que escribe el rol de cada entidad en la relación.
Atributo:
Los atributos son empleados para identificar, describir, calificar ó expresar el estado de una entidad. Todo entidad posee un atributo ó combinación de atributos que se denomina "clave primaria" y que emplea para diferenciar cada instancia de los demás. Adicionalmente los atributos pueden ser obligatorio u opcionales.
  • A los atributos que forman parte de la clave primaria se los identifica anteponiéndoles el signo de numero (#).
  • A los atributos obligatorios les antepone el asterisco (*).
  • A los atributos opcionales se les antepone un circulo (o).
En un diagrama entidad-relación también puede agrupar las entidades en supertipo y en subtipo.
  • Los supertipo agrupa a dos ó más entidades subtipo.
  • Los subtipo heredan los atributos de las entidades supertipo.
  • Cada subtipo puede tener relaciones propias independientes del supertipo.
  • Los subtipos se representan como cajas dibujadas dentro de la caja del supertipo.

Software

El software representa toda la parte inmaterial o intangible que hace funcionar a un ordenador para que realice una serie de tareas específicas, el software engloba a toda la información digital que hace al conjunto de elementos físicos y materiales que componen el computador trabajar de manera inteligente.

Funciones del software:
  • Administrar los recursos de computacionales.
  • Proporcionar las herramientas para optimizar estos recursos.
  • Actuar como intermediario entre el usuario y la información almacenada.
Tipos de Software
  • Software del sistema: Es un conjunto de programas que administran los recursos de la computadora. Ejemplos: Unidad central de proceso, dispositivos de comunicaciones y dispositivos periféricos, el software del sistema administra y controla al acceso del hardware. A su vez el software de sistema  se divide en:
Sistema Operativo: Es un conjunto de programas que administra los recursos de la computadora y   controla su funcionamiento. El sistema operativo realiza 5 funciones básicas las cuales son:
  1. Suministro de Interfaz al Usuario: Permiten al usuario comunicarse con la computadora a través de interfaces que basan en comandos, interfaces que utilizan menús e interfaces gráficas de usuario.
  2. Administración de Recursos: Administra los recursos del hardware.
  3. Administración de Archivos: Controla la creación, borrado, copiado y acceso de archivos de datos.
  4. Administración de Tareas: Administra la información sobre los programas y procesos   que se están   ejecutando en la computadora.
  5. Servicio de Soporte: Consiste en la inclusión de utilidades nuevas, actualización de versiones, mejoras de seguridad, controladores de nuevos periféricos o corrección de errores del software.

Controladores de dispositivos: Son programas que permiten a otros programas de mayor nivel como por ejemplo el Sistema Operativa que interactué con los dispositivos del hardware.

Programas utilitarios: Realizan diversas funciones para resolver problemas específicos además de realizar tareas de mantenimiento.
  • Software de aplicaciones: Programas que son escritos para o por los usuarios para realizar una tarea especifica en la computadora. Ejemplo: software para procesar un texto, para generar una hoja de calculo, el software de aplicación debe estar sobre el software del sistema para poder operar.
  • Software de usuario final: Es el software que permiten el desarrollo de algunas aplicaciones directamente por los usuarios finales, el software del usuario final con frecuencia tiene que trabajar a través del software de aplicación y finalmente a través del software del sistema 
Fases del Desarrollo de Software
  • Planificación: La tarea más importante es la creación de un producto de software es la extracción de los requisitos o las necesidades de análisis. Los clientes suelen tener una idea abstracta de lo que quieren como resultado final, pero no lo que el software debe hacer. Su idea suele ser incompleta, ambigua, cuando no contradictoria.
  • La implementación. Es la parte del procesos en el que los ingenieros de software realmente programan el código para el proyecto.
  • La Comprobación del Software. Es una parte integral e importante del proceso de desarrollo de software. Esta parte del proceso asegura que los defectos se reconocen tan pronto como sea posible.
  • Documentar. El diseño interno de software con el propósito de mantenimiento futuro y la mejora se realiza durante todo el desarrollo. Esto también puede incluir la redacción de una API, ya sea externa o interna. Es muy importante todo lo que se hizo en el proyecto.
  • Despliegue y Mantenimiento. La implementación se inicia después de que el código se prueba de forma adecuada, está aprobado para su liberación y vendidos o distribuidos de otra manera en un entorno de producción. Por otro lado, el mantener y mejorar el software para hacer frente a los problemas recién descubiertos o nuevos requisitos puede tomar mucho más tiempo que el desarrollo inicial del software. Puede ser necesario añadir código que no encaja en el diseño original para corregir un problema imprevisto o puede ser que un cliente solicita una mayor funcionalidad y el código se puede añadir a sus peticiones.