Forum Webscript.Ru

Общие => Базы данных => Тема начата: Marss от 27 Мая 2004, 23:06:37

Название: Построение базы
Отправлено: Marss от 27 Мая 2004, 23:06:37
Помогите сторожилы, ладу не дам.

Есть бд (Firma) есть таблицы (kedi, veniki,) есть поля (Art, Size, Color)..
но этого мало мне нужна таблица в таблице.
Art (артикул) разный у всех, и в каждой таблице должно быть 7-10 строк.
Таблиц в одной только базе kedi 50,
у меня же запрос выводит только по одной строке, на каждую таблицу, а нужно 5-7-10, у кого как..
Есть возможность добавить таблицу в таблицу, или есть др. ход поскажите прошу

Спасибо!
Название: Построение базы
Отправлено: Макс от 28 Мая 2004, 00:47:11
1. купи себе какую-нибудь книгу по теории СУБД
Например Крис Дейт "Введение в системы баз данных"

2. Таблицу в таблице сделать нельзя, обычно делают еще одну таблицу и связывают ее с первой по какому-либо ключу
Насколько я понял из всего что ты написал тебе нужна связь "многие-ко-многим".

Например, есть каталог продукции :
table_products : product_id, product_name
и есть список категорий продукции :
table_categories : cat_id, cat_name
Допустим каждый продукт может лежать в нескольких категориях. Чтобы хранить такую структуру добавляют третью таблицу:
table_product2cats : product_id, cat_id
Допустим продукт с product_id = 4 принадлежит категориям 5 и 6.
Тогда в таблицу table_product2cats заносят 2 строки:

product_id, cat_id
   4       ,    5
   4       ,    6



Для того чтобы понять как связывать таблицы надо разобраться с тем как работают JOIN-запросы или SELECT-запросы по нескольким таблицам.


ЗЫ
на будущее - указывай в вопросе, какую СУБД используешь.
ссылка для mysql
http://dev.mysql.com/doc/mysql/ru/JOIN.html
Название: Построение базы
Отправлено: Marss от 28 Мая 2004, 00:55:58
Спасибо, Макс!
Уважаю, чесно.. вопрос был обречен, в принципе... помог ты мне..
Название: Построение базы
Отправлено: ThE0ReTiC от 28 Мая 2004, 09:32:38
Цитировать
Макс:
Таблицу в таблице сделать нельзя

[off]
смотря в какой СУБД :)
в Oracle можно
[/off]