Size: a a a

DBA - русскоговорящее сообщество

2021 March 15

II

Ilya Ilya in DBA - русскоговорящее сообщество
Ilia Zviagin
Книжку возми Hibernate in action
спасибо, гляну)
источник

LE

Lex E in DBA - русскоговорящее сообщество
error_404
Здравствуйте. Делаю простенький сервис по покупкам авиобилетов онлайн. Хотел бы спросить это нормальная модель? Сам только недавно начал этим заниматься так что хотел бы узнать совет опытных людей.
как предложили,
написать круто было бы пользовательские запросы, зачем они используют
какие данные им надо будет возвращать

по итогу мы получит sql запросы для каждого из use case-ов
теперь нам надо понять, как нам организовать данные в таблицах
FK и тп

организовали данные,
закрыли известные потребности пользователей

теперь мы руками через консоль пишем все запросы,
которые будут выполняться обращении к api, rpc

смотрим настроены ли индексы верно,
сколько время выполнения.
тут должно стремиться быть меньше 10 мс
даже на твоей локальной машине, если это postgres

если у тебя 200-300 мс по каким-то use case-ам и соответствующим
sql запросам, то надо что-то менять

тут много умных советчиков, которые скажут, что:
"надо правильно делать, монго говно...!"
:)

на самом деле, надо чтобы просто работало, по фиг как! и не ломалось, и максимально быстро
ты всегда сможешь вернуться, и отполировать какие-то кривые части.

оффтоп почти
бд же не вакууме, даже если это упражднение просто
это мобайл или веб?

мобайл скорее будет server-driven
веб может быть умнее, и быть client-driven

**
никогда не предлагали еще на собесе проектировать
флайт букинг эп
боюсь что такое будет
интересно подумать
источник

AM

Aleksey M. in DBA - русскоговорящее сообщество
всем привет! подскажите пожалуйста кто знает как можно конвертировать бд .mdf из ms sql server в формат .db .sqlite ?
источник

V

Valery in DBA - русскоговорящее сообщество
Aleksey M.
всем привет! подскажите пожалуйста кто знает как можно конвертировать бд .mdf из ms sql server в формат .db .sqlite ?
Mv file.mdf file.db
источник

YS

Yaroslav Schekin in DBA - русскоговорящее сообщество
Aleksey M.
всем привет! подскажите пожалуйста кто знает как можно конвертировать бд .mdf из ms sql server в формат .db .sqlite ?
Никак. Более того, если у Вас есть только .mdf, и в MS SQL (если не идти на "крайние меры") эта база не запустится.
источник

AM

Aleksey M. in DBA - русскоговорящее сообщество
получается надо заново создавать БД на sqlite ?
источник

AM

Aleksey M. in DBA - русскоговорящее сообщество
Yaroslav Schekin
Никак. Более того, если у Вас есть только .mdf, и в MS SQL (если не идти на "крайние меры") эта база не запустится.
я могу и бэкпак сделать но скорее всего это тоже не поможет?
источник

YS

Yaroslav Schekin in DBA - русскоговорящее сообщество
Aleksey M.
я могу и бэкпак сделать но скорее всего это тоже не поможет?
Нет, не поможет. Нормально читать свои базы способен только MS SQL (соответствующей версии).
И таким образом Вы получаете только возможность доступа к ней с использованием SQL.
А тут нужно вытащить схему и данные, а потом создать (преобразовать) в sqlite то, что вообще будет возможно.
Лучше поискать существующие инструменты для этого (мне никогда не было нужно именно MS SQL → sqlite, поэтому не подскажу), потому что самому их писать / конвертировать вручную может быть очень долго.
источник

P

PavelDmitrenko in DBA - русскоговорящее сообщество
Aleksey M.
я могу и бэкпак сделать но скорее всего это тоже не поможет?
Экспортируйте из MSSQL DDL и данные в виде sql-скриптов.
После их доработки под требуемый синтаксис примените к sqllite.
Возможно, структуру проще будет предварительно воссоздать вручную, и импортировать только данные.
Если нет каких-либо специфических структур — может получится достаточно быстро, тут уж всё индивидуально
источник

AM

Aleksey M. in DBA - русскоговорящее сообщество
Yaroslav @PavelDmitrenko  спасибо
источник

P

PavelDmitrenko in DBA - русскоговорящее сообщество
Еще можно рассмотреть вариант экпорта/импорта через ODBC
Под sqllite драйвера вроде есть
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
Aleksey M.
я могу и бэкпак сделать но скорее всего это тоже не поможет?
есть готовые конвертеры
источник

AM

Aleksey M. in DBA - русскоговорящее сообщество
Андрей Агеев
есть готовые конвертеры
я пробовал но потом таблицу не видит
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
Aleksey M.
я пробовал но потом таблицу не видит
как вариант - linked server + select * into для каждой таблицы, потом может допил небольшой
источник

P

PavelDmitrenko in DBA - русскоговорящее сообщество
Андрей Агеев
как вариант - linked server + select * into для каждой таблицы, потом может допил небольшой
sqllite в кач-ве linked server, боюсь, не добавить
источник

АА

Андрей Агеев... in DBA - русскоговорящее сообщество
источник

P

PavelDmitrenko in DBA - русскоговорящее сообщество
а, через ODBC, понял
источник

ON

Oleg Nechaev in DBA - русскоговорящее сообщество
Привет!
mysql upper может защитить от sql инъекции?
источник

P

PavelDmitrenko in DBA - русскоговорящее сообщество
Oleg Nechaev
Привет!
mysql upper может защитить от sql инъекции?
никак нет
ну только если инъекция регистрозависимая и не совместима с верхним регистром (это шутка)
источник

ON

Oleg Nechaev in DBA - русскоговорящее сообщество
PavelDmitrenko
никак нет
ну только если инъекция регистрозависимая и не совместима с верхним регистром (это шутка)
Сейчас столкнулся с тем, что этот запрос выводит все строки:
SELECT * FROM `table` WHERE NAME = "name" or ""="";

А этот 0 строк:
SELECT * FROM `table` WHERE NAME = upper("name" or ""="");

name - переменная. Но здесь видимо дело в том, что or внутри параметра функции.

Я нашел в своем проекте эту потенциальную уязвимость, но не могу ее проверить.
Оффтопик:
(new PDO())->query("SELECT * FROM `table` WHERE NAME = upper('" . $_REQUEST['name'] . "')");
источник