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.
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
- Nivel Interno o Físico
- Nivel Conceptual
- 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.
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.
No hay comentarios:
Publicar un comentario