Язык структурированных запросов SQL. Использование языка SQL в прикладном программировании



Язык структурированных запросов SQL. Использование языка SQL в прикладном программировании

Оглавление

 

Введение. 2

1. Теоретические основы по исследованию баз данных. 4

1.1. Понятие баз данных. 4

1.2. Понятие СУБД.. 6

1.3. История языка SQL. 8

2. Язык структурированных запросов SQL. Использование языка SQL в прикладном программировании. 13

1.1. Основы SQL. 13

1.2. Основные операторы.. 16

1.3. SQL и прикладные программы.. 17

1.4. Применение прикладного интерфейса программирования (API) для выполнения операторов SQL. 19

3. Практика применения языка SQL. 21

3.1. Основные определения и постановка задач. 21

3.2. Создание базы данных. 21

3.3. Создание таблиц. 24

3.4. Вставка данных в таблицы.. 27

Заключение. 30

Список использованной литературы.. 33

 

Введение

 

Уже более полувека компьютерные технологии заполняют жизнь человека новыми введениями. Одной из таких технологий являются базы данных. За ними последовали системы управления базами данных.

Сегодня также внедряются новые языки программирования, новейшие инструменты разработки, которые помогают сделать процесс создания приложений и программ быстрее и эффективнее.

Для работы с базой данных применяют язык SQL. Данный язык представляет собой сам по себе некоторую компьютерную базу данных языка, предназначенную для управления данными в реляционных системах управления базами данных (СУБД).

SQL, представляет собой стандартизированный компьютерный язык, который изначально был разработан IBM для выполнения запросов, изменения и определение реляционных баз данных, используя декларативные заявления.

Реляционная система управления базами данных (РСУБД) - это система управления базами данных (СУБД), которая основана на реляционной модели, введённой Е. Ф. Коддом.

Тема работы актуально, несмотря на то что сейчас внедрена новая технология NoSQL, язык структурированных запросов все равно имеет своих пользователей.

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

1) Привести сведения о базах данных;

2) Определить понятия СУБД;

3) Изучить историческое введение в язык SQL;

4) Определить компоненты языка SQL;

5) Изучить основных операторов;

6) Обосновать роль языка в прикладном программировании;

7) Привести пример-проект по применению языка SQL.

В качестве объекта исследования в представленной работе выступают «Базы данных», а в качестве предмета исследования – «Язык структурированных запросов SQL».

С целью изучения предпочтённой темы были применены источники авторов: Баканов М.В., Романова В.В., Бычков А.В., Гвоздева Т.В., Баллод Б.А., Темботова М.М., Ермолаева Е.К,Голицина О.Л., Карвин Б., Партыка Т.Л., Громов Г.Ю., Кибардин А.В. Попов И.И., Гребешков А.Ю., Лафишева М.М., Кирилов В.В., и др.

Работа состоит из трех разделов, введения, заключения и списка литературы.

 

 

 

 

Теоретические основы по исследованию баз данных

 

Понятие баз данных

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

РСУБД означает систему управления реляционными базами данных. РСУБД является основой для SQL и для всех современных систем баз данных, таких как MS SQL Server, IBM DB2, Oracle, MySQL и Microsoft Access[1].

Реляционная система управления базами данных (РСУБД) - это система управления базами данных (СУБД), которая основана на реляционной модели, введённой Е. Ф. Коддом[2].

Данные в СУБД хранятся в объектах базы данных, которые называются таблицами. Это, в основном представляет собой набор связанных записей данных и состоит из множества столбцов и строк.

Распространённые методы хранения данных следующие:

1. Текстовый файл (рисунок 1).

Рисунок 1 - Текстовый файл

На рисунке текстовый файл. Более конкретно, это файл с разделителями-запятыми. Запятые разделяют каждое поле внутри строки.

Эти запятые дают ему структуру. Это позволяет нам отличать идентификатор предмета от количества часов. Можно легко добавить больше полей и разделить их на большее количество запятых.

Каждая строка представляет собой другую запись. В этом случае каждая строка представляет другой предмет[5].

Технически это база данных. Она содержит данные, которые структурированы таким образом, чтобы их можно было легко восстановить.

С небольшим списком, подобным этому, текстовый файл может отлично служить в наших целях[4].

2. Таблица (рисунок 2).

Рисунок 2 - Таблица

Другой вариант - хранить данные в электронной таблице с помощью программного обеспечения для электронных таблиц (например, Microsoft Excel). Таким образом, мы могли бы сделать некоторые дополнительные вещи с нашим списком (например, форматировать его или сортировать по имени исполнителя и т. д.)[6].

