Группа Т(О), ТГ(О), С(О)–24-02, 2025 год
Занятие по рабочей программе №9
Дисциплина: ОД.08 «Информатика»
Раздел 3. Информационное моделирование.
Тема: Практическая работа №5. Реляционные базы данных. Таблицы.
Цель занятия: Дидактическая:
сформулировать представление студентов о Таблицах и реляционных базах данных;
выяснить различные подходы к этапам проектирования баз данных;
определение Системы управления базами данных;
систематизировать и объяснить сущность работы с массивами данных;
углубить и закрепить знания по дисциплине «Информатика».
Воспитательная:
развивать коммуникативные способности;
развивать аналитические способности;
развивать творческий подход к процессу обучения.
воспитывать самостоятельность, дисциплинированность;
стимулировать студентов к изучению дисциплины;
побуждать к формированию активной жизненной позиции;
прививать уважение и любовь к будущей профессии.
Вид занятия: практическое занятие.
Тип занятия: обобщение и систематизация знаний.
Форма проведения занятия: репродуктивная и эвристическая беседа.
Междисциплинарные связи:
Обеспечивающие Математика, Охрана труда, Безопасность жизнедеятельности.
Обеспечиваемые
Информационные технологии в профессиональной деятельности, и др.
Методическое обеспечение: опорный конспект.
Литература:
Филимонова, Е. В. Информатика и информационные технологии в профессиональной деятельности: учебник / Е. В. Филимонова. – Москва: Юстиция, 2019. – 213 с. – (Среднее профессиональное образование). - ISBN 978-5-4365-2703-1.
Зимин, В. П. Информатика. Лабораторный практикум в 2 ч. Часть 1 : учебное пособие для среднего профессионального образования / В. П. Зимин. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2023. — 126 с. — (Профессиональное образование). — ISBN 978-5-534-11851-3. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/514893
ХОД ЗАНЯТИЯ
Ознакомление с темой, целью и планом занятия.
Тема: ПР №5. Таблицы и реляционные базы данных.
Цель работы: Закрепить представление о структурированном типе данных;
научиться осуществлять построение концептуальной модели БД с заданными свойствами.
ПЛАН
Таблица как важная часть реляционной БД.
Концептуальная модель базы данных.
Подводим итоги проектирования.
Изложение и изучение нового материала, практическое занятие.
ЛИТЕРАТУРА: [1], стр.
Реляционная база данных
Н
а занятии изучим особенности и структуру реляционных данных, а также разберём пример создания этих БД.
Рассмотрим проектирование, составим концептуальную модель данных. Узнаем, что такое объект и нормализация данных, обсудим, на что обратить внимание на этапе проектирования баз данных.
1. Таблица как важная часть реляционной БД
Всем известно, что реляционная база данных состоит из таблиц. При этом каждая таблица включает в себя столбцы (поля либо атрибуты) и строки (записи либо кортежи).
Таблицы в таких БД обладают следующими свойствами: - столбцы размещаются в определённом порядке, формируемом при создании таблицы. Таблица может не иметь ни одной строки, однако хотя бы один столбец должен быть обязательно; - в таблице не может быть 2-х одинаковых строк. Если вспомнить математику, то такие таблицы называют отношениями (relation). Именно поэтому данные БД и считаются реляционными; - каждый столбец в пределах таблицы имеет уникальное имя, а все значения в одном столбце должны быть одного типа (дата, текст, число и т. п.); - на пересечении строки и столбца может быть только атомарное значение (значение, не состоящее из группы значений). Таблицы, которые удовлетворяют этим условиям, считаются нормализованными.
1.1. Приведём пример.
Допустим, вы хотите создать базу данных Интернет - форума. На форуме есть зарегистрированные пользователи, создающие темы и оставляющие сообщения в данных темах. Вся эта информация и должна размещаться в базе данных.
В теории всё можно расположить в одной таблице, а именно:
Однако такое расположение противоречит атомарности, причём в столбцах «Созданные сообщения» и «Созданные темы» возможно неограниченное число значений. Целесообразнее всего разбить таблицу на три:
Теперь таблица «Пользователи» соответствует правилам. Но вот таблицы «Сообщения» и «Темы» - нет, т. к. не должно быть 2-х одинаковых строк. В нашем же случае один и тот же пользователь может написать два одинаковых сообщения:
А ещё давайте вспомним о том, что каждое сообщение должно относиться к какой-нибудь теме. Для решения этого вопроса в реляционных базах данных используют ключи.
1.2. Ключи в БД.
Первичный ключ (РК, primary key) - столбец, значения которого различны во всех строках. РК бывают логические (естественные) и суррогатные (искусственные).
Например, для таблицы «Пользователи» первичным ключом может быть столбец e-мail, т. к. не бывает 2-х пользователей с одним и тем же e-mail.
На практике для хранения и обработки данных рекомендуют применять суррогатные ключи (их использование позволит абстрагировать РК от реальных данных). Это важно, если пользователь, вдруг, сменит e-mail, а ведь первичные ключи нельзя менять.
Суррогатный ключ - это дополнительное поле в БД. Обычно это уникальный id (порядковый номер записи), хотя принцип может быть и другой, главное - уникальность.
Вносим первичные ключи в наши таблицы:
Заметьте, что каждая запись в таблице уникальна. Осталось лишь установить соответствие между сообщениями и темами, используя первичные ключи. Добавляем в таблицу с сообщениями ещё одно поле:
Теперь становится ясно, что сообщение id=2 относится к теме «О рыбалке» (id=4), которая создана Васей, а остальные принадлежат теме «О рыбалке», созданной Кириллом (id=1). Такое поле будет называться внешний ключ (FK, foreign key). При этом каждое значение данного поля сопоставляется с каким-либо первичным ключом из таблицы «Темы». В результате устанавливается однозначное соответствие между темами и сообщениями.
Ещё момент: допустим, добавляется новый пользователь по имени Вася.
Как узнать, какой же из «Васей» оставил сообщение? Для этого поля «Автор» в наших таблицах «Сообщения» и «Темы» мы тоже сделаем внешними ключами:
Итак, наша база данных фактически готова. Схематично она выглядит так:
В этой небольшой базе данных лишь 3 таблицы. А что делать, если их 10 либо 200? Ясно, что всё не так просто. Именно поэтому любое проектирование реляционных баз данных начинается с разработки концептуальной модели данных.
2. Концептуальная модель базы данных
Под концептуальной моделью понимают отражение предметной области для разрабатываемой базы данных. Если не вдаваться в теорию, то речь идёт о некой диаграмме с общепринятыми обозначениями: - вещи обозначаются прямоугольниками; - атрибуты объекта овалами; - связи в таблицах ромбами; - мощность и направление связей стрелками (одинарными, двойными).
Простой пример - интернет-магазин. В нём есть товары, поставляемые поставщиками и заказываемые покупателями. Это три объекта и две связи:
Делая поставку, поставщик подтверждает её документами. Аналогично и с покупателем. Таким образом, и поставку, и покупку можно рассматривать в качестве самостоятельных объектов.
Итого 5 объектов и 4 связи. Из них: - 2 связи типа «один ко многим» (один поставщик может делать несколько поставок; один покупатель может делать несколько покупок); - 2 связи типа «многие ко многим» (каждая поставка может включать несколько товаров, причём одинаковый товар может быть в нескольких поставках; аналогичная ситуация по линии «Покупка - Товар»).
Но давайте вспомним, что связи типа «многие ко многим» недопустимы в реляционных моделях данных, поэтому такие связи надо менять на связи типа «один ко многим». Делаем это, добавляя промежуточный объект:
Видим, что в структуре появились ещё 2 объекта - «Журнал поставок» и «Журнал покупок» со связями типа «один ко многим» (каждый журнал может включать несколько поставок/покупок, но каждая поставка/покупка включает лишь один журнал).
2.1. Атрибуты таблицы.
Каждый объект Интернет-магазина имеет свои атрибуты:
В результате мы создали концептуальную модель будущей базы данных. Точнее говоря, речь идёт лишь о части БД, т. к. мы не учли склады, сотрудников и т. п. Собственно, при обширной предметной области данные лучше разбить на несколько локальных областей. Как правило, объём должен быть в пределах 5-7 объектов. И лишь после создания локальных моделей выполняется их объединение в общую сложную схему. В нашем случае ограничимся созданной моделью. Однако теперь преобразуем её в реляционную модель данных.
2.2. Проектирование реляционной базы данных. Преобразование модели в реляционную.
Преобразование концептуальной модели данных в реляционную - важная часть проектирования БД. Процес включает в себя: - построение набора предварительных таблиц; - указание РК; - выполнение нормализации.
Из набора таблиц состоят наши объекты, а из полей таблиц — атрибуты объектов:
Итак, мы определились с таблицами, полями, РК и FK. Следует отметить, что в таблицах «Журнал покупок» и «Журнал поставок» РК составные, т. к. состоят из 2-х полей.
Что касается нормализации, то под ней понимают обратимый и пошаговый процесс, при котором исходная схема меняется другой схемой, в которой таблицы характеризуются более простой и логичной структурой. Это нужно по следующим причинам: 1. Устранение избыточности данных. Вспомним нашу таблицу:
Очевидно, что в поле «Темы» одни и те же названия встречаются регулярно. Для хранения таких данных нужны дополнительные ресурсы памяти. Кроме того, при дублировании данных можно допустить ошибку во время ввода значений атрибута, вследствие которой БД перейдёт в состояние несогласованности. 2. Устранение различных аномалий, связанных с обновлением, удалением, модификацией и пр. Пример аномалии модификации — чтобы поменять название темы, нам придётся смотреть все строки и менять название в каждой из них.
Нормализация бывает: - 1-й нормальной формы (1НФ); - 2НФ; - 3НФ; - НФБК (нормальной формы Бойса-Кодда); - 4НФ; - 5НФ.
Каждая форма накладывает определённые ограничения на данные разного уровня. В ходе нормализации база данных становится всё строже, подверженность аномалиям снижается.
Если говорить о реляционных базах данных, то минимум - это 1НФ. Однако в процессе проектирования специалисты по СУБД стремятся нормализовать базу хотя бы до уровня 3НФ, исключив тем самым избыточность данных и аномалии. Это важно, если мы стремимся получить качественный результат проектирования. Однако подробное описание нормализации данных выходит за рамки нашей статьи, поэтому давайте просто посмотрим, как будет выглядеть наша база на уровне 3НФ:
Итак, в процессе проектирования мы преобразовали концептуальную модель в реляционную. Следующий этап — реализация её в конкретной СУБД. Для этого потребуется как сама СУБД, так и знание языка SQL. Например, прекрасно подойдёт СУБД MySQL или какая-нибудь другая СУБД.
3. Подводим итоги проектирования
Проектирование БД - процесс небыстрый и достаточно трудоёмкий. Во время проектирования надо хорошо знать предметную область, учитывать все нюансы. Вся информация должна отображаться в виде таких элементов, как объекты, атрибуты, связи, причём проектирование успешно лишь тогда, когда всё сделано максимально рационально.
Вообще, взгляды на проектирование среди разработчиков могут различаться. Некоторые игнорируют теорию, руководствуясь лишь опытом и здравым смыслом. Другие во время проектирования отводят главную роль интуиции, считая проектирование искусством, которым владеют далеко не все. Как бы там ни было, знания никогда не бывают лишними.
Да, реляционная база данных - это не более чем хранилище, где хранятся данные. Однако от того, как грамотно вы его организуете, будет зависеть стабильность работы всего приложения, где используются эти самые данные.
В заключение, добавим, что умение проектировать базы вам никогда не помешает.
Вопросы и задания
Дайте определение базы данных.
Из чего состоит таблица в реляционной базе данных?
Какие бывают реляционные базы данных?
Примеры реляционной базы данных.
Какие типы полей вы знаете
ДОМАШНЕЕ ЗАДАНИЕ
Изучить материал занятия, составить конспект.
Ответить на вопросы и выполнить задания.
Сделать вывод о проделанной практической работе.
Перечень рекомендуемых учебных изданий, Интернет-ресурсов, дополнительной литературы.
Основные источники:
Информатика. 10 класс : учебник для общеобразоват. организаций: базовый и углубленный уровни / [А.Г.Гейн , А.Б Ливчак, А.И. Сенокосов, Н.А. Юнерман]. – 4-е изд. – М. : Просвещение, 2018. – 272 с. : ил. – ISBN 978-5-09-058130-1
Информатика. 11 класс : учебник для общеобразоват. организаций: базовый и углубленный уровни / [А.Г.Гейн, А.И. Сенокосов]. – 6-е изд. – М. : Просвещение, 2019. – 336 с. : ил. – ISBN 978-5-09-072326-8.
Электронные источники:
Зимин, В. П. Информатика. Лабораторный практикум в 2 ч. Часть 1 : учебное пособие для среднего профессионального образования / В. П. Зимин. — 2-е изд., испр. и доп. — Москва : Издательство Юрайт, 2023. — 126 с. — (Профессиональное образование). — ISBN 978-5-534-11851-3. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/514893
Зимин, В. П. Информатика. Лабораторный практикум в 2 ч. Часть 2 : учебное пособие для среднего профессионального образования / В. П. Зимин. — 2-е изд. — Москва : Издательство Юрайт, 2023. — 153 с. — (Профессиональное образование). — ISBN 978-5-534-11854-4. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/514918
Мойзес, О. Е. Информатика. Углубленный курс : учебное пособие для среднего профессионального образования / О. Е. Мойзес, Е. А. Кузьменко. — Москва: Издательство Юрайт, 2020. — 164 с. — (Профессиональное образование). — ISBN 978-5-534-07980-7. — Текст : электронный // ЭБС Юрайт [сайт]. — URL: https://urait.ru/bcode/455803 .
Советов, Б. Я. Информационные технологии : учебник для среднего профессионального образования / Б. Я. Советов, В. В. Цехановский. — 7-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2020. — 327 с. — (Профессиональное образование). — ISBN 978-5-534-06399-8. — Текст: электронный // ЭБС Юрайт [сайт]. — URL: https://urait.ru/bcode/450686 .
Новожилов, О. П. Информатика в 2 ч. Часть 1 : учебник для среднего профессионального образования / О. П. Новожилов. — 3-е изд., перераб. и доп. — Москва: Издательство Юрайт, 2020. — 320 с. — (Профессиональное образование). — ISBN 978-5-534-06372-1. — Текст : электронный // ЭБС Юрайт [сайт]. — URL: https://urait.ru/bcode/448995 .
Новожилов, О. П. Информатика в 2 ч. Часть 2 : учебник для среднего профессионального образования / О. П. Новожилов. — 3-е изд., перераб. и доп. — Москва: Издательство Юрайт, 2020. — 302 с. — (Профессиональное образование). — ISBN 978-5-534-06374-5. — Текст : электронный // ЭБС Юрайт [сайт]. — URL: https://urait.ru/bcode/448996
Гаврилов, М. В. Информатика и информационные технологии : учебник для среднего профессионального образования / М. В. Гаврилов, В. А. Климов. — 4-е изд., перераб. и доп. — Москва: Издательство Юрайт, 2020. — 383 с. — (Профессиональное образование). — ISBN 978-5-534-03051-8. — Текст: электронный // ЭБС Юрайт [сайт]. — URL: https://urait.ru/bcode/449286
Дополнительные источники:
Филимонова, Е. В. Информатика и информационные технологии в профессиональной деятельности: учебник / Е. В. Филимонова. – Москва: Юстиция, 2019. – 213 с. – (Среднее профессиональное образование). - ISBN 978-5-4365-2703-1.
Цветкова М.С., Информатика. Практикум для профессий и специальностей естественно-научного и гуманитарного профилей: : учеб. пособие для студентов учреждений сред. проф. образования / М.С. Цветкова, И.Ю. Хлобыстова. - 5-е изд., стер. - М. : Издательский центр "Академия", 2019. - 240 с. ISBN 978-5-4468-7901-4
Электронные источники:
Гаврилов, М. В. Информатика и информационные технологии : учебник для среднего профессионального образования / М. В. Гаврилов, В. А. Климов. — 4-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2021. — 383 с. — (Профессиональное образование). — ISBN 978-5-534-03051-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/469424
Акопов, А. С. Компьютерное моделирование : учебник и практикум для среднего профессионального образования / А. С. Акопов. — Москва : Издательство Юрайт, 2023. — 389 с. — (Профессиональное образование). — ISBN 978-5-534-10712-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/517999
Демин, А. Ю. Информатика. Лабораторный практикум : учебное пособие для среднего профессионального образования / А. Ю. Демин, В. А. Дорофеев. — Москва : Издательство Юрайт, 2023. — 133 с. — (Профессиональное образование). — ISBN 978-5-534-07984-5. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/516857
Преподаватель: Владимир Александрович Волков