69896

Создание псевдонима базы данных

Лабораторная работа

Информатика, кибернетика и программирование

При работе с таблицами локальных БД или СУБД сама база размещается либо в каталоге на диске и хранится в виде отдельного набора файлов, либо на удаленном сервере. Обращение к базе данных происходит по ее псевдониму (Database Alias).

Русский

2014-10-12

1.11 MB

1 чел.

Лабораторная работа №1

Создание псевдонима базы данных

При работе с таблицами локальных БД или СУБД сама база размещается либо в каталоге на диске и хранится в виде отдельного набора файлов, либо на удаленном сервере. Обращение к базе данных происходит по ее псевдониму (Database Alias).

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

Создание и работа с псевдонимами баз данных производится из утилиты BDE Administrator. Для того чтобы создать псевдоним, в главном меню утилиты надо выбрать пункт ObjectNew. В появившемся окне, показанном на рис. 1.1, будет предложено выбрать драйвер для доступа к базе данных.

Рис. 1.1. Окно выбора драйвера

В рассматриваемом случае надо оставить выбранным пункт STANDARD и нажать кнопку ОК. Созданный псевдоним базы данных можно переименовать по своему вкусу. В примере псевдоним получил название TestAias. В правой части окна в качестве значения свойства Path указывается путь к базе данных. Обычно требуется создать каталог, в котором позже будет размещена эта база. В примере используется путь D:\3курс\Базы данных\TestDB (рис. 1.2).

Рис. 1.2. Создание и настройка псевдонима

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

Окно, демонстрирующее сказанное, показано на рис. 1.2.

Создание таблиц базы данных

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

BDE команду меню FileWorking Directory и из списка Aliases выбрать только что созданный псевдоним. Таким образом, при открытии диалога выбора таблиц (для локальных баз данных) будет открываться именно тот каталог, в котором они располагаются.

Для создания таблицы необходимо выбрать пункт меню FileNewTable.

В появившемся окне необходимо выбрать тип таблицы. Для реализации тестового примера нужно выбрать значение Paradox 7. В результате будет активировано диалоговое окно, показанное на рис. 1.3. Каждая строка соответствует определенному полю в создаваемой таблице.

Рис. 1.3. Определение структуры таблицы

В столбце FieldName указываются имена полей создаваемой таблицы. Столбец Туре задает их типы. Для строковых полей в столбце Size указывается их размер. А в столбце Key помечаются символом звездочки те поля, которые будут входить в состав первичного ключа.

Для тестового примера нужно создать таблицу, содержащую информацию о студентах. В ней будут содержаться поля STUDENT, GROUP и DATAPOSTUP. Чтобы выбрать тип поля при его определении, необходимо перейти в поле Туре и нажать клавишу пробела. Точно таким же образом отмечается вхождение поля в ключ.

Описание полей созданной таблицы базы данных приведено в табл. 1.1.

Таблица 1.1. Описание полей таблицы «Студенты».

Field Name

Type

Size

Key

Примечание

STUDENTS

A

30

*

Поле типа Alpha

GROUP

S

Поле типа Short

DATAPOSTUP

D

Поле типа Data

Любому полю таблицы можно задать те или иные ограничения:

  •  Модификатор Required Field указывает, что поле должно быть обязательно заполнено данными.
  •  Ограничение Minimum Value определяет минимальное значение, которое может содержаться в поле.
  •  Maximum Value задает максимальное значение, которое может содержаться в поле.
  •  Параметр Default Value определяет значение, которое поле будет принимать по умолчанию.
  •  Параметр Picture определяет шаблон значений, которые будут храниться в поле.

Первичный ключ будет построен по полю STUDENT.

Рис. 1.4. Таблица «Студенты».

Для полей Student и Group следует установить ограничение Required Field. На рис. 1.4 показан один из этапов формирования таблицы. Далее необходимо выбрать языковый драйвер для того, чтобы русский текст отображался в базе данных без искажений. Для этого в списке Table properties необходимо выбрать пункт Table Language, затем нажать кнопку Modify и выбрать в появившемся списке значение Pdox ANSY Cyrillic. Теперь таблицу можно сохранить под именем Students при помощи кнопки Save/Save As.

Определение индексов и ссылочной целостности

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

Таблица 1.2. Таблица «Оценки»

Field Name

Type

Size

Key

Примечание

AUTO

+

*

Автоинкрементное поле

STUDENT

A

30

Поле типа Alpha

EXAM

A

30

Поле типа Alpha

GRADE

S

Поле типа Short

DATAEXAM

D

Поле типа Data

Для поля Grade, в котором будут храниться оценки, необходимо задать определенные ограничения. Следует выбрать параметр Required Field, для параметра Minimum Value установить значение, равное трем, а для Maximum Value - пяти. Созданную таблицу нужно сохранить под именем GradeTab. В ней также потребуется создать индекс по полям STUDENT, EXAM и GRADE. Для этого в списке Table properties необходимо выбрать значение Secondary Indexes и нажать кнопку Define. В результате будет активировано окно, показанное на рис. 1.5.

Рис. 1.5. Создание индекса.

Вторичный индекс может обладать дополнительными возможностями и ограничениями, которые налагаются на него при помощи флажков в диалоговом окне:

  •  Параметр Unique обязывает все значения, входящие в состав индекса, быть уникальными.
  •  Case sensitive указывает, что индекс будет учитывать регистр символов.
  •  Параметр Maintained указывает, что индекс будет обновляться каждый раз, когда будет производиться модификация набора данных. Если этот флажок не установлен, индекс обновляется только при непосредственной работе с ним.
  •  Параметр Descending задает обратное направление сортировки значений, входящих в индекс. Если флажок не установлен, то сортировка производится в прямом направлении.

Созданный индекс нужно сохранить. Следует нажать кнопку ОК и ввести имя индекса Somelndex. Впоследствии этот индекс можно изменить. Для этого необходимо выбрать его в списке и нажать кнопку Modify. 

Теперь нужно определить ссылочную целостность. Таблицы Students и GradeTab находятся в отношении «один-ко-многим». Один студент может сдать несколько экзаменов на разные оценки. Теперь эту связь надо жестко прописать в проекте. Нужно открыть таблицу GradeTab и выбрать пункт меню Table Restructure. Таблица откроется для внесения изменений. В списке Table properties нужно выбрать элемент Referential Integrity и нажать кнопку Define. В результате будет активировано диалоговое окно, показанное на рис. 1.6.

Рис. 1.6. Определение ссылочной целостности.

В левой части окна показаны поля таблицы GradeTab. Необходимо создать связь по полю STUDENT. Соответственно, его необходимо выбрать из дочерней таблицы двойным щелчком мыши. Поле будет помещено в список Child fields. Далее необходимо выбрать таблицу Students, находящуюся в списке Table, который находится в правой части окна. Подходящие поля будут загружены в таблицу Parent's key и будет автоматически установлена связь. 

Для созданной ссылочной целостности можно определить дополнительные параметры:

Группа Update rule позволяет задавать правила модификации записей:

  •  переключатель Cascade указывает, что обновления данных производятся каскадно;
  •  переключатель Prohibit запрещает изменение значений, входящих в первичный ключ, пока есть связанные записи.

Флажок Strict Referential Integrity в активизированном состоянии запрещает работать с таблицей Paradox из пакета Paradox for DOS. Осталось лишь присвоить отношению имя TestRef и сохранить его, нажав на кнопку ОК.

Разработка простого приложения БД

Теперь, когда база данных создана, можно перейти к созданию первого приложения для работы с ней. Прежде всего в Delphi необходимо создать новый проект. Затем в него нужно добавить модуль данных командой главного меню FileNewData Module. Модуль нужно сохранить под именем DataModule. В нем нужно расположить два компонента ТТаblе, которые находятся на вкладке BDE, и два компонента TDataSource , которые находятся на вкладке DataAccess. Для обоих компонентов ТТаblе в свойстве Database Name надо выбрать из списка значение TestAliace. Компонент Table1 надо переименовать в StudentsTbl при помощи свойства Name, а компонент Тablе2 - в  GradeTbl. Также компоненту DataSource1 надо дать имя StudentsSrc, a DataSource2 - GradeSrc.

