Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular

SQLize.online is a free online SQL environment for quickly running, experimenting with and sharing code. You can run your SQL code on top of the most popular RDBMS including MySQL, MariaDB, SQLite, PostgreSQL, Oracle and Microsoft SQL Server.

Copy Format Clear
CREATE TABLE Person ( idperson INTEGER PRIMARY KEY AUTOINCREMENT, firstname TEXT NOT NULL, familyname TEXT NOT NULL, dateofbirth TEXT NOT NULL ); CREATE TABLE Credentials ( email VARCHAR(255) PRIMARY KEY, -- Changed TEXT to VARCHAR(255) to fix key length issue password TEXT NOT NULL, user_type TEXT NOT NULL CHECK(user_type IN ('doctor', 'patient', 'nurse', 'center_admin')), person_id INTEGER UNIQUE, FOREIGN KEY (person_id) REFERENCES Person(idperson) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE Doctor ( iddoctor INTEGER PRIMARY KEY AUTOINCREMENT, idperson INTEGER NOT NULL UNIQUE, FOREIGN KEY (idperson) REFERENCES Person(idperson) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE Nurse ( idnurse INTEGER PRIMARY KEY AUTOINCREMENT, idperson INTEGER NOT NULL UNIQUE, FOREIGN KEY (idperson) REFERENCES Person(idperson) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE CenterAdmin ( idadmin INTEGER PRIMARY KEY AUTOINCREMENT, idperson INTEGER NOT NULL UNIQUE, FOREIGN KEY (idperson) REFERENCES Person(idperson) ON DELETE SET NULL ON UPDATE CASCADE ); CREATE TABLE Patient ( idpatient INTEGER PRIMARY KEY AUTOINCREMENT, idperson INTEGER NOT NULL UNIQUE, FOREIGN KEY (idperson) REFERENCES Person(idperson) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE DoctorPatient ( iddoctor INTEGER, idpatient INTEGER, PRIMARY KEY (iddoctor, idpatient), FOREIGN KEY (iddoctor) REFERENCES Doctor(iddoctor) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (idpatient) REFERENCES Patient(idpatient) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE Medicine ( id INTEGER PRIMARY KEY AUTOINCREMENT, Med_name TEXT NOT NULL UNIQUE ); CREATE TABLE Prescription ( id_prescription INTEGER PRIMARY KEY AUTOINCREMENT, idpatient INTEGER, id_medicine INTEGER, iddoctor INTEGER, quantity INTEGER DEFAULT 1, status TEXT DEFAULT 'pending' CHECK(status IN ('pending', 'administered', 'cancelled')), prescription_date TEXT, FOREIGN KEY (idpatient) REFERENCES Patient(idpatient) ON DELETE SET NULL ON UPDATE CASCADE, FOREIGN KEY (id_medicine) REFERENCES Medicine(id) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY (iddoctor) REFERENCES Doctor(iddoctor) ON DELETE SET NULL ON UPDATE CASCADE ); CREATE TABLE VaccinationCenter ( idcenter INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL UNIQUE, address TEXT, admin_id INTEGER UNIQUE, FOREIGN KEY (admin_id) REFERENCES CenterAdmin(idadmin) ON DELETE SET NULL ON UPDATE CASCADE ); CREATE TABLE CenterStock ( id INTEGER PRIMARY KEY AUTOINCREMENT, center_id INTEGER, vaccine_id INTEGER, quantity INTEGER DEFAULT 0 CHECK(quantity >= 0), last_updated TEXT, UNIQUE (center_id, vaccine_id), FOREIGN KEY (center_id) REFERENCES VaccinationCenter(idcenter) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (vaccine_id) REFERENCES Medicine(id) ON DELETE CASCADE ON UPDATE CASCADE ); CREATE TABLE AdministrationLog ( id INTEGER PRIMARY KEY AUTOINCREMENT, prescription_id INTEGER UNIQUE, nurse_id INTEGER, center_id INTEGER, administered_at TEXT, FOREIGN KEY (prescription_id) REFERENCES Prescription(id_prescription) ON DELETE SET NULL ON UPDATE CASCADE, FOREIGN KEY (nurse_id) REFERENCES Nurse(idnurse) ON DELETE SET NULL ON UPDATE CASCADE, FOREIGN KEY (center_id) REFERENCES VaccinationCenter(idcenter) ON DELETE SET NULL ON UPDATE CASCADE );

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear