Курсовик - Методы построения баз данных для информационных систем (1088286), страница 3
Текст из файла (страница 3)
В некоторых случаях вместо вызовов функций используется объектно-ориентированный синтаксис. В приведенном ниже коде Access объектный указатель db устанавливается на открытую в данный момент базу данных, а объектный указатель rs ссылается на строки таблицы PATIENT;
С помощью последнего указателя можно обращаться к свойствам открытого набора записей и запускать его методы. Например, с помощью свойства rs.AllowDeletions можно определить, могут ли быть удалены записи из набора записей PATIENT. Метод MoveFirst перемещает курсор на первую строку.
Второй, более старый тип интерфейса используется иногда в СУБД, предназначенных для больших ЭВМ и серверов. Здесь производителем СУБД определен набор высокоуровневых команд доступа к данным. Эти команды, которые относятся к обработке базы данных и не являются частью какого-либо стандартного языка, встраиваются в код прикладной программы.
Прикладная программа со встроенными командами передается на предварительный компилятор, входящий в комплект СУБД. Он транслирует операторы доступа к данным в корректные вызовы функций и определяет области данных, которые будут совместно использоваться прикладными программами и СУБД. Предварительный компилятор также вставляет в программу код, поддерживающий доступ к этим областям данных. Обработанная таким образом программа передается на языковой компилятор. На рис. 7 показано взаимодействие программ в этом процессе.
Рис.7. Обработка программы со встроенными операторами SQL.
Помимо использования в обработке запросов, SQL применяется в качестве языка доступа к данным в прикладных программах. В этом режиме операторы SQL встраиваются в программы и транслируются в вызовы функций предварительным компилятором. Тем самым уменьшается количество времени и денег, требуемое на обучение персонала, поскольку один и тот же язык может использоваться как для запросов, так и для доступа к данным в прикладных программах. Необходимо, однако, преодолеть одно неудобство. Язык SQL ориентирован на преобразования: он принимает на входе одно или несколько отношений, манипулирует ими и выдает на выходе результирующее отношение. Таким образом, за один прием обрабатывается одно отношение. Почти все прикладные программы ориентированы на работу со строками (записями), то есть они считывают одну строку, обрабатывают ее, считывают следующую строку и т. д. Программы, следовательно, обрабатывают по одной строке за прием. В результате имеется несоответствие н базовой ориентации SQL и языков, на которых пишутся прикладные программы. Чтобы компенсировать это несоответствие, прикладные программы предполагают, что результаты выполнения SQL-операторов являются файлами. Чтобы проиллюстрировать это, предположим, что в прикладную программу встроен приведенный ниже SQL-оператор (тот, который мы уже рассматривали ранее):
Результатом этих операторов является таблица с двумя столбцами и N строками. Для обработки результатов этого запроса пишется прикладная программа, которая предполагает, что на выходе эти операторы выдают файл с N записями. Приложение открывает этот запрос, обрабатывает первую строку, следующую строку и так далее, пока не будет обработана последняя строка. Логика здесь та же, что и при обработке файла с последовательным доступом. Необходимо отметить, что есть некоторое несоответствие между базовой ориентацией SQL (отношения) и языком программирования (строка, или запись) и это несоответствие необходимо корректировать, когда прикладные программы обращаются к реляционной базе данных посредством SQL.
Заключение
При построении реляционной базы данных требуется решить несколько задач. Во-первых, необходимо описать структуру базы данных для СУБД. Затем нужно выделить файловое пространство и заполнить базу данных информацией.
В реляционной модели данные представляются и обрабатываются в форме таблиц, называемых отношениями. Столбцы таблиц называются атрибутами, а строки — кортежами. Термины таблица, столбец и строка, а также термины файл, поле и запись являются синонимами терминов отношение, атрибут и кортеж соответственно.
Использование термина ключ может привести к неоднозначности, так как на стадии проектирования и реализации он употребляется в различных значениях. На стадии проектирования этим термином обозначается логический ключ, то есть один или несколько атрибутов, однозначно интерпретирующих строку. На стадии реализации этим термином обозначается физический ключ, то есть структура данных, используемая для повышения производительности. Логический ключ может быть, а может и не быть физическим ключом; физический ключ также может, но не обязан быть логическим ключом. В этом реферате под словом ключ мы подразумеваем логический ключ, а под словом индекс — физический ключ.
Поскольку для описания структуры базы данных мы используем реляционную модель, нам нет необходимости осуществлять какие-либо преобразования на стадии реализации. Мы просто описываем имеющуюся структуру для СУБД. Есть два способа сделать это: представить описание в виде текстового DDL-файла или воспользоваться графическими средствами описания данных. В обоих случаях для СУБД описываются таблицы, столбцы, индексы, ограничения, пароли и другие элементы управления.
Помимо описания структуры базы данных, разработчики должны выделить для базы данных пространство на физическом носителе. В многопользовательских системах это может быть важно для эффективной работы СУБД. Наконец, база данных заполняется информацией, для чего используются средства, предоставляемые производителем СУБД, или программы, разработанные производителем, или и то и другое.
Есть четыре категории языков манипулирования данными: реляционная алгебра, реляционное исчисление, языки, ориентированные на преобразования, и запросы по образцу. Реляционная алгебра состоит из набора реляционных операторов, с помощью которых можно манипулировать отношениями для получения желаемого результата. Реляционная алгебра является процедурной. Языки, ориентированные на преобразования, предоставляют непроцедурные способы для преобразования набора отношений в желаемый результат. Наиболее распространенный пример — это язык SQL.
Существует три способа доступа к реляционной базе данных. Один из них состоит в том, чтобы использовать средства для генерации форм и отчетов, предоставляемые СУБД. Второй способ — использовать язык запросов и преобразований; наиболее популярным языком такого рода является SQL. Третий способ предполагает доступ через прикладные программы.
Прикладные программы могут взаимодействовать с СУБД через вызовы функций, а также с помощью методов объектов или специальных команд базы данных, транслируемых предварительным компилятором. Реляционная модель ориентирована на обработку одного отношения за один прием, но большинство языков программирования обрабатывают за один прием только одну строку. Необходимо предусмотреть какие-то способы компенсации этого несоответствия.
Назначение реляционной алгебры состоит в том, чтобы манипулировать отношениями для получения желаемого результата. Она включает в себя следующие операторы: объединение, разность, пересечение, произведение, проекция, выборка, внутреннее соединение и внешнее соединение.
Список литературы
1. Теория и практика построения баз данных. 8-е изд. / Д.Крёнке. — СПб.: Питнр, 2003. — 800 с.: ил.
2. Т.Коннолли, К.Бегг - Базы данных. Проектирование, реализация и сопровождение. Теория и практика. (3-е издание) — Вильямс, 2003. — 1440 с.: ил.
3. Кузнецов С.Д. Основы баз данных. — М.: Бином, 2007.
4. Базы данных. Учебник для вузов - 6 изд. — Крона-принт, 2007.
5. Роб П., Коронел К. Системы баз данных: проектирование, реализация и управление. 5-е изд., — BHV-СПб, 2005.