SlideShare una empresa de Scribd logo
1 de 19
Los datos que se encuentran en una tabla suelen estar relacionados con
datos de otras tablas. Así de esta forma se establece un vínculo
denominado Relación por el cual se crea una asociación entre los datos
de las tablas relacionadas. Este método de relación suele ser utilizado
para conseguir información de una tabla a través de otra. Las relaciones se
establecen entre dos tablas. Existen 3 tipos de relaciones entre 2 tablas:
1. Relaciones 1 a 1: Un registro de la tabla A está asociado únicamente a un
registro de la tabla B, y viceversa.
2. Relaciones 1 a N: También denominada relaciones de 1 a muchos. Un
registro de la tabla A está asociado a muchos registros de la tabla B,
mientras que un registro de la tabla B está asociado únicamente a un
registro de la tabla A.
3. Relaciones N a N: También denominada relaciones de muchos a
muchos. Un registro de la tabla A está asociado a muchos registros de la
tabla B, y un registro de la tabla B está asociado a muchos registros de la
tabla A.
A partir de aquí crearemos 5 tablas para construir las
relaciones que vamos a ir explicando. Las tablas son:




            • La tabla Clientes
            • La tabla Categorías
            • La tabla Pedidos
            • La tabla Productos
            • La tabla Detalles de pedidos
El detalle de cada tabla será el siguiente:
Una de las grandes ventajas de las bases de datos es que podemos
tener toda la información que necesitamos almacenada en varias
tablas, relacionadas entre ellas, en lugar de una única tabla enorme
con toda la información.
Siguiendo en el ejemplo anterior, los campos (o columnas) de las
cuatro tablas deben coordinarse de modo que muestren información
acerca del mismo pedido. Esta coordinación se lleva a cabo mediante
las relaciones entre las tablas.
Una relación hace coincidir los datos de los campos clave
(normalmente un campo con el mismo nombre en ambas tablas). En
la mayoría de los casos, estos campos coincidentes son la clave
principal(1) de una tabla, que proporciona un identificador único para
cada registro, y una clave externa(2) de la otra tabla.
Como ejemplo podemos ver la relación entre la tabla CATEGORIAS y
la tabla CLIENTES :

• Clave principal de la tabla CATEGORIAS: Id Categoría
• Clave ajena de la tabla CLIENTES: Id Categoría
(1)Clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro
de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo.
Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas.
(2) Clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave
principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.




                                                              Para crear una relación, así
                                                              como el comportamiento que
                                                              tendrá, hemos de pulsar el botón
Una vez que hemos pulsado
el botón nos aparecerá una
nueva    ventana        donde
podremos definir la relación
Los pasos para definir la relación           y   su
comportamiento correctamente son:

1. Seleccionar las tablas implicadas en la relación
que se desea crear.

2. Seleccionar los campos (clave principal y clave
ajena) de las tablas.

