Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
здравствуйте, у меня есть один вопрос. у меня мало опыта в проектировании баз данных. помогите пожалуйста. я делаю сейчас сайт изучения иностранных языков. каждый зарегистрированный пользователь имеет возможность создавать списки слов, которые он хочет выучить. сейчас я делаю базу данных, которая будет хранить данные о пользователях и о списках, и я зашел в тупик. я рассматриваю самый худший вариант - много пользователей и каждый пользователь создает сотни списков с тысячами слов. я вижу два способа: 1) использовать три таблицы: 1-ая для хранения данных о пользователях, 2-ая для хранения имени списков и 3-тья для хранения слов в списках(таблица из двух столбцов: слово, которое хочешь выучить и перевод на родной язык) 1-ая и 2-ая связана один ко многим. можно определить так, какие списки создал определенный пользователь 2-я и 3-тья также связаны отношением один ко многим. помогает определить все слова, находящиеся в определенном списке. этот способ просто реализовать, но если, к примеру, будет 1000 списков и в каждом списке по 5000 слов, то получится уже 5000000 слов. и производительность должна упасть, как я понимаю. и еще, я хочу реализовать возможность для каждого списка выбор пары языков: изучаемый язык и родной язык и будет по моему не очень хорошо, если в одной таблице будут слова разных пар языков. 2) использовать множество таблиц. первые две остаются как и в первом случае. а вот для каждого списка я думаю динамически создавать новые таблицы, которые будут связаны один ко многим к 2-ой таблице. в таком случае исключена ситуация нахождения в одной таблице большого количество слов и не будут смешиваться слова разных пар языков. Но в таком случае будет очень много таблиц. я нигде не встречал такие базы данных и не знаю, разумно ли использовать такой способ. спасибо за внимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2018, 13:55 |
|
||
|
проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
sadd13-тья для хранения слов в списках(таблица из двух столбцов: слово, которое хочешь выучить и перевод на родной язык)Т.е. каждый создаёт СВОЙ вариант перевода, что ли? sadd12) использовать множество таблиц. Забудь немедленно. sadd11) использовать три таблицыЕдинственный вменяемый подход. Требующий, впрочем, корректировки. sadd12-я и 3-тья также связаны отношением один ко многим.Нет, много-ко-много. Если пользователь хочет внести слово в десяток своих списков, ему что, десять раз вводить одно и то же? sadd1если, к примеру, будет 1000 списков и в каждом списке по 5000 слов, то получится уже 5000000 слов.Ерунда. Если, конечно, сервер не на третьем пеньке, подключенный через жопорез... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2018, 14:04 |
|
||
|
проектирование базы данных
|
|||
|---|---|---|---|
|
#18+
Akinasadd13-тья для хранения слов в списках(таблица из двух столбцов: слово, которое хочешь выучить и перевод на родной язык)Т.е. каждый создаёт СВОЙ вариант перевода, что ли? хочу, чтобы таблица имела такой вид Waitress -официантка Awful -ужасный advance -аванc wrong -ошибаться sadd12) использовать множество таблиц. Забудь немедленно. хорошо) sadd11) использовать три таблицыЕдинственный вменяемый подход. Требующий, впрочем, корректировки. sadd12-я и 3-тья также связаны отношением один ко многим.Нет, много-ко-много. Если пользователь хочет внести слово в десяток своих списков, ему что, десять раз вводить одно и то же? не вижу смысла в такой функциональности sadd1если, к примеру, будет 1000 списков и в каждом списке по 5000 слов, то получится уже 5000000 слов.Ерунда. Если, конечно, сервер не на третьем пеньке, подключенный через жопорез... понял, спасибо большое) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2018, 14:13 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=59&tid=1830101]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 371ms |

| 0 / 0 |
