Автор работы: Пользователь скрыл имя, 01 Ноября 2011 в 18:09, курсовая работа
Цель работы – исследование функциональных возможностей систем управления базами данных с помощью языка 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
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
Таблица такого рода называется отношением.
База данных, построенная с помощью отношений, называется реляционной базой данных.
Недостатки
иерархической и сетевой
К
сожалению, практическое определение
понятия "реляционная база данных"
оказалось гораздо более
В ответ на неправильное использование термина "реляционный" Кодд в 1985 году написал статью, где сформулировал 12 правил, которым должна удовлетворять любая база данных, претендующая на звание реляционной. С тех пор двенадцать правил Кодда считаются определением реляционной СУБД. Однако существует и более простое определение:
Реляционной называется база данных, в которой все данные, доступные пользователю, организованны в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами.
Таблицы
В реляционной базе данных информация организована в виде таблиц, разделённых на строки и столбцы, на пересечении которых содержатся значения данных. У каждой таблицы имеется уникальное имя, описывающее её содержимое. Все значения, содержащиеся в одном и том же столбце, являются данными одного типа. Множество значений, которые могут содержаться в столбце, называется доменом этого столбца.
У каждого столбца в таблице есть своё имя, которое обычно служит заголовком столбца. Все столбцы в одной таблице должны иметь уникальные имена, однако разрешается присваивать одинаковые имена столбцам, расположенным в различных таблицах.
Столбцы
таблицы упорядочены слева
В
отличие от столбцов, строки таблицы
не имеют определённого порядка.
В таблице может содержаться
любое количество строк. Вполне допустимо
существование таблицы с
Первичные ключи
В
правильно построенной
Первичный ключ для каждой строки таблицы является уникальным, поэтому в таблице с первичным ключом нет двух совершенно одинаковых строк. Таблица, в которой все строки отличаются друг от друга, в математических терминах называется отношением. Именно этому термину реляционные базы данных и обязаны своим названием, поскольку в их основе лежат отношения (таблицы с отличающимися друг от друга строками).
Отношения предок/потомок
Одним из отличий реляционной модели от первых моделей представления данных было то, что в ней отсутствовали явные указатели, используемые для реализации отношений предок/потомок в иерархической модели данных. Однако вполне очевидно, что отношения предок/потомок существуют и в реляционных базах данных. Причем отсутствие явных указателей в реляционной модели не приводит к потере информации.
Внешние ключи
Столбец одной таблицы, значения в котором совпадают со значениями столбца, являющегося первичным ключом другой таблицы, называется внешним ключом. Совокупно первичный и внешний ключи создают между таблицами, в которых они содержатся, такое же отношение предок/потомок, как и в иерархической базе данных.
Внешний ключ, как и первичный ключ, тоже может представлять собой комбинацию столбцов. На практике внешний ключ всегда будет составным (состоящим из нескольких столбцов), если он ссылается на составной первичный ключ в другой таблице. Очевидно, что количество столбцов и их типы данных в первичном и внешнем ключах совпадают.
Если таблица связана с несколькими другими таблицами, она может иметь несколько внешних ключей.
Двенадцать правил Кодда
1. Правило информации. Вся информация в базе данных должна быть предоставлена исключительно на логическом уровне и только одним способом - в виде значений, содержащихся в таблицах. |
2. Правило гарантированного доступа. Логический доступ ко всем и каждому элементу данных (атомарному значению) в реляционной базе данных должен обеспечиваться путём использования комбинации имени таблицы, первичного ключа и имени столбца. |
3. Правило поддержки недействительных значений. В настоящей реляционной базе данных должна быть реализована поддержка недействительных значений, которые отличаются от строки символов нулевой длинны, строки пробельных символов, и от нуля или любого другого числа и используются для представления отсутствующих данных независимо от типа этих данных. |
4. Правило динамического каталога, основанного на реляционной модели. Описание базы данных на логическом уровне должно быть представлено в том же виде, что и основные данные, чтобы пользователи, обладающие соответствующими правами, могли работать с ним с помощью того же реляционного языка, который они применяют для работы с основными данными. |
5. Правило исчерпывающего подъязыка данных. Реляционная система может поддерживать различные языки и режимы взаимодействия с пользователем (например, режим вопросов и ответов). Однако должен существовать по крайней мере один язык, операторы которого можно представить в виде строк символов в соответствии с некоторым четко определенным синтаксисом и который в полной мере поддерживает следующие элементы: определение данных; определение представлений; обработку данных (интерактивную и программную); условия целостности; идентификация прав доступа; границы транзакций (начало, завершение и отмена). |
6. Правило обновления представлений. Все представления, которые теоретически можно обновить, должны быть доступны для обновления. |
7. Правило добавления, обновления и удаления. Возможность работать с отношением как с одним операндом должна существовать не только при чтении данных, но и при добавлении, обновлении и удалении данных. |
8. Правило независимости физических данных. Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при любых изменениях способов хранения данных или методов доступа к ним. |
9. Правило независимости логических данных. Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при внесении в базовые таблицы любых изменений, которые теоретически позволяют сохранить нетронутыми содержащиеся в этих таблицах данные. |
10. Правило независимости условий целостности. Должна существовать возможность определять условия целостности, специфические для конкретной реляционной базы данных, на подъязыке реляционной базы данных и хранить их в каталоге, а не в прикладной программе. |
11. Правило независимости распространения. Реляционная СУБД не должна зависеть от потребностей конкретного клиента. |
12. Правило единственности. Если в реляционной системе есть низкоуровневой язык (обрабатывающий одну запись за один раз), то должна отсутствовать возможность использования его для того, чтобы обойти правила и условия целостности, выраженные на реляционном языке высокого уровня (обрабатывающем несколько записей за один раз). |
SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных. Как следует из названия, SQL является языком программирования, который применяется для организации взаимодействия пользователя с базой данных. SQL работает только с реляционными базами данных.
Схема работы SQL представлена следующим образом. В вычислительной системе имеется база данных, в которой хранится важная информация. Если пользователю необходимо прочитать данные из базы данных, он запрашивает их у СУБД с помощью SQL. СУБД обрабатывает запрос, находит требуемые данные и посылает их пользователю. Процесс запрашивания данных и получения результата называется запросом к базе данных: отсюда и название — структурированный язык запросов.
Однако
это название не совсем соответствует
действительности. Во-первых, сегодня
SQL представляет собой гораздо большее,
чем простой инструмент создания
запросов, хотя именно для этого
он и был первоначально
Во-вторых, SQL — это не полноценный компьютерный язык типа COBOL, FORTRAN или С. SQL является подъязыком баз данных, в который входит около тридцати операторов, предназначенных для управления базами данных. Операторы SQL встраиваются в базовый язык и дают возможность получать доступ к базам данных.
В-третьих, SQL — это слабо структурированный язык, особенно по сравнению с такими сильно структурированными языками, как С или Pascal. Операторы SQL напоминают английские предложения и содержат "слова-пустышки", не влияющие на смысл оператора, но облегчающие его чтение. В SQL почти нет нелогичностей, к тому же имеется ряд специальных правил, предотвращающих создание операторов SQL, которые выглядят как абсолютно правильные, но не имеют смысла.
Несмотря на не совсем точное название, SQL на сегодняшний день является единственным стандартным языком для работы с реляционными базами данных. Сам по себе SQL не является ни системой управления базами данных, ни отдельным программным продуктом. SQL — это неотъемлемая часть СУБД, инструмент, с помощью которого осуществляется связь пользователя с ней. Помимо этого, SQL выполняет много различных функций:
Таким образом, SQL превратился в полезный и мощный инструмент, обеспечивающий доступ к информации, содержащейся в реляционных базах данных.
К категории точных числовых типов в SQL относятся те типы, значения которых точно представляют числа. Типы данных этой категории распадаются на две части: истинно целые типы (INTEGER и SMALLINT) и типы, допускающие наличие дробной части (NUMERIC и DECIMAL).
Истинно целые типы
Информация о работе SQL – стандартный язык реляционных баз данных