За последние 24 часа нас посетили 18772 программиста и 1702 робота. Сейчас ищут 879 программистов ...

Структура базы данных

Тема в разделе "MySQL", создана пользователем veteran, 28 ноя 2012.

  1. veteran

    veteran Активный пользователь

    С нами с:
    2 мар 2012
    Сообщения:
    15
    Симпатии:
    0
    Здравствуйте!
    Создал такие таблицы:

    Features(параметры)

    f_id |f_name
    1 price
    2 color
    5 firm

    features_values(свойства параметров)

    fv_id | f_value
    1 Samsung
    4 Nokia
    22 black
    23 white

    Products(товары)

    p_id | p_name
    1 Samsung GT
    2 Samsung n700
    3 Nokia 900

    products_features(табл.свызыв.параметры со свойствами и с товарами)

    id_p |p_id | f_id | fv_id
    1 1 1 6
    2 1 2 21
    5 1 5 1

    Такую структуру видел в некоторых CMS. Правильна ли такая структура? Есть по этому поводу сомнения,и запросы достаточно сложные получаются(может, правда, только для меня).
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    мне лично не понятно как они там у тебя друг с другом связаны о_О
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    подозреваю, что у этого велосипеда не хватает одного болта, а именно поля features_values.p_id - ссылки на products. с ним таблица products_features просто становится не нужна! получится классический Entity-Atribute-Value

    универсальность имеет негативную сторону — неэффективность.
     
  4. veteran

    veteran Активный пользователь

    С нами с:
    2 мар 2012
    Сообщения:
    15
    Симпатии:
    0
    таблица products_features связывает другие таблицы.
    А на счет поля features_values.p_id - я не понял зачем оно надо.Если шо поправьте меня.
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    чтобы сссылаться на products )))

    Добавлено спустя 2 минуты 28 секунд:
    а вообще забей, ты же не спрашивал совета, а хотел чтобы тебя подбодрили.

    твоя структура выполняет твои задачи? она хорошая!
     
  6. veteran

    veteran Активный пользователь

    С нами с:
    2 мар 2012
    Сообщения:
    15
    Симпатии:
    0
    так связь между таблицами есть: features_values.fv_id=products.fv_id AND products_features.p_id=products.p_id .Или я чета не панимаю?

    пока не спрашивал)

    При такой структуре палучаются сложные запросы к базе и я в них сильна сомневаюсь)
    В CMS модель EAV используется, а в интернете ее сильна критикуют.
    А есть EAV в книги какой-небудь шоб почитать можно было нормально?
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    забей. эта тема реально просится в игнор.
     
  8. veteran

    veteran Активный пользователь

    С нами с:
    2 мар 2012
    Сообщения:
    15
    Симпатии:
    0
    а че так?)

    Нашел, то что меня интересавало на форуме sql, там, оказываеться, паднималась эта тема и не раз.