Dostałem do zrobienia zadanie którego częścią jest stworzenie bazy danych na podstawie podanego modelu. Niestety nie mogę doprowadzić do porządku MySQL a więc nie wiem czy skrypt w tworzony skrypt Basha, jest poprawny. Mam do was prośbę. Ktoś kto zna się na bazach danych mógłby mi powiedzieć, czy mój skrypt tworzy tabelę zgodne z modelem ?
Oto model:
Kod: Zaznacz cały
Employee {
PK
*Id : GUID
*Name : String
*Surname: String
FK
Department_Id : GUID
}
Role {
PK
*Id : GUID
*Name : String
}
Employee_Role {
PK, FK *Employee_Id : GUID
PK, FK *Role_Id : GUID
}
Department {
PK
*Id : GUID
*Name : String
}
Kod: Zaznacz cały
#!/bin/bash
read -p "Podaj nazwe użytkownika " sqluser
read -p "Podaj hasło do MySQL: " sqlpw
mysqladmin -u $sqluser password $sqlpw
mysql --user=$sqluser --password=$sqlpw -e "CREATE DATABASE baza"
mysql --user=$sqluser --password=$sqlpw -e "USE baza"
mysql --user=$sqluser --password=$sqlpw -e "CREATE USER 'bzium' IDENTIFIED BY bziumpw"
mysql --user=$sqluser --password=$sqlpw -e "grant usage on *.* to bzium@localhost identified by 'bziumpw'"
mysql --user=$sqluser --password=$sqlpw -e "grant all privileges on baza.* to bzium@localhost"
mysql --user=$sqluser --password=$sqlpw -e "CREATE TABLE Department(*Id GUID NOT NULL, *Name VARCHAR(20), PRIMARY KEY(*Id))"
mysql --user=$sqluser --password=$sqlpw -e "CREATE TABLE Role (*Id GUID NOT NULL, *Name VARCHAR(20),PRIMARY KEY(*id)) ENGINE=MyISAM"
mysql --user=$sqluser --password=$sqlpw -e "CREATE TABLE Employee (*Id GUID NOT NULL, *Name VARCHAR(20), *Surname VARCHAR(15), Department_Id GUID, PRIMARY KEY(*id), FOREIGN KEY(Department_Id) REFERENCES Department(*Id)) ENGINE=MyISAM"
mysql --user=$sqluser --password=$sqlpw -e "CREATE TABLE Employee_Role(*Employee_Id GUID NOT NULL, *Role_Id GUID NOT NULL, PRIMARY KEY(*Employee_Id,*Role_Id), FOREIGN KEY(*Employee_Id) REFERENCES Employee(*Id), FOREIGN KEY(*Role_Id) REFERENCES Role(*Id)) ENGINE=MyISAM"