
Izuch_comp_i__progr
.pdf- 191 -
При отношении "один-к-одному" запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Этот тип связи используют для разделения очень широких таблиц или для отделения части таблицы по соображениям защиты.
Отношение "один-ко-многим" является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице A могут соответствовать несколько записей в таблице B, а запись в таблице B не может иметь более одной соответствующей ей записи в таблице A. Например, в одной группе может учиться несколько студентов, но ни один студент не может учиться сразу в нескольких группах.
При отношении "многие-ко-многим" одной записи в таблице A
могут соответствовать несколько записей в таблице B, а одной записи в таблице
B несколько записей в таблице A. Такая схема реализуется с помощью третьей
(связующей) таблицы, ключ которой состоит по крайней мере из двух полей,
которые являются полями внешнего ключа в таблицах A и B. Например, между таблицами о больных и врачах больницы связь определяется отношением
"многие-ко-многим". Один больной может наблюдаться у нескольких врачей, в
то время как врач может лечить несколько больных. Такая связь определяется путем создания двух связей с отношением "один-ко-многим".
Основные этапы разработки БД.
Процесс создания баз данных обязательно включает в себя следующие этапы:
проектирование базы данных;
создание таблиц для хранения данных;
разработку элементов базы, предназначенных для ввода, просмотра,
редактирования и вывода информации.
ввод данных;
- 192 -
Проектирование БД является важным этапом, от которого зависят все последующие.
Перед созданием базы данных необходимо располагать описанием выбранной предметной области. На основе описания осуществляется определение состава и структуры данных, которые должны находиться в БД и обеспечивать выполнение необходимых запросов и задач пользователя.
Структура данных предметной области отображается информационно-
логической моделью, на основе которой создается реляционная база данных.
Информационно-логическая модель отображает данные предметной области в виде совокупности информационных объектов и связей между ними. При разработке модели определяют основные задачи, для решения которых строится база, выявляют потребности задач в данных и устанавливают типовые объекты предметной области.
Информационный объект — это информационное описание некоторой сущности - реального объекта, процесса, явления или события.
Информационный объект образуется совокупностью качественные и количественные характеристики некоторой сущности предметной области.
Информационные объекты выделяются на основе описания предметной области путем определения функциональных зависимостей между характеристиками. Примерами информационных объектов могут быть — СТУДЕНТ, ПРЕПОДАВАТЕЛЬ, КАФЕДРА и т.п.
Информационный объект имеет множество реализаций — экземпляров.
Например, каждый экземпляр объекта СТУДЕНТ представляет конкретного студента. Экземпляр образуется совокупностью конкретных значений реквизитов и должен однозначно определяться (идентифицироваться)
значением ключа информационного объекта, который состоит из одного или
- 193 -
нескольких ключевых реквизитов. Таким образом, характеристики подразделяются на ключевые и описательные.
Процесс выделения информационных объектов предметной области,
производится на основе интуитивного или формального подхода.
После выделения информационных объектов надо дать окончательное их описание. Затем можно осуществить контрольную проверку выполнения требований нормализации. Совокупность получаемых при этом информационных объектов позволяет получить информационно-логическую модель, не требующую дальнейших преобразований для построения реляционной базы данных.
Итак, на этапе проектирования базы данных определить, какие поля необходимо включить в базу данных и на сколько разных частей будет разделена вся информация. не следует отбирать поля произвольным образом или для тех данных, которые могут быть вычислены на основе имеющихся полей.
После выбора полей их следует распределить по разным таблицам и выбрать первичный ключ, отвечающий за уникальность каждой записи.
Создание нескольких таблиц для размещения в них информации разного типа может значительно упростить ввод данных.
Ввод информации в базу данных - трудоемкое занятие, поэтому излишнее количество полей может существенно усложнить работу.
Связь между таблицами устанавливает тип отношений между совпадающими значениями в ключевых полях. В большинстве случаев с ключевым полем одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы.

- 194 -
Требования, предъявляемые к современным СУБД
Современная СУБД должна предоставлять возможность работы пользователя:
на ЭВМ разной архитектуры с установленными на них различными операционными системами;
в компьютерных сетях разных типов, работающих по различным протоколам;
с различными графическими и символьными системами представления информации.
Создание таблиц в БД и работа с ними
В данном разделе описаны методы работы с СУБД OpenOffice Base,
аналогичные методы работы с СУБД MS Access даны в приложении.
Запуск СУБД, создание новой и открытие существующей базы данных
Для запуска СУБД Base в пункте Файл меню программы OpenOffice
необходимо выбрать опцию Создать, а затем в выпадающем списке выбрать пункт «База данных...» (рис. 6.1).
рис. 6.1 Запуск СУБД Base
После запуска Base, на экране появляется диалоговое окно начала работы с данной СУБД (рис. 6.2).

