Како да се изгради коло во работната маса. Од модел до физичка база на податоци во MySQL WorkBench. Креирање и уредување на модел на податоци

Сите веб-администратори треба да истражуваат во технологиите за програмирање и креирање бази на податоци откако ќе ги развијат своите ресурси.


Постепено почнувате да истражувате во секој детал, но материјалот за обука не е секогаш лесно да се најде. Плус, не секој знае за постоењето корисни програми.

Како да креирате MySQL база на податоци? Можете рачно да креирате табели и да воспоставите односи меѓу нив, но тоа не е толку погодно.

Создаден е специјално за ова бесплатна програмаРаботна маса. Со негова помош можете визуелно да креирате MySQL бази на податоци. Нивното моделирање со помош на софтвер е полесно, поудобно и многу побрзо.

Workbench ќе ви помогне да креирате MySQL база на податоци

Со една едноставна алатка, повеќе не треба да ја опишувате структурата. Програмата автоматски го генерира кодот. Преземете ја алатката од оваа страница, таа е погодна за кој било оперативен систем.

По нормална инсталација на програмата, За да креирате MySQL база на податоци, треба да го направите следново:

  1. Прво треба да отворите нов модел, ова се прави преку менито или комбинацијата на копчиња Ctrl+N:

  2. Првиот чекор кога креирате база на податоци е да додадете табела, па ја избираме соодветната функција:

  3. Следно, табелата се пополнува. Наведете го името и атрибутите, имајте на ум дека еден од атрибутите е главниот клуч, означен со поле за избор. Однапред размислете како табелите потоа ќе се поврзат една со друга:

  4. Откако ќе ги пополните потребните податоци, креирајте дијаграм за да ги идентификувате односите помеѓу субјектите:
  5. Ќе видите табела во работната област. За погодност, можете да ги проширите структурите на табелата:

  6. Сега треба да поставите врски помеѓу елементите; тоа се прави со специјална алатка на работната табла:
  7. Како резултат на тоа, треба да имате табели претставени во работниот простор и воспоставени односи меѓу нив:

  8. Со двоен клик на врската се отвора прозорец во кој се поставени дополнителни параметри:

Веб програмер расте со проектите што ги создава и развива. Како што растат проектите, комплексноста на софтверот се зголемува, количината на податоци што ги обработува неизбежно се зголемува, како и сложеност на шемата на податоци. Комуникацијата со други веб-програмери покажува дека базите на податоци MySQL се многу популарни меѓу нас, а за управување со нив - добро познатите PHPMyAdmin. Преминувајќи од мали проекти до големи, од cms до рамки, многумина, како мене, остануваат верни на MySQL. Меѓутоа, за да се дизајнира комплексна база на податоци со голем број табели и врски, способностите на PHPMyAdmin се многу недостигаат. Затоа решив да напишам рецензија MySQL Workbench е одлична бесплатна десктоп програма за работа со MySQL.

Во првиот дел од прегледот, ќе зборувам за самите основи на работа со програмата, така што можете да го користите овој напис како водич за почетници.Вториот дел ќе биде посветен на користење на Workbench во борба при работа со далечински сервер. Во него ќе го дадам основното инструкциии препораки за поставување серверска врска и синхронизација со него.

MySQL Workbench- алатка за визуелен дизајн на бази на податоци која интегрира дизајн, моделирање, креирање и работа на база на податоци во единствена беспрекорна околина за системот за бази на податоци MySQL.

Морам да кажам дека програмата е навистина одлична. Тоа ви овозможува да фрлате брзо и со задоволство шеми за проектни податоци, дизајн субјекти и врскимеѓу нив, безболно спроведе промениво шемата и исто толку брзо и безболно синхронизирааттоа со далечински сервер. А графички уредник EER дијаграми, потсетувајќи на смешни лебарки, ви овозможува да ја видите целокупната слика на моделот на податоци и да уживате во неговата леснотија и елеганција :) По првиот обид, оваа алатка станува незаменлив асистент во борбениот арсенал на веб-програмер.

Преземете ја работната маса на MySQL

Дистрибуцијата MySQL Workbench е достапна на оваа страница. Најновата верзија на програмата во моментот на пишување е Верзија 6.1. Пред преземањето, мора да изберете една од следните платформи:

