OpenU.Ru
Рост количества данных, необходимость их хранить и обрабатывать привели к тому, что возникла потребность в создании стандартного языка запросов к базам данных, который мог бы функционировать в большом количестве различных видов компьютерных систем. Действительно, такой стандартный язык позволяет пользователям манипулировать данными независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ.
SQL (Structured Query Language) – это сокращенное название структурированного языка запросов, предоставляющего средства создания и обработки данных в реляционных базах. Независимость от специфики компьютерных технологий, а также поддержка SQL лидерами промышленности в области технологии реляционных баз данных сделали его основным стандартным языком запросов.
Реализация в SQL концепции операций, ориентированных на табличное представление данных, позволила создать компактный язык с небольшим набором предложений. SQL может использоваться как для выполнения запросов, так и для построения прикладных программ.
Реляционная база данных – это связанная информация, сохраняемая в двумерных таблицах со строками и столбцами. Строки обычно называются записями, столбцы полями.
В настоящей разработке будут рассмотрены вопросы, связанные с командами языка SQL, позволяющими производить выборку информации из базы данных, изменение информации в таблицах базы данных, но не в их структуре. Эта группа команд языка SQL называется DML – Data Manipulation Language (язык обработки данных). Для самоконтроля знаний предлагается пройти онлайн тест по базам данных.
Для изложения материала в качестве примера будем использовать небольшую реляционную базу данных, отражающую работу оптового склада. База данных состоит из 5 таблиц.
В таблице ТОВАРЫ (Goods), содержится 4 поля, с информацией о товаре:
GNum – номер товара;
GName – наименование товара;
GTypeNum – номер категории товара, к которой он принадлежит;
GPrice – цена товара
Сразу договоримся о том, что товары на складе хранятся так, что принадлежат только одной категории.
Goods | |||
GNum | Gname | GTypeNum | GPrice |
1 | Сахар | 1 | 12 |
2 | Мука | 1 | 9 |
3 | Мыло | 3 | 5 |
4 | Пиво | 2 | 9 |
5 | Фен «Philips» | 4 | 130 |
6 | Печенье | 1 | 15 |
7 | Консервы | 1 | 17 |
8 | Вино | 2 | 35 |
Таблица КАТЕГОРИЯ ТОВАРА (GoodsTypes) содержит 2 поля:
GTNum – номер категории;
GTName – наименование категории;
GoodsTypes | |
GTNum | GTName |
1 | Продовольственные |
2 | Алкогольные |
3 | Хозтовары |
4 | Бытовая техника |
В таблице ПОКУПАТЕЛИ (Buyers), содержится 3 поля, с информацией о покупателе:
BNum – номер покупателя;
BName – наименование фирмы;
BTown – номер города, в котором зарегистрирована фирма;
Buyers | ||
BNum | BName | BTown |
1 | Дельта | 1 |
2 | Золотой колос | |
3 | Дельфин | 2 |
4 | Элита | 2 |
5 | Москва | 3 |
В таблице ГОРОДА (Towns), содержится 2 поля, с информацией о городах:
TNum – номер города;
TName – наименование города;
Towns | |
TNum | TName |
1 | Махачкала |
2 | Новосибирск |
3 | Москва |
В таблице ПРОДАЖ (Sells), содержится 6 полей, с информацией о продаже товаров:
SNum – номер сделки (продажи) товара;
GNum – номер проданного товара;
BNum – номер покупателя;
SDate – дата продажи товара;
SQnty – количество проданного товара;
SSum – сумма на которую продан товар.
Sells | |||||
SNum | GNum | BNum | SDate | SQnty | SSum |
1 | 2 | 5 | 20.01.01 | 50 | 6700 |
20 | 5 | 2 | 05.05.01 | 100 | 60000 |
5 | 1 | 2 | 320 | 192000 | |
7 | 2 | 3 | 05.05.01 | 230 | 1000 |
15 | 3 | 1 | 16.08.01 | 89 | 100000 |