Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Уровня представления БД




С логической точки зрения выделяют 3 разных уровня СУБД. Самый верхний - внешний, затем концептуальный и внутренний.

1). Внешний уровень имеет дело непосредственно с представлением пользователя о структуре БД, причем такое представление для разных пользователей может быть различным. В частности, пользователи, программирующие на каком-либо языке программирования, например, Delphi, имеют дело с интересующей их структурой файлов или таблиц, ничего не зная о дополнительных структурных элементах этих объектов, которые, возможно, нужны для других пользователей.

2). Концептуальный уровень - на нем описывается логическая структура всей БД в целом. Именно с концептуального уровня описания осуществляется проекция на внешний уровень.

3). Внутренний уровень - это уровень логического описания способа хранения БД на физических носителях, а также способов доступа к этой БД.

Внутренний уровень на самом деле может быть машинно-независимым, хотя и имеет дело с физическим представлением. В частности, на этом уровне периферийная память может пониматься просто как однородный массив элементов (байтов), без выделения конкретной физической структуры носителя (например, для диска - цилиндры, дорожки и т. д.).

На этом уровне описываются всевозможные индексные файлы, ускоряющие доступ к элементам БД. Именно на этом уровне описывается привязка концептуального уровня к конкретным физическим носителям.

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

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

 

Вопрос 3 Целостность базы данных. Способы ее обеспечения в Delphi

Под целостностью БД понимают, прежде всего, непротиворечивость хранящихся в ней данных. Она обеспечивается в частности тем, что каждый элемент данных хранится только в одном месте и его физическое изменение означает логическое изменение всех тех контекстов БД, где это значение логически присутствует. Говоря о целостности БД иногда различают 2 основных вида целостности БД.

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

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

Для создания уникального первичного ключа можно использовать автоинкрементный тип.

С помощью утилиты Database Desktop можно не только задать первичный ключ, но и такие ограничения на значения поля, как

· Обязательное заполнение поля (переключатель Required Field);

· Минимальное значение поля (Minimum value);

· Максимальное значение поля(Maximum value);

· Значение поля по умолчанию(Default value);

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

Проверить введенное в поле значение на его соответствие некоторым ограничениям или условиям можно в обработчиках событий OnValidate, OnSetText и OnChange компонента TField.

Событие OnValidate наступает при изменении значения поля до выполнения метода Post. Поэтому, если полю присвоено неверное значение, выполнение метода Post можно предотвратить, выполнив метод Abort или возбудив исключительную ситуацию (raiseException.Create). Для новых записей это событие тоже возникает. Запись с неверным полем не будет физически записана в БД. НД останется в том состоянии, в котором он находился (dsEdit или dsInsert).

Событие OnSetText возникает при изменении значения поля, но на момент события новое значение полю не присвоено. Присваивать новое значение нужно программно в обработчике события. В обработчик передается константа-параметр Text, содержащяя в текстовом виде новое значение поля, в то время как действительное значение поля остается без изменений.

Событие OnChange может быть использовано для тех же целей, что и OnValidate:

При изменении значения поля события возникают в следующей последовательности:

1. OnSetText. 2. OnValidate. 3. OnChange.

Ссылочную целостность между таблицами можно определить в утилите Database Desktop (в списке Table Properties выбрать пункт Referential Integrity). При этом можно определить вид каскадных воздействий на дочернюю таблицу при изменении значения поля связи в родительской таблице или удалении записи из нее (переключатели Update Rules):

1. Cascade – каскадные изменения и удаления подчиненных записей в дочерней таблице;

2. Prohibit – запрет на изменение поля связи или удаление записи из родительской таблицы, если для этой записи есть связанные записи в дочерней таблице.

 

Вопрос 4 Проектирование баз данных. (Нормализация отношений. Определения 1НФ, 2НФ, 3НФ)

 

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

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

При этом структура должна быть эффективной и обеспечивать:

1). Быстрый доступ к данным.

2). Отсутствие дублирования (повторения) данных.

3). Целостность данных.

При проектировании структуры данных можно выделить два основных подхода:

1). Сбор информации об объектах решаемой задачи в рамках одной таблицы (одного отношения) и последующая декомпозиция её на несколько взаимосвязанных таблиц на основе нормализации отношений.

2). Формулирование знаний о системе (определение типов исходных данных и их взаимосвязей) и требований к обработке данных, а затем получение с помощью средств CASE схемы БД или прикладной информационной системы.




Поделиться с друзьями:


Дата добавления: 2015-06-26; Просмотров: 343; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.