Разработка и обработка реляционной базы данных в Microsoft Access: Комплексное руководство для курсовой работы

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

Целью данной курсовой работы является разработка и реализация реляционной базы данных средствами СУБД Microsoft Access, охватывающая все этапы: от теоретических основ проектирования до практического создания объектов, обеспечения целостности, безопасности и администрирования. Задачи работы включают: освоение принципов проектирования РБД, изучение инструментов Access для создания таблиц, форм, запросов и отчётов, применение языков SQL и VBA для расширения функциональности, а также рассмотрение методов защиты и администрирования. Материал предназначен для студентов технических и экономических вузов, стремящихся получить глубокие теоретические знания и практические навыки в области информационных систем и баз данных, что позволит им успешно создавать и обрабатывать базы данных для решения конкретных задач.

Теоретические основы проектирования реляционных баз данных

Создание надёжной и эффективной базы данных начинается задолго до открытия программного обеспечения СУБД; в основе этого процесса лежит тщательное проектирование, которое, подобно архитектурному проекту здания, определяет структуру, функциональность и долговечность будущей системы. Проектирование реляционных баз данных (РБД) — это не просто сбор и хранение информации, это создание оптимальной модели предметной области, способной минимизировать ошибки, повысить производительность запросов и упростить поддержку системы на протяжении всего её жизненного цикла. Без адекватной методологии проектирования, база данных рискует стать источником проблем: избыточность данных приведёт к аномалиям при их модификации, неэффективные запросы замедлят работу, а сложность в сопровождении сделает систему дорогой и негибкой.

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

Концептуальное (инфологическое) проектирование

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

Основная цель — выявить и чётко определить ключевые «сущности» — объекты реального мира, о которых необходимо хранить информацию (например, «Студент», «Дисциплина», «Преподаватель»). Для каждой сущности определяются её «атрибуты» — характеристики, описывающие эту сущность (например, для «Студента» это «Фамилия», «Имя», «Дата рождения», «Номер зачётной книжки»). Особое внимание уделяется выявлению «связей» между сущностями: например, «Студент» *изучает* «Дисциплину», а «Преподаватель» *ведёт* «Дисциплину». Также на этом этапе определяются «домены атрибутов» (допустимые значения для каждого атрибута) и выявляются потенциальные и первичные ключи — атрибуты или группы атрибутов, которые однозначно идентифицируют каждую сущность.

Для наглядной визуализации концептуальной модели повсеместно используются ER-диаграммы (Entity-Relationship Diagram — диаграммы «сущность-связь»). Эти диаграммы представляют собой графическое отображение сущностей (обычно прямоугольниками), их атрибутов (овалами) и связей (ромбами), что позволяет легко понять структуру будущей базы данных ещё до её непосредственного создания. Недооценка этого этапа часто приводит к дорогостоящим переработкам на более поздних стадиях, поскольку изначально неверно определённые связи и сущности требуют полной реконцептуализации всей системы.

Логическое (даталогическое) проектирование и нормализация

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

На этом этапе происходит детализация структуры данных. Сущности из ER-диаграммы трансформируются в «отношения» (таблицы), атрибуты становятся «полями» (столбцами), а связи между сущностями реализуются через «внешние ключи», которые устанавливают отношения между таблицами. Ключевым процессом на фазе логического проектирования является нормализация.

Нормализация – искусство устранения избыточности

Нормализация — это систематический процесс организации данных в реляционной базе данных, который заключается в создании таблиц и установлении связей между ними в соответствии с набором правил, известных как «нормальные формы». Главная цель нормализации — уменьшение избыточности данных, устранение аномалий модификации (проблем, которые возникают при вставке, обновлении и удалении данных) и обеспечение целостности данных. Идеально нормализованная база данных облегчает обслуживание, уменьшает вероятность ошибок и повышает эффективность работы.

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

Первая нормальная форма (1НФ)

Определение: Таблица находится в первой нормальной форме (1НФ), если все её атрибуты (столбцы) атомарны (неделимы) и отсутствуют повторяющиеся группы столбцов. Это означает, что в каждой ячейке таблицы может быть только одно значение, и каждая строка должна быть уникальной.

Пример:
Рассмотрим таблицу «Заказы», которая изначально может хранить информацию следующим образом:

ID Заказа Дата Клиент Товары Количество
101 23.10.2025 Иванов Ноутбук, Мышь 1, 1

Эта таблица не находится в 1НФ, так как в поле «Товары» и «Количество» хранятся множественные значения. Для приведения к 1НФ необходимо разделить повторяющиеся группы:

ID Заказа Дата Клиент Товар Количество
101 23.10.2025 Иванов Ноутбук 1
101 23.10.2025 Иванов Мышь 1

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

Вторая нормальная форма (2НФ)

Определение: Таблица находится во второй нормальной форме (2НФ), если она уже находится в 1НФ, и все неключевые атрибуты полностью зависят от всего составного первичного ключа. Это означает, что не должно быть частичных функциональных зависимостей неключевых атрибутов от части первичного ключа. 2НФ актуальна только для таблиц с составным первичным ключом.

Пример:
Предположим, у нас есть таблица «Успеваемость», где составной первичный ключ (IDСтудента, IDДисциплины):

IDСтудента IDДисциплины Название Дисциплины Оценка ФИО Студента
1 10 Базы данных 5 Петров
1 20 Программирование 4 Петров
2 10 Базы данных 3 Сидоров

Здесь «Название Дисциплины» зависит только от «IDДисциплины» (части первичного ключа), а «ФИО Студента» зависит только от «IDСтудента» (другой части первичного ключа). Это частичные зависимости.
Для приведения к 2НФ разделим таблицу на три:

Студенты:

IDСтудента ФИО Студента
1 Петров
2 Сидоров

Дисциплины:

IDДисциплины Название Дисциплины
10 Базы данных
20 Программирование

Успеваемость:

IDСтудента IDДисциплины Оценка
1 10 5
1 20 4
2 10 3

Теперь все неключевые атрибуты в таблице «Успеваемость» (только «Оценка») зависят от всего составного первичного ключа (IDСтудента, IDДисциплины).

Третья нормальная форма (3НФ)

Определение: Таблица находится в третьей нормальной форме (3НФ), если она уже находится во 2НФ, и отсутствуют транзитивные функциональные зависимости неключевых атрибутов от ключевых. Это означает, что неключевой атрибут не должен зависеть от другого неключевого атрибута.

Пример:
Рассмотрим таблицу «Заказы» (после приведения к 2НФ):

ID Заказа ID Клиента ФИО Клиента Адрес Клиента Дата Заказа
101 5 Петров Москва 23.10.2025
102 6 Сидоров Санкт-Петербург 23.10.2025

Здесь «ФИО Клиента» и «Адрес Клиента» зависят от «ID Клиента», который, в свою очередь, зависит от первичного ключа «ID Заказа». Это транзитивная зависимость: ID Заказа → ID Клиента → ФИО Клиента, Адрес Клиента.
Для приведения к 3НФ разделим таблицу на две:

Заказы:

ID Заказа ID Клиента Дата Заказа
101 5 23.10.2025
102 6 23.10.2025

Клиенты:

ID Клиента ФИО Клиента Адрес Клиента
5 Петров Москва
6 Сидоров Санкт-Петербург

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

Нормальная форма Бойса-Кодда (НФБК)

Определение: Нормальная форма Бойса-Кодда (НФБК) является более строгой версией 3НФ. Отношение находится в НФБК, если каждая нетривиальная функциональная зависимость X → Y обладает потенциальным ключом, который выполняет роль детерминанта X. Проще говоря, каждый детерминант (атрибут или группа атрибутов, от которых зависят другие атрибуты) должен быть потенциальным ключом.

Отличие от 3НФ: Если в таблице нет более одного составного потенциального ключа и эти ключи не пересекаются, то 3НФ и НФБК совпадают. Различия возникают, когда в таблице есть несколько составных потенциальных ключей, и они имеют общие атрибуты, или когда неключевые атрибуты являются детерминантами для частей потенциального ключа.

Пример:
Рассмотрим таблицу «Преподаватель-Дисциплина-Кафедра», где преподаватель может вести несколько дисциплин, и каждая дисциплина относится к одной кафедре. Преподаватель может быть связан с несколькими кафедрами.
Первичный ключ: (Преподаватель, Дисциплина)

Преподаватель Дисциплина Кафедра
Иванов Базы данных Информационные системы
Петров Базы данных Информационные системы
Иванов Алгоритмы Компьютерные науки

Функциональные зависимости:

  1. (Преподаватель, Дисциплина) → Кафедра (первичный ключ определяет кафедру)
  2. Кафедра → Преподаватель (неверно, один преподаватель может вести дисциплины с разных кафедр)
  3. Дисциплина → Кафедра (верно, каждая дисциплина относится к одной кафедре)

Эта таблица находится в 3НФ, потому что нет транзитивных зависимостей неключевых атрибутов (единственный неключевой атрибут «Кафедра» зависит от составного ключа). Однако она не находится в НФБК, потому что «Дисциплина» является детерминантом для «Кафедры», но «Дисциплина» не является потенциальным ключом таблицы.

Для приведения к НФБК разделим на две таблицы:

Преподаватель-Дисциплина:

Преподаватель Дисциплина
Иванов Базы данных
Петров Базы данных
Иванов Алгоритмы

Дисциплины-Кафедры:

Дисциплина Кафедра
Базы данных Информационные системы
Алгоритмы Компьютерные науки

