lunes, 4 de marzo de 2013




Identificación y evolución de los modelos de base de datos

Imelda Navarrete Hernández
Samuel Noé Olivares Gaytán
Sandra Janneth Salgado Dimas
Diana Laura Martínez Rueda
Eric Daniel Ponce Zepeda





-




MODELO DE DATOS
Un modelo de datos es un lenguaje orientado a hablar una base de datos, Típicamente un modelo de datos permite describir:
  • Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan.
  • Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar correctamente la realidad deseada.
  • Operaciones de manipulación de los datos: típicamente, operaciones de agregado, borrado, modificación y recuperación de los datos de la base.
Otro enfoque es pensar que un modelo de datos permite describir los elementos de la realidad que intervienen en un problema dado y la forma en que se relacionan esos elementos entre sí.
No hay que perder de vista que una base de datos siempre está orientada a resolver un problema determinado, por lo que los dos enfoques propuestos son necesarios en cualquier desarrollo de software.

Base de datos orientada a objetos

En una base de datos orientada a objetos, la información se representa mediante objetos como los presentes en la programacion orientada a objetosCuando se integra las características de una base de atos con las de un lenguaje de programacion orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, object database management system). Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación en uno o más lenguajes de programación a los que dé soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperación de datos, consultas asociativas y otras capacidades.
Las bases de datos orientadas a objetos se diseñan para trabajar bien en conjunción con lenguajes de programación orientados a objetos como Java, C#, Visual Basic.NET y C++. Los ODBMS usan exactamente el mismo modelo que estos lenguajes de programación.
Los ODBMS son una buena elección para aquellos sistemas que necesitan un buen rendimiento en la manipulación de tipos de dato complejos.
Los ODBMS proporcionan los costes de desarrollo más bajos y el mejor rendimiento cuando se usan objetos gracias a que almacenan objetos en disco y tienen una integración transparente con el programa escrito en un lenguaje de programación orientado a objetos, al almacenar exactamente el modelo de objeto usado a nivel aplicativo, lo que reduce los costes de desarrollo y mantenimiento.

Semántica

El término semántica (del griego semantikos, "lo que tiene significado") se refiere a los aspectos del significado, sentido. o interpretación de signos lingüísticos como símbolos, palabras, expresiones o representaciones formales. En principio cualquier medio de expresión (lenguaje formal o natural) admite una correspondencia entre expresiones de símbolos o palabras y situaciones o conjuntos de cosas que se encuentran en el mundo físico o abstracto que puede ser descrito por dicho medio de expresión.
La semántica puede estudiarse desde diferentes puntos de vista:
  • Semántica lingüística, trata de la codificación y decodificación de los contenidos semánticos en las estructuras lingüísticas.
  • Semántica lógica, desarrolla una serie de problemas lógicos de significación, estudia la relación entre el signo lingüístico y la realidad. Las condiciones necesarias para que un signo pueda aplicarse a un objeto, y las reglas que aseguran una significación exacta.
  • Semántica en ciencias cognitivas, intenta explicar por qué nos comunicamos, y cuál es el mecanismo psíquico que se establece entre hablante y oyente durante este proceso.
