Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Base de datos (página 2)




Enviado por Ivan Luis Leiva G.



Partes: 1, 2, 3

Siglo XXI: actualmente las bases de datos
tienen una amplia capacidad de almacenamiento y
están orientadas a que cumplan con el protocolo
OAI-PMH, los cuales permiten el almacenamiento de gran cantidad
de datos que tengan
mayor visibilidad y fácil acceso.

Monografias.com

Base de datos y
sistema de gestión de base de datos

  • BASE DE DATOS

DEFINICION:

Son un conjunto de información relevante organizada de forma
sistemática que representan entidades y sus
interrelaciones, los datos almacenados pueden ser de diversa
índole, generalmente está estructurada por tablas y
estas a su vez por campos y registros,
además contiene procedimientos
necesarios para la
administración de los datos (Triggers, StoreProcedure,
etc.). Las bases de datos son importantes para la toma de
decisiones y para ejercer acciones,
actualmente se pueden considerar a los programas
informáticos como entes que manipulan datos (Sistemas
operativos, sgbd, etc.), otras definiciones:

  • Una base
    de datos se puede definir como un conjunto de información
    relacionada que se encuentra agrupada ó
    estructurada.

  • Un sistema de base de datos es una colección de
    archivos interrelacionados.

Monografias.com

Modelado de Base de datos,
mediante el modelo E-R

  • SISTEMA DE GESTION DE BASE DE DATOS (SGDB)

Un sistema de
gestión
de base de datos se puede definir como un conjunto de datos
interrelacionados y los programas necesarios para acceder y
manipularlos, cuyo objetivo
principal es almacenar y recuperar la información de una
base de datos de manera que sea fácil y eficiente a la
vez.

CARACTERISTICAS

Los SGBD tienen las siguientes mínimas
características:

  • Acceso a través de lenguajes de programación
    estándar.

  • Acceso por parte de múltiples usuarios.

  • Integridad de los datos.

  • Respaldo y recuperación (Backup).

  • Redundancia mínima.

  • Claves de seguridad, entre otras.

Aplicación de
los sistemas de base de datos

Los sistemas de base
de datos son ampliamente usados, especialmente en las
universidades, centros de investigación, banca de seguros,
líneas aéreas, telecomunicaciones, recursos
humanos, tiendas, supermercados, etc.

Como se puede observar, las base de datos forman parte
importante de la mayoría de empresas
actuales, las personas o usuarios no son consientes de su uso
debido a las interfaces, pero en el desarrollo
diario de los quehaceres estas ocupan los principales planos, de
hecho las base de datos forman parte de la vida de las
personas.

SGBD MÁS USADOS

Entre los sistemas gestores de base de datos más
usados, tenemos entre otros de acuerdo al tipo de licencia,
Libres:

  • MySQL: Perteneciente a Sun Microsystems (también
    existe una versión no libre y más
    completa).

  • Postgresql.

  • Open Office Database: De Sun Microsystems.

  • SQLite: Con licencia GPL, entre otros.

Privativos

  • Oracle Database: Perteneciente a Oracle Corporation.

  • Fox Pro.

  • Magic.

  • Microsoft SQL sever.

  • Microsoft Access.

  • ADABAS: Perteneciente a IBM.

  • Paradox.

  • Sybase ASE, y Sybase ASA, entre otros.

A continuación se muestra algunas
comparaciones entre los principales SGBD:

Soporte del Sistema
operativo:

Monografias.com

Objetos:

Monografias.com

Monografias.com

Monografias.com

Modelos de
datos

Los modelos de
datos son una herramienta de abstracción que permiten
representar la realidad captando su semántica. Podemos clasificar a los modelos
de datos considerando diversos puntos, así tenemos:

De acuerdo a las categorías:

  • Modelos débilmente tipados: No es obligatorio que
    los daros pertenezcan a categorías, sino pueden
    existir por si mismos.

  • Modelos estrictamente tipados: Los datos obligatoriamente
    deben pertenecer a alguna categoría

En las base de datos se usan los modelos estrictamente
tipados, dado que permiten manejar una gran cantidad de datos al
agruparlos en categorías.

De acuerdo al nivel de abstracción:

  • Modelos conceptuales.

  • Modelos lógicos.

  • Modelos físicos.

En las base de datos se usan los modelos lógicos, donde
el principal modelo que se usa es el de
Entidad-Relación.

TIPOS DE ABSTRACCIÓN PARA EL DISEÑO DE BASE DE
DATOS

El proceso de
abstracción nos ayuda a modelar el mundo real, al hacer
que nos centremos en lo verdaderamente importa, en el diseño
de base de datos se utilizan cuatro tipos de abstracciones los
cuales son: Asociación,
generalización, agregación y
clasificación. Los cuales se aplican sólo o
combinados, a continuación se define cada tipo de
abstracción en el siguiente esquema, que trata de
representar las partes más importantes del objeto
"Bus", como son el
número de placa, la color, el numero
de llantas, etc. En una entidad llama Entidad_Bus y cuyas
características son los atributos.

Monografias.com

La abstracción nos ayuda a concentrarnos en lo que
verdaderamente importa.

Los tipos de abstracción y su respectivo contravalor se
definen a continuación en el siguiente diagrama:

Monografias.com

Definición

Un diagrama o modelo entidad-relación (a veces
denominado por su siglas, E-R) es una herramienta para
el modelado de datos de un sistema de
información. Estos modelos expresan entidades
relevantes para un sistema de información, sus
inter-relaciones y propiedades. En este modelo pueden
distinguirse los siguientes elementos:

  • a) ENTIDAD.

Se puede definir una entidad como cualquier objeto (real
o abstracto) que exista en la realidad y acerca del cual queremos
almacenar información en la base de datos.

O también representa una cosa u objeto del mundo
real con existencia independiente, es decir, se diferencia
unívocamente de cualquier otro objeto o cosa, incluso
siendo del mismo tipo. Presentamos un modelo:

Monografias.com

  • b) INTERRELACIÓN.

Entendemos por interrelación una
asociación, vinculación o correspondencia entre
entidades. Denominaremos tipo de interrelación a la
estructura
genérica que describe un conjunto de relaciones.
Presentamos un modelo:

Monografias.com

Las distintas propiedades o características de un
tipo de entidad o de interrelación toman valores para
cada ejemplar de estas. El conjunto de posibles valores que puede
tomar una cierta característica se denomina dominio. Se
denomina dominio como un conjunto de valores homogéneos
con un nombre.

  • d) ATRIBUTO.

Cada una de las propiedades o características que
tiene un tipo de entidad o un tipo de interrelación se
denomina atributo, los atributos toman valores de una o varios
dominios, por tanto vale decir que el atributo le da una
determinada interpretación al dominio.

  • 1. RESTRICCIONES:

Son reglas que deben mantener los datos almacenados en
la base de datos.

  • a) Correspondencia de
    cardinalidades.

Dado un conjunto de relaciones en el que participan dos
o más conjuntos de
entidades, la correspondencia de cardinalidad indica el
número de entidades con las que puede estar relacionada
una entidad dada.

Dado un conjunto de relaciones binarias y los conjuntos
de entidades A y B, la correspondencia de cardinalidades puede
ser:

  • Uno a uno: Una entidad de A se relaciona
    únicamente con una entidad en B y
    viceversa.

Monografias.com

  • Uno a varios: Una entidad en A se relaciona
    con cero o muchas entidades en B. Pero una entidad en B se
    relaciona con una única entidad en A.

Monografias.com

  • Varios a uno: Una entidad en A se relaciona
    exclusivamente con una entidad en B. Pero una entidad en B se
    puede relacionar con 0 o muchas entidades en A.

Monografias.com

  • Varios a varios: Una entidad en A se puede
    relacionar con 0 o muchas entidades en B y
    viceversa.

Monografias.com

  • b) Restricciones de
    participación.

Dado un conjunto de relaciones R en el cual participa un
conjunto de entidades A, dicha participación puede ser de
dos tipos:

  • Total: Cuando cada entidad en A participa en
    al menos una relación de R.

  • Parcial: Cuando al menos una entidad en A NO
    participa en alguna relación de R

  • c) Claves.

Es un subconjunto del conjunto de atributos comunes en
una colección de entidades, que permite identificar
unívocamente cada una de las entidades pertenecientes a
dicha colección. Asimismo, permiten distinguir entre
sí las relaciones de un conjunto de relaciones.

Dentro de los conjuntos de entidades existen los
siguientes tipos de claves:

  • Superclave: Es un subconjunto de atributos
    que permite distinguir unívocamente cada una de las
    entidades de un conjunto de entidades. Si otro atributo unido
    al anterior subconjunto, el resultado seguirá siendo
    una superclave.

  • Clave candidata: Dada una superclave, si
    ésta deja de serlo removiendo únicamente uno de
    los atributos que la componen, entonces ésta es una
    clave candidata.

  • Clave primaria: Es una clave candidata,
    elegida por el diseñador de la base de datos, para
    identificar unívocamente las entidades en un conjunto
    de entidades.

Diagrama
entidad-relación

La estructura lógica
general de una base de datos se puede expresar
gráficamente mediante un diagrama E-R. Los diagramas son
simples y claros, cualidades que pueden ser responsables del
amplio uso del modelo E-R. Tal diagrama consta de los siguientes
componentes principales:

  • a) Rectángulos, que representan
    conjuntos de entidades.

  • b) Elipses, que representan
    atributos

  • c) Rombos, que representan
    relaciones.

  • d) Líneas, que unen atributos a
    conjuntos de entidades y conjuntos de entidades a conjuntos
    de relaciones.

  • e) Elipses dobles, que representan
    atributos multivalorados.

  • f) Elipses discontinuas, que denotan
    atributos derivados.

  • g) Líneas dobles, que indican
    participación total de una entidad en un conjunto de
    relaciones.

  • h) Rectángulos dobles, que
    representan conjuntos de entidades débiles

Como ejemplo ilustrativo mostramos un
diagrama:

Monografias.com

MODELO RELACIONAL

Estructura de base de
datos relacionales

Una base de datos relacional consiste en un conjunto de
tablas, a cada una de las cuales se le asigna un nombre
exclusivo.

Cada fila de la tabla representa una relación
entre un conjunto de valores. Dado que cada tabla es un conjunto
de dichas relaciones, hay una fuerte correspondencia entre el
concepto de
tabla y el concepto matemático de relación, del que
toma su nombre el modelo de datos relacional.

BASE DE DATOS
RELACIONALES

Una base de datos relacional es un repositorio
compartido de datos. Para hacer disponibles los datos de una base
de datos relacional a los usuarios hay que considerar varios
aspectos. Uno es la forma en que los usuarios solicitan los
datos: ¿cuáles son los diferentes lenguajes de
consulta que usan?

  • 1. CARACTERÍSTICAS:

Presentamos las siguientes
características:

  • Una base de datos relacional se compone de varias
    tablas o relaciones.

  • No pueden existir dos tablas con el mismo
    nombre.

  • Cada tabla es a su vez un conjunto de registros,
    filas o tuplas.

  • Cada registro representa un objeto del mundo
    real.

  • Cada una de estos registros consta de varias
    columnas, campos o atributos.

  • No pueden existir dos columnas con el mismo nombre
    en una misma tabla.

  • Los valores almacenados en una columna deben ser del
    mismo tipo de dato.

  • Todas las filas de una misma tabla poseen el mismo
    número de columnas.

  • No se considera el orden en que se almacenan los
    registros en las tablas.

  • No se considera el orden en que se almacenan las
    tablas en la base de datos.

  • La información puede ser recuperada o
    almacenada por medio de sentencias llamadas
    consultas.

  • 2. ESTRUCTURA:

La base de datos se organiza en dos marcadas secciones;
el esquema y los datos (o instancia). El esquema es la
definición de la estructura de la base de datos y
principalmente almacena los siguientes datos:

  • El nombre de cada tabla

  • El nombre de cada campo

  • El tipo de dato de cada campo

  • La tabla a la que pertenece cada campo

Las bases de datos relacionales pasan por un proceso al
que se le conoce como normalización, el resultado de dicho
proceso es un esquema que permite que la base de datos sea usada
de manera óptima. Los datos o instancia es el contenido de
la base de datos en un momento dado. Es en si, el contenido de
todos los registros.

  • 3. VENTAJAS Y DESVENTAJAS:

  • Ventajas

  • Provee herramientas que garantizan evitar la
    duplicidad de registros.

  • Garantiza la integridad referencial, así, al
    eliminar un registro elimina todos los registros relacionados
    dependientes.

  • Favorece la normalización por ser más
    comprensible y aplicable.

  • Desventajas

  • Presentan deficiencias con datos gráficos,
    multimedia, CAD y sistemas de información
    geográfica.

  • No se manipulan de forma manejable los bloques de
    texto como tipo de dato.

SQL (LENGUAJE
ESTRUCTURADO DE CONSULTAS)

Monografias.com

El SQL es
el lenguaje
estándar ANSI/ISO de
definición, manipulación y control de bases
de datos relacionales. Es un lenguaje declarativo: sólo
hay que indicar qué se quiere hacer. En cambio, en los
lenguajes procedimentales es necesario especificar cómo
hay que hacer cualquier acción
sobre la base de datos. El SQL es un lenguaje muy parecido al
lenguaje natural; concretamente, se parece al inglés,
y es muy expresivo. Por estas razones, y como lenguaje
estándar, el SQL es un lenguaje con el que se puede
acceder a todos los sistemas relacionales comerciales. Una de sus
principales características es el manejo del algebra y el
cálculo
relacional que permiten efectuar consultas con el fin de
recuperar de una forma sencilla información de interés de
una base de datos, así como también hacer cambios
sobre ella.

El modelo relacional tiene como estructura de
almacenamiento de los datos las relaciones. La intensión o
esquema de una relación consiste en el nombre que hemos
dado a la relación y un conjunto de atributos. La
extensión de una relación es un conjunto de Tuplas,
trabajar con SQL esta nomenclatura
cambia es decir:

  • Hablaremos de tablas en lugar de
    relaciones.

  • Hablaremos de columnas en lugar de
    atributos.

  • Hablaremos de filas en lugar de tuplas.

Orígenes y
evolución

En 1970 E. F. Codd propone el modelo relacional y
asociado a este un sublenguaje de acceso a los datos basado en el
cálculo de predicados. Basándose en estas ideas,
los laboratorios de IBM definen el lenguaje SEQUEL (Structured
English Query Language) que más tarde sería
ampliamente implementado por el SGBD (Sistemas Gestores de Bases
de Datos) experimental System R, desarrollado en 1977
también por IBM. Sin embargo, fue Oracle quien
lo introdujo por primera vez en 1979 en un programa
comercial. El SEQUEL terminaría siendo el predecesor de
SQL, siendo éste una versión evolucionada
del primero. El SQL pasa a ser el lenguaje por excelencia
de los diversos SGBD relacionales surgidos en los años
siguientes y es por fin estandarizado en 1986 por el ANSI, dando
lugar a la primera versión estándar de este
lenguaje, el "SQL-86" o "SQL1". Al año siguiente este
estándar es también adoptado por la ISO. En la
actualidad el SQL es el estándar de facto de la
inmensa mayoría de los SGBD comerciales. Y, aunque la
diversidad de añadidos particulares que incluyen las
distintas implementaciones comerciales del lenguaje es amplia, el
soporte al estándar SQL-92 es general y muy
amplio.

CARACTERISTICAS PRINCIPALES

El SQL es un lenguaje de acceso a bases de datos que
explota la flexibilidad y potencia de los
sistemas relacionales permitiendo gran variedad de operaciones en
éstos últimos. Es un lenguaje declarativo de "alto
nivel" o "de no procedimiento",
que gracias a su fuerte base teórica y su
orientación al manejo de conjuntos de registros, y no a
registros individuales, permite una alta productividad en
codificación y la orientación a
objetos. De esta forma una sola sentencia puede equivaler a uno o
más programas que utilizas en un lenguaje de bajo nivel
orientado a registro.

La estructura básica de SQL consiste en tres
clausulas, select, from y where, de las cuales se define
brevemente:

  • SELECT: corresponde a la operación
    proyección del algebra relacional, y se usa
    para mostrar los atributos deseados de una
    consulta.

  • FROM: corresponde a la
    operación producto cartesiano del algebra
    relacional Lista las relaciones que deben ser analizadas en
    la evaluación

  • WHERE: corresponde al predicado
    selección del algebra relacional, es un
    predicado que engloba a los atributos de las relaciones que
    aparecen en la clausula from.

Monografias.com

Además SQL permite hacer las siguientes
operaciones:

  • Operación De Renombramiento: SQL proporciona
    un mecanismo para renombrar tanto relaciones como atributos.
    Para ello utiliza la cláusula as, que tiene la
    forma siguiente: nombre-antiguo as nombre-nuevo

  • Operación Sobre Cadenas: La
    operación más usada sobre cadenas es el encaje
    de patrones, para el que se usa el operador
    like.

  • Orden En La Presentación: SQL
    ofrece al usuario cierto control sobre el orden en el cual se
    presentan las tuplas de una relación. La
    cláusula order by hace que las tuplas
    resultantes de una consulta se presenten en un cierto
    orden.

SENTENCIAS PARA DEFINICION DE DATOS

  • CREATE: Este comando crea un objeto dentro de
    la base de datos. Puede ser una tabla, vista, índice,
    trigger, función, procedimiento o cualquier otro
    objeto que el motor de la base de datos soporte.

Monografias.com

  • ALTER: Este comando permite modificar la
    estructura de un objeto. Se pueden agregar/quitar campos a
    una tabla, modificar el tipo de un campo, agregar/quitar
    índices a una tabla, modificar un trigger,
    etc.

  • DROP: Este comando elimina un objeto de la
    base de datos. Puede ser una tabla, vista, índice,
    trigger, función, procedimiento o cualquier otro
    objeto que el motor de la base de datos soporte. Se puede
    combinar con la sentencia ALTER.

  • TRÚNCATE: Este comando trunca todo el
    contenido de una tabla. La ventaja sobre el comando DELETE,
    es que si se quiere borrar todo el contenido de la tabla, es
    mucho más rápido, especialmente si la tabla es
    muy grande, la desventaja es que TRUNCATE solo sirve cuando
    se quiere eliminar absolutamente todos los registros, ya que
    no se permite la cláusula WHERE.

Monografias.com

SENTENCIAS PARA LA MANIPULACIÓN DE
DATOS

Una vez creada la base de datos con sus tablas, debemos
poder
insertar, modificar y borrar los valores de
las filas de las tablas. Para poder hacer esto, el SQL nos ofrece
las siguientes sentencias: INSERT para insertar,
UPDATE para modificar y DELETE para
borrar.

Monografias.com

  • INSERT: Una sentencia INSERT de SQL
    agrega uno o más registros a una (y sólo una)
    tabla en una base de datos relacional.

  • UPDATE: Una sentencia UPDATE de SQL es
    utilizada para modificar los valores de un conjunto de
    registros existentes en una tabla.

  • DELETE: Una sentencia
    DELETE de SQL borra cero o más
    registros existentes en una tabla,

VISTAS

Una vista en SQL se define utilizando la orden
"create view". Para definir una vista se le debe dar un
nombre y se debe construir la consulta que genere dicha vista. La
forma de la orden create view es la siguiente:

create view v as expresión
de consulta

TRANSACCIONES

Una transacción es parte de las sentencias de
control y consiste en una secuencia de instrucciones de consulta
y actualizaciones. La norma SQL especifica que una
transacción comienza implícitamente cuando se
ejecuta una instrucción SQL. Una de las siguientes
instrucciones SQL debe finalizar la
transacción:

  • Commit work compromete la transacción
    actual; es decir, hace que los cambios realizados por la
    transacción sean permanentes en la base de
    datos.

  • Rollback work causa el retroceso de la
    transacción actual; es decir, deshace todas las
    actualizaciones realizadas por las instrucciones SQL de la
    transacción; así, el estado de la base de datos
    se restaura al que existía previo a la
    ejecución de la transacción.

TIPOS DE DATOS EN SQL

Luego de crear una Base de Datos, para crear las tablas,
sin embargo, se deben definir previamente los tipos de datos
que serán definidos para cada columna. Un tipo de dato es
un atributo que especifica cómo serán los datos que
pueden ser almacenados en una columna, parámetro, o
variable.

  • A. PROVISTOS POR EL SISTEMA:

Monografias.com

Monografias.com

Monografias.com

Para definir mejor los tipos de datos
consideramos:

  • char (n) es una cadena de caracteres
    de longitud fija, con una longitud n especificada
    por el usuario. También se puede utilizar la palabra
    completa character.

  • varchar (n) es una cadena de
    caracteres de longitud variable, con una longitud n
    especificada por el usuario. También se puede utilizar
    la forma completa character varying.

  • int es un entero (un subconjunto finito de
    los enteros, que es dependiente de la máquina).
    También se puede usar la palabra completa
    integer.

  • smallint es un entero pequeño (un
    subconjunto del dominio de los enteros, también
    dependiente de la máquina).

  • numeric (p,d) es un
    número en coma flotante, cuya precisión la
    especifica el usuario. El número está formado
    por p dígitos (más el signo), y de
    esos p dígitos, d pertenecen a la
    parte decimal. Así, numeric (3,1) permite que
    el número 44,5 se almacene exactamente, mientras que
    los números 444,5 y 0,32 no se pueden almacenar
    exactamente en un campo de este tipo.

  • real, double precision son respectivamente
    números en coma flotante y números en coma
    flotante de doble precisión, con precisión
    dependiente de la máquina.

  • float (n) es un número en
    coma flotante, cuya precisión es de al menos
    n dígitos.

  • date es una fecha del calendario, que
    contiene un año (de cuatro dígitos), un mes y
    un día del mes.

  • time es la hora del día, expresada en
    horas, minutos y segundos. Se puede usar una variante,
    time (p), para especificar el número
    de dígitos decimales para los segundos (el
    número predeterminado es 0). También es posible
    almacenar la información del uso horario junto al
    tiempo.

  • timestamp es una combinación de date y
    time. Se puede usar una variante, timestamp(p), para
    especificar el número de dígitos decimales para
    los segundos (el número predeterminado es
    6).

  • B. DECLARADOS POR EL USUARIO:

En algunos SGBD como SQL Server es
posible definir un tipo de dato propio (del usuario), Los tipos
de datos definidos por el usuario pueden ser usados en varias
tablas que deban guardar el mismo tipo de dato en una columna y
cuando se necesita asegurar que estas columnas tengan exactamente
el mismo tipo de dato, longitud y capacidad de aceptar nulos. Por
ejemplo, un tipo de datos definido por el usuario llamado
codigo_postal podría ser creado en base al tipo
char.

Cuando se crea un tipo de dato definido por el usuario,
se deben proveer los siguientes parámetros:

  • C. Nombre

  • D. Tipo de datos del sistema sobre el que se
    basa el nuevo tipo de dato.

  • E.  Anulabilidad (si el tipo de dato permite
    valores nulos).

 Cuando la anulabilidad no es explícitamente
definida, se toma por defecto la configuración de nulos
ANSI para la base de datos o conexión.

DESENCADENANTES (TRIGGERS)

Los desencadenantes, también conocidos como
disparadores, (triggers en inglés) son definidos sobre la
tabla en la que opera la sentencia INSERT, los desencadenantes
son evaluados en el contexto de la operación.
Desencadenantes BEFORE INSERT permiten la modificación de
los valores que se insertará en la tabla. Desencadenantes
AFTER INSERT no puede modificar los datos de ahora en adelante,
pero se puede utilizar para iniciar acciones en otras tablas, por
ejemplo para aplicar mecanismos de auditoría.

STORED PROCEDURE (PROCEDIMIENTOS ALMACENADOS)

Son sentencias o procedimientos que residen en la misma
base de datos, y que para acceder a ellas solo deben ser
invocadas

Otros lenguajes
relacionales

SQL es el lenguaje relacional de mayor influencia
comercial. Sin embargo exiten otros lenguajes no muy conocidos
pero que son importantes: QBE (Query-by-Example) y Datalog. A
diferencia de SQL, QBE es un lenguaje gráfico donde las
consultas parecen tablas. QBE y sus variantes se usan ampliamente
en sistemas de bases de datos para computadoras
personales. Datalog tiene una sintaxis derivada del lenguaje
Prolog. Aunque actualmente no se usa de forma comercial, Datalog
se ha utilizado en el desarrollo de diversos sistemas de bases de
datos.

Base de datos
orientados a objetos

  • 1. MODELO DE DATOS ORIENTADOS A
    OBJETOS.

A continuación presentaremos los conceptos
principales del modelo de datos orientados a objetos:

  • a) Estructura de
    objetos:

Hablando en general, los objetos se corresponden con las
entidades del modelo E-R (entidad-relación). El paradigma
orientado a objetos está basado en el encapsulamiento de
los datos y del código
relacionado con cada objeto en una sola unidad cuyo contenido no
es visible desde el exterior. Conceptualmente, todas las
interacciones entre cada objeto y el resto del sistema se
realizan mediante mensajes. Por tanto, la interfaz entre cada
objeto y el resto del sistema se define mediante un conjunto de
mensajes permitidos. En general, cada objeto está asociado
con:

  • Un conjunto de variables que contiene
    los datos del objeto; las variables se corresponden con los
    atributos del modelo E-R.

  • Un conjunto de mensajes a los que responde; cada
    mensaje puede no tener parámetros, tener uno o
    varios.

  • Un conjunto de métodos, cada uno
    de los cuales es código que implementa un mensaje; el
    método devuelve un valor como respuesta al
    mensaje.

El término mensaje en un entorno orientado a
objetos no implica el uso de mensajes físicos en redes
informáticas.

Por el contrario hace referencia al intercambio de
solicitudes entre los objetos. Se utiliza a veces la
expresión invocar a un método
para denotar el hecho de enviar un mensaje a un objeto y la
ejecución del método correspondiente.

Se puede explicar la razón del uso de este
enfoque considerando las entidades empleado de una base de datos
bancaria. Supongamos que el sueldo anual de cada empleado se
calcula de diferente manera para todos los empleados. Por
ejemplo, puede que los jefes obtengan una prima en función de
los resultados del banco, mientras
que los cajeros reciben una prima en función de las horas
que hayan trabajado. Se puede (en teoría)
encapsular el código para calcular su sueldo con cada
empleado en forma de método que se ejecute en respuesta a
un mensaje de sueldo-anual.

Todos los objetos empleados responden al mensaje
sueldo-anual, pero lo hacen de manera diferente. Al encapsular
con el objeto empleado la información sobre el
cálculo de su sueldo anual, todos los objetos empleados
presentan la misma interfaz. Dado que la única interfaz
externa presentada por cada objeto es el conjunto de mensajes a
los que responde, resulta posible modificar las definiciones de
los métodos y
de las variables sin
afectar al resto del sistema. La posibilidad de modificar la
definición de un objeto sin afectar al resto del sistema
se considera una de las mayores ventajas del paradigma de la
programación
orientada a objetos.

Los métodos de cada objeto pueden clasificarse
como sólo de lectura o de
actualización. Los métodos sólo de lectura
no afectan al valor de las
variables de los objetos, mientras que los métodos de
actualización sí pueden modificarlo. Los mensajes a
los que responde cada objeto pueden clasificarse de manera
parecida como sólo de lectura o de actualización,
según el método que los implemente.

Los atributos derivados de las entidades del modelo E-R
pueden expresarse en el modelo orientado a objetos como mensajes
sólo de lectura. Por ejemplo, el atributo derivado
antigüedad de una entidad empleado puede expresarse como el
mensaje antigüedad de un objeto empleado. El método
que implemente los mensajes, puede determinar la antigüedad
restando la fecha-alta del empleado de la fecha
actual.

Hablando con rigor, en el modelo orientado a objetos hay
que expresar cada atributo de las entidades como una variable y
un par de mensajes del objeto correspondiente. La variable se
utiliza para guardar el valor del atributo, uno de los mensajes
se utiliza para leer el valor del atributo y el otro mensaje se
utiliza para actualizar ese valor. Por ejemplo, el atributo
dirección de la entidad empleado puede
representarse mediante: hay que expresar cada atributo de las
entidades como una variable y un par de mensajes del objeto
correspondiente. La variable se utiliza para guardar el valor del
atributo, uno de los mensajes se utiliza para leer el valor del
atributo y el otro mensaje se utiliza para actualizar ese valor.
Por ejemplo, el atributo dirección de la entidad empleado
puede representarse mediante:

  • Una variable dirección.

  • Un mensaje obtener-dirección cuya respuesta
    sea la dirección.

  • Un mensaje establecer-dirección, que necesita
    un parámetro nueva dirección, para actualizar
    la dirección.

Sin embargo, en aras de la sencillez, muchos modelos
orientados a objetos permiten que las variables se lean o se
actualicen de manera directa, sin necesidad de definir los
mensajes para ello.

  • b) Clases de
    objetos:

Generalmente, en una base de datos hay muchos objetos
similares. Por similar se entiende que responden a los mismos
mensajes, utilizan los mismos métodos y tienen variables
del mismo nombre y del mismo tipo.

Sería un derroche definir por separado cada uno
de estos objetos. Por tanto, los objetos parecidos se agrupan
para formar una clase.

El concepto de clase del modelo orientado a objetos se
corresponde con el concepto de entidad del modelo E-R. Algunos
ejemplos de clases en la base de datos bancaria son los
empleados, los clientes, las
cuentas y los
préstamos.

Los esquemas de las bases de datos orientadas a objetos
suelen necesitar gran número de clases. Sin embargo,
varias de las clases son parecidas entre sí. Por ejemplo,
supóngase que se tiene una base de datos orientada a
objetos en la aplicación bancaria. Cabe esperar que la
clase de los clientes del banco sea parecida a la clase de los
empleados en que ambas definan variables para nombre,
dirección, etcétera. Sin embargo, hay algunas
variables específicas de los empleados (sueldo, por
ejemplo) y otras específicas de los clientes
(interés-préstamo, por ejemplo). Sería
conveniente definir una representación de las variables
comunes en un solo lugar. Esto sólo puede hacerse si se
combinan los empleados y los clientes en una sola
clase.

Para permitir la representación directa de los
parecidos entre las clases hay que ubicarlas en una
jerarquía de especializaciones. Por ejemplo, se puede
decir que empleado es una especialización de persona, dado que
el conjunto de los empleados es un subconjunto del conjunto de
personas. Es decir, todos los empleados son personas. De manera
parecida, cliente es una
especialización de persona. Ilustrando el ejemplo
tenemos:

Monografias.com

  • d) Herencia múltiple:

En la mayor parte de los casos una organización de clases con estructura de
árbol resulta adecuada para describir las aplicaciones; en
la
organización con estructura de árbol, cada
clase puede tener a lo sumo una superclase. Sin embargo, hay
situaciones que no pueden representarse bien en una
jerarquía de clases con estructura de
árbol.

La herencia
múltiple permite a las clases heredar variables y
métodos de múltiples superclases. La
relación entre clases y subclases se representa mediante
un grafo acíclico dirigido en el que las clases pueden
tener más de una superclase.

Monografias.com

Los objetos de las bases de datos orientadas a objetos
suelen corresponder a entidades del sistema modelado por la base
de datos. Las entidades conservan su identidad
aunque algunas de sus propiedades cambien con el tiempo. Este
concepto de identidad no se aplica a las tuplas de las bases de
datos relacionales.

Presentamos a continuación algunos ejemplos de
identidad:

  • Valor. Se utiliza un valor de datos como
    identidad. Esta forma de identidad se utiliza en los sistemas
    relacionales. Por ejemplo, el valor de la clave primaria de
    una tupla identifica a la tupla.

  • Nombre. Se utiliza como identidad un nombre
    proporcionado por el usuario. Esta forma de identidad suele
    utilizarse para los archivos en los sistemas de archivos.
    Cada archivo recibe un nombre que lo identifica de manera
    unívoca, independientemente de su
    contenido.

  • Incorporada. Se incluye el concepto de
    identidad en el modelo de datos o en el lenguaje de
    programación y no hace falta que el usuario
    proporcione ningún identificador. Esta forma de
    identidad se utiliza en los sistemas orientados a objetos.
    Cada objeto recibe del sistema de manera automática un
    identificador en el momento en que se crea.

La identidad de los objetos es una noción
conceptual; los sistemas reales necesitan un mecanismo
físico que identifique los objetos de manera
unívoca. Para los seres humanos se suelen utilizar como
identificadores los nombres, junto con otra información
como la fecha y el lugar de nacimiento. Los sistemas orientados a
objetos proporcionan el concepto de identificador del objeto para
identificar a los objetos. Los identificadores de los objetos son
únicos; es decir, cada objeto tiene un solo identificador
y no hay dos objetos que tengan el mismo identificador

Base de datos
relacionales orientados a objetos

  • 1) RELACIONES ANIDADAS:

El modelo relacional anidado es una
extensión del modelo relacional en la que los dominios
pueden ser atómicos o de relación. Por tanto, el
valor de las tuplas de los atributos puede ser una
relación, y las relaciones pueden guardarse en otras
relaciones. Los objetos complejos, por tanto, pueden
representarse mediante una única tupla de las relaciones
anidadas. Si se consideran las tuplas de las relaciones anidadas
como elementos de datos, se tiene una correspondencia uno a uno
entre los elementos de datos y los objetos de la vista de la base
de datos del usuario.

Las relaciones anidadas se ilustran mediante un ejemplo
extraído de una biblioteca.
Considérese que para cada libro se
almacena la información siguiente:

  • Título del libro.

  • Lista de autores.

  • Editorial.

  • Lista de palabras clave.

Monografias.com

Puede verse que, si se define una relación para
la información anterior, varios de los dominios
serán no atómicos.

  • Autores. Un libro puede tener varios autores.
    No obstante, puede que se desee hallar todos los documentos
    entre cuyos autores estuviera Santos. Por tanto, hay
    interés en una parte del elemento del dominio
    «conjunto de autores».

  • Palabras clave. Si se guarda un conjunto de
    palabras clave de cada documento se espera poder recuperar
    todos los documentos cuyas claves incluyan una o varias de
    las palabras clave especificadas. Por tanto, se considera que
    el dominio de la lista de palabras clave no es
    atómico.

  • Editorial. A diferencia de palabras clave y
    autores, editorial no tiene un dominio de tipo conjunto. Sin
    embargo, se puede considerar que editorial consiste en los
    subcampos nombre y sucursal. Esta manera de considerarlo hace
    que el dominio de editorial no sea atómico.

  • 2) TIPOS
    COMPLEJOS:

El modelo de datos orientado a objetos ha creado la
necesidad de características como la herencia y las
referencias a los objetos.

