Sie sind auf Seite 1von 8

DIFERENCIAS

Introduccin:
Las bases de datos relacionales se componen, en el nivel ms bsico, de tablas
que guardan relaciones lgicas entre ellas. Las relaciones se usan para
conectar las tablas en los campos que tienen en comn. Una relacin viene
representada en una consulta por medio de una combinacin.

Cuando se agregan tablas a una consulta, Microsoft Office Access 2007 crea
combinaciones basadas en las relaciones que se han definido entre las tablas.
Se pueden crear manualmente combinaciones en las consultas, incluso si no
representan relaciones ya definidas. Si se usan otras consultas (en vez de las
tablas o adems de ellas) como origen de los datos de una consulta, se pueden
crear combinaciones entre las consultas de origen y tambin entre esas
consultas y todas las tablas que se usen como origen de datos.

Las combinaciones se comportan de manera similar a los criterios de consulta


ya que establecen reglas que deben cumplir los datos que se van a incluir en
las operaciones de consulta. A diferencia de los criterios, las combinaciones
especifican asimismo que cada par de filas que cumplan las condiciones de
combinacin se combinen en el conjunto de registros para formar una sola
fila.

Hay cuatro tipos bsicos de combinacin: combinaciones internas,


combinaciones externas, combinaciones cruzadas y combinaciones de
desigualdad. En este artculo se aborda cada tipo de combinacin que se puede
usar, por qu se usa cada uno de los tipos y cmo se crean las combinaciones.

Combinaciones internas

Las combinaciones internas son el tipo de combinacin ms comn. Indican a


una consulta que las filas de una de las tablas combinadas corresponden a las
filas de otra tabla, basndose en los datos incluidos en los campos
combinados. Cuando se ejecuta una consulta con una combinacin interna, se
incluirn en las operaciones de consulta nicamente las filas en las que haya
un valor comn en ambas tablas combinadas.

Por qu se usa una combinacin interna?

Se usa una combinacin interna cuando se desea que se devuelvan nicamente


las filas de ambas tablas de la combinacin que coinciden en el campo
combinado.

Cmo se usa una combinacin interna?

En la mayora de los casos, no hay que hacer nada para poder usar una
combinacin interna. Si se han creado relaciones entre las tablas en la ventana
ventana Relaciones, Access crea automticamente las combinaciones internas
cuando se agregan tablas relacionadas en la vista Diseo de la consulta. Si se
aplica la integridad referencial, Access muestra asimismo "1" sobre la lnea de
combinacin para indicar la tabla del lado "uno" de una relacin uno a varios
as como el smbolo de infinito () para indicar la tabla del lado "varios".

Aunque no se hayan creado relaciones, Access crea automticamente


combinaciones internas si se agregan dos tablas a una consulta y cada una de
esas tablas tiene un campo con un tipo de datos igual o compatible y uno de
los campos combinados es una clave principal. Los smbolos de "uno" y
"varios" no se muestran en este caso porque no se aplica la integridad
referencial.
Si se agregan consultas a una consulta y no se crean relaciones entre esas
consultas, Access no crea automticamente combinaciones internas entre esas
consultas o entre las consultas y las tablas. En general, es el usuario quien
tiene que crearlas. Para crear una combinacin interna, se arrastra un campo
de un origen de datos a un campo de otro origen de datos. Access muestra una
lnea entre los dos campos para indicar que se ha creado una combinacin.

Sintaxis SQL para una combinacin interna

Las combinaciones internas se especifican en SQL en la clusula FROM, tal y


como se muestra a continuacin:

FROM tabla1 INNER JOIN tabla2 ON


tabla1.campo1operadordecomparacin tabla2.campo2

La operacin INNER JOIN consta de las siguientes partes:

Parte Descripcin
tabla1, tabla2 Nombres de las tablas cuyos registros se combinan.
Nombres de los campos que se combinan. Si no son
campo1, numricos, los campos deben ser del mismo tipo de datos y
campo2 contener la misma clase de datos, pero no tienen que tener el
mismo nombre.
Operador de Cualquier operador de comparacin relacional: "=", "<", ">",
comparacin "<=", ">=" o "<>".

Para obtener ms informacin sobre la sintaxis de las combinaciones internas,


vea el tema Operacin INNER JOIN.

Combinaciones externas

Las combinaciones externas indican a una consulta que, si bien algunas de las
filas en ambos lados de la combinacin coinciden exactamente, la consulta
debe incluir todas las filas de una tabla as como las filas de la otra tabla que
comparten un valor comn en ambos lados de la combinacin.

Las combinaciones externas pueden ser combinaciones izquierdas o


combinaciones derechas. En una combinacin izquierda, la consulta incluye
todas las filas de la primera tabla de la declaracin SQL de la clusula FROM
y slo las filas de la otra tabla donde el campo de combinacin contiene
valores comunes de ambas tablas. En una combinacin derecha, la consulta
incluye todas las filas de la segunda tabla de la declaracin SQL de la clusula
FROM y slo las filas de la otra tabla donde el campo de combinacin
contiene valores comunes de ambas tablas.

Nota Se puede saber fcilmente qu tabla es la de la izquierda o la de la


derecha en una combinacin; para ello basta con hacer doble clic en la
combinacin y consultar el cuadro de dilogo Propiedades de la
combinacin. Tambin puede cambiar a la vista SQL y examinar la clusula
FROM.

Dado que algunas de las filas en un lado de una combinacin externa no


tendrn filas correspondientes en la otra tabla, algunos de los campos
devueltos en los resultados de la consulta de esa otra tabla estarn vacos
cuando no coinciden las filas.

Por qu se usa una combinacin externa?

Se usa una combinacin externa cuando se desea que los resultados incluyan
todas las filas de una de las tablas de la combinacin y se desea que la
consulta devuelva slo las filas de la otra tabla que coinciden con la primera
tabla del campo de combinacin.

Cmo se usa una combinacin externa?

Las combinaciones externas se crean modificando las combinaciones internas.

Convertir una combinacin interna en una combinacin externa

1. En la vista Diseo de la consulta, haga doble clic en la combinacin que


desee cambiar.

Aparece el cuadro de dilogo Propiedades de la combinacin.

2. En el cuadro de dilogo Propiedades de la combinacin, observe las


opciones situadas junto a la opcin 2 y la opcin 3.
3. Haga clic en la opcin que desee usar y, a continuacin, haga clic en
Aceptar.
4. Access muestra la combinacin as como una flecha que va desde el
origen de datos donde estarn incluidas todas las filas hasta el origen de
datos donde estarn incluidas slo las filas que cumplan la condicin de
combinacin.

Sintaxis SQL para una combinacin externa

Las combinaciones externas se especifican en SQL en la clusula FROM, tal y


como se muestra a continuacin:

FROM tabla1 [LEFT | RIGHT ] JOIN tabla2


ON tabla1.campo1operadordecomparacin tabla2.campo2

Las operaciones LEFT JOIN y RIGHT JOIN constan de las siguientes partes:

Parte Descripcin
tabla1, tabla2 Nombres de las tablas cuyos registros se combinan.
Nombres de los campos que se combinan. Estos
campos deben ser del mismo tipo de datos y contener
campo1, campo2
la misma clase de datos, pero no tienen que tener el
mismo nombre.
Cualquier operador de comparacin relacional: "=",
operadordecomparacin
"<", ">", "<=", ">=" o "<>".

Para obtener ms informacin sobre la sintaxis de las combinaciones externas,


vea el tema Operaciones LEFT JOIN, RIGHT JOIN.

Combinaciones cruzadas

Las combinaciones cruzadas se diferencian de las combinaciones internas y


externas en que no se representan explcitamente en Office Access 2007. En
una combinacin cruzada, cada fila de una tabla se combina con cada fila de
otra tabla, generando lo que se denomina un producto cruzado o producto
cartesiano. Cada vez que se ejecuta una consulta con tablas que no estn
explcitamente combinadas, se genera un producto cruzado. Las
combinaciones cruzadas suelen ser involuntarias, aunque hay casos en los que
pueden resultar tiles.