·         Niveles de un sgbdEn 1975, el comité ANSI-SPARC (American National Standard Institute -StandardsPlanning and RequirementsCommittee) propuso una arquitectura de tresniveles para los SGBD cuyo objetivo principal era el de separar los programas deaplicación de la BD física. En esta arquitectura el esquema de una BD se define en tresniveles de abstracción distintos:- Nivel interno o físico: el más cercano al almacenamiento físico, es decir, tal y comoestán almacenados en el ordenador. Describe la estructura física de la BD mediante unesquema interno. Este esquema se especifica con un modelo físico y describe los detallesde cómo se almacenan físicamente los datos: los archivos que contienen la información,su organización, los métodos de acceso a los registros, los tipos de registros, la longitud,los campos que los componen, etcétera.- Nivel externo o de visión: es el más cercano a los usuarios, es decir, es donde sedescriben varios esquemas externos o vistas de usuarios. Cada esquema describe laparte de la BD que interesa a un grupo de usuarios en este nivel se representa la visiónindividual de un usuario o de un grupo de usuarios.- Nivel conceptual: describe la estructura de toda la BD para un grupo de usuariosmediante un esquema conceptual. Este esquema describe las entidades, atributos,relaciones, operaciones de los usuarios y restricciones, ocultando los detalles de lasestructuras físicas de almacenamiento. Representa la informacióncontenida en la BD.
·          
·         Tipos de sgbd Clasificación de los SGBDEsta clasificación está basada en el modelo de datos en que está basado el SGBD. Los modelos de datosmás habituales son:* Relacional (SGBDR): representa a la base de datos como una colección de tablas. Estas bases de datossuelen utilizar SQL como lenguaje de consultas de alto nivel.* Orientado a objetos: define a la base de datos en términos de objetos, sus propiedades y sus operaciones.Todos los objetos que tienen la misma estructura y comportamiento pertenecen a una clase y las clases de
·         2. organizan en jerarquías.* Objeto-relacional o relacional extendido: son los sistemas relacionales con características de los orientado aobjetos.* Jerárquico: representa los datos como estructuras jerárquicas de árbol.* En red o CODASYL DBTG.Un SGBD también puede clasificarse por el número de usuario a los que da servicio:* Monousuario* MultiusuarioTambién puede clasificarse según el número de sitios en los que está distribuida la base de datos:* Centralizado: la base de datos y el software SGBD están almacenados en un solo sitio (una solacomputadora).* Distribuido (SGBDD): la base de datos y el software SGBD pueden estar distribuidos en múltiples sitiosconectados por una red.Breve historia de los SGBDREl modelo relacional fue presentado en la década del 70, y a partir de ese momento comenzaron adesarrollarse múltiples sistemas para gestionar las bases de datos relacionales. IBM fue una de las pionerasen el desarrollo de productos comerciales sobre SGBD relacionales; algunos de sus productos fueron elSQL/DS para los entornos DOS/VSE y VM/CMS, y el DB2 para el sistema operativo MVS en 1983.En tanto, INGRES fue otro SGBDR desarrollado por la Universidad de Berkeley a principios de los setenta.Luego se convirtió en comercial y comenzó a ser distribuido por Ingres Inc. y luego por ComputerAssociates.Otras marcas comerciales de SGBDR son Oracle de Oracle Inc., Sybase de Sybase Inc., RDB de DigitalEquipment Corp. de Compaq, INFORMIX de Informix Inc. y UNIFY de UnifyInc.Además de los SGBDR mencionados, en los ochenta aparecen múltiples aplicaciones para PCs como serRIM, RBASE 5000, PARADOX, OS/2 Database Manager, DBase IV, XDB, WAT-COM SQL, SQLServer (deSybase Inc.), SQL Server (de Microsoft), Access, etc.Modelo entidad-relación
         
         
         1.1. Requerimientos del SGBD 
        Antes de instalar cualquier SGBD es necesario conocer los requerimientos de hardware y software, el posible software a desinstalar previamente, verificar el registro de Windows y el entorno del sistema, así como otras características de configuración especializadas como pueden ser la reconfiguración de los servicios TCP/IP y la modificación de los tipos archivos HTML para los diversos navegadores.
         Se presenta a continuación una serie de requerimientos mínimos de hardware y software para instalar oracle 11g Express y MySQL estándar versión 5.1. en Windows Seven y Ubuntu 10.
         1La regla general para determinar el tamaño de la memoria virtual depende del tamaño de memoria RAM instalada. Si su sistema tiene menos de 4 GB de RAM por lo general el espacio de intercambio debe ser de al menos dos veces este tamaño. Si usted tiene más de 8 GB de memoria RAM instalada puede considerar usar el mismo tamaño como espacio de intercambio. Cuanta más memoria RAM tenga instalada, es menos probable usar el espacio de intercambio, a menos que tenga un proceso inadecuado.



ELEMENTOS DEL MODELO RELACIONAL

¿Qué es un Modelo ?.
Cuando en teoría de diseño de bases de datos se emplea el término "modelo" ,
esto no tiene el mismo significado que en Lógica .
En Lógica por "modelo" se entiende una interpretación en la que se satisfacen ( se
evalúan como ciertas ) las fórmulas de una teoría , lo que asegura su consistencia

En Bases de Datos , un Modelo es un formalismo que nos permite representar la
realidad y , más concretamente , aquélla parte de la realidad que nos interesa (
Una Empresa , una Universidad , una Biblioteca , el catálogo de las especies
protegidas en un determinado país... ).
Las partes fundamentales de un Modelo , son :
 Estructura de datos
 Restricciones
•Operadores asociados.
1.2 Estructura de datos en el Modelo Relacional.
El Modelo Relacional fue propuesto por E.Codd en 1970 ( E. Codd era entonces
un investigador del Centro de IBM en San José (California ) y publicó su
propuesta en un artículo fundamental que obtuvo el ACM Award correspondiente
al Congreso VLDB de 1970 ) .
La estructura subyacente básica es la relación , entendida en su acepción
matemática básica : Un subconjunto de un producto cartesiano de conjuntos .
Cuando se pretende describir una parcela de la realidad mediante el formalismo
relacional , el primer paso es discernir los atributos presentes en el problema .
Un atributo es un ítem elemental de información , en el sentido de no poder
desglosarse en componentes más simples.
Los atributos son los nombres que damos a las propiedades de los objetos acerca
de los cuales se va a guardar información .
1Supongamos que se trata de crear una Base de Datos para una Empresa
determinada.
Los datos considerados relevantes por cada empleado , son :
 DNI
 Nombre
 Dirección
 Teléfono
 E-mail
 Puesto
 Antigüedad en la Empresa
 Tipo de salario que se aplica
Estos son por tanto los atributos de empleado relevantes para el problema .
Llamamos dominio al conjunto en el cual un atributo toma sus posibles valores .
En nuestro ejemplo :
Dom (DNI) = { cadenas de caracteres alfanuméricos de 9 elementos }
Dom (Nombre )={ cadenas de caracteres alfabéticos de un número máximo de
elementos }
Dom (Teléfono)={cadenas de caracteres numéricos de 9 elementos}
Etc…….
En un mismo problema no puede haber dos atributos diferentes con el mismo
nombre , pero sí que dos o más atributos diferentes pueden tener dominios
idénticos .
En el ejemplo , cada empleado queda descrito por los correspondientes valores de
los atributos anteriormente enunciados . Cada empleado se corresponde con una
n-tupla de valores y el conjunto de las tuplas correspondientes a todos los
empleados de la Empresa es la relación que podemos denominar “Empleados”
por motivos obvios .
Las relaciones se representan en forma tabular , con las columnas etiquetadas
por los atributos correspondientes .
Al número de columnas se le denomina “grado” u “orden” de la relación y al
número de columnas se le denomina “cardinalidad”.




El ejemplo muestra el contenido de una de las tuplas de la relación “Empleados”.
Esta tupla es un elemento del producto cartesiano de los dominios de los
diferentes atributos , de modo que podemos afirmar:
2Empleados Dom(DNI)xDom(NOMBRE)x…xDom(SALARIO)
Una relación es un subconjunto del producto cartesiano de los dominios de
los atributos sobre los cuales está definida. Sus elementos son las tuplas .

REQUERIMIENTOS PARA UN SGDB
Antes de instalar cualquier SGBD es necesario conocer los requerimientos de hardware y software, el posible software a desinstalar previamente, verificar el registro de Windows y el entorno del sistema, así como otras características de configuración especializadas como pueden ser la reconfiguración de los servicios TCP/IP y la modificación de los tipos archivos HTML para los diversos navegadores.
Se presenta a continuación una serie de requerimientos mínimos de hardware y software para instalar oracle 11g Express y MySQL estándar versión 5.1. en Windows Seven y Ubuntu 10.

NIVELES DE UN SGDB
  1. Nivel Interno o Físico
  2. Nivel Conceptual
  3. Nivel Externo o Lógico
El Nivel Físico se encarga de engranar con el software más interno de cada máquina (Sistema Operativo y Sistema de Gestión de ficheros). El Esquema Interno especifica qué y cómo son almacenados los datos. Describe la estructura de la B.D. en forma de Modelo Conceptual de almacenamiento.

El Nivel Conceptual materializa el lugar donde definir el resultado del diseño de la B.D.. El Esquema Conceptual debe captar y almacenar el “universo del discurso” que describe a la organización o empresa y que es necesaria para su funcionamiento (capacidad semántica) sirve de punto de control para futuros desarrollos de la B.D., aísla la representación de la información de los requerimientos de la máquina y de las exigencias de cada usuario en particular e independiza la definición de la información de los SGPD en concreto.

El Nivel Lógico o externo de descripción, contiene las vistas externas de la B.D. que están asociadas cada una a un Esquema Externo y permite ver a cada tipo de usuario de la B.D. sólo aquella parte del esquema que es de su interés.
De una B.D. se pueden derivar tantas vistas como haga falta. El propósito principal de esta arquitectura a 3 niveles es conseguir que el Esquema Conceptual sea una descripción estable de la organización e independiente de las “vistas” y de la forma de almacenamiento de los datos. De este modo se conseguiría separar los programas de aplicación de la base de datos física.
La mayoría de los SGBD no distinguen del todo los tres niveles. Algunos incluyen detalles del nivel físico en el esquema conceptual. En casi todos los SGBD que manejan vistas de usuario, los esquemas externos se especifican con el mismo modelo de datos que describe la información a nivel conceptual, aunque en algunos se pueden utilizar diferentes modelos de datos en los niveles conceptual y externo.
Hay que destacar que los tres esquemas no son más que descripciones de los mismos datos pero con distintos niveles de abstracción. Los únicos datos que existen realmente están a nivel físico, almacenados en un dispositivo como puede ser un disco. En un SGBD basado en la arquitectura de tres niveles, cada grupo de usuarios hace referencia exclusivamente a su propio esquema externo. Por lo tanto, el SGBD debe transformar cualquier petición expresada en términos de un esquema externo a una petición expresada en términos del esquema conceptual, y luego, a una petición en el esquema interno, que se procesará sobre la base de datos almacenada. Si la petición es de una obtención (consulta) de datos, será preciso modificar el formato de la información extraída de la base de datos almacenada, para que coincida con la vista externa del usuario. El proceso de transformar peticiones y resultados de un nivel a otro se denomina correspondencia o transformación. Estas correspondencias pueden requerir bastante tiempo, por lo que algunos SGBD no cuentan con vistas externas.
·         HERRAMINETAS DE GESTION

