Автор работы: Пользователь скрыл имя, 28 Ноября 2017 в 21:38, курсовая работа
В данной расчетно-графической работе будет построена база данных «Технодом» на формальном непроцедурном языке программирования SQL и реализована в среде SQLServerManagementStudio.
SQL является прежде всего информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL можно назвать языком программирования, при этом он не является тьюринг-полным, но вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.
Создание Базы данных в SQL 5
1.1 Создание таблиц 7
1.1.1 Создание таблицы Продукция 7
1.1.2 Создание таблицы Сбыт 8
1.1.3 Создание таблицы Характеристики 9
1.2 Создание диаграммы 12
2.Создание запросов в Базе данных 13
2.1 Простые запросы 14
2.2 Сложные запросы 17
Заключение 19
Список литературы
Редактор запросов можно использовать для выполнения следующих задач:
Редактор запросов содержит встроенный текстовый редактор и панель инструментов с набором кнопок для разных действий. Главное окно редактора запросов разделено по горизонтали на панель запросов (вверху) и панель результатов (внизу). Инструкции Transact-SQL (т.е. запросы) для исполнения вводятся в верхнюю панель, а результаты обработки системой этих запросов отображаются в нижней панели.
2.1 Простые запросы
1) Простой запрос SELECT
SELECT – запрос, который позволяет выбирать записи из таблицы.
Выбирает все записи из таблицы «Характеристики», сортируя их по строке ДатаПроизводства
Select *from Характеристика order by ДатаПроизводства
Рисунок 14. Простой запрос Select
2) Простой запрос Select
Выбирает все записи из таблицы «Продукция», где название столбца производителя начинается с Кит
Select *from Продукция where Производитель like 'Кит%'
Рисунок 15. Простой запрос Select
3) Простой запрос Select
Select *from Сбыт where Цена between 0 and 10000
Выбирает все записи из таблицы «Сбыт» где цена находится в интервале между 0 и 10000
Рисунок 16. Простой запрос Select
4) Select *from Сбыт where Количество like '%00'
Выбирает все записи из таблицы «Сбыт», где столбец Количество заканчивается на 00
Рисунок 17. Простой запрос DELETE
5) Простой запрос SELECT
Выбирает из таблицы Характеристика, где ДатаПроизводства есть месяц 09
Select *from Характеристика where ДатаПроизводства like '%09%'
Рисунок 18. Простой запрос SELECT
2.2 Сложные запросы
1) Сложный запрос SELECT
SELECT DISTINCT ДатаПроизводства, Продукция FROM Сбыт, Характеристика
WHERE Сбыт.Цена=Характеристика.Цена AND Продукция like 'М%'
Рисунок 19. – Сложный запрос SELECT
2) Сложный запрос SELECT
SELECT Название, Производитель FROM Продукция WHERE Продукция in (SELECT Продукция FROM СбытWHERE Количество > 100)
Рисунок 20. Сложный запрос SELECT
3) Сложный запрос SELECT
SELECT Продукция,Количество,
WHERE Продукция in (SELECT Продукция FROM Продукция where Название='Apple');
Рисунок 21. Сложный запрос SELECT
4) Вложенный запрос SELECT
Select DISTINCT Производитель, Цена FROM Сбыт, Продукция Where Сбыт.Продукция = Продукция.Продукция AND Цена >50000
Рисунок 22. SELECT
5) Вложенный запрос UPDATE
UPDATE Продукция SET [Название] = 'Apple' WHERE [Название] in (SELECT [Название] FROM Продукция WHERE [Название] = 'Samsung') ;
Select * FROM Продукция ;
Рисунок 23. Вложенный запрос UPDATE
Заключение
В данной расчетно-графической работе была построена База данных «Театры» на формальном непроцедурном языке программирования SQL и реализована в среде SQL Server Management Studio, которая включала в себя несколько таблиц с различными данными из биографий выдающихся кинорежиссеров ХХ – ХХI века. Таблицы были связаны между собой на диаграмме связью «Один-к-одному» и «Один-ко-многим» для образования данной связи требовалось задать первичные ключи, что и было сделано. После выстраивания структуры Базы данных, был создан ряд запросов, как простых, так и сложных, в которые входили поиск, замена, обновление, удаление различны элементов и прочие функции.
Каждый этап построения Базы данных осуществлялся и двумя способами: через контекстное меню и через редактор запросов, поэтапное выполнение этих методов продемонстрировано на скриншотах, добавленных в работу.
При работе с SQL можно было выделить его следующие преимущества и недостатки:
1)Независимость от конкретной СУБД
Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально ориентировались на применение по меньшей мере нескольких СУБД (например: система электронного документооборота Documentum может работать как с Oracle Database, так и с Microsoft SQL Server и DB2). Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться уже очень трудно.
2)Наличие стандартов
Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка. Правда, стоит обратить внимание, что сам по себе стандарт местами чересчур формализован и раздут в размерах (например, базовая часть стандарта SQL:2003 состоит из более чем 1300 страниц текста).
3)Декларативность
С помощью SQL программист описывает только то, какие данные нужно извлечь или модифицировать. То, каким образом это сделать, решает СУБД непосредственно при обработке SQL-запроса. Однако не стоит думать, что это полностью универсальный принцип — программист описывает набор данных для выборки или модификации, однако ему при этом полезно представлять, как СУБД будет разбирать текст его запроса. Чем сложнее сконструирован запрос, тем больше он допускает вариантов написания, различных по скорости выполнения, но одинаковых по итоговому набору данных.
1)Несоответствие реляционной модели данных
Создатели реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности, они указывают на следующие дефекты SQL с точки зрения реляционной теории[7]:
В опубликованном Кристофером Дейтом и Хью Дарвеном Третьем манифесте[8] они излагают принципы СУБД следующего поколения и предлагают язык Tutorial D, который является подлинно реляционным.
2)Сложность
Хотя SQL и задумывался как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.
3)Отступления от стандартов
Несмотря на наличие международного стандарта ANSI SQL-92, многие разработчики СУБД вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом появляются специфичные для каждой конкретной СУБД диалекты языка SQL.
4)Сложность работы с иерархическими структурами
Ранее диалекты SQL большинства СУБД не предлагали способа манипуляции древовидными структурами. Некоторые поставщики СУБД предлагали свои решения (например, в Oracle Database используется выражение CONNECT BY). В настоящее время в ANSI стандартизована рекурсивная конструкция WITH из диалекта SQL DB2. В Microsoft SQL Server рекурсивные запросы (Recursive Common Table Expressions) появились лишь в версии 2005.
Список литературы
1. Джеймс Р. Грофф, Пол Н. Вайнберг, Эндрю Дж. Оппель. SQL: полное руководство, 3-е издание = SQL: The Complete Reference, Third Edition. — М.: «Вильямс», 2014. — 960 с. — ISBN 978-5-8459-1654-9.
2.Крис Фиайли. SQL: Руководство по изучению языка. — М.: Peachpit Press, 2013. — 456 с.
3.Аллен Тейлор. SQL для чайников, 8-е издание = SQL For Dummies, 8th edition. — М.: «Диалектика», 2014. — 416 с. — ISBN 978-5-8459-1903-8.
4.К. Дж. Дейт. Введение в системы баз данных / Пер. с англ. — 8-е изд. — М.: Вильямс, 2015. — 1328 с.
5. Боуман Дж. С., Эмерсон С. Л., Дарновски М. - Практическое руководство по SQL, 2013г.
6. Microsoft® SQL Server® 2012. Создание запросов. Учебный курс 70-461. Ицик Бен-Ган, Деян Сарка, Рон Талмейдж, 2015г.