Иллюстрированный самоучитель по SQL для начинающих. Язык программирования sql самоучитель
Иллюстрированный самоучитель по SQL для начинающих › Компоненты SQL [страница - 38] | Самоучители по программированию
Компоненты SQL
SUM
Функция SUM складывает значения из указанного столбца. Столбец должен иметь один из числовых типов данных, а значение суммы не должно выходить за пределы диапазона, предусмотренного для этого типа. Таким образом, если столбец имеет тип данных SMALLINT, то полученная сумма не должна превышать верхний предел, имеющийся у этого типа данных. В таблице INVOICE (счет-фактура) из базы данных, о которой уже говорилось в этой главе, хранятся данные по всем продажам. Чтобы найти общую сумму в долларах для всех продаж, иные которых хранятся в базе, используйте функцию SUM следующим образом:
SELECT SUM(TotalSale) FROM INVOICE;AVG
Функция AVG возвращает среднее арифметическое всех значений указанного столбца. Функция SUM, AVG применяется только к столбцам с числовым типом данных. Чтобы найти среднее арифметическое значение продаж, учитывая все финансовые операции, хранящиеся в базе, используйте функцию AVG следующим образом:
Имейте в виду, что неопределенные значения значениями не считаются, так что если в каких-либо строках в столбце TotalSale (всего продано) находятся неопределенные значения, то при подсчете средней продажи эти строки игнорируются.
Подзапросы
Подзапросами (см. выше раздел "Итоговые функции") являются запросы, находящиеся внутри какого-либо запроса. В любом месте оператора SQL, где можно использовать выражение, можно также использовать и подзапрос. Подзапросы являются мощным инструментом для связывания информации из одной таблицы с информацией из другой. Дело в том, что запрос к одной из таблиц можно встроить в другой запрос. С помощью вложенных подзапросов можно иметь доступ к информации более чем из двух таблиц. Если правильно пользоваться подзапросами, то из базы данных можно получить почти любую нужную информацию.
Язык управления данными
В языке управления данными (Data Control Language, DCL) имеются четыре команды: COMMIT (завершить), ROLLBACK (откат), GRANT (предоставить) и REVOKE (отозвать). Все эти команды связаны с защитой базы от случайного или умышленного повреждения.
Транзакции
Базы данных наиболее уязвимы именно тогда, когда в них вносят изменения. Изменения могут быть опасными даже для однопользовательских баз. Аппаратный или программный сбой, происшедший во время изменения, может застать базу данных в переходном состоянии – между состоянием в момент начала изменений и состоянием, которое было бы в момент завершения этих изменений.
С целью защиты базы данных язык SQL ограничивает операции, которые могут ее изменить, так что они выполняются только в пределах транзакций. Во время транзакции SQL записывает каждую операцию с данными в файл журнала. Если транзакцию, перед тем как она будет завершена оператором COMMIT, что-то прервет, то можно восстановить первоначальное состояние системы с помощью оператора ROLLBACK. Этот оператор обрабатывает журнал транзакций в обратном порядке, отменяя все действия, имевшие место во время транзакции. Выполнив откат базы данных до состояния, в котором она была перед началом транзакции, можно выяснить, что вызвало неполадки, а затем попробовать еще раз выполнить транзакцию.
Повреждения базы данных или некорректные результаты возможны в многопользовательской системе даже тогда, когда нет никаких аппаратных или программных отказов. Серьезные неприятности могут быть вызваны совместными действиями двух или нескольких пользователей но отношению к одной и той же таблице, т.е. имеющих к ней доступ в одно и то же время. VL решает эту проблему, допуская внесение изменений только в пределах транзакций.
Совет:База данных может пострадать из-за сбоев в аппаратном или программном обеспечении. Современные СУБД стараются свести подобную возможность к минимуму. Для этого они все операции с базой данных выполняют в пределах транзакций. Выполнив операции, находящиеся в транзакции, СУБД завершают транзакции одним оператором COMMIT. В современных системах управления базами данных также ведутся журналы транзакций. Это делается для того, чтобы в случае неприятностей с аппаратным обеспечением, программами или персоналом гарантировать защиту данных. После завершения транзакции данные защищены от всех системных отказов, если только не считать самых катастрофических; в случае ее неудачи го проведения возможен откат транзакции назад к ее начальной фазе и – после устранения причин неполадок – повторное выполнение этой транзакции.
Поместив все операции, воздействующие на базу данных, в транзакции, вы можете изолировать действия одного пользователя от действий другого. Если необходима уверенность, что результаты, получаемые из базы данных, являются точными, то такая изоляция очень важна.
Технические подробности:Возможно, вы удивитесь, что совместные действия двух пользователей могут при. вести к некорректным результатам. Скажем, Донна читает запись какой-либо таблицы из базы данных. Через мгновение Дэвид меняет в той записи значение числового поля. А теперь в то же поле Донна записывает число, полученное на основе значения, прочитанного ею вначале. И так как она не знает об изменении, сделанном Дэвидом, то ее операция является некорректной.
Другая неприятность может произойти, когда Донна вносит в запись какие-то значения, а Дэвид затем эту запись читает. И если Донна проводит откат своей транзакции, то Дэвид не знает об этой операции и выполняет свои действия на основе прочитанного им значения, которое не совпадает со значением, имеющимся в базе после отката. То, что смешно в кинокомедии, не всегда приятно в реальной жизни.
samoychiteli.ru
Иллюстрированный самоучитель по SQL для начинающих › Компоненты SQL [страница - 25] | Самоучители по программированию
Компоненты SQL
В этой главе…
- Создание баз данных
- Обработка данных
- Защита баз данных
SQL – это язык, специально разработанный, чтобы создавать и поддерживать данные в реляционных базах. И хотя компании, поставляющие системы для управления такими базами, предлагают свои реализации SQL, развитие самого языка определяется и контролируется стандартом ISO/ANSI. Этот стандарт пересматривался последний раз в 2003 году. Все реализации в большей или меньшей степени отличаются от стандарта. Но как можно более полное следование стандарту– главное условие для работы базы данных и связанных с ней приложений на более чем одной платформе.
SQL не является программным языком общего назначения, но некоторые достаточно мощные средства у него все же имеются. Все необходимые действия по созданию, изменению, поддержке базы данных и обеспечению ее безопасности выполняются с помощью входящих в состав SQL трех языков.
- Язык определения данных (Data Definition Language, DDL). Это та часть SQL, которая используется для создания (полного определения) базы данных, изменения ее структуры и удаления базы после того, как она становится ненужной.
- Язык манипулирования данными (Data Manipulation Language, DML). Предназначен для поддержки базы данных. С помощью этого мощного инструмента можно точно указать, что именно нужно сделать с данными, находящимися в базе, – ввести, изменить или выбрать нужные.
- Язык управления данными (Data Control Language, DCL). Защита базы данных от различных вариантов повреждения. При правильном использовании DCL обеспечивает защиту базы, а степень защищенности зависит от используемой реализации. Если реализация не обеспечивает достаточной защиты, то довести защиту до нужного уровня необходимо при разработке прикладной программы.
В этой главе вы познакомитесь с DDL, DML и DCL.
Язык определения данных
Язык определения данных (DDL) – это часть языка SQL, которая используется для создания, изменения и уничтожения основных элементов реляционной базы данных. В число этих элементов могут входить таблицы, представления, схемы, каталоги, кластеры и, возможно, не только они. В этом разделе говорится о контейнерной иерархии, которая связывает между собой эти элементы, и рассматриваются команды, выполняемые с элементами базы данных.
В главе 1 упоминались таблицы и схемы, и говорилось, что схема – это общая структура, в состав которой входят таблицы. Таким образом, таблицы и схемы являются двумя элементами контейнерной иерархии реляционной базы данных. Эту иерархию можно представить таким образом.
- Таблицы состоят из столбцов и строк.
- Схемы состоят из таблиц и представлений.
- Схемы находятся в каталогах.
Сама же база данных состоит из каталогов. Кое-где можно встретить и такое название базы данных, как кластер.
samoychiteli.ru
Иллюстрированный самоучитель по SQL для начинающих › Основы SQL [страница - 13] | Самоучители по программированию
Основы SQL
Зарезервированные слова
Кроме команд, специальное значение в SQL имеют и некоторые другие слова. Вместе с командами они зарезервированы для специального использования, поэтому эти слова нельзя применять в качестве имен переменных или любым другим способом, для которого они не предназначены. Вы можете легко увидеть, почему таблицам, столбцам и переменным нельзя давать имена из списка зарезервированных слов. Представьте себе, какая путаница возникнет из-за такого оператора:
Полный список зарезервированных слов стандарта SQL:2003 приводится в приложении А.
Типы данных
В разных реализациях SQL поддерживаются различные исторически сложившиеся типы данных. В спецификации SQL:2003 признаны только пять заранее определенных общих типов:
- числовой;
- строковый;
- логический;
- даты-времени;
- интервальный.
Внутри каждого из этих типов может быть несколько подтипов (точный числовой; приблизительный числовой; символьный строковый; битовый строковый; строковый для больших объектов). Кроме встроенных, заранее определенных типов, в SQL:2003 также поддерживаются сконструированные и определяемые пользователем типы.
Совет:Если вы используете реализацию SQL, в которой поддерживаются типы данных, не описанные в SQL:2003, то для большей переносимости вашей базы данных старайтесь этими типами данных не пользоваться. Перед тем как вы решите создать и использовать определяемый пользователем тип, убедитесь, что в любой СУБД, на которую вам, возможно, захочется перейти в будущем, также поддерживаются определяемые пользователем типы.
Точные числовые типы
Как вы, возможно, поняли из названия, точные числовые типы данных позволяют точно выразить значение числа. К этой категории относятся пять типов:
- INTEGER
- SMALLINT
- BIGINT
- NUMERIC
- DECIMAL
Тип INTEGER
В данных типа INTEGER (целый) нет дробной части, и их точность зависит от конкретной реализации SQL. Таким образом, точность не может быть установлена разработчиком базы данных.
Помни:Точностью числа является максимальное количество цифр, которое у него может быть.
Тип SMALLINT
Тип SMALLINT (малый целый) также предназначен для целых значений, но его точность в конкретной реализации не может быть больше точности типа INTEGER, имеющейся в данной реализации. В реализациях, работающих на компьютерах IBM System /370, типы SMALLINT и INTEGER обычно представлены соответственно 16 – и 32-битовыми двоичными числами. Впрочем, во многих реализациях SMALLINT и INTEGER являются одним и тем же типом.
Если в таблице из базы данных вы определяете столбец для целых данных и известно, что значения в этом столбце никогда не превысят точность, установленную в вашей реализации для значений типа SMALLINT, то присвойте столбцу тип не INTEGER, a SMALLINT. Таким образом вы, возможно, позволите своей СУБД сэкономить место на диске.
samoychiteli.ru
SQL - Язык программирования БД
SQL (Structured Query Language — Структурированный язык запросов) — язык управления базами данных для реляционных баз данных. Сам по для себя SQL не считается Тьюринг-полным языком программирования, но его стереотип позволяет делать для него процедурные расширения, которые расширяют его работоспособность до полновесного языка программирования.
Язык был сотворен в 1970х годах под заглавием “SEQUEL” для системы управления базами данных (СУБД) System R. Позже он был переименован в “SQL” во избежание инцендента торговых марок. В 1979 году SQL был в первый раз размещен в облике платного продукта Oracle V2.
1-ый официальный стереотип языка был принят ANSI в 1986 году и ISO — в 1987. С тех времен были сделаны ещё некоторое количество версий эталона, кое-какие из их повторяли прошлые с малозначительными вариантами, иные воспринимали свежие немаловажные черты.
Не обращая внимания на жизнь стереотипов, основная масса популярных реализаций SQL выделяются например крепко, что код изредка имеет возможность быть перенесен из одной СУБД в иную без внесения значительных перемен. Это разъясняется большущим размером и сложностью эталона, а еще нехваткой в нем спецификаций в кое-каких весомых областях реализации.
SQL формировался как незатейливый стандартизированный метод извлечения и управления данными, содержащимися в реляционной основе данных. Позже он стал труднее, чем думал, и перевоплотился в инструмент создателя, а не конечного юзера. В реальное время SQL (по большей части в реализации Oracle) остается наиболее известным из языков управления базами данных, но и есть ряд альтернатив.
SQL произведено из четырех отдельных частей:
- язык определения данных (DDL) применяется для определения структур данных, хранящихся в основе данных. Операторы DDL дают возможность делать, менять и удалять отдельные объекты в БД. Допускаемые типы объектов находятся в зависимости от применяемой СУБД и как правило включают базы данных, юзеров, таблицы и ряд больше маленьких запасных объектов, к примеру, роли и индексы.
- язык манипуляции данными (DML) применяется для извлечения и конфигурации данных в БД. Операторы DML дают возможность извлекать, вставлять, менять и удалять данные в таблицах. Временами операторы select извлечения данных не рассматриваются как часть DML, потому что они не изменяют положение данных. Все операторы DML одевают декларативный нрав.
- язык определения доступа к сведениям (DCL) применяется для контроля доступа к сведениям в БД. Операторы DCL используются к привилегиям и дают возможность выдавать и отнимать права на использование конкретных операторов DDL и DML к конкретным объектам БД.
- язык управления транзакциями (TCL) применяется для контроля обработки транзакций в БД. Как правило операторы TCL включают commit для доказательства перемен, изготовленных в ходе транзакции, rollback для их отмены и savepoint для разбиения транзакции на некоторое количество наименьших частей.
Идет по стопам обозначить, что SQL продаст декларативную парадигму программирования: любой оператор обрисовывает лишь только важное воздействие, а СУБД воспринимает заключение о том, как его исполнить, т.е. задумывает простые операции, нужные для выполнения воздействия и делает их. Что не наименее, для действенного применения вероятностей SQL создателю нужно воспринимать то, как СУБД подвергает анализу любой оператор и делает его проект выполнения.
andreyex.ru
Иллюстрированный самоучитель по SQL для начинающих › Основы реляционных баз данных [страница - 3] | Самоучители по программированию
Основы реляционных баз данных
В этой главе…
- Организация информации
- Что такое база данных
- Что такое СУБД
- Сравнение моделей баз данных
- Что такое реляционная база данных
- С какими трудностями можно столкнуться при проектировании баз данных
SQL (Structured Query Language – язык структурированных запросов) – это стандартный язык, предназначенный для создания баз данных, добавления новых и поддержки имеющихся данных, а также извлечения требуемой информации. В зависимости от используемой теоретической модели, базу данных относят к одному из нескольких типов. Язык SQL был создан для работы с данными из тех баз, которые следуют реляционной модели. Недавно в международный стандартный язык SQL были включены элементы объектной модели, в результате чего появились гибридные структуры, называемые объектно-реляционными базами данных. В этой главе рассказывается о хранении данных. Один из ее разделов посвящен сравнению реляционной и других основных моделей. Кроме того, в ней представлен обзор главных особенностей реляционных баз данных.
Впрочем, перед тем как рассказывать о SQL, нужно дать определение понятию базы данных. Развитие компьютеров изменило способы хранения и обработки информации, а также значение этого термина.
Работа с данными
С помощью компьютеров люди выполняют множество таких задач, которые раньше выполнялись с помощью других инструментов. Документы теперь создают и исправляют не на пишущих машинках, а на компьютерах. Электромеханические калькуляторы также заменены компьютерами – лучшим средством для выполнения математических вычислений. Компьютеры пришли на смену миллионам листов бумаги, миллионам папок и стеллажей для документов и являются главными хранилищами важной информации.
Конечно, в сравнении со старыми инструментами компьютеры выполняют намного больше работы, намного быстрее и, главное, – с большей точностью. Однако за все приходится платить. Пользователи компьютеров больше не имеют прямого физического доступа к своим данным.
Как только компьютеры внезапно перестают работать, у сотрудников учреждений тут же закрадываются сомнения– а действительно ли компьютеризация благо? Раньше папкам с документами угрожало лишь падение на пол, и достаточно было просто нагнуться, собрать выпавшие листы бумаги и снова положить их в папку, чтобы все встало на свои места. Если не считать землетрясений и других катаклизмов, то стеллажи с папками никогда не "удаляются" и никогда не отправляют сообщения об ошибке. А вот авария с жестким диском – это совсем другое дело: потерянные биты и байты "подобрать" нельзя. Отказы оборудования, вызванные механическими, электрическими и человеческими воздействиями, могут безвозвратно отправить ваши данные на тот свет.
Малое – это прекрасно
В области хранения данных компьютеры действительно предстали во всей своей красе. Это произошло потому, что они могут хранить в двоичном виде любую информацию: текст, числа, звуки, графические изображения, телевизионные программы или анимацию. Причем компьютер может хранить данные с очень высокой плотностью, позволяя поместить большое количество информации. По мере совершенствования технологий все больше и больше данных занимают все меньше и меньше места. Где только ни используются сейчас компьютеры: и в газовых насосах, и в новых автомобилях, и в ошеломляющем количестве игрушек. Осталось недолго ждать появления компьютеризованных туфель, меняющих упругость своих подошв в зависимости от того, идете ли вы, бежите или прыгаете. А звезды баскетбола, может быть, вскоре смогут использовать обувь с возможностью хранения небольшой базы данных с игровой статистикой…
Большая скорость и точность компьютеров только тогда пойдут на пользу, если будут приняты необходимые меры по защите от случайной потери данных. При хранении важных данных возникают четыре главные задачи.
- Соответствующие операции должны выполняться быстро и легко, так как заниматься ими вам, скорее всего, придется часто.
- Носитель, предназначенный для хранения данных, должен быть надежным. Вы не захотите впоследствии обнаружить, что большая часть ваших данных пропала.
- Получение данных должно быть быстрым и легким, независимо от количества сохраняемых элементов этих данных.
- Необходим способ легкого поиска нужной информации среди "тонн" ненужных данных.
Этим четырем критериям и соответствуют базы данных. Если приходится хранить более десятка элементов данных, то, вероятнее всего, появляется желание хранить эти элементы именно в базе данных.
samoychiteli.ru
Иллюстрированный самоучитель по SQL для начинающих › Реляционные операторы [страница - 120] | Самоучители по программированию
Реляционные операторы
В этой главе…
- Объединение таблиц, имеющих похожую структуру
- Объединение таблиц, имеющих разную структуру
- Получение нужных данных из множества таблиц
SQL – это язык запросов, используемый в реляционных базах данных. Почти во всех примерах предыдущих глав рассматривались простые базы данных с одной таблицей. Теперь настало время показать, в чем же состоит реляционность реляционной базы. Вообще говоря, эти базы называются "реляционными" потому, что состоят из множества связанных друг с другом таблиц (а "связанные друг с другом" – это по-английски "related").
Так как данные, хранящиеся в реляционной базе, распределены по множеству таблиц, то запрос обычно извлекает данные из более чем одной таблицы. В SQL:2003 имеются операторы, которые объединяют данные из множества исходных таблиц в одну. Это операторы UNION, INTERSECTION и EXCEPT, а также семейство операторов объединения JOIN. Причем каждый из них объединяет данные своим особым способом.
UNION
Оператор UNION (объединение) – это реализация в языке SQL оператора объединения из реляционной алгебры. Оператор UNION дает возможность получать информацию из нескольких таблиц, имеющих одинаковую структуру. Одинаковая структура означает следующее.
- Во всех таблицах имеется одинаковое количество столбцов.
- У всех соответствующих столбцов должны быть идентичный тип данных и одинаковая длина.
При соблюдении этих критериев таблицы являются совместимыми для объединения. В результате объединения двух таблиц возвращаются все строки, имеющиеся в каждой из них. Не возвращаются только повторяющиеся строки.
Скажем, вы создаете базу данных по бейсбольной статистике (см. главу 9). Она состоит из двух таблиц, совместимых для объединения, которые называются AMERICAN (Американская лига) и NATIONAL (Национальная лига). В каждой из них имеются по три столбца, и типы у всех соответствующих столбцов совпадают. На самом деле даже имена у таких столбцов одинаковые, хотя для объединения это условие не является обязательным.
В таблице NATIONAL перечислены имена, фамилии питчеров Национальной лиги и количество тех игр, в которых они все время были на подаче. Эти данные находятся в столбцах FirstName (имя), LastName (фамилия) и CompleteGames (полностью сыгранные игры). Та же информация, но только о питчерах Американской лиги, содержится в таблице AMERICAN. Если объединить таблицы NATIONAL и AMERICAN с помощью оператора UNION, то в результате получится виртуальная таблица со всеми строками из первой и второй таблиц. В этом примере, чтобы показать работу оператора UNION, я вставил в каждую таблицу всего лишь по несколько строк:
SELECT * FROM NATIONAL; | ||
FirstName | LastName | СompleteGames |
----------- | ----------- | ------------------ |
Sal | Maglie | 11 |
Don | Newcombe | 9 |
Sandy | Koufax | 13 |
Don | Drysdale | 12 |
SELECT * FROM AMERICAN; | ||
FirstName | LastName | СompleteGames |
----------- | ----------- | ------------------ |
Whitey | Ford | 12 |
Don | Larson | 10 |
Bob | Turley | 8 |
Allie | Reynolds | 14 |
SELECT * FROM NATIONAL | ||
UNION | ||
SELECT * FROM AMERICAN; | ||
FirstName | LastName | СompleteGames |
----------- | ----------- | ------------------ |
Allie | Reynolds | 14 |
Bob | Turley | 8 |
Don | Drysdale | 12 |
Don | Larson | 10 |
Don | Newcombe | 9 |
Sal | Maglie | 11 |
Sandy | Koufax | 13 |
Whitey | Ford | 12 |
samoychiteli.ru
Иллюстрированный самоучитель по SQL для начинающих › Основы SQL [страница - 23] | Самоучители по программированию
Основы SQL
Ограничения
Ограничения вы устанавливаете на данные, вводимые кем-либо в таблицу базы данных. Например, известно, что значения, вводимые в определенный числовой столбец, должны находиться в пределах определенного диапазона. А если кто-то вводит число, которое не попадает в этот диапазон, то такой ввод будет ошибочным. От таких ошибок и защищает установленное на столбец ограничение – вводить в него только значения из определенного диапазона.
Традиционно сложилось так, что если прикладная программа использует базу данных, то она и накладывает на эту базу любые ограничения. Однако в самых последних продуктах у вас есть возможность устанавливать ограничения на данные непосредственно из СУБД. Этот подход дает несколько преимуществ. Если одна и та же база данных используется множеством приложений, то вам придется устанавливать ограничения только один раз, а не столько, сколько имеется приложений. Кроме того, устанавливать ограничения на уровне базы данных обычно проще, чем на уровне приложения. Во многих случаях вам будет достаточно только добавить предложение в свой оператор CREATE (создать).
Об ограничениях и утверждениях (assertions), которые тоже являются ограничениями, но применяются к более чем одной таблице, подробно рассказывается в главе 5.
Использование SQL в системе клиент/сервер
SQL – это подъязык данных, который работает в одно – или многопользовательской системе. Особенно хорошо SQL работает в системе клиент/сервер. В такой системе пользователи работают на множестве клиентских машин, соединенных с серверным компьютером. И эти пользователи могут иметь доступ – через локальную сеть или другие каналы связи – к базе данных, расположенной на сервере, с которым соединены их машины. В прикладной программе, работающей на клиентском компьютере, создаются команды SQL. Та часть системы СУБД, которая находится на клиентском компьютере, передает эти команды на сервер по каналу связи, соединяющему сервер с клиентом. А та часть СУБД, которая находится на сервере, интерпретирует и выполняет полученную команду SQL, а затем по каналу связи отправляет результаты назад, клиенту. В виде SQL можно закодировать очень сложные операции, а затем на сервере декодировать их и выполнить. Такого рода система позволяет эффективнее всего использовать пропускную способность канала связи.
Если вы с помощью SQL получаете данные через систему клиент/сервер, то по каналу связи от сервера на клиентский компьютер попадут только нужные вам данные. И наоборот, простая система с разделением ресурсов и с минимальным "интеллектом" сервера должна гонять туда-сюда по каналу связи огромные блоки данных. И все это ради того, чтобы вы смогли получить крохотное количество нужной информации. Не приходится и говорить, что такого рода пересылки данных могут очень замедлить работу. Архитектура клиент/сервер, дополняя характеристики SQL, дает возможность в малых, средних и больших сетях получать хорошую производительность при умеренных расходах.
Сервер
Сервер не делает ничего, пока не получит запрос от клиента. Он только стоит и ждет. Но если требуется одновременно обслужить множество клиентов, то серверам приходится реагировать довольно оперативно. Они обычно отличаются от клиентских машин тем, что имеют быстрые дисковые массивы. Серверы настроены так, чтобы обеспечивать скорейший доступ к данным и скорейшую их передачу. Но так как им приходится обрабатывать трафик, идущий одновременно со множества клиентских машин, то на сервере должен быть очень быстрый процессор.
Что такое сервер
Сервер (полное название – сервер базы данных) является той частью системы клиент/сервер, где находится база данных. Кроме того, на нем находится серверная часть системы управления базой данных. Команды, которые приходят от клиентов, интерпретируются в ней, а затем переводятся в операции, выполняемые в базе данных. Серверные программы преобразуют в определенный формат результаты, полученные при выполнении каждого запроса, и отправляют эти результаты клиенту, от которого пришел запрос.
Что делает сервер
Работа у сервера относительно простая и понятная. Все, что ему нужно делать, – это читать, интерпретировать и выполнять команды, приходящие по сети от клиентов. Эти команды Должны быть написаны на одном из имеющихся подъязыков данных. Подъязык нельзя считать полным языком – он выполняет только часть функций языка. Подъязык данных занят только обработкой данных. В нем имеются операции добавления, обновления, удаления и выборки данных, но нет таких управляющих структур, как циклы, локальные переменные, Функции или операции ввода-вывода на различные устройства. Из используемых сегодня подъязыков данных самым известным является SQL, и он уже стал промышленным стандартом. SQL вытеснил патентованные подъязыки данных на всех классах машин. С появлением стандарта SQL: 1999 язык SQL пополнился новыми возможностями, которые отсутствуют У традиционных подъязыков. Однако SQL:2003 все еще не является полноправным языком Программирования общего назначения. Поэтому, чтобы создать приложение, работающее с базой данных, его следует использовать вместе с языком-оболочкой.
samoychiteli.ru