Я хоть и критикую ORM как нечто чрезмерное, но с другой стороны, SQL -- это фактически язык ассемблера для данных. Ему не хватает богатой структуры и возможностей абстракции, которые разработаны для современных языков программирования.
Формат данных (например, реляционный) стоит далеко на втором месте по сравнению с семантикой. Вся семантика находится в коде, но вы не можете написать всё приложение в хранимой процедуре. Поэтому предоставление всем желающим доступа к прямым SQL-запросам -- это кошмар, который быстро поставит приложение в тупик. Именно поэтому все команды, когда-либо предоставлявшие своим разработчикам прямой доступ к SQL в первой версии продукта, в конечном итоге быстро его отменяли.
(с нереляционкой, впрочем, ситуация ещё хуже)
Даже в легендарном "Счастливом Фермере" (где моя свинья 9-го уровня??) пришлось спешно добавлять минимальный middleware, потому что с клиентов отправлялись прямые SQL-запросы к базе (точнее, к одной гигантской таблице со всем чем только можно), которые очевидным способом хакались. Впрочем, даже такая ужасающе спроектированная система (один гигантский анти-паттерн) очень хорошо зарабатывала, и в этом огромная беда ИТ: код может быть сколь угодно кривым, и всё же продукт может стать успешным. Ну, до поры до времени...
Выглядит организация прямого доступа к базе как отличная идея, но на уровне обсуждений все примеры тривиальны. Ни одно реальное приложение не настолько просто, чтобы случайные разработчики могли работать непосредственно с таблицами.
Post #783
815
- 👏 7
- 👍 4
- 🤔 2
- 🫡 2
- ❤ 1