Académique Documents
Professionnel Documents
Culture Documents
TEORIA
Ao: 2013-2C
Base de Datos I
Profesor Titular: Esp. Juan Domingo Tonsich
Hoja N:1
TEORIA
Ao: 2013-2C
Binarios:
Nivel: es el nmero de ramas que hay que recorrer para llegar de la raz a un
nodo. Ejemplo: el nivel del nodo
a es 1 (es un convenio), el nivel del nodo e es 3.
Altura: es el nivel ms alto del rbol. En el ejemplo la altura es 3.
Prof.: Esp. Juan Domingo Tonsich
Hoja N:2
TEORIA
Ao: 2013-2C
rbol balanceado por altura: es aquel en donde todos los hijos o nodos hoja se
Hoja N:3
TEORIA
Ao: 2013-2C
Class binarytree
{
Public:
Binarytree(): root(null) {};
Binarytree(t rootvalue);
Binarytree(t rootvalue,
Const binarytree<t>& left,
Const binarytree<t>& right);
Binarytree<t>& operator= (const
Binarytree<t>& b);
~binarytree(){ clear();};
Binarytree<t> left() const;
Binarytree<t> right() const;
Int isempty() const
{ return (root == null);};
T& operator() () const;
Void clear();
Void preorder();
Void inorder();
Void postorder();
Protected:
Treenode<t>* root;
};
Recorridos sobre rboles binarios
se consideran dos tipos de recorrido:
recorrido en profundidad.
recorrido en anchura o a nivel.
puesto que los rboles no son secuenciales como las listas, hay que buscar
estrategias alternativas para visitar todos los nodos.
recorridos en profundidad
Hoja N:4
TEORIA
Ao: 2013-2C
}
}
Hoja N:5
TEORIA
Ao: 2013-2C
Hoja N:6
TEORIA
Ao: 2013-2C
Hoja N:7
TEORIA
Ao: 2013-2C
bsqueda
insercin
borrado
Hoja N:8
TEORIA
Ao: 2013-2C
Hoja N:9
TEORIA
Ao: 2013-2C
rboles 2-3-4
como una forma de eliminar las bsquedas exhaustivas
De los rboles binarios existen los rboles 2-3-4.
estos son rboles en cuyos nodos se permite tener ms de una clave al mismo
tiempo.
los rboles binarios tienen mximo 2 hijos (derecho e izquierdo).
si se le permite al nodo tener 2 valores, este podr tener 3 ligas a subrboles y
uno con 3 valores podr tener 4 ligas.
un rbol con estas caractersticas puede contener entonces nodos con 2, 3 o 4
ligas, de ah que se les llama rboles 2-3-4.
en los rboles 2-3-4 todos los subrboles tienen la misma altura y estn
siempre balanceados.
estos rboles son muy atractivos para el almacenamiento y recuperacin de
claves, sin embargo son un tanto complicados de implementar.
los rboles 2-3 son un tipo de rbol balanceado por altura (height balanced)
en donde todos los nodos no terminales tienen 2 3 descendientes y todos los
nodos hoja tienen la misma longitud (path length) o distancia desde la raz.
en estos rboles slo las hojas contienen la informacin (valores).
los nodos no-terminales contienen indicadores que constan de 2 valores de los
cuales el izquierdo es el mximo del subrbol izquierdo y el segundo valor es el
valor mximo del subrbol central.
rboles rojo - negro
los rboles rojo-negro son rboles binarios en donde cada nodo tiene un color
ya sea rojo o negro.
estos rboles representan una manera de transformar un rbol 2-3-4 en uno
binario, lo que se puede lograr
Utilizando los siguientes lineamientos:
todo nodo 2 es transformado a un nodo negro con descendientes negros.
todo nodo 3 es transformado en un nodo negro con un hijo rojo y uno negro.
un nodo 4 es transformado a un nodo negro con dos hijos rojos.
esto satisface las siguientes propiedades:
todos los nodos tienen un color, ya sea rojo o negro.
toda hoja es negra.
ambos descendientes de un nodo rojo son siempre nodos negros.
cada camino desde cualquier nodo hasta una hoja descendiente contiene el
mismo nmero de nodos negros.
no hay dos nodos rojos adyacentes en un camino.
al nmero de nodos negros en el camino de un nodo a una hoja descendiente
se le conoce como la altura
Negra del nodo.
la altura - negra de un rbol rojo - negro es la altura
negra de su raz.
Hoja N:10
TEORIA
Ao: 2013-2C
Rojo negro:
Arboles avl
la estructura de datos ms vieja y mejor conocida para rboles balanceados es
el rbol AVL.
su propiedad es que la altura de los subrboles de cada nodo difiere en no ms
de 1.
para mantenerlo balanceado es necesario saber la altura o la diferencia en
alturas de todos los subrboles:
se debe tener que guardar informacin adicional en cada nodo: un contador de
la diferencia entre las alturas de sus dos subrboles.
Los rboles AVL fueron nombrados por sus desarrolladores adelson - velskii y
landis.
Probablemente la principal caracterstica de los rboles AVL es su excelente
tiempo de ejecucin para las diferentes operaciones (bsquedas, altas y bajas).
en las siguientes dos figuras la primera es un rbol avl y la segunda no lo es ya
que los subrboles del nodo l difieren en altura por ms de 1.
Un ejemplo de rbol AVL es el rbol (a), mientras que el rbol (b) no lo es.
rboles multiway
los rboles son utilizados para almacenar informacin y para poder accederla.
cuando se trata de volmenes muy grandes de datos almacenados en disco
duro, las estructuras y estrategias de bsqueda vistas anteriormente resultan
ineficientes, especialmente por el alto nmero de accesos al disco.
para evitar tener que hacer muchos accesos a disco es razonable tener varias
claves en cada nodo del rbol.
cuando la informacin de varios nodos se junta formando pequeos grupos a
estos se les llama pginas.
si en cada acceso a disco un procedimiento puede leer toda una pgina de
datos en lugar de leerlos de uno en uno:
se puede disminuir significativamente el nmero de accesos necesarios para
encontrar un determinado dato.
a los rboles que manejan en cada nodo una pgina se les llama rboles
multiway:
Cada nodo podr tener un mximo de m valores o claves y por consiguiente
m + 1 ligas a sus descendientes.
la bsqueda de una clave sera anloga a la de los rboles 2-3-4.
insertar un dato en un nodo m (es decir, que ya est lleno, con m - 1
elementos) implica dividir dicho nodo en 2 nodos de tipo m/2 (para ello se
asume que es nmero par):
ejemplo, un nodo 4 (que tiene 3 elementos) se divide en 2 nodos de tipo 2,
al igual que en el caso de los rboles 2-3-4.
el tamao de una pgina no es totalmente arbitrario:
a mayor tamao el tiempo para procesarla es mayor.
depende tambin de la cantidad de memoria principal disponible.
rboles b
Prof.: Esp. Juan Domingo Tonsich
Hoja N:11
TEORIA
Ao: 2013-2C
este tipo de rboles fue llamado rboles b por r. Bayer y e. Mccreight, los
primeros en considerar el uso de estos rboles de tipo multiway.
un rbol b de orden w cumple con las siguientes propiedades:
toda pgina, excepto la raz contiene al menos w claves.
la raz contiene al menos una clave.
la raz tiene al menos 2 descendientes.
toda pgina contiene a lo sumo 2 w claves.
Toda pgina excepto las hojas tiene m + 1 descendientes, dnde m es el
nmero de claves en la pgina.
Las hojas no tienen descendientes.
todas las hojas estn en el mismo nivel.
cada nodo pgina es representado por una estructura que tiene:
Un espacio para 2 w claves y 2 w + 1 apuntadores hacia sus descendientes.
un campo con un valor que indica el nmero actual de claves en la pgina.
este tipo de rboles slo son tiles cuando son de orden mayor o igual a 3.
las operaciones de altas y bajas en un rbol b no alteran su balance.
rboles b+
una variacin a los rboles b consiste en que todas las claves estn en las hojas
mientras que los nodos no
terminales contienen los ndices para las claves.
adicionalmente las hojas estn conectadas secuencialmente.
en estos rboles se requieren 2 tipos de estructuras:
una para representar los nodos no terminales:
igual a la de los rboles b.
Otra para las hojas:
tiene un apuntador adicional para apuntar a la siguiente hoja.
Estos rboles son especialmente tiles para aplicaciones que requieren ambos
tipos de acceso, secuencial y aleatorio.
para buscar un dato en estos rboles es necesario recorrer un camino completo
hasta la hoja correspondiente siguiendo los ndices:
el tiempo de bsqueda es siempre constante.
las bajas son diferentes:
cuando se elimina un dato se tienen que mover y reajustar elementos para
evitar huecos y para que la informacin en los nodos no - terminales
Asociados no cambie.
si una pgina tiene menos de la mitad de elementos (underflow) es necesario
balancear el rbol.
para balancear se redistribuyen los datos o se concatenan pginas.
rboles binarios hilvanados
al estudiar la representacin enlazada de un rbol binario es fcil observar que
existen muchos enlaces nulos.
de hecho, pueden existir ms enlaces nulos que punteros con valores reales.
Prof.: Esp. Juan Domingo Tonsich
Hoja N:12
TEORIA
Ao: 2013-2C
para un rbol con n nodos, existen n+1 enlaces nulos de los 2n enlaces
existentes en la representacin (ms de la mitad).
como el espacio de memoria ocupado por los enlaces nulos es el mismo que el
ocupado por los no nulos, podra resultar conveniente utilizar estos enlaces
Nulos para almacenar alguna informacin de inters
Para la manipulacin del rbol binario.
una forma de utilizar estos enlaces es sustituirlos por
Punteros a otros nodos del rbol.
los enlaces nulos situados en el subrbol derecho de un nodo se suelen
reutilizar para apuntar al sucesor de ese nodo en un determinado recorrido del
rbol, por ejemplo infijo.
los enlaces nulos en subrboles izquierdos se utilizan para apuntar al
predecesor del nodo en el mismo tipo de recorrido.
si para algn nodo no existe predecesor (porque es el primero del recorrido) o
sucesor (porque es el ltimo), se mantiene con valor nulo el enlace
correspondiente.
otra ventaja es la posibilidad de un acceso rpido al sucesor (o al predecesor)
de un nodo, que es una operacin frecuentemente necesaria.
para poder manejar correctamente toda la informacin de la que se dispone en
la representacin hilvanada (con hilos) del rbol binario, es necesario poder
distinguir entre lo que son punteros normales,
Que representan las relaciones reales entre los nodos,
Y lo que son hilos.
esto se puede hacer aadiendo dos campos booleanos a la representacin de
los nodos del rbol.
estos nuevos campos indicarn si los enlaces izquierdo y derecho son hilos o
no.
con el objeto de no mantener absolutamente ningn enlace nulo y para facilitar
el recorrido del rbol, se suele aadir a la estructura un nodo raz que no
contiene informacin real.
En general, la utilizacin de enlaces hilos simplifica los algoritmos de recorrido
del rbol, por lo que son recomendables cuando el recorrido del rbol es una
operacin frecuente.
Desde el punto de vista de la manipulacin general del rbol hay que tener en
cuenta que:
La insercin de nuevos nodos debe mantener en todo momento esta estructura
de enlaces con los nodos sucesor y predecesor.
Cada vez que se inserte un nodo se deber comprobar si existen enlaces de
este tipo que deban ser modificados o creados, adems de los punteros
Normales que relacionan los nodos del rbol.
Hoja N:13
TEORIA
Ao: 2013-2C
Hoja N:14
TEORIA
Ao: 2013-2C
Hoja N:15
TEORIA
Ao: 2013-2C
como una base para las estructuras fsicas de bases de datos en sistemas
comerciales para la administracin de bases de datos:
incluyendo varios sistemas relacionales.
para facilitar al usuario de lenguajes de consulta de tipo natural en la
formulacin de las mismas.
ejemplo con un ndice de inversin sencillo (estructurado como una tabla):
invertir el archivo de cuentas con base en num-socio, resulta en el ndice de
inversin mostrado.
los registros estn ordenados por el valor id.
el ordenamiento de los valores de la llave en el ndice no necesita ser igual al
ordenamiento de los registros correspondientes en el archivo.
si las entradas en el ndice de inversin estn ordenadas se facilita la
bsqueda de un valor de llave en particular:
se puede utilizar bsqueda binaria:
requiere o(log2 n) comparaciones.
la bsqueda secuencial requiere o(n/2) comparaciones.
definiciones
si un campo de llave se usa para determinar la estructura de almacenamiento
de los datos del archivo se lo llama llave primaria (o principal) del archivo:
todas las dems llaves de acceso son llamadas llaves secundarias.
desde un punto de vista purista, el trmino inversin implica que los valores
de los datos indexados han sido sacados del registro de datos:
Residen solamente en el correspondiente ndice de inversin.
un archivo completamente invertido tiene un ndice de inversin para cada
campo de datos:
si los valores correspondientes fueron removidos de los registros de datos:
el resultado es que un archivo completamente invertido no necesita tener
registros de datos.
un archivo que no est completamente invertido, pero tiene al menos un
ndice de inversin, se dice que es un archivo parcialmente invertido.
conforme se van sacando los valores de llaves de inversin fuera de los
registros de datos:
se ahorra espacio.
el proceso es ms difcil:
ej.: la solicitud: cul es el num-socio para la cuenta con id = 335812?,
requiere de los siguientes pasos:
determinar la direccin del registro con id = 335812 dentro del archivo de
datos (la tcnica a utilizar depende de cmo est organizado el archivo).
buscar el ndice de inversin num-socio para la direccin anterior (el valor
num-socio no est en el registro de datos).
podra requerirse una bsqueda secuencial en el ndice de inversin numsocio:
se debe a que los ndices de inversin normalmente son estructurados con
base en sus valores de llave de inversin y no por las direcciones de los
registros de datos.
Prof.: Esp. Juan Domingo Tonsich
Hoja N:16
TEORIA
Ao: 2013-2C
Hoja N:17
TEORIA
Ao: 2013-2C
conceptos bsicos
un archivo multilista mantiene un ndice para cada llave secundaria.
existe una entrada en el ndice de llave secundaria para cada valor que la
llave secundaria tiene actualmente en el archivo de datos.
la organizacin de multilista difiere de la de inversin en lo siguiente:
la entrada en el ndice de inversin para un valor de llave tiene un apuntador
a cada registro de datos con ese valor de llave.
la entrada en el ndice de multilista para un valor de llave tiene slo un
apuntador al primer registro de datos con ese valor de llave.
Este registro de datos contiene un apuntador al siguiente registro de datos
con ese valor de llave, y as sucesivamente:
hay una lista ligada de registros de datos para cada valor de la llave
secundaria.
los encadenamientos en multilistas normalmente son bidireccionales y
ocasionalmente son circulares, para mejorar la eficiencia de actualizacin.
la inversin no afecta al archivo de datos y la multilista s:
cada registro debe tener espacio para los apuntadores que instrumentan la
accesibilidad
De la llave secundaria
procesamiento
si se debe responder consultas de contabilizacin del tipo:
cuntas cuentas hay en sucursal = ne?.
cuntas cuentas hay con cdigo-grupo = ea001?.
cada entrada a un valor en el ndice de la
Multilista debe haber almacenado:
No solo un apuntador al primer registro con ese valor de llave.
sino tambin la longitud de las entradas de la lista ligada de registros.
Hoja N:18
TEORIA
Ao: 2013-2C
Evolucin y Comparacin:
El ofrecimiento de sistemas de administradores de
bases de datos se dio recin a mediados de la dcada del 60, el trmino base de datos
fue acuado por primera vez en 1963, en un simposio celebrado en California.
La cantidad de datos de una base de datos, normalmente
se mide en Terabytes en las grandes empresas o corporaciones, y en Mega Bytes y
Giga Bytes en Empresas ms pequeas. Muchas de estas organizaciones dependen de
la operacin continua, ininterrumpida y eficaz de un Sistema de Base de Datos, pues
son utilizados en los proceso de toma de decisiones inherentes a la administracin de
la misma.
Inicialmente solo las grandes computadores eran
capaces de albergar tanta informacin y a la vez procesarla, pero hoy da y gracias al
avance de la tecnologa informtica hizo posible que cualquier PC sea capaz de utilizar
un manejador de Base de Datos y con grandes volmenes de informacin.
De forma sencilla podemos indicar que una base de
datos no es ms que un conjunto de informacin relacionada que se encuentra
agrupada o estructurada. El archivo por s mismo, no constituye una base de datos,
sino ms bien la forma en que est organizada la informacin es la que da origen a la
base de datos.
Las bases de datos manuales, pueden ser difciles de
gestionar y modificar, por ejemplo, en una gua de telfonos no es posible encontrar el
nmero de telfono de un individuo si no sabemos su apellido, aunque conozcamos su
domicilio. Del mismo modo, en un archivo de pacientes en el que la informacin est
ordenada por el nombre de los mismos, ser una tarea bastante engorrosa encontrar
todos los pacientes que viven por una determinada calle o determinado barrio. Los
problemas expuestos anteriormente se pueden resolver creando una base de datos
informatizada.
Desde el punto de vista informtico, una 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 manipulan ese conjunto de
datos. Desde el punto de vista ms formal, podramos definir una base de datos como
un conjunto de datos estructurados, fiables y homogneos, organizados
independientemente en mquina, accesibles en tiempo real, compartibles por usuarios
concurrentes que tienen necesidades de informacin diferente y no predecibles en el
tiempo.
No podemos comparar directamente Base de Datos con
archivos, porque para ello es necesario tener mas de un(1) archivo, pero si esto es as
entraramos en los problemas de redundancia de datos, inconsistencia de datos,
heterogeneidad de formatos de datos, no podemos compartir datos de las distintas
aplicaciones, no manejamos la seguridad de todos los archivos y por ltimo ante
pequeas modificaciones en la estructura de los datos requiere de muchas horas de
programacin para adecuar las mismas.
Segn Engles una Base de Datos es un conjunto de
datos de operacin almacenados y utilizados por los sistemas de aplicacin de una
empresa, y al mencionar Empresa, se lo hace en sentido genrico y amplio, pero lo
importante es que necesita de DATOS DE OPERACION referente a su funcionamiento,
por ejemplo un Banco requiere datos de sus Clientes, una Mutual de sus Afiliados, un
Hospital de sus Pacientes, una Facultad de sus Alumnos y Profesores.
La idea general es que estamos tratando con una coleccin
de datos que cumplen las siguientes propiedades:
Hoja N:19
TEORIA
Ao: 2013-2C
Definiciones:
ENTIDAD: Es cualquier objeto distinguible, que pueda ser representado en una Base
de Datos. Es todo aquello que tiene existencia, el universo esta compuesto de infinitas
entidades, sabemos lo que es, pero no podemos definirlo, no es un individuo. Al hablar
de entidad, hablo de las caractersticas de los componentes de la entidad, y estas
caractersticas se denominan atributos de la misma. Estas entidades generalmente son
vinculadas por asociaciones, y para una entidad pueden existir varias asociaciones.
Una entidad tiene caractersticas que la definen y son inherentes a ella. De la entidad
Alumnos de la FACENA, nos interesa, Nro.Lib., Apellido y Nomb., Domicilio, Fecha de
Nacimiento, etc., a estas caractersticas se la denominan ATRIBUTOS de la Entidad.
Depende de la funcin que se esta buscando desempear estos atributos puede ser
trascendente o intrascendente. Si tengo una entidad llamada Provincias limtrofes a
Corrientes, esta no formara parte de la Base de Datos, solo tengo los valores, por
ejemplo 1-Misiones, 2-Chaco, 3-Entre Ros, 4-Santa Fe, seran los lugares de donde
provienen los alumnos de esta Facultad.
INDIVIDUO O INSTANCIA: Son elementos que forman parte del conjunto entidad,
o sea que cumplen con la caracterstica que hacen a la definicin de la entidad. Toda
instancia o tupla (definicin de otros autores) debe ser identificada por un valor de
atributo o la unin de varios valores de atributos, perteneciendo todos estos a la
entidad.
Hoja N:20
TEORIA
Ao: 2013-2C
COLOR
GVS286
RXG313
HEI626
GRIS
Bordo
Verde
AO
FABRICACION
2008
1995
2007
MARCA
RENAULT
FIAT
FORD
CANTIDAD de
PUERTAS
4
5
2
Entidad: Automviles.Instancia N1: GVS286, GRIS, 2008, RENAULT, 4 .Atributos: Patente, Color, Ao Fabricacin, Marca, Cantidad de Puertas.Dominio del Atributo Marca: Renault, Fiat, Ford.Valor del Atributo Color: Verde.Dato de la Instancia N2 del atributo Color: Bordo.-
Hoja N:21
TEORIA
Ao: 2013-2C
Definicin de un DBMS :
Un DBMS es un sistema de mantenimiento de registros por medio de
aplicaciones (programas) para tener acceso a ellos. Comnmente, la base de datos
contiene informacin interrelacionada y referente a una misma entidad o empresa. El
objetivo primordial de una DBMS es crear un ambiente en el que sea posible almacenar
y recuperar informacin en forma eficiente y conveniente.
Los sistemas de base de datos se disean para manejar grandes
cantidades de informacin, la manipulacin de los datos involucra tanto la definicin de
estructuras para el almacenamiento de la informacin como la provisin de
mecanismos para la manipulacin de la informacin, adems un sistema de base de
datos debe de tener implementados mecanismos de seguridad que garanticen la
integridad de la informacin, a pesar de cadas del sistema o intentos de accesos no
autorizados.
Un objetivo principal de un sistema de base de datos es proporcionar a
los usuarios finales una visin abstracta de los datos, esto se logra escondiendo ciertos
detalles de como se almacenan y mantienen los datos.
Componentes de un DBMS:
Datos: estos estn almacenados en una o mas base de datos, es conveniente suponer
siempre que hay una sola. Es exclusiva responsabilidad del DBA que esto ocurra.
Hardware: es el lugar de residencia de la base de datos, son discos que con
dispositivos asociados, permiten el acceso al mismo.
Software: es un programa o aplicacin que manipula datos o que hace de sistema
administrador de base de datos (DBMS).
Usuarios: Son aquellos que por medio del software, y utilizando el hardware,
hacen uso de los datos, pero en diferentes niveles, siendo estos los siguientes:
1-Programador de Aplicaciones: es el encargado de escribir programas en
lenguajes de manejadores de bases de datos, tiene por funcin recuperar, crear,
suprimir y modificar informacin existente.-
Hoja N:22
TEORIA
Ao: 2013-2C
Objetivos de un DBMS:
Los objetivos principales de un sistema de base de datos es la de cumplir con el
mximo de eficacia con los siguientes aspectos:
1)Evitar la redundancia: al no tener la misma informacin en diferentes archivos, a
pesar de que a veces por estrategia comercial es conveniente, pero acarrea otros
problemas en la parte de actualizacin.2) Evitar la inconsistencia: como consecuencia de lo anterior, la informacin de un
articulo actualizado y el otro no, es una base de datos inconsistente, acarrea
informacin incorrecta o contradictoria (Descripcin, cantidad, precio). Salvo la
existencia de PROPAGACION DE ACTUALIZACIONES.3)Datos Compartidos: la informacin de la base de datos, es utilizada por las
distintas aplicaciones de la empresa, y al crear nuevas aplicaciones solo se agregan
datos o se ocupa la que hay en la base, sin crear nuevos archivos.4)Normas para los datos: siempre es conveniente unificar formatos de datos
almacenados, para el intercambio o migracin de datos entre sistemas de Bases de
Datos.
5)Seguridad de datos: con respecto al acceso, que sean por los canales definidos
oportunamente, estableciendo con esto niveles, y as tener el control total de acceso a
los datos. En los no centralizado es mas difcil todava. La informacin de toda empresa
es importante, aunque unos datos lo son ms que otros, por tal motivo se debe
considerar el control de acceso a los mismos, no todos los usuarios pueden visualizar
alguna informacin, por tal motivo para que un sistema de base de datos sea confiable
debe mantener un grado de seguridad que garantice la autentificacin y proteccin de
los datos. En un banco por ejemplo, el personal de seguridad slo necesita ver si la
persona que ingresa es cliente o no, no as si este tiene saldo acreedor o deudor, o si
tiene caja de ahorro y cuenta corriente.
6)Conservar la Integridad: con esto se garantiza que los datos de la base de datos
sean exactos. La inconsistencia entre dos entradas del mismo hecho.
Hoja N:23
TEORIA
Ao: 2013-2C
Uniformidad de Datos:
La definicin de campos en toda Base de Datos debe ser nica para
todos los posibles valores del atributo. No se puede asignar el campo Saldo de un
cliente de Banco, para cierta situacin 7 enteros y 2 decimales, y para otra 11 enteros
y 3 decimales.
El DBA debe tener la libertad de modificar estructuras y accesos, sin que
esto signifique cambios en la aplicacin.
La provisin de independencia de datos, es uno de los objetivos
esenciales de un sistema de bases de datos.
Independencia de Datos:
Es la inmunidad de las aplicaciones a los cambios de la estructura de
almacenamiento y la estrategia de acceso. La existencia de independencia de datos es
lo que hace que una base de datos crezca sin afectar a las aplicaciones.-
Hoja N:24
TEORIA
Ao: 2013-2C
Definicin:
Persona o grupo de personas encargada del funcionamiento general del
Sistema de Base de Datos, facilitando el desarrollo y el uso de la misma dentro
de una Institucin u Organismo.
Historia:
El alcance de la actividad de la Administracin de Datos es la organizacin completa
(empresa, institucin u otro organismo), mientras que el alcance de la Administracin
de Bases de Datos queda restringido a una Base de Datos en particular y a los
sistemas que los procesan. La Administracin de la Base de Datos opera dentro de un
marco proporcionado por la Administracin de Datos facilitndose de esta manera el
desarrollo y el uso de una Base de Datos y sus aplicaciones. Las siglas DBA suelen
utilizarse para designar tanto la funcin Administracin de Base de Datos como al titulo
del puesto Administrador de Base de Datos.
Funciones:
Funciones del DBA segn DATE(autor de Libros e investigador):
Definir El Esquema Conceptual: es tarea del administrador de datos decidir con
exactitud cual es la informacin que debe mantenerse en la base de datos, es decir,
identificar las entidades que interesan a la empresa y la informacin que debe
registrarse acerca de esas entidades. Este proceso por lo general se denomina diseo
lgico a veces conceptual- de bases de datos. Cuando el administrador de datos
decide el contenido de la base de datos en un nivel abstracto, el DBA crea a
continuacin el esquema conceptual correspondiente, empleando el DDL conceptual. El
Hoja N:25
TEORIA
Ao: 2013-2C
DBMS utilizar la versin objeto (compilada) de ese esquema para responder a las
solicitudes de acceso. La versin fuente sin compilar servir como documento de
referencia para los usuarios del sistema.
Hoja N:26
TEORIA
Ao: 2013-2C
Hoja N:27
TEORIA
Ao: 2013-2C
Responsabilidades:
Cuando hablamos de Responsabilidad, tambin hay muchas para el DBA, pero
especialmente se pueden citar las siguientes:
Hoja N:28
TEORIA
Ao: 2013-2C
Hoja N:29
TEORIA
Ao: 2013-2C
Hoja N:30
TEORIA
Ao: 2013-2C
Hoja N:31
TEORIA
Ao: 2013-2C
Hoja N:32
TEORIA
Ao: 2013-2C
Diccionario de Datos:
El diccionario de datos es un listado organizado de todos los datos pertinentes
al sistema con definiciones precisas y rigurosas para que tanto el usuario como
el analista tengan un entendimiento comn de todas las entradas, salidas,
componentes de almacenes y clculos intermedios.
El diccionario contiene dos tipos de datos y estructuras de datos. Los elementos
de datos se agrupan para formar una estructura de datos.
Elemento dato: El nivel ms importante de datos es el elemento dato. (Es
probable que usted conozca otros nombres que se le dan a este trmino:
campo dato o parte elemental). Ninguna unidad ms pequea tiene significado
para los analistas de sistemas o usuarios. Los elementos dato son los bloques
bsicos para todos los dems datos del sistema. Por si mismo no conllevan
suficiente significado para ningn usuario.
Estructuras de datos: Una estructura de datos es un grupo de datos
elementales que estn relacionados con otros y que en conjunto describen un
componente del sistema
est compuesto de
y
optativo (puede estar presente o ausente)
iteracin
seleccionar una de varias alternativas
comentario
identificador (campo clave) para un almacn
separa opciones alternativas en la construccin
Hoja N:33
TEORIA
Ao: 2013-2C
Hoja N:34
TEORIA
Ao: 2013-2C
Facilidades de anlisis
La cuarta razn para hacer uso de los diccionarios de
datos es determinar si son necesarias nuevas caractersticas o si estn en orden
los cambios de cualquier tipo.
Los analistas de sistemas abordan las siguientes
caractersticas del sistema:
Hoja N:35
TEORIA
Ao: 2013-2C
Hoja N:36
Alumno
TEORIA
Ao: 2013-2C
Libro
Retira
Retira
Alumno
(Prez Juan)
Libro
(Algebra)
A
B
Ejemplo: El DNI de un empleado de una Banco tiene asociado un solo nmero de
Legajo, y para cada nmero de legajo hay uno solo DNI
Uno a Muchos: Una ocurrencia de la entidad A est asociada con cualquier nmero
de ocurrencias de la entidad B, pero toda ocurrencia de una entidad B solo puede estar
asociada con una ocurrencia de la entidad A.
Hoja N:37
TEORIA
Ao: 2013-2C
B
Ejemplo: Un Pas tiene asociado muchas provincias, pero cada provincia tiene asociado
un solo Pas.Muchos a Muchos: Cualquier nmero de ocurrencias de la entidad A est asociada
con cualquier nmero de ocurrencias de la entidad B, y cualquier ocurrencia de una
entidad B est asociada con cualquier nmero de ocurrencias de la entidad A.
LLAVES o CLAVES:
Uno de los procesos de mayor relevancia en la manipulacin de
una base de datos es el de distinguir entre las diversas entidades y relaciones que
son manipuladas. Entendemos como una llave o clave al medio que nos permite
identificar en forma unvoca (nica e inequvoca) a una entidad dentro de un conjunto
de entidades.
Existen diversas categoras que permiten clasificar los tipos de
llaves o claves a utilizar:
a) LLAVE CANDIDATA: Se presenta tambin la situacin de que una relacin tenga
mas de un atributo que posea la propiedad de identificacin nica, o mas de una llave
Hoja N:38
TEORIA
Ao: 2013-2C
candidata. Entonces una de ellas pasara a ser la llave primaria y el/las llaves restantes
pasaran a ser llaves ALTERNAS.
Hoja N:39
TEORIA
Ao: 2013-2C
Atributos
Conjunto
de
Relaciones
Conexin
Una a Una:
Una a Muchas:
Muchas a Una:
Nombre
N Socio
Direccin
Socios
Hoja N:40
TEORIA
Ao: 2013-2C
Nombre
CodPelic
Gnero
Pelculas
Fecha
Dias
Alquileres
Nomb
re
Cod
Peli
c
Direcci
n
N
Socio
No
mbr
e
Pel
cula
s
Socios
Fecha
Dias
Alquil
Hoja N:41
Gne
ro
TEORIA
Ao: 2013-2C
Hoja N:42
TEORIA
Ao: 2013-2C
Direccin
PERU 430
JUNIN 1234
ROCA 980
JUNCAL 1100
B-Tabla de Pelculas:
CodPelicula
Nombre Pelcula
001
Duro de Matar
002
Tienes un Email
003
Mi Pobre Angelito
004
Asesino
Genero
Accion
Romantica
Divertida
Suspenso
B-Alquileres:
N SOCIO
1001
2002
3003
4004
CodPelicula
003
001
002
004
Fecha
01-05-2013
01-05-2013
02-05-2013
03-05-2013
Das
2
1
3
2
GENERALIZACIN Y ESPECIALIZACIN:
Hoja N:43
TEORIA
Ao: 2013-2C
Hoja N:44
TEORIA
Ao: 2013-2C
Exsistencia
1230
852
12580
872
9825
18228
Hoja N:45
TEORIA
Ao: 2013-2C
Hoja N:46
TEORIA
Ao: 2013-2C
FORMAS de MEDIR usa los posibles valores del dominio UNIDADES de MEDIDA
(Tn., Kg.).En una Base de Datos Relacional se requiere que todas las relaciones satisfagan
la condicin de que cada valor de atributo en cada tupla sea ATOMICO, esto es
que en la interseccin de una fila con una columna exista un solo valor y no un
conjunto de valores. Se permite es esa interseccin hasta un valor NULO,
representando algo <<desconocido>>.
De una RELACION que satisface lo anterior, se dice que esta NORMALIZADA.
Relacin Grado 2
Partimos de un atabla de PEDIDOS No Normalizada
Proveedor Artc.- Cantidad
P001
A001 - 350
A002 - 200
A004 - 100
P002
A002 - 150
A003 - 240
P003
A001 - 550
A003 - 400
A005 - 600
Relacin Grado 3
NORMALIZADA
PROVEEDOR ARTICULO CANTIDAD
P001
A001
350
P001
A002
200
P001
A004
100
P002
A002
150
P002
A003
240
P003
A001
500
P003
A003
400
P003
A005
600
El enfoque relacional solo admite relaciones normalizadas por:
La seleccin no impone restriccin real sobre lo que se puede representar.
La simplificacin de la estructura de los datos, conduce a simplificaciones en
muchas otras reas (Programador de Aplicacin, Usuarios Finales, etc.).Prof.: Esp. Juan Domingo Tonsich
Hoja N:47
TEORIA
Ao: 2013-2C
LLAVES o CLAVES:
Dentro de una relacin especifica, hay un atributo cuyos valores son nicos,
dentro de esta y por lo tanto se puede usar para identificar las tuplas de la
relacin. Tambin se denomina a esta Clave Primaria Simple o Llave Primaria
Simple.
No toda relacin posee llave primaria de un solo atributo, pero la relacin
tendr alguna combinacin de atributos que tomados en conjunto, tienen la
propiedad de la identificacin nica, a esta llave se la denomina Compuesta.
Toda relacin tiene una llave primaria (tal vez compuesta).
Se presenta tambin la situacin de que una relacin tenga ms de un atributo/s que
posea la propiedad de identificacin nica, a los cuales ya hemos denominado
claramente como llave-clave CANDIDATA. Entonces una de ellas pasara a ser la llave
primaria y el/las llaves restantes pasaran a ser llaves ALTERNAS.
Por lo general las tuplas representan a la ENTIDAD del mundo real y la llave primaria,
es el identificador nico para esas entidades.
Hoja N:48
TEORIA
Ao: 2013-2C
EXTENSIONES Y COMPRENSIONES:
Una base de datos relacional tiene dos componentes, extensin y comprensin.-
Hoja N:49
TEORIA
Ao: 2013-2C
Provincia
02
01
03
Unid.Medida
Tn.
Tn.
Kg.
Tn.
Localidad
Santo Tome
Rio Tercero
Paran
Exsistencia
1230
852
12580
872
Hoja N:50
TEORIA
Ao: 2013-2C
Hoja N:51
TEORIA
Ao: 2013-2C
Hoja N:52
TEORIA
Ao: 2013-2C
Comando
SELECT
INSERT
UPDATE
DELETE
Comandos DLL
Descripcin del Comando
Utilizado para crear nuevas tablas, campos e ndices
Empleado para eliminar tablas e ndices
Utilizado para modificar las tablas agregando campos o cambiando la
definicin de los campos.
Comandos DML
Descripcin del Comando
Utilizado para consultar registros de la base de datos que satisfagan un
criterio determinado.Utilizado para cargar lotes de datos en la base de datos en una nica
operacin.Utilizado para modificar los valores de los campos y registros
Especificados.Utilizado para eliminar registros de una tabla de una base de datos.-
Clusulas: Las clusulas son condiciones de modificacin utilizadas para definir los datos que
desea seleccionar o manipular.
Clusula
FROM
WHERE
GROUP BY
HAVING
ORDER BY
Descripcin de la Clusula
Utilizada para especificar la tabla de la cual se van a seleccionar los
Registros.Utilizada para especificar las condiciones que deben reunir los registros que
se van a seleccionar.Utilizada para separar los registros seleccionados en grupos especficos.Utilizada para expresar la condicin que debe satisfacer cada grupo.Utilizada para ordenar los registros seleccionados de acuerdo con un
orden especfico.Operadores Lgicos
Operador
AND
Uso
Es el "y" lgico. Evala dos condiciones y devuelve un valor de verdad slo si
Hoja N:53
TEORIA
Ao: 2013-2C
ambas son ciertas.Es el "o" lgico. Evala dos condiciones y devuelve un valor de verdad si
alguna de las dos es cierta.Negacin lgica. Devuelve el valor contrario de la expresin.-
OR
NOT
Operador
<
>
<>
<=
>=
=
BETWEEN
LIKE
IN
Operadores de Comparacin
Uso
Menor que.Mayor que.Distinto de.Menor Igual que
Mayor Igual que.Igual que.Utilizado para especificar un intervalo de valores.Utilizado en la comparacin de un modelo.Utilizado para especificar registros de una base de datos.-
Funciones de Agregado: Las funciones de agregado se usan dentro de una clusula SELECT en
grupos de registros para devolver un nico valor que se aplica a un grupo de registros.
Funcin
AVG
COUNT
SUM
MAX
MIN
Descripcin
Utilizada para calcular el promedio de los valores de un campo
Determinado.Utilizada para devolver el nmero de registros de la seleccin.Utilizada para devolver la suma de todos los valores de un campo
Determinado.Utilizada para devolver el valor ms alto de un campo especificado.Utilizada para devolver el valor ms bajo de un campo especificado.-
Consultas de Seleccin
Las consultas de seleccin se utilizan para indicar al motor de datos que devuelva informacin
de las bases de datos, esta informacin es devuelta en forma de conjunto de registros que se
pueden almacenar en una nueva tabla o base de datos, pudiendo ser esta modificables.
Consultas bsicas: La sintaxis bsica de una consulta de seleccin sera.
SELECT Campos FROM Tabla;
En donde campos es la lista de campos que se desean recuperar y tabla es el origen de los
mismos, por ejemplo:
SELECT NViaje , Patente , NombreChofer FROM VIAJES;
Esta consulta devuelve el nmero de viaje, la patente del camin, y el nombre del chofer de la
tabla VIAJES.Ordenar los registros:
Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las
tablas mediante la clusula ORDER BY Lista de Campos. En donde Lista de campos representa
los campos a ordenar. Ejemplo:
Hoja N:54
TEORIA
Ao: 2013-2C
Descripcin
Devuelve todos los campos de la tabla.Devuelve un determinado nmero de registros de la
Tabla.DISTINCT
Omite los registros cuyos campos seleccionados
coincidan totalmente.DISTINCTROW Omite los registros duplicados basndose en la
totalidad del registro y no slo en los campos
seleccionados.-
ALL
Si no se incluye ninguno de los predicados se asume ALL. El Motor de base de datos selecciona
todos los registros que cumplen las condiciones de la instruccin SQL. No se conveniente
abusar de este predicado ya que obligamos al motor de la base de datos a analizar la estructura
de la tabla para averiguar los campos que contiene, es mucho ms rpido indicar el listado de
campos deseados.
Hoja N:55
TEORIA
Ao: 2013-2C
Por ejemplo, varios empleados listados en la tabla choferes pueden tener el mismo
apellido. Si dos registros contienen Lpez Juan en el campo NombreChofer, la siguiente
instruccin SQL devuelve un nico registro:
SELECT DISTINCT NombreChofer FROM Choferes;
Con otras palabras el predicado DISTINCT devuelve aquellos registros cuyos campos
indicados en la clusula SELECT posean un contenido diferente. El resultado de una
consulta que utiliza DISTINCT no es actualizable y no refleja los cambios subsiguientes
realizados por otros usuarios.
DISTINCTROW: Devuelve los registros diferentes de una tabla; a diferencia del predicado
anterior que slo se fijaba en el contenido de los campos seleccionados, ste lo hace en el
contenido del registro completo independientemente de los campo indicados en la clusula
SELECT.
Hoja N:56
TEORIA
Ao: 2013-2C
Los operadores lgicos soportados por SQL son: AND, OR, XOR,
Is y Not. A excepcin de los dos ltimos todos poseen la siguiente sintaxis:
<expresin1> operador <expresin2>
En donde expresin1 y expresin2 son las condiciones a evaluar,
el resultado de la operacin vara en funcin del operador lgico. La tabla adjunta
muestra los diferentes posibles resultados:
Expresin-1
Verdad
Verdad
Falso
Falso
Verdad
Verdad
Falso
Falso
Verdad
Verdad
Falso
Falso
Operado Expresin-2
Resultado
r
AND
AND
AND
AND
OR
OR
OR
OR
XOR
XOR
XOR
XOR
Falso
Verdad
Verdad
Falso
Falso
Verdad
Falso
Falso
Falso
Verdad
Verdad
Verdad
Falso
Verdad
Falso
Verdad
Falso
Verdad
Verdad
Falso
Falso
Verdad
Verdad
Falso
Hoja N:57
TEORIA
Ao: 2013-2C
SELECT * FROM Empleados WHERE Edad > 25 AND Edad < 50;
SELECT * FROM Empleados WHERE (Edad > 25 AND Edad < 50) OR Sueldo <=
850.59;
En este caso la consulta devolvera los registros que contengan en "campo" un valor
incluido en el intervalo valor1, valor2 (ambos inclusive). Si anteponemos la condicin
Not devolver aquellos valores no incluidos en el intervalo.
SELECT * FROM Pedidos WHERE CodPostal Between 3400 And 3499;
(Devuelve los pedidos realizados en la provincia de Corrientes)
SELECT IIf(CodPostal Between 3500 And 3599, 'Provincial', 'Municipal')
FROM Editores;
(Devuelve el valor tipo texto 'Provincial' si el cdigo postal se encuentra en el intervalo,
'Municipal' en caso contrario)
El Operador Like: Se utiliza para comparar una expresin de cadena con un modelo en una
expresin SQL. Su sintaxis es:
Hoja N:58
TEORIA
Ao: 2013-2C
Like P[A-F]###
Este ejemplo devuelve los campos cuyo contenido empiece con una letra de la A a
la D seguidas de cualquier cadena.
Like [A-D]*
En la tabla siguiente se muestra cmo utilizar el operador Like para comprobar
expresiones con diferentes modelos.
Tipo de
coincidencia
Modelo
Planteado
Varios caracteres
'a*a'
Carcter especial
Varios caracteres
Un solo carcter
Un solo dgito
Rango de
caracteres
Fuera de un rango
Distinto de un
dgito
Combinada
'a[*]a'
'ab*'
'a?a'
'a#a'
'aa', 'aBa',
'aBBBa'
'a*a'
'abcdefg', 'abc'
'aaa', 'a3a', 'aBa'
'a0a', 'a1a', 'a2a'
'[a-z]'
'2', '&'
'[!a-z]'
'b', 'a'
'[!0-9]'
'a[!b-m]#'
Coincide
No coincide
'aBC'
'aaa'
'cab', 'aab'
'aBBBa'
'aaa', 'a10a'
El Operador In: Este operador devuelve aquellos registros cuyo campo indicado
coincide con alguno de los en una lista. Su sintaxis es:
expresin [Not] In (valor-1, valor-2,........,valor-n)
SELECT * FROM Pedidos WHERE Dpto In ('Saladas', 'Goya', 'Capital');
La clusula WHERE: La clusula WHERE puede usarse para determinar qu registros
de las tablas enumeradas en la clusula FROM aparecern en los resultados de la
instruccin SELECT. Despus de escribir esta clusula se deben especificar las
condiciones expuestas en los puntos anteriores. Si no se emplea esta clusula, la
consulta devolver todas las filas de la tabla. WHERE es opcional, pero cuando aparece
debe ir a continuacin de FROM.
SELECT ApyNom, Salario FROM Empleados WHERE Salario > 710.00;
SELECT NProd, Existencias FROM Productos WHERE Existencias <= Nuevo_Pedido;
SELECT * FROM Pedidos WHERE Fecha_Envio = #05/08/2002#;
Hoja N:59
TEORIA
Ao: 2013-2C
Hoja N:60
TEORIA
Ao: 2013-2C
Avg(expresin)
En donde expresin representa el campo que contiene los datos numricos para los
que se desea calcular la media o una expresin que realiza un clculo utilizando los
datos de dicho campo. La media calculada por Avg es la media aritmtica (la suma de
los valores dividido por el nmero de valores).
La funcin Avg no incluye ningn campo Null en el clculo.
SELECT Avg (Gastos) AS Promedio FROM Pedidos WHERE Gastos > 100;
Count: Calcula el nmero de registros devueltos por una consulta. Su sintaxis es la
siguiente:
Count (expresin)
En donde expresin contiene el nombre del campo que desea contar. Los operndoos
de expresin pueden incluir el nombre de un campo de una tabla, una constante o una
funcin (la cual puede ser intrnseca o definida por el usuario pero no otras de las
funciones agregadas de SQL). Puede contar cualquier tipo de datos incluso texto.
Aunque expresin puede realizar un clculo sobre un campo, Count simplemente
cuenta el nmero de registros sin tener en cuenta qu valores se almacenan en los
registros. La funcin Count no cuenta los registros que tienen campos null a menos
que expresin sea el carcter comodn asterisco (*). Si utiliza un asterisco, Count
calcula el nmero total de registros, incluyendo aquellos que contienen campos null.
Count (*) es considerablemente ms rpida que Count (Campo). No se debe poner el
asterisco entre dobles comillas ('*').
SELECT Count(*) AS Total FROM Pedidos;
Si expresin identifica a mltiples campos, la funcin Count cuenta un registro slo si
al menos uno de los campos no es Null. Si todos los campos especificados son Null, no
se cuenta el registro. Hay que separar los nombres de los campos con ampersand (&).
SELECT Count(FechaEnvo & Transporte) AS Total FROM Pedidos;
Max y Min: Devuelven el mnimo o el mximo de un conjunto de valores contenidos en
un campo especifico de una consulta. Su sintaxis es:
Min (expr)
Max (expr)
En donde expr es el campo sobre el que se desea realizar el clculo. Expr puede incluir
el nombre de un campo de una tabla, una constante o una funcin (la cual puede ser
intrnseca o definida por el usuario pero no otras de las funciones agregadas de SQL).
SELECT Min(Gastos) AS ElMin FROM Pedidos WHERE Pais = 'Argentina';
SELECT Max(Gastos) AS ElMax FROM Pedidos WHERE Pais = 'Uruguay';
Hoja N:61
TEORIA
Ao: 2013-2C
Hoja N:62
TEORIA
Ao: 2013-2C
Si la consulta contiene menos de dos registros, Var y VarP devuelven Null (esto indica
que la varianza no puede calcularse). Puede utilizar Var y VarP en una expresin de
consulta o en una Instruccin SQL.
SELECT Var(Gastos) AS Varianza FROM Pedidos WHERE Pais = 'Brasil';
SELECT VarP(Gastos) AS Varianza FROM Pedidos WHERE Pais = 'Per';
Consultas Actualizadas
Las consultas actualizadas son aquellas que no devuelven ningn registro, son las
encargadas de acciones como aadir, borrar y modificar registros.
DELETE: Crea una consulta de eliminacin que elimina los registros de una o ms de
las tablas listadas en la clusula FROM que satisfagan la clusula WHERE. Esta
consulta elimina los registros completos, no es posible eliminar el contenido de algn
campo en concreto. Su sintaxis es:
DELETE Tabla.* FROM Tabla WHERE criterio
DELETE es especialmente til cuando se desea eliminar varios registros. En una
instruccin DELETE con mltiples tablas, debe incluir el nombre de tabla (Tabla.*). Si
especifica ms de una tabla desde la que eliminar registros, todas deben ser tablas de
muchos a uno. Si desea eliminar todos los registros de una tabla, eliminar la propia
tabla es ms eficiente que ejecutar una consulta de borrado.
Se puede utilizar DELETE para eliminar registros de una nica tabla o desde varios
lados de una relacin uno a muchos. Las operaciones de eliminacin en cascada en
una consulta nicamente eliminan desde varios lados de una relacin. Por ejemplo, en
la relacin entre las tablas Clientes y Pedidos, la tabla Pedidos es la parte de muchos
por lo que las operaciones en cascada solo afectaran a la tabla Pedidos. Una consulta
de borrado elimina los registros completos, no nicamente los datos en campos
especficos. Si desea eliminar valores en un campo especificado, crear una consulta de
actualizacin que cambie los valores a Null.
Una vez que se han eliminado los registros utilizando una consulta de borrado, no
puede deshacer la operacin. Si desea saber qu registros se eliminarn, primero
examine los resultados de una consulta de seleccin que utilice el mismo criterio y
despus ejecute la consulta de borrado. Mantenga copias de seguridad de sus datos en
todo momento. Si elimina los registros equivocados podr recuperarlos desde las
copias de seguridad.
DELETE * FROM Empleados WHERE Cargo = 'Vendedor';
INSERT INTO: Agrega un registro en una tabla. Se la conoce como una consulta de
datos aadidos. Esta consulta puede ser de dos tipo: Insertar un nico registro
Insertar en una tabla los registros contenidos en otra tabla.
Para insertar un nico Registro la sintaxis es la siguiente:
INSERT INTO Tabla (campo-1, campo-2, .., campo-N)
VALUES (valor-1, valor-2, ..., valor-N)
Hoja N:63
TEORIA
Ao: 2013-2C
Hoja N:64
TEORIA
Ao: 2013-2C
UPDATE: Crea una consulta de actualizacin que cambia los valores de los
campos de una tabla especificada basndose en un criterio
especfico. Su sintaxis es:
UPDATE Tabla SET Campo1=Valor1, Campo2=Valor2, ... CampoN=ValorN
WHERE Criterio;
UPDATE es especialmente til cuando se desea cambiar un gran nmero de registros o
cuando stos se encuentran en mltiples tablas. Puede cambiar varios campos a la
vez. El ejemplo siguiente incrementa los valores Cantidad pedidos en un 10 por ciento
y los valores Transporte en un 3 por ciento para aquellos que se hayan enviado al
Buenos Aires:
UPDATE Pedidos SET Pedido = Pedidos * 1.1, Transporte = Transporte * 1.03
WHERE ProvinciaEnvo = 'Buenos Aires';
UPDATE no genera ningn resultado. Para saber qu registros se van a cambiar, hay
que examinar primero el resultado de una consulta de seleccin que utilice el mismo
criterio y despus ejecutar la consulta de actualizacin.
UPDATE Empleados SET Grado = 5 WHERE Grado = 2;
UPDATE Productos SET Precio=Precio * 1.1 WHERE Proveedor=8 AND Familia=3;
Si en una consulta de actualizacin suprimimos la clusula WHERE todos los registros
de la tabla sealada sern actualizados.
UPDATE Empleados SET Salario = Salario * 1.1
Tipos de Datos
Los tipos de datos SQL se clasifican en 13 tipos de datos primarios y de varios
sinnimos vlidos reconocidos por dichos tipos de datos.
Hoja N:65
TEORIA
Ao: 2013-2C
1 byte
BIT
1 byte
BYTE
1 byte
COUNTER
CURRENCY
8 bytes
DATETIME
SINGLE
4 bytes
DOUBLE
8 bytes
SHORT
LONG
2 bytes
4 bytes
1 byte por
LONGTEXT
De cero a un mximo de 1.2 gigabytes.
carcter
Segn se
LONGBINARY
De cero 1 gigabyte. Utilizado para objetos OLE.
necesite
1 byte por
TEXT
De cero a 255 caracteres.
caracter
La siguiente tabla recoge los sinnimos de los tipos de datos definidos:
Tipo de Dato
Sinnimos
BINARY
VARBINARY
BIT
BYTE
COUNTER
CURRENCY
DATETIME
SINGLE
DOUBLE
SHORT
LONG
LONGBINARY
LONGTEXT
Hoja N:66
TEORIA
Ao: 2013-2C
ALPHANUMERIC/CHAR/CHARACTER/STRING/VARCHAR
SubConsultas
Una subconsulta es una instruccin SELECT anidada dentro de una instruccin SELECT,
SELECT...INTO, INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta.
Puede utilizar tres formas de sintaxis para crear una subconsulta:
comparacin [ANY | ALL | SOME] (instruccin SQL)
expresin [NOT] IN (instruccin SQL)
[NOT] EXISTS (instruccin SQL)
Comparacin: es una expresin y un operador de comparacin que compara la
expresin con el resultado de la subconsulta.
Expresin: es una expresin por la que se busca el conjunto resultante de la
subconsulta.
Instruccin SQL: es una instruccin SELECT, que sigue el mismo formato y reglas que
cualquier otra instruccin SELECT. Debe ir entre parntesis.
Se puede utilizar una subconsulta en lugar de una expresin en la lista de campos de
una instruccin SELECT o en una clusula WHERE o HAVING.
En una subconsulta, se utiliza una instruccin SELECT para proporcionar un conjunto
de uno o ms valores especificados para evaluar en la expresin de la clusula WHERE
o HAVING.
Se puede utilizar el predicado ANY o SOME, los cuales son sinnimos, para recuperar
registros de la consulta principal, que satisfagan la comparacin con cualquier otro
registro recuperado en la subconsulta.
El ejemplo siguiente devuelve todos los productos cuyo precio unitario es mayor que el
de cualquier producto vendido con un descuento igual o mayor al 25 por ciento:
SELECT * FROM Productos WHERE PrecioUnidad > ANY
(SELECT PrecioUnidad FROM DetallePedido WHERE Descuento >= 0 .25);
El predicado ALL se utiliza para recuperar nicamente aquellos registros de la consulta
principal que satisfacen la comparacin con todos los registros recuperados en la
subconsulta.
Si se cambia ANY por ALL en el ejemplo anterior, la consulta devolver nicamente
aquellos productos cuyo precio unitario sea mayor que el de todos los productos
vendidos con un descuento igual o mayor al 25 por ciento. Esto es mucho ms
restrictivo.
El predicado IN se emplea para recuperar nicamente aquellos registros de la consulta
principal para los que algunos registros de la subconsulta contienen un valor igual. El
ejemplo siguiente devuelve todos los productos vendidos con un descuento igual o
mayor al 25 por ciento.:
Hoja N:67
TEORIA
Ao: 2013-2C
Hoja N:68
TEORIA
Ao: 2013-2C
SELECT campos FROM tb1 INNER JOIN tb2 ON tb1.campo1 comp tb2.campo2
tb1 y tb2: Son los nombres de las tablas desde las que se combinan los registros.
campo1 y campo2: Son los nombres de los campos que se combinan. Si no son
numricos, los campos deben ser del mismo tipo de datos y contener el mismo
tipo de datos, pero no tienen que tener el mismo nombre.
Comp: Es cualquier operador de comparacin relacional : =, <, >, <=, >=, o <>.
Se puede utilizar una operacin INNER JOIN en cualquier clusula FROM. Esto crea
una combinacin por equivalencia, conocida tambin como unin interna. Las
combinaciones Equi son las ms comunes; stas combinan los registros de dos
tablas siempre que haya concordancia de valores en un campo comn a ambas
tablas. Se puede utilizar INNER JOIN con las tablas Departamentos y Empleados
para seleccionar todos los empleados de cada departamento. Por el contrario,
para seleccionar todos los departamentos (incluso si alguno de ellos no tiene
ningn empleado asignado) se emplea LEFT JOIN o todos los empleados (incluso
si alguno no est asignado a ningn departamento), en este caso RIGHT JOIN.
Si se intenta combinar campos que contengan datos Memo u Objeto OLE, se produce
un error. Se pueden combinar dos campos numricos cualesquiera, incluso si son
de diferente tipo de datos. Por ejemplo, puede combinar un campo Numrico
para el que la propiedad Size de su objeto Field est establecida como Entero, y
un campo Contador.
El ejemplo siguiente muestra cmo podra combinar las tablas Categoras y Productos
basndose en el campo IDCategoria:
Hoja N:69
TEORIA
Ao: 2013-2C
Hoja N:70
TEORIA
Ao: 2013-2C
pero al contrario, toma todos los registros de la tabla de la derecha aunque no tenga
ningn registro en la tabla de la izquierda.
Descripcin
Es el nombre de la tabla que se va a crear.
Es el nombre del campo o de los campos que se van a crear en la nueva
tabla. La nueva tabla debe contener, al menos, un campo.
Es el tipo de datos de campo en la nueva tabla. (Ver Tipos de Datos)
Es el tamao del campo slo se aplica para campos de tipo texto.
Es una clusula CONSTRAINT que define el tipo de ndice a crear. Esta
clusula en opcional.
Es una clusula CONSTRAINT que define el tipo de ndice multicampos a
ndice
crear. Un ndice multicampo es aquel que est indexado por el contenido de
multicampos
varios campos. Esta clusula en opcional.
CREATE TABLE Empleados (Nombre TEXT (25) , Apellidos TEXT (50));
Crea una nueva tabla llamada Empleados con dos campos, uno llamado Nombre de
tipo texto y longitud 25 y otro llamado apellidos con longitud 50.
CREATE TABLE Empleados (Nombre TEXT (10), Apellidos TEXT,
Fecha_Nacimiento DATETIME) CONSTRAINT IndiceGeneral UNIQUE
([Nombre], [Apellidos], [Fecha_Nacimiento]);
Crea una nueva tabla llamada Empleados con un campo Nombre de tipo texto y
longitud 10, otro con llamado Apellidos de tipo texto y longitud predeterminada (50) y
uno ms llamado Fecha_Nacimiento de tipo Fecha/Hora. Tambin crea un ndice nico
(no permite valores repetidos) formado por los tres campos.
CREATE TABLE Empleados (ID INTEGER CONSTRAINT IndicePrimario PRIMARY,
Nombre TEXT, Apellidos TEXT, Fecha_Nacimiento DATETIME);
Crea una tabla llamada Empleados con un campo Texto de longitud
predeterminada (50) llamado Nombre y otro igual llamado Apellidos, crea
otro campo llamado Fecha_Nacimiento de tipo Fecha/Hora y el campo ID de
tipo entero el que establece como clave principal.
La clusula CONSTRAINT: Se utiliza la clusula CONSTRAINT en las instrucciones
ALTER TABLE y CREATE TABLE para crear o eliminar ndices. Existen dos sintaxis para
Hoja N:71
TEORIA
Ao: 2013-2C
Descripcin
Es el nombre del ndice que se va a crear.
Es el nombre del campo o de los campos que forman el ndice primario.
Es el nombre del campo o de los campos que forman el ndice de clave
nicoN
nica.
Es el nombre del campo o de los campos que forman el ndice externo
refN
(hacen referencia a campos de otra tabla).
Es el nombre de la tabla que contiene el campo o los campos
tabla externa
referenciados en refN
campos
Es el nombre del campo o de los campos de la tabla externa
externos especificados por ref1, ref2, ..., refN
Si se desea crear un ndice para un campo cuando se esta utilizando las instrucciones
ALTER TABLE o CREATE TABLE la clusula CONTRAINT debe aparecer inmediatamente
despus de la especificacin del campo indexeado.
Si se desea crear un ndice con mltiples campos cuando se est utilizando las
instrucciones ALTER TABLE o CREATE TABLE la clusula CONSTRAINT debe aparecer
fuera de la clusula de creacin de tabla.
Tipo de
ndice
Descripcin
Genera un ndice de clave nica. Lo que implica que los registros de la tabla
no pueden contener el mismo valor en los campos indexados.
Genera un ndice primario el campo o los campos especificados. Todos los
PRIMARY
campos de la clave principal deben ser nicos y no nulos, cada tabla slo
KEY
puede contener una nica clave principal.
Genera un ndice externo (toma como valor del ndice campos contenidos en
otras tablas). Si la clave principal de la tabla externa consta de ms de un
campo, se debe utilizar una definicin de ndice de mltiples campos,
listando todos los campos de referencia, el nombre de la tabla externa, y los
FOREIGN
nombres de los campos referenciados en la tabla externa en el mismo orden
KEY
que los campos de referencia listados. Si los campos referenciados son la
clave principal de la tabla externa, no tiene que especificar los campos
referenciados, predeterminado por valor, el motor Jet se comporta como si
la clave principal de la tabla externa fueran los campos referenciados .
UNIQUE
Hoja N:72
TEORIA
Ao: 2013-2C
Descripcin
Es el nombre del ndice a crear.
Es el nombre de una tabla existentes en la que se crear el ndice.
Es el nombre del campo o lista de campos que constituyen el ndice.
Indica el orden de los valores de los campos ASC indica un orden
ASC|DESC
ascendente (valor predeterminado) y DESC un orden descendente.
UNIQUE Indica que el ndice no puede contener valores duplicados.
DISALLOW
Prohbe valores nulos en el ndice
NULL
IGNORE Excluye del ndice los valores nulos incluidos en los campos que lo
NULL
componen.
Asigna al ndice la categora de clave principal, en cada tabla slo puede
PRIMARY existir un nico ndice que sea "Clave Principal". Si un ndice es clave
principal implica que no puede contener valores nulos ni duplicados.
Se puede utilizar CREATE INDEX para crear un pseudo ndice sobre una tabla adjunta
en una fuente de datos ODBC tal como SQL Server que no tenga todava un ndice. No
necesita permiso o tener acceso a un servidor remoto para crear un pseudo ndice,
adems la base de datos remota no es consciente y no es afectada por el pseudo
ndice. Se utiliza la misma sintaxis para las tabla adjunta que para las originales. Esto
es especialmente til para crear un ndice en una tabla que sera de slo lectura debido
a la falta de un ndice.
CREATE INDEX MiIndice ON Empleados (Prefijo, Telefono);
Crea un ndice llamado MiIndice en la tabla empleados con los campos Prefijo y
Telefono.
CREATE UNIQUE INDEX MiIndice ON Empleados (ID) WITH DISALLOW NULL;
Crea un ndice en la tabla Empleados utilizando el campo ID, obligando que el campo
ID no contenga valores nulos ni repetidos.
Modificar el Diseo de una Tabla: Modifica el diseo de una tabla ya existente, se
pueden modificar los campos o los ndices existentes. Su sintaxis es:
ALTER TABLE tabla {ADD {COLUMN tipo de campo[(tamao)] [CONSTRAINT
ndice] CONSTRAINT ndice multicampo} | DROP {COLUMN campo I
CONSTRAINT nombre del ndice} }
Parte
Descripcin
Hoja N:73
TEORIA
Ao: 2013-2C
Operacin
Descripcin
Se utiliza para aadir un nuevo campo a la tabla, indicando el nombre,
ADD COLUMN el tipo de campo y opcionalmente el tamao (para campos de tipo
texto).
ADD
Se utiliza para agregar un ndice de multicampos o de un nico campo.
DROP
Se utiliza para borrar un campo. Se especifica nicamente el nombre del
COLUMN campo.
Se utiliza para eliminar un ndice. Se especifica nicamente el nombre
DROP
del ndice a continuacin de la palabra reservada CONSTRAINT.
Hoja N:74
TEORIA
Ao: 2013-2C
Hoja N:75
TEORIA
Ao: 2013-2C
utilizar la palabra reservada DATABASE para especificar la base de datos externa. Por
ejemplo, las lneas siguientes especifican la misma tabla:
FROM Tabla IN '[dBASE IV; DATABASE=C:\DBASE\DATOS\VENTAS;]';
FROM Tabla IN 'C:\DBASE\DATOS\VENTAS' 'dBASE IV;'
Acceso a una base de datos externa de Microsoft Access:
SELECT IDCliente FROM Clientes IN MISDATOS.MDB WHERE IDCliente Like 'A*';
En donde MISDATOS.MDB es el nombre de una base de datos de Microsoft Access que
contiene la tabla Clientes.
Acceso a una base de datos externa de dBASE III o IV:
SELECT IDCliente FROM Clientes IN 'C:\DBASE\DATOS\VENTAS' 'dBASE IV';
WHERE IDCliente Like 'A*';
Para recuperar datos de una tabla de dBASE III+ hay que utilizar 'dBASE III+;' en
lugar de 'Dbase IV;'.
Acceso a una base de datos de Paradox 3.x o 4.x:
SELECT IDCliente FROM Clientes IN 'C:\PARADOX\DATOS\VENTAS'
'Paradox 4.x;' WHERE IDCliente Like 'A*';
Para recuperar datos de una tabla de Paradox versin 3.x, hay que sustituir 'Paradox
4.x;' por 'Paradox 3.x;'.
Acceso a una base de datos de Btrieve:
SELECT IDCliente FROM Clientes IN 'C:\BTRIEVE\DATOS\VENTAS\FILE.DDF'
'Btrieve;' WHERE IDCliente Like 'A*';
C:\BTRIEVE\DATOS\VENTAS\FILE.DDF es la ruta de acceso y nombre de archivo del
archivo de definicin de datos de Btrieve.
Hoja N:76
TEORIA
Ao: 2013-2C
INTRODUCCION:
La gran difusin de los Sistemas de Gestin de Bases de Datos (SGBD), junto
con la consagracin de los datos como uno de los recursos fundamentales de
las empresas, ha hecho que los temas relativos a su control interno y auditoria
cobren, cada da, mayor inters.
Como ya se ha comentado, normalmente la auditoria informtica se aplica de
dos formas distintas; por un lado se auditan las principales reas del
departamento de informtica: explotacin, direccin, metodologa de
desarrollo, sistema operativo, telecomunicaciones, bases de datos, etc.; y,
por otro, se auditan las aplicaciones desarrolladas internamente,
(subcontratadas o adquiridas) que funcionan en la empresa. La importancia de
la auditoria del entorno de bases de datos radica en que es el punto de partida
para poder realizar la auditoria de las aplicaciones que utilizan esta tecnologa.
METODOLOGAS PARA LA AUDITORA DE BASES DE DATOS:
Aunque existen distintas metodologas que se aplican en auditora informtica
(prcticamente cada firma de auditores y cada empresa desarrolla la suya
propia), se pueden agrupar en dos clases:
Metodologa tradicional.- En este tipo de metodologa el auditor revisa el
entorno con la ayuda de una lista de control (checklist), que consta de una
serie de cuestiones a verificar. Por ejemplo: Existe una metodologa de Diseo
de Base de Datos?
S
N
NA
(S es si, N no y NA no aplicable), debiendo registrar el auditor el resultado
de su investigacin.
Este tipo de tcnica suele ser aplicada a la auditora de productos de bases de
datos, especificndose en la lista de control todos los aspectos a tener en
cuenta.
Metodologa de evaluacin de riesgos: Este tipo de metodologa, conocida
tambin por risk oriented approach, es la que propone la ISACA, y empieza
fijando los objetivos de control que minimizan los riesgos potenciales a los que
est sometido el entorno. A continuacin, una lista de los riesgos ms
importantes segn 2 autores:
1. Incremento de la dependencia del servicio informtico debido a la
concentracin de datos
2. Mayores posibilidades de acceso en la figura del administrador de
la base de datos
Hoja N:77
TEORIA
Ao: 2013-2C
Hoja N:78
TEORIA
Ao: 2013-2C
caso, sugerir la posible solucin. Esta ser la tcnica a utilizar para auditor el
entorno general de un sistema de bases de datos, tanto en su desarrollo como
durante la explotacin.
Revisin
postimplantac
in
Concepci
n de la
BD
y
seleccin
del
equipo
Diseo y
carga
Explotac
in y
manteni
miento
Hoja N:79
TEORIA
Ao: 2013-2C
Hoja N:80
TEORIA
Asesorar en la adquisicin de hw y sw
Soportar el SGBD
Ao: 2013-2C
Hoja N:81
TEORIA
Ao: 2013-2C
Hoja N:82
TEORIA
Ao: 2013-2C
Hoja N:83
TEORIA
Ao: 2013-2C
Hoja N:84
TEORIA
Ao: 2013-2C
tamao.2. Orientacin de Registros: Datos bsicos en registro de longitud fija.3. Datos Pequeos: Todos los registros son cortos con no ms de 80 bytes, por
respetar el diseo de las viejas tarjetas.4. Campos Atmicos: los campos son de longitud fija, y se cumple con la primera
forma normal de lo ya visto en el modelo relacional.5. Transacciones Cortas: programas de ejecucin medidas en fracciones de segundos,
no hay interaccin humana, y son del tipo medidas en del tipo ejecucion-espera de
respuestas.6. Esquema de Concepto Esttico: El cambio en el esquema de la Base de Datos en
muy poco frecuente, y cuando se producen son sencillos.-
Hoja N:85
TEORIA
Ao: 2013-2C
ESTRUCTURA de OBJETOS:
Un modelo orientado a objeto se basa en encapsular cdigos y datos en una nica
unidad, llamada OBJETO. Un conjunto de mensajes es la interfaz entre un objeto y el
resto del sistema.
A los efectos de ilustrar esta definicin, tenemos una base de datos con documentos
escritos en uno de varios de software (Word, WordPerfect, Html, Etc.), para imprimir
un documento tenemos que saber el software con el que se realizo. Bajo el enfoque
orientado a objetos, cada documento es un OBJETO que contiene el texto y el cdigo
Hoja N:86
TEORIA
Ao: 2013-2C
que opera sobre el objeto. Todos los objetos documentos responden al mensaje
imprimir, pero lo hacen de diferentes formas, dependiendo del software, tipo tamao
de letra, color, etc. Encapsulando dentro del objeto documento, la informacin de
cmo imprimir el documento, podemos tener toda la misma interfaz externa para el
usuario.En general un OBJETO tiene asociado:
1. Un conjunto de variables que contienen los datos del objeto. El valor que asume
cada variable es un objeto.
2. Un conjunto de mensajes a los que el objeto responde.3. Un mtodo, que son lneas de cdigos para implementar cada mensaje. Un mtodo
devuelve un valor como respuesta al mensaje.El termino MENSAJE en un contexto orientado a objeto, no es un mensaje fsico en una
red de computadoras, si no es la solicitud entre objetos sin tener en cuenta detalles de
la implementaron.
Dado que el conjunto de mensajes es la nica interfaz externa al que responde, es
posible modificar variables y mtodos sin afectar al objeto. Tambin es posible sustituir
una variable por un mtodo, por ejemplo un objeto de documento puede contener la
variable tamao que contenga el numero de bytes del texto, y puede ser sustituida por
un mtodo tamao que lea todo el texto y cuente el numero de bytes.
La capacidad de modificar la definicin de un objeto sin afectar al resto del sistema,
esta considerada como una de las mayores ventajas del modelo de programacin
orientada a objetos.
Jerarqua de Clases:
Normalmente en una BD existen muchos objetos similares, que responden a los
mismos mensajes, utilizan los mismos mtodos, y tienen variables del mismo nombre y
tipo. Al agrupar los objetos similares estoy creando una CLASE, y a cada uno de
estos objetos se los llama instancia de su clase. Todos los objetos de una clase
comparten una definicin comn, aunque difieran en los valores asignados a las
variables.
Supongamos que tenemos una BD orientada a objeto para una aplicacin bancaria,
seria de esperar que la clase clientes y clase empleados fueran similares, en las
definiciones de las variables Nombre, Direccin, Telfono, Documento, etc. Sin
embargo existen variables especficas para los empleados (Salario, Antigedad,
Categora), y para los clientes (Saldo, Crdito en Descubierto).
Seria oportuno entonces definir una representacin para las variables comunes en un
sitio, para ello habra que combinar Empleados-Clientes en una CLASE. Por lo tanto se
define una clase especializada PERSONA donde estarn las variables en comn de
ambos. Las variables y mtodos especficos de los empleados se asocian a una clase
EMPLEADOS; dndole el mismo tratamiento a la clase CLIENTES.
Hoja N:87
TEORIA
Ao: 2013-2C
PERSONA
S
+Nombre
+Direccion
+Telfono
+Document
o
CLIENTES
EMPLEADO
S
+Saldo
+Crdito en
Descubierto
+Salario
+Antigedad
SECRETARIA
DIRECTOR
CAJERO
+Hs. Semana
+Depende de:
+Titulo
+N
Despacho
+Hs Semana
+N Caja
De esta forma un objeto que representa a un CAJERO contiene todas las variables de
la clase Cajero, Empleados y Personas. Este proceso es conocido como HERENCIA de
propiedades de una clase ms general. Del mismo modo se transmite HERENCIA de
Mtodos.
Las especializaciones de una clase, se denominan SUBCLASE, para nuestro ejemplo,
Empleados es una subclase de Persona, y Cajero una subclase de Empleado.
Si lo vemos del lado inverso, Persona es una SUPERCLASE de Empleado, y Empleados
una SUPERCLASE de Cajero. Hemos visto que cada Clase es ella misma un objeto, e
incluye una variable que contiene el conjunto de todas las instancias de la Clase.
Con la grfica de jerarqua presente, es fcil determinar que objeto est asociado a su
Clase, podemos asociar a la Clase Clientes el conjunto de todos los Clientes del banco.
Pero no sucede lo mismo si queremos asociar a la Clase Empleados todos los
Hoja N:88
TEORIA
Ao: 2013-2C
empleados del banco, porque no todos son directores, o cajeros o secretarias. Como
salida alternativa podramos asociar a la clase Empleados solamente aquellos que no
sean instancias de Director, ni de Cajero, ni de Secretaria.
Viendo la jerarqua de Clase-Subclase, es similar al concepto ya visto de especializacin
en el modelo Entidad-Relacin, as decimos que el conjunto cajero es una subconjunto
del conjunto de todos los empleados, de hecho cada cajero es un empleado.
Herencia Mltiple:
Permite a una Clase tener ms de una Superclase y heredar todas las
caractersticas de sus padres.
Principales Ventajas:
Vehculo
Terrestre
Coche
Acutico
Anfibio
Barco
Identidad de Objetos:
Los Objetos en una Base de Datos Orientada a Objetos, normalmente
corresponden a entidades de una Empresa que se est modelando, esta
conserva su identidad aun cuando alguna de sus propiedades cambie con el
tiempo. De este modo un Objeto conserva su identidad aun cuando cambien los
valores de las variables y las definiciones de los mtodos con el tiempo.
Este ejemplo no es vlido para una Base de Datos Relacional.
Formas de Identidad:
Hoja N:89
TEORIA
Ao: 2013-2C
Contenido de Objetos:
El valor de una variable de un objeto, es ella misma un objeto, esto crea una
jerarqua de contenido entre los objetos. Un objeto O2 es el hijo de un objeto
O1, si O1 contiene a O2, es decir que O2 es el valor de una variable del objeto
O1. Los objetos que contienen otros objetos, se denominan complejos o
compuestos.
Por ejemplo si O1 es el objeto persona y O2 es el objeto direccin, donde el
objeto O2 tiene las variables calle, nmero, piso, dpto. y cdigo postal, y el
objeto O1 tiene las variables nombre, documento, direccin y nacionalidad,
tenemos que direccin es el objeto O2 contenido en el objeto O1, por ser una
variable de sta ltima.
Organizacin Fsica:
La estructura de las BDOO no presenta la uniformidad de las BDR, para
construir una estructura fcil de mantener, comnmente los objetos se
representa as:
1) Los sistemas de computadoras implementan directamente los bloques que
construyen las CLASES bsicas, del tipo lenguajes de programacin, tales
como entero, flotante, carcter y cadena.2) Las instancias de clases que no son bsicas se representan as:
Las variables se representan por campos de un tipo de registro. Las variables con un conjunto de valores se representan con una lista
enlazada de los objetos. La estructura fsica hace que sea posible utilizar registros de longitud
fija para implementar una BDOO.-
Hoja N:90
TEORIA
Ao: 2013-2C
Para el caso de los CAMPOS LARGOS, por el tamao de los mismos, por ser
datos especializados, y a los efectos prcticos normalmente se manipulan con
software de aplicacin que no forma parte de los mtodos de las clases.
Estos campos pueden ser de datos tipo texto, hipertextos, audio, vdeo y
grficos.
Modificacin de Esquemas:
Muy por el contrario de la facilidad que significa modificar esquemas en las
Base de Datos Relacional, en las Base de Datos Orientada a Objetos la
complejidad de los cambios deriva de dos fuentes:
Cambios Complejos
Cambios Frecuentes.
Para ilustrar la complejidad de los cambios en un esquema Orientado a Objetos,
se citan los siguientes cambios:
Adicin de una nueva CLASE: Debe colocarse en la jerarqua de
Clase/SubClase, y resolver los problemas de herencia.
Eliminacin de una CLASE: Las variables y mtodos que heredan las
subclases se deben volver a examinar. Las instancias de la clase
eliminada deben hacerse instancias de una clase padre.
Modificacin de una definicin de CLASE: puede definirse una nueva
variable o mtodo, o bien eliminarla; pudiendo como en los casos
anteriores afectar a las subclases.
Hoja N:91
TEORIA
Ao: 2013-2C
Hoja N:92