Теперь обе таблицы находятся в НФБК, так как в них все детерминанты являются потенциальными ключами. НФБК является более строгим требованием, и её применение часто оправдано для обеспечения максимально возможной минимизации избыточности и устранения аномалий, хотя и может привести к увеличению количества таблиц.

Физическое проектирование базы данных

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

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

  1. Выбор и настройка типов данных: Для каждого поля в таблице выбирается наиболее подходящий физический тип данных (например, «Короткий текст», «Числовой», «Дата/время», «Счётчик» в Access). Этот выбор важен не только для корректного хранения информации, но и для экономии дискового пространства, оптимизации производительности запросов и обеспечения возможности выполнения арифметических и логических операций.
  2. Определение структур хранения данных: В зависимости от СУБД, могут быть выбраны различные методы хранения (например, файловая организация). В Access это обычно единый файл .accdb или .mdb.
  3. Создание индексов: Индексы — это специальные структуры, которые значительно ускоряют поиск и сортировку данных. На этапе физического проектирования определяются поля, по которым будут созданы индексы, исходя из частоты запросов и условий фильтрации. Однако избыточное количество индексов может замедлять операции вставки, обновления и удаления, что необходимо учитывать для поддержания оптимальной производительности.
  4. Разработка средств защиты: Хотя вопросы безопасности также рассматриваются на концептуальном и логическом уровнях (например, определение прав доступа к сущностям), на физическом уровне это включает реализацию конкретных механизмов, таких как шифрование файла базы данных, установка паролей, а также настройка защиты на уровне пользователей и объектов.
  5. Оптимизация производительности: При физическом проектировании учитываются специфические характеристики выбранной СУБД и прогнозируемые нагрузки. Это может включать разделение базы данных на несколько файлов (в Access — разделение на серверную и интерфейсную части), выбор оптимальных методов хранения для больших объёмов данных и другие средства, направленные на улучшение скорости работы системы.
  6. Ограничения СУБД: Также необходимо учитывать специфические ограничения выбранной СУБД, такие как максимальная длина имён объектов, поддерживаемые форматы данных, особенности работы с крупными объектами (OLE-объекты, вложения) и механизмы управления дисковой памятью.

Таким образом, физическое проектирование — это этап, на котором логическая стройность модели облекается в конкретную, работоспособную форму, способную эффективно выполнять поставленные задачи с учётом реальных требований к производительности и безопасности.

Объекты Microsoft Access: Таблицы – основа хранения данных

Таблицы в Microsoft Access — это краеугольный камень любой базы данных, представляющий собой структурированные хранилища всех данных. Их можно сравнить с картотекой, где каждая карточка (запись) содержит определённый набор сведений, а каждая категория сведений (поле) имеет своё чёткое определение. Эффективность и надёжность всей системы напрямую зависят от правильного проектирования и настрой��и таблиц.

Форматы файлов Access и создание новой базы данных

Microsoft Access, как и многие другие программы, эволюционировала, и вместе с ней менялись форматы файлов для хранения баз данных. Исторически, для ранних версий Access использовался формат .mdb (Microsoft Database), который поддерживал функционал до Access 2003 включительно. С выходом Access 2007 был представлен новый формат — .accdb (Access Database), который принёс ряд значительных улучшений. Среди них — поддержка многозначных полей, прикреплений, более строгие проверки безопасности, а также улучшенная интеграция с SharePoint и Outlook. Для современных курсовых работ рекомендуется использовать именно формат .accdb.

Пошаговое создание новой базы данных и первой таблицы:

  1. Запуск Access и создание файла: Откройте Microsoft Access. В меню «Файл» выберите «Создать». Затем выберите «Пустая база данных рабочего стола».
  2. Именование и расположение: Введите имя файла для вашей базы данных (например, «УчётСтудентов.accdb») и выберите подходящее место для сохранения на диске. Нажмите кнопку «Создать».
  3. Автоматическое создание таблицы: Access автоматически создаст новую пустую базу данных и откроет её с первой таблицей, названной «Таблица1», в режиме таблицы. Это удобный способ быстро начать ввод данных, но для более детального контроля над структурой лучше использовать режим конструктора.

Работа в режиме конструктора таблиц

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

Пошаговое создание таблицы в режиме конструктора:

  1. Доступ к конструктору: На вкладке «Создание» (Create) в группе «Таблицы» (Tables) нажмите кнопку «Конструктор таблиц» (Table Design).
  2. Определение полей: В открывшемся бланке конструктора необходимо ввести Имя поля (Field Name) и выбрать Тип данных (Data Type) для каждого столбца будущей таблицы. Имена полей должны быть осмысленными и уникальными в рамках одной таблицы.

Выбор типа данных — это критически важный шаг. Он влияет не только на тип информации, которую можно хранить, но и на объём занимаемой памяти, скорость обработки и возможность выполнения определённых операций (например, арифметических). Access предлагает широкий спектр типов данных:

  • Короткий текст (Short Text): Для небольших текстовых строк (до 255 символов), например, имена, фамилии, названия.
  • Длинный текст (Long Text): Для больших объёмов текста, таких как описания или примечания.
  • Числовой (Number): Для числовых значений. Может быть настроен на хранение целых чисел, чисел с плавающей точкой разной точности (Байт, Целое, Длинное целое, Одинарное, Двойное, Десятичное).
  • Дата/время (Date/Time): Для хранения дат и времени.
  • Денежный (Currency): Для денежных значений с высокой точностью.
  • Счётчик (AutoNumber): Автоматически генерирует уникальное число для каждой новой записи. Идеально подходит для первичных ключей.
  • Да/Нет (Yes/No): Для логических значений (истина/ложь, да/нет).
  • Объект OLE (OLE Object): Для встраивания объектов из других приложений (например, изображений, документов Word).
  • Гиперссылка (Hyperlink): Для хранения ссылок на веб-страницы или файлы.
  • Вложение (Attachment): Позволяет прикреплять файлы к записи.
  • Вычисляемый (Calculated): Поле, значение которого вычисляется на основе выражения, использующего данные из других полей этой же таблицы.

Пример выбора типов данных для таблицы «Студенты»:

Имя поля Тип данных
ID_Студента Счётчик
Фамилия Короткий текст
Имя Короткий текст
Дата_рождения Дата/время
Номер_зачетки Короткий текст
Активен Да/Нет
  1. Сохранение таблицы: После определения всех полей и их типов данных, сохраните таблицу, присвоив ей осмысленное имя (например, «Студенты»). Если вы не задали первичный ключ, Access предложит создать его, обычно с типом данных «Счётчик».

Свойства полей и обеспечение целостности на уровне поля

После выбора имени и типа данных для каждого поля, в нижней части окна конструктора таблиц становится доступна панель «Свойства поля» (Field Properties). Здесь можно тонко настроить поведение и внешний вид данных, что является важным аспектом обеспечения целостности данных на уровне поля.

Основные свойства полей включают:

  • Размер поля (Field Size): Для текстовых полей определяет максимальное количество символов; для числовых — конкретный подтип числа (например, «Длинное целое», «Двойное»), влияющий на диапазон значений и занимаемую память.
  • Формат (Format): Определяет способ отображения данных без изменения их фактического значения (например, формат даты «дд.мм.гггг», денежный формат с символом валюты).
  • Маска ввода (Input Mask): Шаблон для ввода данных, обеспечивающий их единообразный формат (например, для телефонных номеров или ИНН).
  • Подпись (Caption): Альтернативное, более понятное имя поля, которое будет отображаться в формах и отчётах вместо технического имени поля.
  • Значение по умолчанию (Default Value): Автоматически вставляемое значение для новых записей, если пользователь не вводит другое.
  • Правило проверки (Validation Rule): Ограничение на вводимые данные, предотвращающее некорректный ввод (например, >0 для числового поля, In ("Мужской", "Женский") для текстового поля пола).
  • Текст сообщения об ошибке (Validation Text): Сообщение, которое отображается пользователю при нарушении «Правила проверки».
  • Обязательное поле (Required): Если установлено «Да», поле не может быть пустым.
  • Индексированное поле (Indexed): Позволяет ускорить поиск и сортировку по этому полю. Может быть «Да (Допускаются совпадения)» или «Да (Совпадения не допускаются)». Последний вариант используется для полей, которые должны быть уникальными (например, номер зачётки).

Определение первичных ключей и связей между таблицами

Основой реляционной модели данных является концепция ключей и связей.

Первичный ключ (Primary Key) — это один или несколько атрибутов (полей), значения которых однозначно идентифицируют каждую запись в таблице. Он обеспечивает уникальность каждой строки и является фундаментом для построения связей между таблицами. В Access первичный ключ обозначается символом ключа рядом с именем поля в режиме конструктора. Если вы создаёте таблицу и не назначаете первичный ключ, Access предложит сделать это, обычно добавляя поле «Код» с типом данных «Счётчик».

Установка первичного ключа: В режиме конструктора таблицы выберите поле (или несколько полей, если ключ составной) и нажмите кнопку «Ключевое поле» на вкладке «Конструктор таблицы».

Связь (Relationship) — это логическое отношение между двумя таблицами, основанное на их общих полях. Обычно это связь между первичным ключом одной таблицы (главной) и внешним ключом другой таблицы (подчинённой). Внешний ключ в подчинённой таблице содержит значения из первичного ключа главной таблицы, устанавливая тем самым логическую связь.

Microsoft Access поддерживает следующие типы связей:

  • Один-ко-многим (One-to-Many): Наиболее распространённый тип. Одна запись в главной таблице может быть связана с несколькими записями в подчинённой таблице, но каждая запись в подчинённой таблице связана только с одной записью в главной. Например, один студент может иметь много оценок, но каждая оценка относится к одному студенту.
  • Один-к-одному (One-to-One): Каждая запись в главной таблице связана ровно с одной записью в подчинённой, и наоборот. Используется редко, чаще для разделения очень широких таблиц или хранения конфиденциальной информации.
  • Многие-ко-многим (Many-to-Many): Одна запись в главной таблице может быть связана со многими записями в подчинённой, и наоборот. В реляционных базах данных такая связь реализуется через промежуточную «связующую» таблицу (junction table), которая содержит внешние ключи обеих связанных таблиц. Например, один студент может посещать много дисциплин, и одна дисциплина может посещаться многими студентами. Для этого создаётся таблица «Студенты_Дисциплины».

Создание связей в Access:

  1. Инструменты базы данных: Перейдите на вкладку «Работа с базами данных» (Database Tools) и выберите «Схема данных» (Relationships).
  2. Добавление таблиц: Добавьте таблицы, которые вы хотите связать, в окно «Схема данных».
  3. Установление связи: Перетащите поле первичного ключа из главной таблицы на соответствующее поле внешнего ключа в подчинённой таблице. Появится диалоговое окно «Изменение связей».
  4. Настройка целостности: Установите флажок «Обеспечение целостности данных» (Enforce Referential Integrity) для поддержания логической непротиворечивости данных. При необходимости активируйте «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей» (об этом подробнее в разделе о целостности данных).

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

Объекты Microsoft Access: Запросы – инструмент обработки и анализа данных

Запросы – это динамичный и мощный инструмент в арсенале Microsoft Access, который позволяет извлекать, манипулировать и анализировать данные, хранящиеся в одной или нескольких таблицах. Если таблицы – это хранилища данных, то запросы – это «мозг» базы данных, позволяющий задавать ей вопросы и получать осмысленные ответы. Без запросов база данных была бы статичным архивом, но с ними она превращается в интерактивную аналитическую систему.

Обзор типов запросов и методов их создания

В Access существует несколько типов запросов, каждый из которых предназначен для выполнения специфических задач:

  1. Запросы на выборку (Select Queries): Самый распространённый тип. Они позволяют извлекать данные из одной или нескольких таблиц в соответствии с заданными критериями. Результатом запроса на выборку является набор записей (называемый динамическим набором, или «рекордсетом»), который можно просматривать, сортировать и фильтровать. На основе запросов на выборку строятся запросы других видов, формы и отчёты.
  2. Запросы на изменение (Action Queries): Эти запросы выполняют операции, изменяющие данные в базе:
    • Запрос на создание таблицы (Make-Table Query): Создаёт новую таблицу из результатов запроса.
    • Запрос на обновление (Update Query): Изменяет значения в существующих записях таблицы.
    • Запрос на добавление (Append Query): Добавляет записи из одной или нескольких таблиц в конец другой таблицы.
    • Запрос на удаление (Delete Query): Удаляет записи из одной или нескольких таблиц.

Для создания запросов в Access предусмотрены два основных метода:

  • Мастер запросов (Query Wizard): Идеально подходит для новичков и для создания простых запросов. Мастер пошагово проводит пользователя через процесс выбора таблиц/полей, установки условий и сортировки, что позволяет быстро получить результат без глубоких знаний SQL.
  • Конструктор запросов (Query Design): Представляет собой высокоуровневое графическое средство формирования запросов и является основным инструментом для создания сложных и специализированных запросов. Он предоставляет полный контроль над всеми аспектами запроса, включая использование выражений, функций и сложных критериев. Фактически, Конструктор запросов является графической оболочкой к языку SQL, автоматически генерируя соответствующий код.

Создание запросов в режиме конструктора

Конструктор запросов предоставляет интуитивно понятный интерфейс для построения запросов.

Пошаговое создание запроса в Конструкторе:

  1. Доступ к конструктору: В окне базы данных перейдите на вкладку «Создание» (Create) и в группе «Запросы» (Queries) выберите «Конструктор запросов» (Query Design).
  2. Добавление таблиц/запросов: Откроется окно «Добавление таблицы» (Show Table). Выберите таблицы или ранее созданные запросы, данные из которых вы хотите использовать, и нажмите «Добавить». Закройте окно.
  3. Бланк запроса: В нижней части окна конструктора располагается «бланк запроса» (QBE grid — Query By Example), представляющий собой табличную форму. Здесь вы определяете структуру и логику вашего запроса.
    • Поле (Field): Перетащите нужные поля из добавленных таблиц в строку «Поле» бланка запроса.
    • Таблица (Table): Автоматически отображает имя таблицы, из которой взято поле.
    • Сортировка (Sort): Выберите порядок сортировки (По возрастанию/По убыванию) для каждого поля, по которому требуется упорядочить результат.
    • Вывод на экран (Show): Установите флажок, если вы хотите, чтобы значения этого поля отображались в результатах запроса. Можно использовать поле для условий, но не выводить его на экран.
    • Условия отбора (Criteria): Самая мощная часть конструктора. Здесь задаются критерии для фильтрации записей.

Примеры условий отбора:

  • Точное совпадение: ="Москва" (для текстового поля «Город»), =100 (для числового поля «Количество»).
  • Диапазон значений: Between #01.01.2024# And #31.12.2024# (для дат), >100 And <500 (для чисел).
  • Использование подстановочных знаков: Like "А*" (начинается с «А»), Like "*ов" (заканчивается на «ов»), Like "?_а" (второй символ — «а»).
  • Проверка на отсутствие/наличие значений: Is Null (поле пусто), Is Not Null (поле не пусто).
  • Сложные логические условия: Используйте строки «Or» в бланке запроса для условий ИЛИ. Для условий И используйте несколько критериев в одной строке. Например: ="Мужской" в строке «Условия отбора» для поля «Пол» и >18 в той же строке для поля «Возраст» означает «Пол=’Мужской’ И Возраст>18». Если >60 находится в строке «Or» для поля «Возраст», это означает «Пол=’Мужской’ И Возраст>18 ИЛИ Возраст>60».
  • Вычисляемые поля: В строке «Поле» можно ввести выражение для создания нового вычисляемого поля, например: Полная_Цена: [Цена] * [Количество].
  1. Просмотр результатов: На вкладке «Конструктор запросов» (Query Design) в группе «Результаты» (Results) нажмите кнопку «Выполнить» (Run) для просмотра результатов запроса. Для возврата в режим конструктора нажмите кнопку «Режим» (View) и выберите «Конструктор».

Основы языка SQL (Structured Query Language) в Access

SQL (Structured Query Language) — это декларативный язык программирования, который является универсальным стандартом для работы с реляционными базами данных. Он используется не только в Microsoft Access, но и во всех крупных СУБД (SQL Server, Oracle, MySQL, PostgreSQL). Каждый запрос, созданный в Access (будь то через Мастер или Конструктор), внутренне преобразуется в SQL-код.

Основные предложения SQL для работы с данными:

  • SELECT: Используется для указания полей, которые нужно выбрать.
  • FROM: Указывает таблицы, из которых извлекаются данные.
  • WHERE: Определяет условия, которым должны соответствовать записи для включения в результат.

Пример:
Предположим, у нас есть таблица Студенты с полями Фамилия, Имя, Город. Простой запрос на выборку данных о студентах из города «Москва» может выглядеть так:

SELECT Фамилия, Имя, Город
FROM Студенты
WHERE Город = 'Москва';

Этот запрос выберет фамилию, имя и город всех студентов, проживающих в Москве.

Расширенные возможности SQL-запросов

Помимо базовых предложений, SQL предлагает множество мощных конструкций для более сложной обработки данных:

  • ORDER BY: Используется для сортировки результатов запроса по одному или нескольким полям, в возрастающем (ASC) или убывающем (DESC) порядке.

Пример: Сортировка студентов по фамилии:

SELECT Фамилия, Имя, Город
FROM Студенты
WHERE Город = 'Москва'
ORDER BY Фамилия ASC;
  • GROUP BY и HAVING: Предложение GROUP BY используется для группировки строк, имеющих одинаковые значения в указанных столбцах, в одну сводную строку. Часто используется с агрегатными функциями (SUM, AVG, COUNT, MAX, MIN). Предложение HAVING используется для фильтрации групп, аналогично WHERE, но применяется к результатам агрегатных функций.

Пример: Подсчёт количества студентов в каждом городе, где их больше двух:

SELECT Город, COUNT(ID_Студента) AS КоличествоСтудентов
FROM Студенты
GROUP BY Город
HAVING COUNT(ID_Студента) > 2;
  • UNION: Оператор UNION используется для объединения результатов двух или более запросов на выборку в один результирующий набор. Все запросы должны иметь одинаковое количество столбцов с совместимыми типами данных.

Пример: Объединение списков студентов и преподавателей (предполагая, что у преподавателей тоже есть поля Фамилия, Имя):

SELECT Фамилия, Имя FROM Студенты
UNION
SELECT Фамилия, Имя FROM Преподаватели;

Важно отметить, что SQL в Access используется не только для операций над данными, но и для выполнения так называемых DDL (Data Definition Language) операций – создания, изменения и удаления структуры объектов базы данных (например, CREATE TABLE, ALTER TABLE, DROP TABLE), а также для определения прав доступа (хотя в Access управление правами пользоват��ля более ограничено по сравнению с серверными СУБД).

