Articles of foreign keys

¿Cómo agrego una clave externa a una tabla SQLite existente?

Tengo la siguiente tabla: CREATE TABLE child( id INTEGER PRIMARY KEY, parent_id INTEGER, description TEXT); ¿Cómo agrego una restricción de clave externa en parent_id ? Supongamos que las claves foráneas están habilitadas. La mayoría de los ejemplos asumen que estás creando la tabla; me gustaría agregar la restricción a una existente.

¿Forzar InnoDB para volver a verificar claves externas en una tabla / tablas?

Tengo un conjunto de tablas InnoDB que periódicamente necesito mantener eliminando algunas filas e insertando otras. Varias de las tablas tienen restricciones de clave externa que hacen referencia a otras tablas, por lo que significa que el orden de carga de la tabla es importante. Para insertar las nuevas filas sin preocuparme por el orden […]

MySQL eliminando algunas claves foráneas

Tengo una tabla cuya clave principal se usa en varias otras tablas y tiene varias claves externas a otras tablas. CREATE TABLE location ( locationID INT NOT NULL AUTO_INCREMENT PRIMARY KEY … ) ENGINE = InnoDB; CREATE TABLE assignment ( assignmentID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, locationID INT NOT NULL, FOREIGN KEY locationIDX (locationID) […]

¿Cómo se aplican las restricciones de clave externa en SQLite a través de Java?

Parece que SQLite no aplica llaves foráneas por defecto. Estoy usando sqlitejdbc-v056.jar y lo he leído usando PRAGMA foreign_keys = ON; activará las restricciones de clave externa, y que esto debe activarse por conexión. Mi pregunta es: ¿qué instrucciones de Java necesito ejecutar para activar este comando? He intentado: connection.createStatement().execute(“PRAGMA foreign_keys = ON”); y Properties […]

Cómo actualizar la clave principal

Aquí está mi problema: tengo 2 tablas: TRABAJADOR, con columnas |ID|OTHER_STAF| , donde ID es clave principal FIRM, con columnas |FPK|ID|SOMETHING_ELSE| , donde la combinación FPK e ID hacen la clave primaria, y también ID es una clave foránea referenciada a WORKER.ID (no nula, y debe tener el mismo valor que en WORKER). Quiero hacer […]

Hibernate – Llaves extranjeras en lugar de entidades

Actualmente, Hibernate me permite cargar objetos definidos por relaciones * a uno directamente con entity1.getEntity2() ¿Es posible obtener la clave externa en lugar del objeto? El enfoque actual que veo es agregarme a mi mapeo: @JoinColumn(name=”message_key”) @ManyToOne(targetEntity=Message.class,fetch=FetchType.LAZY) private Message message; //these lines currently exist @Column(name=”message_key”) private Long message_fk; //the idea is to add those 2 […]

¿Está bien tener clave externa como clave principal?

Tengo la tabla “Usuario” (nombre de usuario, contraseña) y la tabla “Perfil” (ID de perfil, género, fecha de nacimiento, …). Actualmente estoy usando este enfoque: cada registro de perfil tiene un campo llamado “userId” como clave externa que se vincula a la tabla de usuario. Cuando un usuario se registra, su registro de Perfil se […]

Entender el atributo ForeignKey en el código del marco de la entidad primero

Ver la siguiente publicación para algunos antecedentes: Marco de entidad de una a cero o una relación sin propiedad de navegación Siempre pensé que ForeignKey se usaba para mostrar qué propiedad de una clase tenía ForeignKey que determinaba la propiedad de navegación, por ejemplo public class MemberDataSet { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int Id { get; […]

Oracle (ORA-02270): ninguna clave primaria o única coincidente para este error de lista de columnas

Tengo dos tablas, Table JOB y Table USER , aquí está la estructura CREATE TABLE JOB ( ID NUMBER NOT NULL , USERID NUMBER, CONSTRAINT B_PK PRIMARY KEY ( ID ) ENABLE ); CREATE TABLE USER ( ID NUMBER NOT NULL , CONSTRAINT U_PK PRIMARY KEY ( ID ) ENABLE ); Ahora, quiero agregar una […]

¿Las claves externas son realmente necesarias en el diseño de una base de datos?

Hasta donde yo sé, las claves externas (FK) se utilizan para ayudar al progtwigdor a manipular los datos de la manera correcta. Supongamos que un progtwigdor lo está haciendo de la manera correcta, ¿realmente necesitamos el concepto de claves externas? ¿Hay algún otro uso para claves extranjeras? ¿Me estoy perdiendo de algo?