![]() |
|
Модераторы: skyboy |
![]()
|
|
| Toohtik |
|
|||
![]() Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 142 Регистрация: 30.1.2006 Где: Харьков Репутация: нет Всего: нет |
Необходимо написать базу данных Заказов. В ней содержится 3 таблицы:
1.Таблица(Заказ) 2.Таблица(Заказчик) 3.Таблица (статус) 1.N 1.N 1.N 2.Заказчик 2.Имя 2.Состояние 3.Вид заказа 3.Телефон 4.Статус заказа 4.адрес 5.стоимость 5.login 6.password Причем 3.2 известно, т.е. уже известны названия полей(Новый, У дизайнера, В печати, Готов) Таблица Заказ «главная» необходимо чтоб при добавлении нового заказа происходило авто заполнение пунктов 1.2 1.4, те данные брались из 2х других таблиц. Как я понимаю все пункты 1 надо сделать первичными ключами связать эти 3 таблицы. Как произвести связь таблиц? Какие вообще будут предложения и пожелания:-) Заранее спасибо. Это сообщение отредактировал(а) Toohtik - 1.2.2007, 19:50 |
|||
|
||||
| comtat |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1310 Регистрация: 2.5.2006 Где: Россия, Казань Репутация: 1 Всего: 71 |
Состояние нужно будет выдельть в отдельную таблицу И скажу БД, какая (InterBase, Mysql, Access, ....) ? -------------------- Рожденный в СССР !!! ExtJS - мой фреймворк |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Достаточно 2 таблиц - заказы и заказчики. Статус, состояние и пр. могут быть полем с заданным набором значений или свободно-запоняемыми...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Toohtik |
|
|||
![]() Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 142 Регистрация: 30.1.2006 Где: Харьков Репутация: нет Всего: нет |
Я использую MySQL. Я наверное не так выразился. В таблице статус хранятся значения(Новый, У дизайнера, В печати, Готов). Т.е. статус я уже вынес в отдельную таблицу
Akina интересная идея... Как я понимаю все пункты 1 надо сделать первичными ключами связать эти 3 таблицы. Как произвести связь таблиц? Что насчет этого скажите? Это сообщение отредактировал(а) Toohtik - 1.2.2007, 23:06 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Toohtik |
|
|||
![]() Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 142 Регистрация: 30.1.2006 Где: Харьков Репутация: нет Всего: нет |
Таблица №1 (Заказ)
1.№ (уникальный индекс)(ключевое) 2.Заказчик 3.Вид заказа 4.Статус заказа(новый, в печати…) 5.Сумма заказа 6.Внешний ключ Таблица №2 (Заказчик) 1.(ключевое)(уникальный индекс) 2.Имя 3.Телефон 4.Адрес 5.login(уникальное) 6.password Связь один ко многим, по полю 1.6 с 2.1 Все-таки я решил сделать 2 таблицы, а поле 1.4 будит иметь фиксированные значения. PS это моя первая БД, но просьба судить строго! |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: нет Всего: 122 |
Таблица №1 (Заказ)
1.№ (уникальный индекс)(ключевое) 2.Заказчик (INT) 3.Вид заказа (VARCHAR) 4.Статус заказа (новый, в печати…) 5.Сумма заказа (FLOAT) 6.Внешний ключ (pачем???) Таблица №2 (Заказчик) 1.(ключевое)(уникальный индекс) 2.Имя (VARCHAR) 3.Телефон (VARCHAR) 4.Адрес (VARCHAR) 5.login(уникальное) (VARCHAR) 6.password (VARCHAR) связь будет происходит через 1,2 - 2,1 Добавлено @ 12:39 пункт 1,6 - не нужен |
|||
|
||||
| Toohtik |
|
|||
![]() Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 142 Регистрация: 30.1.2006 Где: Харьков Репутация: нет Всего: нет |
Целесобразно ли тут 1.1 делать ключевым?
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
Каждая таблица обязана иметь ключевое поле-счетчик. Отклонение от этого правила должно быть слишком обосновано. Как правило, достаточно тривиального constraint -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| muzer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 30 Всего: 31 |
||||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 454 |
muzer, я же сказал - отсутствие должно быть серьезно обосновано. Логикой. Или требованием компактности. Или иной действительно существенной причиной.
Но как правило его отсутствие обосновывают как угодно, лишь бы не указать истинную причину - лень. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Toohtik |
|
|||
![]() Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 142 Регистрация: 30.1.2006 Где: Харьков Репутация: нет Всего: нет |
Запрос по идеи должен быть таким:
Записал я это все в файл main.sql и пытаюсь исполнить командой \. main.sql. Вот что выдает: Это сообщение отредактировал(а) Toohtik - 2.2.2007, 20:50 Присоединённый файл ( Кол-во скачиваний: 3 )
picture.JPG 37,93 Kb |
|||
|
||||
| muzer |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 30 Всего: 31 |
Toohtik, вот они последствия работы с гуём, обсуждаемые в соседней ветке
нужно не так:
а так:
аналогично со второй таблицей, все ключи - в конец |
||||
|
|||||
| Toohtik |
|
|||
![]() Шустрый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 142 Регистрация: 30.1.2006 Где: Харьков Репутация: нет Всего: нет |
Все равно не получается
|
|||
|
||||
| muzer |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 387 Регистрация: 31.8.2006 Репутация: 30 Всего: 31 |
Sum - ключевое слово, его надо в кавычки, только не простые, а те которые под русской "ё" в английской раскладке.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |