Progress-servis55.ru

Новости из мира ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Учебная база данных access

База данных Access Учебный процесс

Разработка базы данных для предметной области Учебный процесс.

Спроектировать базу данных УЧЕБНЫЙ ПРОЦЕСС. База данных должна хранить сведения о студентах вуза, собранных на основе входного документа, формировать учебную карточку студента, производить анализ об успеваемости студентов в группе, среднем балле студента, среднем балле в группе, среднем балле по предмету, в соответствии с выходной информацией, представленной на рисунках ниже. Организовать пользовательский интерфейс.
При реализации базы данных необходимо предусмотреть следующие ограничения: студент учится только на одном курсе (база ведет учет успеваемости за 1 год) и может сдать любой предмет; номер экзаменационной ведомости уникален; преподаватель ведет только один предмет; один и тот же предмет нельзя сдавать более одного раза в день.
База данных Access Учебный процесс содержит 4 таблицы, 8 запросов, 4 формы + главная кнопочная форма, 6 отчетов, 4 макроса. Данная база данных Access является учебной, подходит для дальнейшей оптимизации и доработки под собственные нужды.
Пояснительной записки нет!

Цель практических заданий – приобретение навыков анализа предметной области, проектирования базы данных, ее физической реализации в СУБД Access.
Результат выполнения работы представляется в виде базы Access, который должен содержать:
• структуру спроектированных таблиц,
• схему данных со связями между таблицами,
• формы, обеспечивающих интерфейс пользователя,
• запросы,
• отчеты,
• главную кнопочную форму.

Форма «Экзаменационная ведомость» — База данных Access Учебный процесс

Отчет «Учебная карточка студента» — База данных Access Учебный процесс

Отчет об успеваемости по группе — База данных Access Учебный процесс

Отчет «Средний балл по группе» — База данных Access Учебный процесс

Отчет «Средний балл по студенту» — База данных Access Учебный процесс

Отчет «Успеваемость по предметам» — База данных Access Учебный процесс

Готовая база данных БД Access Учебный процесс доступна для скачивания по ссылке ниже.

Скачать базу данных access Учебное заведение

Скачать базу данных access Учебное заведение

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

Структура готовой базы данных:

Рис. 1 Главная форма готовой базы данных «Учебное заведение».

Рис. 2 Страница Ввод-просмотр данных.

Рис. 3 Форма Учебный план.

Рис. 4 Форма Списки групп учебного заведения.

Рис. 5 Список студентов учебного заведения.

Рис. 6 Форма для ввода или поиска оценок.

Рис. 7 Список студентов группы отчёт.

Рис. 8 Действия внутри учебного заведения.

Готовая база данных организована в виде следующих таблиц:

Рис. 9 Готовая база данных «Учебное заведение». Схема данных. Схема данных базы данных «Учебное заведение» отображает связи таблиц «Учебные года», «Дисциплины», «Факультеты», «Специальности», «Учебные группы», «Учебный план», «Оценки», «Список студентов», «Списки групп».

Таблица «Учебные года». Структура таблицы «Учебные года»: учебный год, № пп.

Таблица «Учебные группы». Структура таблицы «Учебные группы»: № группы, курс, специальность.

Таблица «Списки групп». Структура таблицы «Списки групп»: учебный год, семестр, студент, № группы, примечание.

Таблица «Дисциплины». Структура таблицы «Дисциплины»: дисциплина.

Таблица «Факультеты». Структура таблицы «Факультеты»: факультет.

Таблица «Специальности». Структура таблицы «Специальности»: специальность, факультет.

Таблица «Список студентов». Структура таблицы «Список студентов»: код студента, фамилия, имя, отчество, дата рождения, пол, адрес, телефон.

Рис. 10 Готовая база данных «Учебное заведение». Таблица «Оценки». Структура таблицы «Оценки»: учебный год, семестр, студент, дисциплина, оценка.

Рис. 11 Готовая база данных «Учебное заведение». Таблица «Учебный план». Структура таблицы «Учебный план»: специальность, учебный год, курс, семестр, дисциплина, количество часов, вид контроля.

Скачать отчёт по базе данных с экранными формами бесплатно