По изборот на платформа, од вас ќе биде побарано да се регистрирате или да се најавите на Oracle. Ако не сакате, има врска подолу. „Не, благодарам, само започнете го преземањето“- кликнете на неа ;)

Почеток на работа

Почетниот екран на програмата ги рефлектира главните области на нејзината функционалност - дизајнирање модели на бази на податоци и нивна администрација:

На врвот на екранот има листа на врски со MySQL серверина вашите проекти, а списокот со најновите модели со отворени податоци е на дното на екранот. Работата обично започнува со креирање на шема на податоциили вчитување на постоечка структура во MySQL Workbench. Ајде да се фатиме за работа!

Креирање и уредување на модел на податоци

За да додадете модел, кликнете на знакот плус веднаш до насловот „Модели“ или изберете „Датотека → Нов модел“ (Ctrl + N):

На овој екран, внесете го името на базата на податоци, изберете го стандардното кодирање и, доколку е потребно, пополнете го полето за коментари. Можете да започнете да креирате табели.

Додавање и уредување табела

Списокот на бази на податоци на проектот и списокот со табели во рамките на базата ќе бидат лоцирани во табулаторот „Физички шеми“.За да креирате табела, кликнете двапати на „+Додај табела“:

Ќе се отвори удобен интерфејс за уредување на списокот со полиња и нивните својства. Овде можеме да го поставиме името на полето, типот на податоци, а исто така да поставиме различни атрибути за полињата: додели поле примарен клуч (PK), означете го Не нула (НН), бинарен (BIN), единствен (UQ)и други, поставени за поле автоматско зголемување (AI)И стандардна вредност.

Управување со индекси

Можете да додавате, бришете и уредувате индекси на табели во јазичето „Индекси“интерфејс за управување со табели:

Внесете го името на индексот, изберете го неговиот тип, а потоа проверете ја листата на полиња кои учествуваат во овој индекс во потребниот редослед. Редоследот на полињата ќе одговара на редоследот по кој се штиклирани полињата. Во овој пример додадов единствен индексна теренот корисничко име.

Врски меѓу табелите

Поставувањето странски клучеви и поврзувањето табели е можно само за табелите InnoDB(овој систем за складирање е стандардно избран). За управување со врските, секоја табела има таб „Странски клучеви“:

За да додадете врска, отворете го јазичето „Странски клучеви“ детска маса, внесете го името на странскиот клуч и изберете матична маса. Понатаму во средниот дел на јазичето во колоната Колонаизберете го полето за клуч од табелата за деца и во колоната Референтна колона- соодветното поле од матичната табела (типовите на полиња мора да се совпаѓаат). Кога креирате странски клучеви соодветните индекси автоматски се креираат во детската табела.

Во поглавјето „Опции за странски клучни“конфигурирајте го однесувањето на странскиот клуч кога соодветното поле се менува (НА Ажурирање)и отстранување (НА БРИШЕЊЕ)родителска евиденција:

  • ОГРАНИЧИ- исфрли грешка при менување/бришење родителски запис
  • КАСКАДА- ажурирајте го странскиот клуч кога родителскиот запис се менува, бришете го записот за деца кога родителот е избришан
  • ПОСТАВЕТЕ NULL- поставете ја вредноста на странскиот клуч НУЛАпри менување/бришење родител (не е прифатливо за полиња на кои е поставено знамето НЕ НИШТА!)
  • НЕМА АКЦИЈА- не правете ништо, но всушност ефектот е сличен на ОГРАНИЧУВАЊЕ

Во примерот погоре, додадов на табелата за деца Кориснички профилстрански клуч за поврзување со матичната табела Корисник. Кога уредувате поле userIdи бришење позиции од табелата Корисникќе се направат слични измени автоматскисе јавуваат и со поврзани записи од табелата Кориснички профил.

Кога креирате проект, честопати треба да додадете податоци за стартување во базата на податоци. Тоа може да бидат основни категории, административни корисници итн. Во управувањето со табелите на MySQL Workbench постои таб за ова "Вметнува":

Како што може да се види од примерот, ако некоја MySQL функција треба да се примени на податоците пред да се запише во базата на податоци, тоа се прави со помош на синтаксата \func функција Име („податоци“), На пример, \func md5 („лозинка“).

Креирање на EER дијаграм (дијаграм за врска со ентитетите)

За да се прикаже податочната шема, ентитетите и нивните односи во графичка форма, MySQL Workbench има уредувач на дијаграми EER. За да креирате дијаграм на горниот дел од екранот за управување со базата на податоци, кликнете двапати на иконата „+Додај дијаграм“:

Во неговиот интерфејс можете да креирате и уредувате табели, да додавате врски меѓу нив разни видови. За да додадете табела што веќе постои во дијаграмот на дијаграмот, едноставно повлечете ја од панелот „Каталошко дрво“.

За извоз на шема на податоци во графичка датотекаизберете „Датотека → Извези“а потоа една од опциите (PNG, SVG, PDF, PostScript датотека).

Увезување постоечка шема за податоци (од SQL dump)

Ако веќе имаме шема за податоци, таа може лесно да се внесе во MySQL Workbench за понатамошна работа. За да увезете модел од SQL-датотека, изберете „Датотека → Увези → Обратно инженерство MySQL Креирај скрипта...“, потоа изберете ја потребната SQL-датотека и кликнете "Изврши>"

MySQL Workbench исто така обезбедува увоз и синхронизација на моделот на податоци директно со оддалечен сервер. За да го направите ова, ќе треба да креирате поврзување Далечински пристапна MySQL, за што ќе зборувам во продолжение на оваа рецензија.

Демо-проектот од статијата е достапен за преземање на оваа врска. Ви посакувам успех и убави шеми со лебарки!


Каков и да е развивачот на базата на податоци: почетник (особено) или брадест професионалец, секогаш му е полесно и повизуелно да го претстави она на што работи и развива. Лично сметам дека сум во првата категорија и за да го разберам материјалот што би сакал визуелно да го видам што дизајнирам/развивам.

Денес ги има различни програмии алатки кои се справуваат со слична задача: некои се подобри, некои се полоши. Но, денес би сакал да зборувам малку за MySQL WorkBench - алатка за дизајн на визуелна база на податоци која го интегрира дизајнот, моделирањето, создавањето и работењето на базата на податоци во единствена беспрекорна околина за системот за бази на податоци MySQL, кој е наследник на DBDesigner 4 од FabForce. в) Википедија. MySQL WorkBench е дистрибуиран во два вкуса: OSS - издание на заедницата(дистрибуиран под лиценца LGPL) и С.Е. - Стандардно издание- верзијата за која програмерите бараат пари. Но, мислам дека за многумина тоа ќе биде доволно О.С.С.верзија (особено за почетници и оние кои не сакаат или сметаат дека е несоодветно да плаќаат софтвер, како и поддржувачи на програми со отворен код), Покрај тоа, верзијата OSS има богата функционалност.

Значи, како што сугерира името, оваа алатка е дизајнирана да работи MySQL бази на податоци иподдржува голем број на различни типови на модели на MySQL (види слика од екранот подолу) и ќе стане неопходна алатка за подобро разбирање и учење на релациони бази на податоци (особено MySQL) за почетници:

Така, секој развивач на MySQL ќе го најде она што му треба. Покрај тоа MySQL WorkBenchви овозможува да поврзете постоечка база на податоци, да извршите SQL прашањаи SQL скрипти, уредувајте и управувајте со објекти на базата на податоци. EER моделиБаза на податоци. Со други зборови, ова е визуелен приказ на сите врски помеѓу табелите на вашата база на податоци, кои, доколку е потребно, лесно може да се претстават во форма на SQL скрипта, да се уреди или да се создаде нов приказ. Но, повеќе за тоа малку подоцна. Прво, да видиме како изгледа главното око MySQL WorkBench(5.2.33 вртежи 7508):
За да креирате EER модел на вашата база на податоци, изберете " Создадете нов EER модел" Како резултат на тоа, ќе имаме јазиче во кое можеме да додаваме/креираме графикони, табели, прегледи, процедури; да поставуваме различни права за пристап за корисниците; да креираме модел користејќи SQL скрипти. Ова јазиче изгледа вака:
Ние нема да го разгледаме процесот на креирање табели и бази на податоци, бидејќи сè е едноставно овде. Ќе ја дадам само конечната верзија на готовиот модел (видете ги сликите од екранот подолу). Дополнително, ако го ставите курсорот над линијата за поврзување (испрекината линија) на табелите, тогаш „врската“, примарниот клуч, како и странскиот клуч ќе бидат означени во друга боја. Ако го ставите курсорот над табела, ќе биде означена самата табела, како и сите врски кои припаѓаат на избраната табела.

