Главная страница
Навигация по странице:

  • Файл БД

  • Library File

  • Рисунок 20. Диалоговое окно создания базы данных. Диалект БД

  • CREATE TABLE

  • SALON_IN_PLANE , TICKET , EQUIPAGE

  • CITY (Города), AIRCOMPANY (Авиакомпании), PLANE (Тип самолета), SALON (Тип салона)

  • SALON_IN_PLANE (Салон в самолете), BOARD (Борт), AIRLINE (Авиамаршрут).

  • проектирование БД. Методичка Пример проектирования модели и нормализации. Пример проектирования модели и проведения нормализации


    Скачать 483 Kb.
    НазваниеПример проектирования модели и проведения нормализации
    Анкорпроектирование БД
    Дата30.10.2022
    Размер483 Kb.
    Формат файлаdoc
    Имя файлаМетодичка Пример проектирования модели и нормализации.doc
    ТипДокументы
    #761543
    страница3 из 3
    1   2   3

    Использование IB Expert для работы с базой данных1

    Создание и регистрация новой базы данных


    После генерации SQL-скрипта нужно переходить к созданию базы данных Interbase и заполнению таблиц данными. Для работы с сервером Interbase (или одним из его клонов) наиболее целесообразно использование IB Expert.

    Первым шагом должно быть создание пустой базы данных. Для этого в меню «База данных» нужно выбрать пункт «Создать базу». В появившемся диалоговом окне нужно заполнить параметры для создаваемой базы.

    Поясним смысл каждого из параметров

    • Сервер – показывает, где размещается сервер БД, возможно два варианта: «Удаленный» значит сервер размещен на каком либо компьютере, доступ к которому осуществляется по сети, в этом случае нужно указать «Имя сервера» (имя компьютера на котором установлена СУБД и сама база данных) и «Протокол» при помощи которого осуществляется доступ (рекомендуется TCP/IP).
      «Локальный», т.е. СУБД и база данных установлены на том же компьютере, что и IB Expert, в это случае «Имя сервера» и «Протокол» не показываются.

    • Файл БД – путь и имя файла базы данных. Имя файла должно иметь расширение gdb и размещаться в каталоге, где у вас есть права на чтение, создание и изменение файлов.

    • Client Library File – файл обеспечивающий доступ к базе данных со стороны клиента. IB Expert сам проставляет имя этого файла и менять его не следует.

    • Имя пользователя – по умолчанию должно быть SYSDBA (системный администратор базы данных)

    • Пароль – по умолчанию должно быть masterkey (главный ключ).




    • Рисунок 20. Диалоговое окно создания базы данных.
      Диалект БД – рекомендуется «Диалект 3»


    После подтверждения вам будет показано окно регистрации базы данных. (Под регистрацией здесь подразумевается включение в список баз данных, о которых знает IB Expert.) В появившемся окне нужно указать Версию сервера, которая используется для вашей базы. После регистрации название вашей базы данных будет включено в список объектов в окне «Database Explorer». Щелкнув по строке с именем базы, вы подключитесь к ней, при этом имя базы в списке будет выделено жирным шрифтом

    Выполнение SQL – скрипта, вероятные ошибки.


    Теперь нужно запустить сгенерированный SQL-скрипт (последовательность операций на языке SQL), чтобы создать объекты базы данных (таблицы, первичные и внешние ключи). Для выполнения скрипта в IB Expert предназначен «Редактор скриптов», который вызывается кнопкой (редактор можно вызвать также через меню «Инструменты» или при помощи комбинации клавиш Ctrl + F12).

    При помощи буфера обмена копируем скрипт из окна просмотра генератора схем ERwin в окно редактора скриптов. Перед запуском скрипта на выполнение нужно просмотреть его текст - все недопустимые символы (буквы русского алфавита, символ «№» и т.д.) будут выделены красным фоном, все зарезервированные слова выделяются жирным шрифтом. При необходимости скрипт можно исправить непосредственно в окне редактора скриптов.

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

    Наиболее вероятна следующая ошибка:

    This operation is not defined for system tables. unsuccessful metadata update. Column: AC_CODE not defined as NOT NULL - cannot be used in PRIMARY KEY constraint definition.

    Столбец не может быть использован в первичном ключе, потому что он не определен как ненулевой.

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

    CREATE TABLE AIRCOMPANY (

    AC_CODE INTEGER NOT NULL,

    AC_NAME VARCHAR(20)

    );

    Перед повторным запуском необходимо удалить уже созданные таблицы. Для этого щелкнем правой клавишей мыши на названии таблицы в окне «Database Explorer», и в появившемся контекстном меню выбираем пункт «Удалить таблицу». После подтверждения будет показано окно со списком операций на языке SQL. Чтобы выполнить их нужно нажать на кнопку «Commit». Сначала нужно удалять таблицы, которые зависят от других, и от которых другие не зависят. Для нашего случая в первую очередь должны быть удалены таблицы SALON_IN_PLANE, TICKET, EQUIPAGE. От этих таблиц никакие другие не зависят.

    В случае если предварительно таблица не будет удалена, возникнет сообщение об ошибке.

    This operation is not defined for system tables. unsuccessful metadata update.

    Table CITY already exists.

    Операция не может быть выполнена, неуспешное обновление метаданных
    Таблица CITY уже существует

    Необходимо удалить таблицы и повторить попытку.

    Вставка триггеров и генераторов


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

    Генераторы предназначены для получения последовательностей уникальных чисел. Например - 1, 2, 3..., 10, 20, 30, и т.п. Такие числа обычно используются как идентификаторы записи в таблицах, имеющих суррогатный (абстрактный) первичный ключ. Например, в таблице городов (CITY) для их нумерации введен столбец CT_CODE, по которому построен первичный ключ. Столбец можно заполнять значениями генератора.

    Нужно сразу заметить, что сами по себе генераторы не обеспечивают сохранение последовательности номеров в случае удаления записей - генератор всего лишь выдает числа по очереди увеличивая их на некоторую величину и обеспечивая уникальность выданных значений. Собственно вставка значения ключа может производится при помощи триггера BEFORE INSERT (перед вставкой записи).

    Для создания генератора необходимо использовать оператор

    CREATE GENERATOR generatorname;

    При использовании IB Expert нужно щелкнуть на поле, для которого должен создаваться генератор. В появившемся окне выбираем закладку «Автоинкремент» и «Генератор», ставим галочку в «Создать генератор»



    Затем переключаемся на закладку «Триггер» и ставим галочку в переключателе «Создать триггер». В нижней части окна появляется текст триггера, который должен при вставке новой записи вставлять значение первичного ключа.



    После подтверждения появится окно с запросом, который должен создать генератор CREATE GENERATOR GEN_CITY_ID, и триггер – нужно подтвердить завершение транзакции (Commit), после чего генератор и триггер будут созданы.

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

    Заполнение таблиц


    На этом этапе нужно заполнить таблицу данными. Заполонять таблицы нужно по принципу «с краю к центру», т.е. сначала данные заносятся в таблицы которые ни от каких других не зависят (как правило, это справочники), затем таблицы которые зависят от них и т.д. Для нашей модели сначала нужно заполнить данными таблицы:

    • CITY (Города),

    • AIRCOMPANY (Авиакомпании),

    • PLANE (Тип самолета),

    • SALON (Тип салона),

    • RANK (Роль члена экипажа),

    • PERSON (Личность).

    Во вторую очередь

    • AIRPORT (Аэропорт),

    • SALON_IN_PLANE (Салон в самолете),

    • BOARD (Борт),

    • AIRLINE (Авиамаршрут).

    Следующий, третий этап заполнения:

    • TIMETABLE (Расписание)

    • FLIGHT (Рейс)

    Четвертый этап:

    • TARIFF (Тариф),

    • EQUIPAGE (Член экипажа)

    Последний, пятый этап

    • TICKET (Билет)

    Для заполнения нужно в окне для таблицы переключиться на закладку «Данные». Для работы с данными используются кнопки расположенные на панели инструментов окна. Ввод записей должен обязательно завершаться подтверждением транзакции.

    1 IB Expert имеет многоязыковой интерфейс – рекомендуется в качестве языка выбрать русский. Чтобы установить русский язык в качестве языка интерфейса нужно в главном меню выбрать пункт Options (Настройки)/Environment Options (Настройки Среды), затем в списке Interface Language (Язык интерфейса) выбрать русский язык.
    1   2   3


    написать администратору сайта