Создание базы данных: приемы и существующие решения. Как сделать простую базу данных

Viber OUT 04.08.2019
Viber OUT

В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в 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», «Экзамен2», «Экзамен3».

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


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


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

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

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

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

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

На выборку

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


А что делать, если нас интересуют студенты из Харькова, стипендии у которых больше 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» — типы данных для соответствующих значений.


Внимание! В конце каждого запроса должен стоять символ «;». Без него выполнение скрипта приведет к ошибке.

На добавление, удаление, редактирование

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


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

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


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

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

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

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

  1. Перейдите во вкладку «Создание».
  2. Нажмите на кнопку «Мастер отчетов» в блоке «Отчеты».

  3. Выберите интересующую таблицу и поля, нужные для печати.

  4. Добавьте необходимый уровень группировки.

  5. Выберите тип сортировки каждого из полей.

В наше время базы данных очень широко применяются в различных сферах: на предприятиях, в компаниях, учебных заведениях и так далее. А работать с ними позволяет программа из пакета Office - Microsoft Access, которая даёт юзерам очень широкие возможности для взаимодействия с таблицами. Навыки работы в программе Microsoft Access будут полезны каждому современному пользователю. В этой статье подробно рассмотрим, как создать базу данных в Access. Давайте разбираться. Поехали!

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

Пример создания базы с многоуровневым списком

Запустив Microsoft Access, выберите «Создать» в меню «Файл». Затем нажмите кнопку «Новая база данных». Справа в окне укажите имя файла и место, где он будет храниться. После этого нажмите кнопку «Создать». Также вы можете воспользоваться одним из списка шаблонов, предлагаемых утилитой. В некоторых случаях будет гораздо удобнее просто отредактировать шаблон, чем самостоятельно создать всё заново.

Как начать создание базы данных

Перед вами появится таблица с одним единственным полем. Наведите курсор на вкладку и выберите пункт «Конструктор». В появившемся окне будет предложено изменить название. Теперь можно начать заполнять ячейки в колонке «Имя поля». Следующий столбец «Тип данных» будет заполняться автоматически, в зависимости от того, вводили вы слова или числа. Тип данных в каждой ячейке можно изменять. Существуют такие типы данных:

  • текстовый;
  • поле МЕМО (эксплуатируется для описаний объектов, так как разрешает вводить большое количество символов, >255);
  • числовой;
  • дата/время;
  • денежный;
  • счётчик;
  • логический (удобно применять для полей, содержащих «да» или «нет»);
  • поле объекта OLE (позволяет вставлять файлы мультимедиа: фото, видео);
  • гиперссылка;
  • вложение (используется для хранения нескольких файлов в одном поле);
  • вычисляемый (разрешает рассчитать сумму, разность, произведение на основе других данных из таблицы);
  • мастер подстановок.

В большинстве случаев вам пригодятся только «числовой», «текстовый», «денежный», «вычисляемый» и «Дата/время», именно такие типы данных эксплуатируются наиболее часто. Ниже, в разделе «Свойства поля», вы можете увидеть размер поля. В случае, если у вас текстовый тип данных, там будет стоять 255. Это значит, что вы можете ввести в данной ячейке 255 символов . Разумеется, это слишком много, поэтому следует сократить размер указанного поля до 30 (вы можете поставить любое другое число, в зависимости от стоящих задач). Делается это для того, чтобы БД занимала меньше дискового пространства.

Для разного атрибута разный тип данных, пример на скриншоте.

Выбрав числовой тип данных, можно задать так называемую маску ввода. Нужна она для того, чтобы определённым образом отображать введённые числовые значения . Задаётся маска при помощи пробелов и решёток. Например, если ваша таблица содержит номера паспортов, то, чтобы эти номера отображались в соответствующем формате, задайте маску «####_######». То есть 4 символа, затем пробел и ещё 6 символов. Для номеров телефона можно указать маску «8(###)-###-##-##».

Для типа «Дата/время» дозволено выбрать различные форматы отображения в разделе «Свойства поля».

