Создание базы данных в Excel по клиентам с примерами и шаблонами. Создание базы данных MySQL

18.08.2019

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

Итак, вы установили 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.

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

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

    таблицы для сохранения данных;

    запросы для поиска и извлечения только требуемых данных;

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

    отчеты для анализа и печати данных в определенном формате;

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

База данных для решения поставленной задачи состоит из:

    1. Таблица «Изделия» состоит из списка выпускаемого ассортимента и содержит наименование изделия и его код;

      Таблица «Цеха» состоит из перечня цехов, выпускающих продукцию и содержит наименование цеха и его код;

      Таблица «Склады» состоит из перечня складов, где хранится продукция и содержит наименование склада и его код;

      Таблица «Единицы измерения» состоит из списка минимальных единиц выпуска ассортимента и содержит наименование единицы измерения и ее код;

      Таблица «Месяцы» содержит номер и наименование месяца;

      Таблица «План выпуска» отражает ассортимент и количество планируемого выпуска продукции по месяцам и цехам;

      Таблица «Цеховые накладные» содержит номера и даты накладных на выпущенную цехами продукцию;

      Таблица «Спецификации цеховых накладных» содержит информацию о количестве и ассортименте продукции выпущенной по конкретной накладной.

  1. Запросов

    1. Запрос «План» выполняет выборку данных о количестве и ассортименте планируемого выпуска продукции за определенный период на заданный склад;

      Запрос «Факт» выполняет выборку данных о количестве и ассортименте выпущенной продукции за определенный период на заданный склад;

      Запрос «Отклонение» выполняет выборку данных о разнице количества планируемого выпуска продукции и фактического за определенный период на заданный склад.

    1. Форма «Изделия» позволяет редактировать таблицу «Изделия»;

      Форма «Цеховые накладные» позволяет работать с таблицей «Цеховые накладные» и соподчиненной ей таблицей «Спецификации цеховых накладных».

    1. Отчет «Излишки продукции» представляет собой результат запроса «Отклонение»

      Структура таблиц.

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

    Текстовый. Текст или числа не требующие проведения расчётов.

    МЕМО. Поле этого типа предназначено для хранения небольших текстовых данных (до 64000 символов). Поле этого типа не может быть ключевым или проиндексированным.

    Числовой. Этот тип данных содержит множество подтипов. От выбора подтипа (размера) зависит точность вычислений.

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

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

    Денежный. Денежные значения и числовые данные, используемые в математических вычислениях.

    Дата/Время. Дата и время хранятся в специальном фиксированном формате.

    Поле объекта OLE . Включает звукозапись, рисунок и прочие типы данных. Поле этого типа не может быть ключевым или проиндексированным.

    Гиперсвязь. Содержит адреса Web-страниц.

Типы данных в полях таблиц

Таблица единицы измерения

Таблица месяцы

Таблица план выпуска

Таблица спецификации цеховых накладных

Таблица цеха

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

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

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

Имя поля

Ключевое

Тип данных

Размер поля

Число десят. знак.

Табл. для подстан.

    Таблица Изделия

Код изделия

Числовой

Наименование изделия

Код единицы измер.

Числовой

Денежный

Номер склада

Числовой

    Таблица Склады

Номер Склада

Числовой

Наименование склада

    Таблица Цеха

Номер Цеха

Числовой

Наименование цеха

    Таблица Единицы измерения

Код Единицы измерения

Числовой

Наименование единицы измерения

    Таблица Месяцы

Номер месяца

Да (Совпадения не допускаются)

Числовой

Наименование месяца

    Таблица План выпуска

Номер цеха

Числовой

Номер месяца

Числовой

Код изделия

Числовой

Количество

Числовой

    Таблица Цеховые накладные

Номер цеха

Числовой

Номер цеховой накладной

Числовой

Дата сдачи

Дата/Время

    Таблица Спецификации ТТН

Номер цеха

Числовой

Номер цеховой накладной

Числовой

Цеховые накладные

Код изделия

Числовой

Количество

Числовой

      Схема данных.

Учитывая все вышесказанное нарисуем схему данных

Рис.3 Схема данных

      Пользовательские формы.

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

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

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

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

Рис.4 Форма «Цеховые накладные»

Рис.5 Форма «Изделия»

Рис 6. Форма «План выпуска»

      Создание запросов.

