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 Окно программы.


 

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

35499. Основы алгоритмизации и программирования 495.5 KB
  ЧИСЛА Целые числа: SHOPTINT – 120127 BYTE 0 – 255 перечисляемые типы INTEGER – 32768 32767 WORD 0: 65535 LONCINT – 231 231 Действительные: SINGLE 1038 7 знаков после запятой REAL 1038 11 знаков DOUBLE 100300 19 знаков EXTENDED 104900 19 знаков. USES список библиотек; – подключение библиотек или модулей TYPE описание; –описание собственных типов данных CONST – список постоянных VAR – список переменных BEGIN – начало программы END. – конец программы Обязательными элементами являются только PROGRAM BEGIN END. PROGRAM FIRST;...
35500. Основы построения автоматизированных информационных систем 169.5 KB
  СУБД как основная часть АИС. Информационное обеспечение АИС. Математическое обеспечение АИС. Техническое обеспечение АИС. АИС – аппаратно- программный комплекс, предназначенный для решения задач по хранению, обработку, поиску информации.
35501. Общие вопросы по строительным конструкциям 457 KB
  Расчетные факторы нагрузки и механические характеристики материала временное сопротивление предел текучести и т. Нагрузки и воздействия могут отличаться от заданной вероятности превышения средних значений а механические характеристики материалов могут отличаться от заданной вероятности снижения средних значений.; усталостное разрушение расчет на выносливость конструкций находящихся под воздействием многократно повторяющейся нагрузки подвижной или пульсирующей: подкрановых балок шпал рамных фундаментов и перекрытий под...
35502. Материаловедение 115.5 KB
  16 МПа известковокремнеземистые известковонефелиновые бесклинкерные шлаковые и зольные вяжущие материалы хотя по существу они тоже относятся к гидравлическим вяжущим. Из строительной воздушной извести изготовляют растворы предназначенные для наземной кладки частей зданий и штукатурок работающих в воздушносухих условиях: бетоны низких марок для конструкций эксплуатируемых в воздушносухих условиях; плотные и ячеистые силикатные автоклавные изделия в том числе крупные блоки и панели; легкобетонные камни теплоизоляционные и другие...
35503. Архитектура гражданских и промышленных зданий и сооружений 274 KB
  определяется степенью огнестойкости и степенью долговечности его в заданных условиях эксплуатации Жилые: I Здания каменные особо капитальные; фундаменты каменные и бетонные; стены каменные кирпичные и крупноблочные; перекрытия – железобетонные срок службы – 150 лет II Здания каменные обыкновенные; фундаменты каменные; стены каменные кирпичные крупноблочные и крупнопанельные; перекрытия железобетонные или смешанные а также каменные своды по металлическим балкам 125 III Здания каменные облегченные; фундаменты каменные и...
35504. Безопасность жизнедеятельности. Понятие безопасности. Классификация и реализация опасностей 1.08 MB
  Понятие опасности. Классификация и реализация опасностей. Аксиома о потенциальной опасности деятельности. Системный подход к анализу безопасности. Принципы, методы, средства обеспечения безопасности деятельности. Идентификация опасностей с помощью декомпозиции деятельности. Примерная схема проектирования БЖД.
35505. Экология 51.5 KB
  Факторы окружающей среды биотические и абиотические периодические непериодические жизненно важные и сигнальные адаптация экосистем к окружающей среде. Экологические факторы – компоненты природной среды влияющие на состояние и свойства организма или популяции. Абиотические – все компоненты неживой природы: солн радиация температура влажность рельеф состав водной воздушной и почв среды. Опасные – содержат вва которые обладают 1 из опасных свойств токсичность взрывчатость пож опасность инфекционность и присутствуют в...
35506. Конструкции из дерева и пластмасс 52.5 KB
  Основные виды соединений деревянных элементов и предъявляемые к ним требования. Конструктивные врубки – для соед элементов с незначительными усилиями не рассчитываются. На шпонках W шпонок не выше W элементов. Нормальные напряжения вычисляют как для сжатоизгибаемых элементов.
35507. Железобетонные и каменные конструкции 1.87 MB
  В качестве напрягаемой рекомендуется применять стержневую термически упрочненную арматуру классов АтVI тV tIVC горячекатаную арматуру классов VI V и IV; для элементов длиной свыше 12 м целесообразно применять арматурные канаты и высокопрочную проволоку допускается применение стержней классов IV V. Конструктивные особенности железобетонных изгибаемых элементов. Основные положения расчета изгибаемых элементов по предельным состояниям. По нормальному сечению рассчитывают изгибаемые элементы прямоугольного профиля с одиночной и...