Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кит1-6 - вопр.doc
Скачиваний:
4
Добавлен:
18.09.2019
Размер:
87.04 Кб
Скачать

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

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

Описание логической организации РБД должно определять ее структуру. При описании логической организации данных каждому отношению присваивается уникальное имя и дается описание структуры его записей. Описание структуры записей включает перечень входящих в нее полей и их порядок внутри записи. Для каждого поля задается сокращенное обозначение - имя поля, формат поля - тип хранимого данного, длина поля, точность числовых данных. Кроме того, для каждого отношения должен быть указан первичный ключ (простой или составной), а также определены вторичные ключи.

Языки описания и обработки данных

Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД чаще всего выделялись два языка - язык определения схемы БД (SDL - Schema Definition Language) и язык манипулирования данными (DML - Data Manipulation Language). SDL служил главным образом для определения логической структуры БД. DML содержал набор операторов манипулирования данными. В настоящее время стандартным языком реляционных СУБД является язык SQL (Structured Query Language). В этом языке отсутствуют алгоритмические конструкции, такие как метки, операторы цикла, условные переходы и др.

Нормализация отношений

При проектировании реляционной БД центральная задача — это определение количества отношений и их атрибутного состава. Рациональные варианты группировки должны учитывать следующие требования: -множество отношений должно обеспечивать минимальную избыточность данных; -корректировка отношений не должна приводить к двусмысленности или потере данных; -перестройка набора отношений при добавлении в БД новых полей должна быть минимальной.

Наиболее изученным способом преобразования отношений, позволяющих улучшить характеристики БД по перечисленным критериям, является их нормализация. Это процесс приведения отношений к той или иной нормальной форме. Выделяется три нормальные формы — 1НФ, 2НФ, ЗНФ. Позже стали выделять 4НФ и 5НФ.

Транзакции и целостность баз данных

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

Если быть немного более точным, различаются два вида ограничений целостности: немедленно проверяемые и откладываемые. К немедленно проверяемым ограничениям целостности относятся такие ограничения, проверку которых бессмысленно или даже невозможно откладывать. Откладываемые ограничения целостности - это ограничения на базу данных, а не на какие-либо отдельные операции.

Представление знаний

База знаний — это один или несколько специальным образом организованных файлов, хранящих систематизированную совокупность понятий, правил и фактов, относящихся к некоторой предметной области. Содержимое баз знаний оформляется, связывается между собой и представляется таким образом, чтобы с помощью специальных программ рассуждать и делать выводы, получая сведения. Традиционные БД являются пассивными. Они играют организующую роль, направленную на обеспечение хранения данных. В создании активных БД используется несколько основных конструкций БД; ограничения, утверждения, хранимые процедуры и триггеры. Ограничения — это относительно простые конструкции языка SQL, используемые для встраивания бизнес-правил в БД вместо логики приложения. Утверждение - это самостоятельная конструкция языка SQL, используемая для спецификации ограничения, которое может затрагивать более чем одну таблицу. Хранимая процедура — это модуль прикладной программы с той лишь разницей, что он относится к БД, а не к внешней программной системе, использующей эту БД. Триггер — это процедура БД, запускаемая в случае, если над объектом БД, с которым она ассоциирована, выполняется одна из заданных в спецификации операций.

Компиляторы SQL

Основной функцией компилятора языка БД является компиляция операторов языка БД в некоторую выполняемую программу. Основной проблемой реляционных СУБД является то, что языки этих систем являются непроцедурными, т.е. некоторое действие над БД описывает в некоторой форме условия совершения желаемого действия. Поэтому компилятор должен решить, каким образом выполнять оператор языка прежде, чем произвести программу. Результатом компиляции является выполняемая программа, представляемая в некоторых системах в машинных кодах, но более часто в выполняемом внутреннем машинно-независимом коде. Компилятор языка SQL производит преобразование имен объектов в их внутренние идентификаторы на основании специально поддерживаемых служебных таблиц-каталогов.