Database di esempio - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Database di esempio

Questa sezione descrive TICKIT un database di esempio utilizzato dagli esempi di documentazione di Amazon Redshift.

Questo piccolo database è composto da sette tabelle: due tabelle di fatti e cinque di dimensioni. Puoi caricare il TICKIT set di dati seguendo la procedura descritta nella Fase 4: Caricare i dati da Amazon S3 ad Amazon Redshift nella Amazon Redshift Getting Started Guide.

Le sette tabelle nel database di TICKIT esempio e le loro relazioni reciproche.

Questa applicazione di database di esempio aiuta gli analisti a tenere traccia delle attività di vendita del sito TICKIT web fittizio, dove gli utenti acquistano e vendono biglietti online per eventi sportivi, spettacoli e concerti. In particolare, gli analisti possono monitorare il movimento dei biglietti nel tempo, le percentuali di successo dei venditori e le stagioni, i luoghi e gli eventi più venduti. Gli analisti possono utilizzare queste informazioni per offrire incentivi agli acquirenti e ai venditori che visitano il sito, attirare nuovi utenti e sostenere pubblicità e promozioni.

Ad esempio, la seguente query restituisce i migliori cinque venditori di San Diego, in base al numero di biglietti venduti nel 2008:

select sellerid, username, (firstname ||' '|| lastname) as name, city, sum(qtysold) from sales, date, users where sales.sellerid = users.userid and sales.dateid = date.dateid and year = 2008 and city = 'San Diego' group by sellerid, username, name, city order by 5 desc limit 5; sellerid | username | name | city | sum ----------+----------+-------------------+-----------+----- 49977 | JJK84WTE | Julie Hanson | San Diego | 22 19750 | AAS23BDR | Charity Zimmerman | San Diego | 21 29069 | SVL81MEQ | Axel Grant | San Diego | 17 43632 | VAG08HKW | Griffin Dodson | San Diego | 16 36712 | RXT40MKU | Hiram Turner | San Diego | 14 (5 rows)

Il database utilizzato per gli esempi di questa guida contiene un piccolo set di dati; le due tabelle dei fatti contengono ciascuna meno di 200.000 righe e le dimensioni vanno da 11 righe della CATEGORY tabella a circa 50.000 righe della tabella. USERS

In particolare, gli esempi del database in questa guida dimostrano le funzionalità chiave della progettazione della tabella Amazon Redshift:

  • Distribuzione dei dati

  • Ordinamento dei dati

  • Compressione delle colonne

Per informazioni sugli schemi delle tabelle del TICKIT database, scegli le seguenti schede:

CATEGORY table
Nome colonna Tipo di dati Descrizione
CATID SMALLINT Chiave primaria, un valore ID univoco per ogni riga. Ogni riga rappresenta un tipo specifico di evento per cui i biglietti sono acquistati e venduti.
CATGROUP VARCHAR(10) Nome descrittivo per un gruppo di eventi, ad esempio Shows e Sports.
CATNAME VARCHAR(10) Breve nome descrittivo per un tipo di evento all'interno di un gruppo, ad esempio Opera e Musicals.
CATDESC VARCHAR(50) Nome descrittivo più lungo per il tipo di evento, ad esempio Musical theatre.
DATE table
Nome colonna Tipo di dati Descrizione
DATEID SMALLINT Chiave primaria, un valore ID univoco per ogni riga. Ogni riga rappresenta un giorno dell'anno di calendario.
CALDATE DATE Data di calendario, ad esempio 2008-06-24.
DAY CHAR(3) Giorno della settimana (forma breve), ad esempio SA.
WEEK SMALLINT Numero della settimana, ad esempio 26.
MONTH CHAR(5) Nome del mese (forma breve), ad esempio JUN.
QTR CHAR(5) Numero del trimestre (da 1 a 4).
YEAR SMALLINT Anno a quattro cifre (2008).
HOLIDAY BOOLEAN Il flag che indica se il giorno è festivo (Stati Uniti).
EVENT table
Nome colonna Tipo di dati Descrizione
EVENTID INTEGER Chiave primaria, un valore ID univoco per ogni riga. Ogni riga rappresenta un evento separato che si svolge in un luogo specifico in un determinato momento.
VENUEID SMALLINT Riferimento a chiave esterna alla VENUE tabella.
CATID SMALLINT Riferimento a chiave esterna alla tabella. CATEGORY
DATEID SMALLINT Riferimento a chiave esterna alla tabella. DATE
EVENTNAME VARCHAR(200) Nome dell'evento, ad esempio Hamlet o La Traviata.
STARTTIME TIMESTAMP Data completa e ora di inizio dell'evento, ad esempio 2008-10-10 19:30:00.
VENUE table
Nome colonna Tipo di dati Descrizione
VENUEID SMALLINT Chiave primaria, un valore ID univoco per ogni riga. Ogni riga rappresenta un luogo specifico in cui si svolgono gli eventi.
VENUENAME VARCHAR(100) Nome esatto della sede, ad esempio Cleveland Browns Stadium.
VENUECITY VARCHAR(30) Nome della città, ad esempio Cleveland.
VENUESTATE CHAR(2) Abbreviazione dello stato o della provincia composta da due lettere (Stati Uniti e Canada), ad esempio OH.
VENUESEATS INTEGER Numero massimo di posti a sedere disponibili presso il luogo, se noti, ad esempio 73200. A scopo dimostrativo, questa colonna contiene valori nulli e zero.
USERS table
Nome colonna Tipo di dati Descrizione
USERID INTEGER Chiave primaria, un valore ID univoco per ogni riga. Ogni riga rappresenta un utente registrato (un acquirente o un venditore o entrambi) che ha proposto o acquistato i biglietti per almeno un evento.
USERNAME CHAR(8) Un nome utente alfanumerico composto da 8 caratteri, ad esempio PGL08LJI.
FIRSTNAME VARCHAR(30) Il nome dell'utente, ad esempio Victor.
LASTNAME VARCHAR(30) Il cognome dell'utente, ad esempio Hernandez.
CITY VARCHAR(30) La città di origine dell'utente, ad esempio Naperville.
STATE CHAR(2) Il paese di origine dell'utente, ad esempio GA.
EMAIL VARCHAR(100) L'indirizzo e-mail dell'utente; questa colonna contiene valori latini casuali, ad esempio turpis@accumsanlaoreet.org.
PHONE CHAR(14) Il numero di telefono dell'utente composto da 14 caratteri, ad esempio (818) 765-4255.
LIKESPORTS, ... BOOLEAN Una serie di 10 diverse colonne che identificano i "mi piace" e i "non mi piace" dell'utente con i valori true e false.
LISTING table
Nome colonna Tipo di dati Descrizione
LISTID INTEGER Chiave primaria, un valore ID univoco per ogni riga. Ogni riga rappresenta l'elenco di un lotto di biglietti per un evento specifico.
SELLERID INTEGER Riferimento a chiave esterna alla USERS tabella, che identifica l'utente che vende i biglietti.
EVENTID INTEGER Riferimento a chiave esterna alla tabella. EVENT
DATEID SMALLINT Riferimento a chiave esterna alla tabella. DATE
NUMTICKETS SMALLINT Il numero di biglietti disponibili per la vendita, ad esempio 2 o 20.
PRICEPERTICKET DECIMAL(8,2) Il prezzo fisso di un singolo biglietto, ad esempio 27.00 o 206.00.
TOTALPRICE DECIMAL(8,2) Il prezzo totale di questa inserzione (NUMTICKETS*PRICEPERTICKET).
LISTTIME TIMESTAMP La data completa e l'ora di pubblicazione dell'elenco, ad esempio 2008-03-18 07:19:35.
SALES table
Nome colonna Tipo di dati Descrizione
SALESID INTEGER Chiave primaria, un valore ID univoco per ogni riga. Ogni riga rappresenta la vendita di uno o più biglietti per un evento specifico, come viene offerto in un elenco specifico.
LISTID INTEGER Riferimento a chiave esterna alla LISTING tabella.
SELLERID INTEGER Riferimento a chiave esterna alla USERS tabella (l'utente che ha venduto i biglietti).
BUYERID INTEGER Riferimento a chiave esterna alla USERS tabella (l'utente che ha acquistato i biglietti).
EVENTID INTEGER Riferimento a chiave esterna alla tabella. EVENT
DATEID SMALLINT Riferimento a chiave esterna alla tabella. DATE
QTYSOLD SMALLINT Il numero di biglietti venduti, da 1 a 8. È possibile vendere un massimo di 8 biglietti in un'unica transazione.
PRICEPAID DECIMAL(8,2) Il prezzo totale pagato per i biglietti, ad esempio 75.00 o 488.00. Il prezzo individuale di un biglietto èPRICEPAID/QTYSOLD.
COMMISSION DECIMAL(8,2) La commissione del 15% che l'azienda riscuote sulla vendita, ad esempio 11.25 o 73.20. Il venditore riceve l'85% del PRICEPAID valore.
SALETIME TIMESTAMP La data completa e l'ora di completamento della vendita, ad esempio 2008-05-24 06:21:47.