Los sistemas de tipos complejos y la programación orientada a objetos permiten
que los conceptos del modelo E-R, como la identidad de las
entidades, los atributos multivalorados y la
generalización y la especialización, se representen
directamente sin que haga falta una compleja traducción al modelo relacional.

  • 3) HERENCIA:

La herencia puede hallarse en el nivel de los tipos o en
el nivel de las tablas. En primer lugar se considerará la
herencia de los tipos y después en el nivel de las
tablas.

  • Herencia De Tipos. Los métodos de un
    tipo estructurado se heredan por sus subtipos, al igual que
    los atributos. Sin embargo, un subtipo puede redefinir el
    efecto de un método declarando de nuevo el
    método, usando overriding method en lugar de method en
    la declaración del método.

  • Herencia De Tablas. Las
    subtablas pueden guardarse de manera eficiente sin
    réplica de todos los campos heredados de una de las
    dos siguientes formas:

  • Cada tabla almacena la clave primaria (que se puede
    heredar de una tabla padre) y los atributos definidos
    localmente. Los atributos heredados (aparte de la clave
    primaria) no hace falta guardarlos y pueden obtenerse
    mediante una reunión con la súper tabla basada
    en la clave primaria.

  • Cada tabla almacena todos los atributos heredados y
    definidos localmente. Cuando se inserta una tupla se almacena
    sólo en la tabla en la que se inserta y su presencia
    se infiere en cada súper tabla. El acceso a todos los
    atributos de una tupla es más rápido, dado que
    no se requiere una reunión. Sin embargo, en el caso de
    que no se considere la segunda restricción de
    integridad es decir, una entidad se puede representar en dos
    subtablas sin estar presente en una subtabla común de
    ambas esta representación puede resultar en
    duplicación de información.

Almacenamiento y estructura de
archivos*

  • 1. VISIÓN GENERAL DE LOS
    MEDIOS FÍSICOS DE ALMACENAMIENTO:

En la mayor parte de los sistemas informáticos
hay varios tipos de almacenamientos de datos. Estos medios de
almacenamiento se clasifican según la velocidad con
la que se puede acceder a los datos, por el coste de
adquisición del medio por unidad de datos y por la
fiabilidad del medio. Entre los medios disponibles habitualmente
figuran:

  • Caché. Es la forma de almacenamiento
    más rápida y costosa. La memoria caché
    es pequeña; su uso lo gestiona el hardware del sistema
    informático.

  • Memoria principal. El medio de almacenamiento
    utilizado para operar con los datos disponibles es la memoria
    principal. Las instrucciones de la máquina de
    propósito general operan en la memoria principal. El
    contenido de la memoria principal suele perderse si se
    produce un fallo del suministro eléctrico o una
    caída del sistema.

  • Memoria flash. También conocida como
    memoria sólo de lectura programable y borrable
    eléctricamente (Electrically Erasable Programmable
    Read-Only Memory, EEPROM), la memoria flash se diferencia de
    la memoria principal en que los datos pueden sobrevivir a los
    fallos del suministro eléctrico.

  • Almacenamiento en discos magnéticos.
    El principal medio de almacenamiento a largo plazo de datos
    en conexión es el disco magnético. Generalmente
    se guarda en este tipo de discos toda la base de datos. Para
    tener acceso a los datos hay que trasladarlos desde el disco
    a la memoria principal. Después de realizar la
    operación hay que escribir en el disco los datos que
    se han modificado.

Monografias.com

Los medios de almacenamiento más rápidos
(por ejemplo, caché y memoria
principal) se denominan almacenamiento primario. A
continuación un ejemplo ilustrativo:

  • 2. ORGANIZACIÓN DE LOS
    ARCHIVOS:

Los archivos se organizan lógicamente como
secuencias de registros. Estos registros se corresponden con los
bloques del disco. Los archivos se proporcionan como un
instrumento fundamental de los sistemas
operativos, por lo que se supondrá la existencia de un
sistema de archivos subyacente. Hay que tomar en
consideración diversas maneras de representar los modelos
lógicos de datos en términos de
archivos.

Un enfoque de la correspondencia entre la base de datos
y los archivos es utilizar varios y guardar los registros de cada
una de las diferentes longitudes fijas existentes en cada uno de
esos archivos.

  • 3. ORGANIZACIÓN DE LOS
    REGISTROS EN ARCHIVOS:

Dado un conjunto de registros, la pregunta siguiente es
la manera de organizarlos en archivos. A continuación se
indican varias de las maneras de organizar los registros en
archivos:

  • Organización de archivos en montículo.
    En esta organización se puede colocar cualquier
    registro en cualquier parte del archivo en que haya espacio
    suficiente. No hay ninguna ordenación de los
    registros. Generalmente sólo hay un archivo por cada
    relación.

  • Organización de archivos secuenciales. En
    esta organización los registros se guardan en orden
    secuencial, basado en el valor de la clave de búsqueda
    de cada registro.

  • Organización asociativa (hash) de archivos.
    En esta organización se calcula una función de
    asociación (hash) de algún atributo de cada
    registro. El resultado de la función de
    asociación especifica el bloque del archivo en que se
    deberá colocar el registro.

  • 4. ALMACENAMIENTO PARA LA BASE DE DATOS
    ORIENTADAS A OBJETOS:

  • a) Correspondencia de los objetos con los
    archivos:

