Контакты

MySQL WorkBench - визуальный редактор баз данных. Основы работы с MySQL Workbench: быстрый старт, управление схемой данных Как работает mysql workbench 6.3 7

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

Например, известный пакет P-CAD содержит блок логического моделирования цифровых устройств, однако для начинающих, в том числе и для студентов, он представляет значительные трудности в освоении. Не меньшие трудности встречаются и при использовании системы DesignLab. Как показал анализ состояния программного обеспечения схемотехнического моделирования, на этапе начального освоения методов автоматизированного проектирования и на этапах проведения поисково-исследовательских работ целесообразно рассмотреть возможность использования следующих программ типа Electronics Workbench - EWB.
Система схемотехнического моделирования Electronics Workbench предназначена для моделирования и анализа электрических схем рис.1. Правильно говорить: система моделирования и анализа электрических схем Electronics Workbench, но для краткости здесь и далее мы будем называть её программой.
Программа Electronics Workbench позволяет моделировать аналоговые, цифровые и цифро-аналоговые схемы большой степени сложности. Имеющиеся в программе библиотеки включают в себя большой набор широко распространенных электронных компонентов. Есть возможность подключения и создания новых библиотек компонентов.

Параметры компонентов можно изменять в широком диапазоне значений. Простые компоненты описываются набором параметров, значения которых можно изменять непосредственно с клавиатуры, активные элементы - моделью, представляющей собой совокупность параметров и описывающей конкретный элемент или его идеальное представление.
Модель выбирается из списка библиотек компонентов, параметры модели также могут быть изменены пользователем. Широкий набор приборов позволяет производить измерения различных величин, задавать входные воздействия, строить графики. Все приборы изображаются в виде, максимально приближенном к реальному, поэтому работать с ними просто и удобно.
Результаты моделирования можно вывести на принтер или импортировать в текстовый или графический редактор для их дальнейшей обработки. Программа Electronics Workbench совместима с программой P-SPICE, то есть предоставляет возможность экспорта и импорта схем и результатов измерений в различные её версии.

Основные достоинства программы
Экономия времени Работа в реальной лаборатории требует больших временных затрат на подготовку эксперимента. Теперь, с появлением Electronics Workbench, электронная лаборатория всегда будет под рукой, что позволяет сделать изучение электрических схем более доступным. Достоверность измерений
В природе не существует двух совершенно одинаковых элементов, то есть все реальные элементы имеют большой разброс значений, что приводит к погрешностям в ходе проведения эксперимента. В Electronics Workbench все элементы описываются строго установленными параметрам, поэтому каждый раз в ходе эксперимента будет повторяться результат, определяемый только параметрами элементов и алгоритмом расчета.
Удобство проведения измерений Учеба невозможна без ошибок, а ошибки в реальной лаборатории порой очень дорого обходятся экспериментатору. Работая с Electronics Workbench, экспериментатор застрахован от случайного поражения током, а приборы не выйдут из строя из-за неправильно собранной схемы. Благодаря этой программе в распоряжении пользователя имеется такой широкий набор приборов, который вряд ли будет доступен в реальной жизни.
Таким образом, у Вас всегда имеется уникальная возможность для планирования и проведения широкого спектра исследований электронных схем при минимальных затратах времени. Графические возможности Сложные схемы занимают достаточно много места, изображение при этом стараются сделать более плотным, что часто приводит к ошибкам в подключении проводников к элементам цепи. Electronics Workbench позволяет разместить схему таким образом, чтобы были чётко видны все соединения элементов и одновременно вся схема целиком.

Интуитивность и простота интерфейса делают программу доступной любому, кто знаком с основами использования Windows. Совместимость с программой P-SPICE Программа Electronics Workbench базируется на стандартных элементах программы SPICE. Это позволяет экспортировать различные модели элементов и проводить обработку результатов, используя дополнительные возможности различных версий программы Р-SPICE.

Компоненты и проведение экспериментов
В библиотеки компонентов программы входят пассивные элементы, транзисторы, управляемые источники, управляемые ключи, гибридные элементы, индикаторы, логические элементы, триггерные устройства, цифровые и аналоговые элементы, специальные комбинационные и последовательные схемы.
Активные элементы могут быть представлены моделями как идеальных, так и реальных элементов. Возможно также создание своих моделей элементов и добавление их в библиотеки элементов. В программе используется большой набор приборов для проведения измерений: амперметр, вольтметр, осциллограф, мультиметр, Боде-плоттер (графопостроитель частотных характеристик схем), функциональный генератор, генератор слов, логический анализатор и логический преобразователь.
Анализ схем Electronics Workbench может проводить анализ схем на постоянном и переменном токах. При анализе на постоянном токе определяется рабочая точка схемы в установившемся режиме работы. Результаты этого анализа не отражаются на приборах, они используются для дальнейшего анализа схемы. Анализ на переменном токе использует результаты анализа на постоянном токе для получения линеаризованных моделей нелинейных компонентов.
Анализ схем в режиме АС может проводиться как во временной, так и в частотной областях. Программа также позволяет производить анализ цифро-аналоговых и цифровых схем. В Electronics Workbench можно исследовать переходные процессы при воздействии на схемы входных сигналов различной формы.

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

Путем настройки приборов можно:
. изменять шкалы приборов в зависимости от диапазона измерений,
. задавать режим работы прибора,
. задавать вид входных воздействий на схему (постоянные и гармонические токи и напряжения, треугольные и прямоугольные импульсы).
Графические возможности программы позволяют:
. одновременно наблюдать несколько кривых на графике,
. отображать кривые на графиках различными цветами,
. измерять координаты точек на графике,
. импортировать данные в графический редактор, что позволяет произвести необходимые преобразования рисунка и вывод его на принтер.
Electronics Workbench позволяет использовать результаты, полученные в программах Р-SPICE, РСВ, а также передавать результаты из Electronics Workbench в эти программы. Можно вставить схему или её фрагмент в текстовый редактор и напечатать в нем пояснения или замечания по работе схемы.

Работа с Electronics Workbench
Программа Electronics Workbench предназначена для моделирования и анализа электронных схем. Возможности программы Electronics Workbench v.5 примерно эквивалентны возможностям программы MicroCap и позволяют выполнять работы от простейших экспериментов до экспериментов по статистическому моделированию.
При создании схемы Electronics Workbench позволяет:
-выбирать элементы и приборы из библиотек,

Перемещать элементы и схемы в любое место рабочего поля,

Поворачивать элементы и их группы на углы, кратные 90 градусам,

Копировать, вставлять или удалять элементы, фрагменты схем,

Изменять цвета проводников,

Выделять цветом контура схем,

Одновременно подключать несколько измерительных приборов и наблюдать их показания на экране монитора,
-присваивать элементам условные обозначения,

Изменять параметры элементов.

Изменяя настройки приборов можно:
-изменять шкалы приборов в зависимости от диапазона измерений,

Задавать режим работы прибора,

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

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

Компоненты Electronics Workbench
После запуска WEWB32 на экране появляются строка меню и панель компонентов.
Панель компонентов состоит из пиктограмм полей компонентов, а поле компонентов - из условных изображений компонентов.
Щелчком мыши на пиктограмме компонентов открывается поле соответствующее этой пиктограмме.
Ниже приведены некоторые элементы из полей компонентов:

Basic (базовые компоненты)

Соединяющий узел

Узел служит для соединения проводников и создания контрольных точек.

Резистор

Сопротивление резистора может быть задано числом в Ом, кОм, МОм

Конденсатор

ёмкость конденсатора задается числом с указанием размерности (пФ, нФ, мкФ, мФ, Ф).

Ключ

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

Sources (Источники)

Земля

Компонент "Заземление" имеет нулевое напряжение и служит точкой для отсчета потенциалов.

Источник постоянного напряжения 12В

ЭДС источника постоянного напряжения указывается числом с указанием размерности (от мкВ до кВ)

Источник постоянного тока 1А

Ток источника постоянного тока задается числом с указанием размерности (от мкА до кА)

Источник переменного напряжения 220 В / 50 Гц

Действующее значение (root-mean-sguare-RMS) напряжения источника задается числом с указанием размерности (от мкВ до кВ). Имеется возможность установки частоты и начальной фазы.

Источник переменного тока 1 А/1 Гц

