База данных "Кафедра"

Автор работы: Пользователь скрыл имя, 22 Июня 2011 в 07:55, курсовая работа

Описание работы

Исходными данными являются:
данные о студенте (ФИО, группа);
данные о преподавателе (ФИО, должность);
данные о группах (наименование, староста, эдвайзер, год поступления);
сведения о специальностях (наименование, год введения);
данные о дисциплинах (наименования, кредиты, наличие курсовой работы).

Файлы: 1 файл

МУ_СРС_ПБД_рус12.doc

— 655.00 Кб (Скачать файл)
 

    2.2.  Проектирование базы данных в ERwin 

      Для создания ER – диаграммы в проекте используется программное средство  ERwin.

   В базе данных использованы домены. Домен - это потенциальное множество значений простого типа данных, он имеет сходство с подтипом данных в некоторых языках программирования. Домен определяется двумя элементами - типом данных и логическим выражением, которое применяется к данным. Если результат этого выражения равен значению «истина», то экземпляр данных принадлежит домену [6].

 

    Таблица 1- Домены, используемые в диаграмме.

Логическое  имя домена Физическое  имя домена Родительский  домен
examen t_examen Number
itog t_itog Number
kol_vo_kreditov t_ko_lvo_kreditov Number
lc1 t_lc1 Number
lc2 t_lc2 Number
pr1 t_pr1 Number
pr2 t_pr2 Number
srs1 t_srs1 Number
srs2 t_srs2 Number
Disciplina_s t_Disciplina_s String
Disciplina_p t_Disciplina_p String
Specialnost_s t_Specialnost_s String
Specialnost_p t_Specialnost_p String
Doljnost t_Doljnost String
FIO t_FIO String
gruppa t_gruppa String
Semester T_semestr number

    В диаграмму входят такие сущности:

    Сущность  Student включает:

    • FIO;
    • Gruppa.

    Сущность Gruppa включает:

    • Gruppa;
    • God postuplenia;
    • Edvaizer.

    Сущность Specialnost включает:

    • Shifr_specialnosti;
    • Specialnost_p;
    • Specialnost_s;
    • God_vvedenia.

    Сущность Disciplina включает:

    • Kod_disciplina;
    • Disciplina_p;
    • Disciplina_s.

    Сущность Prepodavatel включает:

    • Kod_disciplina;
    • Shifr_specialnost;
    • Semester;
    • Kol_vo_kreditov.

    СущностьVedomost включает:

    • Kod_prepod;
    • Kod_disciplina;
    • Shifr_specialnost;
    • Kod_student;
    • Lc1;
    • Lc2;
    • Pr1;
    • Pr2;
    • Srs1;
    • Srs2;
    • Examen;
    • Itog.

На физическом уровне модель, напротив, зависит от конкретной базы данных, выбираемой пользователем. Таким образом, одной логической модели может соответствовать несколько физических моделей. Кроме того, так  как в физической модели речь идет уже о реально существующих в БД физических объектах, то обязательно должны быть определены типы данных и атрибутов.

   На логическом уровне данные представляются так, как они выглядят в реальном мире. Объектами логического уровня являются сущности и атрибуты.  Модель логического уровня является универсальной и не связана с конкретной базой данных [6.

    Затем генерируем SQL код первоначально установив программу выбрав Server/Target Interbase, затем выбрав Server Tasks/Schema Generation, установив необходимые параметры нажимаем кнопку Preview для просмотра сгенерированного SQL кода. Итак, получив SQL код, мы можем перейти к следующему этапу проектирования.

Рисунок 1- Диаграмма на физическом уровне

Рисунок 2 - Диаграмма на логическом уровне. 

    2.3. Создание базы данных в INTERBASE 

 2.3.1. INTERBASE и область его применения

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

      Клиенты посылают запросы серверному процессу, чтобы выполнить различные действия в базе данных, включая:

  • Поиск в базе данных по заданным условиям;
  • Сравнение, сортировку и представление данных в табличном виде;
  • Изменение хранимых данных;
  • Добавление новых данных в базу;
  • Удаление данных из базы данных;
  • Создание новых базы данных и структур данных;
  • Выполнение программного кода на сервере;
  • Передачу сообщения другим клиентам, подключенным в данный момент к серверу.

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

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

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

   Отличительными  качествами InterBase являются:

    • Высокая производительность и надежность сервера при минимальных требованиях к техническим средствам.
    • Поддержка стандарта SQL-92, обеспечивающая переносимость приложений.
    • Относительно низкая стоимость продукта.
    • Простота установки и поддержки сервера. Удобный и не требующий специальной подготовки механизм администрирования базой данных.

    Все это делает InterBase прекрасным выбором для реализации корпоративных систем малого и среднего масштаба (с количеством пользователей в несколько десятков). При реализации очень крупных проектов (с сотнями или более пользователей) стоит, наверное, рассмотреть более мощные серверы – типа Oracle или Informix [1]. 

   2.3.2. Уровни реализации языка SQL

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

    1. Интерактивный или автономный SQL(ISQL) дает возможность пользователям непосредственно извлекать информацию из базы данных или записывать ее в базу данных. Этот уровень доступен посредством соответствующих утилит или специальных стандартных средств для работы с базами данных. В InterBase это реализуется такими утилитами, как Isql.exe и Wisql32.exe. С их помощью информация может быть загружена в базу данных или извлечена из нее и выведена на экран, печать или файл.
    2. Статический SQL (SQL)- фиксированный (исполнимый), т.е. заранее подготовленный и записанный , а не формируемый в процессе выполнения программы SQL код, обычно используемый в приложениях. Существует две версии статического SQL. Встроенный или внедренный SQL – это код SQL, включенный в исходный код программы, написанной на том или ином алгоритмическом языке. Используемый язык при этом называют базовым. InterBase поддерживает внедренный SQL. Другое использование статического SQL- модульный язык. В этом случае модули SQL присоединяются к приложению на этапе компоновки.
    3. Динамический SQL (DSQL) – код SQL, генерируемый приложением во время его выполнения. Динамический SQL заменяет статический в тех случаях, когда необходимый код не может быть определен во время написания приложения, так как он сам зависит от действий пользователя во время выполнения приложения.

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

   2.3.3. Скорость доступа к данным

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

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

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

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

    2.4. Этапы создания базы данных в INTERBASE

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

    Базы  данных InterBase-сервера хранятся в виде файлов, имеющих расширение .gdb. для создания  новой БД в окне программы IBConsole выберем команду Database ® Create Database.

Информация о работе База данных "Кафедра"