За да уредите табела, само кликнете со десното копче на табелата што ни треба и изберете „ Уреди табела...". , само кликнете со десното копче на табелата што ни треба и изберете " Копирајте го SQL во таблата со исечоци", а потоа залепете од таблата со исечоци на саканата локација/програма/датотека.

И сега директно за инсталација MySQL WorkBench. Секако, прво треба да го преземете MySQL WorkBench. За да го направите ова, одете на страницата за преземање MySQL WorkBench, на дното на страницата во паѓачката листа, изберете ја онаа што ни треба операционен систем. Како резултат на тоа, ќе ни бидат понудени неколку опции за преземање:

  • за ОС Windowsможете да го преземете инсталаторот MSI, поштенската архива на програмата, како и архивата со изворниот код. За овој ОС MySQL WorkBenchможе да се преземе само за 32-битна верзија на Windows;
  • за корисниците Убунтуизборот е малку побогат отколку за корисниците на Windows OS - ни се нуди да преземеме MySQL WorkBenchза Ubuntu верзии 10.04, 10.10 (во моментот на пишување) и 32- или 64-битни верзии на deb пакети;
  • За врз основа на вртежи во минутадистрибуции, а во овој случај тоа се Fedora, Suse Linux и RedHat/Oracle Linux, MySQL WorkBenchсе претставени склопови за 32- и 64-битен оперативен систем;
  • Ниту корисниците на Macintosh не заборавија - за нив има склоп само за 32-битниот ОС;
  • Па, се разбира, можете да преземете изворпрограми;

Значи, изберете ја потребната опција за преземање и кликнете Преземи. Потоа љубезно ќе бидеме замолени да се претставиме: за регистрирани корисници - внесете го вашето најавување и лозинка, за новодојденците - регистрирајте се. Ако не сакате да се претставите, тогаш изберете ја опцијата веднаш подолу " „Не, благодарам, само однесете ме до преземањата! и изберете го најблиското огледало за преземање. Покрај тоа, пред инсталацијата, проверете дали сте инсталирале MySQL клиент,.во спротивно MySQL WorkBench ќе одбие да инсталира.

Што треба да запомнат и знаат корисниците на Линукс:

Секако, како и во случајот со Windows OS, не забораваме на MySQL Client. За корисниците на Ubuntu, треба да ја преземете верзијата на програмата во согласност со верзијата на вашиот Ubuntu. За време на инсталацијата, внимателно погледнете ги пораките за грешка, доколку ги има, кои веројатно ќе ви кажат кои пакети недостасуваат во вашиот оперативен систем. Прочитајте за ова подолу.

За жал, не знам како стојат работите со rmp-базните дистрибуции, бидејќи ... Никогаш не сум користел такви дистрибуции, но мислам дека е приближно исто како и со оние базирани на дебиан.

Можеби сте забележале дека склопот недостасува MySQL WorkBenchза ОС Debian GNU/Linux. Но, како што покажа практиката, тоа е во ред. За инсталација MySQL WorkBenchво Debian 6.0 (Squeeze) ќе користиме деб- пакет за Ubuntu 10.04(не заборавајте за бит-длабочината на вашиот ОС: x86 или x64). Дозволете ми да ве потсетам дека за да го инсталирате преземениот деб пакет можете да ја користите алатката гдебиили внесете ја командата во конзолата како root:

# dpkg -i mysql-workbench-gpl-5.2.33b-1ubu1004-amd64.deb На пример, ја добив следнава грешка при инсталирањето на MySQL WorkBench:
dpkg: зависностите на пакетот го спречуваат конфигурирањето на пакетот mysql-workbench-gpl:
mysql-workbench-gpl зависи од libcairomm-1.0-1 (>= 1.6.4), сепак:
Пакетот libcairomm-1.0-1 не е инсталиран.
mysql-workbench-gpl зависи од libctemplate0, сепак:
Пакетот libctemplate0 не е инсталиран.
mysql-workbench-gpl зависи од libgtkmm-2.4-1c2a (>= 1:2.20.0), сепак:
Пакетот libgtkmm-2.4-1c2a не е инсталиран.
mysql-workbench-gpl зависи од libpangomm-1.4-1 (>= 2.26.0), сепак:
Пакетот libpangomm-1.4-1 не е инсталиран.
mysql-workbench-gpl зависи од libzip1 (>= 0,9), сепак:
Пакетот libzip1 не е инсталиран.
mysql-workbench-gpl зависи од python-paramiko, сепак:
Пакетот python-paramiko не е инсталиран.
mysql-workbench-gpl зависи од python-pysqlite2, сепак:
Пакетот python-pysqlite2 не е инсталиран.
dpkg: не успеа да се обработи опцијата mysql-workbench-gpl (--инсталирај):
проблеми со зависност - оставете неконфигуриран
Се појавија грешки при обработката на следните пакети:
mysql-workbench-gpl

За да ја решам оваа грешка, сè што требаше да направам е да ја напишете командата во конзолата за да инсталирам некои пакети:

# aptitude инсталирај libzip1 libcairomm-1.0-dev libctemplate0 libgtkmm-2.4-1c2a

За да ги инсталирате горенаведените пакети, ќе ви требаат дополнителни пакети, кои менаџерот Аптљубезно ќе понуди да преземете. По инсталирањето на сите потребни пакети, MySQL WorkBench се инсталира без проблеми.

Тоа е сè: MySQL WorkBench е безбедно инсталиран и подготвен за учење.

ажурирање:
Ако не се лажам, тогаш почнувајќи од Ubuntu 12.04 MySQL WorkBench може да се најде во складиштата за дистрибуција. Следствено, процесот на инсталација е многу полесен и без никакви патерици.
За да инсталирате MySQL WorkBench, само внесете ја командата во терминалот:
sudo aptitude инсталирај mysql-workbench

Внимание, бидејќи WorkBench е ажуриран, напишав, кој се состои од теорија и практика на градење на база на податоци од WorkBench.

Во поглавјето „Странски клучни опции“конфигурирајте го однесувањето на странскиот клуч кога соодветното поле се менува (НА Ажурирање)и отстранување (НА БРИШЕЊЕ)родителска евиденција:

  • ОГРАНИЧИ– исфрли грешка при менување/бришење родителски запис
  • КАСКАДА– ажурирајте го странскиот клуч кога родителскиот запис се менува, бришете го записот за деца кога родителот е избришан
  • ПОСТАВЕТЕ NULL– поставете ја вредноста на странскиот клуч НУЛАпри менување/бришење родител (не е прифатливо за полиња на кои е поставено знамето НЕ НИШТА!)
  • НЕМА АКЦИЈА– не правете ништо, но всушност ефектот е сличен на ОГРАНИЧУВАЊЕ

Заштеда од модел до реална/физичка база на податоци

„Датотека → Извези → Пропратен инженер MySQL Креирај скрипта...“

Ги штиклираме потребните полиња, ми требаше само една Generate INSERT Statements for Tables. Ако треба да ја зачувате скриптата во датотека, внесете го директориумот во полето погоре.

Во следниот прозорец можете да конфигурирате кои објекти ќе ги извезуваме. Ако погледнете внимателно, создадовме само 2 табели.

Извршување на скриптата - креирање на база на податоци и табели

Кликнете на „куќа“ во горниот лев агол на програмата...

Потоа кликнете двапати на MyConnection….

Ова јазиче се отвора пред нас...

Ова е нашата врска со серверот, тука ќе ја извршиме нашата скрипта. Ве молиме имајте предвид лево се базите на податоци што беа креирани во програмата WorkBench….

Сега, треба да ја дадете командата за извршување на оваа скрипта, за да го направите ова, кликнете во горното мени, Query Execute (Сите или Избор)

Значи, ако сè е во ред, тогаш во долниот излезен прозорец ќе ги видите сите „зелени ознаки“. И кога ќе кликнете Освежи внатре контекстното мениво списокот со бази на податоци, ќе ја видите новосоздадената база на податоци mydatabase1.

Конечно, ајде да изградиме ЕР дијаграм. ER е кратенка за Entity Relation - успешен модел „Entity-Relationship“, кој, особено, беше развиен од Питер Чен. Значи, вратете се на картичката модел и кликнете на Додај дијаграм...

Создадовме врска еден-на-многу. На еден факултет можат да студираат неколку студенти. Ве молиме имајте предвид дека односот во близина на табелата Студенти е поделен - тоа значи „за многумина“.

Така, создадовме модел, од кој, преку извршување на скрипта, вистинска база на податоци со табели. И, исто така, создаде дијаграм на ЕР.




Врв