Действующее значение тока источника задается числом с указанием размерности (от мкА до кА). Имеется возможность установки частоты и начальной фазы.

Генератор тактов 1000 Гц / 50%

Генератор вырабатывает периодическую последовательность прямоугольных импульсов. Можно регулировать амплитуду импульсов, скважность и частоту следования импульсов.

Indicators (Приборы из библиотеки индикаторов)

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

Вольтметр

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

Амперметр

Амперметр используется для измерения переменного или постоянного тока. Выделенная толстой линией сторона прямоугольника соответствует отрицательной клемме.
Двойным щелчком на изображении амперметра открывается диалоговое окно для изменения параметров амперметра
Овеличины внутреннего сопротивления {по умолчанию 1мОм),
Овида измеряемого напряжения (DC-постоянное, АС-переменное).
При измерении переменного синусоидального напряжения (АС) амперметр показывает действующее значение

Instruments

1 .Функциональный генератор

Генератор является идеальным источником напряжения, вырабатывающего сигналы синусоидальной, либо треугольной, либо прямоугольной формы. Средний вывод генератора при подключении к схеме обеспечивает общую точку для отсчета амплитуды переменного напряжения. Для отсчета напряжения относительно нуля этот вывод заземляют. Крайний левый и правый выводы служат для подачи сигнала на схему. Напряжение на правом выводе изменяется в положительном направлении относительно общего вывода, на левом выводе - в отрицательном.
При двойном щелчку мыши на изображении генератора открывается увеличенное изображение генератора на котором можно задать:
-форму выходного сигнала,
-частоту выходного напряжения (Frequency),
-скважность (Duty cycle),
-амплитуду выходного напряжения (Amplitude),
-постоянную составляющую выходного напряжения (Offset).

2. Осциллограф

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

Поле Trigger служит для определения момента начала развертки на экране осциллографа. Кнопки в строке Edge задают момент запуска осциллограммы по положительному или отрицательному фронту импульса на входе синхронизации. Поле Level позволяет задавать уровень при превышении которого запускается развертка.
Кнопки Auto, А, В, Ext задают режимы синхронизации
-Auto -автоматический запуск развертки при включении схемы. Когда луч доходит до конца экрана, осциллограмма прописывается с начала экрана,
-А - запускающим является сигнал, поступающий на вход А,
-В - запускающим является сигнал, поступающий на вход В,
-Ext - Внешний запуск. В этом случае сигналом запуска является сигнал, подаваемый на вход синхронизации.

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

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

3. Графопостроитель (Боде-плоттер)

Используется для построения амплитудно-частотных (АЧХ) и фазо-частотных <ФЧХ) характеристик схемы.
Графопостроитель измеряет отношение амплитуд сигналов в двух точках схемы и фазовый сдвиг между ними. Для измерений графопостроитель генерирует собственный спектр частот, диапазон которого может задаваться при настройке прибора. Частота любого переменного источника в исследуемой схеме игнорируется, однако схема должна включать какой либо источник переменного тока.
Графопостроитель имеет четыре зажима: два входных (IN) и два выходных (OUT). Левые выводы входов IN и OUT подключаются к исследуемым точкам, а правые выводы входов IN и OUT заземляются.
При двойном щелчке по изображению графопостроителя открывается его увеличенное изображение.

Кнопка MAGNITUDE нажимается для получения АЧХ, кнопка PHASE - для получения ФЧХ.
Панель VERTICAL задает:
-начальное (I) значение параметра вертикальной оси,
-конечное (F) значение параметра вертикальной оси
-вид шкалы вертикальной оси - логарифмическая (LOG) или линейная (LIN).
Панель HORIZONTAL настраивается аналогично.
При получении АЧХ по вертикальной оси откладывается отношение напряжений:
-в линейном масштабе от 0 до 10Е9;
-в логарифмическом масштабе от - 200 dB до 200 dB.
При получении ФЧХ по вертикальной оси откладываются градусы от -720 градусов до +720 градусов.
По горизонтальной оси всегда откладывается частота в Гц или в производных единицах.
В начале горизонтальной шкалы расположен курсор. Координаты точки перемещения курсора с графиком выводятся на информационных полях внизу справа.

Моделирование схем
Исследуемая схема собирается на рабочем поле с использованием мыши и клавиатуры.
При построении и редактировании схем выполняются следующие операции:
-выбор компонента из библиотеки компонентов;
-выделение объекта;
-перемещение объекта;
-копирование объектов;
-удаление объектов;
-соединение компонентов схемы проводниками;
-установка значений компонентов;
-подключение измерительных приборов.
После построения схемы и подключения приборов анализ работы схемы начинается после нажатия выключателя в правом верхнем углу окна программы (при этом в нижнем левом углу экрана показываются моменты схемного времени).
Повторное нажатие выключателя прекращает работу схемы.
Сделать паузу при работе схемы можно нажатием клавиши F9 на клавиатуре; повторное нажатие F9 возобновляет работу схемы (аналогичного результата можно добиться нажимая кнопку Pause, расположенную под выключателем.)
Выбор компонента необходимого для построения схемы производится после выбора поля компонентов, содержащего необходимый элемент. Этот элемент захватывается мышью и перемещается на рабочее поле.
Выделение объекта. При выборе компонента необходимо щелкнуть на нем левой клавишей мыши. При этом компонент становится красным. (Снять выделение можно щелчком мыши в любой точке рабочего поля.)
Перемещение объекта. Для перемещения объекта его выделяют, устанавливают указатель мыши на объект и, держа нажатой левую клавишу мыши перетаскивают объект.
Объект можно поворачивать. Для этого объект нужно предварительно выделить, затем щелкнуть правой клавишей мыши и выбрать необходимую операцию
-Rotate (поворот на 90 градусов),
-Flip vertical (переворот по вертикали),
-Flip horizontal (переворот по горизонтали)
Копирование объектов осуществляется командой Сору из меню Edit. Перед копированием объект нужно выделить. При выполнении команды выделенный объект копируется в буфер. Для вставки содержимого буфера на рабочее поле нужно выбрать команду Paste из меню Edit
Удаление объектов. Выделенные объекты можно удалить командой Delete.
Соединение компонентов схемы проводниками. Для соединения компонентов проводниками нужно подвести указатель мыши к выводу компонента (при этом на выводе появится черная точка). Нажав левую кнопку мыши, переместите ее указатель к выводу компонента, с которым нужно соединиться, и отпустите кнопку мыши. Выводы компонентов соединятся проводником.
Цвет проводника можно изменить, если дважды щелкнуть по проводнику мышью и выбрать из появившегося окна необходимый цвет.
Удаление проводника. Если по какой -либо причине проводник нужно удалить, необходимо подвести указатель мыши к выходу компонента (должна появиться черная точка). Нажав левую клавишу мыши, переместите ее на пустое место рабочего поля и отпустите кнопку мыши. Проводник исчезнет.

Установка значений параметров производится в диалоговом окне свойств компонента, которое открывается двойным щелчком мыши по изображению компонента (Закладка Value).
Каждому компоненту можно присвоить имя (Закладка Label)
Подключение приборов. Для подключения прибора к схеме нужно мышью перетащить прибор с панели инструментов на рабочее поле и подключить выводы прибора к исследуемым точкам. Некоторые приборы необходимо заземлять, иначе их показания будут неверными.
Расширенное изображение прибора появляется при двойном щелчке по уменьшенному изображению.
Упражнение: Соберите схему делителя напряжения, показанную на рисунке.
-Подайте на вход схемы с функционального генератора синусоидальное напряжение частотой 3 кГц и амплитудой 5 В,
-Этот же сигнал подключите к каналу А осциллографа,
-Подключите к выходу делителя канал В осциллографа,
-выделите проводники канала А и канала В различными цветами,
-Включите схему, при необходимости измените настройки измерительных приборов,
-Перейдите к расширенной модели осциллографа. Используя курсор и левое информационное табло измерьте амплитудное значение выходного сигнала.
-Дополнительно подключите к входу и выходу вольтметры и снова включите схему.
Добейтесь правильных показаний вольтметров.

Генератор слов
На схему выводится уменьшенное изображение генератора слов

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

