Está en la página 1de 37

CAPITULO 2 MARCO TEORICO

TEMA 1
FUNDAMENTOS DE BASE DE DATOS
El trmino de bases de datos fue escuchado por primera
vez en 1963, en un simposio celebrado en California, USA.
Una base de datos se puede definir como un conjunto de
informacin relacionada que se encuentra agrupada
estructurada.
Desde el punto de vista informtico, la base de datos es un
sistema formado por un conjunto de datos almacenados en
discos que permiten el acceso directo a ellos y un conjunto
de programas que manipulen ese conjunto de datos.
Cada base de datos se compone de una o ms tablas que
guarda un conjunto de datos. Cada tabla tiene una o ms
columnas y filas. Las columnas guardan una parte de la
informacin sobre cada elemento que queramos guardar en
la tabla, cada fila de la tabla conforma un registro.
El propsito de una Base de Datos es ayudar a la gente y a
las organizaciones a llevar un registro de las cosas, de
aquellos objetos acerca de los cuales les interesa guardar
datos. Estos datos son los que permitirn generar
informacin de esas cosas u objetos. Para comprender por
qu es importante este almacenamiento de datos, se puede
primero analizar qu problemas se presentan cuando se
utilizan slo datos, sin la estructura que ofrece una Base de
Datos:

Al tener sistemas aislados, con diferentes medios en


los cuales se almacena informacin, un mismo dato puede
estar almacenado en diferentes lugares.

Al estar el mismo dato almacenado en diferentes


lugares, puede tener diferentes valores en esos diferentes
lugares, lo que puede provocar inconsistencias, si no se
logra tener esas copias con la informacin consistente.


La privacidad de datos se ve afectada, debido a que
los departamentos necesitan compartir datos, pero no
todos los que custodian, solo los que consideran pueden
compartir, creando problemas al no contar con todo lo que
necesitan, aunque la empresa pueda tenerlos disponibles.
En contraste, las bases de datos almacenan los datos en
tablas simples, donde cada una de ellas est definida para
apoyar un tema o rea especfica. Esto permite mantener
una definicin sencilla, y un uso sencillo de la tabla, en
consecuencia. Las tablas poseen una estructura que
permite relacionarlas fcilmente entre s, a travs del uso
de llaves, o campos comunes, que permiten una
navegacin sencilla y natural a travs de ellas, siempre y
cuando su diseo sea el correcto.
SISTEMA DE ADMINISTRACIN DE BASE DE DATOS.
Un Sistema de Administracin de Base de Datos, o DBMS,
(por sus siglas en ingls, Database Management System) es
de manera sencilla, software para la creacin y
administracin de bases de datos, y sus sistemas
asociados, en una computadora.
Las funciones principales de un DBMS son:

La creacin de bases de datos, sus


componentes, y las estructuras de apoyo asociadas

tablas

Permitir la lectura y escritura


almacenados en una base de datos

datos

de

los

Permitir el mantenimiento a las estructuras de una


base de datos

Forzar el cumplimiento de las reglas de integridad


definidas para una base de datos

Mantener el control de concurrencia a los datos,


cuando se presenta la ejecucin concurrente de
transacciones a la base de datos


Ofrecer los mecanismos de seguridad para el acceso a
las bases de datos definidas y mantenidas en el DBMS

Ofrecer las facilidades de respaldo y recuperacin de


las bases de datos, necesarias para garantizar la seguridad
e integridad de las bases de datos manejadas por el DBMS.
Ejemplos de DBMSs comerciales: Oracle, DB2, Microsoft
Access, SQL Server
Las ventajas de utilizar una Base de Datos, a travs del
software de administracin, se puede entender claramente
en los siguientes casos:
1.
Una base de datos permite almacenar grandes
volmenes de datos, con un mnimo de datos duplicados.
Esto permite tener un acceso rpido y eficiente a los
mismos, cuando se requiere obtener informacin a partir de
ellos. Al estar almacenados en un lugar comn, es factible
aplicar reglas de integridad, que permite validar su
consistencia.
2.
La informacin almacenada en una base de datos se
integra eficientemente, y no posee limitaciones impuestas
por la organizacin de la empresa. Esta integracin permite
que los datos seas usados eficientemente, y con un mnimo
de problemas de integridad, por diferentes usuarios y
departamentos en toda la organizacin. Esto le ofrece como
beneficio a un administrador tener acceso a datos a los
cuales antes no tena acceso, por estar almacenados en
diferentes medios y sistemas.
3.
Un beneficio muy importante se asocia a la calidad en
los servicios de datos. La base de datos permite tener una
durabilidad y permanencia de los datos que no es
cuestionable. Otro aspecto relacionado a esta ventaja es
que las transacciones que se ejecutan directamente sobre
la base de datos quedan registradas permanentemente, lo
que permite su acceso posterior, para cualquier consulta, o
para la proteccin ante cualquier falla del sistema.

4.
En teora, una base de datos dura indefinidamente,
hasta que se decide guardarla en un ambiente fuera del uso
directo de un sistema, o se decide borrarla definitivamente.
5.
La durabilidad de una base de datos permite la
recuperacin de los datos a un estado estable, antes de
ocurrir la falla. Esto da la seguridad necesaria para ofrecer
datos confiables a cualquier sistema de misin crtica de
una empresa, como sera el sistema en lnea de ventas, o
en general, cualquier sistema en lnea, tal como los que
forman un negocio basado en Internet.
6.
Un Sistema de Administracin de Bases de Datos
permite compartir los datos de una Base de Datos sencilla y
eficientemente, a una comunidad de usuarios diferentes.
Las vistas son el medio que el software de administracin
de base de datos ofrece para que un grupo de usuarios
tenga acceso solo a la porcin de la base de datos a la cual
ellos tienen derecho de acceso. De la misma forma, para un
equipo de desarrollo de una aplicacin, una vista le permite
el acceso a solo los datos que tienen derecho, de acuerdo a
los requerimientos que el sistema bajo desarrollo debe
resolver.
7.
El acceso concurrente a los datos es otra de las
ventajas. Este acceso permite que diferentes usuarios, a
travs de sus aplicaciones, accedan a los datos, mezclando
sus operaciones, con la seguridad que las mismas sern
ejecutadas de tal forma que no se afecten negativamente
entre s. Esta es una condicin indispensable para el uso de
una base de datos desde Internet. viene el acceso no
autorizado a la base de datos, los mensajes se encriptan de
tal forma que es casi imposible decodificarlos. Con esto se
ofrece un ambiente seguro, que permite trabajar de manera
confiable con la base de datos.
CAMPO
En informtica, un campo es un espacio de almacenamiento
para un dato en particular. En las bases de datos, un campo
es la mnima unidad de informacin a la que se puede

acceder; un campo o un conjunto de ellos forman un


registro, donde pueden existir campos en blanco, siendo
ste un error del sistema operativo. En las hojas de clculo
los campos son llamados celdas.
REGISTRO
En el contexto de una base de datos relacional, un registro
(tambin llamado fila o tupla) representa un objeto nico de
datos implcitamente estructurados en una tabla. En
trminos simples, una tabla de una base de datos puede
imaginarse formada de filas y columnas o campos. Cada fila
de una tabla representa un conjunto de datos relacionados,
y todas las filas de la misma tabla tienen la misma
estructura.
Un registro es un conjunto de campos que contienen los
datos que pertenecen a una misma repeticin de entidad.
Se le asigna automticamente un nmero consecutivo
(nmero de registro) que en ocasiones es usado como
ndice aunque lo normal y prctico es asignarle a cada
registro un campo clave para su bsqueda.
Base de datos:
Una base de datos es un archivo o conjunto de archivos que
contienen mltiples informaciones que de alguna forma
guardan relacin. Por ej. Una base de datos para gestionar
un Videoclub almacenar mltiples informaciones sobre
pelculas, socios, etc y entre ellas existirn relaciones
como por ej. Una pelcula con un socio por medio de un
prstamo o alquiler.
Entidad:
En lneas generales podemos entender por entidad como
todo aquello sobre lo que es necesario almacenar
informacin en una base de datos. Por ej. En una base de
datos de una biblioteca entidades seran LIBROS, SOCIOS,
etc.
Relacin:

Entre las diferentes entidades de una base de datos suele


haber relaciones, las cuales permiten un tratamiento ms
globalizado de la informacin y reflejan situaciones del
mundo real. Por ej. En un videoclub hay dos entidades
claras PELICULAS y SOCIOS. Entre ellas existe una relacin
bastante evidente que es el prstamo o alquiler. De esta
forma las entidades y relaciones en una base de datos se
representan de forma lgica con estructuras del tipo.

TEMA 2
MODELO RELACIONAL
El modelo relacional es un modelo de datos y, como tal,
tiene en cuenta los tres aspectos siguientes de los datos:
1) La estructura, que debe permitir representar
informacin que nos interesa del mundo real.

la

2) La manipulacin, a la que da apoyo mediante las


operaciones de actualizacin y consulta de los datos.
3) La integridad, que es facilitada mediante el
establecimiento de reglas de integridad; es decir,
condiciones que los datos deben cumplir.

El principal objetivo del modelo de datos relacional es


facilitar que la base de datos sea percibida o vista por el
usuario como una estructura lgica que consiste en un
conjunto de relaciones y no como una estructura fsica de
implementacin.
Esto ayuda a conseguir un alto grado de independencia de
los datos. Un objetivo adicional del modelo es conseguir
que esta estructura lgica con la que se percibe la base de
datos sea simple y uniforme. Con el fin de proporcionar
simplicidad y uniformidad, toda la informacin se
representa de una nica manera: mediante valores
explcitos que contienen las relaciones (no se utilizan
conceptos como por ejemplo apuntadores entre las
relaciones). Con el mismo propsito, todos los valores de
datos se consideran atmicos; es decir, no es posible
descomponerlos.
Para organizar los datos de una base de datos es necesario
crear estructuras que los contengan. Existe varios modelos
de almacenamiento pero el ms extendido es el modelo
Relacional. Este modelo se caracteriza por almacenar
organizar los datos en forma de tabla, esta es una forma
habitual de organizar la informacin.
A continuacin se muestran con un ejemplo, los aspectos
bsicos de una estructura tabla para el almacenamiento de
datos.

Elementos bsicos del Modelo Relacional


RELACIN
Es la estructura bsica del
representa mediante una tabla.
DOMINIO

modelo

relacional.

Se

Es el conjunto vlido de valores que toma un atributo.


Existen con independencia de cualquier otro elemento.
ATRIBUTO
Representa las propiedades de la relacin. Se representa
mediante una columna.
TUPLA
Es una ocurrencia de la relacin. Se representa mediante
una fila
CLAVES
Una clave candidata de una relacin es un conjunto de
atributos que identifican univoca y mnimamente cada tupla
de la relacin. Por la propia definicin de relacin, siempre
hay, al menos, una clave candidata, ya que al ser una
relacin un conjunto no existen dos tuplas iguales y, por
tanto, el conjunto de todos los atributos siempre tiene que
identificar unvocamente a cada tupla; si no se cumpliera la
condicin de minimalidad se eliminaran aquellos atributos
que lo impidiesen.
Una relacin puede tener ms de una clave candidata,
entre las cuales se debe distinguir:
Clave primaria: es aquella clave candidata que el usuario
escoger, por consideraciones ajenas al modelo relaciona,
para identificar las tuplas de la relacin. Cuando solo existe
una clave candidata, esta ser la clave primaria.
Claves alternativas: son aquellas claves candidatas que no
han sido escogidas como clave primaria.
Se denomina clave ajena de una relacin R2 a un conjunto
no vacio de atributos cuyos valores han de coincidir con los
valores de la clave candidata de una relacin R1 (R1 y R2
no son necesariamente distintas). Cabe destacar que la
clave ajena y la correspondiente clave candidata han de
estar definidas sobre el mismo dominio.