3. Seleccionar que operación se realizará cuando
ocurra una operación de actualización de datos
sobre la clave principal.
La relación uno a uno ocurre cuando un registro de la tabla A posee un
único registro asociado en la tabla B y un registro de la tabla B posee un
único registro asociado en la tabla A. El problema que tenemos es que
Open Office Base no permite representar relaciones de tipo 1 a 1, ya que
cada vez que intentamos realizar una la convierte a relación de tipo 1 a
N (de 1 a muchos). En nuestro ejemplo la clave primaría que
utilizaremos será la de la tabla Países, y la clave ajena (o externa) será la
columna Id País de la tabla Banderas. Daría igual si fuera al contrario.
Al realizar la correspondencia entre las distintas tablas comprobaremos
que Open Office Base pone la relación de 1 a N.
Así que la única solución posible es unir las dos tablas,
manteniendo de esta forma la correspondencia de los
registros. Esto hace que la idea que hemos explicado de
separar la información en distintas tablas para su
organización, en este caso, no sea posible.
La relación uno a varios ocurre cuando un registro de la tabla A puede tener
mas de un registro asociado en la tabla B, mientras que, un registro de la
tabla B posee como máximo un registro asociado en la tabla A.
Este tipo de relaciones suelen ser las más frecuentes, y por defecto, las que
implementa Open Office Base.
En el ejemplo que estamos siguiendo de los pedidos, nos encontraremos que
los clientes realizaran pedidos, y que cada pedido ha de pertenecer a un
cliente. Esto hace que la clave primaria de la tabla Clientes (que es Id
Cliente) se encuentre en la tabla Pedidos mediante una clave ajena,
que será denominada con el mismo nombre.
Esta forma de definir las columnas (o campos) en las tablas
permitirá crear la relación de 1 a muchos, ya que a cada pedido le
podremos asignar un único cliente, pero cada cliente podrá tener
muchos pedidos (o ninguno).
La relación varios a varios ocurre cuando un registro de la tabla A
puede tener mas de un registro asociado en la tabla B y,
análogamente, un registro en la tabla B puede tener mas de un
registro asociado en la tabla A.
Como podemos observar, en este tipo de relaciones la solución
anterior no es factible, ya que Base crea únicamente relaciones de
tipo uno a muchos (1 a N), por lo que crear una columna en una
tabla apuntando a otra no nos serviría. Por ejemplo un producto
puede estar en muchos pedidos, y un pedido puede tener muchos
productos.
1. Si añadimos la columna Id Producto de la tabla PRODUCTOS a la tabla
PEDIDOS nos encontraremos con que al realizar la relación un producto podrá
estar en muchos pedidos, pero un pedido solamente podrá contener un
producto. Como podemos observar, esta solución no es correcta, ya que no es
una relación muchos a muchos (N a N).
2. Si añadimos la columna Id Pedido de la tabla PEDIDOS a la tabla
PRODUCTOS nos encontraremos con que, al realizar la relación, un pedido
podrá contener diferentes productos, pero un producto solamente podrá
encontrarse en un pedido, ya que un producto únicamente podrá registrar un
solo pedido.
La solución a este problema es crear una nueva tabla, que la llamaremos
DETALLES DE PEDIDO que contendrá el identificador de la tabla
PRODUCTOS (que el la columna Id Producto), y el identificador de la tabla
PEDIDOS (que es la columna Id Pedido). En este caso, la nueva tabla nos
permitirá asignar a un pedido un producto las veces que queramos,
permitiendo de esta forma asignar a un mismo pedido muchos productos, y
que un producto se encuentre en muchos pedidos. Aprovechando dicha
tabla, crearemos una nueva serie de columnas que necesitaremos para aportar
información extra al detalle del pedido (como puede ser la cantidad y el precio
actual al que se realiza el pedido).
En la solución que hemos creado, observaremos que
hemos incluido un campo denominado Id Detalle Pedido a
la tabla DETALLES DE PEDIDO que nos servirá para
identificar cada registro de la tabla. Esta solución nos
permitirá repetir en un mismo pedido un producto, ya que la
clave principal (o clave primaria) no es la combinación entre
Id Pedido y Id Producto. Si en la solución que adoptáramos
para la tabla DETALLES DE PEDIDO fuera necesario que para
cada pedido únicamente pudiera tener un producto, nos
veríamos obligados a no crear la columna Id Detalle Pedido y a
hacer que la combinación de las columnas Id Pedido y Id
Producto fueran la clave principal.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

RELACIONES DE ACESS
RELACIONES DE ACESSRELACIONES DE ACESS
RELACIONES DE ACESS
 
Guía de relaciones de tablas
Guía de relaciones de tablasGuía de relaciones de tablas
Guía de relaciones de tablas
 
Guía de relaciones de tablas
Guía de relaciones de tablasGuía de relaciones de tablas
Guía de relaciones de tablas
 
Relaciones de Microsoft Access 2007
Relaciones de Microsoft Access 2007Relaciones de Microsoft Access 2007
Relaciones de Microsoft Access 2007
 
Bryan Ipiales
Bryan IpialesBryan Ipiales
Bryan Ipiales
 
Relaciones en acces marco sigcho hebert simbaña
Relaciones en acces marco sigcho hebert simbañaRelaciones en acces marco sigcho hebert simbaña
Relaciones en acces marco sigcho hebert simbaña
 
Relaciones en Access
Relaciones en AccessRelaciones en Access
Relaciones en Access
 
Relaciones en Access
Relaciones en Access Relaciones en Access
Relaciones en Access
 
RELACIONES ACCES 2007
RELACIONES ACCES  2007RELACIONES ACCES  2007
RELACIONES ACCES 2007
 
Documento bases de datos
Documento bases de datosDocumento bases de datos
Documento bases de datos
 
Proyecto infor
Proyecto inforProyecto infor
Proyecto infor
 
Tablas access
Tablas accessTablas access
Tablas access
 
Relaciones en una base de datos[1]
Relaciones en una base de datos[1]Relaciones en una base de datos[1]
Relaciones en una base de datos[1]
 
Access
AccessAccess
Access
 
Relaciones de Acces 2007
Relaciones de Acces 2007Relaciones de Acces 2007
Relaciones de Acces 2007
 
Tablas y campos
Tablas y camposTablas y campos
Tablas y campos
 
Relaciones de tablas
Relaciones de tablasRelaciones de tablas
Relaciones de tablas
 
Base de datos
Base de datosBase de datos
Base de datos
 

Destacado

Grupo2 tabla de base de datos
Grupo2 tabla de base de datosGrupo2 tabla de base de datos
Grupo2 tabla de base de datoskaritochikita
 
Modelo entidad relaicion
Modelo entidad relaicionModelo entidad relaicion
Modelo entidad relaicionkatalinandrea
 
Datamart,victor mamani catachura,boreasH,Topicos
Datamart,victor mamani catachura,boreasH,TopicosDatamart,victor mamani catachura,boreasH,Topicos
Datamart,victor mamani catachura,boreasH,Topicosvictor mamani
 
Modelos en visio
Modelos en visioModelos en visio
Modelos en visioloreya90
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designerWen MuZo
 
Base de datos_y_sus_aplicaciones
Base de datos_y_sus_aplicacionesBase de datos_y_sus_aplicaciones
Base de datos_y_sus_aplicacionesmemodiaz93
 
Tipos de base de datos
Tipos de base de datosTipos de base de datos
Tipos de base de datosJorgeQuishpi
 
Curso sql server 2012 clase 1
Curso sql server 2012 clase 1Curso sql server 2012 clase 1
Curso sql server 2012 clase 1josealopezpastor
 

Destacado (9)

Grupo2 tabla de base de datos
Grupo2 tabla de base de datosGrupo2 tabla de base de datos
Grupo2 tabla de base de datos
 
Modelo entidad relaicion
Modelo entidad relaicionModelo entidad relaicion
Modelo entidad relaicion
 
Datamart,victor mamani catachura,boreasH,Topicos
Datamart,victor mamani catachura,boreasH,TopicosDatamart,victor mamani catachura,boreasH,Topicos
Datamart,victor mamani catachura,boreasH,Topicos
 
Modelos en visio
Modelos en visioModelos en visio
Modelos en visio
 
Estructura de tablas
Estructura de tablasEstructura de tablas
Estructura de tablas
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designer
 
Base de datos_y_sus_aplicaciones
Base de datos_y_sus_aplicacionesBase de datos_y_sus_aplicaciones
Base de datos_y_sus_aplicaciones
 
Tipos de base de datos
Tipos de base de datosTipos de base de datos
Tipos de base de datos
 
Curso sql server 2012 clase 1
Curso sql server 2012 clase 1Curso sql server 2012 clase 1
Curso sql server 2012 clase 1
 

Similar a Relaciones

presentacion de base de datos 2 parte
presentacion de base de datos 2 partepresentacion de base de datos 2 parte
presentacion de base de datos 2 parteJamir Gomez
 
Relación De uno a Varios
Relación De uno a VariosRelación De uno a Varios
Relación De uno a VariosJohanVaca
 
Relación uno a varios
Relación uno a variosRelación uno a varios
Relación uno a variosJohanVaca
 
PPT_Relaciones_entre_Tablas.ppt
PPT_Relaciones_entre_Tablas.pptPPT_Relaciones_entre_Tablas.ppt
PPT_Relaciones_entre_Tablas.pptssuser948499
 
Base de datos parte #2
Base de datos parte #2Base de datos parte #2
Base de datos parte #2janispaula
 
Base de datos segunda parte.
Base de datos segunda parte.Base de datos segunda parte.
Base de datos segunda parte.janispaula
 
Tipos relaciones access 2010
Tipos relaciones access 2010Tipos relaciones access 2010
Tipos relaciones access 2010julia Asensio
 
Andres galvis
Andres galvisAndres galvis
Andres galvisandres903
 
dokumen.tips_relacionar-tablas-en-sql.ppt
dokumen.tips_relacionar-tablas-en-sql.pptdokumen.tips_relacionar-tablas-en-sql.ppt
dokumen.tips_relacionar-tablas-en-sql.pptCESARAS4
 
Relaciones de tablas en una base de datos
Relaciones de tablas en una base de datosRelaciones de tablas en una base de datos
Relaciones de tablas en una base de datosmafeeeee
 
Relaciones de tablas en una base de datos
Relaciones de tablas en una base de datosRelaciones de tablas en una base de datos
Relaciones de tablas en una base de datosmafeeeee
 

Similar a Relaciones (20)

presentacion de base de datos 2 parte
presentacion de base de datos 2 partepresentacion de base de datos 2 parte
presentacion de base de datos 2 parte
 
Guía #3 access
Guía #3 accessGuía #3 access
Guía #3 access
 
Base de datos 2
Base de datos 2Base de datos 2
Base de datos 2
 
Base de datos 2
Base de datos 2Base de datos 2
Base de datos 2
 
Base de datos 2
Base de datos 2Base de datos 2
Base de datos 2
 
Relación De uno a Varios
Relación De uno a VariosRelación De uno a Varios
Relación De uno a Varios
 
Relación uno a varios
Relación uno a variosRelación uno a varios
Relación uno a varios
 
Relaciones
RelacionesRelaciones
Relaciones
 
PPT_Relaciones_entre_Tablas.ppt
PPT_Relaciones_entre_Tablas.pptPPT_Relaciones_entre_Tablas.ppt
PPT_Relaciones_entre_Tablas.ppt
 
Tema relaciones
Tema relacionesTema relaciones
Tema relaciones
 
Base de datos parte #2
Base de datos parte #2Base de datos parte #2
Base de datos parte #2
 
Base de datos segunda parte.
Base de datos segunda parte.Base de datos segunda parte.
Base de datos segunda parte.
 
Tipos relaciones access 2010
Tipos relaciones access 2010Tipos relaciones access 2010
Tipos relaciones access 2010
 
Relacion de tablas 2
Relacion de tablas 2Relacion de tablas 2
Relacion de tablas 2
 
Andres galvis
Andres galvisAndres galvis
Andres galvis
 
Relacionar tablas en SQL
Relacionar tablas en SQLRelacionar tablas en SQL
Relacionar tablas en SQL
 
dokumen.tips_relacionar-tablas-en-sql.ppt
dokumen.tips_relacionar-tablas-en-sql.pptdokumen.tips_relacionar-tablas-en-sql.ppt
dokumen.tips_relacionar-tablas-en-sql.ppt
 
