Тема: Чи існує сервіс автоматичного створення схеми БД ?
В мене є MYSQL код для створення БД (я маю на увазі таблиць і зв'язків між ними), я хочу створити схему для кращого візуального сприйняття БД. Чи є якісь автоматичні онлайн сервіси як можуть зробити схему по MYSQL коду ?
Поки що я знайшов
dbdiagram.io - тут потрібний "їх" SQL код
app.sqldbm.com - вже краще, тому що він розуміє команди створення таблиць, але не розуміє CONSTRAINT команд
phpmyadmin - так само не розуміє зв'язків між таблицями (або я не знаю як налаштувати його)
CREATE TABLE `Account_` (
`Id_` INT NOT NULL AUTO_INCREMENT,
`FirstName_` VARCHAR(255) NOT NULL,
`LastName_` VARCHAR(255) NOT NULL,
`Password_` VARCHAR(255) NOT NULL,
`PhoneNumber_` VARCHAR(255) NOT NULL UNIQUE,
`DateOfBirthday_` DATE NOT NULL,
`Status_` BOOLEAN NOT NULL,
`Date_` DATETIME NOT NULL,
`KeyToOrganization_` INT NOT NULL,
`Token_` VARCHAR(255),
PRIMARY KEY (`Id_`)
);
CREATE TABLE `AdminAccount_` (
`Id_` INT NOT NULL AUTO_INCREMENT,
`KeyToAccount_` INT NOT NULL,
PRIMARY KEY (`Id_`)
);
CREATE TABLE `Wallet_` (
`Id_` INT NOT NULL AUTO_INCREMENT,
`Money_` FLOAT NOT NULL,
PRIMARY KEY (`Id_`)
);
CREATE TABLE `Group_` (
`Id_` INT NOT NULL AUTO_INCREMENT UNIQUE,
`GroupName_` VARCHAR(255) NOT NULL UNIQUE,
`Description_` VARCHAR(255),
`AdditionalInformation_` VARCHAR(255) NOT NULL,
`Date_` DATETIME NOT NULL,
`Owner_` INT NOT NULL,
`Visibility_` INT NOT NULL,
PRIMARY KEY (`Id_`)
);
CREATE TABLE `FinancialTransaction_` (
`Id_` INT NOT NULL AUTO_INCREMENT,
`Sum_` FLOAT NOT NULL,
`Message_` VARCHAR(255) NOT NULL,
`Date_` DATETIME NOT NULL,
`KeyToRecipient_` INT NOT NULL,
`KeyToSender_` INT NOT NULL,
PRIMARY KEY (`Id_`)
);
CREATE TABLE `Message_` (
`Id_` INT NOT NULL AUTO_INCREMENT,
`Message_` VARCHAR(255) NOT NULL,
`Date_` DATETIME NOT NULL,
`KeyToRecipient_` INT NOT NULL,
`KeyToSender_` INT NOT NULL,
PRIMARY KEY (`Id_`)
);
CREATE TABLE `UserAccount_` (
`Id_` INT NOT NULL AUTO_INCREMENT,
`IsAllowSettings_` BOOLEAN NOT NULL,
`IsAllowLeaderboard_` BOOLEAN NOT NULL,
`IsAllowTaskboard_` BOOLEAN NOT NULL,
`KeyToAccount_` INT NOT NULL,
PRIMARY KEY (`Id_`)
);
CREATE TABLE `Task_` (
`Id_` INT NOT NULL AUTO_INCREMENT,
`TaskName_` VARCHAR(255) NOT NULL,
`TaskDescription_` VARCHAR(255) NOT NULL,
`Deadline_` DATE NOT NULL,
`AdditionalInformation_` VARCHAR(255),
`Date_` DATETIME NOT NULL,
`KeyToAccount_` INT NOT NULL,
PRIMARY KEY (`Id_`)
);
CREATE TABLE `Organization_` (
`Id_` INT NOT NULL AUTO_INCREMENT,
`OrganizationName_` VARCHAR(255) NOT NULL,
`Date_` DATETIME NOT NULL,
PRIMARY KEY (`Id_`)
);
CREATE TABLE `GroupAccountKeys_` (
`id_` INT NOT NULL AUTO_INCREMENT,
`GroupKey_` INT NOT NULL,
`Account_` INT NOT NULL,
PRIMARY KEY (`id_`)
);
CREATE TABLE `Image_` (
`id_` INT NOT NULL AUTO_INCREMENT,
`Title_` VARCHAR(255) NOT NULL UNIQUE,
`ZImgB64Str` TEXT NOT NULL,
`Date_` DATETIME NOT NULL,
`KeyToOrganization_` INT NOT NULL,
PRIMARY KEY (`id_`)
);
ALTER TABLE `Account_` ADD CONSTRAINT `Account__fk0` FOREIGN KEY (`KeyToOrganization_`) REFERENCES `Organization_`(`Id_`);
ALTER TABLE `AdminAccount_` ADD CONSTRAINT `AdminAccount__fk0` FOREIGN KEY (`KeyToAccount_`) REFERENCES `Account_`(`Id_`);
ALTER TABLE `Wallet_` ADD CONSTRAINT `Wallet__fk0` FOREIGN KEY (`Id_`) REFERENCES `Account_`(`Id_`);
ALTER TABLE `Group_` ADD CONSTRAINT `Group__fk0` FOREIGN KEY (`Owner_`) REFERENCES `Account_`(`Id_`);
ALTER TABLE `FinancialTransaction_` ADD CONSTRAINT `FinancialTransaction__fk0` FOREIGN KEY (`KeyToRecipient_`) REFERENCES `Account_`(`Id_`);
ALTER TABLE `FinancialTransaction_` ADD CONSTRAINT `FinancialTransaction__fk1` FOREIGN KEY (`KeyToSender_`) REFERENCES `Account_`(`Id_`);
ALTER TABLE `Message_` ADD CONSTRAINT `Message__fk0` FOREIGN KEY (`KeyToRecipient_`) REFERENCES `Account_`(`Id_`);
ALTER TABLE `Message_` ADD CONSTRAINT `Message__fk1` FOREIGN KEY (`KeyToSender_`) REFERENCES `Account_`(`Id_`);
ALTER TABLE `UserAccount_` ADD CONSTRAINT `UserAccount__fk0` FOREIGN KEY (`KeyToAccount_`) REFERENCES `Account_`(`Id_`);
ALTER TABLE `Task_` ADD CONSTRAINT `Task__fk0` FOREIGN KEY (`KeyToAccount_`) REFERENCES `Account_`(`Id_`);
ALTER TABLE `GroupAccountKeys_` ADD CONSTRAINT `GroupAccountKeys__fk0` FOREIGN KEY (`GroupKey_`) REFERENCES `Group_`(`Id_`);
ALTER TABLE `GroupAccountKeys_` ADD CONSTRAINT `GroupAccountKeys__fk1` FOREIGN KEY (`Account_`) REFERENCES `Account_`(`Id_`);
ALTER TABLE `Image_` ADD CONSTRAINT `Image__fk0` FOREIGN KEY (`KeyToOrganization_`) REFERENCES `Organization_`(`Id_`);