Теперь надо связать попарно компоненты таблиц и источников данных. При помощи свойства Dataset надо увязать StudentsTbl с StudentsSrc, a GradeTbl - с GradeSrc. На этом этапе уже можно определить отношения между таблицами. Для этого в свойстве MasterSource компонента GradeTbl необходимо указать родительский источник данных, который будет связывать компонент с родительской таблицей. В данном случае это будет StudentSrc. Далее в свойстве MasterFields этого же компонента необходимо указать поля, по которым будет установлена связь. В правой части свойства необходимо нажать на кнопку, и появится диалоговое окно, показанное на рис. 1.7.

Рис. 1.7. Окно редактора связей.

Оно содержит два списка — Master Fields и Detail Fields. В них перечислены поля, по которым можно создать связь. В обоих списках надо выбрать поля STUDENT, а потом нажать кнопку Add. Будет создана связь между таблицами. В списке Available Indexes перечислены доступные индексы, по которым тоже можно создать связь.

Затем на основной форме приложения нужно разместить два компонента TDBGrid, располагающихся на вкладке Data Controls палитры компонентов. Модуль данных надо подключить к главному модулю приложения одной строкой кода:

uses DataModule;

Теперь необходимо связать компоненты TDBGrid с компонентами TDatasource, расположенными в модуле данных, при помощи одноименного свойства DataSource. Также надо разместить на форме компонент TPopupMenu. Его надо связать с компонентами TDBGrid через их свойство PopupMenu. Двойным щелчком на компоненте TPopupMenu нужно активировать редактор меню и определить несколько новых пунктов. Потребуется создать пункт Новая, для которого в свойстве Name указать значение NewRec. Также нужно будет создать пункты Принять (PostRec) и Удалить (DeleteRec). Реализация этих методов приведена в листинге 1.1.

Листинг 1.1. Реализация методов контекстного меню

uses DataModule;

{$R *.dfm}

{Удаление выбранной записи}

procedure TForml.DeleteRecClick(Sender: TObject);

begin

if PopupMenul.PopupComponent = DBGrid1 then

begin

 with DataModulel.StudentsTbl do

        begin

if State = dsBrowse then

if MessageDlg('Вы уверены в том, что хотите удалить запись? ',

mtConfirmation, [mbYes, mbNo], 0) = mrYes then

Delete;

        end;

           end;

if PopupMenu1.PopupComponent = DBGrid2 then begin

with DataModulel.GradeTbl do begin

if State = dsBrowse then

if MessageDlg('Вы уверены в том, что хотите удалить запись? ',

mtConfirmation, [mbYes, mbNo], 0) = mrYes then

Delete;

end;

end;

end;

{Сохранение изменений}

procedure TForml.PostRecClick(Sender: TObject):

begin

if PopupMenul.PopupComponent = DBGrid1 then begin

with DataModulel.StudentsTbl do begin

if State in [dsInsert, dsEdit] then

Post;

end:

end;

if PopupMenu1.PopupComponent = DBGrid2 then begin

with DataModulel.GradeTbl do begin

if State in [dsInsert, dsEdit] then

Post;

end;

end;

end;

{Добавление новой записи}

procedure TForml.NewRecClick(Sender: TObject);

begin

if PopupMenul.PopupComponent = DBGrid1 then begin

with DataModulel.StudentsTbl do begin

if State = dsBrowse then

Insert;

end;

end;

if PopupMenul.PopupComponent = DBGrid2 then begin

with DataModulel.GradeTbl do begin

if State = dsBrowse then

Insert;

end;

end;

end;

Для выполнения считывания состояния набора данных (оператор State), необходимо в разделе uses главного модуля нашей формы прописать дополнительные модули:

Uses DB, DBTables;

Двойным щелчком на каком-либо из компонентов TDBGrid нужно вызвать редактор полей. Командой Add all fields контекстного меню можно добавить все поля. Лишние поля потом можно будет просто удалить. Данной командой определяются поля, которые будут отображаться в таблице. Вид окна представлен на рис. 1.8.

Для выбранного поля можно указать тип шрифта столбца, тип шрифта заголовка, цвет заголовка, название заголовка. Для изменения названия заголовков достаточно выбрать поле и в свойстве TitleCaption указать новый заголовок. В свойстве PickList можно указать список значений, которые будут доступны из таблицы в данном поле. Основное окно программы показано на рис. 1.9.

