@Islam222

Почему в данных таблицы все не по порядку?

6491542964753199672814.png

И вообще целеообразно ли создавать словарь таким оброзом? Добавляя каждое слово в БД? Если нет, то подскажите пожалуйста
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
@alexalexes
О порядке добавления записей не нужно заботиться.
У СУБД нет задачи хранить записи в строгом порядке, ваша задача понять, удовлетворит ли вас результат сортировки, если при выборке задать сортировку по darg-w:
select *
  from verbs
order by darg-w

Если хотите получать список в порядке добавления, то логично сортировать по id:
select *
  from verbs
order by id

Если хотите особую сортировку, которая не подчиняется ни id, ни естественному весу строк, то можете ввести новую колонку и следить за позиционированием строк при выборки сами, или по каким-то другим правилам вычислять позицию:
select *
  from verbs
order by position -- дополнительное поле, в которое будете сами или программно вбивать порядок сортировки

Или запрос может выдергивать сам определенные строки, давая им высший приоритет (можно написать любое правило, что требует бизнес логика, или что в голову сбредет):
select *
  from verbs
order by case when id = 100 then 0 else 1 end -- даем записи id=100 наивысший приоритет, в любом состоянии списка она будет на 1 месте!
        , id -- остальные записи отсортируются в порядке добавления

PS: Важно, чтобы поля, которые применяются в сортировке, были проиндексированы (в схеме СУБД были созданы индексы по данным полям и они своевременно пересчитаны).
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
SQL не гарантирует какого-либо определённого порядка строк в выборке за исключением явно заданного через SORT BY.
Ответ написан
Комментировать
trapwalker
@trapwalker
Программист, энтузиаст
БД не гарантирует и не обеспечивает никакого конкретного порядка хранения данных. Извлекаются данные из БД также без определенного порядка, если вы не указываете сортировку в SQL-запросе явно.
Также не очень хорошая идея привязывать порядок слов в словаре к ключу. Так вы не сможете добавлять словарь между словами, ведь ожидается алфавитная сортировка. Просто не считайте ключевое поле упорядоченным и как-то влияющим на порядок, а слова сортируйте по алфавиту с помощью SQL-запросов. Ну и да, нужно сделать соответствующий индекс на этой таблице.
А вообще такие основы можно прочесть в любой книжке про базы данных.
Мой вам совет - начните с книги.
Ответ написан
Комментировать
@Islam222 Автор вопроса
А все. Надо было выбрать сортировать по ключу PRIMARY (ASC)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