Los conceptos de claves, tanto candidatas (en especial


primaria) como ajenas, son muy importantes en el estudio
de la integridad del modelo relacional.
RESTRICCIONES SEMANTICAS
Dentro del contexto relacional, como en otros modelos de
datos, existen restricciones semnticas o de usuario, que
son facilidades que el modelo ofrece a los usuarios a fin de
que estos puedan reflejar en el esquema, lo ms fielmente
posible, la semntica del mundo real.
Sin embargo, estas restricciones semnticas del modelo
relacional, al igual que ocurre con cualquier otro modelo, no
son muchas veces suficientes para captar toda la semntica
del universo del discurso que se est tratando de modelar.
Por ello, algunos productos aaden ciertas facilidades que
permiten programarlas; aunque aun sin estas facilidades,
siempre podran incluirse en un programa de aplicacin con
sentencias de manipulacin embebidas.
Atributo Mono valuado: Un atributo mono valuado es
aquel que slo toma un valor al momento de que el objeto
define su estado. Por ejemplo, el objeto Wilmer puede
definir su atributo cedula con el valor 15633744 que se
supone adems nico para esa persona. En el modelo
orientado a objetos clsico se asume que todos los
atributos toman un valor preciso. Sin embargo podramos
vernos en la necesidad de considerar imperfecciones como
imprecisin e incertidumbre. Con respecto a la imprecisin,
podra ocurrir que el valor que tome el atributo sea una
etiqueta lingstica o sea un valor vago o difuso.
Atributo
Multivaluado:
Un
atributo
multivaluado
representa propiedades sobre objetos cuyos valores no son
atmicos sino un conjunto de valores. Por ejemplo el
atributo NroTlf del objeto Wilmer seran todos los nmeros
de telfonos de los que dispone esa persona y desde donde
puede ser contactado.
Clave primaria: Permite declarar un atributo o un conjunto
de atributos como clave primaria de una relacin, por lo
que sus valores no se podrn repetir ni se admitirn el nulo

o valores ausentes. La obligatoriedad de la clave primaria


es una restriccin inherente del modelo relacional; sin
embargo, la declaracin de un atributo como clave primaria
de una relacin es una restriccin semntica que responde
a la necesidad del usuario de imponer que los valores del
conjunto de atributos que constituyen la clave primaria no
se repitan en la relacin ni tampoco tomen valores nulos.
Clave Ajena: es una limitacin referencial entre dos tablas.
La clave fornea identifica una columna o grupo de
columnas en una tabla (tabla hija o referendo) que se
refiere a una columna o grupo de columnas en otra tabla
(tabla maestra o referenciada). Las columnas en la tabla
referendo deben ser la clave primaria u otra clave
candidata en la tabla referenciada.
Los valores en una fila de las columnas referendo deben
existir solo en una fila en la tabla referenciada. As, una fila
en la tabla referendo no puede contener valores que no
existen en la tabla referenciada. De esta forma, las
referencias pueden ser creadas para vincular o relacionar
informacin. Esto es una parte esencial de la normalizacin
de base de datos. Mltiples filas en la tabla referendo
pueden hacer referencia, vincularse o relacionarse a la
misma fila en la tabla referenciada. Mayormente esto se ve
reflejado en una relacin uno (tabla maestra o referenciada)
a muchos (tabla hija o referendo).
Unicidad: Mediante la cual se indica que los valores de un
conjunto de atributos (uno o ms) no pueden repetirse en
una relacin. Esta restriccin permite la definicin de claves
alternativas.
Obligatoriedad: de uno o ms atributos, con lo que se
indica que el conjunto de atributos no admite valores nulos.
En el modelo relacional se pueden distinguir dos
restricciones de rechazo distinto, segn la condicin afecte
a un nico elemento de la base de datos o a ms de uno:
Verificacin:
comprueba,
en
toda
operacin
de
actualizacin, si el predicado es cierto o falso y, en el
segundo caso, rechaza la operacin. La restriccin de

verificacin se define sobre un nico elemento y puede o no


tener nombres.
Asercin: acta de forma idntica a la anterior, pero se
diferencia de ella en que puede afectar a varios elementos
y a su definicin, por tanto, no va unida a la de un
determinado elemento, por lo que siempre ha de tener un
nombre, ya que la asercin es un elemento ms del
esquema que tiene vida por s mismo.
CONCEPTO DE VALOR NULO
Si bien los valores nulos no son un concepto exclusivo del
modelo relacional, ha sido en el contexto de este modelo
donde se ha abordado su estudio de manera ms
sistemtica
y
donde
se
estn
realizando
ms
investigaciones a fin de formalizar su tratamiento.
Se puede definir el valor nulo como una seal utilizada para
representar
informacin
desconocida,
inaplicable,
inexistente, no valida, etc.
En cuanto a las operaciones aritmticas con valores nulos,
se considera nulo el resultado de sumar, restar, multiplicar
o dividir cuando alguno de los operandos toma valor nulo.
Tambin los valores nulos inciden en algunas operaciones
algebraicas. Otro tema importante es el de la igualdad o
desigualdad de dos tuplas; dos tuplas se consideraran
duplicadas si, atributo a atributo ambos son iguales y no
nulos o ambos nulos. Esta definicin de tupla duplicada
afecta, como es lgico, a la insercin y a la modificacin de
relaciones en lo que se refiere a la clave primaria, y tiene,
por tanto, incidencia en varios operadores del algebra
relacional.
ALGEBRA REALACIONAL
El lgebra relacional es un conjunto de operaciones que
describen paso a paso cmo computar una respuesta sobre
las relaciones, tal y como stas son definidas en el modelo
relacional. Denominada de tipo procedimental, a diferencia
del Clculo relacional que es de tipo declarativo.

Describe el aspecto de la manipulacin de datos. Estas


