Skip to content

AngeloMolinario/ProgettoBasiDiDati

Repository files navigation

BasiDiDati - Progetto Database PostgreSQL

Descrizione Progetto

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

Requisiti

  • Docker e Docker Compose installati
  • Porta 5432 (PostgreSQL) disponibile
  • Porta 5050 (pgAdmin) disponibile

Avviare il Progetto

1. Avviare i container

Dalla cartella del progetto, esegui:

docker-compose up -d

Questo comando:

  • Crea e avvia il container PostgreSQL con il database BasiDiDati
  • Esegue automaticamente gli script SQL nell'ordine corretto:
    1. script creazione.sql - Crea tabelle e domini
    2. trigger.sql - Implementa i trigger
    3. Script Popolamento.sql - Popola il database
    4. query e vista.sql - Crea viste e query
  • Avvia il container pgAdmin per l'interfaccia web

2. Verificare che i container siano in esecuzione

docker-compose ps

Dovresti vedere:

  • basididati_db (PostgreSQL) - Status: Up
  • basididati_pgadmin (pgAdmin) - Status: Up

Accedere al Database

Opzione A: pgAdmin (Interfaccia Web)

  1. Apri il browser e vai a: http://localhost:5050

  2. Login a pgAdmin:

    • Email: admin@example.com
    • Password: admin

Aggiungi manualmente il server del Db:

  1. Nel pannello sinistro, fai clic destro su Servers

  2. Seleziona Register → Server

  3. 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)
  4. Clicca "Save"

Ora potrai:

  • Navigare le tabelle
  • Eseguire query SQL
  • Visualizzare viste e trigger
  • Gestire gli utenti del database

Opzione B: Connessione diretta (Client SQL)

Se usi un client SQL (DBeaver, pgAdmin CLI, etc.):

Host: localhost
Port: 5432
Database: BasiDiDati
Username: admin
Password: password

Comandi Utili

Fermare i container

docker-compose down

Fermare e rimuovere tutti i dati

docker-compose down -v

Riavviare i container

docker-compose restart

Struttura dei File

BasiDiDati/
├── 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

Accesso ai Dati

Credenziali PostgreSQL

  • Username: admin
  • Password: password
  • Database: BasiDiDati

Credenziali pgAdmin

  • Email: admin@example.com
  • Password: admin

Autori

  • Angelo Molinario
  • Antonio Sessa
  • Massimiliano Ranauro
  • Mariano Ruocco

About

Piattaforma database completa per recensioni di prodotti. Supporta contenuti multimediali, commenti nidificati, tag, valutazioni e preferenze. Implementa trigger per validazione dati, viste analitiche e schema normalizzato. Containerizzato con Docker.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors