Како да изградите дијаграм во работната маса. Од модел до физичка база на податоци во 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и отстранување на позициите од табелата корисникслични промени ќе автоматскисе случи на поврзани записи од табелата Кориснички профил.

Кога креирате проект, често е неопходно да се додадат почетни податоци во базата на податоци. Овие можат да бидат root категории, администраторски корисници и така натаму. Има таб за ова во управувањето со табелата 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-Community Edition(дистрибуирани според LGPL) и SE - Стандардно издание- верзија за која програмерите бараат пари. Но, мислам дека за многумина тоа ќе биде доволно и OSSверзија (особено за почетници и оние кои не сакаат или сметаат дека е несоодветно да плаќаат за софтвер, како и приврзаници на програми со отворен код), особено затоа што верзијата 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 - ни се нуди да преземеме MySQL Workbenchза Ubuntu верзии 10.04, 10.10 (во моментот на пишување) и 32- или 64-битни верзии на deb пакети;
  • За врз основа на вртежи во минутадистрибуции, а во овој случај тоа се Fedora, Suse Linux и RedHat/Oracle Linux, MySQL Workbenchпретставени се склопови за 32-битен и 64-битен ОС;
  • Не се заборавени ниту корисниците на Macintosh - за нив има склоп само за 32-битен ОС;
  • и секако можете да преземете изворпрограми;

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

Работи што треба да се запаметат и знаат за корисниците на Linux:

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

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

Можеби сте забележале дека нема склоп 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 Креирај скрипта…“

Ги означуваме потребните полиња за избор, ми требаше само едно Генерирање ВНЕСНИ изјави за табели. Ако треба да ја зачувате скриптата во датотека, внесете го директориумот во полето погоре.

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

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

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

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

Имаме ваква картичка...

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

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

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

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

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

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




Врв