Запросы являются важным инструментом в любых системах управления базами данных. Они используются для выделения, обновления и добавле­ния новых записей в таблицы. Чаще всего запросы используются для вы­деления специфических групп записей, чтобы удовлетворить определен­ному критерию. Кроме того, их можно использовать для получения дан­ных из различных таблиц, обеспечивая единое представление связанных элементов данных. При помощи этих мощных гибких средств можно:

    Формировать сложные критерии для выбора записей из одной или нескольких таблиц;

    Указать поля, которые должны быть отображены для выбранных записей;

    Выполнять вычисления с использованием выбранных данных.

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

    Запросы на выборку отображают данные из одной или нескольких таблиц в виде таблицы.

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

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

    Запросы с параметрами - это такие запросы, свой­ства которых изменяются пользователем при каждом запуске. При запуске за­проса с параметром появляется диалоговое окно, в котором нужно ввести условие отбора. Этот тип запроса не является обособленным, т. е. параметр можно добавить к запросу любого типа.

В этой работе запрос был создан с помощью мастера

      Создание отчетов.

Конечным продуктом большинства приложений баз данных является от­чет. В Access отчет представляет собой специальный тип непрерывных форм, предназначенных для печати. Для создания отчета, который можно распечатать и распределить между потребителями, Access комбинирует данные в таблицах, запросах и даже формах. Распечатанная версия формы может служить отчетом.

Создаваемые Access отчеты делятся на шесть основных типов:

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

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

    Многоколоночные отчеты создаются из отчетов в одну колонку при использовании колонок "газетного" типа или колонок "змейкой", как это делается в настольных издательских системах и текстовых про­цессорах. Информация, которая не помещается в первом столбце, переносится в начало второго столбца, и так далее. Формат многоко­лоночных таблиц позволяет сэкономить часть бумаги, но применим не во всех случаях, поскольку выравнивание столбцов едва ли соот­ветствует ожиданиям пользователя.

В основном отчёты проще всего построить при помощи Мастера отчётов. Мастер отчетов старается создать оптимальный вариант окончательного отчета с первой попытки. Обычно мастер в достаточной степени приближается к законченному варианту, так что тратиться на­много меньше времени на редактирование базового отчета мастера, чем ушло бы на создание отчета из незаполненного шаблона.

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

Рис.8 Конструктор отчетов

В результате выполнения отчета получен его печатный вид.

Рис.9 Отчет

Вывод

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

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

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

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

В окне базы данных можно работать со всеми её объектами. Для просмотра объектов определённого типа следует выбрать соответствующую вкладку. С помощью кнопок можно открывать и изменять существующие объекты и создавать новые.

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

Аннотация: Определяется процесс создания базы данных. Описываются операторы создания, изменения базы данных. Рассматривается возможность указания имени файла или нескольких файлов для хранения данных, размеров и местоположения файлов. Анализируются операторы создания, изменения, удаления пользовательских таблиц. Приводится описание параметров для объявления столбцов таблицы. Дается понятие и характеристика индексов. Рассматриваются операторы создания и изменения индексов. Определяется роль индексов в повышении эффективности выполнения операторов SQL.

База данных

Создание базы данных

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

Стандарт SQL оставляет за разработчиками СУБД право выбора конкретного механизма создания и уничтожения каталогов , однако механизм создания и удаления схем регламентируется посредством операторов CREATE SCHEMA и DROP SCHEMA . В стандарте также указано, что в рамках оператора создания схемы должна существовать возможность определения диапазона привилегий, доступных пользователям создаваемой схемы . Однако конкретные способы определения подобных привилегий в разных СУБД различаются.

В настоящее время операторы CREATE SCHEMA и DROP SCHEMA реализованы в очень немногих СУБД. В других реализациях, например, в СУБД MS SQL Server, используется оператор CREATE DATABASE .

Создание базы данных в среде MS SQL Server

Процесс создания базы данных в системе SQL-сервера состоит из двух этапов: сначала организуется сама база данных , а затем принадлежащий ей журнал транзакций . Информация размещается в соответствующих файлах, имеющих расширения *.mdf (для базы данных ) и *.ldf . (для журнала транзакций ). В файле базы данных записываются сведения об основных объектах (таблицах , индексах , представлениях и т.д.), а в файле журнала транзакций – о процессе работы с транзакциями (контроль целостности данных, состояния базы данных до и после выполнения транзакций).

Создание базы данных в системе SQL-сервер осуществляется командой CREATE DATABASE . Следует отметить, что процедура создания базы данных в SQL-сервере требует наличия прав администратора сервера.

<определение_базы_данных> ::= CREATE DATABASE имя_базы_данных [ <определение_файла> [,...n] ] [,<определение_группы> [,...n] ] ] [ LOG ON {<определение_файла>[,...n] } ] [ FOR LOAD | FOR ATTACH ]