Se entiende que las herramientas de gestión son todos los sistemas, aplicaciones, controles, soluciones de cálculo, metodología, etc., que ayudan a la gestión de una empresa en los siguientes aspectos generales.

LENGUAJES QUE SE UTILIZAN EN UN SGDB

Todos los SGBD ofrecen lenguajes e interfaces apropiadas para cada tipo de usuario: administradores,diseñadores, programadores de aplicaciones y usuarios finales. Los lenguajes van a permitir al administrador de la BD especificar los datos que componen la BD, su estructura, las relaciones que existen entre ellos, las reglas de integridad, los controles de acceso, las características de tipo físico y las vistas externas de los usuarios. Los lenguajes del SGBD se clasifican en:
- Lenguaje de definición de datos (LDD o DDL): se utiliza para especificar el esquema de la BD, las vistas de los usuarios y las estructuras de almacenamiento. Es el que define el esquema conceptual y el esquema interno. Lo utilizan los diseñadores y los administradores de la BD.
- Lenguaje de manipulación de datos (LMD o DML): se utilizan para leer y actualizar los datos de la BD. Es el utilizado por los usuarios para realizar consultas, inserciones, eliminaciones y modificaciones. Los hay procedurales, en los que el usuario será normalmente un programador y especifica las operaciones de acceso a los datos llamando a los procedimientos necesarios. Estos lenguajes acceden a un registro y lo procesan. Las sentencias de un LMD procedural están embebidas en un lenguaje de alto nivel llamado anfitrión. Las BD jerárquicas y en red utilizan estos LMD procedurales.
No procedurales son los lenguajes declarativos. En muchos SGBD se pueden introducir interactivamente instrucciones del LMD desde un terminal, también pueden ir embebidas en un lenguaje de programación de alto nivel. Estos lenguajes permiten especificar los datos a obtener en una consulta, o los datos a modificar, mediante sentencias sencillas. Las BD relacionales utilizan lenguajes no procedurales como SQL (Structured Quero Language) o QBE (Query By Example).
- La mayoría de los SGBD comerciales incluyen lenguajes de cuarta generación (4GL) que permiten al usuario desarrollar aplicaciones de forma fácil y rápida, también se les llama herramientas de desarrollo. Ejemplos de esto son las herramientas del SGBD ORACLE: SQL Forms para la generación de formularios de pantalla y para interactuar con los datos; SQL Reports para generar informes de los datos contenidos en la BD; PL/SQL lenguaje para crear procedimientos que interractuen con los datos de la BD.

ARQUITECTURA CLIENTE/SERVIDOR

La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes, Un cliente realiza peticiones a otro programa, el servidor; quien le da respuesta. Esta idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una  red de computadoras.
 En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.
La separación entre cliente y servidor es una separación de tipo lógico, donde el servidor no se ejecuta necesariamente sobre una sola máquina ni es necesariamente un sólo programa. Los tipos específicos de servidores incluyen los servidores web, los servidores de archivo, los servidores del correo, etc. Mientras que sus propósitos varían de unos servicios a otros, la arquitectura básica seguirá siendo la misma.
Una disposición muy común son los sistemas multicapa en los que el servidor se descompone en diferentes programas que pueden ser ejecutados por diferentes  aumentando así el grado de distribución del sistema.
La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico.
La red cliente-servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. Este tipo de red puede utilizarse conjuntamente en caso de que se este utilizando en una red mixta.

BASE DE DATOS DISTRIBUIDA

Una base de datos distribuida (BDD) es un conjunto de múltiples bases de datos lógicamente relacionadas las cuales se encuentran distribuidas en diferentes espacios lógicos (pej. un servidor corriendo 2 máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD tienen la capacidad de realizar procesamiento autónomo, esto permite realizar operaciones locales o distribuidas. Un sistema de Bases de Datos Distribuida (SBDD) es un sistema en el cual múltiples sitios de bases de datos están ligados por un sistema de comunicaciones de tal forma que, un usuario en cualquier sitio puede acceder los datos en cualquier parte de la red exactamente como si estos fueran accedidos de forma local.