Base de datos de muestra
En esta sección se describe TICKIT, una base de datos de muestra que se utiliza en los ejemplos de la documentación de Amazon Redshift.
Esa base de datos pequeña consta de siete tablas: dos de hechos y cinco de dimensiones. Puede cargar el conjunto de datos de TICKIT si sigue los pasos que se indican en Paso 4: Cargar datos desde Amazon S3 a Amazon Redshift en la Guía de introducción a Amazon Redshift.
Esta aplicación de base de datos de muestra ayuda a los analistas a realizar un seguimiento de la actividad de ventas del sitio web ficticio TICKIT, en el que los usuarios compran y venden en línea tickets para eventos deportivos, espectáculos y conciertos. En particular, los analistas pueden identificar los movimientos de tickets en el tiempo, las tasas de éxito de los vendedores y los eventos, lugares y temporadas más vendidos. Los analistas pueden usar esta información para ofrecer incentivos a los compradores y vendedores que frecuentan el sitio, a fin de atraer a nuevos usuarios e impulsar la publicidad y las promociones.
Por ejemplo, la siguiente consulta encuentra los cinco vendedores principales de San Diego, en función de la cantidad de tickets vendidos 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 datos usada para los ejemplos de esta guía presenta un conjunto de datos pequeño; cada una de las dos tablas de hechos tiene menos de 200 000 filas y las dimensiones varían, de 11 filas en la tabla CATEGORY hasta, aproximadamente, 50 000 en la tabla USERS.
En particular, los ejemplos de base de datos de esta guía demuestran las características clave del diseño de tablas de Amazon Redshift:
-
Distribución de datos
-
Orden de datos
-
Compresión en columnas
Para obtener información sobre los esquemas de las tablas de la base de datos TICKIT, elija las siguientes pestañas:
- CATEGORY table
-
Nombre de la columna |
Tipo de datos |
Descripción |
CATID |
SMALLINT |
Clave primaria, un valor de ID único para cada fila. Cada fila representa un tipo de evento específico para el cual se compran y venden tickets. |
CATGROUP |
VARCHAR (10) |
Nombre descriptivo de un grupo de eventos, como Shows y Sports . |
CATNAME |
VARCHAR (10) |
Nombre descriptivo abreviado de un tipo de eventos en un grupo, como Opera y Musicals . |
CATDESC |
VARCHAR(50) |
Nombre descriptivo más largo del tipo de evento, como Musical theatre . |
- DATE table
-
Nombre de la columna |
Tipo de datos |
Descripción |
DATEID |
SMALLINT |
Clave primaria, un valor de ID único para cada fila. Cada fila representa un día del año calendario. |
CALDATE |
FECHA |
Fecha de calendario, como 2008-06-24 . |
DAY |
CHAR (3) |
Día de la semana (abreviado), como SA . |
WEEK |
SMALLINT |
Número de semana, como 26 . |
MONTH |
CHAR (5) |
Nombre del mes (abreviado), como JUN . |
QTR |
CHAR (5) |
Número de trimestre (de 1 a 4 ). |
YEAR |
SMALLINT |
Los cuatro dígitos del año (2008 ). |
HOLIDAY |
BOOLEAN |
La bandera indica si el día es un día festivo (EE. UU.). |
- EVENT table
-
Nombre de la columna |
Tipo de datos |
Descripción |
EVENTID |
INTEGER |
Clave primaria, un valor de ID único para cada fila. Cada fila representa un evento diferente que se lleva a cabo en un lugar específico y a una hora específica. |
VENUEID |
SMALLINT |
Referencia de clave externa a la tabla VENUE. |
CATID |
SMALLINT |
Referencia de clave externa a la tabla CATEGORY. |
DATEID |
SMALLINT |
Referencia de clave externa a la tabla DATE. |
EVENTNAME |
VARCHAR (200) |
Nombre del evento, como Hamlet o La Traviata . |
STARTTIME |
MARCA DE TIEMPO |
Fecha y hora de inicio del evento sin abreviar, como 2008-10-10 19:30:00 . |
- VENUE table
-
Nombre de la columna |
Tipo de datos |
Descripción |
VENUEID |
SMALLINT |
Clave primaria, un valor de ID único para cada fila. Cada fila representa un lugar específico donde se lleva a cabo un evento. |
VENUENAME |
VARCHAR (100) |
Nombre del recinto, como Cleveland Browns Stadium . |
VENUECITY |
VARCHAR (30) |
Nombre de la ciudad, como Cleveland . |
VENUESTATE |
CHAR (2) |
Abreviatura de dos letras para el estado o la provincia (Estados Unidos y Canadá), como OH . |
VENUESEATS |
INTEGER |
Cantidad máxima de asientos disponibles en el recinto, si se conoce, como 73200 . Para fines de demostración, esta columna presenta valores nulos y ceros. |
- USERS table
-
Nombre de la columna |
Tipo de datos |
Descripción |
USERID |
INTEGER |
Clave primaria, un valor de ID único para cada fila. Cada fila representa a un usuario registrado (comprador, vendedor o ambos) quien ha listado o comprado tickets para al menos un evento. |
USERNAME |
CHAR (8) |
Nombre de usuario alfanumérico de 8 caracteres, como PGL08LJI . |
FIRSTNAME |
VARCHAR (30) |
Nombre de pila del usuario, como Victor . |
LASTNAME |
VARCHAR (30) |
Apellido del usuario, como Hernandez . |
CITY |
VARCHAR (30) |
Ciudad natal del usuario, como Naperville . |
STATE |
CHAR (2) |
El estado natal del usuario, como GA . |
CORREO ELECTRÓNICO |
VARCHAR (100) |
Dirección de correo electrónico del usuario; esta columna contiene valores latinos aleatorios, como turpis@accumsanlaoreet.org . |
PHONE |
CHAR (14) |
Número de teléfono de 14 caracteres del usuario, como (818) 765-4255 . |
LIKESPORTS, ... |
BOOLEAN |
Serie de 10 columnas diferentes que identifican lo que le gusta o no le gusta al usuario, con valores true y false . |
- LISTING table
-
Nombre de la columna |
Tipo de datos |
Descripción |
LISTID |
INTEGER |
Clave primaria, un valor de ID único para cada fila. Cada fila representa la lista de un lote de tickets para un evento específico. |
SELLERID |
INTEGER |
Referencia de clave externa a la tabla USERS, que identifica al usuario que vende los tickets. |
EVENTID |
INTEGER |
Referencia de clave externa a la tabla EVENT. |
DATEID |
SMALLINT |
Referencia de clave externa a la tabla DATE. |
NUMTICKETS |
SMALLINT |
Cantidad de tickets disponibles para la venta, como 2 o 20 . |
PRICEPERTICKET |
DECIMAL (8,2) |
Precio fijo de una entrada individual, como 27.00 o 206.00 . |
TOTALPRICE |
DECIMAL (8,2) |
El precio total para este listado (NUMTICKETS*PRICEPERTICKET). |
LISTTIME |
MARCA DE TIEMPO |
Fecha y hora sin abreviar en que se publicó el listado, como 2008-03-18 07:19:35 . |
- SALES table
-
Nombre de la columna |
Tipo de datos |
Descripción |
SALESID |
INTEGER |
Clave primaria, un valor de ID único para cada fila. Cada fila representa la venta de uno o más tickets para un evento específico, según se ofrecen en un listado específico. |
LISTID |
INTEGER |
Referencia de clave externa a la tabla LISTING. |
SELLERID |
INTEGER |
Referencia de clave externa a la tabla USERS (el usuario que vendió los tickets). |
BUYERID |
INTEGER |
Referencia de clave externa a la tabla USERS (el usuario que compró los tickets). |
EVENTID |
INTEGER |
Referencia de clave externa a la tabla EVENT. |
DATEID |
SMALLINT |
Referencia de clave externa a la tabla DATE. |
QTYSOLD |
SMALLINT |
Cantidad de entradas vendidas, de 1 a 8 . (Se pueden vender un máximo de 8 tickets en una única transacción). |
PRICEPAID |
DECIMAL (8,2) |
El precio total pagado por las entradas, como 75.00 o 488.00 . El precio individual de un ticket es PRICEPAID/QTYSOLD. |
COMMISSION |
DECIMAL (8,2) |
15 % de comisión que el negocio obtiene de la venta, como 11.25 o 73.20 . El vendedor recibe el 85% del valor de PRICEPAID. |
SALETIME |
MARCA DE TIEMPO |
Fecha y hora sin abreviar en que se finalizó la venta, como 2008-05-24 06:21:47 . |