@CodeDes3D

Насколько важно сейчас начинающему веб-разработчику разбираться в SQL досконально?

Просто узнал о такой штуке как ORM, и если это позволяет на начальных этапах не учить SQL полностью, то я сэкономлю кучу времени
  • Вопрос задан
  • 479 просмотров
Решения вопроса 2
А что там учить то ? О_О если вы знаете английский, там всего 4 часто используемых команды. CRUD, которые выучиваются за пару часов или даже в процессе написания. Тригера начинающий вебер не будет писать, а через ORM вы делаете все те же операции CRUDа. Чистый SQL вам не придется писать - это не безопасно, а во вторых не доверят. Но знать команды и какие возможности у вас есть - это обязательно!

Иначе будет ситуация, как с коллегой, который начал с фреймворка PHP и когда ситуация потребовала чистых знаний в PHP не смог. Вам этот кипишь нужен?
Ответ написан
ruFelix
@ruFelix
Предсказание будущего по руке, таро, кофе.
Реализация ORM обычно такова, что это тот же SQL синтаксис только в виде объекта вызовов методов объектов.

  1. В простых случаях, что то типа: User::findAll()->where(['id'=>10])
    Это как бы прикольно, но тот же SQL: SELECT * FROM user WHERE id =10 не выглядит более сложным.
  2. Join, ORM как бы скрывает джойны:

    $UserCollection = User::findAll()->where(['id'=>10]);
       foreach($UserCollection as $User){
          if($User->ProfileSetting->is_enable == 'yes'){
             doSomething($User);
          }
       }

    Тут как бы скрыто то, что запрос происходит к двум связанным таблицам (user и profile), это достаточно в многих случаях, но в любом случае это не круто, т.к. вы не знаете какой запрос или запросы генерит ORM и не понимаете, что происходит на самом деле.
  3. Внешний вид запросов в объектном представлении становиться тяжёлым для восприятия даже для запросов средней сложности, с SQL таких проблем нет.
  4. Для сложных запросов ORM не даёт ни чего, кроме варианта писать тот же SQL.


ORM имеет серьёзные преимущества в кодогенерации, в написании автоматизированных тестов.

Если у вас есть какие то планы стать не начинающем разработчиком, то вам неприменимо нужно начать разбираться как работают базы данных в целом, т.е. понимание реляционной алгебры (это по сути и есть SQL), и понимание того, что стоят запросы (насколько нагружают диск/процессор).

Так происходит потому, что по мере роста вашей квалификации у вас будут пропадать сопутствующие задачи типа вёрстки и js, готовую архитектуру вам навяжут фреймворки, а вашей основной задачей будет манипуляции с небольшими блоками данных хранящимися в больших массивы данных.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@four4
Почитайте историю SQL
Изначально он создан для НЕ ДЛЯ ПРОГРАММИСТОВ.
Сложно писать идеальные, быстро выполняющиеся запросы.
А просто на рядовом уровне знать SQL способен не программист, а менеджер, для них SQL и был создан
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы