Está en la página 1de 8

INSTITUTO PROFESIONAL AIEP

Abstraccin y
Encapsulacin en una
base de datos
Benito vila Vilma Cornejo Fernando Guerra Claudio Navarro Jos Saavedra
Profesor: Erick lvarez

27/04/2013

Introduccin
La abstraccin consiste en aislar un elemento de su contexto o del resto de los
elementos que lo acompaan. En programacin, el trmino se refiere al nfasis en el
"qu hace?" ms que en el "cmo lo hace?".
En cuanto a la encapsulacin, es un mecanismo que consiste en organizar datos
y mtodos de una estructura, evitando el acceso a datos por cualquier otro medio distinto
a los especificados. Por lo tanto, la encapsulacin garantiza la integridad de los datos que
contiene un objeto.
En simples palabras, es una propiedad que permite ocultar la informacin al
resto de los objetos, impidiendo as accesos incorrectos o conflictos y garantiza la
integridad de los datos que contiene un objeto.
A continuacin, les presentamos el concepto de abstraccin y de
encapsulacin, en forma ms extendida y explicada, junto con algunos ejemplos de cada
concepto para mejorar la comprensin de lo que fue explicado anteriormente.

Abstraccin
La abstraccin expresa las caractersticas esenciales de un objeto, las cuales
distinguen al objeto de los dems. Adems de distinguir entre los objetos provee lmites
conceptuales como la encapsulacin, que separa las caractersticas esenciales de las no
esenciales dentro de un objeto. Si un objeto tiene ms caractersticas de las necesarias los
mismos resultarn difciles de usar, modificar, construir y comprender. La misma genera
una ilusin de simplicidad dado a que minimiza la cantidad de caractersticas que definen
a un objeto.
La abstraccin puede alcanzar un grado de reconocimiento de las similitudes entre
objetos, situaciones, o procesos del mundo real y determinar cules de estas similitudes
considerar y cuales ignorar. Es una descripcin simplificada que enfatiza algunos detalles o
propiedades mientras que suprime otros quedando solo aquellos detalles que tiene real
significacin para la situacin que se plantee. La abstraccin slo existe si puede ser
descrita, comprendida y analizada independientemente del mecanismo que
eventualmente ser usado para realizarla. En otras palabras, denota las caractersticas
esenciales de un objeto que lo distingue de cualquier otro tipo de objeto obteniendo as
fronteras conceptuales bien definidas relativas a la perspectiva del observador
(abstraccin del objeto).
A grandes rasgos, la abstraccin, permite que dispongamos de las caractersticas de
un objeto que necesitemos. Si necesitamos el objeto Persona, podramos poner nombre,
edad, direccin, estado civil, etc. Si lo necesitamos en un sistema administrativo, pero, si lo
requerimos para el rea de biologa, dentro de sus atributos quiz tengamos, ADN, RND,
Gen x1, Gen x2, etc., y los atributos antes mencionados no sean requeridos. En general,
podemos decir que Persona cuenta con todos los atributos mencionados aqu, pero por el
proceso de abstraccin excluimos todos aquellos que no tienen cabida en nuestro sistema.
Se define como un mtodo por el cual se rescatan los datos relevantes y se ignoran los
irrelevantes.

Abstraccin en la base de datos


Una base de datos es en esencia una coleccin de archivos relacionados entre s,
de la cual los usuarios pueden extraer informacin sin considerar las fronteras de los
archivos.
Un objetivo importante de un sistema de base de datos es proporcionar a los
usuarios una visin abstracta de los datos, es decir, el sistema esconde ciertos detalles de
cmo se almacenan y mantienen los datos. Sin embargo para que el sistema sea
manejable, los datos se deben extraer eficientemente.
Existen diferentes niveles de abstraccin para simplificar la interaccin de los
usuarios con el sistema; Interno, conceptual y externo, especficamente el de
almacenamiento fsico, el del usuario y el del programador.
Nivel fsico.
Es la representacin del nivel ms bajo de abstraccin, en ste se describe en detalle la
forma en como de almacenan los datos en los dispositivos de almacenamiento (por
ejemplo, mediante sealadores o ndices para el acceso aleatorio a los datos).
Nivel conceptual.
El siguiente nivel ms alto de abstraccin, describe que datos son almacenados realmente
en la base de datos y las relaciones que existen entre los mismos, describe la base de
datos completa en trminos de su estructura de diseo. El nivel conceptual de abstraccin
lo usan los administradores de bases de datos, quienes deben decidir qu informacin se
va a guardar en la base de datos.
Nivel externo
Se describen varios esquemas externos o vistas de usuario. Cada esquema externo
describe la parte de la base de datos que interesa a un grupo de usuarios determinados y
oculta a ese grupo el resto de la base de datos. Es el ms cercano al usuario. En este nivel
se describen los datos o parte de los datos que ms interesan a los usuarios.
Una base de datos especfica tiene un nico nivel interno y un nico nivel conceptual pero
puede tener varios niveles externos.

Ejemplos en una base de datos


1)

Obtener el Nombre completo de un cliente en una base de datos:

Clase Cliente
public function getNombreCompleto()
{
return $this->getNombre().' '.$this->getApellidos();
}

2)

Obtiene el total de una compra

Clase Carrito de compras


public function getTotal()
{
$total = 0;
foreach ($this->getProductos() as $producto)
{
$total += $producto->getPrecio() * $producto->getCantidad();
}
return $total;}

ENCAPSULAMIENTO
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una
misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la de los
componentes del sistema. Algunos confunden este concepto con el principio de
ocultacin, principalmente porque se suelen emplear conjuntamente. El concepto de
encapsulamiento es una de las caractersticas principales de los lenguajes y sistemas
orientados a objetos. Tambin est relacionado con los conceptos de tipos de datos
abstractos y de ocultacin de informacin en los lenguajes de programacin. La idea
principal es definir el comportamiento de un tipo de objeto con base en las operaciones
que se pueden aplicar externamente a objetos de ese tipo. La estructura interna del objeto
queda oculta y slo se puede tener acceso a l a travs de una serie de operaciones
predefinidas, algunas de las cuales pueden servir para crear o destruir objetos, actualizar
el estado de los mismos, para obtener partes del valor del objeto o bien aplicar clculos a
dicho valor, pudiendo estas operaciones ser mezcladas entre s. Los usuarios externos slo
perciben la interfaz del objeto, la que define los nombres y argumentos de cada operacin,
la implementacin del objeto queda oculta, esto significa que tambin quedan ocultas las
definiciones de estructuras de datos internas y la implementacin de las operaciones que
tienen acceso a tales estructuras.
La encapsulacin: Se refiere a la capacidad de agrupar y reducir en un entorno con
lmites bien definidos distintos elementos. Cuando hablemos de encapsulacin en general
siempre nos referiremos a encapsulacin abstracta. De manera informal, primero
generalizamos la abstraccin y luego decimos: la generalizacin est bien, pero dentro de
un cierto orden: hay que poner lmites (la encapsulacin), y dentro de esos lmites vamos a
meter, a saco, todo lo relacionado con lo abstrado: no slo datos, sino tambin mtodos,
comportamientos, etc.

Ocultacin de datos
El usuario de una clase en particular no necesita saber cmo estn estructurados los
datos dentro de ese objeto, es decir, un usuario no necesita conocer la implementacin. Al
evitar que el usuario modifique los atributos directamente y forzndolo a utilizar funciones
definidas para modificarlos (llamadas interfaces), se garantiza la integridad de los datos
(por ejemplo, uno puede asegurarse de que el tipo de datos suministrados cumple con
nuestras expectativas bien que los se encuentran dentro del periodo de tiempo esperado).
La encapsulacin define los niveles de acceso para elementos de esa clase. Estos
niveles de acceso definen los derechos de acceso para los datos, permitindonos el acceso
a datos a travs de un mtodo de esa clase en particular, desde una clase heredada o
incluso desde cualquier otra clase. Existen tres niveles de acceso:

Pblico: funciones de toda clase pueden acceder a los datos o mtodos de una
clase que se define con el nivel de acceso pblico. Este es el nivel de proteccin de
datos ms bajo

Protegido: el acceso a los datos est restringido a las funciones de clases heredadas,
es decir, las funciones miembro de esa clase y todas las subclases.

Privado: el acceso a los datos est restringido a los mtodos de esa clase en
particular. Este es nivel ms alto de proteccin de datos.

Ejemplo de Encapsulamiento en la vida real


Tambin conocida como ocultamiento. Cuando me acuesto a ver televisin no me
preocupo del modo como ste funciona, o lo que hace para cambiar de canal o aumentar
el volumen. A menos que seas experto en electrnica o tcnico en televisores, te pasar lo
mismo: no lo sabes y no te importa; slo sabes que al presionar un botn ocurre la magia.
La encapsulacin, se encarga de mantener ocultos los procesos internos que necesita
para hacer lo que sea que haga, dndole al programador acceso slo a lo que necesita.
Esto da dos ventajas iniciales: Lo que hace el usuario puede ser controlado internamente
(incluso sus errores), evitando que todo colapse por una intervencin indeseada (t no
quieres que tu mam, que no tiene ni idea de electrnica, abra tu televisor y empiece a
jugar con los circuitos para cambiar los canales manualmente verdad?). La segunda
ventaja es que, al hacer que la mayor parte del cdigo est oculto, puedes hacer cambios
y/o mejoras sin que eso afecte el modo como los usuarios van a utilizar tu cdigo. Slo
tienes que mantener igual la forma de acceder a l (en el caso del control de la tele, que
los botones sigan siendo los mismos y que el botn de apagado no cambie el volumen).
Por cierto, estas puertas de acceso que dadas a los usuarios son lo que se conoce
como interfaz.

También podría gustarte