MySQL Workbench – datu modelēšanas rīks

novembris 15, 2010

Iepriekšējo reizi rakstīju par savu pieredzi darbā ar Oracle DesignerGrade modeler un Visio. Tā kā pārāk daudz apskatīt reizē nesanāks, šoreiz būs tikai par vienu MySQL Workbench. Bet vispirms par aptauju, kurai jau pieaugusi neliela bārda. Tātad iepriekšējā reizē jautāju lasītājiem, kādus datu modelēšanas rīkus nācies izmantot. Rezultāti ir šādi:

Datu modelēšanas rīku popularitāte

Datu modelēšanas rīku popularitāte

Kopā bija 77 balsis, no kurām gandrīz trešdaļa (30%) izvēlējās Visio, otrajā vietā ar 19% bija MySQL Workbench, bet trešajā Grade Modeler ar 12%, ceturtajā Designer ar 11%. Pārējiem visiem piekritēju bija mazāk nekā 10%.

Nu tad ķeramies pie godājamā otrās vietas ieguvēja MySQL Workbench. Instalāciju tam var atrast šeit. Rīks ir bezmaksas jeb precīzāk tā Community redakcija ir pieejama ar GPL licenci.

Sākumā dažas svarīgākās lietas:

  • Rīks ir domāts tikai un vienīgi MySQL datubāzei.
  • Rīkam ir divas redakcijas (editions). Community ir pieejama bezmaksas, bet Standarta ir par maksu ar papildus iespējām, piemēram, datubāzes dokumentācijas ģenerēšanu.
  • Vismaz jaunākajā 5.2 versijā ar to var darīt jau trīs lietas:
    • veidot datubāzes modeļus;
    • izpildīt SQL pieprasījumus;
    • veikt MySQL datubāzes administrēšanu.

Izvērstu tā iespēju uzskaitījumu un salīdzinājumu pa redakcijām var redzēt šeit.

Tālāk pievērsīsimies šī rīka datu modelēšanas iespējām. Nākošajā attēlā var uzskatāmi redzēt šī rīka maza datu modelīša piemēru.

MySQL workbench datu modeļa piemērs

MySQL workbench datu modeļa piemērs

Uzskatāmi ir iezīmētas primārās atslēgas (dzeltena atslēdziņa), obligātie lauki (aizpildīts rombiņš), ārējās atslēgas (rozā rombiņš), datu tipi un indeksi, protams arī redzami, bet tos var arī aizvākt. Kopējais rīka izskats ir šāds:

MySQL Workbench Screen

MySQL Workbench Ekrānforma

Rīku iepētīju diezgan minimāli, bet daži iespaidi radās:

  • Tam ir tikai datu modelis, nav entītiju modelis. Tiesa gan, tas rīka izstrādātājiem veidojamos modeļus nav liedzis nosaukt par EER modeļiem, tā kā es šādu saīsinājumu redzēju pirmo reizi, tad pajautāju Googlei, kas tā tāda EER diagramma. Atradu ka tā saucās uzlabotā ER diagramma (enhanced ER-diagram) un šeit arī kāda Sanhosē universitātes ķīniešu profesora prezentāciju par šo. Nu ja pieņem, ka šī profesora viedoklis ir pareizs, tad gan šim rīkam ar viņa iespējām līdz ENHANCED ER diagrammai, piedodiet par izteicienu, kā cūkai līdz mēnesim 🙂
  • Saitēm nav iespējams mainīt gala punktus pie kastītēm, tie tiek noteikti automātiski. Man ir aizdomas, ka sarežģītāku diagrammu gadījumā tas būtu diezgan nepatīkami.
  • Tabulām ir iespējams mainīt izmērus (tās staipīt), tas neapšaubāmi ir pozitīvi, jo lai izveidotu pārskatāmu diagrammu šī lieta ir ļoti nepieciešama.
  • Rīks ļauj datu modelī attēlot un uzturēt arī skatījumus un saglabātās koda vienības.
  • Rīks ļauj ģenerēt kodu no modeļa (forward engineer), kā arī ievilkt jau esošas datubāzes tabulas modelī (reverse engineer). Kas vēl trakāk, tas ļauj arī salīdzināt izmaiņas un tās ievilkt vai nu modelī vai izveidot datubāzē. Tiesa gan izmaiņas tiek parādītas tikai objektu līmenī, piemēram, kaut kas tabulas definīcijā ir mainījies, bet nu jebkurā gadījumā tas ir ļoti labi. Salīdzināšanas ekrāns ar jau izvēlētām mērķa iespējām (ignorēt, DB->modelis, modelis->DB) izskatās šādi:
