Curso Access Básico 2010 Propiedades de las relaciones entre tablas Vídeo 8
Summary
TLDREste tutorial de Access 2010 básico se enfoca en las propiedades de las relaciones entre tablas en una base de datos de gestión de pedidos. Se explica cómo establecer una relación de uno a varios entre las tablas de clientes y pedidos, y se ejemplifica con la inserción de registros y la visualización de las restricciones que impone la integridad referencial. Además, se exploran las opciones de 'actualizar en cascada' y 'eliminar en cascada', demostrando cómo afectan a los registros relacionados en diferentes tablas. El video proporciona una guía práctica para entender y gestionar las relaciones de datos en Access, preparando al espectador para trabajar con consultas en futuras lecciones.
Takeaways
- 😀 El curso de Access 2010 básico continúa explorando las relaciones entre tablas y sus propiedades.
- 🔗 Se analiza la base de datos 'gestión de pedidos', que simula la gestión de un almacén con clientes, productos, pedidos y productos pedidos.
- 📚 Se describe la estructura de las tablas: clientes, productos, pedidos y productos pedidos, y cómo se relacionan entre sí.
- 👥 La relación de 'uno a varios' entre las tablas clientes y pedidos se explica, donde cada cliente puede tener múltiples pedidos.
- 🔍 Se accede a las propiedades de la relación entre las tablas a través de la ventana de relaciones y se modifica la relación.
- 🔒 La 'integridad referencial' se explica como una propiedad que asegura que cada pedido tenga un cliente existente en la tabla de clientes.
- 🔄 Se presenta la opción 'actualizar en cascada', que permite que los cambios en la tabla principal se reflejen automáticamente en las tablas secundarias.
- 🗑️ La 'eliminación en cascada' se describe como una propiedad que elimina automáticamente los registros relacionados en las tablas secundarias al eliminar un registro en la tabla principal.
- ⚠️ Se enfatiza la importancia de entender las propiedades de las relaciones para evitar errores y mantener la coherencia de la información en la base de datos.
- 🚀 Se invita a los estudiantes a seguir el próximo tutorial para aprender sobre consultas en Access, un tema crucial para extraer información de la base de datos.
Q & A
¿Qué se discute en el curso de Access 2010 básico mencionado en el guion?
-El curso de Access 2010 básico discute principalmente las relaciones entre las tablas en una base de datos, cómo se relacionan dos tablas desde la ventana de relaciones y las propiedades de estas relaciones.
¿Qué es la base de datos 'gestión de pedidos' que se utiliza como ejemplo en el guion?
-La base de datos 'gestión de pedidos' es un ejemplo que simula ser la base de datos de un almacén, donde se registran clientes, productos y pedidos, y se relaciona la información de estos para su gestión.
¿Cuáles son las tablas principales en la base de datos 'gestión de pedidos'?
-Las tablas principales en la base de datos 'gestión de pedidos' son: clientes, productos, pedidos y productos pedidos.
¿Qué tipo de relación existe entre las tablas 'clientes' y 'pedidos' según el guion?
-Entre las tablas 'clientes' y 'pedidos' existe una relación de uno a varios, lo que significa que cada cliente puede realizar varios pedidos.
¿Qué es la 'integridad referencial' y por qué es importante en las bases de datos?
-La 'integridad referencial' es una propiedad de las relaciones entre las tablas que asegura que no existan registros en la tabla secundaria (por ejemplo, pedidos) que no tengan un registro correspondiente en la tabla principal (por ejemplo, clientes). Es importante para mantener la consistencia y la precisión de los datos.
¿Qué ocurre si se desactiva la 'integridad referencial'?
-Si se desactiva la 'integridad referencial', no se pueden utilizar las propiedades 'actualizar en cascada' y 'eliminar en cascada', y se pueden introducir registros en la tabla secundaria que no estén vinculados a ningún registro en la tabla principal.
¿Qué es 'actualizar en cascada' y cómo afecta la modificación de registros en una tabla?
-'Actualizar en cascada' es una propiedad que permite que los cambios realizados en un registro de la tabla principal se actualicen automáticamente en todos los registros relacionados en la tabla secundaria. Esto ayuda a mantener la coherencia de los datos entre las tablas relacionadas.
¿Qué significa 'eliminar en cascada' y cómo afecta la eliminación de registros en una tabla?
-'Eliminar en cascada' es una propiedad que permite que, al eliminar un registro de la tabla principal, se eliminen automáticamente todos los registros relacionados en la tabla secundaria. Esto asegura que no queden registros huérfanos en la tabla secundaria.
¿Cómo se puede tener un historial de pedidos si no se desea trabajar con un cliente actualmente?
-Para mantener un historial de pedidos de un cliente que actualmente no se está trabajando, no se debe activar la 'integridad referencial'. De esta forma, es posible eliminar al cliente de la tabla de clientes sin que se eliminen los pedidos anteriores que ha realizado.
¿Cuáles son las consecuencias de tener activada la opción 'eliminar en cascada' en una relación de una a varios?
-Si se tiene activada la opción 'eliminar en cascada' en una relación de uno a varios, al eliminar un registro de la tabla principal (por ejemplo, un cliente), también se eliminarán todos los registros relacionados en la tabla secundaria (por ejemplo, los pedidos), lo que puede resultar en la pérdida de información importante si se desea mantener un historial de transacciones.
Outlines
😀 Introducción al curso de Access 2010 básico y revisión de relaciones de tablas
El primer párrafo presenta una introducción al curso de Access 2010 básico, enfocándose en las relaciones entre tablas como se vio en el último video. Se menciona la base de datos 'gestión de pedidos', que simula una base de datos de un almacén con clientes, productos, pedidos y una tabla de productos pedidos que une información importante de ambas tablas. Se describe brevemente la estructura de la base de datos y se señala la importancia de entender estas relaciones para el tema del día: las propiedades de las relaciones entre las tablas.
🔗 Explorando las propiedades de las relaciones entre las tablas 'Clientes' y 'Pedidos'
En el segundo párrafo, se aborda en detalle cómo acceder y manipular las propiedades de las relaciones entre las tablas 'Clientes' y 'Pedidos'. Se describe el proceso de hacer doble clic sobre la línea que une ambas tablas o seleccionar 'Modificar relación' desde el menú contextual para acceder a las propiedades. Se mencionan tres propiedades clave: 'Exigir integridad referencial', 'Actualizar en cascada' y 'Eliminar en cascada', destacando que las últimas dos propiedades solo están disponibles si la primera está activada. Se ilustra la importancia de la integridad referencial con un ejemplo práctico, mostrando que no se pueden agregar pedidos para un cliente que no existe en la tabla 'Clientes'.
🚫 Desactivación y consecuencias de la integridad referencial
El tercer párrafo explora lo que sucede cuando se desactiva la integridad referencial. Se muestra que, sin esta restricción, es posible agregar un pedido para un cliente que no existe en la tabla 'Clientes'. Sin embargo, al intentar reactivar la integridad referencial después de haber introducido un registro de pedido para un cliente inexistente, Access advierte que no es posible. Esto demuestra la importancia de activar la integridad referencial desde el principio cuando las tablas están vacías para evitar errores en la integridad de los datos.
⚙️ Funcionamiento de las actualizaciones y eliminaciones en cascada
El cuarto párrafo se centra en las propiedades 'Actualizar en cascada' y 'Eliminar en cascada'. Se explica que 'Actualizar en cascada' permite que los cambios en un registro de la tabla 'Clientes' se reflejen automáticamente en los registros relacionados en la tabla 'Pedidos', mientras que 'Eliminar en cascada' asegura que al eliminar un cliente, todos sus pedidos relacionados también se eliminen. Se proporcionan ejemplos prácticos para ilustrar cómo estas propiedades funcionan y las decisiones que se deben tomar en función de las necesidades de la base de datos, como conservar un historial de pedidos o no.
🗂️ Consideraciones finales sobre las relaciones en cadena y la importancia de la gestión de datos
El último párrafo concluye el tutorial destacando la importancia de comprender las relaciones en cadena en una base de datos y cómo la eliminación de un registro en una tabla principal puede tener efectos en varias tablas secundarias. Se menciona la necesidad de tener en cuenta estas relaciones al gestionar datos, especialmente al eliminar registros, ya que una eliminación en cascada puede afectar a múltiples tablas. Se cierra el video tutorial con una referencia a los próximos temas que se abordarán, como las consultas en Access, y se desea un buen día a los espectadores.
Mindmap
Keywords
💡Integridad referencial
💡Actualización en cascada
💡Eliminación en cascada
💡Relaciones de tablas
💡Tablas principales y secundarias
💡Consultas en Access
💡Hoja secundaria de datos
💡Campos clave
💡Base de datos de gestión de pedidos
💡Ventana de relaciones
Highlights
Introducción al curso de Access 2010 básico y revisión de relaciones entre tablas.
Explicación de cómo se relacionan dos tablas en la ventana de relaciones de Access.
Descripción de la base de datos 'gestión de pedidos' que simula un almacén.
Detalle de las tablas de clientes, productos, pedidos y productos pedidos en la base de datos.
Demostración de la relación de uno a varios entre las tablas de clientes y pedidos.
Procedimiento para insertar una hoja secundaria de datos en la tabla de clientes.
Visualización de cómo cada cliente puede realizar múltiples pedidos.
Enfoque en las propiedades de las relaciones entre las tablas clientes y pedidos.
Descripción de las tres propiedades de las relaciones: integridad referencial, actualizar en cascada y eliminar en cascada.
Importancia de activar la integridad referencial para garantizar la relación entre registros de tablas.
Ejemplo práctico de cómo la integridad referencial evita la inserción de pedidos de clientes no registrados.
Consecuencias de desactivar la integridad referencial y su efecto en la relación de tablas.
Procedimiento para activar y desactivar la integridad referencial en la ventana de relaciones.
Funcionalidad de la opción 'Actualizar en cascada' y su efecto en la actualización de registros relacionados.
Demostración de cómo 'Eliminar en cascada' afecta a los registros relacionados en varias tablas.
Consideraciones sobre la activación de 'Eliminar en cascada' y su impacto en el historial de pedidos.
Conclusión del tutorial y previsión del tema siguiente: consultas en Access.
Transcripts
Hola Bienvenidos a otra entrega del
curso de Access 2010 básico Estuvimos
viendo en el último vídeo si recordáis
las relaciones entre las tablas Qué tipo
de relaciones
existen la ventana de relaciones de
Access ver cómo se relacionaban dos
tablas entre sí desde la ventana de
relaciones y alguna cosilla más Vamos a
continuar a partir de ahí y vamos a ver
en el vídeo de hoy eh las propiedades de
las relaciones entre las tablas entonces
para para ello he abierto la base de
datos gestión de pedidos que si por si
acaso alguno de vosotros todavía no la
tiene en la descripción del vídeo de hoy
en la parte de abajo volveré a pasar un
link para que os la podáis Descargar
Bueno vamos a recordar un poquito porque
es imprescindible para lo que voy a
comentar hoy para lo que voy a explicar
eh conocer un poquito la estructura de
esta base de datos gestión de pedidos
aquellos que seguís el curso desde el
videotutorial número uno ya tendréis más
o menos Clara la estructura pero por si
acaso la volvemos a repetir gestión de
pedidos es una base de datos que simula
a ser la base de datos de un almacén
donde tenemos una serie de clientes eh
registrados en una tabla de clientes que
se supone que son los clientes que me
van haciendo pedidos no en este almacén
hay una serie de productos que son los
productos que se supone que el almacén
suministra que el almacén vende Entonces
los clientes van haciendo una serie de
pedidos que quedan registrados en la
tabla de pedidos sobre unos productos
que quedan registrados en la tabla de
productos y luego tenemos una cuarta
tabla que es la tabla de de productos
pedidos que es una suma una Unión de la
información más importante de la tabla
de productos junto con la tabla de
pedidos no vamos a echar un vistazo
abrimos la tabla de clientes recordamos
pues estos son los clientes que se
supone trabajan con nosotros en este
almacén ficticio tenemos un código
cliente un código interno una empresa
que es la empresa cliente una dirección
una población un teléfono y Un
responsable tenemos la tabla de
productos que se supone que son los
productos que tenemos en el almacén pues
cada producto con su código interno
código artículo pertenece cada artículo
a una sección en concreto deporte
ferretería confección etcétera un nombre
un precio una fecha si ha sido importado
o no y un país de origen tenemos la
tabla de pedidos que refleja los pedidos
que me van haciendo los clientes por
ejemplo el pedido uno pues me lo ha
hecho el cliente ct01 el pedido 3 me lo
ha hecho el cliente c23 tal fecha me
pagó de tal forma Le hice un descuento y
se le envió o no se le envió y luego la
tabla de productos pedidos que es una
suma Pues de pedidos y de productos por
ejemplo el pedido uno o en el pedido uno
viajaban los artículos ar01 el 4 el 15 y
el 22 no 11 unidades del artículo 01 10
del 4 4 del 15 etcétera Bueno más o
menos Esta es la información que
almacenaba esta base de datos en cuanto
a las relaciones existentes entre las
tablas estaban relacionadas unas con
otras una relación en cadena para ver
las relaciones había que ir a la pestaña
herramientas de bases de datos ventana
relaciones y efectivamente Bueno pues
aquí están las relaciones que existen
entre estas tablas vamos a centrarnos
para el tema de hoy en las dos tablas
clientes y pedidos nos vamos a olvidar
de momento de productos pedidos y de
productos y nos centramos en la relación
que existe entre estas dos tablas si os
podéis fijar de momento pues tenemos una
relación de uno a varios esto ya lo
vimos en vídeos anteriores así lo
reflejan los símbolos de la relación Eso
quiere decir que por cada registro que
tengo la tabla de clientes Podría tener
varios registros relacionados en la
tabla de pedidos traducido a esta base
de datos que nos ocupa cada cliente
puede realizar varios pedidos y así es
el cliente por ejemplo ct01 pues puede
haber hecho el pedido un el pedido tres
y el pedido si en diferentes fechas es
decir ha podido hacerme varios pedidos
tiene sentido que así sea si fuera una
relación de uno a uno estaríamos
obligando a que cada cliente solo
pudiera hacer un pedido y eso pues no T
ía tanto sentido Bueno voy a cerrarla un
segundito me dice que si deseo guardar
cambios porque en cuanto mueves
cualquier cosita pues ya detecta que es
un cambio y vamos a hacer una cosa que
ya hicimos en días anteriores voy a
abrir la tabla de clientes y en esta
tabla de clientes voy a insertar la hoja
secundaria de datos esto lo hacíamos
desde la pestaña inicio botón más hoja
secundaria de datos y voy a insertar la
hoja secundaria de pedidos para que
veáis que efectivamente cada cliente
puede haberme hecho varios pedidos por
ejemplo el cliente c01 me ha hecho 1 2 3
4 5 6 7 8 nu pedidos no el cliente ct02
me ha hecho dos pedidos el cliente ct03
no me ha hecho ningún pedido bueno
relación uno a varios visto esto no
guardo cambios en el diseño de la tabla
volvemos a la relaciones vamos a
centrarnos hoy en lo que son las
propiedades de las relaciones entre las
tablas y como digo nos vamos a fijar
únicamente en clientes y pedidos cómo
accedemos a las propiedades que existen
en la relación entre clientes y pedidos
y qué son estas propiedades bueno para
acceder a las propiedades lo que hay que
hacer es situarse justo encima de la
línea que une ambas tablas y hacer doble
clic o bien clic con el botón derecho y
en el menú contextual modificar relación
da igual entonces las relaciones entre
las tablas las propiedades perdón de las
relaciones entre las tablas las tenemos
en la ventana de modificar relaciones en
las opciones que os estoy señalando en
pantalla y son tres exigir integridad
referencial actualizar en cascada y
eliminar en cascada los registros
relacionados solo es posible utilizar
estas dos propiedades siempre y cuando
la primera exigir integridad referencial
esté activada es decir si desactivo
exigir integridad referencial se
desactivan las otras dos y no es posible
utilizarlas sin haber activado
previamente la integridad referencial
eso para empezar bueno vamos a ver vamos
a centrarnos en la primera Qué es exigir
integridad referencial que como podéis
ver se puede activar o Desactivar a
gusto de el usuario o del desarrollador
que esté creando esta base de datos todo
depende de tus necesidades la integridad
referencial si la activas voy a darle a
cancelar si tienes activada la
integridad referencial estás obligando a
que por cada registro que tenga en la
tabla de clientes exista su registro
relacionado en la tabla de pedidos o
mejor dicho al revés Perdón por cada
registro que tengo en la tabla
secundaria que en este caso sería
pedidos estoy obligando a que haya
siempre un registro relacionado en la
tabla de clientes dicho esto así puede
ser un poco confuso pero traduciéndolo a
esta base de datos para que por fin se
entienda quiere decir
que cada pedido tiene que tener su
correspondiente cliente y en este caso
pues tiene sentido porque se supone que
no puedo tener un pedido de un cliente
que no existe Y eso es la integridad
referencial si activo la integridad
referencial no podré agregar a la tabla
de pedidos
un pedido de un cliente que previamente
no esté registrado antes en la tabla de
clientes vamos a verlo con un ejemplo
práctico es como mejor se
entiende bien voy a cerrar No creo que
no he modificado ninguna Es decir para
que quede claro están activadas las tres
opciones sobre todo exigir integridad
referencial entre clientes y pedidos y
vamos a ver qué significa esto sobre la
práctica porque es un poco complejo de
de entender creo yo si no se ve con un
ejemplo no abrimos la tabla de pedidos
evidentemente en la tabla de pedidos
pues podemos insertar un nuevo registro
Pues nada vamos a ello y voy a decir que
por ejemplo el pedido
86 este campo creo que tenía una máscara
00
86 vale me lo ha hecho el cliente ct
95 y me lo ha hecho por ejemplo pues el
23 del 12 las fechas son un poco
antiguas Pero bueno es lo de menos del
2002 bien me ha pagado esto es un
asistente para búsquedas al contado
bueno no le he hecho descuento y ya se
lo he enviado este cliente ya os
anticipo que no está registrado en la
tabla de clientes y para que lo veáis la
abro un segundo los clientes llegan
hasta el ct40 c95 no existe muy bien
como tengo activada la integridad
referencial entre clientes y pedidos si
yo intento agregar este registro en la
tabla de pedidos no me va a dejar porque
está activada la integridad referencial
y eso exige que por cada registro en la
tabla secundaria donde nos encontramos
ahora en pedidos eh tengo que tener su
correspondiente registro relacionado en
la tabla primaria o principal esto es en
la tabla de clientes traducido por cada
pedido tiene que tener su
correspondiente cliente Si intento pasar
al registro siguiente para que se grabe
el dato Pues aquí está el eh mensaje de
advertencia o error que me indica
precisamente Esto no se puede agregar O
cambiar el registro porque se necesita
un registro relacionado en la tabla de
clientes me está está diciendo que no
está ese cliente no existe entonces voy
a borrar el registro vale Ya sabéis que
Access es un poco pesado con estas
opciones Cierro la tabla como digo yo a
capón vulgarmente
y de esta forma para que lo veáis no ha
quedado agregado de acuerdo Bueno pues
esto es gracias a que tengo activada la
integridad referencial vamos a
desactivarla durante un instante me voy
a la ventana relaciones entro dentro de
las relaciones entre clientes y pedidos
desactivo integridad referencial acepto
y Cierro la ventana de relaciones ahora
mismo ya no hay integridad referencial
entre clientes y pedidos voy a intentar
repetir la misma operación abro la tabla
de pedidos me voy al último registro
vamos a introducir el 0086 de
c95 estoy poniendo TT 95 que me lo hizo
el 5 del 5 del 2002 le pagué al contado
y ahora como no hay integridad
referencial si intento pasar al
siguiente registro para reducirlo
debería de
dejarme buen este error es por otro tipo
me dice que los cambios solicitados en
la tabla duplicados en el índice vamos a
ver z95 86 el pedido 86 tiene que estar
mirar el error que está dando nos
confunda es por el número de pedido eh
número de pedido es campo clave con lo
cual no se puede repetir me está
diciendo que me va a crear un valor
duplicado en el campo clave como podéis
observar cuando activas varias cosas es
complicado Vamos a ponerle en vez del
pedido 86 el 89 89 no está verdad espero
que no intento pasar al registro
siguiente Pero hay que poner la máscara
demasiadas
cosas vale Ya está es decir el cliente
z95 lo ha dejado introducir
perfectamente para que lo veáis Cierro
la tabla la vuelvo a
abrir el
pedido el
pedido Aquí está 89 correspondiente al
ct9 25 Ahí está introducido de acuerdo
Bueno qué ocurre si ahora después de
haber introducido este registro activo
la integridad referencial Bueno pues que
Access nos va a advertir seguramente al
respecto Me voy a la ventana relaciones
entramos otra vez en las propiedades
activo exigir integridad referencial y
acepto y me dice que no puede crear la
integridad referencial no la puede crear
porque es que hemos introducido un
pedido de un cliente que no existe
Access detecta y me dice que no es
posible eh utilizar la integridad
referencial esto que nos viene a decir
Bueno pues que se puede activar después
de haber introducido la información en
las tablas la integridad referencial
pero es mucho más recomendable activar
esta opción cuando las tablas están
vacías Además así eh Te aseguras De que
al introducir la información no estás
cometiendo ningún error de este tipo de
introducir un pedido de un cliente que
no exista No si lo haces a posterior
pues puedes tener este tipo de problemas
si yo quisiera volver a activar la
integridad referencial estoy obligado a
de momento cerrar la ventana de
relaciones y dejarlo como está irme a
pedidos Localizar el número de pedido
del cliente que no existe que tiene que
estar por aquí que era ct 95 creo a ver
si lo encuentro aquí está tenemos que
borrar este registro está a punto de
eliminar un registro aceptamos Cierro la
tabla y ahora sí vuelvo a la ventana de
relaciones y activo la integridad
referencial ahora sí me deja activarla
perfectamente no hay ningún problema
porque ya ha sido eliminado Bueno espero
que haya sido comprendido más o menos
Qué es la integridad referencial eh
resumo sin querer ser pesado No puede
haber un registro en la tabla secundaria
que no tenga su correspondiente registro
en la tabla principal entendiendo como
tabla secundaria pedidos tabla principal
clientes No puede haber un pedido de un
cliente que no exista Bueno pues esto no
es que haya que activarlo siempre esto
depende de las necesidades que tengas en
tu base de datos Porque otra situación
que yo planteo es
Y si yo en el pasado he tenido clientes
que me hicieron pedidos y esos clientes
ya los borré porque no trabajo más con
ellos pero quiero conservar un histórico
de los pedidos no sé si entendéis bien
el planteamiento que hago es decir a lo
mejor yo ahora mismo tengo al cliente
ct01 que me ha ido haciendo un montón de
pedidos pero mañana dejo de trabajar con
él si dejo de trabajar con él por el
motivo que sea a lo mejor deseo eliminar
al cliente z01 de la tabla de clientes
Bueno si yo quiero eliminar al cliente
01 pero quiero conservar un histórico de
todos los pedidos que me ha hecho no
puedo activar la integridad referencial
Porque si elimino al cliente
automáticamente deberían de ser
eliminados todos los pedidos que me ha
hecho ese cliente debido a la integridad
referencial no entonces en el caso de
que quisieras tener un histórico pues
por ejemplo no podrías tener activada la
integridad referencial si no quieres
tener un histórico pues entonces sí si
yo quiero eliminar al cliente ct01 y
junto con él el Eliminar todos los
pedidos que me hizo en el pasado pues
ningún problema dej des activada la
integridad referencial vale bueno
siguiente propiedad actualizar en
cascada los campos relacionados esto Qué
es que como podéis ver Solo se puede
activar y Desactivar siempre y cuando
como requisito previo se haya activado
la integridad referencial
Bueno si no se activa voy a hacerlo con
un ejemplo práctico para que se entienda
si no está activada la opción de
actualizar en cascada que no lo está
pues ocurre lo siguiente abro la de
clientes bien imaginaos que por el
motivo que sea el código del primer
cliente que ya me ha hecho siete pedidos
si no recuerdo mal Beltrán e hijos el
código por el motivo que sea lo voy a
cambiar y yo digo que este cliente en
vez de ser el ct01 pues va a ser el
cliente ct
98 por el motivo que sea bueno pues si
no tienes activada la opción de
actualizar en cascada cuando intentas
hacer esta
operación después de escribir lo pasas
al siguiente registro o pinchas en
cualquier otra zona te dice que no puede
no puede porque eh la tabla de clientes
tiene sus correspondientes registros
relacionados en pedidos me está diciendo
que los clientes han hecho pedidos que
actualizar en cascada no está activado
con lo cual el cambio del código cliente
no lo puede realizar en la tabla de
pedidos eso es lo que quiere decir
actualizar en cascada si yo cambio la
información de un registro en la tabla
de clientes que automáticamente se
cambie en la tabla de pedidos si lo
tengo desactivado no lo puede cambiar
automáticamente en la tabla de pedidos
es decir en la tabla de pedidos si yo
cambio ct 01 en clientes aquí debería de
cambiar también porque este cliente ya
no existe y está activada la integridad
referencial No pues eso me está diciendo
si quieres hacer operaciones de este
tipo es decir poder cambiar la
información de un registro y que
automáticamente cambie también en las
tablas relacionadas estás obligado a que
tengas activada la opción de actualizar
en cascada vamos a verlo voy a cerrar la
tabla sin guardar cambios Mirad có se
quedó c01 al final no hizo el cambio
entro en la ventana de relaciones activo
actualizar en cascada acepto cierro y
repito la operación para que veáis que
ahora sí deja es decir en vez de ct01
c98 pincho en otro lado paso al campo
siguiente no hay ningún problema no sale
mensaje de error Cierro la tabla de
clientes y ahora al abrir la tabla de
pedidos el cliente ct01 ya no debe de
estar y en su lugar debe de apare el c98
con sus correspondientes pedidos abro la
tabla y mirar como efectivamente el
pedido uno lo hizo
c98 Y seguramente haya más pedidos por
ahí de mira aquí está por ejemplo el
pedido 8o también lo hizo c98 Bueno pues
esto es actualizar en cascada para dejar
las tablas como estaban voy a volver a
cambiar z98 que ahora lo tengo en último
lugar por
z01 Cierro la tabla vuelvo a abrir
pedidos y lo vuelvo a tener como estaba
el uno y el 8 los ha hecho C 01 Bueno
pues esto es posible gracias a que tengo
activada la opción de actualizar en
cascada última propiedad de la
relaciones eliminar en cascada los
registros relacionados Qué quiere decir
esto Bueno pues quiere decir que si yo
lo tengo activado al eliminar un cliente
automáticamente tienen que eliminarse
todos sus pedidos y si lo tengo
desactivado si me intento cargar un
cliente que tiene hechos ya unos cuantos
pedidos no me debe de dejar vamos a ver
si es cierto voy a dejarlo desactivado
para empezar aceptamos Cierro la ventana
de relaciones abro clientes hemos visto
que ct01 tiene unos cuantos pedidos voy
a abrir pedidos para que lo veáis tiene
el pedido uno tiene el pedido 8o tiene
el pedido 77 tiene unos cuantos entonces
si yo intento eliminar en la tabla de
clientes a este cliente me va a salir un
mensaje de error diciendo que no puede
porque no he activado la opción de
eliminar en cascada y efectivamente
cuando le di a la tecla suprimir para
eliminar el registro me dice que no se
puede eliminar porque la tabla de os
incluye registros relacionados entonces
todo esto depende de lo que tú necesites
en tu base de datos si tú no quieres
conservar histor histórico de pedidos
Pues si eliminas el cliente que se
eliminen también los pedidos si este es
el comportamiento que deseas para tu
base de datos pues te vas a la ventana
relaciones activas eliminar en
cascada vuelves a la tabla de clientes y
si yo ahora elimino al cliente ct01
recordar voy a abrirlo antes de
eliminarlo en la tabla de pedido el
pedido uno tendrá que desaparecer el
pedido 8o tendrá que desaparecer y
alguno más que esté viendo el pedido 77
también tendrá que desaparecer porque
son pedidos que me ha hecho el cliente
ct01 que lo voy a eliminar no Entonces
cierro pedidos elimino este cliente me
dice que esto es un mensaje de
advertencia no de error me está diciendo
que ojo que no solamente voy a eliminar
registros de esta tabla sino que también
voy a eliminar registros de otras tablas
Bueno pues le decimos que sí Y si yo
ahora abro la tabla de pedidos ya ni
tengo el uno ni tengo el pedido 8 ni
tengo el pedido 77 que eran entre otros
los que había hecho el cliente ct01
Bueno pues esto es eliminar en
cascada bueno no hay vuelta atrás a la
hora de eliminar información en las
tablas de Access es decir si eliminas
registros y confirmas con las preguntas
de advertencia que por eso te las hace
Access porque no hay vuelta atrás Si
confirmas esta eliminación Pues no hay
nada que hacer vale bien más cosas
Cierro la tabla de centes el cliente
ct01 pues ya no existe vamos a examinar
un poquito Cómo están las relaciones
vamos ahora ya a ir un poco más allá Es
decir nos vamos a fijar también en la
tabla de productos pedidos no entonces
vemos que entre clientes y pedidos
tenemos activadas las tres opciones que
actualice que elimine por supuesto
integridad referencial y entre pedidos y
productos pedidos Pues también están las
tres como hay una relación en cadena
entre las tres tablas están relacionadas
entre sí con una relación de uno a
varios quiere decir que Y esto
es muy potente pero también peligroso si
me cargo un registro de la tabla de
clientes no solo estaré eliminando
información de la tabla de clientes sino
que estaré eliminando información de la
tabla de pedidos como acabamos de ver
pero ojo También estamos eliminando
información de la tabla de productos
pedidos vamos a hacer una última prueba
para ver esto no Entonces vamos a
ver en clientes voy a insertar la hoja
secundaria de datos para poder ver desde
la tabla de clientes pues la información
que tengo en pedidos muy bien Vamos a
ver qué pedidos me ha hecho por ejemplo
el cliente ct02 Pues el cliente ct02 me
ha hecho el pedido 30 y el pedido 103
fijaros que a su vez la tabla de pedidos
tiene también insertada la hoja
secundaria de datos para ver la
información que hay en productos pedidos
como hemos visto antes en la ventana de
relaciones si yo despliego la hoja
secundaria vemos
que me ha hecho el
cliente ct02 el número de pedido 30 me
ha pedido el artículo 23 33 unidades voy
a abrir un segundito la tabla de
productos pedidos entonces vemos que a
ver que ya se me está olvidando el
cliente ct02 el número de pedido 30
localizamos el pedido 30 Mirad Este es
el registro 30 correspondiente al
artículo 23 33 unidades No ese es el
registro que estamos señalando
directamente desde la tabla de clientes
Bueno pues como está eh activada la
opción de eliminar en cascada si yo
elimino al cliente ct02 no solo voy a
eliminar al cliente c02 voy a eliminar
en la tabla de pedidos el pedido 30 y en
la tabla de productos pedidos que es lo
que quiero que vierais voy a eliminar
concretamente este número de pedido el
30 no que corresponde al artículo 23 33
unidades vamos a ver si es cierto
cerramos todo guardamos algún cambio no
hace
falta abro la tabla de clientes y me
cargo al cliente
ct02 ojo que puede haber registros
relacionados en otras tablas Estás
seguro sí Bueno pues me acabo de cargar
voy a abrir productos pedidos el pedido
30 que ya no está fijaros que pasa del
29 al 31 eso que quiere decir pues que
ha llegado la eliminación hasta la
tercera tabla yo he eliminado el
registro aquí pero como está activado
eliminar en cascada ahí y ahí se eliminó
también el pedido correspondiente y se
eliminó también el producto pedido
correspondiente se ha eliminado también
el producto correspondiente no el
producto correspondiente no se ha
eliminado porque fijaros que el sentido
de la relación entre las tablas de
productos pedidos y productos va al
revés es decir mientras que aquí en
clientes y pedidos uno a varios el uno
está a la izquierda el varios está a la
derecha aquí ocurre lo mismo entre
pedidos y productos pedidos el uno está
a la izquierda tabla principal El varios
tabla secundaria está en productos
pedidos aquí es al revés la tabla
principal entre la relación productos
productos pedidos es productos y la
tabla secundaria es productos pedidos
como cambia el sentido de la relación no
se ha eliminado el producto en concreto
y esta base de datos Está diseñada así a
propósito tú te puedes cargar un cliente
también te puedes cargar porque tiene
sentido el pedido que te ha hecho ese
cliente te puedes cargar Pues el número
de unidades que se le mandó pero lo que
no te puedes cargar en ningún momento es
el producto que tú puedes tener en el
almacén luego entonces en este caso sí
que tiene sentido que entre estas dos
tablas la relación vaya al
revés otra cosa que ya correspondería
quizás un poquito acces avanzado es que
como podéis comprobar la tabla de
productos pedidos tiene dos Campos clave
es posible esto perfectamente esto nos
permite relacionar pues eh pedidos con
productos pedidos y además con productos
no y pues si tú necesitas por otros
motivos que en tu tabla dos o más Campos
sean campo clave ningún problema Lo
único que ocurre es que no se podrá
repetir ni quedar vacía la información
como ya sabéis no Bueno pues vamos a
dejar este vide tutorial aquí ya hemos
visto las propiedades de las relaciones
entre las tablas exigir integridad
referencial actualizar en cascada y
eliminar en cascada de acuerdo Bueno
pues espero que os haya gustado ya en el
siguiente V tutorial empezaremos de
lleno con el tema de las consultas en
Access un tema importantísimo Cómo
extraer información de una base de datos
de Access os invito a que lo veáis hasta
entonces que os vaya bien Hasta la
próxima
関連動画をさらに表示
Cómo crear tablas y relaciones en Microsoft Access
Curso Access Básico 2010 Relaciones entre tablas II Vídeo 7
La importancia de las bases de datos en la vida cotidiana
Como Relacionar Tablas en Mysql con phpMyAdmin
Como crear una Base de Datos en Access con tablas relacionadas. Este no es un video sobre Excel.
Bases de datos desde Cero | Primer BD - Modelo Entidad-Relacion | Parte 9
5.0 / 5 (0 votes)