Дизайн таблицы «многие ко многим» с тремя столбцами, использующими общий идентификатор - PullRequest
0 голосов
/ 31 марта 2019

Существующий дизайн в таблице

style_model_color_map
----------------------

styleid  modelid colorid
---------------------------
italian  y       1 
italian  y       2 
italian  y       3
greek    y       1 
greek    y       2 
greek    y       3
greek    z       1 
greek    z       2 
greek    u       1 
greek    u       2 

Я планирую сделать это

Я думаю, что это уменьшит количество записей, поэтому выборка будет быстрее

style_model_color_map
------------------------
style   model   groupid 
italian  y       1
greek    y       1
greek    u       2 
greek    z       2

group_color
------------------
id  color  groupid
1    red    1
2    green  1
3    blue   1
4    red    2
5    green  2

Мне нужно несколько советов по этому вопросу, пожалуйста, помогите о производительности и лучшем дизайне

Если мой второй дизайн верен.

1. Мне также нужно знать, как реализовать это в Oracle Oracle,

2. Нужна помощь для извлечения всех записей colorid для заданного идентификатора стиля и модели

1 Ответ

0 голосов
/ 31 марта 2019

Используйте идентификатор из group_color в таблице style_model_color_map , если вы просто хотите назначить цвет для определенного стиля и модели в style_model_color_map .Добавьте новую таблицу для группы, которая добавит больше гибкости для использования таблиц позже.

        style_model_color_map
          -----------------
        style   model   colorid groupid
        italian  y       1       1
        greek    y       1       2
        greek    u       2       3
        greek    z       2       3

        group_color
        -----------
        colorid  color  
        1        red    
        2        green  
        3        blue  
        4        red  
        5        green 

        group_table
        ------------
        groupid groupname
        1       name1
        2       name2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...