Таким образом, глубокое понимание SQL и умение использовать Конструктор запросов позволяют студенту в полной мере раскрыть потенциал Microsoft Access для эффективной работы с данными.

Объекты Microsoft Access: Формы и Отчёты – пользовательский интерфейс и представление данных

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

Разработка форм для ввода, просмотра и редактирования данных

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

Методы создания форм: Access предлагает несколько подходов к созданию форм, от автоматизированных до полностью ручного проектирования:

  1. «Мастер форм» (Form Wizard): Идеален для быстрого создания форм на основе одной или нескольких таблиц/запросов. Мастер пошагово проводит пользователя через выбор полей, определение макета, группировку и сортировку данных, а также выбор стиля.
  2. «Форма» (Form): Создаёт простую форму на основе выделенной в области «Все объекты Access» таблицы или запроса одним щелчком мыши. Это самый быстрый способ получить базовую форму.
  3. «Пустая форма» (Blank Form): Открывает совершенно пустую форму в режиме макета, где пользователь самостоятельно размещает элементы управления, перетаскивая их из «Списка полей» (Field List) или добавляя через панель «Элементы управления».
  4. «Конструктор форм» (Form Design): Предоставляет полный контроль над дизайном формы. Здесь можно создавать формы с нуля, добавлять сложные элементы управления, писать код VBA, точно настраивать расположение и внешний вид каждого элемента.

Добавление и настройка элементов управления: В режиме конструктора или макета форм можно добавлять различные элементы управления, которые служат для отображения или ввода данных, а также для выполнения действий:

  • Текстовые поля (Text Box): Основной элемент для отображения и ввода данных из полей таблицы/запроса.
  • Надписи (Label): Для статического текста, заголовков, пояснений.
  • Кнопки (Command Button): Для запуска макросов, кода VBA или встроенных функций (например, «Открыть отчёт», «Сохранить запись»).
  • Списки (List Box) и поля со списком (Combo Box): Для выбора значений из предопределённого списка или другого источника данных, что улучшает ввод данных и снижает вероятность ошибок.
  • Флажки (Check Box), переключатели (Option Button): Для выбора логических значений (да/нет, истина/ложь).
  • Изображения (Image): Для вставки графических элементов, логотипов.

Для каждого элемента управления доступны «Свойства» (Property Sheet), где можно настроить его внешний вид, источник данных, поведение, привязку к событиям и другие параметры.

Создание отчётов для вывода и анализа информации

Назначение отчётов: Отчёты предназначены для вывода информации из баз данных на экран, принтер или в файл (например, PDF, Excel). Они являются мощным инструментом для представления данных в обобщённом, отформатированном виде, что делает их незаменимыми для анализа, печати документов (счетов, ведомостей) и статистической отчётности.

Методы создания отчётов: Как и формы, отчёты можно создавать несколькими способами:

  1. «Отчёт» (Report): Быстрый способ создать простой табличный отчёт на основе выделенной таблицы или запроса. Access автоматически создаёт отчёт и отображает его в режиме макета.
  2. «Мастер отчётов» (Report Wizard): Позволяет создавать более сложные, многоуровневые отчёты, оперируя данными из нескольких таблиц/запросов. Мастер помогает сгруппировать поля, выбрать макет, ориентацию страницы, а также добавить итоговые вычисления.
  3. «Пустой отчёт» (Blank Report): Открывает пустой отчёт в режиме макета, предоставляя полную свободу для ручного добавления полей и элементов управления из «Списка полей» и панели «Элементы управления».
  4. «Конструктор отчётов» (Report Design): Максимальный контроль над дизайном отчёта, аналогично Конструктору форм.

Макеты отчётов и настройка внешнего вида

Отчёты в Access имеют структуру, состоящую из нескольких разделов, что позволяет гибко управлять их внешним видом и содержанием:

  • Разделы отчёта:
    • Верхний/Нижний колонтитул отчёта (Report Header/Footer): Отображаются один раз в начале/конце всего отчёта. Идеально подходят для общего заголовка отчёта, логотипа, итоговых сумм по всему отчёту.
    • Верхний/Нижний колонтитул страницы (Page Header/Footer): Отображаются в верхней/нижней части каждой страницы. Здесь размещают названия столбцов, номера страниц, текущую дату.
    • Заголовок/Примечание группы (Group Header/Footer): Если в отчёте есть группировка данных (например, по дисциплинам или группам студентов), эти разделы используются для отображения заголовка группы и итоговых значений для этой группы.
    • Область данных (Detail Section): Основной раздел, где выводятся фактические записи из источника данных.

Макеты отчётов: Access предлагает несколько предустановленных макетов, которые облегчают форматирование:

  • Табличный (Tabular): Данные выравниваются по столбцам, а метки располагаются над данными. Классический вид таблицы.
  • Ленточный (Justified): Данные каждой записи располагаются в одну строку, что удобно для отображения большого количества полей.
  • Выровненный (Columnar): Данные выравниваются по столбцам, но метки располагаются слева от данных или над ними, что часто используется для форм, но может применяться и в отчётах.

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

  • Названия отчётов, даты, номера страниц: Добавляются в верхние/нижние колонтитулы отчёта или страницы с помощью элементов управления «Надпись» (Label) и «Текстовое поле» (Text Box), использующего встроенные функции (например, =Date() для даты, ="Страница " & [Page] & " из " & [Pages] для номеров страниц).
  • Итоговые значения (суммы, средние, количество): Эти значения могут быть рассчитаны для групп или для всего отчёта. В разделе «Примечание группы» или «Нижний колонтитул отчёта» можно добавить текстовое поле и в качестве его источника элемента управления указать агрегатную функцию, например, =Sum([Стоимость]) для подсчёта общей стоимости или =Count([ID_Студента]) для подсчёта количества записей.

Использование форм и отчётов позволяет создать полноценное и удобное приложение на базе Access, обеспечивая эффективное взаимодействие с данными и их профессиональное представление, что значительно повышает ценность любой разработанной базы данных.

Программирование в Microsoft Access: Visual Basic for Applications (VBA)

Хотя Microsoft Access предлагает богатый набор встроенных инструментов для создания баз данных, иногда для реализации сложной бизнес-логики, автоматизации рутинных задач или создания по-настоящему интерактивных пользовательских интерфейсов требуются более мощные средства. Здесь на сцену выходит Visual Basic for Applications (VBA) – событийно-ориентированный язык программирования, интегрированный непосредственно в Access и другие приложения Microsoft Office. VBA превращает Access из простого хранилища данных в полноценное прикладное решение.

Введение в VBA и интегрированная среда разработки

VBA – это интерпретируемый язык программирования, разработанный Microsoft, который позволяет расширять функциональность приложений Office путём написания макросов и модулей кода. В контексте Access, VBA позволяет реагировать на действия пользователя (события), управлять объектами базы данных (таблицами, запросами, формами, отчётами) и реализовывать сложную логику, которую невозможно выполнить с помощью стандартных инструментов.

Интегрированная среда VBA (VBE — Visual Basic Editor): Для написания и отладки кода VBA в Access используется специальная среда разработки. Чтобы открыть VBE:

  1. Перейдите на вкладку «Средства базы данных» (Database Tools).
  2. В группе «Макрос» (Macro) нажмите кнопку «Visual Basic».
    Или просто нажмите Alt + F11.

В VBE вы найдёте:

  • Окно «Проект VBA» (Project Explorer): Отображает все объекты текущего проекта Access (формы, отчёты, модули).
  • Окно «Код» (Code Window): Основное пространство для написания кода. Каждая форма, отчёт и модуль имеют своё окно кода.
  • Окно «Свойства» (Properties Window): Позволяет просматривать и изменять свойства выделенного объекта или элемента управления.
  • Окно «Immediate» (Непосредственное): Используется для немедленного выполнения команд VBA, проверки значений переменных и отладки.
  • Окно «Locals» (Локальные переменные): Отображает значения всех локальных переменных во время выполнения кода.

VBA – это событийно-ориентированный язык, что означает, что код выполняется в ответ на определённые «события» (например, нажатие кнопки, открытие формы, изменение значения поля). Это фундаментальный принцип, который позволяет создавать динамические и отзывчивые интерфейсы, где система реагирует на каждое действие пользователя.

Использование VBA для автоматизации задач

VBA позволяет автоматизировать практически любые рутинные задачи в Access, значительно повышая производительность и снижая вероятность человеческих ошибок.

Примеры создания процедур и функций:

  • Процедура (Subroutine): Блок кода, который выполняет определённую последовательность действий. Процедуры могут быть привязаны к событиям элементов управления или форм.

Пример процедуры для кнопки «Очистить форму»:
Предположим, у нас есть форма frmСтуденты с текстовыми полями txtФамилия, txtИмя. Кнопка cmdОчистить может иметь следующий код в событии OnClick:

Private Sub cmdОчистить_Click()
    Me.txtФамилия = ""
    Me.txtИмя = ""
    MsgBox "Поля очищены!", vbInformation, "Очистка"
End Sub

Здесь Me ссылается на текущую форму.

  • Функция (Function): Блок кода, который выполняет вычисления и возвращает значение. Функции могут использоваться в выражениях форм, отчётов или в других модулях VBA.

Пример функции для расчёта полного имени:

Public Function GetFullName(strFirstName As String, strLastName As String) As String
    GetFullName = strFirstName & " " & strLastName
End Function

Эту функцию можно использовать в текстовом поле формы как =GetFullName([Имя], [Фамилия]).

Обработка событий: Основной способ использования VBA в Access – это привязка кода к событиям объектов. Например:

  • Form_Load: Код выполняется при открытии формы.
  • Button_Click: Код выполняется при нажатии кнопки.
  • Field_AfterUpdate: Код выполняется после изменения значения поля.

Пример обработки события BeforeUpdate для проверки данных:
Предположим, мы хотим убедиться, что «Дата рождения» студента не в будущем:

Private Sub Дата_рождения_BeforeUpdate(Cancel As Integer)
    If Me.Дата_рождения > Date Then
        MsgBox "Дата рождения не может быть в будущем!", vbCritical, "Ошибка ввода"
        Cancel = True 'Отменяет обновление поля
    End If
End Sub

Взаимодействие VBA с объектами Access и данными

VBA позволяет программно взаимодействовать со всеми объектами Access, используя объектные модели. Две основные объектные модели для работы с данными в Access:

  1. DAO (Data Access Objects): Оригинальная объектная модель Access, которая предоставляет прямой доступ к объектам Jet Engine (базовому механизму хранения Access). DAO является предпочтительной для работы с таблицами, запросами и свойствами базы данных Access.
  2. ADO (ActiveX Data Objects): Более новая, универсальная объектная модель, которая позволяет подключаться к различным источникам данных, включая внешние базы данных, через OLE DB провайдеров.

Примеры кода для изменения записей, выполнения запросов, управления видимостью:

  • Работа с записями через DAO:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM Студенты WHERE ID_Студента = 1", dbOpenDynaset)

If Not rs.EOF Then
    rs.Edit
    rs!Фамилия = "Новая Фамилия"
    rs.Update
End If

rs.Close
Set rs = Nothing
Set db = Nothing
  • Выполнение запроса на изменение:
CurrentDb.Execute "UPDATE Студенты SET Город = 'Санкт-Петербург' WHERE Город = 'Ленинград';"
MsgBox "Города обновлены!", vbInformation
  • Управление видимостью элементов интерфейса:
Private Sub cmdПоказатьДопИнфо_Click()
    Me.lblДопИнфо.Visible = True
    Me.txtДопИнфо.Visible = True
End Sub

В этом примере по нажатию кнопки (cmdПоказатьДопИнфо) становятся видимыми метка (lblДопИнфо) и текстовое поле (txtДопИнфо) на текущей форме.

VBA открывает огромные возможности для создания персонализированных и функционально насыщенных баз данных в Microsoft Access, позволяя студентам реализовать практически любые требования к приложению, превращая его из простой системы хранения данных в полноценное инструментальное средство.

Обеспечение целостности и безопасности данных в MS Access

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

Обеспечение ссылочной целостности данных

Целостность данных в Microsoft Access — это система правил, предназначенных для поддержания устойчивых и корректных связей между записями в связанных таблицах, а также для защиты от случайного удаления или изменения связанных данных. Это фундамент, на котором строится логическая непротиворечивость всей базы данных. Access обеспечивает автоматическую проверку целостности данных в связанных полях, что значительно упрощает разработку.

Условия для установки ссылочной целостности:
Для успешной установки ссылочной целостности между двумя таблицами должны быть соблюдены следующие условия:

  1. Ключевое поле главной таблицы: Связанное поле главной таблицы должно быть первичным ключом или иметь уникальный индекс. Это гарантирует, что каждая запись в главной таблице однозначно идентифицируется.
  2. Совместимые типы данных: Связанные поля в обеих таблицах должны иметь один и тот же тип данных. Единственное исключение — поле «Счётчик» (AutoNumber) в главной таблице может быть связано с числовым полем типа «Длинное целое» (Long Integer) в подчинённой таблице.
  3. Единая база данных: Обе таблицы должны принадлежать одной базе данных Microsoft Access.

Установка ссылочной целостности:
При создании связи в окне «Схема данных» (Relationships), необходимо установить флажок «Обеспечение целостности данных» (Enforce Referential Integrity) в диалоговом окне «Изменение связей». Это активирует правила целостности.

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

  • Нельзя ввести значение во внешнее ключевое поле подчинённой таблицы, если соответствующее значение отсутствует в первичном ключе главной таблицы.
  • Нельзя удалить запись из главной таблицы, если существуют связанные с ней записи в подчинённой таблице.
  • Нельзя изменить значение первичного ключа в главной таблице, если существуют связанные записи в подчинённой таблице.

Каскадное обновление и удаление связанных записей:
Для поддержания консистентности данных и гибкости при изменении ключей Access предоставляет опции каскадных операций:

  • «Каскадное обновление связанных полей» (Cascade Update Related Fields): Если установлен этот флажок, то при изменении значения первичного ключа в главной таблице Access автоматически обновит соответствующие значения внешнего ключа во всех связанных записях подчинённой таблицы. Это позволяет поддерживать актуальность связей без ручного вмешательства.
  • «Каскадное удаление связанных записей» (Cascade Delete Related Records): Если установлен этот флажок, то при удалении записи в главной таблице Access автоматически удалит все связанные записи в подчинённой таблице. Это мощная функция, которая требует осторожности, так как может привести к массовому удалению данных. Использование этой опции должно быть тщательно продумано.

Методы защиты базы данных

Защита данных в Access включает несколько уровней, направленных на предотвращение несанкционированного доступа и обеспечение конфиденциальности.

  1. Парольная защита (Password Protection): Это самый простой и базовый способ предотвратить открытие базы данных несанкционированными пользователями. При установке пароля, Access будет запрашивать его каждый раз при попытке открыть файл.
    • Установка пароля: Откройте базу данных в монопольном режиме («Файл» -> «Открыть» -> «Обзор», выберите файл и рядом с кнопкой «Открыть» выберите «Открыть монопольно»). Затем «Файл» -> «Сведения» -> «Зашифровать с помощью пароля».
    • Недостатки: Пароль хранится в самом файле и может быть относительно легко взломан с помощью специализированных утилит, особенно для старых версий Access.
  2. Шифрование базы данных (Database Encryption): Более надёжный метод защиты, который криптографически зашифровывает содержимое базы данных, делая его нечитаемым без специального ключа (пароля).
    • Технологии шифрования: В Office 2010 и более поздних версиях Access для шифрования используется более стойкий алгоритм AES (Advanced Encryption Standard) с длиной ключа 128 бит, что является значительным улучшением по сравнению с устаревшим алгоритмом RC4, применявшимся в Access 2007 и более ранних версиях. Это делает базу данных гораздо более устойчивой к атакам.
    • Сторонние технологии: Access 2010 и последующие версии также поддерживают использование технологий шифрования сторонних компаний, что предоставляет дополнительную гибкость и уровень защиты.
    • Шифрование разделённой базы данных: Если база данных разделена на серверную (хранилище данных) и интерфейсную (формы, отчёты, запросы) части, для полноценной защиты необходимо зашифровать обе части.
    • Процесс шифрования/расшифрования: После шифрования базу данных можно расшифровать и удалить пароль только при его вводе.

Защита на уровне пользователей

Для более сложных сценариев, особенно в многопользовательских средах (хотя Access не является полноценной серверной СУБД, эти механизмы могут быть полезны в файловых средах), Access предлагает защиту на уровне пользователей (User-Level Security). Этот механизм позволяет администраторам назначать различные разрешения для конкретных пользователей или групп пользователей на доступ к различным объектам базы данных.

Механизм защиты на уровне пользователей (актуален для формата .mdb и может быть эмулирован для .accdb через SharePoint):

  1. Рабочие группы: Access позволяет создавать файлы рабочих групп (workgroup information files), которые хранят информацию о пользователях, группах и их паролях.
  2. Группы пользователей: Определяются две основные группы:
    • Admins (Администраторы): Обладают полными правами на все объекты базы данных.
    • Users (Пользователи): Имеют ограниченные права, которые настраиваются администратором.
  3. Назначение разрешений: Для каждого объекта базы данных (таблицы, запросы, формы, отчёты, макросы, модули) можно установить следующие разрешения:
    • Чтение данных (Read Data): Разрешает просматривать данные.
    • Изменение данных (Update Data): Разрешает изменять существующие данные.
    • Добавление данных (Insert Data): Разрешает добавлять новые записи.
    • Удаление данных (Delete Data): Разрешает удалять записи.
    • Изменение макета (Design): Разрешает изменять структуру объекта (например, добавлять поля в таблицу, менять дизайн формы).
    • Администрирование (Administer): Предоставляет полный контроль над объектом, включая изменение разрешений.

Лучшие практики: Для обеспечения максимальной безопасности, особенно в сетевых средах, рекомендуется хранить таблицы на сервере, используя более мощные СУБД, такие как SQL Server, или облачные решения, например, Windows SharePoint Services 3.0 или Microsoft Office SharePoint Server 2010. Это позволяет использовать централизованные механизмы безопасности, резервного копирования и масштабирования. Однако для настольных приложений и курсовых работ встроенные средства Access предоставляют достаточный уровень защиты.

Администрирование базы данных Access: Обслуживание и надёжность

Подобно любому программному продукту или информационному ресурсу, база данных Access требует регулярного администрирования для обеспечения её стабильной, эффективной и безопасной работы. Это включает мониторинг состояния, регулярное резервное копирование и способность восстанавливаться после сбоев.

Причины увеличения размера и повреждения базы данных

