

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 範本資料庫
<a name="c_sampledb"></a>

本節說明 TICKIT，這是 Amazon Redshift 文件範例所使用的範例資料庫。

此小型資料庫包含七個資料表：兩個事實資料表和五個維度。您可以依照《Amazon Redshift 入門指南》中[步驟 4：從 Amazon S3 將資料載入 Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/rs-gsg-create-sample-db.html) 的步驟載入 TICKIT 資料集。

![TICKIT 範例資料庫中的七個資料表及其彼此的關係。](http://docs.aws.amazon.com/zh_tw/redshift/latest/dg/images/tickitdb.png)


此範例資料庫應用程式可協助對虛擬 TICKIT 網站的追蹤銷售活動之分析，使用者會在該網站中線上購買和銷售運動活動、表演和演唱會的門票。分析可特別辨識門票隨著時間的動向、賣方的成功比率以及熱賣活動、會場和季節。分析可使用此資訊來為經常造訪網站的買方和賣方提供誘因，以吸引新使用者和促使廣告和促銷。

例如，下列查詢會根據在 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)
```

在指南中用於此範例的資料庫包含小型資料集，兩個事實資料表各包含少於 200,000 個的列，在 CATEGORY 資料表中來自 11 個列的維度範圍高達約 50,000 列 (在 USERS 資料表)。

此指南中的資料庫範例特別示範 Amazon Redshift 資料表設計的主要功能：
+ 資料分佈
+ 資料排序
+ 直欄式壓縮

如需 TICKIT 資料庫中資料表結構描述的相關資訊，請選擇下列索引標籤：

------
#### [ CATEGORY table ]


| 欄名稱  | 資料類型  | 說明  | 
| --- | --- | --- | 
| CATID  | SMALLINT  | 主要索引鍵，每個列的唯一 ID 值。每個列代表購買或賣出之特定類型的活動門票。 | 
| CATGROUP  | VARCHAR(10)  | 活動群組的描述性名稱，例如 Shows 和 Sports。 | 
| CATNAME  | VARCHAR(10)  | 群組中活動類型的簡短描述性名稱，例如 Opera 和 Musicals。 | 
| CATDESC  | VARCHAR(50)  | 活動類型的較長描述性名稱，例如 Musical theatre。 | 

------
#### [ DATE table ]


| 欄名稱  | 資料類型  | 說明  | 
| --- | --- | --- | 
| DATEID  | SMALLINT  | 主要索引鍵，每個列的唯一 ID 值。每個列代表日曆年中的一天。 | 
| CALDATE  | DATE  | 日曆日期，例如 2008-06-24。 | 
| DAY  | CHAR(3)  | 一週中的一天 (短格式)，例如 SA。 | 
| WEEK  | SMALLINT  | 週編號，例如 26。 | 
| MONTH  | CHAR(5)  | 月名稱 (短格式)，例如 JUN。 | 
| QTR  | CHAR(5)  | 季編號 (1 到 4)。 | 
| YEAR  | SMALLINT  | 四位數年份 (2008)。 | 
| HOLIDAY  | BOOLEAN  | 標記表示該日是否為國定假日 (美國)。 | 

------
#### [ EVENT table ]


| 欄名稱  | 資料類型  | 說明  | 
| --- | --- | --- | 
| EVENTID  | INTEGER  | 主要索引鍵，每個列的唯一 ID 值。每個列代表個別的項目，這些活動會在特定時間在特定的會場舉辦。 | 
| VENUEID  | SMALLINT  | 外部索引鍵會參考 VENUE 資料表。 | 
| CATID  | SMALLINT  | 外部索引鍵會參考 CATEGORY 資料表。 | 
| DATEID  | SMALLINT  | 外部索引鍵會參考 DATE 資料表。 | 
| EVENTNAME  | VARCHAR(200)  | 活動名稱，例如 Hamlet 或 La Traviata。 | 
| STARTTIME  | TIMESTAMP  | 活動的完整日期和開始時間，例如 2008-10-10 19:30:00。 | 

------
#### [ VENUE table ]


| 欄名稱  | 資料類型  | 說明  | 
| --- | --- | --- | 
| VENUEID  | SMALLINT  | 主要索引鍵，每個列的唯一 ID 值。每個列代表活動舉辨的特定會場。 | 
| VENUENAME  | VARCHAR(100)  | 場所的確切名稱，例如 Cleveland Browns Stadium。 | 
| VENUECITY  | VARCHAR(30)  | 城市名稱，例如 Cleveland。 | 
| VENUESTATE  | CHAR(2)  | 兩個字母的州或省縮寫 (美國和加拿大)，例如 OH。 | 
| VENUESEATS  | INTEGER  | 會場可用座位數上限 (如果知道)，例如 73200。為達示範目的，此欄位包含一些空值和零。 | 

------
#### [ USERS table ]


| 欄名稱  | 資料類型  | 說明  | 
| --- | --- | --- | 
| USERID  | INTEGER  | 主要索引鍵，每個列的唯一 ID 值。每列代表註冊的使用者 (買方或賣方或兩者)，這些使用者已列出或購買至少一個活動的門票。 | 
| USERNAME  | CHAR(8)  | 8 字元英數使用者名稱，例如 PGL08LJI。 | 
| FIRSTNAME  | VARCHAR(30)  | 使用者的名字，例如 Victor。 | 
| LASTNAME  | VARCHAR(30)  | 使用者的姓氏，例如 Hernandez。 | 
| CITY  | VARCHAR(30)  | 使用者的住家所在城市，例如 Naperville。 | 
| STATE  | CHAR(2)  | 使用者的住家所在州，例如 GA。 | 
| EMAIL  | VARCHAR(100)  | 使用者的電子郵件地址，此欄位包含隨機 Latin 值，例如 turpis@accumsanlaoreet.org。 | 
| PHONE  | CHAR(14)  | 使用者的 14 個字元的電話號碼，例如 (818) 765-4255。 | 
| LIKESPORTS, ... | BOOLEAN  | 一系列 10 個不同欄位，您可透過 true 和 false 值識別使用者的喜好。 | 

------
#### [ LISTING table ]


| 欄名稱  | 資料類型  | 說明  | 
| --- | --- | --- | 
| LISTID  | INTEGER  | 主要索引鍵，每個列的唯一 ID 值。每個列代表一組特定活動之門票的清單。 | 
| SELLERID  | INTEGER  | 外部索引鍵會參考 USERS 資料表，識別正在銷售門票的使用者。 | 
| EVENTID  | INTEGER  | 外部索引鍵會參考 EVENT 資料表。 | 
| DATEID  | SMALLINT  | 外部索引鍵會參考 DATE 資料表。 | 
| NUMTICKETS  | SMALLINT  | 可供銷售的門票數，例如 2 或 20。 | 
| PRICEPERTICKET  | DECIMAL(8,2)  | 個別門票的定價，例如 27.00 或 206.00。 | 
| TOTALPRICE  | DECIMAL(8,2)  | 此傳單的總價 (NUMTICKETS\*PRICEPERTICKET)。 | 
| LISTTIME  | TIMESTAMP  | 張貼此傳單的完整日期和時間，例如 2008-03-18 07:19:35。 | 

------
#### [ SALES table ]


| 欄名稱  | 資料類型  | 說明  | 
| --- | --- | --- | 
| SALESID  | INTEGER  | 主要索引鍵，每個列的唯一 ID 值。每個列代表特定活動一或多個門票的銷售 (如特定清單中所提供)。 | 
| LISTID  | INTEGER  | 外部索引鍵會參考 LISTING 資料表。 | 
| SELLERID  | INTEGER  | 外部索引鍵會參考 USERS 資料表 (銷售門票的使用者)。 | 
| BUYERID  | INTEGER  | 外部索引鍵會參考 USERS 資料表 (購買門票的使用者)。 | 
| EVENTID  | INTEGER  | 外部索引鍵會參考 EVENT 資料表。 | 
| DATEID  | SMALLINT  | 外部索引鍵會參考 DATE 資料表。 | 
| QTYSOLD  | SMALLINT  | 門票銷售數，從 1 到 8。(您最多可以在單一交易中銷售 8 張門票。)  | 
| PRICEPAID  | DECIMAL(8,2)  | 為門票支付的總價，例如 75.00 或 488.00。門票的個別價格為 PRICEPAID/QTYSOLD。 | 
| COMMISSION  | DECIMAL(8,2)  | 公司會從銷售中收取 15% 佣金，例如 11.25 或 73.20。賣方可獲得 PRICEPAID 值的 85%。 | 
| SALETIME  | TIMESTAMP  | 銷售結束的完整日期和時間，例如 2008-05-24 06:21:47。 | 

------