Маалымат базалары: Node менен SQL
Postgres жана MySQL менен Node.js аркылуу коопсуз, параметрленген суроолор менен иштеңиз
async/await аркылуу суроолорду аткарууну жана — эң негизгиси — колдонуучунун киргизген маалыматын параметрленген суроолор аркылуу өткөрүүнү үйрөнөсүз, ошондо чабуулчу эч качан сиздин SQL'иңизди кайра жаза албайт.
- маалымат базасынын драйверин тандап орнотуу (
pgPostgres үчүн,mysql2MySQL үчүн), - байланыш пулу аркылуу байланыш ачуу жана байланыш сабын окуу,
SELECT,INSERT,UPDATEсуроолорун аткарып, натыйжа саптарын окуу,- SQL-инъекцияны токтотуу үчүн параметрленген суроолорду колдонуу,
- каталарды иштетип, байланыштарды туура кайтаруу.
1. Эмне үчүн маалымат базасы (файл эмес)?
Баштапкы курста сиз маалыматты fs модулу менен сактап жаттыңыз — JSON файлдарын окуп-жазып. Бул ноутбугуңуздагы иштер тизмеси үчүн жарайт, бирок чыныгы колдонмого мына булар керек болгондо кыйрайт: миллиондогон саптардын арасынан тез издөө, ондогон суроолорго файлды бузбай туруп бир убакта жаздырууга уруксат берүү жана бүтпөгөн жаңылоо эч качан маалыматты бузук абалда калтырбашын кепилдөө.
Реляциялык маалымат базасы (Postgres, MySQL, SQLite) үч маселени тең чечет. Ал маалыматты таблицаларда сактайт — типтери бар саптар жана мамычалар — жана сиз аны менен SQL (Structured Query Language) тилинде сүйлөшөсүз. Node өзү SQL'де сүйлөбөйт; сиз драйвер орнотосуз — базага тармак байланышын ачып, суроо текстиңизди плюс JavaScript маанилерин база түшүнгөн протоколго айландырган кичинекей китепкана.
Салыштыруу. Маалымат базасы — бул чоң, жакшы уюшулган кампа. SQL — сиз толтурган заказ бланкы («мага Берлиндеги бардык кардарларды бер»). Драйвер — заказыңызды кампага алып барып, кутуларды кайра алып келген курьер. Сиз кампага өзүңүз эч качан кирбейсиз — ар дайым курьер аркылуу иштейсиз.