Questo progetto contiene uno schema di database per un sistema di gestione recensioni con contenuti multimediali. Il database supporta:
- Recensioni di prodotti (semplici o suddivise in sezioni)
- Autori e gestione dei loro profili
- Prodotti e case produttrici
- Contenuti multimediali (immagini, audio, video)
- Commenti e risposte con struttura gerarchica
- Tag e categorie per l'organizzazione
- Valutazioni e preferenze
Lo schema include:
- Domini SQL personalizzati per i tipi di dato
- Trigger per il controllo dell'integrità referenziale
- Viste per semplificare le query
- Sequenze per la gestione degli ID
- Docker e Docker Compose installati
- Porta 5432 (PostgreSQL) disponibile
- Porta 5050 (pgAdmin) disponibile
Dalla cartella del progetto, esegui:
docker-compose up -dQuesto comando:
- Crea e avvia il container PostgreSQL con il database
BasiDiDati - Esegue automaticamente gli script SQL nell'ordine corretto:
script creazione.sql- Crea tabelle e dominitrigger.sql- Implementa i triggerScript Popolamento.sql- Popola il databasequery e vista.sql- Crea viste e query
- Avvia il container pgAdmin per l'interfaccia web
docker-compose psDovresti vedere:
basididati_db(PostgreSQL) - Status: Upbasididati_pgadmin(pgAdmin) - Status: Up
-
Apri il browser e vai a: http://localhost:5050
-
Login a pgAdmin:
- Email:
admin@example.com - Password:
admin
- Email:
-
Nel pannello sinistro, fai clic destro su Servers
-
Seleziona Register → Server
-
Compila i seguenti dati:
Scheda "General":
- Name:
BasiDiDati
Scheda "Connection":
- Host name/address:
postgres - Port:
5432 - Maintenance database:
postgres - Username:
admin - Password:
password - Save password?:
✓(spuntato)
- Name:
-
Clicca "Save"
Ora potrai:
- Navigare le tabelle
- Eseguire query SQL
- Visualizzare viste e trigger
- Gestire gli utenti del database
Se usi un client SQL (DBeaver, pgAdmin CLI, etc.):
Host: localhost
Port: 5432
Database: BasiDiDati
Username: admin
Password: password
docker-compose downdocker-compose down -vdocker-compose restartBasiDiDati/
├── docker-compose.yml # Configurazione Docker Compose
├── script creazione.sql # Creazione schema e domini
├── trigger.sql # Implementazione trigger
├── Script Popolamento.sql # Dati di esempio
├── query e vista.sql # Viste e query
├── servers.yaml # Configurazione server pgAdmin
├── init-pgadmin.sh # Script inizializzazione pgAdmin
└── README.md # Questo file
- Username:
admin - Password:
password - Database:
BasiDiDati
- Email:
admin@example.com - Password:
admin
- Angelo Molinario
- Antonio Sessa
- Massimiliano Ranauro
- Mariano Ruocco