Делаю маленькую базу для доски обхъявлений.
Существует объявление у него есть идентификатор и прочие атрибуты, включая имя категории и имя раздела.
Существует справочник с категориями, 2 категории могу быть с одинаковыми именами, но должны быть в разных разделах.
В таблице с разделами имя раздела должно быть уникальным
Все ли правильно?
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- CREATE TABLE parts(
- name VARCHAR(20) NOT NULL,
- description TEXT NOT NULL,
- CONSTRAINT pkIdParts PRIMARY KEY(name)
- );
- CREATE TABLE category(
- name VARCHAR(20) NOT NULL,
- part VARCHAR(20) NOT NULL,
- CONSTRAINT pkIdCat PRIMARY KEY(name,part),
- CONSTRAINT fkCatagoryPart FOREIGN KEY(part)
- REFERENCES parts(name)
- );
- CREATE TABLE ads(
- id INT UNSIGNED NOT NULL AUTO_INCREMENT,
- name VARCHAR(20) NOT NULL,
- text TEXT NOT NULL,
- cat VARCHAR(20) NOT NULL,
- part VARCHAR(20) NOT NULL,
- email VARCHAR(20) NOT NULL,
- fio VARCHAR(50) NOT NULL,
- CONSTRAINT pkIdAds PRIMARY KEY(id),
- CONSTRAINT fkAdsCat FOREIGN KEY(cat,part)
- REFERENCES category(name,part)
- );