Файл базы данных Access, будь то в формате .mdb или .accdb, со временем имеет тенденцию увеличиваться в размерах и/или становиться подверженным повреждениям. Понимание причин этих явлений критически важно для предотвращения проблем.

Причины увеличения размера файла:

  • Создание временных объектов: Access часто создаёт временные таблицы, запросы и другие объекты в процессе работы (например, при выполнении сложных запросов, сортировки данных). Хотя большинство из них удаляются после завершения операций, некоторые могут оставаться, занимая место.
  • Добавление и удаление данных: Когда записи добавляются в таблицу, файл увеличивается. Однако, когда записи удаляются, освобождённое место не всегда возвращается операционной системе немедленно. Вместо этого оно помечается как свободное внутри файла и может быть использовано для новых записей, но общий размер файла не уменьшается. Это приводит к так называемому «разбуханию» файла.
  • Фрагментация данных: Постоянные изменения (вставки, обновления, удаления) могут привести к фрагментации данных внутри файла, когда данные одной таблицы или записи хранятся не последовательно, а разбросаны по разным участкам файла. Это может замедлить операции чтения.
  • Объекты OLE и вложения: Встраивание OLE-объектов (например, изображений, документов) или прикрепление файлов напрямую в поля таблицы значительно увеличивает размер базы данных.

Причины повреждения файла базы данных:

  • Некорректное завершение работы Access: Внезапное закрытие Access (например, из-за сбоя программы, отключения электроэнергии, зависания компьютера) во время активной работы с базой данных может привести к повреждению индексации или самой структуры файла.
  • Сбои питания: Резкое отключение электричества во время записи данных на диск может вызвать частичную или полную потерю информации, а также повреждение файла.
  • Проблемы в сети при совместном доступе: В многопользовательской среде, где файл Access хранится на сетевом диске, нестабильность сети, обрывы соединения или некорректное завершение работы пользователя могут привести к повреждению общей базы данных.
  • Некорректная работа сторонних приложений: Некоторые сторонние программы или утилиты, взаимодействующие с файлом Access, могут вызвать его повреждение.
  • Ошибки в коде VBA: Плохо написанный или содержащий ошибки код VBA может привести к непредсказуемому поведению Access и, как следствие, к повреждению базы данных.

Резервное копирование базы данных

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

Рекомендации по резервному копированию:
Рекомендуется регулярно создавать резервные копии базы данных Access. Частота резервного копирования должна определяться интенсивностью изменения данных. Для активно используемых баз данных это может быть ежедневно или даже несколько раз в день. Обязательно создавайте резервную копию перед выполнением серьёзных изменений в структуре базы данных или перед массовым изменением данных.

Пошаговая инструкция по созданию резервной копии в Access:

  1. Откройте базу данных: Откройте базу данных, которую вы хотите скопировать. Убедитесь, что все пользователи (если база данных многопользовательская) вышли из неё, чтобы избежать проблем с блокировками файлов.
  2. Перейдите в меню «Файл»: Выберите вкладку «Файл» (File) в левом верхнем углу.
  3. Выберите «Сохранить как»: В меню слева выберите «Сохранить как» (Save As).
  4. Выберите «Резервная копия базы данных»: В разделе «Сохранить базу данных как» (Save Database As) выберите опцию «Резервная копия базы данных» (Back Up Database).
  5. Нажмите «Сохранить как»: Нажмите кнопку «Сохранить как» (Save As) под этой опцией.
  6. Укажите имя и расположение: В открывшемся диалоговом окне «Сохранить резервную копию как» (Save Backup As) Access автоматически предложит имя файла, добавляя к исходному имени текущую дату. Выберите безопасное место для сохранения копии (например, на внешний жёсткий диск, сетевое хранилище или в облачное хранилище, отличное от места хранения рабочей базы данных).
  7. Сохранить: Нажмите кнопку «Сохранить». Access сохранит открытые в режиме конструктора объекты, закроет их и создаст копию файла базы данных с указанным именем и расположением.

Восстановление повреждённых баз данных

В случае повреждения базы данных Access существуют методы для её восстановления, хотя 100% гарантии полного восстановления данных нет, особенно при серьёзных повреждениях.

  1. Использование встроенной функции «Сжать и восстановить базу данных» (Compact & Repair Database): Это первое средство, к которому следует обратиться при обнаружении проблем с базой данных (необычное поведение, ошибки, увеличенный размер файла). Эта функция пытается восстановить повреждённые объекты и оптимизировать файл, удаляя неиспользуемое пространство.

Пошаговая инструкция:

  • Закройте повреждённую БД: Убедитесь, что повреждённый файл базы данных закрыт.
  • Откройте Access (без БД): Запустите приложение Microsoft Access.
  • Перейдите в «Файл» -> «Информация»: В меню «Файл» (File) выберите «Информация» (Info).
  • Выберите «Сжать и восстановить базу данных»: Нажмите кнопку «Сжать и восстановить базу данных» (Compact & Repair Database).
  • Выберите файл: В появившемся диалоговом окне выберите повреждённый файл Access, который вы хотите сжать и восстановить, и нажмите «Сжать». Access создаст новую, предположительно восстановленную версию файла.
  1. Импорт повреждённой базы данных в новый файл Access: Если функция «Сжать и восстановить» не помогла, можно попробовать создать новую, пустую базу данных и импортировать в неё объекты из повреждённого файла. Этот метод часто помогает, если повреждены только некоторые объекты или индексы, но не сам контейнер базы данных.

Пошаговая инструкция:

  • Создайте новую пустую БД: Откройте Access и создайте новую пустую базу данных.
  • Перейдите на вкладку «Внешние данные»: Выберите «Внешние данные» (External Data).
  • Выберите «Access» для импорта: В группе «Импорт и связь» (Import & Link) выберите «Access».
  • Укажите исходный файл: В диалоговом окне «Получение внешних данных» выберите «Импорт таблиц, запросов, форм, отчётов, макросов и модулей в текущую базу данных» и укажите путь к повреждённому файлу.
  • Выберите объекты: В следующем диалоговом окне выберите все объекты, которые вы хотите импортировать из повреждённой базы данных, и нажмите «ОК». Если некоторые объекты повреждены слишком сильно, они могут не импортироваться.

Администрирование базы данных Access, включая регулярное резервное копирование и знание методов восстановления, является неотъемлемой частью создания и поддержания надёжной информационной системы, что в конечном итоге обеспечивает долгосрочную работоспособность и сохранность данных.

Практический пример: Разработка базы данных «Учёт успеваемости студентов»

Чтобы закрепить все теоретические знания и продемонстрировать практическое применение СУБД Microsoft Access, рассмотрим сквозной пример разработки базы данных для учёта успеваемости студентов. Этот пример охватывает все этапы: от постановки задачи до обеспечения безопасности.

Постановка задачи и анализ предметной области

Задача: Разработать реляционную базу данных в Microsoft Access для автоматизации учёта успеваемости студентов в учебном заведении.

Анализ предметной области:
Необходимо хранить информацию о:

  • Студентах: Фамилия, имя, отчество, дата рождения, номер зачётной книжки, группа.
  • Группы: Номер группы, курс, специальность.
  • Дисциплинах: Название дисциплины, количество часов, кафедра, преподаватель.
  • Преподавателях: Фамилия, имя, отчество, учёная степень, должность.
  • Оценках: Какому студенту, по какой дисциплине, дата сдачи, оценка.

Выявление сущностей и связей:

  1. Сущности: Студенты, Группы, Дисциплины, Преподаватели, Оценки.
  2. Связи:
    • Группы – Студенты: Одна группа может включать много студентов (1:М).
    • Студенты – Оценки: Один студент может иметь много оценок (1:М).
    • Дисциплины – Оценки: Одна дисциплина может иметь много оценок (1:М).
    • Преподаватели – Дисциплины: Один преподаватель может вести много дисциплин (1:М).
    • (Студенты – Дисциплины): Связь многие-ко-многим через таблицу Оценки.

Концептуальное и логическое проектирование

На основе анализа предметной области строим концептуальную модель, а затем преобразуем её в логическую, с учётом нормализации.

ER-диаграмма (Концептуальная модель):

  • Сущности:
    • ГРУППА (КодГруппы, НазваниеГруппы, Курс, Специальность)
    • СТУДЕНТ (КодСтудента, Фамилия, Имя, Отчество, ДатаРождения, НомерЗачётнойКнижки, КодГруппы)
    • ПРЕПОДАВАТЕЛЬ (КодПреподавателя, Фамилия, Имя, Отчество, УчёнаяСтепень, Должность)
    • ДИСЦИПЛИНА (КодДисциплины, НазваниеДисциплины, Часы, КодПреподавателя)
    • ОЦЕНКА (КодОценки, КодСтудента, КодДисциплины, ДатаСдачи, ОценкаЧислом)
  • Связи:
    • ГРУППА 1:М СТУДЕНТ (одна группа включает много студентов)
    • СТУДЕНТ 1:М ОЦЕНКА (один студент имеет много оценок)
    • ДИСЦИПЛИНА 1:М ОЦЕНКА (одна дисциплина имеет много оценок)
    • ПРЕПОДАВАТЕЛЬ 1:М ДИСЦИПЛИНА (один преподаватель ведёт много дисциплин)