Левая часть генератора содержит 16 разрядные слова, задаваемые в шестнадцатеричном коде. Каждая кодовая комбинация заносится с помощью клавиатуры. Номер редактируемой ячейки (от О до 03FF, т.е. от 0 до 2047) высвечивается в окошке Edit. В процессе работы генератора в отсеке Address индицируется адрес текущей ячейки (Current), начальной ячейки (Initial) и конечной ячейки (Final). Выдаваемые на 16 выходов (внизу генератора) кодовые комбинации индицируются в коде ASCII и двоичном коде (Binary).
Генератор может работать в шаговом, циклическом и непрерывном режимах.
-Кнопка Step переводит генератор в пошаговый режим;
-Жнопка Burst - в циклический режим (на выход генератора однократно последовательно поступают все слова;
-Кнопка Cycle - в непрерывный режим. Для того чтобы прервать работу в непрерывном режиме, нужно еще раз нажать кнопку Cycle.
Панель Trigger определяет момент запуска генератора (Internal - внутренняя синхронизация, External - внешняя синхронизация по готовности данных.)
Режим внешней синхронизации используется в случае, когда исследуемое устройство может квитировать (подтверждать) получение данных. В этом случае на устройство вместе с кодовой комбинацией поступает сигнал с клеммы Data ready , а исследуемое устройство должно выдать сигнал получения данных, который должен быть подключен к клемме Trigger генератора слов. Этот сигнал и производит очередной запуск генератора.
Кнопка Breakpoint прерывает работу генератора в указанной ячейке. Для этого нужно выбрать требуемую ячейку курсором, а затем нажать кнопку Breakpoint
Кнопка Pattern открывает меню с помощью которого можно
Clear buffer - стереть содержимое всех ячеек,
Open - загрузить кодовые комбинации из файла с расширением.dp.
Save - записать все набранные на экране комбинации в файл;
Up counter - заполнить буфер экрана кодовыми комбинациями, начиная с 0 в нулевой ячейке и далее с прибавлением единицы в каждой последующей ячейке;
Down counter - заполнить буфер экрана кодовыми комбинациями, начиная с FFFF в нулевой ячейке и далее с уменьшением на 1 в каждой последующей ячейке;

Shift right - заполнить каждые четыре ячейки комбинациями 8000-4000-2000-1000 со смещением их в следующих четырех ячейках вправо;
Shift left -то же самое, но со смещением влево.

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

Логический анализатор подключается к схеме с помощью выводов в его левой части. Одновременно могут наблюдаться сигналы в 16 точках схемы. Анализатор снабжен двумя визирными линейками, что позволяет получать отсчеты временных интервалов Т1, Т2, Т2-Т1, а также линейкой прокрутки по горизонтали

В блоке Clock имеются клеммы для подключения обычного External и избирательного Qualifier источника запускающих сигналов, параметры которых могут быть установлены с помощью меню, вызываемого кнопкой Set.
Запуск можно производить по переднему (Positive) или заднему (Negative) фронту запускающего сигнала с использованием внешнего (External) или внутреннего (Internal) источника. В окне Clock qualifier можно установить значение логического сигнала (0,1 или х) при котором производится запуск анализатора.
Внешняя синхронизация может осуществлятся комбинацией логических уровней, подаваемых на входы каналов анализатора.

Цель данного поста - помочь начинающему разработчику быстро освоится и спроектировать простенькую базу с помощью инструмента для визуального проектирования баз данных MySQL Workbench от компании Oracle и получить её ER-модель и SQL-дамп.

Ну что же, меньше слов да больше смысла! Внешний вид окна программы, раздел «Моделирование данных» выглядит так:

Для того, чтобы открыть существующую модель надо нажать на ссылку: Open Existing EER Model , для создания новой модели – выбрать параметр: Create New EER Model , чтобы создать модель «сущность-связь» из существующей базы данных – нажать на параметр: Create EER Model From Existing Database , а для создания EER модели из SQL скрипта нужно выбрать: Create EER Model From SQL Script .
Для создания новой модели, воспользуемся ссылкой Create New EER Model, после нажатия на неё отобразится окно с параметрами:

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

Сначала создадим таблицу users , которая будет хранить данные о пользователях информационной системы, в поле table Name впишем имя таблицы, в разделе формы Columns создадим поля таблицы:
- Первое поле id будет содержать уникальный номер пользователя, зададим ему свойства: Auto Increment, Not Null, Primary key и Unique , в разделе Data type выберем целочисленный тип integer.
- Второе поле fio, где будет хранится Ф.И.О. пользователя, установим полю свойства: Not Null , Primary key , в разделе Data type выберем строковый тип VARCHAR 255 .
- Третье поле login , будет содержать логин пользователя, оно должно быть уникальным, как и поле id , поэтому установим ему свойство Unique и зададим количество символов в 255 .
- Следующие поля: password содержащее пароль, e_mail содержащее адрес электронной почты и поле type содержащее тип пользователя будут без особых свойств, со строковым типом VARCHAR длинной в 255 символов, за исключением последнего поля type которому хватит с 45 символов.
После проделанных манипуляций форма с именем таблицы users будет выглядеть так:

На диаграмме появится таблица users c полями и индексами:

Аналогичным способом создадим таблицу settings с настройками доступа к базе данных ИС, содержащую поля id , host для указания имени хоста (адреса сервера), db – имени базы данных, user и password с именем пользователя и паролем, для установки ИС на удалённый сервер.

Далее по уже известному методу создадим таблицу shops которая будет хранить данные о магазинах в полях: id типа integer – ключевое, ненулевое, уникальное с автоинкрементом, поле name хранящее название магазина, поле address – его физический адрес, поле tel – телефон магазина, site – интернет сайт магазина и поле email с электронным адресом магазина.

Затем создадим таблицу products хранящую данные о продукции магазина в полях: id типа integer – ключевое, ненулевое, уникальное с автоинкрементом, поле name хранящее название магазина, ключевое, ненулевое поле целочисленного типа shop_id хранящее номер магазина, поле type_id с информацией о номере товара из таблицы видов продукции. Поле brand – брэнд изготовителя длинной в 255 символов, поле model – с моделью товара, поле data – с данными и характеристиками товара типа Tinytext , поле img с полным адресом до изображения товара длинной в 255 символов, и поля price с ценой товара и warranty с информацией о сроках гарантии на товар длинной в 45 символов.

Созданные нами таблицы settings, shops и products выглядят следующим образом:

Далее нам понадобится таблица хранящая тип продуктов product_type , она состоит из уникального, ненулевого, ключевого поля id с автоинкрементом целочисленного типа, и уникального поля name длинной в 255 символов, которое содержит название вида продуктов.

Вид таблицы таков:

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

Поля таблицы orders : id ключевое, ненулевое, уникальное поле целочисленного типа с автоинкрементом, поле shop_id содержащее номер магазина – ключевое, ненулевое целочисленного типа, поле product_id хранящее номер продукта – ключевое, ненулевое целочисленного типа, поле fio date c датой заказа – типа DATE , поле quantity с количеством заказанных товаров – целочисленного типа, поле tel с номером телефона заказчика – строкового типа длинной в 255 символов и поле confirm содержащее информацию о подтверждении заказа – логического типа.

Поля таблицы deliveries : order_id с номером заказа - ключевое, ненулевое, уникальное поле целочисленного типа с автоинкрементом, поле поле fio с номером пользователя совершившего заказ - ключевое, ненулевое целочисленного типа, поле address хранящее адрес доставки товара указанный клиентом – строкового типа длинной в 255 символов, поле time хранящее желаемое время доставки товара – строкового типа длинной в 255 символов, поле date с датой совершения заказа клиентом – типа DATE и поле логического типа confirm хранящее информацию о доставке товара.

Таблицы orders и deliveries выглядят так:

Связи таблиц

Мы создали базу данных, состоящую из семи таблиц, теперь необходимо связать таблицы, мы уже создали ключевые поля целочисленного типа, они и станут основой для связывания.
Для того чтобы связать две таблицы к примеру products и product_type , необходимо дважды щёлкнуть левой кнопкой мыши на диаграмму с таблицей products и выбрать вкладку Foreign keys (внешние ключи ), далее в поле Foreign key name ввести уникальное имя внешнего ключа, дважды щёлкнуть по вкладке Referenced table и выбрать таблицу product_type , затем в форме расположенной правее выбрать ссылающееся поле type_id и выбрать в всплывающем списке поле id .

Таким образом, оба поля таблицы оказываются связанны, затем нужно задать тип отношений связи между таблицами, откроем окно, кликнув на появившуюся связь между таблицами, и выберем вкладку Foreign Key и в разделе Cardinality выберем тип связи один ко многим, и закроем окно. На диаграмме отобразится связь таблиц:

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

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

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

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

Большинство таблиц находятся в отношении один-ко-многим, за исключением таблиц deliveries и orders находящихся в отношении одни-к-одному, т.к. доставлен, может быть только одни заказ, т.е. у одного заказа только одна доставка. Остальные связи наглядно указаны выше.

Теперь загрузим нашу базу данных на сервер. Для этого создадим новое подключение к базе данных, щёлкнув по ссылке New connection в стартовом окне программы:

Затем заполним поля в открывшимся окне:

Укажем имя соединения в поле Connection Name , выберем метод соединения в списке Connection Method , зададим имя хоста и порт во вкладке Parameters , укажем имя пользователя и пароль если он есть и нажмём на кнопку ОК. Затем откроем вкладку EER Diagram , в панели выберем пункт Database и нажмём на параметр Forward Engineer :

После того как появится окно, нажимаем на кнопку “Next” , выбираем параметр Export MySQL Table Objects и нажимаем на кнопку “Next” :

После нажатия кнопки появится вкладка с SQL кодом, можно сохранить его нажав кнопку “Save to file” если это необходимо, а затем нажать на кнопку “Next” . Появится окно с параметрами соединения:

Проверяем, верны ли параметры подключения и нажимаем на кнопку “Execute” , если в SQL коде не содержится ошибок, то после исполнения кода мы увидим окно со списком таблиц, иначе выведется сообщение об ошибке. Теперь наша база загружена на сервер.

Благодарю за внимание, скачать саму программу .

UPD :

Некоторых хабравчан интересовала возможность отображения линий связей таблиц в режиме поле-к-полю

по совету одного из пользователей я приведу небольшое пояснение о том как изменить вид связей и таблиц, для этого необходимо выбрать следующий параметр в разделе меню Relationship Notation :

После этого связи таблиц примут вид:

Также есть возможность изменить вид таблиц, для этого нужно поставить галочку в вышеуказанном разделе меню и в нижеследующем Object Notation :

Вот так выглядит таблица на диаграмме приведенная к стандарту IDEF1X:

Благодарю за дельные комментарии!

Веб-разработчик растёт вместе с проектами, которые он создаёт и развивает. С ростом проектов увеличивается сложность программной части, неизбежно возрастает количество обрабатываемых ею данных, а так же сложность схемы данных . Общение с другими вебщиками показывает, что огромной популярностью среди нас пользуются базы данных MySQL, а для управления ими - небезызвестный PHPMyAdmin . Переходя от маленьких проектов к большим, от cms к фреймворкам, многие, как и я, остаются верны MySQL. Однако для проектирования сложной базы данных с большим количеством таблиц и связей, возможностей PHPMyAdmin катастрофически не хватает. Поэтому я решил написать обзор MySQL Workbench - замечательной бесплатной десктопной программы для работы с MySQL.

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

MySQL Workbench - инструмент для визуального проектирования баз данных, интегрирующий проектирование, моделирование, создание и эксплуатацию БД в единое бесшовное окружение для системы баз данных MySQL.

Должен сказать, что программа действительно великолепная. Она позволяет быстро и с удовольствием накидывать схемы данных проекта , проектировать сущности и связи между ними, безболезненно внедрять изменения в схему и так же быстро и безболезненно синхронизировать её с удалённым сервером. А графический редактор EER-диаграмм , напоминающих забавных таракашек, позволяет увидеть общую картину модели данных и насладиться её лёгкостью и элегантностью:) После первой же пробы этот инструмент становится незаменимым помощником в боевом арсенале веб-программиста.