Примерная цена 763 руб.

Точная цена зависит от способа оплаты.

Способы оплаты базы данных Access: WebMoney, Терминалы оплаты, Альфа-клик, Почта России, QIWI, SMS-оплата, Деньги@Mail.Ru, MTC, Мегафон, Яндекс.Деньги, Подарочный сертификат и другие

Скачать базы данных Access подобной тематики:

Ключевые слова: Скачать базу данных Учебное заведение; база данных access; бд access; субд access; базы данных access; access пример; программирование access; готовая база данных; создание база данных; база данных СУБД; access курсовая; база данных пример. Сохранена база данных в версии 2003. Откроется в 2007, 2010.

—>Категория : Контрольные, курсовые работы по базам данных MS Access. | —>Добавил : astor | —>Теги : база данных ВУЗ, база данных Учебное заведение, база данных студентов, бд учебное заведение, база данных Академия—>Просмотров : 18479 | —>Загрузок : 3742 | —>Рейтинг : 0.0 /

Поиск Яндекса по сайту

Для поиска базы данных access введите слово, например, «сотрудники» и нажмите кнопку

Создание базы данных «Учебный процесс» в MS Access

Этап создания таблиц, их размещения на носителях (дисках), установления связей между ними, задания условий ссылочной целостности, создание требуемых запросов, реализуемый в конкретной СУБД, называется созданием физической модели данных.

MS Access относится к настольным СУБД, входит в состав пакета MS Office и, как и многие другие СУБД, выполняет следующие функции:

1. Организация данных – создание таблиц данных и управление ими с целью модификации, добавления и удаления данных;

2. Связывание таблиц для обеспечения ссылочной целостности;

3. Анализ данных с помощью запросов;

4. Создание форм для добавления, удаления и поиска данных в таблицах;

5. Управление выдачей информации на печать – создание отчетов;

6. Защита всей БД паролем ее создателя;

7. Предоставление средств создания программных кодов на языке Visual Basic for Application (VBA) – макросов и модулей.

Реализуются все эти функции для каждой БД в одном файле с расширением .mdb. При распространении готовых приложений, модули для защиты от доступа иили соблюдения авторских прав выносятся в отдельный файл с расширением .mde. В этом случае БД Access состоит из двух файлов.

MS Access имеет три режима работы:

1. Режим запуска – режим работы без открытой базы данных, в котором производятся операции сжатия и шифровки БД.

2. Режим конструктора – создание таблиц, запросов, форм, отчетов.

Читать еще:  Поиск по полю в access

3. Режим выполнения – работа с таблицами, формами и т.д.

К объектам Access относятся: таблицы базы данных, запросы, а также объекты приложений – формы, отчеты, страницы доступа к данным, макросы и модули, которые представлены в окне базы данных Access. Все операции по работе с объектами базы данных и приложений начинаются в этом окне.

В Access таблицы создаются с помощью Мастера или Конструктора таблиц. Воспользовавшись любым из этих способов, создадим таблицы нашей БД, соответствующие их описаниям в текстовой форме (см. табл. 1). Для назначения ключевого поля при работе в Конструкторе таблиц следует установить курсор в нужное поле и выбрать пункт Ключевое поле из пункта главного меню Правка, или контекстного меню правой кнопки мыши, или нажать соответствующую кнопку на панели инструментов. Ключевое поле помечается символом ключа.

После создания таблиц вызовем Схему данных и создадим внешние связи таблиц. Для этого, в соответствии с описаниями связей в инфологической модели, нужно перетащить ключевые поля с ведущих таблиц на соответствующие поля дочерних таблиц. СУБД откроет окно, в котором будет указан автоматически определенный вид связи. Если связь установлена правильно, то в этом же окне включим переключатели обеспечения ссылочной целостности, каскадного удаления и каскадного обновления данных. В противном случае следует отменить установление связи, проверить, одинаковы ли типы полей, между которыми устанавливается связь, в обеих таблицах правильно ли проиндексированы поля и после этого повторить попытку.

Правила использования клавиатуры и мыши для перемещения по таблице, выделения и редактирования данных аналогичны используемым в электронных таблицах Excel с незначительными отличиями.

