Tabla de cruce

Ir a: navegación, búsqueda de

En sistemas de gestión de base de datos después de la Modelo relacional, un tabla de cruce es una tabla de base de datos que contiene campos comunes de dos o más otras tablas de base de datos dentro de la misma base de datos. Está en el lado varios de una relación uno a varios con cada una de las otras tablas. Tablas de cruce son conocidas bajo muchos nombres, entre ellos tabla de referencias cruzadas, tabla de puente, tabla de combinación, mesa mapa, mesa de esquina, mesa de enlace, Many-to-many discernidor de imágenes, mesa de enlace, tabla de asignación, tabla dinámica[citación necesitada], tabla de transición, paso de peatones, entidad asociativa o tabla de asociación.

Tablas de cruce se emplean cuando se trata con relaciones muchos-a-muchos en una base de datos. Sería un uso práctico de una tabla de cruce asignar permisos a los usuarios. Puede haber varios usuarios, y cada usuario puede ser asignado 0 o más permisos. Podrán concederse permisos individuales para más de un usuario.

A visual depiction of the table schema described, with relationships indicated


CREAR MESA Usuarios (
UserLogin VARCHAR(50) PRIMARIA CLAVE,
UserPassword VARCHAR(50) NO NULL,
Nombre de usuario VARCHAR(50) NO NULL
)
 
CREAR MESA Permisos (
PermissionKey VARCHAR(50) PRIMARIA CLAVE,
PermissionDescription VARCHAR(500) NO NULL
)
 
Esta es la tabla de conexiones.
CREAR MESA UserPermissions (
UserLogin VARCHAR(50) REFERENCIAS Usuarios (UserLogin),
PermissionKey VARCHAR(50) REFERENCIAS Permisos (PermissionKey),
    PRIMARIA CLAVE (UserLogin, PermissionKey)
)

Usando las tablas de cruce

A SELECCIONE-consiste en la declaración sobre una tabla de cruce unirse a la mesa principal con la tabla de cruce:

SELECCIONE * De Usuarios
ÚNETE UserPermissions USANDO (UserLogin);

Esto devolverá una lista de todos los usuarios y sus permisos.

Insertar en un cruce de mesa implica varios pasos: primero insertando en las tablas principales y luego actualizar la tabla de conexiones.

--Crear un nuevo usuario
INSERTAR EN Usuarios (UserLogin, UserPassword, Nombre de usuario)
VALORES ('Alguien', 'Contrasena_secreta', 'Nombre de usuario');
--Creación de un nuevo permiso
INSERTAR EN Permisos (PermissionKey, PermissionDescription)
VALORES ('Llave', 'Una clave se utiliza para varios permisos');
--Finalmente, actualizando el cruce
INSERTAR EN UserPermissions (UserLogin, PermissionKey)
VALORES ('Alguien', 'Llave');

Usando llaves foraneas, la base de datos será desreferenciar automáticamente los valores de la tabla UserPermissions con sus propias tablas.

Véase también

  • Entidades asociativas
  • Many-to-many (modelo de datos)
  • Base de datos, Clave externa, Clave principal


Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=Junction_table&oldid=631274987"