15. 4.1 Why use a database?
(R Data Import/Export)
Database management systems (DBMSs) and, in particular, relational DBMSs (RDBMSs) are
designed to do all of these things well. Their strengths are
1. To provide fast access to selected parts of large databases.
2. Powerful ways to summarize and cross-tabulate columns in databases.
3. Store data in more organized ways than the rectangular grid model of spreadsheets and
R data frames.
4. Concurrent access from multiple clients running on multiple hosts while enforcing
security constraints on access to the data.
5. Ability to act as a server to a wide range of clients.
大規模データ扱うならリレーショナルデータベース使おう。
高速にアクセスできる。集計が早い。Rと同じデータ形式。
複数ユーザからの一貫したアクセスが可能。
多くのクライアントに対応している。
34. デモ:スタークエリーでデータ取得
? スタークエリー???スタースキーマでデータを
取得するためのSQLのお作法。
#e.g.チャネル別の売上金額を分析する。 チャネルと売上金額の合計
SELECT を取得する。
C.CHANNEL_MEI, CHANNEL表と売上表を結
SUM(URIAGE_KIN) 合
FROM CHANNEL表のチャネルIDと
URIAGE AS U, 売上表のチャネルIDが同じ
CHANNEL AS C ものに限り、結合する。
WHERE
C.CHANNEL_ID = U.CHANNEL_ID GROUP BY 句はSUMを行う
GROUP 単位を記述する。この場合
BY C.CHANNEL_MEI; はチャネル名でグループ化
する。
35. 定型の分析はビュー化しよう
? ビュー???分析のSQLを保存する。保存
後は普通のSQLと同様に使用できる。
#e.g.月別世代別の売上金額を分析をビューにする。
CREATE VIEW NENGETSU_SEDAI_ANALYSIS AS
SELECT
CONCAT(J.NEN, J.TSUKI) AS NENGETSU,
K.SEDAI AS SEDAI, チャネル別分析という
SUM(U.URIAGE_KIN) AS URIAGE_KIN ビューを作成する。
FROM
URIAGE U, KOKYAKU K, JIKAN J
WHERE 取得するデータのSQLを記
K.KOKYAKU_ID = U.KOKYAKU_ID AND 述する。
J.HI = U.HI
GROUP BY NENGETSU, SEDAI; 作成後は普通にSQLの中に
埋め込める。
SELECT * FROM NENGETSU_SEDAI_ANALYSIS;