SQL – стандартный язык реляционных баз данных
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 6
1. РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ. 7
1.1. Понятие и назначение БД и СУБД. 7
1.2. Реляционные базы данных. 11
2. ЯЗЫК SQL КАК СТАНДАРТНЫЙ ЯЗЫК РЕЛЯЦИОННЫХ БАЗ ДАННЫХ. 17
2.1 Язык SQL 17
2.2. Типы данных 19
3. ФОРМЫ И СВОЙСТВА ЯЗЫКА SQL. 32
1.1. Формы языка SQL. 32
1.2. Запросы и операторы манипулирования данными 33
1.3. Операторы определения и манипулирования схемой БД 35
1.4. Определения ограничений целостности и триггеров 35
1.5. Представления базы данных 37
1.6. Определение управляющих структур 38
1.7. Авторизация доступа к отношениям и их полям 39
1.8. Точки сохранения и откаты транзакции 40
1.9. Встроенный SQL 40
1.10. Динамический SQL 41
4. АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ В ОБЛАСТИ ПРЕДМЕТА ФИНАНСЫ И КРЕДИТ 44
4.1. Составить блок-схему и написать программу на языке Pascal. 44
4.2. Контрольный пример. 44
4.3. Блок-схема алгоритма решения задачи: 45
4.4. Текст программы на языке Pascal. 45
4.5. Результат выполнения программы на контрольном примере. 47
ЗАКЛЮЧЕНИЕ 49
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 51
ВВЕДЕНИЕ
Всякая
профессиональная деятельность так
или иначе связана с
Системы управления базами данных существуют уже много лет, многие из них обязаны своим происхождением системам с неструктурированными файлами на больших ЭВМ.
Мир
баз данных становится все более
и более единым, что привело
к необходимости создания стандартного
языка, который мог бы использоваться
чтобы функционировать в
SQL символизирует собой Структурированный Язык Запросов. Это — язык который дает вам возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации, сохраняемой в таблицах.
Целью данной курсовой работы является рассмотрение основ реляционных баз данных, языка SQL и анализ его структуры.
Основными задачами данной курсовой работы являютя:
- Определение понятия и особенностей реляционных баз данных, а также их роли в современном программировании.
- Анализ сущности языка SQL и рассмотрение его типов данных.
- Описание форм и раскрытие свойств языка SQL.
- Составить алгоритм решения задачи и разработать текст программы на языке Pascal.
- РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ.
- Понятие и назначение БД и СУБД.
База данных – это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором свойств.
Например: база данных ГИБДД, база данных жителей Украины, база данных книжного фонда библиотеки и т.д.
Программное обеспечение, предназначенное для работы с базами данных, называется система управления базами данных (СУБД). СУБД используются для упорядоченного хранения и обработки больших объемов информации.
СУБД организует хранение информации таким образом, чтобы ее было удобно:
- просматривать
- изменять
- пополнять
- осуществлять сортировку в любом порядке
- искать нужные сведения
- делать любые выборки
Классификация баз данных:
- По характеру хранимой информации существуют фактографические и документальные БД. В фактографических БД содержатся краткие сведения об описываемых объектах, представленные в строго определенном формате (картотеки). Документографические БД содержат описания документов (архивы).
- По технологии обработки данных БД подразделяются на централизованные и распределенные.
Централизованная БД подразумевает, что работа с БД возможна только локально. Если компьютер работает в сети, то доступ к информации может осуществляться удаленно с других компьютеров сети. Централизованные БД наиболее распространены в настоящее время.
Распределенная БД располагается на нескольких компьютерах. Информация на этих компьютерах может пересекаться и даже дублироваться. Для управления такими БД предназначена система управления распределенными БД. Система скрывает от пользователей обращения к данным, расположенным на других компьютерах. Для пользователя все выглядит так, как будто вся информация находится на одном сервере.
- По способу доступа к данным – на БД с локальным доступом и БД с удаленным (сетевым) доступом. Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:
Файл - сервер. Согласно этой архитектуре в компьютерной сети выделяется машина - сервер для хранения файлов централизованной базы данных. Файлы базы данных могут быть переданы на рабочие станции для обработки: ввода, корректировки, поиска записей. На данный момент файл - серверные СУБД считаются устаревшими. Примеры: Microsoft Access, Borland Paradox.
Клиент - сервер - архитектура, используемая не только для хранения файлов централизованной базы данных на сервере, но и выполняющая на том же сервере основной объем работы по обработке данных. Таким образом, при необходимости поиска информации в базе данных рабочим станциям - клиентам передаются не файлы данных, а уже записи, отобранные в результате обработки файлов данных. Примеры: Firebird, Interbase, MS SQL Server, Sybase, Oracle, MySQL, PostgreSQL.
Модели данных и их виды
Модель данных - совокупность структур данных и операций их обработки.
По способу установления связей между данными СУБД основывается на использовании трёх основных видов модели: иерархической, сетевой или реляционной; на комбинации этих моделей или на некотором их подмножестве.
Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево).
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел - это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.
Каждому узлу структуры соответствует один сегмент, представляющий собой поименованный линейный кортеж полей данных. Каждому сегменту (кроме S1-корневого) соответствует один входной и несколько выходных сегментов. Каждый сегмент структуры лежит на единственном иерархическом пути, начинающемся от корневого сегмента.
К основным недостаткам иерархических моделей следует отнести:
- неэффективность реализации отношений типа N:N, медленный доступ к сегментам
- данных нижних уровней иерархии, четкая ориентация на определенные типы
- запросов и др.
В связи с этими недостатками ранее созданные иерархические СУБД подвергаются существенным модификациям, позволяющим поддерживать более сложные типы структур и, в первую очередь, сетевые и их модификации.
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом.
Сетевая модель СУБД во многом подобна иерархической: если в иерархической модели для каждого сегмента записи допускается только один входной сегмент при N выходных, то в сетевой модели для сегментов допускается несколько входных сегментов наряду с возможностью наличия сегментов без входов с точки зрения иерархической структуры.
Графическое изображение структуры связей сегментов такого типа моделей представляет собой сеть. Сегменты данных в сетевых БД могут иметь множественные связи с сегментами старшего уровня. При этом направление и характер связи в сетевых БД не являются столь очевидными, как в случае иерархических БД. Поэтому имена и направление связей должны идентифицироваться при описании БД.
Сетевые СУБД поддерживают сложные соотношения между типами данных, что делает их пригодными во многих различных приложениях. Однако пользователи таких СУБД ограничены связями, определенными для них разработчиками БД- приложений.
Среди
недостатков сетевых СУБД следует
особо выделить проблему обеспечения
сохранности информации в БД,
решению которой уделяется
Реляционная модель данных. Понятие реляционный (англ. relation — отношение) связано с разработками известного американского специалиста в области систем баз данных, сотрудника фирмы IBM д-ра Е. Кодда, которым впервые был применен термин "реляционная модель данных".
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
- каждый элемент таблицы - один элемент данных;
- повторяющиеся группы отсутствуют;
- все столбцы в таблице однородные, т.е. все элементы в столбце имеют
- одинаковый тип (числовой, символьный и т.д.) и длину;
- каждый столбец имеет уникальное имя;
- одинаковые строки в таблице отсутствуют;
- порядок следования строк и столбцов может быть произвольным.
Таблица такого рода называется отношением.
База данных, построенная с помощью отношений, называется реляционной базой данных.
- Реляционные базы данных.
Недостатки
иерархической и сетевой
К
сожалению, практическое определение
понятия "реляционная база данных"
оказалось гораздо более
В ответ на неправильное использование термина "реляционный" Кодд в 1985 году написал статью, где сформулировал 12 правил, которым должна удовлетворять любая база данных, претендующая на звание реляционной. С тех пор двенадцать правил Кодда считаются определением реляционной СУБД. Однако существует и более простое определение:
Реляционной называется база данных, в которой все данные, доступные пользователю, организованны в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами.
Таблицы
В реляционной базе данных информация организована в виде таблиц, разделённых на строки и столбцы, на пересечении которых содержатся значения данных. У каждой таблицы имеется уникальное имя, описывающее её содержимое. Все значения, содержащиеся в одном и том же столбце, являются данными одного типа. Множество значений, которые могут содержаться в столбце, называется доменом этого столбца.
У каждого столбца в таблице есть своё имя, которое обычно служит заголовком столбца. Все столбцы в одной таблице должны иметь уникальные имена, однако разрешается присваивать одинаковые имена столбцам, расположенным в различных таблицах.
Столбцы
таблицы упорядочены слева
В
отличие от столбцов, строки таблицы
не имеют определённого порядка.
В таблице может содержаться
любое количество строк. Вполне допустимо
существование таблицы с
Первичные ключи
В
правильно построенной
Первичный ключ для каждой строки таблицы является уникальным, поэтому в таблице с первичным ключом нет двух совершенно одинаковых строк. Таблица, в которой все строки отличаются друг от друга, в математических терминах называется отношением. Именно этому термину реляционные базы данных и обязаны своим названием, поскольку в их основе лежат отношения (таблицы с отличающимися друг от друга строками).
Отношения предок/потомок
Одним из отличий реляционной модели от первых моделей представления данных было то, что в ней отсутствовали явные указатели, используемые для реализации отношений предок/потомок в иерархической модели данных. Однако вполне очевидно, что отношения предок/потомок существуют и в реляционных базах данных. Причем отсутствие явных указателей в реляционной модели не приводит к потере информации.
Внешние ключи
Столбец одной таблицы, значения в котором совпадают со значениями столбца, являющегося первичным ключом другой таблицы, называется внешним ключом. Совокупно первичный и внешний ключи создают между таблицами, в которых они содержатся, такое же отношение предок/потомок, как и в иерархической базе данных.
Внешний ключ, как и первичный ключ, тоже может представлять собой комбинацию столбцов. На практике внешний ключ всегда будет составным (состоящим из нескольких столбцов), если он ссылается на составной первичный ключ в другой таблице. Очевидно, что количество столбцов и их типы данных в первичном и внешнем ключах совпадают.
Если таблица связана с несколькими другими таблицами, она может иметь несколько внешних ключей.
Двенадцать правил Кодда
| 1. Правило информации. Вся информация в базе данных должна быть предоставлена исключительно на логическом уровне и только одним способом - в виде значений, содержащихся в таблицах. |
| 2. Правило гарантированного доступа. Логический доступ ко всем и каждому элементу данных (атомарному значению) в реляционной базе данных должен обеспечиваться путём использования комбинации имени таблицы, первичного ключа и имени столбца. |
| 3. Правило поддержки недействительных значений. В настоящей реляционной базе данных должна быть реализована поддержка недействительных значений, которые отличаются от строки символов нулевой длинны, строки пробельных символов, и от нуля или любого другого числа и используются для представления отсутствующих данных независимо от типа этих данных. |
| 4. Правило динамического каталога, основанного на реляционной модели. Описание базы данных на логическом уровне должно быть представлено в том же виде, что и основные данные, чтобы пользователи, обладающие соответствующими правами, могли работать с ним с помощью того же реляционного языка, который они применяют для работы с основными данными. |
| 5. Правило исчерпывающего подъязыка данных. Реляционная система может поддерживать различные языки и режимы взаимодействия с пользователем (например, режим вопросов и ответов). Однако должен существовать по крайней мере один язык, операторы которого можно представить в виде строк символов в соответствии с некоторым четко определенным синтаксисом и который в полной мере поддерживает следующие элементы: определение данных; определение представлений; обработку данных (интерактивную и программную); условия целостности; идентификация прав доступа; границы транзакций (начало, завершение и отмена). |
| 6. Правило обновления представлений. Все представления, которые теоретически можно обновить, должны быть доступны для обновления. |
| 7. Правило добавления, обновления и удаления. Возможность работать с отношением как с одним операндом должна существовать не только при чтении данных, но и при добавлении, обновлении и удалении данных. |
| 8. Правило независимости физических данных. Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при любых изменениях способов хранения данных или методов доступа к ним. |
| 9. Правило независимости логических данных. Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при внесении в базовые таблицы любых изменений, которые теоретически позволяют сохранить нетронутыми содержащиеся в этих таблицах данные. |
| 10. Правило независимости условий целостности. Должна существовать возможность определять условия целостности, специфические для конкретной реляционной базы данных, на подъязыке реляционной базы данных и хранить их в каталоге, а не в прикладной программе. |
| 11. Правило независимости распространения. Реляционная СУБД не должна зависеть от потребностей конкретного клиента. |
| 12. Правило единственности. Если в реляционной системе есть низкоуровневой язык (обрабатывающий одну запись за один раз), то должна отсутствовать возможность использования его для того, чтобы обойти правила и условия целостности, выраженные на реляционном языке высокого уровня (обрабатывающем несколько записей за один раз). |
- ЯЗЫК SQL КАК СТАНДАРТНЫЙ ЯЗЫК РЕЛЯЦИОННЫХ БАЗ ДАННЫХ.
- Язык SQL
SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных. Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. SQL работает только с реляционными базами данных.
Схема работы SQL представлена следующим образом. В вычислительной системе имеется база данных, в которой хранится важная информация. Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название — структурированный язык запросов.
Однако
это название не совсем соответствует
действительности. Во-первых, сегодня
SQL представляет собой гораздо большее,
чем простой инструмент создания
запросов, хотя именно для этого
он и был первоначально
Во-вторых, SQL — это не полноценный компьютерный язык типа COBOL, FORTRAN или С. SQL является подъязыком баз данных, в который входит около тридцати операторов, предназначенных для управления базами данных. Операторы SQL встраиваются в базовый язык и дают возможность получать доступ к базам данных.
В-третьих, SQL — это слабо структурированный язык, особенно по сравнению с такими сильно структурированными языками, как С или Pascal. Операторы SQL напоминают английские предложения и содержат "слова-пустышки", не влияющие на смысл оператора, но облегчающие его чтение. В SQL почти нет нелогичностей, к тому же имеется ряд специальных правил, предотвращающих создание операторов SQL, которые выглядят как абсолютно правильные, но не имеют смысла.
Несмотря на не совсем точное название, SQL на сегодняшний день является единственным стандартным языком для работы с реляционными базами данных. Сам по себе SQL не является ни системой управления базами данных, ни отдельным программным продуктом. SQL — это неотъемлемая часть СУБД, инструмент, с помощью которого осуществляется связь пользователя с ней. Помимо этого, SQL выполняет много различных функций:
- SQL — интерактивный язык запросов. Пользователи вводят команды SQL в интерактивные программы, предназначенные для чтения данных и отображения их на экране. Это удобный способ выполнения специальных запросов.
- SQL — язык программирования баз данных. Чтобы получить доступ к базе данных, программисты вставляют в свои программы команды SQL. Эта методика используется как в программах, написанных пользователями, так и в служебных программах баз данных (таких как генераторы отчетов и инструменты ввода данных).
- SQL — язык администрирования баз данных. Администратор базы данных, находящейся на мини-компьютере или на большой ЭВМ, использует SQL для определения структуры базы данных и управления доступом к данным.
- SQL — язык создания приложений клиент/сервер, и программ для персональных компьютеров. SQL используется для организации связи через локальную сеть с сервером базы данных, в которой хранятся совместно используемые данные. В большинстве новых приложений используется архитектура клиент/сервер, которая позволяет свести к минимуму сетевой трафик и повысить быстродействие как персональных компьютеров, так и серверов баз данных.
- SQL — язык распределенных баз данных. В системах управления распределенными базами данных SQL помогает распределять данные среди нескольких взаимодействующих вычислительных систем. Программное обеспечение каждой системы посредством использования SQL связывается с другими системами, посылая им запросы на доступ к данным.
- SQL — язык шлюзов базы данных. В вычислительных сетях с различными СУБД SQL часто используется в шлюзовой программе, которая позволяет СУБД одного типа связываться с СУБД другого типа.
Таким образом, SQL превратился в полезный и мощный инструмент, обеспечивающий доступ к информации, содержащейся в реляционных базах данных.
- Типы данных
- Tочные числовые типы
К категории точных числовых типов в SQL относятся те типы, значения которых точно представляют числа. Типы данных этой категории распадаются на две части: истинно целые типы (INTEGER и SMALLINT) и типы, допускающие наличие дробной части (NUMERIC и DECIMAL).
Истинно целые типы
- Тип INTEGER. Тип служит для представления целых чисел. Точность чисел (число сохраняемых бит) определяется в реализации.
- Тип SMALLINT. Тип также служит для представления целых чисел. Точность определяется в реализации, но она не должна быть больше точности типа INTEGER.

- Standartization and certification
- STEP-анализ. Анализ деятельности и конфликтов ОАО «Большой гостиный двор»
- STEP-анализа предприятия пансионата с лечением ООО «Бригантина»
- StokRoute: интегрированное решение
- Strategic management
- Strategic Management Process of PepsiCo
- Strategic planning in organizations
- Software engineering methodologies
- Sony Xperia Marketing Plan
- SousVide - уникальная технология приготовления еды
- Special economic zones in the world economy
- Sp-алгоритм метода решений частичных проблем собственных значений. Градиентный метод расходящегося ряда. Метод Девидона-Флетчера- Пауэлла
- Sql запросы в базах данных
- SQL курсовая работа