Рис. 1.8 Окно редактора полей.

Рис. 1.9 Окно программы.


 

А также другие работы, которые могут Вас заинтересовать

36394. Позиционные и следящие САУ электропривода. Регуляторы положения 24.81 KB
  Класс систем подчиненного регулирования 4 контура управления: контур напряжения контур тока контур скорости 4 регулятора контур положения Регуляторы положения: линейные нелинейные лучше минимум времени Следящие – частный случай позиционной на входе задание меняется произвольным способом.
36395. Приведите классификацию и примеры методов синтеза закона управления линейных САУ 43.77 KB
  Методы аналитического синтеза. Эти методы позволяют решить задачу синтеза и провести полное исследование полученного решения. Корневые методы синтеза модальное управление 2.
36396. Средства определения химических составов чугуна, стали 46.71 KB
  Для экспрессанализа содержания углерода в металле применяются устройства основанные на зависимости термоэлектродвижущей силы возникающей в цепи из двух разнородных металлов или сплавов от их природы и свойства. С целью повышения точности определения содержания углерода пробу стали отбираемую по ходу плавки подвергают закалке при этом основной структурной составляющей пробы является мартенсит т. твердый раствор углерода в альфажелезе. В таких бинарных растворах между содержанием углерода и ТЭДС существует линейная зависимость.
36397. Режимы работы АСУТП, информационные потоки в ИАСУ 115.6 KB
  Режим ручного управления РУ когда оперативный персонал ОП непосредственно воздействует на регулирующие органы РО управляя процессом. Режим дистанционного управления. Эта разновидность АСУТП включает в себя локальные системы автоматического контроля регулирования объединенные центральным пультом управления на котором работает оператор. Режим совета кроме выполнения информационных функции УВК сам решает задачу управления т.
36398. Поясните сущность частотных методов синтеза корректирующих устройств 26.46 KB
  Основаны на графическом построении и являются достаточно простыми хорошо разработанными и наглядными методами синтеза. Существует несколько видов частотного синтеза. Для таких ОПФ ЛАЧХ и ЛФЧХ однозначно определяют друг друга и для синтеза достаточно рассматривать лишь ЛАЧХ разомкнутой САУ.
36399. Применение теоретических моделей для описания технологических объектов 11.58 KB
  Теоретические модели применяются для сравнительно простых и хорошо изученных объектов. Однако теоретические модели сложных ТО находят ограниченное применение в управлении такими объектами. Вторая причина – попытка упростить математическую модель приводит к потере адекватности модели к объекту. Наиболее широкое применение теоретические модели нашли в электротехнике механике гидравлике сопротивление материалов теория машин и механизмов.
36400. Стандартные сужающие устройства. Основные параметры для расчета сужающих устройств 127.31 KB
  К стандартным сужающим устройствам относятся диафрагмы сопла и сопла Вентури. По двум сторонам диафрагмы располагаются отверстия по средствам которых снимается давление перед и после диафрагмы. Здесь благодаря наличию диффузора потери давления значительно меньше чем у сопла или диафрагмы.
36401. Уровни автоматизации управления 61.35 KB
  Уровни автоматизации управления Уровни автоматизации управления обычно совпадают с принятыми уровнями управления. На предприятии ряда отраслей промышленности в общей смене автоматизированного управления предприятия выделяют 3 уровня: автоматизации управления технологическими процессами; автоматизации управления на уровне производств; автоматизации управления на уровне предприятия. На верхней ступени решаются технические и в основном экономические...
36402. Дайте определение и поясните понятие комплексного коэффициента передачи нелинейного звена 38.1 KB
  Комплексным коэффициентом передачи нелинейного звена называется отношение комплексной амплитуды первой гармоники нелинейного звена к амплитуде входного сигнала. Функции и называются коэффициентами гармонической линеаризации потому что представляют нелинейное звено фиктивным линейным линеаризированным нелинейного звена в частотной области для амплитуды первой гармоники. Они показывают зависимость амплитуды и фазы выходной гармоники нелинейного звена от амплитуды и фазы входного сигнала. Фактически нелинейные звенья с нечетно...