Exemple de base de données - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exemple de base de données

Cette section décrit TICKIT un exemple de base de données utilisé dans les exemples de documentation Amazon Redshift.

Cette petite base de données se compose de sept tables : deux tables de faits et cinq dimensions. Vous pouvez charger le TICKIT jeu de données en suivant les étapes de l'étape 4 : Charger les données d'Amazon S3 vers Amazon Redshift dans le guide de démarrage Amazon Redshift.

Database schema diagram showing relationships between DATE, SALES, EVENT, USERS, LISTING, CATEGORY, and VENUE tables.

Cet exemple d'application de base de données aide les analystes à suivre les ventes d'un site TICKIT Web fictif, où les utilisateurs achètent et vendent des billets en ligne pour des événements sportifs, des spectacles et des concerts. En particulier, les analystes peuvent identifier le mouvement des billets au fil du temps, les taux de réussite des vendeurs et les événements, lieux et saisons qui obtiennent les meilleurs résultats de vente. Les analystes peuvent utiliser ces informations pour offrir des primes aux acheteurs et aux vendeurs qui fréquentent le site, pour attirer de nouveaux utilisateurs et pour attirer promotions et publicités.

Par exemple, la requête suivante recherche les cinq meilleurs vendeurs à San Diego, en fonction du nombre de billets vendus en 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)

La base de données utilisée pour les exemples de ce guide contient un petit ensemble de données ; les deux tables de faits contiennent chacune moins de 200 000 lignes, et les dimensions vont de 11 lignes dans le CATEGORY tableau à environ 50 000 lignes dans le USERS tableau.

En particulier, les exemples de base de données de ce guide illustrent les fonctions clés de la conception de tables Amazon Redshift :

  • Distribution de données

  • Tri de données

  • Compression en colonnes

Pour plus d'informations sur les schémas des tables de la TICKIT base de données, sélectionnez les onglets suivants :

CATEGORY table
Nom de la colonne Type de données Description
CATID SMALLINT Clé primaire, valeur d'ID unique pour chaque ligne. Chaque ligne représente un type spécifique d'événement pour lequel les billets sont achetés et vendus.
CATGROUP VARCHAR(10) Nom descriptif d'un groupe d'événements, tel que Shows et Sports.
CATNAME VARCHAR(10) Nom descriptif bref d'un type d'événement au sein d'un groupe, tel que Opera et Musicals.
CATDESC VARCHAR(50) Nom descriptif plus long du type d'événement, tel que Musical theatre.
DATE table
Nom de la colonne Type de données Description
DATEID SMALLINT Clé primaire, valeur d'ID unique pour chaque ligne. Chaque ligne correspond à un jour de l'année calendaire.
CALDATE DATE Date calendaire, telle que 2008-06-24.
DAY CHAR(3) Jour de semaine (forme courte), tel que SA.
WEEK SMALLINT Numéro de semaine, tel que 26.
MONTH CHAR(5) Nom du mois (forme courte), tel que JUN.
QTR CHAR(5) Numéro de trimestre (1 à 4).
YEAR SMALLINT Année sur quatre chiffres (2008).
HOLIDAY BOOLEAN Indicateur qui indique si le jour est un jour férié (USA).
EVENT table
Nom de la colonne Type de données Description
EVENTID INTEGER Clé primaire, valeur d'ID unique pour chaque ligne. Chaque ligne représente un événement distinct qui a lieu dans un lieu donné à un moment donné.
VENUEID SMALLINT Référence par clé étrangère à la table. VENUE
CATID SMALLINT Référence par clé étrangère à la table. CATEGORY
DATEID SMALLINT Référence par clé étrangère à la table. DATE
EVENTNAME VARCHAR(200) Nom de l'événement, tel que Hamlet ou La Traviata.
STARTTIME TIMESTAMP Date complète et heure de début de l'événement, telles que 2008-10-10 19:30:00.
VENUE table
Nom de la colonne Type de données Description
VENUEID SMALLINT Clé primaire, valeur d'ID unique pour chaque ligne. Chaque ligne représente un lieu spécifique où les événements ont lieu.
VENUENAME VARCHAR(100) Nom exact du lieu, tel que Cleveland Browns Stadium.
VENUECITY VARCHAR(30) Nom de la ville, tel que Cleveland.
VENUESTATE CHAR(2) État ou province abrégé sur deux lettres (États-Unis et Canada), tel que OH.
VENUESEATS INTEGER Nombre maximal de places disponibles sur le site, s'il est connu, tel que 73200. A des fins de démonstration, cette colonne contient certaines valeurs null ou égales à zéro (0).
USERS table
Nom de la colonne Type de données Description
USERID INTEGER Clé primaire, valeur d'ID unique pour chaque ligne. Chaque ligne représente un utilisateur enregistré (un acheteur ou un vendeur, ou les deux) qui a proposé ou acheté des billets pour au moins un événement.
USERNAME CHAR(8) Nom d'utilisateur alphanumérique de 8 caractères, tel que PGL08LJI.
FIRSTNAME VARCHAR(30) Prénom de l'utilisateur, tel que Victor.
LASTNAME VARCHAR(30) Nom de l'utilisateur, tel que Hernandez.
CITY VARCHAR(30) Ville de l'utilisateur, telle que Naperville.
STATE CHAR(2) État de l'utilisateur, tel que GA.
EMAIL VARCHAR(100) Adresse électronique de l'utilisateur ; cette colonne contient des valeurs latines aléatoires, telles que turpis@accumsanlaoreet.org.
PHONE CHAR(14) Numéro de téléphone sur 14 caractères de l'utilisateur, tel que (818) 765-4255.
LIKESPORTS, ... BOOLEAN Série de 10 colonnes différentes qui identifient ce que l'utilisateur aime et n'aime pas à l'aide des valeurs true et false.
LISTING table
Nom de la colonne Type de données Description
LISTID INTEGER Clé primaire, valeur d'ID unique pour chaque ligne. Chaque ligne représente une liste d'un lot de places pour un événement spécifique.
SELLERID INTEGER Référence en clé étrangère à la USERS table, identifiant l'utilisateur qui vend les billets.
EVENTID INTEGER Référence par clé étrangère à la table. EVENT
DATEID SMALLINT Référence par clé étrangère à la table. DATE
NUMTICKETS SMALLINT Nombre de billets disponibles à la vente, tel que 2 ou 20.
PRICEPERTICKET DECIMAL(8,2) Prix fixe d'un billet individuel, tel que 27.00 ou 206.00.
TOTALPRICE DECIMAL(8,2) Le prix total de cette annonce (NUMTICKETS*PRICEPERTICKET).
LISTTIME TIMESTAMP Date complète et heure auxquelles la liste a été publiée, telles que 2008-03-18 07:19:35.
SALES table
Nom de la colonne Type de données Description
SALESID INTEGER Clé primaire, valeur d'ID unique pour chaque ligne. Chaque ligne représente une vente d'une ou de plusieurs places pour un événement spécifique, comme proposé dans une liste spécifique.
LISTID INTEGER Référence par clé étrangère à la table. LISTING
SELLERID INTEGER Référence en clé étrangère à la USERS table (utilisateur qui a vendu les billets).
BUYERID INTEGER Référence en clé étrangère à la USERS table (utilisateur qui a acheté les billets).
EVENTID INTEGER Référence par clé étrangère à la table. EVENT
DATEID SMALLINT Référence par clé étrangère à la table. DATE
QTYSOLD SMALLINT Nombre de billets vendus, de 1 à 8. (Un maximum de 8 billets peut être vendu dans une même transaction).
PRICEPAID DECIMAL(8,2) Prix total payé pour les billets, tel que 75.00 ou 488.00. Le prix individuel d'un billet est dePRICEPAID/QTYSOLD.
COMMISSION DECIMAL(8,2) Commission de 15 % que l'entreprise collecte sur la vente, telle que 11.25 ou 73.20. Le vendeur reçoit 85 % de la PRICEPAID valeur.
SALETIME TIMESTAMP Date complète et heure auxquelles la vente a été réalisée, telles que 2008-05-24 06:21:47.