- 195 -
Рис. 6.2. Окно запуска БД
С его помощью можно создать новую БД или открыть уже существующую.
Если требуемой БД нет в списке, то следует вызвать диалоговое окно открытия файла базы данных с помощью соответствующей команды (открыть). Также существует возможность подключения к БД формата, отличного от Open Office Base, например Microsoft Access. В отличие от работы в текстовом редакторе
(Writer, Word) или табличном процессоре (Calc, Excel), в которых можно сначала создать документ, а потом сохранить его, в Base без создания файла базы данных невозможно продолжить работу с СУБД. Эта особенность связана с тем, что вся вводимая информация сразу заносится в файл базы данных. При сохранении программа присваивает файлу расширение «.odb» (для Access
.mdb).
После создания файла базы данных на экране появится окно, которое позволяет работать с различными компонентами хранения и представления информации: «Таблицы», «Запросы», «Формы», «Отчеты» (рис. 6.3).

- 196 -
Рис. 6.3 Окно БД
Создание таблиц: установка свойств полей, типов данных.
Для создания новой таблицы необходимо в окне открытой БД, выбрать объект Таблицы, а затем воспользоваться одним из предлагаемых режимов создания:
создать таблицу в режиме дизайна – данный режим предоставляет возможность определить структуру новой таблицы, т.е. название полей и их типы.
использовать мастер для создания таблицы - данный режим позволяет создать новую таблицу, используя имеющиеся шаблоны таблиц. При этом в создаваемую таблицу можно добавлять поля из разных шаблонов.

- 197 -
создать представление - данный режим позволяет создать в БД таблицу,
которая включает поля нескольких таблиц.
Рассмотрим создание таблиц базы данных в режиме дизайна. При выборе этого режима появляется окно (рис. 6.4), в котором необходимо определить набор полей, их формат и свойства, таким образом определив структуру новой таблицы.
Рис. 6.4 Создание структуры таблицы в режиме дизайна (Base)
Для описания поля в структуре таблицы, необходимо указать название поля (Имя поля), затем тип данных, которые будут в нем храниться (Тип поля)
и свойства (Свойства поля). Заметим, что для каждого типа данных существует свой набор свойств. Как правило, имена полей кодируются короткими названиями, для расшифровки в графе (Описание) можно подробно описать назначение информации, которая будет вводиться в это поле.
Таблица 6.1
Типы данных
Тип |
Описание |

|
|
- 198 - |
Текстовый |
Текст (фикс.) [CHAR] |
короткая строка с фиксированной длиной |
|
|
|
|
Текст [VARCHAR] |
короткая строка с переменной длиной |
|
Текст [VARCHAR |
Текст, при поиске по которому будет игнорирован |
|
_IGNORECASE] |
регистр |
|
|
|
|
Памятка |
Длинная строка с переменной длиной для |
|
[LONGVARCHAR] |
хранения очень большого объёма текста. |
Двоичный |
Двочиное (фикс.) |
небольшой двойчный объект с фиксированный |
|
[BINARY] |
длиной |
|
|
|
|
Двочиное |
небольшой двойчный объект с переменной |
|
[VARBINARY] |
длиной |
|
|
|
|
Картинка |
большой двоичный объект с переменной длиной |
|
[LONGVARBINARY] |
|
Числовой |
Числа [NUMERIC] |
десятичные числа с фиксированной точкой |
|
Tiny Integer [TINYINT] |
является знаковым целым [-27;27-1] |
|
|
|
|
Короткое целое |
знаковое целое в диапазоне от [-215; 215-1] |
|
[SMALLINTEGER] |
|
|
|
|
|
Целое [INTEGER] |
знаковое целое в диапазоне от [-231;231-l] |
|
Длинное целое |
целое между -[-263;263-l] |
|
[BIGINT] |
|
|
|
|
|
Десятичное [DECIMAL] |
десятичные числа с фиксированной точкой |
|
|
|
|
Вещественное [REAL] |
число с плавающей точкой одинарной точности, |
|
|
поддерживающее 7 разрядов в мантиссе [-2128;-2- |
|
|
149] и [2-149;2128-1] |
|
С плавающей точкой |
число с плавающей точкой двойной точности с |
|
[FLOAT] |
15-разрядной мантиссой. |
|
|
[-21024;-2-1074] и [2-1074;21024-l] |
|
С двойной точностью |
представляет число с плавающей точкой двойной |
|
[DOUBLE] |
точности с 15-разрядной мантиссой [-21024;-2-1074] и |
|
|
[2-1074;21024-l] |
Логический |
Логический |
Предназначен для хранения и обработки |
|
[BOOLEAN] |
логических значений Истина/Ложь, Да/Нет |
|
|
|
Дата/Время |
Дата [DATE] |
дата, содержащая день, месяц и год. |
|
Время [TIME] |
время, состоящее из часов, минут и секунд. |
|
Дата/Время |
представляет DATE плюс TIME |
|
[TIMESTAMP] |
|
Таблица 6.2.
Свойства полей

