Смекни!
smekni.com

Методические указания к домашнему заданию по курсу базы данных систем управления для студентов дневной и заочной форм обучения специальностей (стр. 6 из 12)

alter table ASSIGNMENT

drop constraint FK_BUILDING_ASS1GNMENT /

create table tmp_BUILDING (

BLDGJDNUMBER not nu11.

BLDG_ADORESS VARCHAR2(100) null

BLDGJYPE CHAR(20) not null,

QLTYJ.EVEL NUMBER(l) null

STATUS NUMBER(l) not nu11 ) /

insert into tmp_BUILDING (BLDG_ID. BLDG_ADDRESS. BLDGJYPE. QLTYJLVEL. STATUS)

select BLDG_ID. BLDG_ADDRESS. BLDGJYPE. QLTYJ-EVEL. STATUS from BUILDING /

drop table BUILDING cascade constraints /

create table BUILDING (

BLDGJDNUMBER not nu11,

BLDG_ADDRESS VARCHAR2(100) nu11

BLDGJYPE CHAR(20) default 'Офис' not null

constraint CKC_BLDG_TYPE_BUILDING

check (BLDGJYPE in ('Офис'. 'Склад'. 'Магазин'. 'Жилой дом')).

STATUS NUMBER(l) default 1 not nu11

constraint CKC STATUS_BUILDING check (STATUS between 1 and 3).

constraint PK_BUILDING primary key (BLDG ID) ) /

comment on table BUILDING is 'Список строящихся зданий'

/

comment on column BUILDING.BLDGJD is 'BLDG-ID'

/

comment on column BUILDING.BLDG_ADDRESS is 'BLDG-ADDRESS'

/

comment on column BUILD ING. BLDGJYPE is 'BLOC-TYPE'

/

comment on column BUILDING.STATUS is 'STATUS'

/

insert into BUILDING (BLDGJD. BLDG_ADDRESS. BLDG TYPE. STATUS)

select BLDGJD. BLDG_ADDRESS. BLDG TYPE. STATUS

from tmp_BUILDING

/

drop table tmp_BUILDING cascade constraints

/

alter table ASSIGNMENT

add constraint FK_BUILDING_ASSIGNMENT foreign key (BLDGJD)

references BUILDING (BLDGJD) on delete cascade /

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

4. ПОСТРОЕНИЕ ФОРМ ПОЛЬЗОВАТЕЛЯ

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

Формы и объектно-ориентированное программирование

Access не создавался как полностью объектно-ориентированное программное средство, но, несмотря на это, он обладает многими свойствами, присущими системам разработки объектно-ориентированных приложений.

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

Внутри БД Access вы можете задавать взаимосвязь данных и объектов. Например, вы можете создать макрос, который подготавливает приложение к выполнению. Этот макрос (называемый Autoexec) обычно открывает форму, с которой начинается работа в приложении. Эта форма может воздействовать на некоторые данные или содержать элементы управления, открывающие другие формы, печатающие отчеты или закрывающие приложение.

В дополнение к тому, что формы используют базовые таблицы и запросы, они могут содержать другие формы. Подчиненные формы в свою очередь определяют действия над другими таблицами, запросами или формами и могут запускать другие макрокоманды или процедуры Visual Basic для приложений. Наиболее очевидный способ запуска – нажатие командной кнопки. Но вы можете также определить макросы или процедуры VBA, которые будут выполняться при определенных событиях, например щелчке по полю, изменении значения поля, нажатии клавиши, добавлении или удалении строки или просто при перемещении к новой строке базовой таблицы или запроса.

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

Создание простой формы для ввода данных

Чтобы начать создание формы, откройте БД и выберите в окне БД таблицу или запрос, которые вы хотите использовать для создания формы. Выполните команду Вставка->Форма или выберите Новая форма в раскрывающемся списке Новый объект на панели инструментов. Access откроет окно диалога Новая форма. В поле со списком, расположенном в нижней части окна диалога, Access выводит имя таблицы или запроса, выбранного в окне БД. Если вы хотите выбрать другую таблицу или запрос, раскройте список этого поля, содержащий перечень всех таблиц и запросов в текущей БД.

Выберите Конструктор в окне диалога и нажмите кнопку ОК. Access окно формы в режиме конструктора и выведет на экран несколько инструментов конструктора форм. В новой форме будет только область данных с серой сеткой. Вы можете установить указатель мыши на краю этой области и перетащить его, уменьшая или увеличивая его. Вы можете удалить сетку с точками, выполнив команду Вид->Сетка. Если вы хотите добавить в форму заголовки и примечания, выберите команду Формат->Заголовок/примечание формы.

Панель элементов

Панель элементов – это своеобразный «командный центр» создания формы. Вы можете переместить панель элементов, перетащив заголовок ее окна в нужное место на экране, или изменить ее форму, перетащив края или углы панели. Чтобы закрыть панель элементов нужно выбрать команду Вид->Панель элементов или нажать кнопку Панель элементов на панели инструментов.

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

Ниже перечислены кнопки панели элементов слева направо и сверху вниз.

· Кнопка Выбор объектов. По умолчанию эта кнопка нажата. Она используется для выделения, изменения размера, перемещения и редактирования элементов управления.

· Кнопка Мастера элементов. Нажмите эту кнопку, чтобы активизировать мастера по созданию элементов управления. Если кнопка выглядит «нажатой», то мастер поможет вам ввести свойства элемента управления при создании группы, поля со списком, списка или командной кнопки.

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

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

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

· Кнопка Выключатель используется для создания элемента управления Выключатель. Если вы щелкните по выключателю, он будет изображен нажатым, а его значение будет равняться –1(Вкл., Истина, Да). Щелкните по выключателю еще раз и его значение станет равным 0 (Выкл., Ложь, Нет). Вы можете включить выключатель в группу элементов управления и назначить ему уникальное числовое значение. Если вы щелкните по выключателю, переводя его в состояние Вкл., то любой ранее нажатый элемент группы (выключатель, переключатель или флажок) будет переключен в состояние Выкл. Если выключатель связан с полем базового запроса или таблицы, то, щелкнув по нему, вы измените значение поля на противоположное.

· Кнопка Переключатель используется для создания элемента управления Переключатель, иногда называемого радиокнопкой и принимающего значения Вкл./Выкл., Истина/Ложь, Да/нет. Если вы щелкните по переключателю, то в его центре появится темный кружок, его значение станет равным –1. Щелкните еще раз, значение переключателя станет равным 0. Вы можете включить переключатель в группу элементов управления и назначить ему уникальное числовое значение. Если вы щелкните по переключателю, переводя его в состояние Вкл., то любой ранее нажатый элемент группы (выключатель, переключатель или флажок) будет переключен в состояние Выкл. Если переключатель связан с полем базового запроса или таблицы, то, щелкнув по нему, вы измените значение поля на противоположное.