Архитектура базы данных. Физическая и логическая независимость

Терминология в СУБД, да и сами термины «база данных» и «банк данных» частично заимствованы из финансовой деятельности. Это заимствование — не случайно и объясняется тем, что работа с информацией и работа с денежными массами во многом схожи, поскольку и там и там отсутствует персонификация объекта обработки: две банкноты достоинством в сто рублей столь же неотличимы и взаимозаменяемы, как два одинаковых байта (естественно, за исключением серийных номеров). Вы можете положить деньги на некоторый счет и предоставить возможность вашим родственникам или коллегам использовать их для иных целей. Вы можете поручить банку оплачивать ваши расходы с вашего счета или получить их наличными в другом банке, и это будут уже другие денежные купюры, но их ценность будет эквивалентна той, которую вы имели, когда клали их на ваш счет.

В процессе научных исследований, посвященных тому, как именно должна быть устроена СУБД, предлагались различные способы реализации. Самым жизнеспособным из них оказалась предложенная американским комитетом по стандартизации ANSI (American National Standards Institute) трехуровневая система организации БД, изображенная на рис. 2.1:

Рис. 2.1. Трехуровневая модель системы управления базой данных, предложенная ANSI

1. Уровень внешних моделей- самый верхний уровень, где каждая модель имеет свое «видение» данных. Этот уровень определяет точку зрения на БД отдельных приложений. Каждое приложение видит и обрабатывает только те данные, которые необходимы именно этому приложению. Например, система распределения работ использует сведения о квалификации сотрудника, но ее не интересуют сведения об окладе, домашнем адресе и телефоне сотрудника, и наоборот, именно эти сведения используются в подсистеме отдела кадров.

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

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

Эта архитектура позволяет обеспечить логическую (между уровнями 1 и 2) и физическую (между уровнями 2 и 3) независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же базой данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных. Это именно то, чего не хватало при использовании файловых систем.

Выделение концептуального уровня позволило разработать аппарат централизованного управления базой данных.

Классификация баз данных.

1. По форме представления информации

· видеосистемные,

· аудиосистемные

· мультимедиасистемные

2. По типу использования людьми

· файловые

· иерархические

· Сетевые

· реляционные(табличные)

· смешанные

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

Если один тип объекта является главным, все нижележащие – подчиненными - иерархической.

Если любой тип данных одновременно может быть главным и подчиненным - сетевой.

Файловая БДструктурированная совокупность файлов.

 

3. По типу хранимой информации

· Документальное (архивы)

· лексикографическое

· Фактографическое (картотеки)

Лексикографические базы — это классификаторы, кодификаторы, словари основ слов, тезаурусы, рубрикаторы и т. д., которые обычно используются в качестве справочных совместно с документальными или фактографическими БД.

4. По характеру организации хранения данных и обращения к ним:

· централизованные(интегрированные)

· распределительные

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

Распределённая БД: информация распределена на нескольких серверах. Поэтому необходимо использовать сетевые программные средства.

5. По степени универсальности:

· общего назначения - не ориентированная на конкретную предметную область

· специализированного назначения - конструкторы

6. По уровню использования:

· персональные (Access, Visual Fox Pro ,Clipper) или локальные

· многопользовательские (сервер БД и клиентская часть. Могут работать в неоднородной вычислительной среде с разными типами ЭВМ и опер системами. К ним относ-ся: Oracle,Informix).

23.Access предлагает несколько способов создания форм. Самым простым из них является использование средств автоматического создания форм на основе таблицы или запроса. Автоматически создаваемые формы (автоформы) бывают нескольких видов, каждый из которых отличается способом отображения данных.
Автоформа, организованная "в столбец" (Columnar). В такой форме поля каждой записи отображаются в виде набора элементов управления, расположенных в один или несколько столбцов. Это компактное и, пожалуй, самое удачное представление для быстрого создания формы.
Табличная (Datasheet). Форма будет выглядеть так же, как обычная таблица Access.
Ленточная (Tabular). В такой форме поля каждой записи располагаются в отдельной строке. Это очень удобно для работы с большими массивами данных, поскольку данные располагаются в таком же порядке, как в простой таблице. Преимуществом именно этого представления формы по сравнению с табличным является то, что каждое поле представлено в виде отдельного элемента управления, которое можно оформить в любом стиле по вашему вкусу и для которого можно определить функции обработки событий, т. е. "оживить" поле с помощью программирования.
Автоформа в виде сводной таблицы (PivotTable) или сводной диаграммы (PivotChart) — два новых варианта, появившихся в Access.
Автоматически созданная форма включает все поля выбранного источника данных. Чтобы создать форму с помощью средства автоматического создания форм:
Щелкните по ярлыку Формы (Forms) в окне База данных (Database) и нажмите кнопку Создать (New). Появится диалоговое окно Новая форма (New Form),
В списке диалогового окна Новая форма выделите один из вариантов автоформы, например: Автоформа: в столбец (AutoForm: Columnar).
В поле со списком, находящимся в нижней части диалогового окна Новая форма, содержатся имена всех таблиц и запросов базы данных, которые могут быть использованы в качестве источника данных для формы. Щелкните левой кнопкой мыши по кнопке со стрелкой, чтобы раскрыть список, и выберите в нем нужный элемент.
Нажмите кнопку ОК.
В результате будет автоматически создана и открыта форма выбранного вида. Чтобы созданную форму можно было использовать в дальнейшем, ее необходимо сохранить. Для сохранения формы выберите команду Файл, Сохранить (File, Save) или нажмите на кнопку Сохранить (Save) на панели инструментов Режим формы (Form View). В поле Имя формы (Form Name) появившегося диалогового окна Сохранение (Save As) введите нужное название и нажмите кнопку ОК.

