Методички по лабам ПрБД, 2 курс 3 семестр (для ИВТ и т.п.) / ПБД_метод к лабам_часть 2_v03 [2022-2023]
.pdf
Примечание:
Рекомендуется имя первого поля (столбец) в таблице обозначать символами «Id» и присваивать ему тип INT (целое), длина этого поля прогнозируется максимальным числом строк, которое может содержаться в таблице. Тип поля INT использует 4 байта для хранения значения. Минимально значение -2147483648, максимальное 2147483647. Беззнаковый INT (unsigned) хранит значения от 0 до 4 294 967 295.
Имена всех следующих полей и их характеристики определяются из смысловых (семантических) особенностей информации, подлежащей хранению в таблице базы данных.
Помимо обычных характеристик столбцов хранимой таблицы базы данных, каждая таблица должна иметь столбец (столбцы) для идентификации уникальности объектов, отображаемых в данной хранимой таблице. Такой столбец (столбцы) получает статус ключа и в форме Рис. 7 фиксируются в столбце Индекс (значение Primary).
Служебное слово auto_increment означает, что значение поля формируется автоматически, используя алгоритм счетчика. Т.е., если в хранимую таблицу будет добавляться новая строка, то значение поля с казанным свойством auto_increment будет формироваться из значения поля предыдущей строки плюс единица.
Сохраните созданную таблицу (кнопка Сохранить в нижней правой части экрана). В результате в левой части экрана под названием вашей БД отобразится созданная таблица.
1.2.4Изменение структуры таблицы
В ходе предпроектного обследования может выясниться, что необходимо отредактировать структуру таблицы. Выделите в левом списке нужную таблицу перейдите на вкладку Структура в центре экрана отобразится структура вашей таблицы.
Для редактирования уже существующего столбца установите чек-бокс напротив наименования столбца, который собираетесь редактировать и нажните на ссылку Изменить (Рис. 8). В открывшемся окне внесите требуемые изменения и нажмите на кнопку Сохранить. Изменения отобразятся в структуре таблицы.
11
Рис. 8 – Редактирование структуры таблицы
Для добавления новых атрибутов в нижней части экрана укажите количество добавляемых столбцов, а также можно указать местоположение новых атрибутов и нажмите кнопку Ок (Рис. 9). В открывшемся окне внесите данные нового атрибута и нажмите на кнопку Сохранить.
Рис. 9 – Добавление нового атрибута
12
1.2.5Заполнение таблицы данными
Приступим к заполнению информацией созданной таблицы. Перейдите на вкладку Вставить и в поля Значения введите значения.
Рис. 10 – Заполнение записей
Если заполнили все данные для первой строки таблицы, то следует нажать кнопку ОК (Рис. 10) и на экран будет выведено следующее окно (Рис. 11). Вкладка Обзор станет доступной. При переходе на вкладку Обзор в центральной части отобразятся все записи таблицы.
Рис. 11 – SQL-запрос о вводе данных
13
Рис. 12 – Таблица с заполненными данными
1.3Создание пользователей БД
Примечание:
Данный раздел выполнить только на локальном сервере (на домашней компьютере). В вузе у студентов отсутствуют права для назначения и задания привилегий пользователя.
Часто при работе с отдельной БД необходимо определить конкретные роли пользователей с указанием их прав доступа. Вы можете создавать пользователей, назначать им определенные права, а также удалять пользователей.
Сначала перейдите к началу процесса (
), выберите вашу базу данных и затем перейдите на вкладку Привилегии (Рис. 13).
Рис. 13 – Вкладка Привилегии
14
Добавьте здесь новую учетную запись пользователя, добавив его имя, хост и пароль (Рис. 14). Для примера использован пароль 12345. После ввода всех данных нажмите на кнопку Добавить пользователя.
Рис. 14 – Создание нового пользователя
В результате вы увидите список пользователей вашей БД (Рис. 15).
Теперь по ссылке Редактирование привилегий перейдите в следующее окно (Рис. 16) и там задайте требуемые права пользователя. После чего сохраните изменения.
15
Рис. 15 – Перечень пользователей БД
Рис. 16 – Окно задания привилегий
Чтобы удалить созданного пользователя, необходимо перейти в основное окно phpMyAdmin, выбрать вкладку Пользователи. Выбрать пользователя, которого планируете удалить и нажать на кнопку Удалить выделенного пользователя (Рис. 17).
16
Рис. 17 – Окно Пользователи
Задание на выполнение лабораторной работы
1.Ознакомиться с основными возможностями среды phpMyAdmin.
2.Создать новую базу данных с помощью приложения phpMyAdmin.
3.Создать в новой БД две таблицы в соответствии с вашим индивидуальным вариантом. Для каждой таблицы должны быть заданы идентификаторы (первичные ключи).
4.В таблицы необходимо добавить 15 – 20 записей.
5.Создать 2-3 пользователей и назначить им разные привилегии (на локальном сервере).
6.Подготовить отчет.
Требования к отчету
Отчет по лабораторной работе оформляется в печатном виде. Защита работы включает в себя проверку знания студентом теоретического материала, а также практической части лабораторной работы. Отчет должен включать краткое описание последовательности шагов выполненной работы с соответствующими скриншотами.
Все примеры должны быть сохранены на учебном сервере или на диске студента.
17
Лабораторная работа №2. Создание структуры нормализованной БД в phpMyAdmin
Тема: Разработка инфологической модели базы данных в phpMyAdmin
Цель лабораторной работы: в ходе выполнения лабораторной работы в phpMyAdmin необходимо создать структуру базы данных с соблюдением требований аппарата нормальных форм.
Задачи:
1.Научиться связывать между собой таблицы.
2.Научиться создавать логическую модель в phpMyAdmin.
3.Внести записи во все созданные таблицы.
2.1Общие теоретические сведения
Существует несколько концепций моделей баз данных (иерархическая, сетевая, объектная, реляционная). Наиболее распространенной моделью является реляционная модель, которая очень тесно переплетается с принципами объектно-ориентированного анализа и еще одного популярного подхода в моделировании данных – ER-модели (модель «сущностьсвязь»).
ER-модель удобна для начального проектирования, поскольку она интуитивно понятна большинству пользователей. В ней выделяются понятия сущности (основные объекты базы), атрибуты (свойства сущности) и связи (взаимодействия между сущностями). Реляционная модель представляет всю базу данных как набор связанных таблиц. Большинство таблиц отвечает за хранение информации о сущностях (столбцы таблиц характеризуют их атрибуты). Среди атрибутов сущности выделяют ключевые атрибуты – атрибуты, которые являются идентифицирующими, точно определяющими запись, объект сущности. С помощью внедрения ключевых атрибутов одних сущностей (родительские таблицы) в качестве столбцов в другие таблицы (дочерние) реализуются различные связи между сущностями (один- к-одному (1:1), один-ко-многим (1:N) и многие-ко-многим (N:M)).
ER-модель должна быть нормализована, т.е. все таблицы вашей БД должны соответствовать как минимум трем нормальным формам:
−1НФ: таблица находится в 1НФ, если все ее поля содержат только простые неделимые значения.
18
−2НФ: таблица находится во 2НФ, если она удовлетворяет 1 ФН и неключевые поля функционально полно зависят от первичного ключа.
−3НФ: таблица находится в 3 НФ, если она удовлетворяет требованиям 2НФ и не содержит нетранзитивных зависимостей.
Нормализация – это процесс организации данных в БД, включающий создание таблиц и установление отношений между ними в соответствии с правилами, которые обеспечивают защиту данных и делают БД более гибкой, устраняя избыточность и несогласованные зависимости.
Более подробно вопросы создания ER-модели и применения аппарата нормальных форм освещены в [1, 2].
Примечание:
Корректнее сначала создать структуру всех таблиц БД (ER-модель), создать связи между таблицами и только потом вносить записи в сами таблицы.
Для последующих иллюстраций будет рассмотрен пример автоматизации книжного магазина. Книжный магазин – торгово-закупочная фирма, которая осуществляет продажу книгопечатной продукции. На детскую и профессиональную литературу спрос есть практически всегда. Основной проблемой этого бизнеса является наличие большого ассортимента и необходимость его систематизации. Одним из методов повышения рентабельности этого бизнеса является автоматизация книжного магазина. Она упрощает операционные процессы для продавцов и делает работу руководителей более эффективной. Кроме того, автоматизация должна комплексно решать вопрос увеличения клиентского потока и повышения лояльности покупателей.
Пусть требуется хранить и управлять информацией об имеющемся ассортименте и их направлении (жанры, серии книг, возрастные ограничения и пр.). Должно поддерживаться ведение каталогов книг по наименованию, автору, изданию и прочим параметрам. В БД должна храниться информация о клиентах и сделанным ими покупках и предпочтениях. Должно быть предусмотрено получение различных отчетов.
Для рассмотренного примера упрощенная ER-модель представлена ниже (Рис. 18).
19
Рис. 18 – ER-модель рассматриваемого примера
2.2 Создание ER-модели в PhpMyAdmin
2.2.1Связывание через внешние ключи
В ER-модели связь между таблицами организуется через механизм внешних ключей. Практика показала, что связи удобно держать в самой базе данных. Все дело в ограничениях и действиях при изменении, которые можно наложить на связи. Например, можно запретить удалять категорию, если с ней связана хотя бы одна заметка; или удалить все заметки, если удалена категория; или установить NULL в связующее поле. В любом случае, с помощью связей повышается отказоустойчивость и надежность приложения.
Требование: движок таблиц должен быть InnoDB.
Для того, чтобы связать таблицы по полям, необходимо сначала добавить в индекс связываемые поля. Перед началом работы убедитесь,
20