Программа для работы с электронными таблицами, такая как Excel, делает эти задачи относительно простыми. Кроме того, такие программы, как Excel, упорядочивают данные в строки и столбцы, что упрощает понимание ваших данных.

3. Программное обеспечение базы данных[3]

Лучшим вариантом было бы хранить данные в таблице базы данных, используя специализированное программное обеспечение базы данных, например как Microsoft Access.

Такие системы управления базами данных предназначены для хранения и извлечения данных.

Оба последних примера имеют данные, упорядоченные по строкам и столбцам. Существует много различий между программным обеспечением электронной таблицы и программным обеспечением базы данных.

Понятие СУБД

Система управления базами данных (СУБД) - это программная программа, которая позволяет создавать и управлять базами данных. Как правило, эти базы данных будут более сложными, чем пример текстового файла / таблицы в предыдущем уроке. Фактически, большинство современных систем баз данных называются реляционной системой управления базами данных (РСУБД) из-за их способности хранить связанные данные в нескольких таблицах[7].

Некоторые из наиболее популярных систем управления реляционными базами данных включают[8]:

· Microsoft Access

· Filemaker

· SQL Server

· MySQL

· оракул

· SQLite

Одними из ключевых концепций систем управления базами данных являются[11]:

· Создание базы данных.

· Таблицы.

· Добавление данных в вашу базу данных.

· Запрос базы данных.

· Реляционная база данных.

Некоторые системы управления базами данных включают графический пользовательский интерфейс, который позволяет вам создавать и поддерживать базы данных, «указывая и нажимая».

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

Но большинство систем баз данных в командной строке также предоставляют возможность установки графических инструментов администрирования, которые позволяют вам «указывать и нажимать» свой путь по большинству задач[9].

Различные системы выглядят по-разному, но, как правило, существует ряд общих функций, которые вы обычно видите в большинстве из них.

Рассмотрим три популярных примера: СУБД

1. Microsoft Access

Верхняя часть экрана содержит панель инструментов (в Access, это называется лентой).

Левая панель навигации содержит объекты базы данных для текущей базы данных. Если открыта другая база данных, она может содержать разные объекты.

Объекты базы данных включают такие вещи, как таблицы, запросы, формы, отчеты, макросы и т. д.

Некоторые из этих вариантов являются общими для всех систем управления базами данных. Все системы баз данных позволяют создавать таблицы, создавать запросы, создавать новую базу данных и открывать существующую базу данных.

2. Microsoft SQL Server

Microsoft SQL Server - это более надежная система управления базами данных, чем Access. Хотя Access лучше подходит для домашнего и малого офиса, SQL Server больше подходит для корпоративных приложений, таких как корпоративные CRM и веб-сайты и т. Д.

3. MySQL

MySQL является конкурентом SQL Server. Это самая популярная в мире система управления базами данных с открытым исходным кодом[10].

MySQL имеет необязательный графический инструмент администрирования под названием MySQL Workbench. MySQL Workbench похож на SQL Server Management Studio, поскольку он позволяет выполнять большинство задач через графический интерфейс пользователя (графический интерфейс пользователя).

Если нужно использовать базу данных для домашнего или небольшого офиса, Microsoft Access или Filemaker должны подойти. Если нужно создать веб-сайт, основанный на базе данных, то лучше использовать более надёжную систему, такую ​​как SQL Server, MySQL или Oracle.

История языка SQL

Одной наиболее важной и неотъемлемой частью каждой системы, которая применяет базы данных, являются языковые средства, которые обеспечивают вероятность доступа и действий над информацией, содержащейся в базе данных, а также установления их структур, методов применения и интерпретации.

В семидесятые годы возник язык SQL, который стал использоваться как средство доступа и действий над информацией в БД. Данное изобретение принадлежало компании IBM и стало достаточно популярным под именем SEQUEL (Structured English Query Language). SQL был наделен всеми преимуществами реляционной модели, в том числе преимущество лежащего в его базе математического аппарата реляционной алгебры и реляционного исчисления, при всем этом применяя совсем небольшое количество операторов и довольно несложный синтаксис[9].

Изначально SQL стал «де-факто», чему способствовали его качества, а затем - языком работы с реляционными базами данных. Язык SQL был формально подтвержден как эталон, который поддерживался всеми до единого основными всемирным фирмами, которые действовали в области технологий БД. Значительному уровню самостоятельности разрабатываемых прикладных программных систем от отдельного вида систем управления базами данных, значительному повышению уровня и унификации, а также инструментальных средств, важных для разработки приложений, работающих с реляционными БД, поспособствовало применение выразительного и результативного шаблонного языка[6].