Для любой формы можно изменить ее представление, определяющее режим отображения данных. В окне свойств формы можно выбрать один из пяти вариантов: Одиночная форма (Single Form), Ленточные формы (Continuous Form), Режим таблицы (Datasheet), Сводная таблица (PivotTable) и Сводная диаграмма (PivotChart). Чтобы изменить режим отображения данных, откройте форму в режиме Конструктора, затем откройте окно свойств формы и выберите соответствующий элемент в раскрывающемся списке Режим по умолчанию (Default View).

 

24. Создание многотабличных форм

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

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

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

· - явное включение подчиненной формы;

· - вызов связанной формы по кнопке;

· - многотабличная форма без подчиненных или связанных форм.

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

· Второй вариант построения формы - это многотабличная форма, в которой вместо подчиненной формы включается только кнопка. Нажатием этой кнопки вызывается на экран связанная форма. При этом содержимое связанной формы синхронизировано с текущей записью формы. Такой способ удобен для сложных перегруженных форм.

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

·

· Порядок выполнения работы:

·

· 1. Откройте базу данных и проверьте схему связей таблиц, созданных в лабораторной работе №2.

·

· 2. Создайте сложную форму в режиме мастера форм. Для этого

· • в окне базы данных выберите вкладку Формы/Создать.

· • В диалоговом окне Новая форма выберите пункт Мастер форм.

· • В нижней части диалогового окна выберите в качестве источника данных главную таблицу.

· • В первом диалоговом окне мастера выберите поля, которые будут отображаться в главной форме. Не закрывая окно, щелкните на списке Таблицы/Запрос и выберите таблицу, содержащие данные для подчиненной формы.

· • Выберите поля, которые будут отображаться в подчиненной форме и щелкните по кнопке Далее.

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

· • В очередном окне выберите способ вывода подчиненной формы Ленточный или Табличный.

· • Далее выберите нужный стиль формы, а затем в последнем окне введите имена главной и подчиненной формы.

· • Просмотрите полученные результаты.

· • Аналогично создайте второй вариант многотабличной формы, включающий кнопку для вызова связанной форме. В этом случае нужно выбрать вариант Связанные формы.

· • Выберите в качестве таблицы - источника подчиненную таблицу, создайте форму с помощью мастера. В этом случае многотабличная форма будет лишь включать поля из главной таблицы. Автоматически будет установлен тип формы Одиночная форма. Откройте форму и проанализируйте результаты.

·

· 3. Создайте сложную форму в режиме Конструктора, используя в качестве источника данных запрос на объединение таблиц, созданный в лабораторной работе №4. Сохраните форму и просмотрите полученные результаты.

·

· 4. Включите одну или более подчиненных форм в одну форму в режиме Конструктора. Для этого

· • Создайте формы для главной и подчиненных таблицы, используя навыки создания простых форм, полученные в лабораторной работе №5.

· • Затем откройте главную форму в режиме Конструктора и перетащите подчиненные формы из Окна базы данных в главную форму.

· • Просмотрите полученные результаты.

· • Убедитесь в правильности установки связей. Для этого щелкните в Конструкторе на подчиненной форме, а затем на кнопке Вид панели инструментов. При этом свойство Подчиненные поля должны содержать имя поля в подчиненной форме для связи записей главной формы с записями подчиненной. Свойство Основные поля должно содержать имя поля в главной форме, с которым устанавливается связь.

· • Сохраните форму и просмотрите полученные результаты.

· • Используя возможности контекстного меню, в режиме Конструктора, внесите изменения в форму и сохраните ее.

·

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

· • В первом диалоговом окне мастера в области Категории выберите пункт Работа с формой, а в области Действия - Открытие формы.

· • Далее выберите связанную форму, которую будете открывать с помощью кнопки.

· • В следующем окне диалога включите переключатель Открыть форму для отобранных записей.

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

· • В последнем диалоговом окне мастера выберите рисунок для кнопки или текст надписи и щелкните на кнопке Готово.

· • Откройте форму и просмотрите результаты.

·

· 6. Отредактируйте подчиненную форму в режиме Конструктора:

· • Еще раз откройте в режиме конструктора многотабличную форму, созданную в п.5.

· • Дважды щелкните мышью в области подчиненной формы.

· • В свойствах Формы откройте вкладку Макет и в свойстве Полосы прокрутки задайте значение Отсутствуют, а в строке Поле номера записи установите значение Нет.

· • Добавьте в форму еще одну кнопку, закрывающую форму.

· • Откройте форму и ознакомьтесь с результатами.

· •

· 7. Осуществите расчет итоговых значений в подчиненной форме. Для этого

· • Создайте подчиненную форму в режиме конструктора.

· • В разделе примечаний добавьте элемент управления Поле.

· • В свойстве Данные этого элемента введите выражение для расчета итогового значения произвольно выбранного поля (например, =sum([Размер_стипендии])).

· • На вкладке Другие диалогового окна свойств элемента управления введите имя для данного элемента управления, например, Сумма.

· • Установите в свойстве Вывод на экран значение Нет.

· • Сохраните подчиненную форму.

· • Создайте вновь или откройте главную форму в режиме конструктора.

· • Добавьте в форму элемент управления Поле, в котором будет отображаться результат итогового расчета.

· • В свойстве Данные этого элемента управления введите выражение, которое обеспечит связь со скрытым элементом управления подчиненной формы в виде:

· =[имя _подчиненной _формы ].Form![Имя_элемента_управления]

· • В свойстве Формат поля задайте нужный формат. В свойстве Вывод на экран установите значение Да.

· • Сохраните главную форму и запустите ее.

· 8. Закончите сеанс работы с базой данных.

· Думаю что не обязательно, то что выделено красным.

·