Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Внешние ключи, разбираюсь с данной темой 
:(
    Опции темы
Testernew
Дата 8.11.2018, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 12.2.2012
Где: Луганск

Репутация: нет
Всего: нет



Добрый вечер,
Сразу скажу что в БД я новичек.
Пробую реализовать простую базу данных 'доски объявлений' для продажи авто, пытаюсь сделать ее привести к 3й форме(если не путаю). 
Выделил 
  • фирмы машин
  •       продавцов(фио, тел, итд)
  •       категории авто(4x4 итд)
  •       объявления(с внешними ключами на данные таблицы)
в отдельные таблицы. 

Код

CREATE TABLE `bmw` (
 `id` int(12) NOT NULL AUTO_INCREMENT,
  `model` varchar(24) NOT NULL,
  PRIMARY KEY (`id`)

);
CREATE TABLE `renault` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `model` varchar(24) NOT NULL,
  PRIMARY KEY (`id`)
);
CREATE TABLE `peugeot` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `model` varchar(24) NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `citroen` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `model` varchar(24) NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `category` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `category` varchar(24) NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `seller` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `name` varchar(24) NOT NULL,
  `localization` varchar(24) NOT NULL,
  `telephone number` int NOT NULL,
  `email` varchar(24) NOT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `announcement` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
   bmw_id  INT NOT NULL,
   renault_id  INT NOT NULL,
   peugeot_id  INT NOT NULL,
   citroen_id  INT NOT NULL,

   creation_date DATE NOT NULL,
   km INT(6),
   price INT(12),
   descr varchar(24),

   seller_id  INT NOT NULL,
   date_ann DATE NOT NULL, 

   FOREIGN KEY (bmw_id) REFERENCES bmw(id),
   FOREIGN KEY (renault_id) REFERENCES renault(id),
   FOREIGN KEY (peugeot_id) REFERENCES peugeot(id),
   FOREIGN KEY (citroen_id) REFERENCES citroen(id),

   FOREIGN KEY (seller_id) REFERENCES seller(id),
  PRIMARY KEY (`id`)
);


Прошу сильно не пинать) если вам покажется это все кардинально не верно. 
Если кто то сможет подправить меня, то буду рад примеру с запросами SELECT, INSERT.
PM   Вверх
Akina
Дата 8.11.2018, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 453



Цитата(Testernew @  8.11.2018,  01:31 Найти цитируемый пост)
Выделил 
фирмы машин
      продавцов(фио, тел, итд)
      категории авто(4x4 итд)
      объявления(с внешними ключами на данные таблицы)
в отдельные таблицы.

ПОЧЕМУ?

Где анализ предметной области? где выделенные сущности и атрибуты? где выделенные связи? где процессы?

По наитию такие вещи не делают. Во всяком случае без достаточного опыта... или плачевный результат (вот как в данном случае) гарантирован.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1086 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.