Британский учёный Эдгар Франк Кодд, наиболее известный как Тед Кодд, создавший реляционных, инициировал и разработку языка SEQUEL (Structured English Query Language, структурированный английский язык для запросов), которому в будущем было присвоено имя SQL (Structured Query Language, структурированный язык запросов). Официально произношение звучит так - [es kju:' el] — эс-кью-эл. Но, не взирая на это, SQL часто произносят как «сиквэл». Разработке языка послужило желание создать простейший язык, воспользоваться которым мог бы абсолютно каждый пользователь без навыков программирования.

В начале восьмидесятых годов SQL, завоевавший популярность как язык реляционных систем управления базами данных, привлек внимание Американского национального института по стандартизации, неоднократно выпустившего стандарты SQL (1986, 1989, 1992, 1999 и 2003 годы). Каждый новый стандарт отличался от предыдущего существенным улучшением синтаксиса, расширением типов данных, а также новыми процедурными расширениями, применение которых возможно для любого приложения, которое имеет доступ к БД и средств, необходимых для работы с Java и XML-документами[5].

Все языки манипулирования данными (ЯМД), которые были созданы до реляционных баз данных и разработанные для множества систем управления базами данных, были направлены на операции с теми данными, которые представлены в виде логических записей файлов. Данный факт требовал от пользователей высокого уровня знания организации хранения данных, а также немало усилий для того, чтобы указать, какие необходимы данные, где они расположены и как их получить.

В то время как непроцедурный язык SQL ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц особенностью предложений данного языка является то, что они ориентированы в наиболее значительной мере на окончательный результат обработки данных, чем на процедуру данной обработки. Язык SQL самостоятельно определяет в каком месте находятся необходимые данные, какие индексы и более эффективные последовательности операций нужно использовать для их получения, при этом необходимости в том, что бы указать эти детали в запросе к БД[15].

Разработке ряда языков запросов послужило создание теории реляционных баз данных и предложенного Тедом Коддом языка запросов "alpha". Языки запросов относят к двум классам:

ü Алгебраические языки. Позволяют запросы средствами специализированных операторов, применяемых к отношениям:

§ JOIN — соединить,

§ NTERSECT — пересечь,

§ SUBTRACT — вычесть и т. д.

ü 2. Языки исчисления предикатов.

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

Все составляющие языка SQL можно условно разделить на следующие конструкции (рисунок 3).

Рисунок 3 - Конструкции SQL

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

Идентификаторы разделены на 2 класса:

ü Обычные идентификаторы;

ü Идентификаторы с разделителем.

ü И те, и другие идентификаторы могут содержать от одного до ста двадцати восьми символов, а в системе управления данных Oracle – до тридцати байт.

Под определением «оператор» принято понимать символ либо имя, которое обозначает действие, выполняемое над одним нескольким количеством выражений. Они, в свою очередь, делятся на несколько категорий:[17]

Ø арифметические операторы;

Ø оператор конкатенации;

Ø операторы присваивания;

Ø операторы сравнения;

Ø логические операторы;

Ø унарные операторы.

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

 

Язык структурированных запросов SQL. Использование языка SQL в прикладном программировании

 

Основы SQL

SQL (Structured Query Language) представляет собой компьютерную базу данных языка, предназначенный для управления данными в реляционных системах управления базами данных (СУБД)[19].

SQL, представляет собой стандартизированный компьютерный язык, который изначально был разработан IBM для выполнения запросов, изменения и определение реляционных баз данных, используя декларативные заявления. В языке SQL существуют такие слова/фразы, которые имеют особую значимость. Ключевые слова SQL — это те слова, которые довольно тесно связаны с работой реляционной БД, поэтому ими нельзя пользоваться ни для каких других целей.

Можно объяснить довольно просто, что может SQL[13]:

· SQL может выполнять запросы к базе данных.

· SQL может извлекать данные из базы данных.

· SQL может вставлять записи в базу данных.

· SQL может обновлять записи в базе данных.

· SQL может удалять записи из базы данных.

· SQL может создавать новые базы данных.

· SQL может создавать новые таблицы в базе данных.

· SQL может создавать хранимые процедуры в базе данных.

· SQL может создавать представления в базе данных.

· SQL может устанавливать разрешения для таблиц, процедур и представлений.

SQL-сервер – это специальная программа, которая управляет удалённой базой данных. Такая программа обеспечивает интерпретацию запроса, его выполнение в базе данных, формирование результата выполнения запроса и выдачу его приложению-клиенту.

SQL имеет следующие основные категории команд:[20]

Рисунок 4 - основные категории команд SQL

1) Иногда также может потребоваться создание или удаление таблицы или другого объекта базы данных. SQL позволяет вам делать это с помощью DDL181].

