ik kom graag te weten:
* of hier informatie mist
* ieder ander commentaar behalve op het data-type van de kolommen

Ik heb dit grafisch ontworpen en de SQL code laten genereren.

answers.answer kan een nederlands of frans antwoord bevatten
answers.direction moet als boolean functioneren of de vraag als frans->nederlands of nederlands->frans is gesteld

het is niet nodig om het later uit te breiden naar andere talen


CREATE  TABLE IF NOT EXISTS `mydb`.`dictionaries` (
  `id` INT NOT NULL ,
  `name` TEXT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = InnoDB;

CREATE  TABLE IF NOT EXISTS `mydb`.`phrases` (
  `id` INT NOT NULL ,
  `dictionaryId` INT NULL ,
  `french` TEXT NULL ,
  `dutch` TEXT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `fk_phrases_dictionaries_idx` (`dictionaryId` ASC) ,
  CONSTRAINT `fk_phrases_dictionaries`
    FOREIGN KEY (`dictionaryId` )
    REFERENCES `mydb`.`dictionaries` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE  TABLE IF NOT EXISTS `mydb`.`practiseSessions` (
  `id` INT NOT NULL ,
  `dictionaryId` INT NULL ,
  `started` DATETIME NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `fk_practiseSessions_dictionaries1_idx` (`dictionaryId` ASC) ,
  CONSTRAINT `fk_practiseSessions_dictionaries1`
    FOREIGN KEY (`dictionaryId` )
    REFERENCES `mydb`.`dictionaries` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE  TABLE IF NOT EXISTS `mydb`.`answers` (
  `id` INT NOT NULL AUTO_INCREMENT ,
  `phraseId` INT NOT NULL ,
  `direction` INT NOT NULL ,
  `incorrect` INT NOT NULL ,
  `answer` TEXT NOT NULL ,
  `caseInsensitive` INT NULL ,
  `ignorePunctuation` INT NULL ,
  `practiseSessionId` INT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `fk_answers_phrases1_idx` (`phraseId` ASC) ,
  INDEX `fk_answers_practiseSessions1_idx` (`practiseSessionId` ASC) ,
  CONSTRAINT `fk_answers_phrases1`
    FOREIGN KEY (`phraseId` )
    REFERENCES `mydb`.`phrases` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_answers_practiseSessions1`
    FOREIGN KEY (`practiseSessionId` )
    REFERENCES `mydb`.`practiseSessions` (`id` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

Originele uitvoer: http://pastebin.com/VT7asMBY
Gebruik je MySQL Workbench eigenlijk in plaats van PHPMyAdmin? Of zijn dit 2 totaal verschillende tools?
@Flip yw ;-)
@Ozzie
MySQL Workbench is software en PhpMyAdmin is een webapp.
Als je met een hostprovider werkt heb je de kans dat je geen remote access tot je je database hebt, in dat geval ben je gebonden aan PMA, zodra je vanaf je client bij de database kunt, adviseer ik om een client tool te gebruiken.
Ik zelf gebruik Workbench en Dbtools door en naast elkaar, omdat ze allebei voor- en nadelen hebben.
Thanks Ger. Maar hoe moet ik me zoiets voorstellen? Zet je MySQL Workbench op de server? Of zet je het op je eigen computer en connect je dan met de server?

En kun je met MySQL Workbench hetzelfde als met PHPMyAdmin?
Je kan het gewoon op je eigen computer installeren (als je het op een server kan installeren, zal je wss ook voldoende rechten hebben om om GRANTS uit te delen in mysql)

Met workbench kan je ERD's maken dat kan met PMA niet, voor de rest heb je dezelfde mogelijkheden. Alleen werken pc applicaties over het algemeen sneller en gemakkelijker.
Ah oké, thanks!
Ik ben ook fan van MySQL Workbench, ik werk echt nooit met PhpMyAdmin. Ik vind PhpMyAdmin de meest gebruikers-onvriendelijke tool ooit. Puur broddelwerk. Ik snap niet dat mensen daar tabellen mee aanmaken en hele tabellen zitten te vullen. Ik gebruik naast MySQL Workbench ook msysql command line (op de laptop) om databewerkingen/aanpassen/laden op de remote database uit te voeren. Zoals Ger zegt, wat grants en je kan mooi een client/server verbinding opbouwen.
Ik zal me er eens in verdiepen. Heb altijd met PHPMyAdmin gewerkt, omdat ik eigenlijk niet beter weet :-s
En bij shared hosts is dat ook de enige manier waarop het kan volgens mij. Mocht ik tzt besluiten om voor mezelf te beginnen en eventueel een eigen vps server te nemen, dan is de mogelijkheid om MySQL Workbench te gebruiken er waarschijnlijk wel. Alleen geen idee hoe ik dan moet connecten. Is dat gewoon een kwestie van de host en de gebruikersnaam en wachtwoord invoeren?

[size=xsmall]Toevoeging op 28/10/2012 23:51:02:[/size]

Is zo'n tekening in de openingspost trouwens alleen bedoeld om de tabellen te maken, of kun je naderhand (als de tabellen al zijn gemaakt) ook wijzigingen in die tekening maken, die dan worden doorgevoerd in de tabellen?
Ozzie PHP op 28/10/2012 23:49:44

Alleen geen idee hoe ik dan moet connecten. Is dat gewoon een kwestie van de host en de gebruikersnaam en wachtwoord invoeren?[size=xsmall]Toevoeging op 28/10/2012 23:51:02:[/size]
Inderdaad host en de gebruikersnaam en wachtwoord opvoeren. MySQL Workbench zal je dat vanzelf vragen. Op de remote database moet je jezelf autoriseren met bijvoorbeeld: GRANT ALL PRIVILEGES ON databasenaam.* TO 'ozzie'@'99.99.999.9' IDENTIFIED BY 'wachtwoord'; waarbij 99.99.999.9 jouw ipnummer is. Het ipnummer van je internet-adsl/cable wel te verstaan.

Ozzie PHP op 28/10/2012 23:49:44
Is zo'n tekening in de openingspost trouwens alleen bedoeld om de tabellen te maken, of kun je naderhand (als de tabellen al zijn gemaakt) ook wijzigingen in die tekening maken, die dan worden doorgevoerd in de tabellen?


Je kan ook tabellen wijzigen, en schuiven en anders linken. Download maar eens & probeer !
Oké. Wellicht kom ik hier in de toekomst nog een keer op terug. Thanks!

Reageren