Реализация распределенной БД

При использовании режима клиент-сервер возникают такие задачи для сервера и клиентов.

Для сервера

  • 1. Построение структуры системы таблиц на сервере, возможно с системой запросов (видов) для заполнения таблиц, с установлением связей между таблицами.
  • 2. Заполнение таблиц данными.
  • 3. Обеспечение доступа через виды, запросы и хранимые процедуры.

Для клиентов

  • 1. Разработать необходимые приложения.
  • 2. Построить соответствующие интерфейсы пользователей.

В данной главе рассмотрим локальный вариант режима клиент- сервер. Особенности формирования удаленного варианта с одно- и многоуровневой структурой обсудим в гл. 15.

Собственно база данных. Необходимо выполнить следующие работы.

  • • Построение таблиц.
  • • Установление связей между таблицами для осуществления ссылочной целостности в РБД.
  • • Использование хранимых процедур для обеспечения ссылочной целостности.
  • • Создание системы генераторов для обеспечения автоматического заполнения полей, требующих автонумерации.
  • • Загрузка таблиц данными из существующей БД "Учебный процесс".

Построение структуры таблиц

Все операции по созданию структуры таблиц РБД в InterBase осуществляются при помощи утилиты Windows 1SQL (WISQL), поставляемой в комплекте с сервером РБД (рис. 14.14).

Окно Windows ISQL

Рис. 14.14. Окно Windows ISQL

Создание таблиц и других объектов РБД выполняется на языке SQL.

Язык QBE серьезно ограничивает разработчика и позволяет ему создавать запросы только по готовым шаблонам, которые были заложены создателями языка.

Приведем пример создания таблицы gruppa:

/* Table: GRUPPA, Owner: SYSDBA */

CREATE TABLE GRUPPA (NG VARCHAR(6) CHARACTER SET WIN 1251 NOT NULL,

NAZVANIE VARCHAR{6) CHARACTER SET WIN 1251,

OTD VARCHAR(20) CHARACTER SET WIN1251,

STAROSTA VARCHAR(20) CHARACTER SET WIN1251,

STAR_POLN VARCHAR(50) CHARACTER SET WIN 1251,

KURATOR VARCHAR(20) CHARACTER SET WIN 1251,

KURS VARCHAR(50) CHARACTER SET WIN 1251,

SH_SPEC INTEGER NOT NULL,

GOD_NABOR INTEGER,

STUDENTOV INTEGER,

DEVUSHEK INTEGER,

UNOSHEY INTEGER,

BESPLATN INTEGER,

CHAST INTEGER,

POLNPLATN INTEGER,

CONSTRAINT GRUPPRIMKEY1 PRIMARY KEY (NG));

Последняя строка указывает на то, что поле NG (номер группы) является первичным ключом. Инструкция типа SH_SPF.C INTEGER NOT NULL указывает на то, что необходимо создать колонку sh_spec типа Integer с обязательным ненулевым значением.

Всего РБД насчитывает 18 таблиц:

  • • ArhivStud – архивная таблица, содержащая информацию об успеваемости студентов, за прошедшие семестры;
  • • Gruppa – список всех групп;
  • • IPP – таблица, хранящая информацию о прохождении студентами производственной практики;
  • • Izuchenie – таблица с информацией об изучаемых предметах в группах;
  • • Kafedra – список кафедр;
  • • Laba – список;
  • • Obshegit – список студентов, живущих в общежитиях;
  • • Oplata – информация об оплате студентами своего обучения;
  • • Predmet – список преподаваемых предметов;
  • • Predpr – список предприятий, на которых проходят производственную практику студенты;
  • • Prepod – список преподавателей;
  • • Prikaz – приказы;
  • • Specialnost – список специальностей;
  • • Student – список обучающихся студентов и сведения о них;
  • • TempUsp – промежуточная таблица, необходимая для генерации сложных отчетов, которые не могут быть организованы только с использованием запросов;
  • • Uspevaem – информация о сдаче сессии студентами;
  • • Vid_prikaz – виды приказов.

После создания таблиц программист может извлечь из РБД SQL- команды, которые он вводил в процессе создания таблиц. Такая информация, получаемая из РБД, называется метаданными. Текстовый файл, содержащий метаданные, может быть в случае необходимости повторно выполнен, что позволит в случае полной потери РБД, восстановить ее структуру без повторного, утомительного набивания всех SQL-команд. Для получения подобной информации необходимо в утилите Windows ISQL выбрать в меню Extract/SQL Metadata for DataBase, после чего указать имя файла, в котором необходимо сохранить метаданные. Листинг SQL-программ разработанной РБД приведен в Приложении 2.

 
< Пред   СОДЕРЖАНИЕ     След >