La correspondencia de los objetos con los archivos tiene
gran parecido con la correspondencia de las tuplas con los
archivos de los sistemas relacionales. En el nivel inferior de la
representación de los datos, tanto las partes de tuplas de
los objetos como las de datos, son sencillamente secuencias de
bytes. Por tanto, se pueden guardar los datos de los objetos
utilizando las estructuras de
archivos descritas en los apartados anteriores con algunas
modificaciones que se indican a continuación. Los objetos
de las bases de datos orientadas a objetos pueden carecer de la
uniformidad de las tuplas de las bases de datos relacionales. Por
ejemplo, los campos de los registros pueden ser conjuntos, a
diferencia de las bases de datos relacionales, en los que se
suele exigir que los datos se encuentren (por lo menos) en la
primera forma normal. Además, los objetos pueden ser muy
grandes. Hay que tratar estos objetos de manera diferente de los
registros de los sistemas relacionales. Se pueden implementar
campos de conjuntos que tengan un número pequeño de
elementos que utilicen estructuras de datos como las listas
enlazadas. Los campos de conjuntos que tienen un número de
elementos mayor pueden implementarse como relaciones en la base
de datos. Los campos de conjuntos también pueden borrarse
en el nivel de almacenamiento mediante la normalización:
se crea una relación que contenga una tupla para cada
valor del campo de conjunto de un objeto.

Indexación y
asociación

Un índice para un archivo del
sistema funciona como el índice de este libro. Si se va a
buscar un tema (especificado por una palabra o una frase) en este
libro, se puede buscar en el índice al final del libro,
encontrar las páginas en las que aparece y después
leer esas páginas para encontrar la información que
estamos buscando.

Las palabras de índice están ordenadas, lo
que hace fácil la búsqueda del término que
se esté buscando. Además, el índice es mucho
más pequeño que el libro, con lo que se reduce
aún más el esfuerzo necesario para encontrar las
palabras en cuestión.

Los catálogos de fichas en las
bibliotecas
funcionan de manera similar (aunque se usan poco). Para encontrar
un libro de un autor en particular, se buscaría en el
catálogo de autores y una ficha de este catálogo
indicaría dónde encontrar el libro. Para ayudarnos
en la búsqueda en el catálogo, la biblioteca
guardaría en orden alfabético las fichas de los
autores con una ficha por cada autor de cada libro.

Los índices de los sistemas de bases de datos
juegan el mismo papel que los índices de los libros o los
catálogos de fichas de las bibliotecas. Por ejemplo, para
recuperar un registro cuenta dado su número de cuenta, el
sistema de bases de datos buscaría en un índice
para encontrar el bloque de disco en que se encuentra el registro
correspondiente, y entonces extraería ese bloque de disco
para obtener el registro cuenta.

Almacenar una lista ordenada de números de cuenta
no funcionaría bien en bases de datos muy grandes con
millones de cuentas, ya que el propio índice sería
muy grande; más aún, incluso al mantener ordenado
el índice se reduce el tiempo de búsqueda,
encontrar una cuenta puede consumir mucho tiempo. En su lugar se
usan técnicas
más sofisticadas de indexación.

Por otra parte un inconveniente de la
organización de archivos secuenciales es que hay que
acceder a una estructura de índices para localizar los
datos o utilizar una búsqueda binaria. La
organización de archivos basada en la técnica de
asociación permite evitar el acceso a la estructura
de índice. La asociación también proporciona
una forma de construir índices.

Procesamiento de
consultas

EL procesamiento de consultas hace referencia a la serie
de actividades implicadas en la extracción de datos de una
base de datos. Estas actividades incluyen la traducción de
consultas expresadas en lenguajes de bases de datos de alto nivel
en expresiones implementadas en el nivel físico del
sistema, así como transformaciones de optimización
de consultas y la evaluación
real de las mismas. Los pasos básicos a tomar en cuenta
son:

  • Análisis y traducción.

  • Optimización.

  • Evaluación.

Y los pasos en el procesamiento de una consulta
son:

Monografias.com

OPTIMIZACIÓN DE
CONSULTAS

Consiste en el proceso de selección
de las consultas más eficientes de entre las muchas formas
disponibles para el procesamiento de una consulta dada,
especialmente si la consulta es compleja. No se espera que los
usuarios escriban las consultas de modo que puedan procesarse de
manera eficiente. Por el contrario, se espera que el sistema cree
un plan de
evaluación de las consultas que minimice el coste de la
evaluación de las consultas. Aquí es donde entra en
acción la optimización de consultas.

Otro aspecto es la elección de una estrategia para
el procesamiento de la consulta es la selección del
algoritmo que
se utilizará para ejecutar una operación, la
selección de los índices concretos que se van a
emplear entre muchos mas

Transacciones

Muchas veces el usuario de una base de datos utiliza un
conjunto de operaciones sobre dicha base de datos, citando
ejemplos el retiro de dinero de las
diferentes entidades bancarias, etc. Por consiguiente el sistema
de base de datos está compuesto internamente por varias
operaciones.

Evidentemente es esencial que funcionen todas las
operaciones o que, en caso de fallo, ninguna de ellas se
produzca.

Sería inaceptable efectuar el cargo de la
transferencia en la cuenta corriente y que no se abonase en la
cuenta de ahorros.

Se llama transacción a una colección de
operaciones que forman una única unidad lógica de
trabajo. Un
sistema de base de datos debe asegurar que la ejecución de
las transacciones se realice adecuadamente a pesar de la
existencia de fallos: o se ejecuta la transacción completa
o no se ejecuta en absoluto. Además debe gestionar la
ejecución concurrente de las transacciones evitando
introducir inconsistencias.

Para asegurar la integridad de los datos se necesita que
el sistema de base de datos mantenga las siguientes propiedades
de las transacciones:

Atomicidad. O todas las operaciones de la
transacción se realizan adecuadamente en la base de datos
o ninguna de ellas.

  • Consistencia. La ejecución aislada de
    la transacción (es decir, sin otra transacción
    que se ejecute concurrentemente) conserva la consistencia de
    la base de datos.

  • Aislamiento. Aunque se ejecuten varias
    transacciones concurrentemente, el sistema garantiza que para
    cada par de transacciones A y B, se cumple que para los
    efectos de A, o bien B ha terminado su ejecución antes
    de que comience A , o bien que B ha comenzado su
    ejecución después de que A termine. De este
    modo, cada transacción ignora al resto de las
    transacciones que se ejecuten concurrentemente en el
    sistema.

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter