Witam!
Czy mógłby mi ktoś wytłumaczyć jaka jest różnica pomiędzy taką relacją tabel
CREATE TABLE products (
id int(11) NOT NULL auto_increment,
category_id int(11) NOT NULL,
producer_id int(11) NOT NULL,
name varchar(25) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
PRIMARY KEY (id),
KEY name (name)
);
CREATE TABLE categories (
id int(11)NOT NULL auto_increment,
name varchar(45) DEFAULT '' NOT NULL,
description varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (id),
KEY name (name)
);
CREATE TABLE producers(
id int(11)NOT NULL auto_increment,
name varchar(55) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
);
a taką (łącznikowa)
CREATE TABLE categories (
id int(11)NOT NULL auto_increment,
name varchar(45) DEFAULT '' NOT NULL,
description varchar(255) DEFAULT '' NOT NULL,
PRIMARY KEY (id),
KEY name (name)
);
CREATE TABLE producers(
id int(11)NOT NULL auto_increment,
name varchar(55) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE category_producers(
id int(11)NOT NULL auto_increment,
category_id int(11) NOT NULL,
producer_id int(11) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE products (
id int(11) NOT NULL auto_increment,
category_producer_id int(11) NOT NULL,
name varchar(25) DEFAULT '' NOT NULL,
description text DEFAULT '' NOT NULL,
timestamp timestamp(6) NOT NULL,
PRIMARY KEY (id),
KEY name (name)
);
I jak się mają takie relacje do operacji CRUD? Z tego co zaobserwowałem dla pierwszej relacji tabel, operacja CRUD dla tabeli products jest bez problemowe, gdyż mogę pobrać wartości z tabel: categories i producers natomiast dla drugiej relacji zaczyna się problem, gdyż mam dostęp tylko do tabeli** category_producers** Jak zatem pobrać wartości z tabeli categories i producers? Którą relację używać?
Pozdrawiam i dziękuję za wszelkie sugestię