operaciones se usan como una representacin intermedia
de una consulta a una base de datos y, debido a sus
propiedades algebraicas, sirven para obtener una versin
ms optimizada y eficiente de dicha consulta.

Operaciones Bsicas
Cada operador del lgebra acepta una o dos relaciones y
retorna una relacin como resultado. y son operadores
unarios, el resto de los operadores son binarios. Las
operaciones bsicas del lgebra relacional son:
Seleccin ()
Permite
seleccionar
un subconjunto de tuplas de
relacin
(R),
todas
aquellas
que
cumplan
condicin(es) P, esto es:

una
la(s)

Ejemplo:

Selecciona todas las tuplas que contengan Gmez como


apellido en la relacin Alumnos.
Una condicin puede ser una combinacin booleana, donde
se pueden usar operadores como: , , combinndolos con
operadores
.
Proyeccin ()
Permite extraer columnas (atributos) de una relacin, dando
como resultado un subconjunto vertical de atributos de la
relacin, esto es:
Donde

son atributos de la relacin R .

Ejemplo:

Selecciona los atributos Apellido, Semestre y Numero


Control de la relacin Alumnos, mostrados como un
subconjunto de la relacin Alumnos
Producto cartesiano (x)
El producto cartesiano de dos relaciones se escribe como:
y entrega una relacin, cuyo esquema corresponde a una
combinacin de todas las tuplas de R con cada una de las
tuplas de S, y sus atributos corresponden a los
de Rseguidos por los de S.
Ejemplo:
Muestra una nueva relacin, cuyo esquema contiene cada
una de las tuplas de la relacin Alumnos junto con las
tuplas de la relacin Maestros, mostrando primero los
atributos de la relacin Alumnos seguidos por las tuplas de
la relacin Maestros.
Unin ()
La operacin
retorna el conjunto de tuplas que estn en R, o en S, o en
ambas. R y S deben ser uniones compatibles.
Diferencia (-)
La diferencia de dos relaciones, R y S denotada por:
entrega todas aquellas tuplas que estn en R, pero no en S.
R y S deben ser uniones compatibles.
Estas operaciones son fundamentales en el sentido en que
(1) todas las dems operaciones pueden ser expresadas

como una combinacin de stas y (2) ninguna de estas


operaciones pueden ser omitidas sin que con ello se pierda
informacin.
No bsicas o Derivadas
Entre los operadores no bsicos tenemos:
Interseccin ()
La interseccin de dos relaciones se puede especificar en
funcin de otros operadores bsicos:
La interseccin, como en Teora de conjuntos, corresponde
al conjunto de todas las tuplas que estn en R y en S,
siendo R y S uniones compatibles.
Unin natural () (Natural Join)
La operacin unin natural en el lgebra relacional es la
que permite reconstruir las tablas originales previas al
proceso de normalizacin. Consiste en combinar las
proyeccin, seleccin y producto cartesiano en una sola
operacin, donde la condicin es la igualdad Clave
Primaria = Clave Externa (o Fornea), y la proyeccin
elimina la columna duplicada (clave externa).
Expresada en las operaciones bsicas, queda

Una reunin theta ( -Join) de dos relaciones es equivalente


a:
donde la condicin
Si la condicin

es libre.

es una igualdad se denomina EquiJoin.

Divisin (/)
Supongamos que tenemos dos relaciones A(x, y) y B(y)
donde el dominio de y en A y B, es el mismo.

El operador divisin A / B retorna todos los distintos valores


de x tales que para todo valor y en B existe una tupla
en A.
Agrupacin ()
Permite agrupar conjuntos de valores en funcin de un
campo determinado y hacer operaciones con otros campos.
Por ejemplo:

sum(puntos) as Total Equipo

(PARTIDOS).

TEMA 3
MODELO DE DOMINIO O CONCEPTUAL
Puede utilizarse para capturar y expresar el entendimiento
ganado en un rea bajo anlisis como paso previo al diseo
de un sistema. El modelo de dominio es utilizado por el
analista como un medio para comprender el sector de
negocios al cual el sistema va a servir.
El modelo de dominio puede ser tomado como el punto de
partida para el diseo del sistema. Cuando se realiza la
programacin orientada a objetos, el funcionamiento
interno del software va a imitar en alguna medida a la
realidad, por lo que el mapa de conceptos del modelo de
dominio constituye una primera versin del sistema.

Si no se logra lo planteado en el modelo del negocio


entonces identifico conceptos, se le da definiciones a estos
conceptos y se trata de unir o relacionar en otro modelo
distinto que es el de dominio. Este modelo permitir
mostrar de manera visual los principales conceptos que se
manejan, ayudando a los usuarios, desarrolladores e
interesados; a utilizar un vocabulario comn para poder
entender el contexto en que se desarrolla el sistema.
Adems contribuir a identificar personas, eventos,
transacciones y objetos involucrados en el sistema.
Un modelo de dominio en la resolucin de problemas e
ingeniera de software, es un modelo conceptual de todos
los temas relacionados con un problema especfico. En l se
describen las distintas entidades, sus atributos, papeles y
relaciones, adems de las restricciones que rigen el dominio
del problema.
El modelo de dominio se crea con el fin de representar el
vocabulario y los conceptos clave del dominio del problema.
El modelo de dominio tambin identifica las relaciones
entre todas las entidades comprendidas en el mbito del
dominio del problema, y comnmente identifica sus
atributos. Un modelo de dominio que encapsula los
mtodos dentro de las entidades se asocia ms bien con
modelos orientados a objetos. El modelo de dominio
proporciona una visin estructural del dominio que puede
ser complementado con otros puntos de vista dinmicos,
como el modelo de casos de uso.
Una ventaja importante de un modelo de dominio es que
describe y limita el alcance del dominio del problema. El
modelo de dominio puede ser usado efectivamente para
verificar y validar la comprensin del dominio del problema
entre las diversas partes interesadas. Define un vocabulario
y es til como herramienta de comunicacin. Puede aadir
precisin y enfoque para la discusin entre el equipo de
negocios, as como entre los equipos tcnicos y de
negocios.

