Simplified/shorthand SQL Data Definition Languages?
Actually, I just finished creating a php script, which does exactly this, but I hope there is something more professional out there...
Demo of my converter:
= ID id P AIperson ID mother_id -> person father_id -> person !FK mother_id, father_id -> family U:C, D:Cfamily P female_id -> person P male_id -> person
CREATE TABLE IF NOT EXISTS person ( id INT NOT NULL AUTO_INCREMENT, mother_id INT NOT NULL, father_id INT NOT NULL, PRIMARY KEY ( id )) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;CREATE TABLE IF NOT EXISTS family ( female_id INT NOT NULL, male_id INT NOT NULL, PRIMARY KEY ( female_id, male_id )) ENGINE=InnoDB DEFAULT CHARSET=utf8;ALTER TABLE person ADD FOREIGN KEY ( mother_id ) REFERENCES person( id );ALTER TABLE person ADD FOREIGN KEY ( father_id ) REFERENCES person( id );ALTER TABLE person ADD FOREIGN KEY ( mother_id, father_id ) REFERENCES family( female_id, male_id ) ON DELETE CASCADE ON UPDATE CASCADE;ALTER TABLE family ADD FOREIGN KEY ( female_id ) REFERENCES person( id );ALTER TABLE family ADD FOREIGN KEY ( male_id ) REFERENCES person( id );