Beispieldatenbank - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispieldatenbank

In diesem Abschnitt wird eine Beispieldatenbank beschriebenTICKIT, die in Amazon Redshift Redshift-Dokumentationsbeispielen verwendet wird.

Diese kleine Datenbank enthält sieben Tabellen, zwei Faktentabellen und fünf Dimensionen. Sie können den TICKIT Datensatz laden, indem Sie den Schritten in Schritt 4: Daten von Amazon S3 nach Amazon Redshift laden im Amazon Redshift Getting Started Guide folgen.

Die sieben Tabellen in der TICKIT Beispieldatenbank und ihre Beziehungen zueinander.

Mit dieser Beispieldatenbankanwendung können Analysten die Verkaufsaktivitäten für die fiktive TICKIT Website verfolgen, auf der Benutzer Tickets für Sportveranstaltungen, Shows und Konzerte online kaufen und verkaufen. Analysten können damit insbesondere die Bewegungen von Tickets über die Zeit identifizieren, sowie Abschlussraten für Verkäufer und die Ereignisse, Austragungsorte und Spielzeiten ermitteln, die sich am besten verkaufen. Analysten können anhand dieser Informationen Käufern und Verkäufern auf dieser Website Anreize geben, um neue Benutzer anzuziehen und Anzeigen und Werbeaktionen zu fördern.

Die folgende Abfrage ermittelt beispielsweise die Top 5-Verkäufer in San Diego, ausgehend von der Anzahl der 2008 verkauften Tickets:

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)

Die für die Beispiele in diesem Handbuch verwendete Datenbank enthält einen kleinen Datensatz. Die beiden Faktentabellen enthalten jeweils weniger als 200.000 Zeilen, und die Dimensionen reichen von 11 Zeilen in der CATEGORY Tabelle bis zu etwa 50.000 Zeilen in der USERS Tabelle.

Die Datenbankbeispiele in diesem Handbuch sollen insbesondere zentrale Funktionen beim Entwurf von Amazon-Redshift-Tabellen demonstrieren:

  • Datenverteilung

  • Datensortierung

  • Spaltenkompression

Informationen zu den Schemas der Tabellen in der TICKIT Datenbank finden Sie auf den folgenden Registerkarten:

CATEGORY table
Spaltenname Datentyp Beschreibung
CATID SMALLINT Primärschlüssel, eine eindeutige Kennung für jede Zeile. Jede Zeile stellt eine spezifische Art von Event dar, für die Tickets gekauft und verkauft werden.
CATGROUP VARCHAR(10) Beschreibender Name für eine Gruppe von Events, beispielsweise Shows oder Sports.
CATNAME VARCHAR(10) Kurzer beschreibender Name für eine Art von Events innerhalb einer Gruppe, beispielsweise Opera oder Musicals.
CATDESC VARCHAR(50) Längerer beschreibender Name für eine Art von Events, beispielsweise Musical theatre.
DATE table
Spaltenname Datentyp Beschreibung
DATEID SMALLINT Primärschlüssel, eine eindeutige Kennung für jede Zeile. Jedes Zeile steht für einen Tag im Kalenderjahr.
CALDATE DATE Kalenderdatum, beispielsweise 2008-06-24.
DAY CHAR(3) Wochentag (abgekürzt), beispielsweise SA.
WEEK SMALLINT Nummer der Kalenderwoche, beispielsweise 26.
MONTH CHAR(5) Monatsname (abgekürzt), beispielsweise JUN.
QTR CHAR(5) Quartalsnummer (1 bis 4).
YEAR SMALLINT Das vierstellige Jahr (2008).
HOLIDAY BOOLEAN Flag zur Angabe, ob der Tag ein öffentlicher Feiertag (in den USA) ist.
EVENT table
Spaltenname Datentyp Beschreibung
EVENTID INTEGER Primärschlüssel, eine eindeutige Kennung für jede Zeile. Jede Zeile stellt ein eigenes Event dar, das an einem bestimmten Ort und zu einer bestimmten Zeit stattfindet.
VENUEID SMALLINT Fremdschlüsselverweis auf die Tabelle. VENUE
CATID SMALLINT Fremdschlüsselverweis auf die Tabelle. CATEGORY
DATEID SMALLINT Fremdschlüsselverweis auf die Tabelle. DATE
EVENTNAME VARCHAR(200) Name des Ereignisses, etwa Hamlet oder La Traviata.
STARTTIME TIMESTAMP Vollständige Angabe von Datum und Uhrzeit, beispielsweise 2008-10-10 19:30:00.
VENUE table
Spaltenname Datentyp Beschreibung
VENUEID SMALLINT Primärschlüssel, eine eindeutige Kennung für jede Zeile. Jede Zeile stellt einen eigenen Veranstaltungsort dar, an dem Events stattfinden.
VENUENAME VARCHAR(100) Exakter Name des Ortes, beispielsweise Cleveland Browns Stadium.
VENUECITY VARCHAR(30) Name des Ortes, beispielsweise Cleveland.
VENUESTATE CHAR(2) Abkürzung des Bundesstaats bzw. der Provinz (in den USA bzw. in Kanada), beispielsweise OH.
VENUESEATS INTEGER Maximale Anzahl verfügbarer Plätze an dem Veranstaltungsort (falls bekannt), beispielsweise 73200. Diese Spalte enthält zur Illustration von Sonderfällen auch Nullwerte und Nullen.
USERS table
Spaltenname Datentyp Beschreibung
USERID INTEGER Primärschlüssel, eine eindeutige Kennung für jede Zeile. Jede Zeile stellt einen registrierten Benutzer (Käufer, Verkäufer oder beides) dar, der Tickets für mindestens ein Event angeboten oder gekauft hat.
USERNAME CHAR(8) Ein 8 Zeichen langer, alphanumerischer Benutzername, beispielsweise PGL08LJI.
FIRSTNAME VARCHAR(30) Der Vorname des Benutzers, beispielsweise Victor.
LASTNAME VARCHAR(30) Der Nachname des Benutzers, beispielsweise Hernandez.
CITY VARCHAR(30) Der Heimatort Benutzers, beispielsweise Naperville.
STATE CHAR(2) Der Bundesstaat aus der Heimatanschrift des Benutzers, beispielsweise GA.
EMAIL VARCHAR(100) Die E-Mail-Adresse des Benutzers; diese Spalte enthält zufällige lateinschriftliche Werte, wie etwa turpis@accumsanlaoreet.org.
PHONE CHAR(14) Die 14 Zeichen lange Telefonnummer des Benutzers, beispielsweise (818) 765-4255.
LIKESPORTS, ... BOOLEAN Eine Reihe von 10 verschiedenen Spalten zur Angabe der Benutzerpräferenzen bei Events, mit möglichen Werten true oder false,
LISTING table
Spaltenname Datentyp Beschreibung
LISTID INTEGER Primärschlüssel, eine eindeutige Kennung für jede Zeile. Jede Zeile stellt ein Listing für ein Batch an Tickets für ein spezifisches Event dar.
SELLERID INTEGER Fremdschlüsselverweis auf die USERS Tabelle, der den Benutzer identifiziert, der die Tickets verkauft.
EVENTID INTEGER Fremdschlüsselverweis auf die Tabelle. EVENT
DATEID SMALLINT Fremdschlüsselverweis auf die Tabelle. DATE
NUMTICKETS SMALLINT Die Anzahl der zum Verkauf stehenden Tickets, beispielsweise 2 oder 20.
PRICEPERTICKET DECIMAL(8,2) Der Festpreis für ein einzelnes Ticket, beispielsweise 27.00 oder 206.00.
TOTALPRICE DECIMAL(8,2) Der Gesamtpreis für dieses Angebot (NUMTICKETS*PRICEPERTICKET).
LISTTIME TIMESTAMP Vollständige Angabe von Datum und Uhrzeit, zu der das Listing gebucht wurde, beispielsweise 2008-03-18 07:19:35.
SALES table
Spaltenname Datentyp Beschreibung
SALESID INTEGER Primärschlüssel, eine eindeutige Kennung für jede Zeile. Jede Zeile stellt eine einen Verkauf von einem oder mehreren Tickets für ein bestimmtes Event dar, wie in einem spezifischen Listing angeboten.
LISTID INTEGER Fremdschlüssel-Verweis auf die Tabelle. LISTING
SELLERID INTEGER Fremdschlüsselverweis auf die USERS Tabelle (der Benutzer, der die Tickets verkauft hat).
BUYERID INTEGER Fremdschlüsselverweis auf die USERS Tabelle (der Benutzer, der die Tickets gekauft hat).
EVENTID INTEGER Fremdschlüsselverweis auf die Tabelle. EVENT
DATEID SMALLINT Fremdschlüsselverweis auf die Tabelle. DATE
QTYSOLD SMALLINT Die Anzahl der verkauften Tickets, ein Wert zwischen 1 und 8. (Es können pro Transaktion maximal 8 Tickets verkauft werden).
PRICEPAID DECIMAL(8,2) Der Gesamtpreis, der für die Tickets bezahlt wurde, beispielsweise 75.00 oder 488.00. Der Einzelpreis eines Tickets istPRICEPAID/QTYSOLD.
COMMISSION DECIMAL(8,2) Der Betrag der 15 % Kommission, den das Geschäft aus dem Verkauf einnimmt, beispielsweise 11.25 oder 73.20. Der Verkäufer erhält 85% des PRICEPAID Wertes.
SALETIME TIMESTAMP Vollständige Angabe von Datum und Uhrzeit, zu der der Verkauf abgeschlossen wurde, beispielsweise 2008-05-24 06:21:47.