Примеры команд DDL:

· CREATE DATABASE - Создает новую базу данных.

· ALTER DATABASE - Изменяет базу данных.

· DROP DATABASE - Удаляет (удаляет) базу данных.

· CREATE TABLE - Создает новую таблицу.

· ALTER TABLE - Изменяет таблицу.

· DROP TABLE - Удаляет (удаляет) таблицу.

Это лишь некоторые из классов объектов, которые можно определить с помощью DDL. Как вы можете догадаться, синтаксис, как правило, одинаковый для любого объекта, хотя каждый объект будет иметь свойства, специфичные для этого класса объектов.

2) DML представляет из себя три команды модификации существующих объектов БД, а точнее - командами вставки, обновления и удаления их составных частей (insert, update, delete)[12].

DML позволяет работать с данными, поступающими в базу данных. DML используется для вставки, выбора, обновления и удаления записей в базе данных. Многие из ваших операторов SQL начинаются с одной из следующих команд[5]:

· SELECT - извлекает данные из базы данных.

· INSERT - Вставляет новые данные в базу данных.

· UPDATE - обновляет существующие данные в базе данных.

· DELETE - удаляет существующие данные из базы данных.

3) DQL представлен оператором select, который имеет множество опций и фраз.

4) DCL включает в себя команды, которые распределяют полномочия между пользователями.

5) Команды управления транзакциями

6) Команды администрирования данных.

С их помощью пользователь может осуществлять контроль над выполняемыми действиями, анализировать операции БД и производительность системы в целом. Не нужно путать между собой администрирование данных и администрирование БД. Администрирование базы данных - это общее управление БД и предполагает использование команд всех уровней[4].

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

Рисунок 5 – Все виды операторов

Основные операторы

Оператор SELECT извлекает информацию из базы данных. Используя

SELECT можно сделать следующее:

SELECT: можно использовать функцию выбора в SQL для выбора строк в таблицу, которую вы хотите вернуть запросом. Можно использовать различные критерии для:

Выбор (Selection) - ограничивать строки, которые видны[8].

Проецирование (Projection). Можно использовать возможности прогнозирования в SQL для выбора столбцов в таблице, которые нужно вернуть по вашему запросу. Можно выбрать несколько столбцов таблицы.

Присоединение (Join). Можно использовать возможность объединения в SQL для объединения данных, которые хранятся в разных таблицах, создавая ссылку через столбец таблицы.

Оператор CREATE TABLE используется для создания таблицы в базе данных.

Синтаксис оператора следующий (рисунок 6).

Рисунок 6 - Синтаксис CREATE TABLE

Тип данных определяет, какой тип данных столбца может содержать.

Есть специальные типы данных для чисел, дат текста и т.д.

INSERT INTO заявления используется, чтобы вставить новую строку в таблице (рисунок 7).

Рисунок 7 - Синтаксис INSERT INTO

Можно написать заявление INSERT INTO в двух формах.

Первая форма не определяет имена столбцов, где будут вставлены данные, только их значения:

Оператор UPDATE используется для обновления существующих записей в таблице.

Синтаксис выглядит следующим образом (рисунок 8).

Рисунок 8 - Синтаксис UPDATE

DELETE используются для удаления строк в таблице (рисунок 9).

Рисунок 9 - Синтаксис DELETE

SQL и прикладные программы

Существует два способа использования языка SQL – в интерактивном режиме и путем внедрение его операторов в программы, которые написаны на процедурных языках высокого уровня[6].

SQL на практике применяется в прикладных программах двумя способами, а именно[1]:

1. SQL-операторы, которые уже внедрены в код. Отдельные SQL-операторы, внедряясь в исходный текст программы, смешиваются с операторами базового языка. Такой подход дает возможность создания программ, которые обращаются непосредственно к БД.

2. Применение прикладного интерфейса программирования под названием «API». Этот метод является альтернативным вариантом, который даёт возможность специалисту иметь стандартный набор функций, к которым можно обращаться из создаваемых им программ. Они бывают разные и некоторые из них могут предоставлять такой же набор функциональных возможностей, существующий при подключении встроенных операторов, но при этом необходимость пред компилирования исходного текста исчезает. Помимо этого, некоторые из разработчиков отмечают, что в данном случае используется наиболее понятное представление интерфейса и разработанный программный текст более удобный со стороны его сопровождения.

Два эти способа  предполагают использование операторов статического и динамического SQL.

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

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

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


Дата добавления: 2018-09-20; просмотров: 1417; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!