Для добавления новой записи в таблицу можно нажать на панели инструментов Access кнопку Новая запись, или перевести курсор на последнюю запись с помощью мыши или клавиатуры. Клавиша F2 является клавишей переключения между режимом редактирования (с выведенным курсором) и режимом перемещения. Для ввода длинного текста можно воспользоваться окном Область ввода, вызываемым нажатием SHIFT+F2.

Для отказа от последних несохраненных изменений нажмите на панели инструментов кнопку Отменить. Если изменения, внесенные в текущую запись, уже сохранены, или выполнен переход к другой записи, выберите в меню Правка команду Восстановить запись. Для отмены изменений, внесенных в текущее поле, нажимается клавиша ESC. Для того чтобы отменить изменения, внесенные во всю запись, клавиша ESC перед выходом из поля нажимается повторно. Отмена изменений становится невозможной при начале изменений следующей записи, применении или удалении фильтра или переходе в другое окно.

При попытке выйти из поля после ввода данных Access проверяет, являются ли введенные данные допустимыми для этого поля. Если значение не является допустимым, появляется предупреждающее сообщение. Для того чтобы выйти из поля, следует ввести правильное значение или отменить внесенные изменения.

Значение поля может оказаться недопустимым по следующим причинам:

· Значение несовместимо с типом данных поля (например, нельзя хранить текстовое значение в числовом поле).

· Данные нарушают условие на значение, заданное в свойстве Условие на значение этого поля.

· Поле, имеющее атрибут Обязательное, оставлено пустым.

· Обновление поля было отменено в макросе, связанном с событием До обновления, так как оно противоречит проверяемому условию.

Данные проверяются также при выходе из записи. Перед сохранением записи Access проверяет все условия, заданные в свойстве Условие на значение записи. Кроме того, если таблица, в которую вносятся изменения, имеет ключ или уникальный индекс, то проверяется, что изменяемая запись не содержит в этом поле или полях значений, совпадающих со значениями в других записях таблицы.

Применение подстановки для редактирования записей. Для каждого поля таблицы, кроме полей типа счетчика, на вкладке Подстановка конструктора таблиц можно задать элемент управления, который будет связан с этим полем для ввода и редактирования значений в режиме таблицы или формы. По умолчанию применяется элемент управления Поле (не путать поле таблицы как ее атрибут и поле ввода/редактирования значений как элемент управления!). Однако в ряде случаев для некоторых полей таблицы удобнее в качестве элемента управления назначить Поле со списком, позволяющего как вручную вводить значения, так и выбирать их из выпадающего меню, сформированного из значений другого поля этой или другой таблицы или запроса.

Например, в нашем случае, полеКодПреподавателя в таблице Дисциплинаможет принимать только такие значения, которые есть среди значений такого же поля в таблице Преподаватели, поле КодСтудента таблицы Пропуски – только значения соответствующего поля таблицы Студенты, а КодЗанятия таблицы Пропуски– только значения, определяемые набором значений такого же поля в таблице Занятия. Поэтому, для этих зависимых полей следует применить элемент управления Поле со списком, назначив в качестве источника строк для этого элемента таблицу, определяющую его возможные значения.

Рис. 2.Применение элемента управления Поле со списком для ввода значений в поле

Элемент управления Поле со списком позволяет выводить в нескольких столбцах выпадающего меню связанные значения из различных полей таблиц или запросов. Воспользуемся этой возможностью. Было бы нелепо требовать от человека, заполняющего наш “электронный журнал”, запоминания кодов всех студентов группы и преподавателей. Гораздо разумнее при вводе такого кода давать подсказку в виде фамилий иили другой поясняющей информации для каждого кода как, к примеру, изображено на рис. 2.

Исходя из вышеизложенного, зададим атрибуты элементов управления для полей КодПреподавателя таблицы Дисциплина и КодСтудента таблицы Пропускив соответствии с таблицей. Здесь Источник строк и Присоединенный столбец – имя таблицы и номер столбца (номер поля по порядку), откуда берутся допустимые значения; Число столбцов – количество отображаемых в выпадающем меню столбцов, соответствующих значениям в полях таблицы-источника; Ширина столбцов и списка – ширина (в см) каждого столбца и всего списка; Ограничиться спискам – разрешение на ввод данных, отсутствующих среди значений присоединенного столбца таблицы-источника.

