
- •1. Цель лабораторной работы
- •2. Основные сведения
- •2.1. Информационные системы и базы данных
- •2.2. Основные элементы реляционных баз данных
- •2.3. Связывание таблиц
- •2.4. Запросы в бд
- •Субд org. Base
- •2.5.1. Общее описание
- •2.5.2. Проектирование и создание базы данных
- •2.5.3. Создание таблиц в oOoBase
- •2.5.4. Формирование связей между таблицами многотабличной реляционной бд (создание схемы данных)
- •2.5.5. Заполнение таблиц и организация форм в бд
- •2.5.6. Запросы
- •2.5.7. Отчеты
- •3. Порядок выполнения л/р
- •4. Контрольные вопросы
2.5.3. Создание таблиц в oOoBase
Для создания таблицы выбираем категорию объектов «Таблицы» в левой части окна приложения, а в правой верхней части этого окна - режим «Создать таблицу в режиме дизайна». В результате откроется окно Конструктора таблиц (рис.6). Создадим таблицу Факультет (facultet).
Рис. 6. Определение структуры таблицы в Конструкторе таблиц
Устанавливаем свойства полей:
• f_num - TINYINT, обязательное, длина 3, ключевое;
• f_name - VARCHAR, длина 50, необязательное.
После определения полей необходимо задать ключевое поле. В данной таблице это будет поле f_num. Для того чтобы сделать поле ключевым, необходимо активизировать правой кнопкой мыши указатель строки (слева от имени поля) и из выпадающего меню выбрать пункт «Первичный ключ». В результате слева от имени поля появится знак ключа. Далее сохраняем таблицу. В результате в правой нижней части окна приложения появляется таблица с именем fakultet. Ее содержание (пока отсутствующее) можно просмотреть, выбрав для зоны предварительного просмотра режим «Документ» (рис.7).
Рис.7. Новая таблица и режим предварительного просмотра
Далее аналогичным образом создадим еще шесть таблиц. Таблицу Специальность (special) со структурой:
• s_code - VARCHAR(6), ключевое;
• s_name - VARCHAR(50), обязательное;
• s_price - DECIMAL(6), знаков после запятой 0.
Следующая таблица – Группы (groups), в которой описываются номера групп, соответствующие специальности и курсы.
Описание полей таблицы groups:
• n_group - DECIMAL(4), знаков после запятой 0, первичный ключ;
• s_code - VARCHAR(6);
• f_num - TINYINT, длина 3;
• course - то же, что и f_num.
Теперь можно приступить к созданию таблицы - Списка студентов (spisok):
• n_zach - VARCHAR(6), первичный ключ;
• last - VARCHAR(50), обязательное;
• birth - DATE;
• n_group - DECIMAL(4), знаков после запятой 0;
• pay - VARCHAR(3).
Таблица Преподаватель (teacher):
• t_num - BIGINT, первичный ключ;
• t_fam - VARCHAR(30), обязательное;
• t_name- VARCHAR(10), обязательное;
• t_otch- VARCHAR(20), обязательное;
• kafedra- VARCHAR(50), обязательное;
• t_birth - DATE;
• stag - TINYINT, обязательное, длина 3.
Описание полей в таблице Дисциплина (predmet):
• p_code - TINYINT, первичный ключ;
• p_name - VARCHAR(30), обязательное;
• kol_chasov- INTEGER, обязательное;
Описание полей в таблице Сессия (session):
• code – INTEGER, первичный ключ;
• n_zach - VARCHAR(6), обязательное;
• t_num – BIGINT, обязательное;
•p_code - TINYINT, обязательное;
• date_sd- DATE, обязательное;
• bal- TINYINT, обязательное;
• semestr - TINYINT, обязательное;
• vid - VARCHAR(7), обязательное.
2.5.4. Формирование связей между таблицами многотабличной реляционной бд (создание схемы данных)
Формирование связей между таблицами происходит на основе внешних и соответствующих им первичных ключей связываемых таблиц. Первичные и соответствующие им внешние ключи должны быть одинаковы по типу, но могут отличаться по имени.
Сформируем связи между образованными выше таблицами. Для этого выбираем пункт верхнего меню Сервис -> Связи. Далее необходимо выбрать все таблицы из предложенного списка и вынести их на Рабочий стол OOBase (рис.8).
Рис.8. Выбор таблиц в режиме формирования Связей
После чего по одноименным полям различных таблиц (первичным и соответствующим внешним ключам) протягиваются связи. Например, для того чтобы сформировать связь между Группами и Факультетами, необходимо протянуть связь, не отпуская левой кнопки мыши, от поля f_num (Таблица groups) к полю f_num (Таблица fakultet). Аналогично формируются остальные связи до получения общей схемы данных – рис.9.
Рис. 9. Схема данных БД student