Tabla de cruce
|
Este artículo No lo hace Cite cualquier referencias o fuentes. (Diciembre de 2009) |
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.
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
Esto Ciencias de la computación el artículo es un trozo. Usted puede ayudar a Copro por expandirse. |