Читать еще:  Ms access учебник
Имя поляЭлемент управленияИсточник строкПрисоеди-ненный столбецЧисло столбцовШирина столбцовШирина спискаОграничиться списком
Таблица Дисциплина
КодПреподавателяПоле со спискомПреподаватели2;2;2;2Да
Таблица Пропуски
КодСтудентаПоле со спискомСтуденты1;2;2;2Да

Для того чтобы заполнить поле КодЗанятия в таблице Пропуски, логично воспользоваться подстановкой, чтобы вместо кода занятия получить название группы, дату и пару. Это означает, что мы должны выбрать значения из поля Группа таблицы Дисциплина и полей Дата и Пара таблицы Занятия. В результате должна образоваться новая “виртуальная” таблица – таблица, не сохраняющаяся в ПЗУ компьютера, обновляющаяся при каждом обращении к ней и оперативно перестраивающаяся каждый раз, как только меняется любая из исходных таблиц. Такие таблицы создаются с помощью запросов.

Для построения нового запроса необходимо выбрать объект Запросы в окне БД нажать кнопку Создать. В Access существует несколько типов запросов, каждый из которых можно сформировать несколькими способами. Это будет видно в открывшемся окне выбора типа и средства создания запроса. Наш запрос на выборку и объединение полей из разных таблиц легко создается в Конструкторе запросов (рис. 3). Сначала необходимо указать все таблицы иили ранее созданные запросы, участвующие в новом запросе. Это делается аналогично добавлению таблиц в схему данных. Добавленные таблицы отображаются в окне таблиц конструктора. Причем, между таблицами отображаются постоянные связи (установленные в схеме данных).

Рис. 3.Создание запроса на выборку полей из двух связанных

таблиц в Конструкторе запросов

Далее, нужные поля таблиц поочередно «перетаскиваются» в строку Поле нижней части конструктора, в которой в табличном виде отображены параметры запроса. Для каждого выбранного поля можно указать следующие параметры: Имя таблицы (заполняется автоматически при выполненном нами перетаскивании поля или выбором из выпадающего меню при ручном вводе параметра Поле); Групповаяоперация ­­– вычисление выражения по данному полю (нахождение суммы значений в данном поле — Sum, подсчет количества записей — Count и т.д.); Сортировка – будут или нет записи, попавшие в результат запроса, отсортированы по данному полю, а если будут, то как (возрастание, убывание); Вывод на экран – отображается или нет данное поле в результате запроса; Условие отбора – установление при необходимости критерия выбора записей в результат запроса по данному полю; Или – продолжение установки критерия при присутствии в последнем логического оператора ИЛИ. Кстати, если среди параметров отсутствуют Имя таблицы или Групповая операция, то их при необходимости можно включить, используя контекстное меню или пункт Вид главного меню.

Таблица Пропуски
Имя поляЭлемент управленияИсточник строкПрисоединенный столбецЧисло столбцовШирина столбцовШирина спискаОграничиться списком
КодЗанятияПоле со спискомПодстановкаКодЗанятия-ДляПропуски2;2;2;2Да

Не нашли то, что искали? Воспользуйтесь поиском:

Создание базы данных в MS Access 2007: пошаговая инструкция

В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в Excel или Word.

Подобные хранилища используются для разработки информационных сайтов, интернет-магазинов и бухгалтерских дополнений. Основными средствами, реализующими данный подход, являются MS SQL и MySQL.

Продукт от Microsoft Office представляет собой упрощенную версию в функциональном плане и более понятную для неопытных пользователей. Давайте рассмотрим пошагово создание базы данных в Access 2007.

Описание MS Access

Microsoft Access 2007 – это система управления базами данных (СУБД), реализующая полноценный графический интерфейс пользователя, принцип создания сущностей и связей между ними, а также структурный язык запросов SQL. Единственный минус этой СУБД – невозможность работать в промышленных масштабах. Она не предназначена для хранения огромных объемов данных. Поэтому MS Access 2007 используется для небольших проектов и в личных некоммерческих целях.

