SQL – стандартный язык реляционных баз данных

Автор работы: Пользователь скрыл имя, 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

Работа состоит из  1 файл

СОДЕРЖАНИЕ.docx

— 155.34 Кб (Скачать документ)

   Эти модели характеризуются простотой  структуры  данных,  удобным  для  пользователя   табличным   представлением   и   возможностью   использования формального  аппарата  алгебры  отношений  и  реляционного  исчисления   для обработки  данных.

   Реляционная  модель  ориентирована  на  организацию  данных   в   виде двумерных  таблиц. Каждая реляционная таблица  представляет  собой  двумерный  массив и обладает следующими свойствами:

  • каждый элемент таблицы - один элемент данных;
  • повторяющиеся  группы отсутствуют;
  • все столбцы в таблице однородные, т.е. все элементы в столбце имеют
  • одинаковый тип (числовой, символьный и т.д.) и длину;
  • каждый столбец имеет уникальное имя;
  • одинаковые строки в таблице отсутствуют;
  • порядок  следования  строк  и  столбцов  может  быть  произвольным.

   Таблица такого рода называется отношением.

   База  данных, построенная с помощью  отношений,  называется  реляционной  базой данных.

    1. Реляционные базы данных.

   Недостатки  иерархической и сетевой моделей  привели к появлению новой, реляционной модели данных, созданной Коддом в 1970 году и вызвавшей всеобщий интерес. Реляционная модель была попыткой упростить структуру базы данных. В ней отсутствовали явные указатели на предков и потомков, а все данные были представлены в виде простых таблиц, разбитых на строки и столбцы.

   К сожалению, практическое определение  понятия "реляционная база данных" оказалось гораздо более расплывчатым, чем точное математическое определение, данное этому термину Коддом в 1970 году. В первых реляционных СУБД не были реализованы некоторые из ключевых частей модели Кодда, и этот пробел был восполнен только впоследствии. По мере роста популярности реляционной  концепции реляционными стали называться многие базы данных, которые на деле таковыми не являлись.

   В ответ на неправильное использование  термина "реляционный" Кодд в 1985 году написал статью, где сформулировал 12 правил, которым должна удовлетворять  любая база данных, претендующая на звание реляционной. С тех пор  двенадцать правил Кодда считаются  определением реляционной СУБД. Однако существует и более простое определение:

   Реляционной называется база данных, в которой все данные, доступные пользователю, организованны в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами.

   Таблицы

   В реляционной базе данных информация организована в виде таблиц, разделённых на строки и столбцы, на пересечении которых содержатся значения данных. У каждой таблицы имеется уникальное имя, описывающее её содержимое. Все значения, содержащиеся в одном и том же столбце, являются данными одного типа. Множество значений, которые могут содержаться в столбце, называется доменом этого столбца.

   У каждого столбца в таблице  есть своё имя, которое обычно служит заголовком столбца. Все столбцы в одной таблице должны иметь уникальные имена, однако разрешается присваивать одинаковые имена столбцам, расположенным в различных таблицах.

   Столбцы таблицы упорядочены слева направо, и их порядок определяется при  создании таблицы. В любой таблице  всегда есть как минимум один столбец. В стандарте ANSI/ISO не указывается  максимально допустимое число столбцов в таблице, однако почти во всех коммерческих СУБД этот предел существует и обычно составляет примерно 255 столбцов.

   В отличие от столбцов, строки таблицы  не имеют определённого порядка. В таблице может содержаться  любое количество строк. Вполне допустимо  существование таблицы с нулевым  количеством строк. Такая таблица  называется пустой. Пустая таблица сохраняет структуру, определённую её столбцами, просто в ней не содержится данные. Стандарт ANSI/ISO не накладывает ограничений на количество строк в таблице, и во многих СУБД размер таблиц ограничен лишь свободным дисковым пространством компьютера. В других СУБД  имеется максимальный предел, однако он весьма высок - около двух миллиардов строк, а иногда и больше.

   Первичные ключи

   В правильно построенной реляционной  базе данных в каждой таблице есть один или несколько столбцов, значения в которых во всех строках разные. Этот столбец (столбцы) называется первичным ключом таблицы. Первичный ключ представляющий собой комбинацию столбцов называется составным.

   Первичный ключ для каждой строки таблицы является уникальным, поэтому в таблице  с первичным ключом нет двух совершенно одинаковых строк. Таблица, в которой  все строки отличаются друг от друга, в математических терминах называется отношением. Именно этому термину реляционные базы данных и обязаны своим названием, поскольку в их основе лежат отношения (таблицы с отличающимися друг от друга строками).

   Отношения предок/потомок

   Одним из отличий реляционной модели от первых моделей представления данных было то, что в ней отсутствовали  явные указатели, используемые для  реализации отношений предок/потомок  в иерархической модели данных. Однако вполне очевидно, что отношения предок/потомок  существуют и в реляционных базах  данных. Причем отсутствие явных указателей в реляционной модели не приводит к потере информации.

   Внешние ключи

   Столбец одной таблицы, значения в котором  совпадают со значениями столбца, являющегося  первичным ключом другой таблицы, называется внешним ключом. Совокупно первичный и внешний ключи создают между таблицами, в которых они содержатся, такое же отношение предок/потомок, как и в иерархической базе данных.

   Внешний ключ, как и первичный ключ, тоже может представлять собой комбинацию столбцов. На практике внешний ключ всегда будет составным (состоящим  из нескольких столбцов), если он ссылается  на составной первичный ключ в  другой таблице. Очевидно, что количество столбцов и их типы данных в первичном  и внешнем ключах совпадают.

   Если  таблица связана с несколькими  другими таблицами, она может  иметь несколько внешних ключей.

   Двенадцать  правил Кодда

   1. Правило информации. Вся информация в базе данных должна быть предоставлена исключительно на логическом уровне и только одним способом - в виде значений, содержащихся в таблицах.
   2. Правило гарантированного доступа. Логический доступ ко всем и каждому элементу данных (атомарному значению) в реляционной базе данных должен обеспечиваться путём использования комбинации имени таблицы, первичного ключа и имени столбца.
   3. Правило поддержки недействительных значений. В настоящей реляционной базе данных должна быть реализована поддержка недействительных значений, которые отличаются от строки символов нулевой длинны, строки пробельных символов, и от нуля или любого другого числа и используются для представления отсутствующих данных независимо от типа этих данных.
   4. Правило динамического каталога, основанного на реляционной модели. Описание базы данных на логическом уровне должно быть представлено в том же виде, что и основные данные, чтобы пользователи, обладающие соответствующими правами, могли работать с ним с помощью того же реляционного языка, который они применяют для работы с основными данными.
   5. Правило исчерпывающего подъязыка данных. Реляционная система может поддерживать различные языки и режимы взаимодействия с пользователем (например, режим вопросов и ответов). Однако должен существовать по крайней мере один язык, операторы которого можно представить в виде строк символов в соответствии с некоторым четко определенным синтаксисом и который в полной мере поддерживает следующие элементы: определение данных; определение представлений; обработку данных (интерактивную и программную); условия целостности; идентификация прав доступа; границы транзакций (начало, завершение и отмена).
   6.   Правило обновления представлений. Все представления, которые теоретически можно обновить, должны быть доступны для обновления.
   7.   Правило добавления, обновления и удаления. Возможность работать с отношением как с одним операндом должна существовать не только при чтении данных, но и при добавлении, обновлении и удалении данных.
   8.   Правило независимости физических данных. Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при любых изменениях способов хранения данных или методов доступа к ним.
   9.  Правило независимости логических данных. Прикладные программы и утилиты для работы с данными должны на логическом уровне оставаться нетронутыми при внесении в базовые таблицы любых изменений, которые теоретически позволяют сохранить нетронутыми содержащиеся в этих таблицах данные.
   10. Правило независимости условий целостности. Должна существовать возможность определять условия целостности, специфические для конкретной реляционной базы данных, на подъязыке реляционной базы данных и хранить их в каталоге, а не в прикладной программе.
   11. Правило независимости распространения. Реляционная СУБД не должна зависеть от потребностей конкретного клиента.
   12. Правило единственности. Если в реляционной системе есть низкоуровневой язык (обрабатывающий одну запись за один раз), то должна отсутствовать возможность использования его для того, чтобы обойти правила и условия целостности, выраженные на реляционном языке высокого уровня (обрабатывающем несколько записей за один раз).    

 

  1. ЯЗЫК SQL КАК СТАНДАРТНЫЙ ЯЗЫК РЕЛЯЦИОННЫХ БАЗ ДАННЫХ.
    1. Язык  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 превратился в полезный и мощный инструмент, обеспечивающий доступ к информации, содержащейся в реляционных базах данных.

    1. Типы  данных
      1. Tочные  числовые типы

     К категории точных числовых типов  в SQL относятся те типы, значения которых  точно представляют числа. Типы данных этой категории распадаются на две  части: истинно целые типы (INTEGER и SMALLINT) и типы, допускающие наличие  дробной части (NUMERIC и DECIMAL).

     Истинно целые типы

  • Тип INTEGER. Тип служит для представления целых чисел. Точность чисел (число сохраняемых бит) определяется в реализации.
  • Тип SMALLINT. Тип также служит для представления целых чисел. Точность определяется в реализации, но она не должна быть больше точности типа INTEGER.

Информация о работе SQL – стандартный язык реляционных баз данных