Рассмотрим основные параметры представленного оператора.

При выборе имени базы данных следует руководствоваться общими правилами именования объектов. Если имя базы данных содержит пробелы или любые другие недопустимые символы, оно заключается в ограничители (двойные кавычки или квадратные скобки). Имя базы данных должно быть уникальным в пределах сервера и не может превышать 128 символов.

При создании и изменении базы данных можно указать имя файла, который будет для нее создан, изменить имя, путь и исходный размер этого файла. Если в процессе использования базы данных планируется ее размещение на нескольких дисках, то можно создать так называемые вторичные файлы базы данных с расширением *.ndf . В этом случае основная информация о базе данных располагается в первичном (PRIMARY ) файле, а при нехватке для него свободного места добавляемая информация будет размещаться во вторичном файле . Подход, используемый в SQL-сервере, позволяет распределять содержимое базы данных по нескольким дисковым томам.

Параметр ON определяет список файлов на диске для размещения информации, хранящейся в базе данных .

Параметр PRIMARY определяет первичный файл . Если он опущен, то первичным является первый файл в списке.

Параметр LOG ON определяет список файлов на диске для размещения журнала транзакций . Имя файла для журнала транзакций генерируется на основе имени базы данных , и в конце к нему добавляются символы _log .

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

<определение_файла>::= ([ NAME=логическое_имя_файла,] FILENAME="физическое_имя_файла" [,SIZE=размер_файла ] [,MAXSIZE={max_размер_файла |UNLIMITED } ] [, FILEGROWTH=величина_прироста ])[,...n]

Здесь логическое имя файла – это имя файла, под которым он будет опознаваться при выполнении различных SQL-команд.

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

Параметр SIZE определяет первоначальный размер файла; минимальный размер параметра – 512 Кб, если он не указан, по умолчанию принимается 1 Мб.

Параметр MAXSIZE определяет максимальный размер файла базы данных . При значении параметра UNLIMITED максимальный размер базы данных ограничивается свободным местом на диске.

При создании базы данных можно разрешить или запретить автоматический рост ее размера (это определяется параметром FILEGROWTH ) и указать приращение с помощью абсолютной величины в Мб или процентным соотношением. Значение может быть указано в килобайтах, мегабайтах, гигабайтах, терабайтах или процентах (%). Если указано число без суффикса МБ, КБ или %, то по умолчанию используется значение MБ. Если размер шага роста указан в процентах (%), размер увеличивается на заданную часть в процентах от размера файла. Указанный размер округляется до ближайших 64 КБ.

Дополнительные файлы могут быть включены в группу:

<определение_группы>::=FILEGROUP имя_группы_файлов <определение_файла>[,...n]

Пример 3.1 . Создать базу данных , причем для данных определить три файла на диске C, для журнала транзакций – два файла на диске C.

CREATE DATABASE Archive ON PRIMARY (NAME=Arch1, FILENAME=’c:\user\data\archdat1.mdf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20), (NAME=Arch2, FILENAME=’c:\user\data\archdat2.mdf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20), (NAME=Arch3, FILENAME=’c:\user\data\archdat3.mdf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20) LOG ON (NAME=Archlog1, FILENAME=’c:\user\data\archlog1.ldf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20), (NAME=Archlog2, FILENAME=’c:\user\data\archlog2.ldf’, SIZE=100MB, MAXSIZE=200, FILEGROWTH=20) Пример 3.1. Создание базы данных.

Дельфины всегда вызывали доверие у людей. Они ассоциируются у нас с добротой и радостью. Хоть дельфин и является символом MySQL , но это никак не объясняет той популярности, которой она пользуется во всем мире:

Согласно актуальной статистике MySQL занимает первое место по распространенности в интернете среди всех систем реляционных БД.

Особенности MySQL

Процедура создания базы данных MySQL ничем не отличается от других СУБД . Да и ее бесплатность тоже едва ли является основной причиной популярности данной системы. Например, SQL Server от Microsoft . В каждой версии данного продукта выходит его бесплатная редакция, и с довольно неплохими техническими характеристиками.

Особенности СУБД MySQL :

  • Чаще всего используется в качестве удаленного сервера;
  • Включает в себя большое количество типов таблиц;
  • Поставляется со специальным типом EXAMPLE , показывающим принцип создания новых таблиц;
  • Высокая степень масштабируемости за счет поддержки большинства популярных платформ;
  • Открытый исходный код – благодаря этому данная СУБД постоянно совершенствуется и модернизируется множеством разработчиков по всему миру;
  • Создано большое количество API , обеспечивающих взаимосвязь MySQL c основной частью всех программных языков;
  • Максимальный размер файла таблицы базы данных ограничивается лишь возможностями используемой операционной системы.