Итак, вы установили MySQL, и мы начинаем осваивать язык SQL. В уроке 3 по основам баз данных , мы создали концептуальную модель маленькой БД для форума. Пришло время реализовать ее в СУБД MySQL.

Для этого прежде всего надо запустить сервер MySQL. Идем в системное меню Пуск - Программы - MySQL - MySQL Server 5.1 - MySQL Command Line Client. Откроется окно, предлагающее ввести пароль.

Нажимаем Enter на клавиатуре, если вы не указывали пароль при настройке сервера или указываем пароль, если вы его задавали. Ждем приглашения mysql>.

Нам надо создать базу данных, которую мы назовем forum. Для этого в SQL существует оператор create database

Create database имя_базы_данных;


Максимальная длина имени БД составляет 64 знака и может включать буквы, цифры, символ "_" и символ "$". Имя может начинаться с цифры, но не должно полностью состоять из цифр. Любой запрос к БД заканчивается точкой с запятой (этот символ называется разделителем - delimiter). Получив запрос, сервер выполняет его и в случае успеха выдает сообщение "Query OK ..."

Итак, создадим БД forum:

Нажимаем Enter и видим ответ "Query OK ...", означающий, что БД была создана:

Вот так все просто. Теперь в этой базе данных нам надо создать 3 таблицы: темы, пользователи и сообщения. Но перед тем, как это делать, нам надо указать серверу в какую именно БД мы создаем таблицы, т.е. надо выбрать БД для работы. Для этого используется оператор use . Синтаксис выбора БД для работы следующий:

Use имя_базы_данных;


Итак, выберем для работы нашу БД forum:

Нажимаем Enter и видим ответ "Database changed" - база данных выбрана.

Выбирать БД необходимо в каждом сеансе работы с MySQL.

Для создания таблиц в SQL существует оператор create table . Создание базы данных имеет следующий синтаксис:

Create table имя_таблицы (имя_первого_столбца тип, имя_второго_столбца тип, ..., имя_последнего_столбца тип);


Требования к именам таблиц и столбцов такие же, как и для имен БД. К каждому столбцу привязан определенный тип данных, который ограничивает характер информации, которую можно хранить в столбце (например, предотвращает ввод букв в числовое поле). MySQL поддерживает несколько типов данных: числовые, строковые, календарные и специальный тип NULL, обозначающий отсутствие информации. Подробно о типах данных мы будем говорить в следующем уроке, а пока вернемся к нашим таблицам. В них у нас всего два типа данных - целочисленные значения (int) и строки (text). Итак, создадим первую таблицу - Темы:

Нажимаем Enter - таблица создана:

Итак, мы создали таблицу topics (темы) с тремя столбцами:
id_topic int - id темы (целочисленное значение),
topic_name text - имя темы (строка),
id_author int - id автора (целочисленное значение).

Аналогичным образом создадим оставшиеся две таблицы - users (пользователи) и posts (сообщения):

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

show databases - показать все имеющиеся БД,

show tables - показать список таблиц текущей БД (предварительно ее надо выбрать с помощью оператора use ),

describe имя_таблицы - показать описание столбцов указанной таблицы.

Давайте попробуем. Смотрим все имеющиеся базы данных (у вас она пока одна - forum, у меня 30, и все они перечислены в столбик):

Теперь посмотрим список таблиц БД forum (для этого ее предварительно надо выбрать), не забываем после каждого запроса нажимать Enter:

В ответе видим названия наших трех таблиц. Теперь посмотрим описание столбцов, например, таблицы topics:

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

А сегодня мы рассмотрим последний оператор - drop , он позволяет удалять таблицы и БД. Например, давайте удалим таблицу topics. Так как мы два шага назад выбирали БД forum для работы, то сейчас ее выбирать не надо, можно просто написать:

Drop table имя_таблицы;


и нажать Enter.

Теперь снова посмотрим список таблиц нашей БД:

Наша таблица действительно удалена. Теперь давайте удалим и саму БД forum (удаляйте, не жалейте, ее все равно придется переделывать). Для этого напишем:

Drop database имя_базы данных;


и нажмем Enter.

И убедитесь в этом, сделав запрос на все имеющиеся БД:

У вас, наверно, нет ни одной БД, у меня их стало 29 вместо 30.

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

Создайте базу данных. В командной строке MySQL введите команду CREATE DATABASE ; . Замените названием вашей базы данных. Оно не может содержать пробелы.

  • К примеру, чтобы создать базу данных всех американских штатов, можно ввести CREATE DATABASE us_states;
  • Примечание: Команды необязательно вводить в верхнем регистре.
  • Примечание: Все команды MySQL должны оканчиваться ";". Если вы забыли поставить точку с запятой, то просто введите ";" на следующей строке, чтобы началась обработка предыдущей команды.

Отобразите список доступных баз данных. Введите команду SHOW DATABASES; , чтобы отобразить список хранящихся баз данных. Кроме только что созданной базы данных, вы так же увидите базы данных mysql и test . Сейчас можете их проигнорировать.

Выберите базу данных. Когда база данных создана, нужно ее выбрать, чтобы начать редактирование. Введите команду USE us_states; . Вы увидите сообщение Database changed , которое уведомляет, что сейчас активной базой данных является us_states .

Создайте таблицу. Таблица - это место хранения информации в базе данных. Чтобы создать таблицу, нужно одной командой ввести всю ее структуру. Чтобы создать таблицу, введите такую команду: CREATE TABLE states (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, state CHAR(25), population INT(9)); . Эта команда создаст таблицу под названием "states" с тремя полями: id , state , and population .

  • Команда INT указывает на то, что поле id будет содержать только числа (целые числа).
  • Команда NOT NULL указывает на то, что поле id не должно быть пустым (обязательно для ввода).
  • PRIMARY KEY обозначает, что поле id является ключевым полем в таблице. Ключевое поле - это поле, которое не может содержать одинаковых значений.
  • Команда AUTO_INCREMENT будет автоматически присваивать возрастающие значения полю id , по сути автоматически нумеруя каждую запись.
  • Команды CHAR (символы) and INT (целые числа) обозначают тип данных, допустимый в соответствующих полях. Число, следующее за командой, обозначает сколько символов или цифр поле может содержать.
  • Создайте запись в таблице. Теперь, когда таблица создана, настало время вводить информацию. Используйте следующую команду, чтобы ввести первую запись: INSERT INTO states (id, state, population) VALUES (NULL, ‘Alabama’, ‘4822023’);

    • Эта команда, по сути, говорит базе данных сохранить информацию в таблице в трех соответствующих полях.
    • Поскольку поле id содержит идентификатор NOT NULL , то ввод NULL в качестве значения, заставит его увеличится на единицу, благодаря идентификатору AUTO_INCREMENT .
  • Создайте больше записей. Можно сохранить много записей с помощью одной команды. Чтобы сохранить еще три штата, введите такую команду: INSERT INTO states (id, state, population) VALUES (NULL, ‘Alaska’, ‘731449’), (NULL, ‘Arizona’, ‘6553255’), (NULL, ‘Arkansas’, ‘2949131’); .

  • Выполните запрос к базе данных. Теперь, когда простая база данных создана, вы можете выполнять запросы, чтобы извлекать нужную информацию. Для начала введите следующую команду: SELECT * FROM us_states; . Этот запрос вернет всю базу данных, что показано командой "*", которая означает "все".

    • Для более трудного запроса, введите такую команду: SELECT state, population FROM us_states ORDER BY population; Этот запрос вернет таблицу со штатами, отсортированными по количеству населения, вместо сортировки по имени в алфавитном порядке. Поле id не будет отображено, поскольку вы просили только поля state и population .
    • Чтобы отобразить штаты по количеству населения в обратном порядке, используйте следующую команду: SELECT state, population FROM us_states ORDER BY population DESC; . Команда DESC отобразит штаты по убыванию количества населения (от большего к меньшему, а не от меньшего к большему).


  • Рекомендуем почитать

    Наверх