Но прежде чем показывать пошагово создание БД, нужно ознакомиться с базовыми понятиями из теории баз данных.

Определения основных понятий

Без базовых знаний об элементах управления и объектах, использующихся при создании и конфигурации БД, нельзя успешно понять принцип и особенности настройки предметной области. Поэтому сейчас я постараюсь простым языком объяснить суть всех важных элементов. Итак, начнем:

  1. Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
  2. Сущность – отдельная таблица базы данных.
  3. Атрибут – заголовок отдельного столбца в таблице.
  4. Кортеж – это строка, принимающая значение всех атрибутов.
  5. Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
  6. Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
  7. SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.

Теперь, когда в общих чертах есть представление о том, с чем мы будем работать, можно приступить к созданию БД.

Создание БД

Для наглядности всей теории создадим тренировочную базу данных «Студенты-Экзамены», которая будет содержать 2 таблицы: «Студенты» и «Экзамены». Главным ключом будет поле «Номер зачетки», т.к. данный параметр является уникальным для каждого студента. Остальные поля предназначены для более полной информации об учащихся.

Итак, выполните следующее:

  1. Запустите MS Access 2007.
  2. Нажмите на кнопку «Новая база данных».
  3. В появившемся окне введите название БД и выберите «Создать».

Все, теперь осталось только создать, заполнить и связать таблицы. Переходите к следующему пункту.

Создание и заполнение таблиц

После успешного создания БД на экране появится пустая таблица. Для формирования ее структуры и заполнения выполните следующее:

  1. Нажмите ПКМ по вкладке «Таблица1» и выберите «Конструктор».
  2. Теперь начинайте заполнять названия полей и соответствующий им тип данных, который будет использоваться.

Создание и редактирование схем данных

Перед тем, как приступить к связыванию двух сущностей, по аналогии с предыдущим пунктом нужно создать и заполнить таблицу «Экзамены». Она имеет следующие атрибуты: «Номер зачетки», «Экзамен1», «Экзамен2», «Экзамен3».

Для выполнения запросов нужно связать наши таблицы. Иными словами, это некая зависимость, которая реализуется с помощью ключевых полей. Для этого нужно:

  1. Перейти во вкладку «Работа с базами данных».
  2. Нажать на кнопку «Схема данных».
  3. Если схема не была создана автоматически, нужно нажать ПКМ на пустой области и выбрать «Добавить таблицы».
  4. Выберите каждую из сущностей, поочередно нажимая кнопку «Добавить».
  5. Нажмите кнопку «ОК».

Конструктор должен автоматически создать связь, в зависимости от контекста. Если же этого не случилось, то:

  1. Перетащите общее поле из одной таблицы в другую.
  2. В появившемся окне выберите необходимы параметры и нажмите «ОК».
  3. Теперь в окне должны отобразиться миниатюры двух таблиц со связью (один к одному).

Выполнение запросов

Что же делать, если нам нужны студенты, которые учатся только в Москве? Да, в нашей БД только 6 человек, но что, если их будет 6000? Без дополнительных инструментов узнать это будет сложно.

Именно в этой ситуации к нам на помощь приходят SQL запросы, которые помогают изъять лишь необходимую информацию.

Виды запросов

SQL синтаксис реализует принцип CRUD (сокр. от англ. create, read, update, delete — «создать, прочесть, обновить, удалить»). Т.е. с помощью запросов вы сможете реализовать все эти функции.

На выборку

В этом случае в ход вступает принцип «прочесть». Например, нам нужно найти всех студентов, которые учатся в Харькове. Для этого нужно:

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL.
  4. В текстовое поле введите команду: SELECT * FROM Студенты WHERE Адрес = «Харьков»; где «SELECT *» означает, что выбираются все студенты, «FROM Студенты» — из какой таблицы, «WHERE Адрес = «Харьков»» — условие, которое обязательно должно выполняться.
  5. Нажмите кнопку «Выполнить».
  6. На выходе мы получаем результирующую таблицу.

А что делать, если нас интересуют студенты из Харькова, стипендии у которых больше 1000? Тогда наш запрос будет выглядеть следующим образом:

SELECT * FROM Студенты WHERE Адрес = «Харьков» AND Стипендия > 1000;

а результирующая таблица примет следующий вид:

На создание сущности

Кроме добавления таблицы с помощью встроенного конструктора, иногда может потребоваться выполнение этой операции с помощью SQL запроса. В большинстве случаев это нужно во время выполнения лабораторных или курсовых работ в рамках университетского курса, ведь в реальной жизни необходимости в этом нет. Если вы, конечно, не занимаетесь профессиональной разработкой приложений. Итак, для создания запроса нужно:

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL, после чего в текстовое поле введите команду:

CREATE TABLE Преподаватели
(КодПреподавателя INT PRIMARY KEY,
Фамилия CHAR(20),
Имя CHAR (15),
Отчество CHAR (15),
Пол CHAR (1),
Дата_рождения DATE,
Основной_предмет CHAR (200));

где «CREATE TABLE» означает создание таблицы «Преподаватели», а «CHAR», «DATE» и «INT» — типы данных для соответствующих значений.

  1. Кликните по кнопке «Выполнить».
  2. Откройте созданную таблицу.
На добавление, удаление, редактирование

Здесь все гораздо проще. Снова перейдите в поле для создания запроса и введите следующие команды:

  • для заполнения кортежа:
    INSERT INTO Преподаватели
    VALUES (1, ‘Иванова’, ‘Иванна’, ‘Ивановна’, ‘Ж’, ’05-06-1981′, ‘География’);
  • для редактирования записи:
    UPDATE Преподаватели SET Имя = ‘Анна’;
  • для удаления:
    DELETE * FROM Преподаватели WHERE Имя=’Анна’;.

Создание формы

При огромном количестве полей в таблице заполнять базу данных становится сложно. Можно случайно пропустить значение, ввести неверное или другого типа. В данной ситуации на помощь приходят формы, с помощью которых можно быстро заполнять сущности, а вероятность допустить ошибку минимизируется. Для этого потребуются следующие действия:

  1. Откройте интересующую таблицу.
  2. Перейдите во вкладку «Создание».
  3. Нажмите на необходимый формат формы из блока «Формы».

Все базовые функции MS Access 2007 мы уже рассмотрели. Остался последний важный компонент – формирование отчета.

Формирование отчета

Отчет – это специальная функция MS Access, позволяющая оформить и подготовить для печати данные из базы данных. В основном это используется для создания товарных накладных, бухгалтерских отчетов и прочей офисной документации.

Если вы никогда не сталкивались с подобной функцией, рекомендуется воспользоваться встроенным «Мастером отчетов». Для этого сделайте следующее:

  1. Перейдите во вкладку «Создание».
  2. Нажмите на кнопку «Мастер отчетов» в блоке «Отчеты».
  3. Выберите интересующую таблицу и поля, нужные для печати.
  4. Добавьте необходимый уровень группировки.
  5. Выберите тип сортировки каждого из полей.
  6. Настройте вид макета для отчета.
  7. Выберите подходящий стиль оформления.

Если отображение вас не устраивает, его можно немного подкорректировать. Для этого:

  1. Нажмите ПКМ на вкладке отчета и выберите «Конструктор».
  2. Вручную расширьте интересующие столбцы.
  3. Сохраните изменения.

Вывод

Итак, с уверенностью можно заявить, что создание базы данных в MS Access 2007 мы разобрали полностью. Теперь вам известны все основные функции СУБД: от создания и заполнения таблиц до написания запросов на выборку и создания отчетов. Этих знаний хватит для выполнения несложных лабораторных работ в рамках университетской программы или использования в небольших личных проектах.

Для проектирования более сложных БД необходимо разбираться в объектно-ориентированном программировании и изучать такие СУБД, как MS SQL и MySQL. А для тех, кому нужна практика составления запросов, рекомендую посетить сайт SQL-EX, где вы найдете множество практических занимательных задачек.

Удачи в освоении нового материала и если есть какие-либо вопросы – милости прошу в комментарии!

Ссылка на основную публикацию
Adblock
detector