Datubāzes un modeļa sinhronizācija

Datubāzes un modeļa sinhronizācija

Nobeigumā varu izteikt tikai vienu secinājumu – katrā ziņā rīks izskatās simpātisks, tam ir diezgan daudz visādu iespēju un tas noteikti ir gana noderīgs, ja nepieciešams izmantot MySQL DBVS.


Datu modelēšanas rīki

novembris 19, 2009

Pirms kāda laika rakstīju dažus ievadvārdus par datu modelēšanu – kas tā tāda, kāpēc to vajag, kā norisinās. Turpat arī minēju, ka to principā var darīt ar zīmuli un papīra lapu. Taču protams, ka reālajā dzīvē šim mērķim ir izstrādāti daudz un dažādi rīki. Šai rakstā pastāstīšu par tiem rīkiem, ar kuriem nācies kaut mazliet sastapties. Jau iepriekš brīdinu, ka šai rakstā stingri ņemot tiks sajaukti gan konceptuālo datu modeļu (nav atkarīgas no konkrētas DBVS), gan fizisko datu modeļu (paredzēti konkrētai DBVS) modelēšanas rīki. Stāsta varoņi eeee, tas ir rīki :-), būs sakārtoti tīri vēsturiski, bez nekādas citas slēptas domas.

Šoreiz arī īpašs lūgums atbildēt uz aptaujas jautājumu raksta beigās un lūdzu pierakstīt jūsu atsauksmes un pieredzi (gan pozitīvo, gan negatīvo) ar un par datu modelēšanas rīkiem.

Šajā reizē par trīs no tiem – Oracle Designer, Grade modeler un Visio. Nākošajā būs vēl par tādiem kā MySQL Workbench, SQL Developer Data Modeler, Rational Rose un Enterprise Architect. Lasīt pārējo šī ieraksta daļu »


Datu modelēšana – ievads

novembris 7, 2008

Datu modelēšana iet cieši rokrokā ar datubāzēm un SQLu. Bez konceptuālās modelēšanas nav iespējams (vai ir ļoti maza varbūtība) iegūt datubāzes modeli, kuru varēs veiksmīgi izmantot gan lai rakstītu saprātīgus pieprasījumus, gan lai potenciālas izmaiņas nenovestu pie pilnīgas esošā modeļa pārstrādes, gan lai pieprasījumu rezultāti tiktu iegūti pieteikami ātri. Tieši tāpat kā bez projektēšanas nav iespējams uzcelt lielu māju, lai tā nesagāztos un nebūtu šķība, tāpat bez datu modelēšanas nav iespējams iegūt labu datu modeli daudzmaz sarežģītākai situācijai. Savukārt mazmājiņai vai mazam šķūnītim nekāds oficiāls projekts, protams, nav vajadzīgs, bet nu mazs uzmetums uz papīra arī nebūt neskādētu. Bez loģiskās datu modelēšanas, ķeroties uzreiz pie tabulām, var ļoti viegli pazaudēt kopējo pārskatu, izlaist detaļas, izveidot katru modeļa daļu savādāk, nepamanīt kādas kopējas lietas, ko varētu unificēt utt. utjp.

Kas ir datu modelēšana?

Datu modelēšana ir process, kura laikā tiek analizēti un saprasti biznesam svarīgie datu objekti un kura rezultātā tiek izveidots datu modelis. Ar biznesu šet jāsaprot kāda joma, ko Jūs esat nolēmuši analizēt un saprast, piemēram, tā var būt mājas bibliotēkas uzskaites izveide (populārs uzdevums studentiem), grāmatvedība, dokumentu vadība, metamodeļa (modelis par datu modeli) izveide. Analīze un saprašana, protams, kaut kādē mērā ir formalizēta, vai vismaz tās vizuālais rezultāts – datu modelis – ir formalizēts. Tas nozīmē, ka Jūs varat sev šo modeli fiksēt jebkādā veidā, bet ir vispārpieņemtas notācijas, kā to pieņemts darīt tā, lai saprastu arī citi ļaudis. Tādas piemēram ir ER (Entity-relationship) modelēšana vai UML (Unified modeling language).

Kā norisinās datu modelēšana?

Lasīt pārējo šī ieraksta daļu »