СУБД
Лабораторная работа № 2
Создание таблиц, связей, кодов многотабличных реляционных БД
(баз данных)
Задание по работе
1.1. Законспектировать незнакомый материал раздела 2.
1.2. Выполнить задания из раздела 3.
1.3. Ответить на вопросы раздела 4 и защитить работу.
Создание объектов (таблиц) баз данных
Основным структурным компонентом реляционных баз данных являются таблицы. В таблицах хранятся вводимые данные. Внешне каждая таблица похожа на таблицы, с которыми работают на бумаге, — они состоят из столбцов, называемых полями, и строк, называемых записями. Каждая запись таблицы содержит всю необходимую информацию об отдельном элементе базы данных. Например, запись о студенте может содержать фамилию, имя, отчество, дату рождения, должность и т.п.
При разработке структуры таблицы прежде всего необходимо определить названия полей, из которых она должна состоять, типы полей и их размеры. Каждому полю таблицы присваивается уникальное имя, которое не может содержать более 64 символов. Имя желательно делать таким, чтобы функция поля узнавалась по его имени. Далее надо решить, данные какого типа будут содержаться в каждом поле. Ниже представлены типы данных в программной системе баз данных Access и их описание.
Тип данных | Описание |
Текстовый (Значение по умолчанию) | Текст или числа, не требующие проведения расчетов, например номера телефонов (до 255 знаков) |
Числовой | Числовые данные различных форматов, используемые для проведения расчетов |
Дата/время | Для хранения информации о дате и времени с 100 по 9999 год включительно |
Денежный | Денежные значения и числовые данные, используемые в математических расчетах, проводящихся с точностью до 15 знаков в целой и до 4 знаков в дробной части |
Поле MEMO | Для хранения комментариев; до 65535 символов |
Счетчик | Специальное числовое поле, в котором Access автоматически присваивает уникальный порядковый номер каждой записи. Значения полей типа счетчика обновлять нельзя |
Логический | Может иметь только одно из двух возможных значений (True/False, Да/Нет) |
Поле объекта OLE | Объект (например, электронная таблица Microsoft Excel, документ Microsoft Word, рисунок, звукозапись или другие данные в двоичном формате), связанный или внедренный в таблицу Access |
Гиперссылка | Строка, состоящая из букв и цифр и представляющая адрес гиперссылки. Адрес гиперссылки может состоять максимум из трех частей: текст, выводимый в поле или в элементе управления; путь к файлу (в формате пути UNC) или к странице (адрес URL). Чтобы вставить адрес гиперссылки в поле или в элемент управления, выполните команду Вставка, Гиперссылка |
Мастер подстановок | Создает поле, в котором предлагается выбор значений из списка или из поля со списком, содержащего набор постоянных значений или значений из другой таблицы. Это в действительности не тип поля, а способ хранения поля |
Рассмотрим составление таблиц (объектов) для базы данных «Студенты» (рис. 1):
1. Студенты
Эта таблица отводится для хранения основных сведений о студентах. Сведения могут быть как неизменяемые за весь период обучения (имя отчество, дата рождения, пол и т.д.) так и изменяемые один раз или многократно в течения периода обучения (курс, группа, подгруппа, место жительства). В пределах одной группы могут быть однофамильцы или даже люди с одинаковыми фамилиями и именами, поэтому однозначно определить записи по фамилии студентов не возможно. Поэтому здесь введён атрибут Номер_Студента – уникальный числовой идентификатор (код) присваиваемый обучаемому студенту. В принципе этот идентификатор нет необходимости знать для работы с базой данных и он может быть скрыт от пользователей, он служит только для внутренних целей.
Атрибут Тип_Студента. Он был введён для удобной реализации всех задач, выполняемых деканатом, по группировке студентов и может принимать такие значения как Отчисленный, Находящийся_в_академическом_отпуске, Обычный, Востановившийся и т. д. Это освобождает от необходимости заводить отдельную таблицу, например, на отчисленных студентов, а также упрощает операции обратного зачисления в число студентов, если он решил восстановиться. Таким образом исключается дублирование записей. Информация обо всех студентах хранится в одном месте, что упрощает задачу сохранения целостности базы данных.
2. Дисциплины (Номер_дисциплины, Название, Тип_дисциплины).
Данная сущность отводится для хранения списка дисциплин участвующих в формировании учебного плана, по которому производится обучение в группах и, соответственно, оценка успеваемости каждого студента. Как и для предыдущей сущности для каждую дисциплину однозначно определяет её номер идентификатор, который автоматически увеличивается на единицу с вводом каждой новой дисциплины. Атрибут Тип_дисциплины определяет классификацию дисциплин и может принимать такие значения как: гуманитарная, техническая, общеобразовательная и т. д.
3. ПланНаСеместр (Номер_дисциплины, Семестр, Лекции, Семинары, Лабораторные_работы, Форма_контроля).
Данная сущность представляет собой расписание дисциплин по семестрам т.е. учебный план. Первичный ключ этой сущности состоит из двух атрибутов. Номер_дисциплины – тот самый уникальный идентификатор, который определяет каждую запись в таблице “Дисциплины”. Атрибут Семестр является просто номером семестра в котором планируется читать данную дисциплину (на физическом факультете существует только дневная форма обучения и весь период обучения занимает 10 семестров). Атрибуты Лекции, Семинары, Лабораторные_работы определяют комплекс мероприятий, который планируется проводить при обучении: они могут присутствовать или нет и дают только исключительно дополнительную информацию. Атрибут Форма_контроля может принимать значения зачет или экзамен. Сущность также позволяет отобразить тот факт, что дисциплина может преподаваться в течении нескольких семестров, причём в разных формах (лекции, семинары, лабораторные работы) и их комбинациях с разными формами контроля знаний по данной дисциплине в конце семестра.
4. Экзамены (Номер_студента, Номер_дисциплины, Семестр, Результат).
Сущность отражает успеваемость студентов по дисциплинам указанных в учебном плане. Атрибут Номер_студента – уникальный номер студента присвоенный ему в сущности “Студенты”. Атрибут Номер_дисциплины указывает на дисциплину определённую в таблице “Дисциплины”. Третий атрибут первичного ключа – Семестр – введён для случая, когда дисциплина читается в течение нескольких семестров и следовательно знания должны быть оценены во всех семестрах согласно учебному плану. Атрибут Результат представляет оценку по данной дисциплине, которая может быть как числом (2,3,4,5), так и строкой (зачёт, незачёт).
5. Аттестация (Номер_студента, Номер_дисциплины, Семестр, Номер_атестации, Результат).
Сущность отражает успеваемость студентов по аттестациям, которые проводятся в течении семестра. Назначение атрибутов первичного ключа Номер_студента, Номер_дисциплины, Семестр точно такое же, как и для сущности “Экзамены”, только сюда введён дополнительный атрибут Номер_атестации, который определяет номер аттестации. Количество аттестаций в принципе не ограничено и определяется лишь учебным планом. На физическом факультете в течение каждого семестра проводиться лишь две аттестации.
|
|

|
|
|
![]() | |||
|
|

| |||
|
3. Задание по работе
Составить таблицы и указать связи в БД.
1. Пример связей между таблицами по ключевым названиям.
Таблицы: Классы – ученики – предметы – оценки – учителя.
![]() |
2. Пример связей между таблицами по цифровым ключам.
|
|
Код класса | Классы |
Класс1 | |
Класс2 | |
Класс3 |
Код пред | Назван |
Русск. яз | |
История | |
Информ. |
Код ученика | Фамил | Имя | Код класса |
1фам | 1 имя | ||
2 фам | 2 имя | ||
3 фам | 3 имя |
| |||
![]() |
Код учителя | Фам | Имя | Отч |
1 фам | 1 имя | 1 отч | |
2 фам | 2 имя | 2отч | |
3 фам | 3 имя | 3отч |
|
|
Код ученика | Код пред | Код учителя | Оценка |
![]() | |||||
![]() | |||||
![]() | |||||
3.1. Моя библиотека: Разделы – Авторы – Персонажи.
3.2. Товары: Магазины – Отделы – Товары – Заказы – Продавцы.
3.3. Телефонный справочник: Разделы – ФИО – Номера.
3.4. Успеваемость: Группа – Предметы – Преподаватели – Оценки.
3.5. Выбрать самостоятельно….
4. Вопросы к защите работы
4.1. Назвать составные части таблиц БД.
4.2. Назначение ключевых полей БД.
4.3. Принцип создания связей между таблицами.
4.4. Назвать типы полей используемых в таблицах.
4.5. Назвать преимущества многотабличных БД.