Duda base de datos MySql

estoy tratando de descifrar como armar esta base datos, tengo la siguiente informació pero tengo dudas de donde colocar las claves foraneas ya que el esquema no está tan claro, agradeceria si me pudiesen dar una mano. Sobre todo en la relacion "one or many to one or many" con pregunta y etiqueta, un saludo.

enter image description here

/*Creación de la base de datos y seteado para utilizar*/
create database preguntas_respuestas;
use preguntas_respuestas;

/*Creación de las tablas*/
create table Categoria(
    IDCategoria int not null primary key auto_increment,
    nombre varchar(30) default null
);

create table Pregunta(
    IDPregunta int not null primary key auto_increment,
    descripcion varchar(250) default null,
    fechaPublicacion date default null, /*YYYY-MM-DD,*/
    FKCategoria int not null,
    foreign key(FKCategoria) references Categoria(IDCategoria)
);

>Solution :

Deberías diseñar una tabla intermedia para romper las cardinalidad de muchos a muchos. Es decir, una tabla que sea pregunta_etiqueta que tenga como PK ID_PREGUNTA y ID_ETIQUETA y foreign key a la tabla pregunta y etiqueta.

Leave a Reply