- 199 -
Свойство |
|
|
Описание |
|
|
|
|
Задает длину данных для поля. Для десятичных полей - |
|||||
|
это максимальная длина введенного числа, для бинарных |
|||||
|
полей - это длина блока данных, для текстовых |
|||||
Длина |
устанавливает |
максимальное число |
знаков |
для ввода в |
||
поле (по умолчанию 50, предельное значение 255 |
||||||
|
||||||
|
символов). Если заданное значение будет длиннее |
|||||
|
максимально допустимого для этой базы данных, то оно |
|||||
|
будет автоматически скорректировано. |
|
||||
|
При вводе данных в таблицу, это значение будет |
|||||
Значение по |
использоваться в каждой новой записи в том случае, если в |
|||||
данное поле не будет введена информация. |
Значение по |
|||||
умолчанию |
||||||
умолчанию должно соответствовать формату ячеек, |
||||||
|
||||||
|
указываемому ниже. |
|
|
|
||
|
|
|
|
|||
Пример формата |
Определяет формат вывода данных. |
|
|
|||
|
|
|
|
|
|
|
|
Устанавливает, |
что |
поле |
будет |
содержать |
|
|
автоинкрементные значения. В этом случае, нет |
|||||
|
возможности непосредственно вводить данные в поле, |
|||||
Автозначение |
поскольку для каждой новой записи этому полю будет |
|||||
|
автоматически присвоено уникальное значение (которое |
|||||
|
получается, благодаря увеличению на единицу значения из |
|||||
|
предыдущей записи). |
|
|
|
Определяет режим обязательного ввода информации в Обязательное поле данное поле. Если указано "Да", это означает, что в поле
обязательно должны быть введены данные.
Десятичные знаки
Задает число знаков, стоящих после запятой.
Чтобы задать тип данных определенного поля, необходимо в режиме дизайна таблиц, щелкнуть, левой кнопкой мыши в столбце Тип данных
соответствующей строки, после чего выбрать в списке требуемый тип и задать параметры выбранного типа в разделе Свойства поля.
К основным типам данных в СУБД Base можно отнести текстовый,
числовой, двоичный, логический типы, а также тип Дата/Время. Текстовый
предназначен для хранения строковых данных различной длины. Двоичный
предназначен для хранения бинарных объектов различной длины. Числовой
используется для обработки чисел различного размера и формата. Логический
предназначен для хранения и обработки логических значений. Дата/Время
предназначен для значений календарных дат и времени. В таблице 6.1. приведен список типов данных Base.

- 200 -
Рис. 6.5 Диалоговое Окно «Формат поля»
При задании типа данных, используемых в поле, необходимо учитывать характер значений данных. Например, нельзя хранить текст в поле числового типа. При формировании размера поля нужно знать количество символов,
количество байт записи, а также представлять операции, которые должны производиться со значениями в поле. Например, суммировать значения можно в полях, имеющих числовой формат, а значения в текстовых полях суммировать нельзя.
Стоит остановиться на обработке строк фиксированной длины Текст
(фикс.)[CHAR]. Эта обработка заключается в том, что СУБД дополняет строку до нужной длины пробелами. Т.е. когда поле Текст (фикс.)[CHAR] извлекается из БД, драйвер конвертирует его в объект с заданной длиной и пробелами в конце. И наоборот, когда объект записывается в поле Текст (фикс.)[CHAR]
СУБД преобразует его, дополнив с конца пробелами до заданной длины.
Типы данных DECIMAL и NUMERIC похожи. Оба представляют собой десятичные числа с фиксированной точкой. Эти типы принимают два параметра