У ближайшего конкурента MySQL системы MS SQL Server в бесплатной редакции Express ограничение на размер базы данных составляет 10 ГБ.


  • Последняя версия СУБД 5.7.5m15 (тестовая ) вышла в сентябре 2014.

Создание базы данных MySQL

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

Среда PHPMyAdmin является одной из самых популярных оболочек для работы с MySQL . Ее интерфейс во многом облегчает администрирование баз данных.

Для создания базы данных MySQL через PHPMyAdmin делаем следующее:

  • Заходим в оболочку;
  • Переходим на вкладку «Базы данных »;
  • В первое поле вводим название создаваемой базы данных, а из выпадающего списка выбираем нужную кодировку. В нашем случае это utf8_genegal_ci .

Длина имени базы данных не должна превышать 64 символа.

  • Затем нажимаем на кнопку «Создать »:


  • После этого имя созданной БД MySQL должно появиться в списках слева и внизу:


Теперь создадим в нашей базе данных первую таблицу. Делаем следующее:

  • В списке слева находим имя нашей базы данных и нажимаем на него:


  • В следующем окне вводим название таблицы и задаем количество столбцов;
  • Затем нажимаем на кнопку «Ok ».

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

  • Следующим шагом задаем структуру нашей таблицы. Прописываем имена и типы данных, которые будут храниться в столбцах таблицы;
  • После этого нажимаем на кнопку «Сохранить »:


  • Таблица нашей БД MySQL создана и готова для заполнения данными:


Но это не единственный способ, как можно создать базу данных в PHPMyAdmin . Аналогичный эффект можно получить, если воспользоваться SQL запросом. Для этого применяется команда CREATE . Ее синтаксис:

CREATE DATABASE db_name ;

Аргументы:

  • IF NOT EXISTS – служит для отслеживания уникальности имени базы данных. Если не указывать этот параметр, то в случае создания базы с одинаковым названием может возникнуть ошибка выполнения запроса;
  • db_name – указывается имя создаваемой базы данных;
  • CHARACTER SET charset – устанавливается кодировка базы данных. Если не указано, то используется значение по умолчанию;
  • COLLATE collation – задается порядок сортировки данных. Необязательный параметр.

Теперь создадим базу данных с помощью SQL запроса через оболочку PHPMyAdmin :

  • Переходим на вкладку «SQL »;
  • В появившемся окне редактора вводим запрос на создание базы данных;
  • Или жмем на иконку «Окно запроса ». Она находится слева над списком баз данных:


  • Вводим текст запроса:

CREATE DATABASE `my_db`;

  • Внизу нажимаем на «Ok »:


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


Для удаления sql базы данных используйте команду DROP DATABASE «my_db» .

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

CREATE DATABASE `my_db` CHARACTER SET utf8 COLLATE utf8_general_ci;


Настройка резервного копирования базы данных

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

Настраиваем резервное копирование базы данных в PHPMyAdmin . Порядок действий:

  • В списке слева выбираем нужную нам базу данных;
  • Жмем на вкладку «Экспорт »;
  • Нажимаем «Ок ».


Если в разделе «Способ экспорта » выбрать значение «Обычный », то перед вами раскроется большое окно с множеством параметров для настройки:


Теперь попытаемся восстановить сохраненную копию базы. Но для начала удалим уже существующий экземпляр. Переходим во вкладку «Операции » и нажимаем ссылку «Удалить базу данных »:


Для восстановления базы MySQL в PHPMyAdmin переходим на вкладку «Импорт ». В разделе «Импортируемый файл » в зависимости от места, где вы сохраняли копию базы данных, выбираем источник. После этого жмем на кнопку «ОК », расположенную в нижней части экрана:


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


Сжатие баз данных в MySQL

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

Также для уменьшения размеров базы данных рекомендуется сохранять ее резервные копии в виде архивов. Сжатие (компрессия ) резервных копий настраивается в одноименном пункте на вкладке «Экспорт » в разделе «Вывод »:


Еще одним способом уменьшения размера БД MySQL является следующий набор действий:

  • Создание дампа (копии ) через командную строку с использованием команды mysqldump ;
  • Удаление всех баз данных;
  • Остановка всех службы MySQL ;