接著進入一個全新的篇章,介紹一下資料庫。其中資料分析基礎能力之一是可以從資料庫拿取資料,因此我們需要認識資料庫是什麼東東XD 這次我們介紹的資料庫是 Postgres 哦!
資料庫可以想成資料的檔案抽屜,我們可以對這些資料有:
資料庫大致上可以分為兩種類型:
關聯式資料庫(Relational Database Management System,縮寫為 RDBMS)
關聯式資料庫,是由資料表(Table)、紀錄(Record)、欄位(Field)以及資料(Data)所構成的。資料表示資料存在資料庫的形式,一筆一筆橫向的資料的是記錄,直向表示一筆資料的不同屬性,稱為是欄位。
非關係型資料庫(Not Only SQL,縮寫為 NoSQL)
關聯式資料庫非常普及,但這不是唯一存取資料的方式。不是以 SQL 的這種表格方式檢索資料庫,統稱為 NoSQL 資料庫。
參考資料
PostgreSQL 是美國加州伯克萊大學資訊科學系基於 POSTGRES 4.2 所研發的物件關聯式資料庫管理系統(ORDBMS, Object-Relational Database Management System)。POSTGRES 中的許多重要概念成為日後一些商用資料庫系統重要的一部份。
PostgreSQL 由伯克萊大學公開其原始碼所誕生,它支援了大多數的標準 SQL 語法,並提供許多先進的功能:
同時,PostgreSQL 也支援讓使用者能以自己的方式進行擴充。比如透過新增:
並且基於自由許可證,任何人都能夠以任何目的,免費地使用、修改、與散布 PostgreSQL,不論是個人使用、商業用途還是學術研究。
參考來源
可以自動動手在電腦裝裝看 postgres 
安裝網址 
新手教學
| Type | Name | Memory Length | Descriptione | Range | 
|---|---|---|---|---|
| number | decimal | 可變長 | 指定的精度,精確 | 小數點前131072 位 ~ 小數點後16383 位 | 
| number | numeric | 可變長 | 指定的精度,精確 | 小數點前131072 位 ~ 小數點後16383 位 | 
| number | real | 4 | 可變精度,不精確 | 6 位十進制數字精度 | 
| number | integer | 4 | 常用的整數 | -2147483648 ~+2147483647 | 
| number | smallint | 2 | 小範圍整數 | -32768 ~ +32767 | 
| number | bigint | 8 | 大範圍整數 | -9223372036854775808 ~ +9223372036854775807 | 
| character | character varying(n), varchar(n) | 變動長度,有長度限制 | ||
| character | character(n), char(n) | 固定長度,不足補空白 | ||
| character | text | 變長,無長度限制 | ||
| time | timestamp | 8 | 日期和時間,有時區 | 4713BC ~ 294276AD | 
| time | timestamp | 8 | 日期和時間,無時區 | 4713BC ~ 294276AD | 
| time | date | 4 | 只用於日期 | 4713BC ~ 5874897AD | 
| time | time | 8 | 日期和時間,無時區 | 00:00:00 ~ 24:00:00 | 
| time | time | 12 | 日期和時間,有時區 | 00:00:00+1459 ~ 24:00:00-1459 | 
| time | interval | 16 | 日期和時間,有時區 | -178000000 years ~ +178000000 years | 
| boolean | boolean | 1 | true/false 第三種"unknown"(未知)狀態,用NULL 表示。 | 
想像一個資料庫是一個大型的倉庫(資料庫),倉庫裡面有房間(綱要),每個房間有不同的主人(權限)
而每個房間又可以擺設不同的物品,例如床、衣櫃等等,對照是我們說的表格
倉庫的主人,就是系統管理員,對於每個物品有所有的管理權,可以說是 super user
CREATE SCHEMA myschema
CREATE TABLE IF NOT EXISTS myschema.train(
    customer_id character varying(100) PRIMARY KEY,
    sex character varying(1) NOT NULL,
    height numeric(5,2) NOT NULL,
    weight numeric(5,2) NOT NULL
);
