Негосударственное образовательное учреждение высшего образования
Московский технологический институт
Факультет: Техники и современных технологий
Кафедра: Информатики и автоматизации
КУРСОВАЯ РАБОТА
по дисциплине «Базы данных»
на тему: «ИСПОЛЬЗОВАНИЕ SQL В ПРИКЛАДНОМ ПРОГРАММИРОВАНИИ»
Уровень образования: бакалавриат
Направление: 230100 «Информатика и вычислительная техника»
Профиль: «WEB разработка»
Выполнил:
Студент 5-го курса
Форма обучения: заочная
Иванов Иван Иванович
Москва 2015
Оглавление
Введение
1. Основные понятия и технологии распределенной обработки данных
1.1 Основные понятия и классификация баз данных и систем управления базами данных
1.2 Модели построения баз данных
1.3 Технологии распределенной обработки данных
2. Особенности языка структурированных запросов SQL
2.1 Общие понятия о языке SQL
2.2 Структура и назначение операторов SQL
2.3 Преимущества и недостатки языка SQL
3. Использование SQL в прикладном программировании
3.1 Обоснование выбора применяемых технологий для решения задачи
3.2 Реализация программной части веб - приложения
3.3 Описание общей схемы взаимодействия компонент веб -приложения, основные сценарии работы
Заключение
Список использованной литературы
Приложение А. Характеристики объектно-ориентированной модели данных
Приложение Б. Описание таблиц базы данных
Приложение В. Запросы, формирующие базу данных
Приложение Г. Взаимодействие с БД средствами PHP
Приложение Д. Основные элементы интерфейса пользователя сервиса подписки
Введение
Актуальность темы курсовой работы заключается в том, что в современном компьютерном мире язык структурированных запросов SQL предоставляет пользователю большое количество возможностей по применению и объединению информации из различных источников. Кроме того, в настоящее время SQL нашел широкое применение в прикладном программировании, поскольку значительно сокращает объем работ, который пришлось бы выполнять при использовании универсальных языков программирования.
Язык структурированных запросов SQL (Structured Query Language) предназначен для создания и работы с реляционными базами данных, которые представляют собой наборы связанных данных, хранящихся в таблицах. Для управления реляционными базами данных используются программы, называемые системами управления базами данных, СУБД.
В области баз данных наблюдается все большая интеграция, которая повышает важность стандартного языка, пригодного для использования на различных компьютерных платформах и с разными СУБД.
При наличии стандартного языка достаточно изучить один набор команд и применять его для ввода, поиска, изменения и передачи информации независимо от имеющейся платформы: персональный компьютер, рабочая станция или большая ЭВМ.
Приложения, написанные на стандартном языке, способны работать со многими базами данных, как при использовании API ODBC.
Объектом исследования курсовой работы являются «Базы данных», а предметом исследования - «Использование SQL в прикладном программировании».
Целью курсовой работы является изучение возможностей использования SQL в прикладном программировании.
Для достижения поставленной цели в курсовой работе необходимо решить следующие задачи:
) раскрыть сущность понятий база данных, система управления базами данных путем изучения классификации баз данных и СУБД по степени распределенности, по технологии хранения данных, по содержимому, по моделям построения;
) изучить особенности реляционной модели данных;
) изучить технологии распределенной обработки данных путем определения из достоинств и недостатков, проведения сравнительного анализа, а также выделить технологию, которая наиболее подходит для распределенной обработки данных с использованием SQL-запросов к серверам БД;
) рассмотреть структуру и назначение операторов SQL: операторов определения данных DDL, операторов манипулирования данных DML, операторов управления данными DCL;
) изучить возможности использования SQL в прикладном программировании.
При написании курсовой работы использовались научные труды следующих авторов: Астахова И.Ф.[1], Боуман Дж.С. [2], Гарсиа-Молина Г.[3], Дейт К.[4-6], Дунаев В.В.[7], Жилин Д.М.[9] и другие.
1. Основные понятия и технологии распределенной обработки данных
1.1 Основные понятия и классификация баз данных и систем управления базами данных
База данных (БД) - это совместно используемый набор логически связанных данных (и их описание), предназначенный для удовлетворения информационных потребностей пользователей.
Система управления базами данных (СУБД) - программное обеспечение (ПО), с помощью которого пользователи могут определять, создавать и поддерживать базу данных, а также получать к ней контролируемый доступ [5, с. 123].
По степени распределенности базы данных и СУБД разделяются локальные и распределенные, групповые и корпоративные, как показано на рисунке 1 [6, с. 102].
Рисунок 1 - Классификация баз данных и СУБД по степени распределенности
Локальные базы данных и системы управления базами данных, как правило, реализуются на одном автономном компьютере и рассчитаны на работу одного пользователя. Как правило, приложения разрабатываются с помощью локальных баз данных, например [7, с.88]: Clarion, Clipper, FoxPro, Paradox, dBase, Microsoft Access.
Групповые базы данных и системы управления базами данных реализуются в локальной сети и рассчитаны на работу группы пользователей подключенных к одному серверу баз данных, которые называются SQL серверами. Наиболее часто используемыми являются: Oracle, DB2, Microsoft SQL Server, Inter Base, Sybase, Informix.
Корпоративные базы данных и системы управления базами данных реализуются на больших предприятиях и могут поддерживать территориально разнесенные узлы в сети. Как правило, корпоративные БД и СУБД имеют иерархическую структуру, состоящую из нескольких уровней. Наибольшее распространение получили серверы баз данных: Oracle, DB2, Microsoft SQL Server [8, с. 76].
По технологии хранения данных базы данных и СУБД классифицируются следующим образом (рисунок 2) [9, с. 123]:
Рисунок 2 - Классификация баз данных и СУБД по технологии хранения данных
Фактографические базы данных и СУБД являются аналогами бумажных карточек и предназначены для хранения данных представленных в строго фиксированных форматах и краткой форме.
Документальные базы данных и СУБД являются аналогами исторических документов или архивов документов, обеспечены формализованным аппаратом поиска и предназначены для хранения графических объектов и неструктурированных текстовых документов [10, с. 156].
Централизованные базы данных и СУБД реализуются, как правило, либо на одном автономном компьютере, либо в сети на основании архитектуры «клиент-сервер», хранение данных организовано только на одном компьютере.
Распределенные базы данных и СУБД отличаются от централизованных тем, что данные могут быть разбиты на разные части и храниться на нескольких компьютерах в вычислительной сети.
По содержимому базы данных и СУБД разделяются на следующие группы [11, с. 336]:
) графические, предназначенные для хранения данных графических форматов, как правило, это базы данных фотографий, архивы изображений различного стилевого оформления;
) исторические, предназначенные для хранения текстовых данных представляющих историческую ценность, это, как правило, базы данных для ведения исторических архивов предприятий, выдающихся деятелей искусства, культуры и науки;
) научные, предназначенные для хранения текстовых и графических данных, проведения научных исследований и отражения последних достижений науки и техники;
1.2 Модели построения баз данных
Модель данных - это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Эти объекты позволяют моделировать структуру данных, а операторы - поведение данных.
В настоящее время существуют следующие основные модели построения баз данных: иерархическая, сетевая, объектная, объектно-ориентированная, реляционная.
Рассмотрим особенности каждой из моделей построения баз данных.
Иерархическая структура представляет множество элементов, имеющих между собой связи по определенным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево).
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь.
Узел - это совокупность атрибутов данных, которые описывают некоторый объект.
На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на низшем уровне связан только с одним узлом, который находится на более высоком уровне.
Иерархическое дерево имеет единственную вершину (корень дерева), не подчиненную никакой другой вершине и находится на самом верхнем (первому) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и так далее уровнях. Количество деревьев в базе данных соответствует числу корневых записей. К каждой записи базы данных существует только один (иерархический) путь от корневой записи.
Особенностью реализации операций поиска в иерархической модели является то, что операция всегда начинает поиск с корневой вершины и специфицирует иерархический путь (последовательность связанных вершин) от корня до вершины, экземпляры которой удовлетворяют условиям поиска.
Структура иерархической модели данных представлена на рисунке 3 [12, с. 206].
Рисунок 3 - Структура иерархической модели данных
Структура иерархической модели данных (рисунок 3) состоит из структурной части и управляющий части. В структурной части иерархической модели данных выделяют поле, представляющие собой наименьшую единицу данных, доступную пользователю и сегмент, для которого определяются тип и экземпляр. Причем экземпляр сегмента образуется из значений полей данных заданных определенным образом и поименованной совокупности входящих в него типов полей данных определяемых типом сегмента.
Основными достоинствами иерархической модели данных являются: эффективное использование памяти ЭВМ; высокая скорость выполнения операций над данными; удобство работы с иерархически упорядоченной информацией.
Недостатком иерархической модели является ее громоздкость для обработки информации с достаточно сложными логическими связями.
На иерархической модели данных основано сравнительно ограниченное количество СУБД, в числе которых можно назвать зарубежные системы IMS , PC / Focus, Team - Up и Data Edge , а также отечественные системы Ока, ИНЭС и МИРИС.
Сетевая модель данных является расширением иерархического подхода, описывается строгой математической теорией, отражающей структурный, целостный и аспект обработки данных, и состоит из набора экземпляров определенного типа записи и набора экземпляров определенного типа связей между этими записями.
Основное отличие сетевой структуры от иерархической структуры данных заключается в том, что каждый элемент в сетевой структуре может быть связан с любым другим элементом.
Достоинствами сетевой модели данных являются: эффективность в использовании памяти компьютера; высокая скорость выполнения основных операций над данными; огромные возможности по сравнению с иерархической модели по образованию произвольных связей.
Недостатками сетевой модели данных являются: высокая сложность и жесткость схемы базы данных, которая построена на ее основе; трудность для понимания и выполнения обработки информации в базе данных непрофессиональным пользователем.
Наиболее известными сетевыми СУБД являются: IDMS, db _ VistaIII , СЕТЬ, СЕТОР и КОМПАС.
Объектная модель базы данных используется в основном для создания высокого уровня абстракции и работы с объектными данными, такими как изображение, музыка, видео и различного текста,
Характеристика современных объектных моделей баз данных приведена в таблице 1 [13, с. 199].
Таблица 1 - Современные объектные модели баз данных
НазваниеНазначениеVersant (разработка Versant Technologies)Используется для разработки телекоммуникацийPOET (компания POET Software)Поддержка интерфейсов C++, Java, Visual BasicObject Store PSE (разработка компании Object Design)Модули объектов Java
Объектно-ориентированная модель отличается от объектной модели тем, что данные могут, как моделироваться в виде объектов, так и представляться атрибутами, методами и классами [14, с. 22].
Объектно-ориентированные модели представления данных позволяют идентифицировать отдельные записи базы. Между записями базы данных и функциями их обработки формируются определенные взаимосвязи с помощью механизмов, похожих на соответствующие средства в объектно-ориентированных языках программирования. Характеристики объектно-ориентированной модели данных приведены в Приложении А.
Достоинствами объектно-ориентированной модели данных являются: возможность показа информации о сложных взаимосвязях объектов; способность идентификации отдельной записи базы данных и определения функции ее обработки.
К недостаткам объектно-ориентированной модели данных относятся: трудность в понимании ее деятельности непрофессиональным пользователем; неудобство обработки данных; небольшая скорость выполнения запросов.
Среди объектно-ориентированных СУБД можно выделить системы фирмы РОЕТ: Software, Versant фирмы Versant Technologies и др.
Реляционная база данных представляет собой хранилище данных, организованных в виде двумерных таблиц. Таблицы отражают тип объекта (сущности), разделенные на строки, представляющие собой экземпляры объекта и столбцы, соответствующие атрибутам, на пересечении которых содержатся значения данных, составляющие основу организации реляционной модели данных.
Для упорядочивания строк в реляционной таблице модели данных используется первичный ключ, который представляет собой атрибут или группу атрибутов, а для упорядочивания столбцов одной таблицы, значения в котором совпадают со значениями в другой таблице, используется внешний ключ. Реляционная модель данных поддерживает операторы обработки отношений, таких как реляционная алгебра и реляционное исчисление.
Основные правила реляционной модели данных отражены на рисунке 4 [15, с. 49].