Автор работы: Пользователь скрыл имя, 16 Ноября 2013 в 16:44, контрольная работа
SQL язык структурированных запросов»— универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL основывается на исчислении кортежей.
В начале 1970-х годов в одной из исследовательских лабораторий компании IBMбыла разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД.
Теоретических вопрос: Структурированный язык запросов SQL.
SQL язык структурированных запросов»— универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL основывается на исчислении кортежей.
В начале 1970-х годов в одной из исследовательских лабораторий компании IBMбыла разработана экспериментальная реляционная СУБД IBM System R, для которой затем был создан специальный язык SEQUEL, позволявший относительно просто управлять данными в этой СУБД.
Целью разработки было создание
простого непроцедурного языка, которым
мог воспользоваться любой
Год |
Название |
Иное название |
Изменения |
1986 |
SQL-86 |
SQL-87 |
Первый вариант стандарта, принятый институтом ANSI и одобренный ISO в 1987 году. |
1989 |
SQL-89 |
FIPS 127-1 |
Доработанный вариант. |
1992 |
SQL-92 |
SQL2, FIPS 127-2 |
Значительные изменения (ISO 9075); уровень Entry Level стандарта SQL-92 был принят как стандарт FIPS 127-2. |
1999 |
SQL:1999 |
SQL3 |
Добавлена поддержка регулярных
выражений, рекурсивных запросо |
2003 |
SQL:2003 |
Введены расширения для работы с XML-данными, оконные функции (применяемые для работы сOLAP-базами данных), генераторы последовательностей и основанные на них типы данных. | |
2006 |
SQL:2006 |
Функциональность работы
с XML-данными значительно | |
2008 |
SQL:2008 |
Улучшены возможности оконных функций, устранены некоторые неоднозначности стандарта SQL:2003[4] |
Язык SQL предназначен для
выполнения:
а) операций над таблицами (создание, удаление,
изменение структуры);
б) над данными таблиц (выборка, изменение,
добавление и удаление)
в) некоторых сопутствующих операций (управление
доступом, управление индексами, управление
транзакциями и др.).
SQL является непроцедурным
языком и не содержит
В современных СУБД с интерактивным интерфейсом можно создавать запросы, используя другие средства, например QBE. Однако применение SQL зачастую позволяет повысить эффективность обработки данных в базе. Например, при подготовке запроса в среде Access можно перейти из окна Конструктора запросов (формулировки запроса по образцу на языке QBE) в окно с эквивалентным оператором SQL. Подготовку нового запроса путем редактирования уже имеющегося в ряде случае проще выполнить путем изменения оператора SQL. В различных СУБД состав операторов SQL может несколько отличаться.
Язык SQL не обладает функциями полноценного языка разработки, а ориентирован на доступ к данным, поэтому его включают в состав средств разработки программ. В этом случае его называют встроенным SQL. Стандарт языка SQL поддерживают современные реализации следующих языков программирования: PL/1, Ada, С, COBOL, Fortran, MUMPS и Pascal.
В специализированных системах разработки приложений типа клиент-сервер (данную архитектуру мы рассмотрим позже) среда программирования, кроме того, обычно дополнена коммуникационными средствами (установление и разъединение соединений с серверами БД, обнаружение и обработка возникающих в сети ошибок и. т. д.), средствами разработки пользовательских интерфейсов, средствами проектирования и отладки.
Различают два основных метода использования встроенного SQL: статический и динамический.
При статическом использовании языка (статический SQL) в тексте программы имеются фиксированные по структуре вызовы функций языка SQL, включаемые в выполняемый модуль в процессе компиляции. Параметры запросов (обычно представляют константные значения, с которыми сравниваются значения полей в таблицах), являющиеся переменными языка программирования, позволяют добиться некоторой гибкости статических запросов.
При динамическом использовании языка (динамический SQL) предполагается динамическое построение запроса в форме текстовой строки. Данная строка используется как параметр для функции выполнения SQL-запросов, которая выполняет синтаксический анализ строки запроса и формирует на его основе последовательность команд БД. Динамический метод обычно применяется в случаях, когда в приложении заранее неизвестен вид SQL-вызова.
В результате выборки данных из одной или нескольких, таблиц может быть получено множество записей, называемое представлением. Представление по существу является таблицей, формируемой в результате выполнения запроса, которая существует «виртуально» только до завершения выполнения программы.
Для удобства работы с представлениями в язык SQL введено понятие курсора. Курсор представляет собой своеобразный указатель на набор записей в представлении, обеспечивающий в каждый момент доступ лишь к некоторой небольшой части строк представления. С помощью операторов перемещения курсора по записям можно получить доступ ко всем строкам таблицы.
Практическое задание №1.
1.Описать историю движения по базе данных охотничьего ружья марки ИЖ 27 с серийным номером 933178, составив список ее владельцев (бывших и настоящих).
3.Найти владельцев оружия с номерами, заканчивающимися на 679. Отразить в запросе ФИО, номер оружия, марку и модель оружия.
4. Построить таблицу, включающую серию, номер, год выпуска и модель оружия, на которое выдано разрешение с номером 7023764, а также ФИО владельца этого разрешения.
5.Определить в какой день недели родился владелец разрешения с номером 6852676.
6.Подсчитать количество выданных лицензий на приобретение одной единицы охотничьего пневматического оружия (более 7,5 Дж) (ЛПА) за весь период ведения базы данных
7.Установить владельца охотничьего ружья марки ИЖ 27 с серийным номером 933178 по состоянию на 1-10 августа 2008 года.
8.Найти владельца разрешения с номером 2073960.
9.Определить количество единиц «свободного» оружия.
10.Установить владельца охотничьего ружья марки МР с серийным номером 933178 по состоянию на 1-10 августа 2008 года.
Под данным серийным номером было выявлена марка оружия иж 27 , марки МР не было выявлено.
Практическое задание № 2
Установить номер абонента, которому 15 сентября 2011 года было сделано наибольшее количество звонков, подсчитать количество таких звонков.
Установить номер абонента, от которого 23 сентября 2011 года поступило наибольшее количество звонков, подсчитать количество таких звонков.
Составить таблицу, проранжировав в ней все даты в порядке убывания количества исходящих звонков; первый столбец таблицы должен содержать дату, второй – количество звонков.
Определить номер абонента, которому 12 сентября 2011 года было отправлено наибольшее количество SMS-сообщений (исходящие сообщения);
Составить таблицу, проранжировав в ней номера абонентов в порядке убывания количества входящих SMS-сообщений; первый столбец таблицы должен содержать номер абонента, второй – количество полученных от него SMS-сообщений.
Установить номер абонента, с которым 24 сентября 2011 года была зафиксирована наибольшая продолжительность телефонных разговоров.
Составить таблицу, проранжировав в ней в ней номера абонентов в порядке убывания общей продолжительности телефонных разговоров; первый столбец таблицы должен содержать номер абонента, второй – продолжительность телефонных разговоров с данным абонентом.
Определить на какой час суток приходится больше всего (по продолжительности) телефонных разговоров; например, с 20:00 до 21:00.
Составить таблицу, отразив в ней количество исходящих телефонных звонков абонента 22 сентября 2011 года в зависимости от времени суток; первый столбец таблицы должен содержать час суток (число от 0 до 24), второй – количество исходящих звонков за этот период.
Составить таблицу, отразив
в ней общую продолжительность
телефонных разговоров за конкретную
дату, а также количество входящих
и исходящих звонков и SMS-сообщений
за эту дату; первый столбец таблицы
должен содержать дату, второй –
суммарную продолжительность
Список используемой литературы.