Скачать MySQL Workbench

Дистрибутив MySQL Workbench доступен на этой странице . Самая свежая версия программы на момент написания статьи - Version 6.1 . Перед скачиванием требуется выбрать одну из следующих платформ:

  • Microsoft Windows (доступны MSI Installer и ZIP архив)
  • Ubuntu Linux
  • Fedora
  • Red Hat Enterprise Linux / Oracle Linux
  • Mac OS X

После выбора платформы вам предлагают зарегистрироваться или авторизоваться в Oracle. Если не хотите, внизу есть ссылка "No thanks, just start my download" - жмите на неё ;)

Начало работы

Стартовый экран программы отражает основные направления её функциональности - проектирование моделей баз данных и их администрирование:

В верхней части экрана находится список подключений к MySQL серверам ваших проектов, а список последних открытых моделей данных - в нижней части экрана. Работа обычно начинается с создания схемы данных или загрузки существующей структуры в MySQL Workbench . Приступим к работе!

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

Для добавления модели нажимаем плюсик рядом с заголовком "Models" или выбираем "File → New Model" (Ctrl + N):

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

Добавление и редактирование таблицы

Список баз данных проекта и список таблиц в пределах базы данных будет располагаться во вкладке "Physical Schemas". Чтобы создать таблицу, дважды кликаем на "+Add Table":

Откроется удобный интерфейс для редактирования списка полей и их свойств. Здесь мы можем задать название поля, тип данных, а так же установить для полей различные атрибуты: назначить поле первичным ключом (PK) , пометить его Not Null (NN) , бинарным (BIN) , уникальным (UQ) и другие, установить для поля авто-инкремирование (AI) и значение по умолчанию (Default) .

Управление индексами

Добавлять, удалять и редактировать индексы таблиц можно во вкладке "Indexes" интерфейса управления таблицей:

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

Связи между таблицами

Установка внешних ключей и связывание таблиц возможно только для таблиц InnoDB (эта система хранения данных выбирается по умолчанию). Для управления связями в каждой таблице находится вкладка "Foreign Keys":

Для добавления связи открываем вкладку "Foreign Keys" дочерней таблицы , вводим имя внешнего ключа и выбираем таблицу-родителя . Далее в средней части вкладки в графе Column выбираем поле-ключ из дочерней таблицы, а в графе Referenced Column - соответствующее поле из родительской таблицы (тип полей должен совпадать). При создании внешних ключей в дочерней таблице автоматически создаются соответствующие индексы .

В разделе "Foreign Key Options" настраиваем поведение внешнего ключа при изменении соответствующего поля (ON UPDATE) и удалении (ON DELETE) родительской записи:

  • RESTRICT - выдавать ошибку при изменении / удалении родительской записи
  • CASCADE - обновлять внешний ключ при изменении родительской записи, удалять дочернюю запись при удалении родителя
  • SET NULL - устанавливать значение внешнего ключа NULL при изменении / удалении родителя (неприемлемо для полей, у которых установлен флаг NOT NULL! )
  • NO ACTION - не делать ничего, однако по факту эффект аналогичен RESTRICT

В приведённом примере я добавил к дочерней таблице UserProfile внешний ключ для связи с родительской таблицей User . При редактировании поля userId и удалении позиций из таблицы User аналогичные изменения будут автоматически происходить и со связанными записями из таблицы UserProfile .

При создании проекта в базу данных часто нужно добавлять стартовые данные. Это могут быть корневые категории, пользователи-администраторы и т.д. В управлении таблицами MySQL Workbench для этого существует вкладка "Inserts":

Как видно из примера, в случае, если перед записью в базу данных к данным нужно применить какую-то функцию MySQL, это делается с помощью синтаксиса \func functionName("data") , например, \func md5("password") .

Создание EER диаграммы (диаграммы "сущность-связь")

Для представления схемы данных, сущностей и их связей в графическом виде в MySQL Workbench существует редактор EER-диаграмм. Для создания диаграммы в верхней части экрана управления базой данных дважды кликаем на иконку "+Add Diagram":

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

Для экспорта схемы данных в графический файл выберите "File → Export" , а затем один из вариантов (PNG, SVG, PDF, PostScript File) .

Импорт существующей схемы данных (из SQL дампа)

Если у нас уже есть схема данных, её можно без труда импортировать в MySQL Workbench для дальнейшей работы. Для импорта модели из SQL файла выбираем "File → Import → Reverse Engineer MySQL Create Script..." , после чего выбираем нужный SQL файл и жмём "Execute >"

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

Демо-проект из статьи доступен для скачивания по этой ссылке . Желаю успехов и красивых таракашек схем!

Понравилась статья? Поделитесь ей