Логическая схема (Нормализация до 3НФ):
Все таблицы уже спроектированы таким образом, чтобы соответствовать 3НФ:

  • СТУДЕНТЫ: (КодСтудента, Фамилия, Имя, Отчество, ДатаРождения, НомерЗачётнойКнижки, *КодГруппы*)
    • 1НФ: Все поля атомарны.
    • 2НФ: Нет составного ключа.
    • 3НФ: Нет транзитивных зависимостей.
  • ГРУППЫ: (КодГруппы, НазваниеГруппы, Курс, Специальность)
  • ПРЕПОДАВАТЕЛИ: (КодПреподавателя, Фамилия, Имя, Отчество, УчёнаяСтепень, Должность)
  • ДИСЦИПЛИНЫ: (КодДисциплины, НазваниеДисциплины, Часы, *КодПреподавателя*)
  • ОЦЕНКИ: (КодОценки, *КодСтудента*, *КодДисциплины*, ДатаСдачи, ОценкаЧислом)
    • КодОценки — первичный ключ.
    • КодСтудента и КодДисциплины — внешние ключи.
    • Все неключевые атрибуты зависят от всего первичного ключа.

Реализация в MS Access: Создание таблиц и связей

Создание новой базы данных:

  1. Откройте Access, выберите «Пустая база данных рабочего стола».
  2. Назовите файл «УчётУспеваемости.accdb» и сохраните.

Создание таблиц в режиме конструктора:

  1. Таблица «Группы»:
    • КодГруппы (Счётчик, Первичный ключ)
    • НазваниеГруппы (Короткий текст, Размер поля: 10)
    • Курс (Числовой, Длинное целое)
    • Специальность (Короткий текст, Размер поля: 50)
  2. Таблица «Студенты»:
    • КодСтудента (Счётчик, Первичный ключ)
    • Фамилия (Короткий текст, Размер поля: 50)
    • Имя (Короткий текст, Размер поля: 50)
    • Отчество (Короткий текст, Размер поля: 50)
    • ДатаРождения (Дата/время, Формат: Короткий формат даты)
    • НомерЗачётнойКнижки (Короткий текст, Размер поля: 10, Индексированное: Да (Совпадения не допускаются))
    • КодГруппы (Числовой, Длинное целое, Внешний ключ)
  3. Таблица «Преподаватели»:
    • КодПреподавателя (Счётчик, Первичный ключ)
    • Фамилия (Короткий текст, Размер поля: 50)
    • Имя (Короткий текст, Размер поля: 50)
    • Отчество (Короткий текст, Размер поля: 50)
    • УчёнаяСтепень (Короткий текст, Размер поля: 30)
    • Должность (Короткий текст, Размер поля: 50)
  4. Таблица «Дисциплины»:
    • КодДисциплины (Счётчик, Первичный ключ)
    • НазваниеДисциплины (Короткий текст, Размер поля: 100)
    • Часы (Числовой, Целое)
    • КодПреподавателя (Числовой, Длинное целое, Внешний ключ)
  5. Таблица «Оценки»:
    • КодОценки (Счётчик, Первичный ключ)
    • КодСтудента (Числовой, Длинное целое, Внешний ключ)
    • КодДисциплины (Числовой, Длинное целое, Внешний ключ)
    • ДатаСдачи (Дата/время, Формат: Короткий формат даты)
    • ОценкаЧислом (Числовой, Целое, Правило проверки: Between 1 And 5, Текст сообщения об ошибке: «Оценка должна быть от 1 до 5»)

Установление связей и обеспечение ссылочной целостности:

  1. Перейдите в «Работа с базами данных» -> «Схема данных».
  2. Добавьте все созданные таблицы.
  3. Создайте связи, перетаскивая первичные ключи на внешние, и установите флажок «Обеспечение целостности данных» для каждой связи:
    • Группы.КодГруппыСтуденты.КодГруппы (1:М)
    • Студенты.КодСтудентаОценки.КодСтудента (1:М)
    • Дисциплины.КодДисциплиныОценки.КодДисциплины (1:М)
    • Преподаватели.КодПреподавателяДисциплины.Код��реподавателя (1:М)

Для связей Студенты-Оценки и Дисциплины-Оценки можно дополнительно установить «Каскадное удаление связанных записей», если при удалении студента/дисциплины необходимо удалять и все его/её оценки.

Разработка форм для ввода и редактирования данных

Создадим формы для удобного взаимодействия с данными.

  1. Форма «Студенты» (основная):
    • На основе таблицы «Студенты».
    • Используем «Мастер форм», выберем все поля. Макет: «Ленточный».
    • Добавим кнопку «Открыть оценки студента» для перехода на форму оценок с фильтрацией по текущему студенту (с использованием VBA или макросов).
  2. Форма «Оценки» (подчинённая):
    • На основе таблицы «Оценки».
    • Может быть встроена как подчинённая форма в форму «Студенты» для отображения оценок конкретного студента.
    • Поля: КодСтудента (скрытое), КодДисциплины (поле со списком, выбирает из таблицы «Дисциплины» НазваниеДисциплины), ДатаСдачи, ОценкаЧислом.
  3. Форма «Дисциплины и Преподаватели»:
    • На основе таблицы «Дисциплины».
    • Поле КодПреподавателя оформить как поле со списком, выбирающее из таблицы «Преподаватели» ФИО преподавателя.

Создание запросов для анализа и отбора данных

1. Запрос на выборку: «Успеваемость по студентам»
Выводит ФИО студента, название дисциплины и оценку.

SELECT
    Студенты.Фамилия, Студенты.Имя, Студенты.Отчество,
    Дисциплины.НазваниеДисциплины, Оценки.ОценкаЧислом
FROM
    (Студенты INNER JOIN Оценки ON Студенты.КодСтудента = Оценки.КодСтудента)
    INNER JOIN Дисциплины ON Оценки.КодДисциплины = Дисциплины.КодДисциплины
ORDER BY
    Студенты.Фамилия, Дисциплины.НазваниеДисциплины;

2. Запрос на выборку: «Средний балл по дисциплинам»
Выводит название дисциплины и средний балл по ней.

SELECT
    Дисциплины.НазваниеДисциплины, AVG(Оценки.ОценкаЧислом) AS СреднийБалл
FROM
    Дисциплины INNER JOIN Оценки ON Дисциплины.КодДисциплины = Оценки.КодДисциплины
GROUP BY
    Дисциплины.НазваниеДисциплины;

3. Запрос на обновление: «Повысить оценку неуспевающим» (гипотетический пример)
Предположим, нужно повысить все оценки «2» до «3» по определённой дисциплине.

UPDATE Оценки
SET ОценкаЧислом = 3
WHERE ОценкаЧислом = 2 AND КодДисциплины = [Введите Код Дисциплины];

Разработка отчётов для представления информации

  1. Отчёт «Ведомость успеваемости»:
    • На основе запроса «Успеваемость по студентам».
    • Используем «Мастер отчётов», группируем по ФИО студента, а затем по дисциплине.
    • В верхний колонтитул отчёта добавляем заголовок «Ведомость успеваемости».
    • В нижний колонтитул каждой группы «Студент» добавляем вычисляемое поле: Средний балл: =Avg([ОценкаЧислом]).
  2. Отчёт «Список студентов по группам»:
    • На основе объединённого запроса Группы и Студенты.
    • Группировка по НазваниеГруппы.
    • Включаем поля: Фамилия, Имя, Отчество, НомерЗачётнойКнижки.
    • В нижний колонтитул группы НазваниеГруппы добавляем Количество студентов: =Count([КодСтудента]).

Реализация дополнительных функций с помощью VBA (опционально)

Пример 1: Кнопка на форме «Студенты» для автоматического расчёта возраста.
Добавим на форму «Студенты» текстовое поле txtВозраст и кнопку cmdРассчитатьВозраст.

Private Sub cmdРассчитатьВозраст_Click()
    Dim dtmДатаРождения As Date
    Dim intВозраст As Integer

    dtmДатаРождения = Me.ДатаРождения

    If Not IsNull(dtmДатаРождения) Then
        intВозраст = DateDiff("yyyy", dtmДатаРождения, Date)
        If Date < DateSerial(Year(Date), Month(dtmДатаРождения), Day(dtmДатаРождения)) Then
            intВозраст = intВозраст - 1
        End If
        Me.txtВозраст = intВозраст & " лет"
    Else
        Me.txtВозраст = "Дата рождения не указана"
    End If
End Sub

Пример 2: Защита от ввода некорректной оценки (событие BeforeUpdate для поля ОценкаЧислом в форме «Оценки»).
Хотя мы уже задали «Правило проверки» на уровне таблицы, VBA позволяет добавить более сложную логику или пользовательское сообщение.

Private Sub ОценкаЧислом_BeforeUpdate(Cancel As Integer)
    If Me.ОценкаЧислом < 1 Or Me.ОценкаЧислом > 5 Then
        MsgBox "Оценка должна быть в диапазоне от 1 до 5.", vbExclamation, "Ошибка ввода"
        Cancel = True 'Отменяет сохранение изменений в поле
    End If
End Sub

Обеспечение целостности и безопасности данных для примера

  1. Ссылочная целостность: Как было показано выше, установлена для всех ключевых связей (Группы-Студенты, Студенты-Оценки, Дисциплины-Оценки, Преподаватели-Дисциплины). Это гарантирует, что не будет «бесхозных» оценок без студента или дисциплины, и все студенты привязаны к существующим группам.
    • Для Студенты-Оценки и Дисциплины-Оценки установлена опция «Каскадное удаление связанных записей», чтобы при удалении студента или дисциплины автоматически удалялись и их оценки. Это удобно, но требует осторожности.
  2. Парольная защита: Для базовой защиты базы данных «УчётУспеваемости.accdb» устанавливаем пароль.
    • Открываем БД в монопольном режиме.
    • «Файл» -> «Сведения» -> «Зашифровать с помощью пароля». Вводим надёжный пароль.
    • Теперь при каждом открытии базы данных будет запрашиваться пароль.
  3. Защита на уровне полей: Для поля «ОценкаЧислом» в таблице «Оценки» установлено «Правило проверки» Between 1 And 5, что предотвращает ввод некорректных значений.

Этот практический пример демонстрирует, как все изученные теоретические аспекты и объекты Access объединяются для создания функциональной и надёжной системы учёта успеваемости студентов, что является отличной основой для курсовой работы, позволяя студентам получить ценный опыт от начала до конца проекта.

Заключение

В рамках данной курсовой работы был проведён всесторонний анализ и практическая реализация ключевых аспектов разработки и обработки реляционных баз данных с использованием СУБД Microsoft Access. Мы начали с фундаментальных теоретических основ, погрузившись в трёхфазную методологию проектирования – от концептуальной модели предметной области с ER-диаграммами до логической структуры, усиленной принципами нормализации до 3НФ и НФБК. Было детально показано, как эти этапы обеспечивают минимизацию избыточности, устранение аномалий и повышение эффективности хранения данных.

Далее мы перешли к практическому освоению основных объектов Microsoft Access. Подробно рассмотрен процесс создания и настройки таблиц в режиме конструктора, включая выбор оптимальных типов данных и установку первичных ключей и связей, что является основой для построения любой реляционной системы. Мощный инструментарий запросов был изучен как средство для извлечения, обработки и анализа данных, от простых выборок до сложных агрегаций с использованием SQL-предложений SELECT, FROM, WHERE, ORDER BY, GROUP BY, HAVING и UNION.

Не менее важным стал раздел, посвящённый созданию удобного пользовательского интерфейса с помощью форм и эффективному представлению информации через отчёты. Мы рассмотрели различные методы их разработки, настройку элементов управления и использование макетов для создания профессионального вида. Особое внимание было уделено роли Visual Basic for Applications (VBA) как средства автоматизации рутинных задач, реализации сложной бизнес-логики и создания интерактивных элементов, что позволяет выйти за рамки стандартного функционала Access.

Наконец, были детально проанализированы критически важные аспекты обеспечения целостности и безопасности данных, включая ссылочную целостность с каскадными операциями, парольную защиту, шифрование с использованием современных алгоритмов (AES-128) и принципы защиты на уровне пользователей. Завершающий раздел по администрированию базы данных осветил вопросы, связанные с причинами увеличения размера и повреждения файлов, а также жизненно важные методы резервного копирования и восстановления.

Практический пример по разработке базы данных «Учёт успеваемости студентов» послужил наглядной демонстрацией сквозной реализации всех изученных концепций, объединив теоретические знания и практические навыки в единое целое.

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

Список использованной литературы

  1. Огородников В.А. Обеспечение целостности данных. URL: https://libeldoc.bsuir.by/bitstream/123456789/20562/1/1%D0%9E%D0%B3%D0%BE%D1%80%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2%20%D0%92.%D0%90.%20%D0%9E%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%20%D1%86%D0%B5%D0%BB%D0%BE%D1%81%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85.doc (дата обращения: 23.10.2025).
  2. Этапы проектирования реляционной базы данных. URL: https://rosbiotech.ru/upload/iblock/c38/22-etapy-proektirovaniya-relyatsionnoy-bazy-dannykh.pdf (дата обращения: 23.10.2025).
  3. Как сделать резервную копию базы данных Access. URL: https://solix.com/ru/blog/how-to-backup-an-access-database/ (дата обращения: 23.10.2025).
  4. Целостность данных. URL: https://smiuk.sfu-kras.ru/attachments/article/18/8.2.pdf (дата обращения: 23.10.2025).
  5. Microsoft Access (*.mdb, *.accdb): как восстановить базу данных. URL: https://hetmanrecovery.com/ru/recovery_news/how-to-recover-microsoft-access-database.htm (дата обращения: 23.10.2025).
  6. Безопасность в Access 2010. URL: https://support.microsoft.com/ru-ru/office/%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C-%D0%B2-access-2010-3de5d0c8-6927-4a00-ab61-f3b185b376b3 (дата обращения: 23.10.2025).
  7. Access SQL. Основные понятия, лексика и синтаксис. URL: https://support.microsoft.com/ru-ru/office/access-sql-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D1%82%D0%B8%D1%8F-%D0%BB%D0%B5%D0%BA%D1%81%D0%B8%D0%BA%D0%B0-%D0%B8-%D1%81%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%81-e231174d-7734-4a49-9f5b-179374092497 (дата обращения: 23.10.2025).
  8. Руководство по созданию отчетов. URL: https://support.microsoft.com/ru-ru/office/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE-%D0%BF%D0%BE-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8E-%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%BE%D0%B2-d62f6274-1360-466d-965a-0d22c1511252 (дата обращения: 23.10.2025).
  9. Защита данных с помощью резервного копирования и восстановления. URL: https://support.microsoft.com/ru-ru/office/%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-%D1%80%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B3%D0%BE-%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B8-%D0%B2%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F-81d316a7-0e6e-4770-9831-a0a109866299 (дата обращения: 23.10.2025).
  10. Как восстановить и исправить поврежденные базы данных Microsoft Access (MDB, ACCDB). URL: https://recoverit.wondershare.com/database-recovery/repair-access-database.html (дата обращения: 23.10.2025).
  11. Резервное копирование вашей базы данных в Access. URL: https://support.microsoft.com/ru-ru/office/%D1%80%D0%B5%D0%B7%D0%B5%D1%80%D0%B2%D0%BD%D0%BE%D0%B5-%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B2%D0%B0%D1%88%D0%B5%D0%B9-%D0%B1%D0%B0%D0%B7%D0%B0%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-access-021c5b8b-1e56-42d1-9494-013098322c3c (дата обращения: 23.10.2025).
  12. Создание таблиц в классических базах данных Access с помощью средства чтения с экрана. URL: https://support.microsoft.com/ru-ru/office/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86-%D0%B2-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85-%D0%B1%D0%B0%D0%B7%D0%B0%D1%85-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-access-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-%D1%81%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B2%D0%B0-%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D1%8F-%D1%81-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-7539420b-06f0-4613-810a-20058b8f362e (дата обращения: 23.10.2025).
  13. Шифрование базы данных с помощью пароля. URL: https://support.microsoft.com/ru-ru/office/%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B1%D0%B0%D0%B7%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8F-2c709419-f06b-4835-a131-778263cf81b9 (дата обращения: 23.10.2025).
  14. Создание таблицы в режиме конструктора. URL: https://rabota-access.ru/sozdanie_tablic_v_rezhime_konstruktora.html (дата обращения: 23.10.2025).
  15. Конструктор запросов в ms Access. URL: https://rosbiotech.ru/upload/iblock/562/laboratornyy_praktikum2.doc (дата обращения: 23.10.2025).
  16. Как восстановить поврежденную базу данных Microsoft Access. URL: https://ixbt.com/data/recovery/how-to-repair-access-database.html (дата обращения: 23.10.2025).
  17. Создание простого отчета. URL: https://support.microsoft.com/ru-ru/office/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B3%D0%BE-%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%B0-2647c234-a212-4091-8178-5a6767417647 (дата обращения: 23.10.2025).
  18. Создание запроса, формы или отчета в Access. URL: https://support.microsoft.com/ru-ru/office/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-%D1%84%D0%BE%D1%80%D0%BC%D1%8B-%D0%B8%D0%BB%D0%B8-%D0%BE%D1%82%D1%87%D0%B5%D1%82%D0%B0-%D0%B2-access-c4d37535-6483-4a25-a77a-4a61765c4046 (дата обращения: 23.10.2025).
  19. Как создать отчет в Аccess? URL: https://yandex.ru/q/question/kak_sozdat_otchet_v_access_372863e4 (дата обращения: 23.10.2025).
  20. Создание и изменение запроса с помощью Конструктора запросов. URL: https://bspu.b/upload/documents/fmf/Access.pdf (дата обращения: 23.10.2025).
  21. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ. URL: https://hse.ru/data/2010/06/17/1217036496/%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%A0%D0%91%D0%94.pdf (дата обращения: 23.10.2025).
  22. Создание таблицы и добавление полей. URL: https://support.microsoft.com/ru-ru/office/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B-%D0%B8-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BE%D0%BB%D0%B5%D0%B9-8356193e-2b1b-426c-a807-ed269a9101d2 (дата обращения: 23.10.2025).
  23. Использование SQL для построения запросов. URL: https://rosbiotech.ru/upload/iblock/c38/24-ispolzovanie-sql-dlya-postroeniya-zaprosov.pdf (дата обращения: 23.10.2025).
  24. Какие основные способы защиты данных в MS Access. URL: https://yandex.ru/q/question/kakie_osnovnye_sposoby_zashchity_dannykh_v_ms_access_eb2d7904 (дата обращения: 23.10.2025).
  25. Создание простого запроса на выборку. URL: https://support.microsoft.com/ru-ru/office/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B3%D0%BE-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-%D0%BD%D0%B0-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%BA%D1%83-b903e630-f3b3-40e1-8848-26d0db01404c (дата обращения: 23.10.2025).

Похожие записи