Un modelo del dominio es una representacin visual de las


clases conceptuales u objetos del mundo real en un dominio
de inters. Tambin se les denomina modelos conceptuales
trmino utilizado en la primera edicin del libro de Larman),
modelo de objetos del dominio y modelos de objetos de
anlisis.
Utilizando la notacin UML, un modelo del dominio se
representa con un conjunto de diagramas de clases en los
que no se define ninguna operacin. Pueden mostrar:
Objetos del dominio o clases conceptuales.
Asociaciones entre las clases conceptuales.
Atributos de las clases conceptuales.
La informacin que presenta (utilizando la notacin UML)
podra, de manera alternativa, haberse expresado en prosa,
mediante sentencias. Pero es fcil entender los distintos
elementos y sus relaciones mediante este lenguaje visual,
puesto que un porcentaje significativo del cerebro toma
parte en el procesamiento visual --es una cualidad de los
humanos-.
CLASES CONCEPTUALES
El modelo del dominio muestra las clases conceptuales o
vocabulario del dominio. Informalmente, una clase
conceptual es una idea, cosa u objeto. Ms formalmente,

una clase conceptual podra considerarse en trminos de su


smbolo, intensin, y extensin:
Smbolo: Palabras o imgenes que representan una clase
conceptual.
Intensin: La definicin de una clase conceptual.
Extensin: El conjunto de ejemplos a los que se aplica la
clase conceptual.

Cuando creamos un modelo del dominio, normalmente, el


smbolo y la vista intencional de la clase conceptual son los
que tienen un mayor inters prctico.
Los problemas del software pueden ser complejos; la
descomposicin divide y vencers es una estrategia comn
para tratar esta complejidad mediante la divisin del
espacio del problema en unidades fciles de comprender.
En el anlisis estructurado, la dimensin de la
descomposicin es por procesos o por funciones. Sin
embargo, en el anlisis orientado a objetos, la dimensin de
la descomposicin es fundamentalmente por cosas o
entidades del dominio. Una diferencia esencial entre el
anlisis orientado a objetos y el estructurado es: la divisin
por clases conceptuales (objetos) en lugar de la divisin por
funciones. Por tanto, la principal tarea del anlisis es
identificar diferentes conceptos en el dominio del problema
y documentar el resultado en un modelo del dominio.

Por ejemplo, en el dominio de ventas en una tienda del


mundo real, existen las clases conceptuales de Tienda,
Registro y Venta. Por tanto, nuestro modelo del dominio,
podra incluir Tienda, Registro y Venta.
IDENTIFICACION DE CLASES CONCEPTUALES
Es normal obviar clases conceptuales durante la etapa de
identificacin inicial, y descubrirlas ms tarde al considerar
los atributos y asociaciones, o durante el trabajo de diseo.
Cuando se encuentren, se pueden aadir al modelo del
dominio.
A continuacin se presentan dos tcnicas
identificacin de las clases conceptuales:

para

la

1. UTILIZACIN DE UNA LISTA DE CATEGORAS DE


CLASES CONCEPTUALES.
Se comienza la creacin de un modelo del dominio
haciendo una lista de clases conceptuales candidatas. La
Tabla l contiene categoras habituales que, normalmente,
merece la pena tener en cuenta, aunque no en ningn
orden particular de importancia. Los ejemplos se han
extrado del dominio de las tiendas y las reservas de vuelos.

2. IDENTIFICACIN DE FRASES NOMINALES.


Otra tcnica til (debido a su simplicidad) es el anlisis
lingstico: identificar los nombres y frases nominales en las
descripciones textuales del dominio, y considerarlos como
clases conceptuales o atributos candidatos.
Se debe tener cuidado con este mtodo; no es posible
realizar una correspondencia mecnica de nombres a
clases, y las palabras en lenguaje natural son ambiguas.
En cualquier caso, es otra fuente de inspiracin. Los casos
de uso en formato completo constituyen una descripcin
excelente a partir de la cual extraer este anlisis.
ASOCIACIONES
Una asociacin es una relacin entre tipos (o ms
concretamente, instancias de estos tipos) que indica alguna

conexin significativa e interesante. En UML, las


asociaciones se definen como "la relacin semntica entre
dos o ms clasificadores que implica conexiones entre sus
instancias".
Resulta til identificar aquellas asociaciones entre clases
conceptuales que son necesarias para satisfacer los
requisitos de informacin de los escenarios actuales que se
estn desarrollando, que ayudan a entender el modelo del
dominio.
Las asociaciones que merece la pena registrar,
normalmente, implican conocimiento de una relacin que
es necesario conservar durante algn tiempo -podran ser
milisegundos o aos, dependiendo del contexto. En otras
palabras, entre qu objetos necesitamos mantener en
memoria una relacin? Por ejemplo, necesitamos recordar
qu instancias de una Lnea De Venta estn asociadas con
una instancia de una Venta? Sin ninguna duda, de otra
manera no sera posible reconstruir una venta, imprimir un
recibo o calcular el total de venta.
Considere la inclusin de las siguientes asociaciones en un
modelo del dominio:
Asociaciones de las que es necesario conservar el
conocimiento de la relacin durante algn tiempo
(asociaciones "necesito-conocer").
Asociaciones derivadas de la Lista de Asociaciones
Comunes.
Por el contrario, necesitamos recordar una relacin entre la
Venta actual y un Encargado? No, los requisitos no dan a
entender que se necesite ninguna relacin de este tipo. No
es incorrecto mostrar una relacin entre una Venta y un
Encargado, pero no es convincente o til en el contexto de
nuestros requisitos.
ste es un punto importante. En un modelo del dominio con
n clases del dominio diferentes, puede existir n(n-1)
asociaciones entre diferentes clases conceptuales un
nmero potencialmente grande. Muchas lneas en un

diagrama aadirn "ruido visual" y lo har menos


comprensible. Por tanto, se debe ser cuidadoso al aadir
lneas de asociacin. Se recomienda utilizar como criterio
las guas que se sugieren en esta seccin.
NOTACION DE LAS ASOCIACIONES UML
Una asociacin se representa como una lnea entre clases
con un nombre de asociacin, La asociacin es
inherentemente bidireccional, lo que significa que desde las
instancias de cualquiera de las dos clases, es posible el
recorrido lgico hacia la otra. Este recorrido es puramente
abstracto; no se trata de una sentencia sobre conexiones
entre entidades software.
Los extremos de la asociacin podran contener una
expresin de multiplicidad que indica la relacin numrica
entre las instancias de las clases.

Una "flecha de direccin de lectura" opcional indica la


direccin de la lectura del nombre de la 1-1 asociacin; no
indica la direccin de la visibilidad o navegacin. Si no est
presente, la convencin es leer la asociacin de izquierda a
derecha o de arriba hacia abajo, aunque no es una regla de
UML.
GUIA PARA LAS ASOCIACIONES
Es conveniente centrarse en aquellas asociaciones para
las que se necesita conservar el conocimiento de la relacin
durante algn tiempo (asociaciones "necesito-conocer").
Es ms importante identificar clases conceptuales que
identificar asociaciones.
Demasiadas asociaciones tienden a confundir un modelo
del dominio en lugar de aclararlo. Su descubrimiento puede
llevar tiempo, con beneficio marginal.

Se debe evitar mostrar asociaciones redundantes o


derivadas.
ROLES
Cada extremo de una asociacin se denomina rol. Los roles
pueden tener opcionalmente:
Nombre.
Expresin de multiplicidad.
Navegabilidad.
La multiplicidad se presenta a continuacin, y las otras dos
caractersticas se discutirn ms tarde.
La multiplicidad define cuntas instancias de una clase A
pueden asociarse con una instancia de una clase B

El valor de la multiplicidad indica cuntas instancias se


puede asociar legalmente con otra, en un momento
concreto, en lugar de a lo largo de un periodo de tiempo.
Por ejemplo, es posible que un coche usado pudiera a lo
largo del tiempo ser vendido repetidamente a comerciantes
de coches usados. Pero en un momento concreto, el coche
slo es Abastecido-por un comerciante.
El coche no es Abastecido-por muchos comerciantes en un
momento concreto. Anlogamente, en pases con leyes

mongamas, una persona puede estar Casado-con slo una


persona en un momento dado, aunque a lo largo del
tiempo, puedan casarse con muchas personas.
El valor de la multiplicidad depende de nuestros intereses
como modeladores y desarrolladores de software, porque
pone de manifiesto una restriccin de diseo que ser (o
podr ser) reflejada en el software.
MULTIPLICIDAD
La multiplicidad restringe la forma en que las entidades se
relacionan. Se trata de restricciones empresariales.
El grado ms comn para las relaciones es el binario. Las
relaciones binarias se clasifican de tipo:
1 a 1 (1:1) -> un empleado gestiona una sucursal.
1 a muchos (1:*) -> un empleado controla inmuebles de
alquiler. .

COMO DE DETALLADAS DEBE SER LAS ASOCIACIONES


Las asociaciones son importantes, pero un error tpico al
crear los modelos del dominio, es dedicar demasiado
tiempo durante el estudio intentando descubrirlas.
Es fundamental entender lo siguiente: Es ms importante
encontrar las clases conceptuales que las asociaciones. La
mayora del tiempo dedicado a la creacin del modelo del
dominio debera emplearse en la identificacin de las clases
conceptuales, no de las asociaciones.
ATRIBUTOS
Resulta til identificar aquellos atributos de las clases
conceptuales que se necesitan para satisfacer los requisitos
de informacin de los actuales escenarios en estudio. Un
atributo es un valor de datos lgico de un objeto.

Se deben incluir en un modelo del dominio aquellos


atributos para los que los requisitos (o los casos de uso)
sugieren o implican una necesidad de registrar la
informacin.
Por ejemplo, un recibo (que recoge la informacin de una
venta) normalmente incluye una fecha y una hora, y la
direccin quiere conocer las fechas y horas de las ventas
por mltiples motivos. En consecuencia, la clase conceptual
Venta necesita los atributos fecha y hora.

AGREGACION
La agregacin es un tipo especial de relacin en el que se
modela una semntica del tipo tiene o es parte de, en
la que una entidad represente una entidad de mayor
tamao (el todo), compuesta de entidades ms pequeas
(las partes).

COMPOCISION
Similar a la relacin de Agregacin solo que la Composicin
es una relacin mas fuerte. Aporta documentacin
conceptual ya que es una "relacin de vida", es decir, el

tiempo de vida de un objeto est condicionado por el


tiempo de vida del objeto que lo incluye

ASOCIACION REFLEXIVA
Una asociacin reflexiva (o recursiva) es aquella en la que
los dos extremos de la asociacin estn unidos a la misma
clase.
Los enlaces pueden conectar dos instancias diferentes de la
misma clase, o incluso una instancia consigo misma.
En una asociacin reflexiva los nombres de rol son
obligatorios, para poder distinguir los dos extremos de la
asociacin.
Una asociacin reflexiva no es simtrica: los extremos son
distinguibles, aunque la asociacin quiera significar
equivalencia: esamigo-de, es-igual-a...

GENERALIZACION-ESPECIALIZACION
Cada una de las entidades superclase y subclase que
forman parte de una generalizacin/especializacin se
transforma en una relacin:
a) La relacin de la entidad superclase tiene como clave
primaria la clave de la entidad superclase y contiene todos
los atributos comunes.

b) Las relaciones de las entidades subclase tienen como


clave primaria la clave de la entidad superclase y contienen
los atributos especficos de la subclase.
Ejemplo
de
transformacin
generalizacin/especializacin

de

la

Veamos un ejemplo (consultad el grfico en la pgina


siguiente) que contiene una generalizacin/especializacin
y, tambin, una interrelacin M:N en la que interviene una
de las entidades subclase. Este ejemplo se traduce al
modelo relacional como se indica a continuacin:

TEMA 4

MAPEO
El mapeo objeto-relacional (ms conocido por su nombre en
ingls, Object-Relational mapping es una tcnica de
programacin para convertir datos entre el sistema de tipos
utilizado en un lenguaje de programacin orientado a
objetos y el utilizado en una base de datos relacional,
utilizando un motor de persistencia. En la prctica esto crea
una base de datos orientada a objetos virtual, sobre la base
de datos relacional. Esto posibilita el uso de las
caractersticas propias de la orientacin a objetos
(bsicamente herencia y polimorfismo). Hay paquetes
comerciales y de uso libre disponibles que desarrollan el
mapeo
relacional
de
objetos,
aunque
algunos
programadores prefieren crear sus propias herramientas
ORM.
En la programacin orientada a objetos, las tareas de
gestin de datos son implementadas generalmente por la
manipulacin de objetos, los cuales son casi siempre
valores no escalares. Para ilustrarlo, considere el ejemplo
de una entrada en una libreta de direcciones, que
representa a una sola persona con cero o ms nmeros
telefnicos y cero o ms direcciones. En una
implementacin orientada a objetos, esto puede ser
modelado por un objeto persona con campos que
almacenan los datos de dicha entrada: el nombre de la
persona, una lista de nmeros happy wheels demo
telefnicos y una lista de direcciones. La lista de nmeros
telefnicos estara compuesta por objetos de nmeros
telefnicos y as sucesivamente. La entrada de la libreta
de direcciones es tratada como un valor nico por el
lenguaje de programacin (puede ser referenciada por una
sola variable, por ejemplo). Se pueden asociar varios
mtodos al objeto, como uno que devuelva el nmero
telefnico preferido, la direccin de su casa, etc..
Sin embargo, muchos productos populares de base de
datos, como los Sistemas de Gestin de Bases de Datos
SQL, solamente pueden almacenar y manipular valores
escalares como enteros y cadenas, organizados en tablas

normalizadas. El programador debe convertir los valores de


los objetos en grupos de valores simples para almacenarlos
en la base de datos (y volverlos a convertir luego de
recuperarlos de la base de datos), o usar slo valores
escalares simples en el programa. El mapeo objetorelacional es utilizado para implementar la primera
aproximacin.
El ncleo del problema reside en traducir estos objetos a
formas que puedan ser almacenadas en la base de datos
para recuperarlas fcilmente, mientras se preservan las
propiedades de los objetos y sus relaciones; estos objetos
se dice entonces que son persistentes.

ASOCIACIONES
Una regla general para el mapeo es respetar el
multiplicidad en el modelo de objetos, y en el
relacional. As una relacin 1-1 en el modelo de
deber corresponder a una relacin 1-1 en el
relacional.

tipo de
modelo
objetos,
modelo

La asociaciones, a su vez, estn divididas segn su


multiplicidad y su navagabilididad. Segn su multiplicidad,
pueden existir asociaciones 1-1, 1-n, m-n. Segn su
navegabilidad, se tiene unidireccional o bidireccional. Se
puede dar la seis combinaciones posibles. Una aclaracin
importante, es que en las base de datos relacionales, todas
las asociaciones son bidireccionales, tambin es un factor
de la incongruencia del modelos.
Asociacin clave fornea
Para mapear las relaciones, se usan los identificadores de
objetos (OID). Estos OID se agregan como una columna ms
en la tabla donde se quiere establecer la relacin. Dicha
columna es una clave fornea a la tabla con la que se est
relacionada. As, queda asignada la relacin. Recordar que

las relaciones en el modelo relacional son siempre


bidireccionales. El patrn se llama Foreign Key Mapping.
Multiplicidad 1-1
Cada objeto A est asociado con cero o un objeto B y, cada
objeto B est asociado con cero o un objeto A.
En el modelo relacional, cualquiera de las 2 tablas
relacionadas implementar una columna con el Oid de la
otra tabla, y esta columna ser la clave fornea para
relacionarlas.
Por ejemplo, entre Empleado y Posicion existe una relacin
1 a 1 y se mapea a 2 tablas.
No obstante, este tipo de relacin al ser un subconjunto de
1-n, y sta a su vez de n-m, puede mapearse como esta
ltima a travs de una tabla asociativa o implementando la
clave en la otra tabla relacionada (ver Nevegabilidad
unidireccional).
Multiplicidad 1-n
Cada objeto A puede estar asociado con cero o ms objetos
B, pero cada objeto B est asociado con cero o un objeto A.
En el modelo de objetos, este tipo de relacin, se
representa como una coleccin o array de tipo de datos de
usuario.
En el modelo relacional se pueden seguir 2 estrategias para
establecer la relacin:
Implementando la clave fornea OID en la tabla muchos a
la tabla uno. Implementando una tabla asociativa,
convirtiendo la relacin en muchos a muchos
Multiplicidad n-m
Cada objeto A est asociado con cero o ms objetos B, y a
su vez, cada objeto B est asociado a cero o ms objetos A.

En el modelo de objetos, esta relacin ser similar a la


anterior. Ser implementada mediante una coleccin o
array en ambos objetos.
En el modelo relacional, se usa una tabla auxiliar asociativa
para representar la relacin y cuyo +unico objetivo es
relacionar 2 o ms tablas. Dicha tabla tendr al menos 2
columnas, cada una representando la clave fornea a las 2
tablas que relaciona. Con esto se transforma la relacion n-m
a dos relaciones (1-n y 1-m).
Asociacin recursiva
Una asociacin recursiva (o reflexiva) es aquella donde
ambos extremos de la asociacin es una misma entidad
(clase, tabla).
En el modelo de objetos se representa por una linea
asociativa que empieza y termina en la misma clase. Puede
tener cualquier multiplicidad y navegabilidad.
En el modelo relacional, se representa por una clave
fornea a s misma, y depende de la multiplicidad si esa
clave se implementa en la misma tabla o en una tabla
asociativa.
Agregacin
Como ya mostr, una asociacin es una relacin dbil e
independiente entre 2 objetos. Una agregacin es una
relacin ms fuerte que una asocacin pero an
independiente. Una composicin es a la vez una relacin
fuerte y dependiente entre 2 objetos.
Con lo anterior se asume que tanto una asociacin,
agregacin o composicin se mapea en el modelo relacional
como una relacin.
La agregacin normalmente se mapea como una relacin nm, o sea que hay una tabla auxiliar para mapear la relacin.

La composicin puede mapearse como una relacin 1-n.


Donde los objetos compuestos mantienen una relacin con
el objeto compositor. A nivel relacional, indica que la tabla
de los objetos compuestos tienen una columna con la clave
fornea al objeto que los compuso.
En el modelo objetos, tanto las agregaciones como las
composiciones se corresponden con un array o una
coleccin de objetos.
Lenguaje De Definicin De Datos (DDL)
Un lenguaje de definicin de datos (Data Definition
Language, DDL por sus siglas en ingls) es un lenguaje
proporcionado por el sistema de gestin de base de datos
que permite a los usuarios de la misma llevar a cabo las
tareas de definicin de las estructuras que almacenarn los
datos as como de los procedimientos o funciones que
permitan consultarlos.
Un Data Definition Language o Lenguaje de descripcin de
datos ( DDL ) es un lenguaje de programacin para definir
estructuras de datos . El trmino DDL fue introducido por
primera vez en relacin con el modelo de base de datos
CODASYL, donde el esquema de la base de datos ha sido
escrito en un lenguaje de descripcin de datos que describe
los registros, los campos, y "conjuntos" que conforman el
usuario modelo de datos. Ms tarde fue usado para
referirse a un subconjunto de SQL, pero ahora se utiliza en
un sentido genrico para referirse a cualquier lenguaje
formal para describir datos o estructuras de informacin,
como los esquemas XML .
Com
Descripcin
ando
CREA Utilizado
TE
ndices

para

crear

nuevas

tablas, campos e

DRO
Empleado para eliminar tablas e ndices
P

Utilizado
para
ALTE
las tablas agregando campos o
R
definicin de los campos.

modificar
cambiando
la

CREATE
Este comando crea un objeto dentro de la base de datos.
Puede ser una tabla, vista, ndice, trigger, funcin,
procedimiento o cualquier otro objeto que el motor de la
base de datos soporte. Una sentencia CREATE en SQL crea
un objeto dentro de un sistema de gestin de bases de
datos relacionales (RDBMS).
Los tipos de objetos que se pueden crear depende del
RDBMS que est siendo utilizado, pero la mayora soportan
la creacin de tablas, ndices, usuarios, sinnimos y bases
de datos.
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 y/o quitar ndices a una tabla,
modificar un trigger, etc. El uso mas comn para este
comando se centra principalmente en la modificacin de
una base de datos y de las tablas que contenga esta
misma.
DROP
Este comando elimina un objeto de la base de datos. Puede
ser una tabla, vista, ndice, trigger, funcin, procedimiento
o cualquier otro objeto que el motor de la base de datos
soporte. Se puede combinar con la sentencia ALTER.
LENGUAJE DE MANIPULACION DE DATOS (DML)
Lenguaje de Manipulacin de Datos (Data Manipulation
Language, DML) es un lenguaje proporcionado por los
sistemas gestores de bases de datos que permite a los
usuarios de la misma llevar a cabo las tareas de consulta o

modificacin de los datos contenidos en las Bases de Datos


del Sistema Gestor de Bases de Datos. El lenguaje de
manipulacin de datos ms popular hoy da es SQL, usado
para recuperar y manipular datos en una base de datos
relacional.
SELECT
Este comando obtiene filas de la base de datos y permite
realizar la seleccin de una o varias filas o columnas de una
o varias tablas. La sintaxis completa de la instruccin
SELECT es compleja.
UPDATE
Este comando actualiza los registros de una tabla. Los
registros se pueden actualizar segn los resultados de una
instruccin SELECT - SQL.
INSERT
Este comando anexa un registro al final de una tabla
existente. El nuevo registro incluye los datos mostrados en
el comando INSERT o de una matriz
DELETE
Este comando Marca registros de una tabla para su
eliminacin utilizando la sintaxis de SQL.
LENGUAJE ESTRUCTURADO DE CONSULTA
El lenguaje de consulta estructurado o SQL (por sus siglas
en ingls Structured Query Language) es un lenguaje
declarativo de acceso a bases de datos relacionales que
permite especificar diversos tipos de operaciones en ellas.
Una de sus caractersticas es el manejo del lgebra y el
clculo relacional que permiten efectuar consultas con el fin
de recuperar de forma sencilla informacin de inters de
bases de datos, as como hacer cambios en ellas.
El lenguaje de consulta estructurado (SQL) es un lenguaje
de base de datos normalizado, utilizado por el motor de
base de datos de Microsoft Jet. SQL se utiliza para crear

objetos QueryDef, como el argumento de origen del mtodo


OpenRecordSet y como la propiedad RecordSource del
control de datos. Tambin se puede utilizar con el mtodo
Execute para crear y manipular directamente las bases de
datos Jet y crear consultas SQL de paso a travs para
manipular bases de datos remotas cliente - servidor.
Componentes del SQL
El lenguaje SQL est compuesto por comandos, clusulas,
operadores y funciones de agregado. Estos elementos se
combinan en las instrucciones para crear, actualizar y
manipular las bases de datos.
Comandos
Existen dos tipos de comandos SQL:
los DLL que permiten crear y definir nuevas bases de datos,
campos e ndices.
los DML que permiten generar consultas para ordenar,
filtrar y extraer datos de la base de datos.

También podría gustarte