Por qu se usa una combinacin cruzada?

Se usa una combinacin cruzada cuando se desea comprobar todas las


combinaciones posibles de las filas de dos tablas o consultas. Por ejemplo,
supongamos que su negocio tiene un ao fantstico y est considerando la
posibilidad de ofrecer descuentos a sus clientes. Podr crear una consulta que
sume las compras de cada cliente, crear una pequea tabla con los posibles
porcentajes de descuento y combinar las dos en otra consulta que lleve a cabo
una combinacin cruzada. El resultado ser una consulta que muestre un
conjunto de descuentos hipotticos para cada cliente.

Cmo se usa una combinacin cruzada?

Se genera una combinacin cruzada cada vez que se incluyen tablas o


consultas en una consulta y no se crea al menos una combinacin explcita
para cada tabla o consulta. Access combina todas las filas de cada tabla o
consulta que no est explcitamente combinada con ninguna otra tabla o
consulta con cada dos filas de los resultados. Contemplemos el caso de los
descuentos del prrafo anterior. Supongamos que tiene 91 clientes y desea
examinar cinco posibles porcentajes de descuento. La combinacin cruzada
genera 455 filas (el resultado de multiplicar 91 por 5).

Tal y como se puede imaginar, las combinaciones cruzadas involuntarias


pueden crear un nmero considerable de filas en los resultados de consulta. Es
ms, estos resultados suelen no tener sentido porque, si en realidad la
intencin no es combinar cada fila con cada dos filas, la mayora de las filas
combinadas que aparecen en los resultados no tendrn ningn sentido. En
ltimo lugar, las consultas que usan combinaciones cruzadas involuntarias
pueden tardar mucho tiempo en ejecutarse.

Combinacin cruzada involuntaria en la vista Diseo de la consulta.

1. Los campos rodeados de un crculo deben estar combinados.


Producto cruzado devuelto por la combinacin cruzada involuntaria arriba
representada.

1. Observe el nmero considerable de registros.

Resultados despus de crearse la combinacin correcta.

1. Observe que el nmero de registros es mucho menor.

Combinaciones de desigualdad

Las combinaciones no tienen que basarse necesariamente en la equivalencia


de los campos combinados. Una combinacin puede basarse en cualquier
operador de comparacin, como mayor que (>), menor que (<) o no es igual a
(<>). Las combinaciones que no se basan en la equivalencia se denominan
combinaciones de desigualdad.

Por qu se usa una combinacin de desigualdad?

Si se desea combinar las filas de dos orgenes de datos basndose en los


valores de campo que no son iguales, se usa una combinacin de desigualdad.
Normalmente, las combinaciones de desigualdad se basan en los operadores
de comparacin mayor que (>), menor que (<), mayor o igual que (>=), o
bien, menor o igual que (<=). Las combinaciones de desigualdad que se basan
en el operador no es igual a (<>) pueden devolver casi tantas filas como las
combinaciones cruzadas, por lo que los resultados pueden ser difciles de
interpretar.

Cmo se usa una combinacin de desigualdad?

Las combinaciones de desigualdad no se admiten en la vista Diseo. Si desea


usarlas, deber hacerlo en la vista SQL. Sin embargo, se puede crear una
combinacin en la vista Diseo, cambiar a la vista SQL, buscar el operador de
comparacin igual a (=) y cambiarlo al operador que desee usar. Despus, slo
podr abrir la consulta en la vista Diseo si cambia primero el operador de
comparacin al operador igual a (=) en la vista SQL.

Quitar una combinacin

Si crea una combinacin por equivocacin, por ejemplo, entre dos campos con
tipos de datos distintos, podr eliminarla. Para eliminar una combinacin:

1. En la cuadrcula de diseo de la consulta, haga clic en la combinacin


que desee quitar.
2. Presione SUPR.

O bien,

En la cuadrcula de diseo de la consulta, haga clic con el botn


secundario en la combinacin que desee quitar y, a continuacin, haga
clic en Eliminar.

Das könnte Ihnen auch gefallen