Banco de dados de exemplo - Amazon Redshift

Banco de dados de exemplo

Esta seção descreve o TICKIT, um banco de dados que os exemplos da documentação do Amazon Redshift usam.

Este pequeno banco de dados consiste em sete tabelas: duas tabelas de fatos e cinco dimensões. É possível carregar o conjunto de dados TICKIT seguindo as etapas em Etapa 4: Carregar dados do Amazon S3 para o Amazon Redshift no Guia de conceitos básicos do Amazon Redshift.

As sete tabelas do banco de dados TICKIT de exemplo e suas inter-relações.

Esse aplicativo de banco de dados de exemplo ajuda analistas a acompanhar a atividade de vendas do site fictício TICKIT, onde usuários compram e vendem ingressos online para eventos esportivos, shows e concertos. Especificamente, os analistas podem identificar o movimento dos ingressos ao longo do tempo, as taxas de sucesso para vendedores e os eventos, locais e estações mais bem vendidos. Os analistas podem usar essas informações para fornecer incentivos para compradores e vendedores que frequentam o site, para atrair novos usuários e para promover publicidade e promoções.

Por exemplo, a seguinte consulta localiza os cinco principais vendedores em San Diego com base no número de ingressos vendidos em 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)

O banco de dados usado para os exemplos neste guia contém um pequeno conjunto de dados; as duas tabelas de fatos contêm menos de 200.000 linhas e as dimensões variam de 11 linhas na tabela CATEGORY a, aproximadamente, 50.000 linhas na tabela USERS.

Especificamente, os exemplos do banco de dados neste guia demonstram os recursos chave do design de tabelas do Amazon Redshift:

  • Distribuição de dados

  • Classificação de dados

  • Compactação de colunas

Para obter informações sobre os esquemas das tabelas no banco de dados TICKIT, escolha as seguintes guias:

CATEGORY table
Nome da coluna Tipo de dados Descrição
CATID SMALLINT Chave primária, um valor de ID exclusivo para cada linha. Cada linha representa um tipo específico de evento para o qual ingressos são comprados e vendidos.
CATGROUP VARCHAR (10) Nome descritivo para um grupo de eventos, como Shows e Sports.
CATNAME VARCHAR (10) Nome descritivo curto para um tipo de evento dentro de um grupo, como Opera e Musicals.
CATDESC VARCHAR(50) Nome descritivo mais longo do tipo de evento, como Musical theatre.
DATE table
Nome da coluna Tipo de dados Descrição
DATEID SMALLINT Chave primária, um valor de ID exclusivo para cada linha. Cada linha representa um dia no ano civil.
CALDATE DATA Data do calendário, como 2008-06-24.
DAY CHAR(3) Dia de semana (forma resumida), como SA.
WEEK SMALLINT Número da semana, como 26.
MONTH CHAR(5) Nome do mês (forma resumida), como JUN.
QTR CHAR(5) Número do trimestre (1 a 4).
YEAR SMALLINT Ano de quatro dígitos (2008).
HOLIDAY BOOLEAN Bandeira que denota se o dia é um feriado público (EUA).
EVENT table
Nome da coluna Tipo de dados Descrição
EVENTID INTEGER Chave primária, um valor de ID exclusivo para cada linha. Cada linha representa um evento distinto que ocorre em um local específico e em uma hora específica.
VENUEID SMALLINT Referência de chave estrangeira para a tabela VENUE.
CATID SMALLINT Referência de chave estrangeira para a tabela CATEGORY.
DATEID SMALLINT Referência de chave estrangeira para a tabela DATE.
EVENTNAME VARCHAR (200) Nome do evento, como Hamlet ou La Traviata.
STARTTIME TIMESTAMP Data completa e hora de início do evento, como 2008-10-10 19:30:00.
VENUE table
Nome da coluna Tipo de dados Descrição
VENUEID SMALLINT Chave primária, um valor de ID exclusivo para cada linha. Cada linha representa um local específico onde os eventos ocorrem.
VENUENAME VARCHAR (100) Nome exato do local do evento, como Cleveland Browns Stadium.
VENUECITY VARCHAR (30) Nome da cidade, como Cleveland.
VENUESTATE CHAR(2) Abreviação de duas letras do estado ou da província (Estados Unidos e Canadá), como OH.
VENUESEATS INTEGER Número máximo de assentos disponíveis no local do evento, se conhecido, como 73200. Para fins de demonstração, essa coluna contém alguns valores nulos e zeros.
USERS table
Nome da coluna Tipo de dados Descrição
USERID INTEGER Chave primária, um valor de ID exclusivo para cada linha. Cada linha representa um usuário registrado (um comprador ou vendedor ou ambos) que tenha listado ou comprado ingressos para, pelo menos, um evento.
USERNAME CHAR(8) Um nome de usuário alfanumérico de 8 caracteres, como PGL08LJI.
FIRSTNAME VARCHAR (30) O primeiro nome do usuário, como Victor.
LASTNAME VARCHAR (30) O sobrenome do usuário, como Hernandez.
CITY VARCHAR (30) A cidade de residência do usuário, como Naperville.
STATE CHAR(2) O estado de residência do usuário, como GA.
EMAIL VARCHAR (100) O endereço de e-mail do usuário; essa coluna contém valores latinos aleatórios, como turpis@accumsanlaoreet.org.
PHONE CHAR(14) O número de telefone com 14 caracteres do usuário, como (818) 765-4255.
LIKESPORTS, ... BOOLEAN Uma série de 10 colunas diferentes que identifica o que usuário gosta e não gosta com os valores true e false.
LISTING table
Nome da coluna Tipo de dados Descrição
LISTID INTEGER Chave primária, um valor de ID exclusivo para cada linha. Cada linha representa uma listagem de um lote de ingressos para um evento específico.
SELLERID INTEGER Referência de chave estrangeira para a tabela USERS, identificando o usuário que está vendendo os ingressos.
EVENTID INTEGER Referência de chave estrangeira para a tabela EVENT.
DATEID SMALLINT Referência de chave estrangeira para a tabela DATE.
NUMTICKETS SMALLINT O número de ingressos disponíveis para venda, como 2 ou 20.
PRICEPERTICKET DECIMAL(8,2) O preço fixo de um ingresso individual, como 27.00 ou 206.00.
TOTALPRICE DECIMAL(8,2) O preço total para esta oferta (NUMTICKETS*PRICEPERTICKET).
LISTTIME TIMESTAMP A data e hora completas quando a oferta foi publicada, como 2008-03-18 07:19:35.
SALES table
Nome da coluna Tipo de dados Descrição
SALESID INTEGER Chave primária, um valor de ID exclusivo para cada linha. Cada linha representa uma venda de um ou mais ingressos para um evento específico, conforme oferecido na oferta específica.
LISTID INTEGER Referência de chave estrangeira para a tabela LISTING.
SELLERID INTEGER Referência de chave estrangeira para a tabela USERS (o usuário que vendeu os ingressos).
BUYERID INTEGER Referência de chave estrangeira para a tabela USERS (o usuário que comprou os ingressos).
EVENTID INTEGER Referência de chave estrangeira para a tabela EVENT.
DATEID SMALLINT Referência de chave estrangeira para a tabela DATE.
QTYSOLD SMALLINT O número de ingressos que foram vendidos, de 1 a 8. (No máximo, 8 ingressos podem ser vendidos em uma única transação.)
PRICEPAID DECIMAL(8,2) O preço total pago pelos ingressos, como 75.00 ou 488.00. O preço individual de um ingresso é PRICEPAID/QTYSOLD.
COMMISSION DECIMAL(8,2) A comissão de 15% que a empresa coleta da venda, como 11.25 ou 73.20. O vendedor recebe 85% do valor de PRICEPAID.
SALETIME TIMESTAMP A data e hora completas quando a venda foi efetivada, como 2008-05-24 06:21:47.