MathJax

MathJax-2

MathJax-3

Google Code Prettify

置頂入手筆記

EnterproseDB Quickstart — 快速入門筆記

由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~ 這篇筆記以 資料庫安裝完畢後的快速使用 為目標,基本紀錄登入使用的範例:

2017年7月25日 星期二

在 PostgreSQL 產生累積次數分配圖表的 SQL 語法

一般敘述性統計,常見到兩種圖,次數分佈圖和累計次數分佈圖。繼上次的次數分佈的 SQL 筆記之後,這次換成累計次數分佈(Cumulative Frequency Distribution Chart)了。

2017年7月23日 星期日

在 Oracle XE 設定連線到 EDB Postgres 的 ODBC DBLink

很多人好像很「想要」從 Oracle 資料庫用 DBLink 連到其他異質資料庫,例如 EDB 的 PostgreSQL 企業版。雖然以前已經有幾篇很清楚的文章了,但是過程中還是會遇到諸多麻煩 ... 這裡還是把坑踩一下好了...

2017年7月21日 星期五

PostgreSQL 9.5 的 JSON 格式操作筆記

PostgreSQL 在 9.2 版之後,有支援 JSON 檔案的存取與操作的功能,而且能把裡面的 Key-Value 拿來與其他表格欄位一同操作。


在使用上,能達到以下事項:
  • 欄位能用 JSON 資料型態,以及內容的操作
  • 欄位能用 JSONB 資料型態,以及內容的操作 --- 對應到 MongoDB 的 BSON
  • 一般表格以 JSON 格式匯出資料庫
  • JSON 檔匯入資料庫的普通表格
  • JSON 檔案的 Foreign Data Wrapper 套件(類似內建的 file_fdw
  • 對於 MongoDB 提供的 Foreign Data Wrapper 套件,mongo_fdw

2017年7月10日 星期一

在 PostgreSQL 產生次數分配圖表的 SQL 語法

在 Excel 或 Libreoffice Calc 中,可以用資料畫次數分配長條圖(Frequency Distribution Chart);那在 PostgreSQL 要怎麼用 SQL 語法達成?

2017年7月4日 星期二

在 PostgreSQL 裡面產生樞紐分析表

樞紐分析表(Pivot Table)是什麼?在 Excel 裡面有提供這樣的東西,看似是被廣泛的使用的基本工具。

依照維基百科的說明,樞紐分析表是一種用來呈現資料性質總結(如計數,加總,平均或其他 Aggregation )的工具。

而一個樞紐表包含三個部份:

  1. 垂直欄位:這個欄位中,包含相異的品項。作為樞紐表的 Y 軸
  2. 水平欄位:和垂直欄位一樣,也包含相異的品項,但內容會挑跟垂直欄位不相同的項目來用。作為樞紐表的 X 軸
  3. X/Y 張開的表格之間:為要呈現的總結資訊。也就是,固定 (X, Y) 條件下,所得的 Aggregation 資訊(例如,固定 (X,Y) 條件後的資料筆數,或是固定 (X, Y) 條件下,其他欄位資料的平均值)
  4. (選擇性)對 X 軸 / Y 軸作小計


對應到關聯式表格的結構。樞紐表把兩欄用「品項」當成資料內容的關聯式表格欄位,挑出相異品項的清單,當作樞紐表的 X/Y 欄位陳列的「標籤」(例如,可以用 enum 型態來列舉資料內容的欄位,或是紀錄每日的日期/月份的欄位,都可以當成樞紐表 X/Y 軸的標籤);而中間的內容,就是對照 (X, Y) 值當成條件的 Aggregation 結果。

要從關聯式表格產生樞紐分析表,便要組織 SQL 查詢,呈現結果,再使用樞紐表組織工具處理

  • 準備作為 X 軸的欄位資料
  • 準備作為 Y 軸的欄位資料
  • 準備用來作總結的資料


以上的關係搞清楚之後,樞紐表能不能用 PostgreSQL 資料庫的 SQL 語法完成?

2017年7月3日 星期一

cygwin 裡面安裝 python3-matplotlib 和 python3-scipy

在 Windows 裡面有一款類比一般 GNU/Linux 裡面 Shell 與相關工具的程式,叫做 Cygwin,是由 Red Hat 維護的。儘管 Windows 10 有提供 Linux Shell(Windows Subsystem for Linux),聽說可以裝 Debian 或 Ubuntu 的套件,不過我還是習慣用 Cygwin~(其實,我更習慣 Slackware~)

Cygwin 裡面已經有提供 OpenBLAS 與針對 OpenBLAS 編譯的 LAPACK 函式庫,可以用 CPU 處理多執行緒數值線性代數運算,以及針對這兩個東西編譯的 Python2/Python3 是值運算模組 Numpy。用這些就可以作數值運算了。

不過一般都會再裝 ScipyMatplotlib 來用;要在 Cygwin 裡面用 Matplotlib 與 Scipy,就得用 setuptools 的 easy_installpip 來裝;但是安裝過程有一些套件相依性要處理,也是有一點麻煩步驟的。