5 июня 2020

Программирование сайтов. Базы данных

Программирование сайтов выполняется с целью создания некоторого полезного функционала. Работа с базами данных — это одна из важнейших составляющих программирования сайтов динамического типа. Будь то формирование страниц «на лету» или же реагирование на действия посетителей сайтов — взаимодействие с базами данных требуется всегда.

Базы данных для сайтов(БД) используются с целью хранения различной информации и, упрощенно, представляют собой некоторый набор взаимосвязанных таблиц. Размеры таблиц в БД различны, их количество произвольно. Именно в базах данных хранится на сервере требуемая для работы сайта информация, например, информация о клиентах, каталог товаров, статистические данные и т. д.

Программирование сайтов динамического типа выполняется при помощи различных скриптов, разделяемых обычно на серверные и клиентские. Программирование сайтов с помощью серверных скриптов позволяет обрабатывать данные, введенные посетителями сайтов в веб-формы, генерировать динамические страницы, отсылать и принимать cookies. Для получения информации, требуемой при выполнении подобных действий, серверные скрипты обращаются к базам данных. Обращение скрипта к БД называется запросом.

Для построения запросов к базам данных широко применяется SQL (Structured Query Language) — «язык структурированных запросов». С помощью SQL может осуществляться добавление, удаление, редактирование записей в таблицах баз данных, выборка данных в соответствии с различными условиями, сортировка данных и многое другое.

В программировании сайтов управление БД осуществляется при помощи клиент-серверных систем управления базами данных (СУБД), таких как Oracle, MS SQL Server, PostgreSQL, MySQL и др. Клиент-серверные СУБД обрабатывают запросы централизованно, к их достоинствам относят обеспечение высокой надежности баз данных, высокой доступности и высокой безопасности.

СУБД MySQL — свободная система управления базами данных, одна из наиболее часто применяемых в программировании сайтов. СУБД MySQL поддерживает большое количество существующих типов таблиц (InnoDB, MyISAM и т. д.), а благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц. Управление базами данных с помощью MySQL очень удобно, что сделало данную систему востребованной и популярной.

Система управления реляционными базами данных Microsoft SQL Server поставляется компанией Microsoft на коммерческой основе (за исключением бесплатной редакции Express Edition). Данная СУБД использует язык запросов Transact-SQL, поддерживается операционными системами семейства Windows Desktop/Server. В СУБД Microsoft SQL Server присутствует графическое ПО для конструирования и оптимизации запросов (SQL Management Studio и Studio Express).

Объектно-реляционная система управления базами данных компании Oracle — Oracle Database — работает на Windows, Unix, Linux, MacOS. Oracle Database, в отличие от MySQL, например, имеет более широкую область применения. СУБД Oracle обладает высокой производительностью, широким функционалом, уникальными технологиями (RAC, RAT и т. д.). В программировании сайтов для небольших и средних компаний применяется достаточно редко ввиду своей высокой стоимости. К тому же, довольно сложно найти хостинг с поддержкой данной СУБД.

Cвободная система управления базами данных PostgreSQL существует в редакциях для Linux, Solaris/OpenSolaris, Win32, Win x86-64, Mac OS X, FreeBSD, QNX 4.25, QNX 6. Базируется на языке SQL. Среди преимуществ PostgreSQL выделяют поддержку БД практически неограниченного размера, наличие надежных механизмов репликации, легкую расширяемость, поддержку большого набора встроенных типов данных и многое другое.

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

Избыточное число обращений от сайтов к базам данных делает загрузку сайтов более медленной, увеличивает нагрузку на сервер. В результате возможны сбои в работе сайтов, вплоть до полного прекращения доступа. Уменьшение количества запросов к БД позволяет уменьшить нагрузку на сервер, а также уменьшить время загрузки динамических страниц с сервера. Поэтому оптимизация взаимодействия сайтов с базами данных — это одна из задач профессионального программирования сайтов.

photo
photo