mySQL Workbench

Igår på jobbet stötte jag på ett problem, mer en tankeställare kanske, när jag skulle designa en tabell för att hantera regler för ett specifikt ändamål. Denna regel är (i skrivande stund) unikt bestämd av värdet i fyra databasfält och att sätta dem som primary keys (primärnyckel?) var inte aktuellt då det kunde generera en primary key sammansättning på uppemot 800 tecken och alla föremål för ändring om verksamheten ändras. Just i detta fall kan det hända ganska frekvent.

Jag använder mySQL workbench vilket är ett utmärkt verktyg för att på ett grafisk sätt hantera databaser och om antalet tabeller blir stort är det lätt att skapa sig en överblick. Fram för allt möjligheten att gå från databaskod till grafiska tabeller där restriktionerna (primary och foreign key constraints) är visualiserade beroende på dess karaktär (kan inte utveckla detta mer eftersom jag inte vet exakt vilka dessa är :).

Hur som helst i mySQL workbench hittade jag ingen vy för att skapa min lösning, att definiera en unik restriktion för flera kolumner/fält och ha en artificiellnyckel som primary key. Så jag skrev harangen i kommandoraden och löste problemet. Efter kollade jag hur min restriktion såg ut i workbench och det var inte helt intuitivt hur det skulle sättas, enligt min åsikt i alla fall.

Illustration från mySQL Workbench

Illustration från mySQL Workbench om flerkolumn unik restriktion

Jag skrev kommandot [code] ALTER TABLE x ADD UNIQUE (col1, col2, col3, col4) [/code] och detta gav som bilden ovan visar.

Index finns till för prestandaökningen vid uppslagning och flerkolumn unik restriktionen är utav datakaraktär

Kommentera

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Följande HTML-taggar och attribut är tillåtna: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>