Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Beginner Web en 26 Octubre 2023, 20:56 pm



Título: creacion de una TEA en postgresql
Publicado por: Beginner Web en 26 Octubre 2023, 20:56 pm
Hola, como sería para crear una tabla intermedia muchos a muchos para que mantenga la relacion entre las tablas simples

tabla1 --------tabla1-tabla2----------tabla2

Código
  1. CREATE TABLE article (
  2.  id BIGINT PRIMARY KEY,
  3.  title text NOT NULL,
  4.  score INT NOT NULL
  5. );
  6. CREATE TABLE tag (
  7.  id BIGINT PRIMARY KEY,
  8.  name text NOT NULL
  9. );
  10. CREATE TABLE article_tag (
  11.  article_id BIGINT NOT NULL REFERENCES article (id),
  12.  tag_id BIGINT NOT NULL REFERENCES tag (id),
  13.  PRIMARY KEY (article_id, tag_id)
  14. );


o ...

Código
  1. CREATE TABLE article (
  2.  id BIGINT PRIMARY KEY,
  3.  title text NOT NULL,
  4.  score INT NOT NULL
  5. );
  6. CREATE TABLE tag (
  7.  id BIGINT PRIMARY KEY,
  8.  name text NOT NULL
  9. );
  10. CREATE TABLE article_tag (
  11.  article_id BIGINT NOT NULL,
  12.  tag_id BIGINT NOT NULL,
  13.  PRIMARY KEY (article_id, tag_id),
  14.  FOREIGN KEY(article_id) REFERENCES article(id),
  15.  FOREIGN KEY(tag_id) REFERENCES tag(id)
  16. );
  17.  

tambien como me puedo dar cuenta que estan relacionadas  :(


Título: Re: creacion de una TEA en postgresql
Publicado por: Locura_23 en 5 Noviembre 2023, 16:16 pm
hola, en principio supongo que la tabla article_tag contiene 2 llaves foráneas: article_id y el tag_id, asimismo deberia tener su propio id como id_article_tag o así.

Entiendo que si alguna llave foranea puede ser NULL entonces, puede referenciar a uno o a ningún registro. Tendrias que pensar si esa es una regla de negocio que quieres implementar.

tambien como me puedo dar cuenta que estan relacionadas  :(

mmm a qué te refieres con eso? a nivel conceptual cómo se relacionan las entidades o en código sql?


Título: Re: creacion de una TEA en postgresql
Publicado por: planton en 5 Noviembre 2023, 18:46 pm
Dandole continuidad a Locura_23  aqui te dejare un link https://www.postgresqltutorial.com/postgresql-administration/postgresql-describe-table/  (https://www.postgresqltutorial.com/postgresql-administration/postgresql-describe-table/) para que puedas ver las filas que estan relacionadas entre tablas,  recuerda que tienen que tener una referencia de las tablas para poder tener una buena relacion entre tablas..

Aqui tambien otro links para que puedas hacer una relacion entre tablas https://hasura.io/learn/database/postgresql/core-concepts/6-postgresql-relationships/ (https://hasura.io/learn/database/postgresql/core-concepts/6-postgresql-relationships/)