Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Hoy en da las aplicaciones informticas son mucho ms ambiciosas que las necesidades de
programacin existentes en los aos 1960, principalmente debido a las aplicaciones
grficas, por lo que las tcnicas de programacin estructurada no son suficientes. Ello ha
llevado al desarrollo de nuevas tcnicas, tales como la programacin orientada a objetos y
el desarrollo de entornos de programacin que facilitan la programacin de grandes
aplicaciones.
A finales de los aos 1960 surgi una nueva forma de programar que no solamente daba
lugar a programas fiables y eficientes, sino que adems estaban escritos de manera que
facilitaba su comprensin posterior.
El teorema del programa estructurado, propuesto por Bhm-Jacopini, demuestra que todo
programa puede escribirse utilizando nicamente las tres instrucciones de control
siguientes:
Ejemplo:
INPUT x
INPUT y
auxiliar= x
x= y
y= auxiliar
PRINT x
PRINT y
2. La estructura de los programas es clara, puesto que las instrucciones estn ms ligadas o
relacionadas entre s.
7. Las instrucciones de salto, GOTO, quedan reservadas para construir las instrucciones
bsicas, si fuera realmente imprescindible. Aunque no se usan de forma directa, por estar
prohibida su utilizacin, estn incluidas implcitamente en las instrucciones de seleccin e
iteracin.
La programacin orientada a objetos (POO, u OOP segn sus siglas en ingls) es un paradigma de
programacin que viene a innovar la forma de obtener resultados. Los objetos manipulan los
datos de entrada para la obtencin de datos de salida especficos, donde cada objeto ofrece una
funcionalidad especial.
Su uso se populariz a principios de la dcada de 1990. En la actualidad, existe una gran variedad
de lenguajes de programacin que soportan la orientacin a objetos.
Los mtodos (comportamiento) y atributos (estado) estn estrechamente relacionados por la
propiedad de conjunto. Esta propiedad destaca que una clase requiere de mtodos para poder
tratar los atributos con los que cuenta. El programador debe pensar indistintamente en ambos
conceptos, sin separar ni darle mayor importancia a alguno de ellos. Hacerlo podra producir el
hbito errneo de crear clases contenedoras de informacin por un lado y clases con mtodos que
manejen a las primeras por el otro. De esta manera se estara realizando una "programacin
estructurada camuflada" en un lenguaje de POO.
Conceptos fundamentales
La POO es una forma de programar que trata de encontrar una solucin a estos problemas.
Introduce nuevos conceptos, que superan y amplan conceptos antiguos ya conocidos. Entre ellos
destacan los siguientes:
Clase
Herencia
Por ejemplo, herencia de la clase C a la clase D, es la facilidad mediante la cual la clase D hereda
en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones
hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos mtodos y variables
registrados como "pblicos" (public) en C. Los componentes registrados como "privados" (private)
tambin se heredan pero se mantienen escondidos al programador y slo pueden ser accedidos a
travs de otros mtodos pblicos. Para poder acceder a un atributo u operacin de una clase en
cualquiera de sus subclases pero mantenerla oculta para otras clases es necesario registrar los
componentes como "protegidos" (protected), de esta manera sern visibles en C y en D pero no
en otras clases.
Objeto
Mtodo
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se desencadena tras la
recepcin de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto
puede hacer. Un mtodo puede producir un cambio en las propiedades del objeto, o la generacin
de un "evento" con un nuevo mensaje para otro objeto del sistema.
Evento
Es un suceso en el sistema (tal como una interaccin del usuario con la mquina, o un mensaje
enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto
pertinente. Tambin se puede definir como evento la reaccin que puede desencadenar un
objeto; es decir, la accin que genera.
Atributos
Mensaje
Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus mtodos con
ciertos parmetros asociados al evento que lo gener.
Propiedad o atributo
Contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los
datos visibles desde fuera del objeto y esto se define como sus caractersticas predeterminadas, y
cuyo valor puede ser alterado por la ejecucin de algn mtodo.
Estado interno
Es una variable que se declara privada, que puede ser nicamente accedida y alterada por un
mtodo del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o
clase de objetos). No es visible al programador que maneja una instancia de la clase.
Componentes de un objeto
Identificacin de un objeto
Un objeto se representa por medio de una tabla o entidad que est compuesta por sus atributos
y funciones correspondientes.
Caractersticas de la POO
Abstraccin
Encapsulamiento
Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma
entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin (diseo estructurado)
de los componentes del sistema. Algunos autores confunden este concepto con el principio de
ocultacin, principalmente porque se suelen emplear conjuntamente.
Polimorfismo
Herencia
Las clases no se encuentran aisladas, sino que se relacionan entre s, formando una jerarqua de
clasificacin. Los objetos heredan las propiedades y el comportamiento de todas las clases a las
que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo
a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos
pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto
suele hacerse habitualmente agrupando los objetos en clases y estas en rboles o enrejados que
reflejan un comportamiento comn. Cuando un objeto hereda de ms de una clase se dice que
hay herencia mltiple; siendo de alta complejidad tcnica por lo cual suele recurrirse a la herencia
virtual para evitar la duplicacin de datos.
Modularidad
Principio de ocultacin
Cada objeto est aislado del exterior, es un mdulo natural, y cada tipo de objeto expone una
"interfaz" a otros objetos que especfica cmo pueden interactuar con los objetos de la clase. El
aislamiento protege a las propiedades de un objeto contra su modificacin por quien no tenga
derecho a acceder a ellas; solamente los propios mtodos internos del objeto pueden acceder a su
estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto de
manera inesperada, eliminando efectos secundarios e interacciones inesperadas. Algunos
lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una
manera controlada y limitando el grado de abstraccin. La aplicacin entera se reduce a un
agregado o rompecabezas de objetos.
Recoleccin de basura
La arquitectura de un sistema de base de datos est influenciada en gran medida por el sistema
informtico subyacente en el que se ejecuta el sistema de base de datos. En la arquitectura de un
sistema de base de datos se reflejan aspectos como la conexin de red, el paralelismo y la
distribucin.
El procesamiento paralelo: dentro de una computadora permite acelerar las actitudes del
sistema de base de datos, proporcionando a las transacciones una respuesta ms rpida, as como
la capacidad de ejecutar ms transacciones por segundo.
Niveles de abstraccin:
Podemos destacar tres niveles principales segn la visin y la funcin que realice el usuario sobre
la base de datos:
- Nivel fsico: El nivel ms bajo de abstraccin describe como se almacenan realmente los datos. En
el nivel fsico se describen en detalle las estructuras de datos complejas de bajo nivel.
- Nivel conceptual: Que es el siguiente nivel ms alto de abstraccin, se describe cules son los
datos reales que estn almacenados en la base de datos y qu relaciones existen entre los datos.
-Nivel lgico: El siguiente nivel ms alto de abstraccin describe que datos se almacenan en la
base de datos y que relaciones existen entre esos datos. La base de datos completa se describe as
en trminos de un nmero pequeo de estructuras relativamente simples en el nivel fsico, los
usuarios del nivel lgico no necesitan preocuparse de esta complejidad. Los administradores de
base de datos, que deben decidir la informacin que se mantiene en la base de datos, usan el nivel
lgico de abstraccin.
La independencia fsica: Es la capacidad de modificar el esquema interno sin tener que alterar el
esquema conceptual (o los externos). Por ejemplo, puede ser necesario reorganizar ciertos
ficheros fsicos con el fin de mejorar el rendimiento de las operaciones de consulta o de
actualizacin de datos. Dado que la independencia fsica se refiere slo a la separacin entre las
aplicaciones y las estructuras fsicas de almacenamiento, es ms fcil de conseguir que la
independencia lgica.
Por este motivo una base de datos debe presentar los datos de forma que el usuario pueda
interpretarlos y modificarlos. Evidentemente esto no lo podemos aplicar a un informtico
que necesite saber donde se encuentran fsicamente los datos para poder tratarlos.
Podemos destacar tres niveles principales segn la visin y la funcin que realice el usuario
sobre la base de datos:
Estos tres niveles de visin de usuarios los proporcionan los sistemas gestores de base de
datos (ya veremos ms adelante que significa esto).
Una base de datos especfica tiene un nico nivel interno y un nico nivel conceptual pero
puede tener varios niveles externos.
https://es.slideshare.net/LucelyDelgadoSnche
z/arquitectura-de-base-de-datos-75546628
Que modelos de base de datos existen?
Adems de la clasificacin por la funcin de las bases de datos, stas tambin se pueden clasificar
de acuerdo a su modelo de administracin de datos.
stas son bases de datos que, como su nombre indica, almacenan su informacin en una
estructura jerrquica. En este modelo los datos se organizan en una forma similar a un rbol (visto
al revs), en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene
padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas.
Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones que manejan un
gran volumen de informacin y datos muy compartidos permitiendo crear estructuras estables y
de gran rendimiento.
Fue una gran mejora con respecto al modelo jerrquico, ya que ofreca una solucin eficiente al
problema de redundancia de datos; pero, aun as, la dificultad que significa administrar la
informacin en una base de datos de red ha significado que sea un modelo utilizado en su mayora
por programadores ms que por usuarios finales.
Son bases de datos cuyo nico fin es el envo y recepcin de datos a grandes velocidades, estas
bases son muy poco comunes y estn dirigidas por lo general al entorno de anlisis de calidad,
datos de produccin e industrial, es importante entender que su fin nico es recolectar y
recuperar los datos a la mayor velocidad posible, por lo tanto la redundancia y duplicacin de
informacin no es un problema como con las dems bases de datos, por lo general para poderlas
aprovechar al mximo permiten algn tipo de conectividad a bases de datos relacionales.
ste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos
dinmicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los
laboratorios IBM en San Jos (California), no tard en consolidarse como un nuevo paradigma en
los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones
podran considerarse en forma lgica como conjuntos de datos llamados "tuplas". Pese a que sta
es la teora de las bases de datos relacionales creadas por Codd, la mayora de las veces se
conceptualiza de una manera ms fcil de imaginar. Esto es pensando en cada relacin como si
fuese una tabla que est compuesta por registros (las filas de una tabla), que representaran las
tuplas, y campos (las columnas de una tabla).
En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a
diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de
que es ms fcil de entender y de utilizar para un usuario espordico de la base de datos. La
informacin puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia
flexibilidad y poder para administrar la informacin.
El lenguaje ms habitual para construir las consultas a bases de datos relacionales es SQL,
Structured Query Language o Lenguaje Estructurado de Consultas, un estndar implementado por
los principales motores o sistemas de gestin de bases de datos relacionales.
Durante su diseo, una base de datos relacional pasa por un proceso al que se le conoce como
normalizacin de una base de datos.
Durante los aos 80 la aparicin de dBASE produjo una revolucin en los lenguajes de
programacin y sistemas de administracin de datos. Aunque nunca debe olvidarse que dBase no
utilizaba SQL como lenguaje base para su gestin.
https://es.wikipedia.org/wiki/Modelo_de_base_de
_datos