Relaciones
RelacionesRelaciones
Relaciones
 
Relaciones de tablas en una base de datos
Relaciones de tablas en una base de datosRelaciones de tablas en una base de datos
Relaciones de tablas en una base de datos
 
Relaciones de tablas en una base de datos
Relaciones de tablas en una base de datosRelaciones de tablas en una base de datos
Relaciones de tablas en una base de datos
 

Relaciones

  • 1.
  • 2. Los datos que se encuentran en una tabla suelen estar relacionados con datos de otras tablas. Así de esta forma se establece un vínculo denominado Relación por el cual se crea una asociación entre los datos de las tablas relacionadas. Este método de relación suele ser utilizado para conseguir información de una tabla a través de otra. Las relaciones se establecen entre dos tablas. Existen 3 tipos de relaciones entre 2 tablas: 1. Relaciones 1 a 1: Un registro de la tabla A está asociado únicamente a un registro de la tabla B, y viceversa. 2. Relaciones 1 a N: También denominada relaciones de 1 a muchos. Un registro de la tabla A está asociado a muchos registros de la tabla B, mientras que un registro de la tabla B está asociado únicamente a un registro de la tabla A. 3. Relaciones N a N: También denominada relaciones de muchos a muchos. Un registro de la tabla A está asociado a muchos registros de la tabla B, y un registro de la tabla B está asociado a muchos registros de la tabla A.
  • 3. A partir de aquí crearemos 5 tablas para construir las relaciones que vamos a ir explicando. Las tablas son: • La tabla Clientes • La tabla Categorías • La tabla Pedidos • La tabla Productos • La tabla Detalles de pedidos
  • 4. El detalle de cada tabla será el siguiente:
  • 5.
  • 6.
  • 7. Una de las grandes ventajas de las bases de datos es que podemos tener toda la información que necesitamos almacenada en varias tablas, relacionadas entre ellas, en lugar de una única tabla enorme con toda la información. Siguiendo en el ejemplo anterior, los campos (o columnas) de las cuatro tablas deben coordinarse de modo que muestren información acerca del mismo pedido. Esta coordinación se lleva a cabo mediante las relaciones entre las tablas. Una relación hace coincidir los datos de los campos clave (normalmente un campo con el mismo nombre en ambas tablas). En la mayoría de los casos, estos campos coincidentes son la clave principal(1) de una tabla, que proporciona un identificador único para cada registro, y una clave externa(2) de la otra tabla. Como ejemplo podemos ver la relación entre la tabla CATEGORIAS y la tabla CLIENTES : • Clave principal de la tabla CATEGORIAS: Id Categoría • Clave ajena de la tabla CLIENTES: Id Categoría
  • 8. (1)Clave principal: uno o más campos (columnas) cuyos valores identifican de manera exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice exclusivo. Una clave principal se utiliza para relacionar una tabla con claves externas de otras tablas. (2) Clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas. Para crear una relación, así como el comportamiento que tendrá, hemos de pulsar el botón
  • 9. Una vez que hemos pulsado el botón nos aparecerá una nueva ventana donde podremos definir la relación
  • 10. Los pasos para definir la relación y su comportamiento correctamente son: 1. Seleccionar las tablas implicadas en la relación que se desea crear. 2. Seleccionar los campos (clave principal y clave ajena) de las tablas. 3. Seleccionar que operación se realizará cuando ocurra una operación de actualización de datos sobre la clave principal.
  • 11. La relación uno a uno ocurre cuando un registro de la tabla A posee un único registro asociado en la tabla B y un registro de la tabla B posee un único registro asociado en la tabla A. El problema que tenemos es que Open Office Base no permite representar relaciones de tipo 1 a 1, ya que cada vez que intentamos realizar una la convierte a relación de tipo 1 a N (de 1 a muchos). En nuestro ejemplo la clave primaría que utilizaremos será la de la tabla Países, y la clave ajena (o externa) será la columna Id País de la tabla Banderas. Daría igual si fuera al contrario. Al realizar la correspondencia entre las distintas tablas comprobaremos que Open Office Base pone la relación de 1 a N.
  • 12. Así que la única solución posible es unir las dos tablas, manteniendo de esta forma la correspondencia de los registros. Esto hace que la idea que hemos explicado de separar la información en distintas tablas para su organización, en este caso, no sea posible.
  • 13. La relación uno a varios ocurre cuando un registro de la tabla A puede tener mas de un registro asociado en la tabla B, mientras que, un registro de la tabla B posee como máximo un registro asociado en la tabla A. Este tipo de relaciones suelen ser las más frecuentes, y por defecto, las que implementa Open Office Base. En el ejemplo que estamos siguiendo de los pedidos, nos encontraremos que los clientes realizaran pedidos, y que cada pedido ha de pertenecer a un cliente. Esto hace que la clave primaria de la tabla Clientes (que es Id Cliente) se encuentre en la tabla Pedidos mediante una clave ajena, que será denominada con el mismo nombre.
  • 14. Esta forma de definir las columnas (o campos) en las tablas permitirá crear la relación de 1 a muchos, ya que a cada pedido le podremos asignar un único cliente, pero cada cliente podrá tener muchos pedidos (o ninguno).
  • 15. La relación varios a varios ocurre cuando un registro de la tabla A puede tener mas de un registro asociado en la tabla B y, análogamente, un registro en la tabla B puede tener mas de un registro asociado en la tabla A. Como podemos observar, en este tipo de relaciones la solución anterior no es factible, ya que Base crea únicamente relaciones de tipo uno a muchos (1 a N), por lo que crear una columna en una tabla apuntando a otra no nos serviría. Por ejemplo un producto puede estar en muchos pedidos, y un pedido puede tener muchos productos.
  • 16. 1. Si añadimos la columna Id Producto de la tabla PRODUCTOS a la tabla PEDIDOS nos encontraremos con que al realizar la relación un producto podrá estar en muchos pedidos, pero un pedido solamente podrá contener un producto. Como podemos observar, esta solución no es correcta, ya que no es una relación muchos a muchos (N a N).
  • 17. 2. Si añadimos la columna Id Pedido de la tabla PEDIDOS a la tabla PRODUCTOS nos encontraremos con que, al realizar la relación, un pedido podrá contener diferentes productos, pero un producto solamente podrá encontrarse en un pedido, ya que un producto únicamente podrá registrar un solo pedido.
  • 18. La solución a este problema es crear una nueva tabla, que la llamaremos DETALLES DE PEDIDO que contendrá el identificador de la tabla PRODUCTOS (que el la columna Id Producto), y el identificador de la tabla PEDIDOS (que es la columna Id Pedido). En este caso, la nueva tabla nos permitirá asignar a un pedido un producto las veces que queramos, permitiendo de esta forma asignar a un mismo pedido muchos productos, y que un producto se encuentre en muchos pedidos. Aprovechando dicha tabla, crearemos una nueva serie de columnas que necesitaremos para aportar información extra al detalle del pedido (como puede ser la cantidad y el precio actual al que se realiza el pedido).
  • 19. En la solución que hemos creado, observaremos que hemos incluido un campo denominado Id Detalle Pedido a la tabla DETALLES DE PEDIDO que nos servirá para identificar cada registro de la tabla. Esta solución nos permitirá repetir en un mismo pedido un producto, ya que la clave principal (o clave primaria) no es la combinación entre Id Pedido y Id Producto. Si en la solución que adoptáramos para la tabla DETALLES DE PEDIDO fuera necesario que para cada pedido únicamente pudiera tener un producto, nos veríamos obligados a no crear la columna Id Detalle Pedido y a hacer que la combinación de las columnas Id Pedido y Id Producto fueran la clave principal.