Copia il codice SQL del database che ti serve e incollalo nella scheda SQL di phpMyAdmin.
📂 Indice
Database di un social network.
CREATE TABLE Utenti (
ID INT AUTO_INCREMENT PRIMARY KEY,
Username VARCHAR(30) NOT NULL UNIQUE,
Email VARCHAR(100) NOT NULL UNIQUE,
Citta VARCHAR(50),
AnnoNascita INT,
Verificato BOOLEAN NOT NULL DEFAULT FALSE
);
CREATE TABLE Post (
ID INT AUTO_INCREMENT PRIMARY KEY,
ID_Utente INT NOT NULL,
Testo VARCHAR(280) NOT NULL,
DataOra DATETIME NOT NULL,
Likes INT NOT NULL DEFAULT 0,
Visibilita VARCHAR(10) NOT NULL DEFAULT 'pubblico',
FOREIGN KEY (ID_Utente) REFERENCES Utenti(ID)
ON DELETE CASCADE
);
CREATE TABLE Commenti (
ID INT AUTO_INCREMENT PRIMARY KEY,
ID_Post INT NOT NULL,
ID_Utente INT NOT NULL,
Testo VARCHAR(200) NOT NULL,
DataOra DATETIME NOT NULL,
FOREIGN KEY (ID_Post) REFERENCES Post(ID) ON DELETE CASCADE,
FOREIGN KEY (ID_Utente) REFERENCES Utenti(ID) ON DELETE CASCADE
);
CREATE TABLE Follower (
ID_Seguace INT NOT NULL,
ID_Seguito INT NOT NULL,
DataInizio DATE NOT NULL,
PRIMARY KEY (ID_Seguace, ID_Seguito),
FOREIGN KEY (ID_Seguace) REFERENCES Utenti(ID) ON DELETE CASCADE,
FOREIGN KEY (ID_Seguito) REFERENCES Utenti(ID) ON DELETE CASCADE
);
INSERT INTO Utenti (Username, Email, Citta, AnnoNascita, Verificato) VALUES
('luca_v', 'luca@mail.it', 'Milano', 2001, TRUE),
('sara_foto', 'sara@mail.it', 'Roma', 2000, TRUE),
('marco99', 'marco@mail.it', 'Milano', 1999, FALSE),
('chiara_art', 'chiara@mail.it', 'Napoli', 2002, FALSE),
('gioele_dev', 'gioele@mail.it', 'Verona', 2001, TRUE),
('annatravel', 'anna@mail.it', 'Roma', 1998, FALSE),
('riki_music', 'riki@mail.it', 'Torino', 2003, FALSE),
('vale_chef', 'vale@mail.it', 'Milano', 2000, TRUE),
('ghost_user', 'ghost@mail.it', NULL, 2002, FALSE);
INSERT INTO Post (ID_Utente, Testo, DataOra, Likes, Visibilita) VALUES
(1, 'Prima giornata a Milano sotto la pioggia', '2024-03-01 09:15:00', 142, 'pubblico'),
(1, 'Nuovo progetto in arrivo, stay tuned!', '2024-03-10 18:30:00', 87, 'pubblico'),
(2, 'Tramonto sul Colosseo', '2024-03-02 19:45:00', 310, 'pubblico'),
(2, 'Reel delle ultime foto di viaggio', '2024-03-15 12:00:00', 55, 'amici'),
(3, 'Chi viene a studiare in biblioteca domani?', '2024-03-03 10:00:00', 12, 'pubblico'),
(4, 'Sketch di oggi', '2024-03-05 14:20:00', 98, 'pubblico'),
(4, 'Processo creativo: dal bianco al colore', '2024-03-12 16:00:00', 45, 'privato'),
(5, 'Deploy riuscito alle 2 di notte', '2024-03-07 02:10:00', 201, 'pubblico'),
(6, 'Aeroporto di Roma, destinazione ignota', '2024-03-08 06:30:00', 175, 'pubblico'),
(7, 'Nuovo beat disponibile su Spotify', '2024-03-09 20:00:00', 88, 'pubblico'),
(8, 'Ricetta: pasta al pesto in 10 minuti', '2024-03-11 13:00:00', 230, 'pubblico'),
(3, 'Esame superato!', '2024-03-20 17:00:00', 320, 'pubblico');
INSERT INTO Commenti (ID_Post, ID_Utente, Testo, DataOra) VALUES
(1, 2, 'Anche a Roma piove!', '2024-03-01 10:00:00'),
(1, 3, 'Forza che passa', '2024-03-01 10:30:00'),
(3, 8, 'Tramonto bellissimo!', '2024-03-02 20:00:00'),
(8, 1, 'Grande gioele!', '2024-03-07 08:00:00'),
(8, 4, 'Anch io ho perso il sonno cosi', '2024-03-07 09:00:00'),
(11, 5, 'Provo subito questa ricetta!', '2024-03-11 14:00:00'),
(11, 6, 'Che fame', '2024-03-11 14:30:00'),
(12, 1, 'Complimenti!!', '2024-03-20 17:10:00'),
(12, 2, 'Te lo meriti tutto', '2024-03-20 17:15:00');
INSERT INTO Follower (ID_Seguace, ID_Seguito, DataInizio) VALUES
(1, 2, '2023-01-15'),
(1, 5, '2023-03-20'),
(2, 1, '2023-01-16'),
(3, 1, '2023-06-01'),
(3, 2, '2023-06-01'),
(4, 2, '2023-07-10'),
(5, 1, '2023-04-05'),
(6, 2, '2023-09-01'),
(7, 5, '2024-01-10'),
(8, 2, '2023-11-20');
Database di un negozio di elettronica online.
CREATE TABLE Categorie (
ID INT AUTO_INCREMENT PRIMARY KEY,
Nome VARCHAR(50) NOT NULL UNIQUE,
Descrizione VARCHAR(200)
);
CREATE TABLE Prodotti (
ID INT AUTO_INCREMENT PRIMARY KEY,
Nome VARCHAR(100) NOT NULL,
Prezzo DECIMAL(8,2) NOT NULL,
Giacenza INT NOT NULL DEFAULT 0,
ID_Categoria INT,
FOREIGN KEY (ID_Categoria) REFERENCES Categorie(ID)
ON DELETE SET NULL
);
CREATE TABLE Clienti (
ID INT AUTO_INCREMENT PRIMARY KEY,
Nome VARCHAR(50) NOT NULL,
Cognome VARCHAR(50) NOT NULL,
Email VARCHAR(100) NOT NULL UNIQUE,
Citta VARCHAR(50),
AnnoRegistrazione INT NOT NULL
);
CREATE TABLE Ordini (
ID INT AUTO_INCREMENT PRIMARY KEY,
ID_Cliente INT NOT NULL,
DataOra DATETIME NOT NULL,
Stato VARCHAR(20) NOT NULL DEFAULT 'in attesa',
FOREIGN KEY (ID_Cliente) REFERENCES Clienti(ID)
ON DELETE CASCADE
);
CREATE TABLE Dettagli_Ordine (
ID_Ordine INT NOT NULL,
ID_Prodotto INT NOT NULL,
Quantita INT NOT NULL,
PrezzoUnitario DECIMAL(8,2) NOT NULL,
PRIMARY KEY (ID_Ordine, ID_Prodotto),
FOREIGN KEY (ID_Ordine) REFERENCES Ordini(ID) ON DELETE CASCADE,
FOREIGN KEY (ID_Prodotto) REFERENCES Prodotti(ID) ON DELETE CASCADE
);
INSERT INTO Categorie (Nome, Descrizione) VALUES
('Smartphone', 'Telefoni cellulari e accessori'),
('Laptop', 'Computer portatili'),
('Audio', 'Cuffie, speaker e accessori audio'),
('Tablet', 'Tablet e accessori'),
('Accessori', 'Cavi, cover e altri accessori');
INSERT INTO Prodotti (Nome, Prezzo, Giacenza, ID_Categoria) VALUES
('iPhone 15', 999.00, 25, 1),
('Samsung Galaxy S24', 849.00, 30, 1),
('Xiaomi 13', 499.00, 40, 1),
('MacBook Air M2', 1299.00, 10, 2),
('Dell XPS 13', 999.00, 15, 2),
('Asus ZenBook 14', 749.00, 20, 2),
('AirPods Pro', 249.00, 50, 3),
('Sony WH-1000XM5', 349.00, 35, 3),
('JBL Charge 5', 179.00, 8, 3),
('iPad Air', 749.00, 18, 4),
('Samsung Galaxy Tab', 499.00, 22, 4),
('Cavo USB-C 2m', 12.00, 200, 5),
('Cover iPhone 15', 19.00, 150, 5),
('Caricatore 65W', 45.00, 0, 5),
('Webcam HD', 89.00, 0, NULL);
INSERT INTO Clienti (Nome, Cognome, Email, Citta, AnnoRegistrazione) VALUES
('Marco', 'Rossi', 'marco.rossi@mail.it', 'Milano', 2020),
('Sara', 'Bianchi', 'sara.bianchi@mail.it', 'Roma', 2021),
('Luca', 'Verdi', 'luca.verdi@mail.it', 'Torino', 2019),
('Anna', 'Ferretti', 'anna.ferretti@mail.it', 'Milano', 2022),
('Giorgio', 'Marino', 'giorgio.marino@mail.it', 'Napoli', 2021),
('Chiara', 'Russo', 'chiara.russo@mail.it', 'Roma', 2023),
('Paolo', 'Conti', 'paolo.conti@mail.it', 'Torino', 2018),
('Elena', 'Galli', 'elena.galli@mail.it', 'Firenze', 2020),
('Matteo', 'Ricci', 'matteo.ricci@mail.it', 'Milano', 2019),
('Giulia', 'Lombardi', 'giulia.lombardi@mail.it', 'Venezia', 2022);
INSERT INTO Ordini (ID_Cliente, DataOra, Stato) VALUES
(1, '2024-01-05 10:30:00', 'consegnato'),
(2, '2024-01-12 14:15:00', 'consegnato'),
(3, '2024-02-01 09:00:00', 'spedito'),
(1, '2024-02-14 16:45:00', 'spedito'),
(5, '2024-02-20 11:00:00', 'consegnato'),
(4, '2024-03-03 08:30:00', 'in attesa'),
(7, '2024-03-10 13:00:00', 'spedito'),
(8, '2024-03-15 17:20:00', 'in attesa'),
(9, '2024-03-18 10:10:00', 'consegnato'),
(10, '2024-03-20 09:45:00', 'in attesa'),
(2, '2024-03-22 15:00:00', 'spedito'),
(6, '2024-03-25 12:30:00', 'in attesa');
INSERT INTO Dettagli_Ordine (ID_Ordine, ID_Prodotto, Quantita, PrezzoUnitario) VALUES
(1, 1, 1, 999.00),
(1, 13, 1, 19.00),
(2, 7, 1, 249.00),
(3, 4, 1, 1299.00),
(3, 12, 2, 12.00),
(4, 8, 1, 349.00),
(5, 3, 2, 499.00),
(6, 2, 1, 849.00),
(6, 7, 1, 249.00),
(7, 5, 1, 999.00),
(8, 10, 1, 749.00),
(8, 12, 3, 12.00),
(9, 1, 1, 999.00),
(9, 9, 1, 179.00),
(10, 11, 1, 499.00),
(11, 6, 1, 749.00),
(11, 13, 2, 19.00),
(12, 3, 1, 499.00),
(12, 14, 1, 45.00);