Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッション資料)

オラクルエンジニア通信
オラクルエンジニア通信オラクルエンジニア通信
Oracle Database Cloud と
無料の純正開発ツールで
開発効率を改善しよう!
日本オラクル株式会社
クラウド・テクノロジー事業統括
プリンシパルエンジニア
柴田竜典
2016年7月18日
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
以下の事項は、弊社の一般的な製品の方向性に関する概要を説明する
ものです。また、情報提供を唯一の目的とするものであり、いかなる
契約にも組み込むことはできません。以下の事項は、マテリアルやコード、
機能を提供することをコミットメント(確約)するものではないため、購買
決定を行う際の判断材料になさらないで下さい。オラクル製品に関して
記載されている機能の開発、リリースおよび時期については、弊社の
裁量により決定されます。
2
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. Application Express
61%
2. Oracle SQL Developer
26%
3
3. Oracle Live SQL
13%
アジェンダ
DBセットアップはクラウドで速くなった。DBシステム開発はどうだ?
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Application Express
4
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Application Express (APEX) とは
• レスポンシブWebアプリケーション用の無料IDE + サーバー
• Webブラウザだけで開発可能
• 2004年にリリース。最新バージョンは5.0
• Oracle Database のサポート契約に
Application Express のサポートも含まれる
5
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
これだけで9割作れる、4種類のページ・タイプ
参照系ページ・タイプ 入力系ページ・タイプ
1行のデータに特化 レポート
• 1行のデータを1枚のページに
縦に表示したもの
• 例えば “シバタツの履歴書”
DMLフォーム
• 1行のデータを1ページのフォームに
したもの
• いわゆる普通のWebフォーム
まとめて表形式 対話モード・レポート
• Excelのフィルターのように、
様々な条件などを指定できる表
• 例えば “応募者一覧”
表形式フォーム
• Excelのように、表形式で
まとめて入力できるフォーム
6
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
まとめて表形式の参照系ページ
7
対話モード・レポート
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1行のデータに特化した参照系ページ
8
レポート
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1行のデータに特化した入力系ページ
9
DMLフォーム
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
まとめて表形式の入力系ページ
10
表形式フォーム
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• オンプレミスの
開発環境など
○ サポートが受けられる
○ アクセス制限が
比較的容易
× Application Express の
セットアップが必要
• Oracle Database Cloud
Schema Service
○ サポートが受けられる
○ 外部公開が容易
○ Application Express の
セットアップ不要
○ DBA管理不要
○ 容量5GB / 転送量30GBで
月額175米ドルから
11
• http://apex.oracle.com/
◎ Database ライセンス /
サブスクリプション不要
○ 外部公開が容易
○ Application Express の
セットアップ不要
○ DBA管理不要
× サポートなし
× 試使用目的のみ。
本番データ / 機密情報の
保存禁止
Application Express をどこで動かすか
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
apex.oracle.comにアカウントを作る
1. https://apex.oracle.com/jp/ へ
2. 「はじめよう」をクリック
3. フリー・ワークスペース
4. アプリケーション開発
• ワークスペース: DBインスタンスのようなもの
• スキーマ: デフォルト・スキーマ
12
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• アプリケーション・ビルダー
– Webアプリケーションを作る
• チーム開発
– マイルストン管理
– バグ・トラッキング
– フィードバック
13
• SQLワークショップ
– オブジェクト・ブラウザ
– SQLコマンドライン
– SQLスクリプト実行
– RESTfulサービス
• パッケージ・アプリケーション
– サード・パーティ・
アプリケーションの
インストールと管理
– App Store みたいなもの
Application Express の4つのタブ
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
アプリケーションを作ってみよう
1. アプリケーション・ビルダー
2. 作成
3. アプリケーションのタイプ「デスクトップ」
• 認証スキーム
– Application Express アカウント
– シングル・サインオン (SSO)
– データベース・アカウント
– 認証なし
14
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
対話モード・レポートを作ってみよう
参照系ページ・タイプ 入力系ページ・タイプ
1行のデータに特化 レポート
• 1行のデータを1枚のページに
縦に表示したもの
• 例えば “シバタツの履歴書”
DMLフォーム
• 1行のデータを1ページのフォームに
したもの
• いわゆる普通のWebフォーム
まとめて表形式 対話モード・レポート
• Excelのフィルターのように、
様々な条件などを指定できる表
• 例えば “応募者一覧”
表形式フォーム
• Excelのように、表形式で
まとめて入力できるフォーム
15
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
対話モード・レポートを作ってみよう (1/2)
1. ページの作成
2. レポート
3. 対話モード・レポート
• リージョン: ページ内のレポートや
グラフなどの大きな単位
• アイテム: テキスト・フィールドなどの
リージョン内の細々したもの
16
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• 1つの表からなら、
表示列をクリックして選ぶだけ
• 「SQL問合せ」を選べば結合可能
• クエリー・ビルダーもある
17
対話モード・レポートを作ってみよう (2/2)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 18
対話モード・レポートの完成
鉛筆アイコンをクリックすると
単独レポート表示
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
列の選択 SELECT … の列名を減らせる
フィルタ WHERE句が書ける。
他の列の参照や、
関数も使える
フラッシュバック 過去のある時点の
データを表示
レポートの保存 変更した見た目を、
名前を付けて保存 / 共有
ダウンロード CSV, HTML, PDFなどで
ダウンロード
19
強力な対話機能
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• 列でフィルタ
例)入社日が2014年12月1日以下
• 行でフィルタ
例)マネジャーより社員番号が小さく、
入社から1年以上
20
強力な対話機能: フィルタ
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
ソート: ORDER BY コントロール・ブレイク:
PARTITION BY
21
強力な対話機能: 書式 (1/4)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
ハイライト 計算: 疑似列
22
強力な対話機能: 書式 (2/4)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
集計 チャート
23
強力な対話機能: 書式 (3/4)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
グループ化: GROUP BY ピボット
24
強力な対話機能: 書式 (3/4)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
強力な対話機能まとめ
• ユーザーが書式の変更を行える
• 変更した書式は保存できる
• 変更した書式でダウロードできる
• 開発者は複数書式を事前に用意できる
• ユーザーは用意された書式をプルダウンから選ぶことができる
25
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
単独レポートを作ってみよう
参照系ページ・タイプ 入力系ページ・タイプ
1行のデータに特化 レポート
• 1行のデータを1枚のページに
縦に表示したもの
• 例えば “シバタツの履歴書”
DMLフォーム
• 1行のデータを1ページのフォームに
したもの
• いわゆる普通のWebフォーム
まとめて表形式 対話モード・レポート
• Excelのフィルターのように、
様々な条件などを指定できる表
• 例えば “応募者一覧”
表形式フォーム
• Excelのように、表形式で
まとめて入力できるフォーム
26
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
対話モード・レポートでも
単独レポートは自動で作られるが、
もっと凝ったものにしたい
1. ページの作成
2. レポート
3. クラシック・レポート
4. ページ名: Sample Classic Report
5. リージョン名: 同上
27
単独レポートを作ってみよう (1/2)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
select EMP.EMPNO as EMPNO,
EMP.ENAME as ENAME,
EMP.JOB as JOB,
EMP.MGR as MGR,
EMP.HIREDATE as HIREDATE,
EMP.SAL as SAL,
EMP.DEPTNO as DEPTNO,
DEPT.DNAME as DNAME,
DEPT.LOC as LOC
from DEPT DEPT,
EMP EMP
where EMP.DEPTNO=DEPT.DEPTNO
先ほどの対話モード・レポートと
似ているけど、
もっとシンプルなレポートが
できた
28
単独レポートを作ってみよう (2/2)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. Sample Classic Report
リージョンを右クリック >
ページ・アイテムの作成
2. 指定 > 名前: P3_EMPNO
3. 指定 > タイプ: 非表示
4. Sample Classic Report
リージョンをクリック
5. where EMP.DEPTNO = … の後に
and EMP.EMPNO = :P3_EMPNO を
追加
29
指定したEMPNOの社員情報だけを縦に表示したい
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 対話モード・レポート
2. 左ペインから、列 > EMPNO
3. 指定 > タイプ: リンク
4. リンク > ターゲット
5. ターゲット > ページ: 先ほど作っ
た Sample Classic Report
6. アイテムの設定:
P3_EMPNO = #EMPNO#
7. リンク・テキスト:
#EMPNO#
鉛筆アイコンの外し方
1. Sample Classic Report 下の
「属性」フォルダをクリック
2. リンク > リンク列: リンク列の除外
30
リンク元の編集
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• URLの読み方
– 19530: アプリケーションID
– 3: ページID
– 41192208312: セッションID
– 空: リクエスト・キーワード
– NO: No Debug
– RP: Reset Pagination
– P3_EMPNO: パラメーター・キー
– 7369: パラメーター値
• ゴミのないきれいなURL
/pls/apex/f?p=19530:3:::
NO:RP:P3_EMPNO:7369
31
編集後のリンク元ページ
7369にリンクされているURL:
/pls/apex/f?p=19530:3:
4119220831279::NO:RP:P3_EMPNO:7369
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
リンク先に社員番号7369の情報だけ表示された
32
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. Sample Classic Report > 属性
2. 外観 > テンプレート:
Value Attribute Pairs - Column
33
表示を縦に変更する
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
単独レポートの発展のさせかた
• 列名を分かりやすいものに変更するなどの見た目の修正
• 1枚のページに複数のレポート・リージョンや
グラフ・リージョンを設置する
(対話モード・レポートは1枚のページに1個まで)
• 横向きの対話モード・レポートでは
URLなどの長い情報は表示させず、
表示される列を限定し、
単独レポートですべてを表示する
34
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Sample Classic Report ページの
Content Body を右クリック >
リージョンの作成
• 指定 > タイトル: メンバー一覧
• タイプ: クラシック・レポート
• SQL問合せ:
select EMP.EMPNO as EMPNO,
EMP.ENAME as ENAME
from EMP EMP
where EMP.MGR = :P3_EMPNO
order by EMPNO
35
その社員のチーム・メンバーを追加設置する
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
レポート作成に便利なSQLテクニック: LISTAGG
select EMP.EMPNO, EMP.ENAME, DIR.DNAME
from EMP,
(select MGR,
listagg(ENAME, ', ')
within group (order by ENAME) DNAME
from EMP
group by MGR
) DIR
where EMP.EMPNO = DIR.MGR
order by EMP.ENAME
36
1:Nのデータを、指定した区切り文字でつなげる
EMPNO ENAME DNAME
7698 BLAKE ALLEN, JAMES, MARTIN,
TURNER, WARD
7782 CLARK MILLER
7902 FORD SMITH
7566 JONES FORD, SCOTT
7839 KING BLAKE, CLARK, JONES
7788 SCOTT ADAMS
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
レポート作成に便利なSQLテクニック: PARTITION BY
select EMP.EMPNO, EMP.ENAME,
DIR.ENAME LAST_DIRECT
from EMP,
(select MGR, ENAME, HIREDATE,
max(HIREDATE)
over (partition by MGR) MAX_HIREDATE
from EMP
) DIR
where DIR.HIREDATE = DIR.MAX_HIREDATE
and EMP.EMPNO = DIR.MGR
order by EMP.ENAME
37
1:Nのデータの中から、最新ものだけを表示する
EMPNO ENAME LAST_DIRECT
7698 BLAKE JAMES
7782 CLARK MILLER
7902 FORD SMITH
7566 JONES SCOTT
7839 KING CLARK
7788 SCOTT ADAMS
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
DMLフォームを作ってみよう
参照系ページ・タイプ 入力系ページ・タイプ
1行のデータに特化 レポート
• 1行のデータを1枚のページに
縦に表示したもの
• 例えば “シバタツの履歴書”
DMLフォーム
• 1行のデータを1ページのフォームに
したもの
• いわゆる普通のWebフォーム
まとめて表形式 対話モード・レポート
• Excelのフィルターのように、
様々な条件などを指定できる表
• 例えば “応募者一覧”
表形式フォーム
• Excelのように、表形式で
まとめて入力できるフォーム
38
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. ページの作成
2. フォーム
3. 表またはビューのフォーム
4. 表/ビューの名前: EMP (表)
5. ページ名: Sample DML Form
6. 主キーのタイプ:
主キー列の選択
7. 主キー列1: EMPNO
8. ソース・タイプ:
既存のトリガー
9. 列の選択: 全列
10. 送信時にここにブランチ: 2
取消し時にここにブランチ: 2
39
DMLフォームを作ってみよう (1/2)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
DMLフォームを作ってみよう (2/2)
40
できたことはできたが、
DEPTNOを直接入力したくない
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
選択リスト
1. P4_DEPTNOを選択
2. 指定 > タイプ: 選択リスト
3. LOV > タイプ: SQL問合せ
4. SQL問合せ:
1列目に選択リストに表示したい値
2列目に実際に入力したい値
select DNAME, DEPTNO
from DEPT
order by DNAME
41
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
選択項目がたくさんあるあるとき: ポップアップLOV
1. P4_DEPTNOを選択
2. 指定 > タイプ: ポップアップLOV
3. LOV > タイプ: SQL問合せ
4. SQL問合せ:
1列目にポップアップLOVに表示したい値
2列目に実際に入力したい値
select DNAME, DEPTNO
from DEPT
order by DNAME
42
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
7. 動作 > アクション:
このアプリケーションの
別ページにリダイレクト > 2
1. 対話モード・レポート
2. 画面下からボタン > Text
3. 追加先: Sample Interactive
Report > 対話モード・
レポートの検索バーの右
4. 新規ボタンをクリック
5. ボタン名: CREATE
6. ラベル: 作成
43
作成ボタンを作ってみよう
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 単独レポート
2. 画面下からボタン > Text
3. 追加先: Sample Classic Report >
Edit
4. 新規ボタンをクリック
5. ボタン名: EDIT
6. ラベル: 編集
7. 動作 > アクション:
このアプリケーションの
別ページにリダイレクト > 4
8. アイテムの設定:
P4_EMPNO = &P3_EMPNO.
44
編集ボタンを作ってみよう
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
表形式フォームを作ってみよう
参照系ページ・タイプ 入力系ページ・タイプ
1行のデータに特化 レポート
• 1行のデータを1枚のページに
縦に表示したもの
• 例えば “シバタツの履歴書”
DMLフォーム
• 1行のデータを1ページのフォームに
したもの
• いわゆる普通のWebフォーム
まとめて表形式 対話モード・レポート
• Excelのフィルターのように、
様々な条件などを指定できる表
• 例えば “応募者一覧”
表形式フォーム
• Excelのように、表形式で
まとめて入力できるフォーム
45
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. ページの作成
2. フォーム
3. 表形式フォーム
4. 表/ビューの名前: EMP (表)
5. 更新可能な列: 全列
主キーは選択不可能
6. ページ名: Sample Tabular Form
46
表形式フォームを作ってみよう
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Webアプリケーションがほぼ完成
参照系ページ・タイプ 入力系ページ・タイプ
1行のデータに特化 レポート
• 1行のデータを1枚のページに
縦に表示したもの
• 例えば “シバタツの履歴書”
DMLフォーム
• 1行のデータを1ページのフォームに
したもの
• いわゆる普通のWebフォーム
まとめて表形式 対話モード・レポート
• Excelのフィルターのように、
様々な条件などを指定できる表
• 例えば “応募者一覧”
表形式フォーム
• Excelのように、表形式で
まとめて入力できるフォーム
47
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. 共有コンポーネント
2. セキュリティ > 認可スキーム
3. 作成 > 最初から
4. 名前: 従業員
(EMP表に載っているユーザーのみ)
5. スキーム・タイプ:
EXISTS SQL 問合せ
6. SQL問合せ
select 1
from EMP
where ENAME =
replace(
upper(V('APP_USER')),
'@EXAMPLE.COM', ''
)
• ユーザー名は V('APP_USER')
• 大文字小文字区別なしに
認証される
48
“ほぼ” の残り: 認可スキームの作成
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. ページ2: Sample Interactive
Report
2. セキュリティ > 認可スキーム:
従業員
• 開発者としてログイン
していても権限確認されるが、
開発者は、なぜ拒否されたかが
分かる
49
“ほぼ” の残り: 認可スキームの割当て
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. SQLワークショップ
2. RESTfulサービス
3. oracle.example.hr
4. employees/{id} > GET
5. ソース
select * from emp
where empno = :id
6. テスト > バインド変数の設定
7. :ID = 7782 > テスト
50
発展: RESTfulサービス
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Application Express
2日で開発者ガイド
for Oracle Database 12c
• Application Express
アプリケーション・ビルダー・
ユーザーズ・ガイド
for Oracle Database 12c
51
もっと詳しく知りたい
http://apex.world/
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle SQL Developer
52
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle SQL Developer とは
• Oracle Database / Oracle NoSQL Database /
Oracle TimesTen 用の無料 GUI IDE
• Windows, Mac, Linux, Unix 対応
• 2006年にリリース。最新バージョンは4.1.3
• 全世界で400万人以上のユーザー
• Oracle Database のサポート契約に
SQL Developer のサポートも含まれる
53
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Database Cloud Schema Service につなごう
• TCP/22もTCP/1521も
開いていない Schema Service でも、
REST経由でオブジェクト・
ブラウザが使える
• オンプレミスDBの表を
カートに経由で Schema Service に
デプロイすることで、
データ・ローディングできる
54
クラウド接続
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Database as a Service につなごう
• Database as a Service の
TCP/1521はデフォルトでは
開いていないので、
TCP/22 (SSH) につないで
ポート転送する
55
SSHポート転送
TCP/22 TCP/1521
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
踏み台を必要とする環境でつなごう
• Oracle Database サーバーが
別セグメントにあるなどの理由で
踏み台が必要な環境では、
踏み台でSSHポート転送する
56
SSHポート転送
TCP/22 TCP/1521
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 57
オブジェクト・ブラウザ
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 58
参照している表とまとめてER図を自動生成 / GUI参照
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• 構文補完 (Ctrl + Space) • 1クリック実行計画 (F10)
• 1クリック自動トレース (F6)
59
SQL Developer でSQLを書くメリット
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• ユーザーが入力したSQLの履歴
– 表示 > SQL履歴
(Ctrl + ↓: 戻る / Ctrl + ↑: 進む)
• SQL Developer が発行した
SQLのログ
– 表示 > ログ > 文
60
履歴の強化
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Git / Subversionとの連携 • PL/SQLのステップ実行
61
IDEらしい機能
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
SELECT E.LOC,
E.DNAME,
E.DEPTNO,
F.DEPTNO,
F.COMM,
F.SAL,
F.HIREDATE,
F.MGR,
F.JOB,
F.ENAME,
F.EMPNO
FROM EMP F,
DEPT E
WHERE E.DEPTNO = F.DEPTNO;
62
ワークシートにEMP表とDEPT表をドラッグ&ドロップ
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
その状態でクエリー・ビルダーを開くと
63
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
SET SQLFORMAT CSV
SELECT e.empno, e.ename, …
"EMPNO","ENAME","DNAME"
7369,"SMITH","RESEARCH"
7499,"ALLEN","SALES"
7521,"WARD","SALES"
7566,"JONES","RESEARCH"
7654,"MARTIN","SALES"
7698,"BLAKE","SALES"
7782,"CLARK","ACCOUNTING"
7788,"SCOTT","RESEARCH"
7839,"KING","ACCOUNTING"
…
SET SQLFORMAT JSON
{"items":[{"empno":7369,"ename":"SMITH","dn
ame":"RESEARCH"},{"empno":7499,"ename":"ALL
EN","dname":"SALES"} … ]}
SET SQLFORMAT XML
<?xml version='1.0' encoding='UTF8' ?>
<RESULTS>
<ROW>
<COLUMN NAME="EMPNO"><![CDATA[7369]]>
</COLUMN>
<COLUMN NAME="ENAME"><![CDATA[SMITH]]
></COLUMN>
…
64
出力フォーマットの変更
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• 表を右クリック >
エクスポート
• エクスポート時にWHERE可能
• 表を右クリック >
データのインポート
65
CSVやXLSXでのエクスポート & インポート
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• 表を右クリック >
クイックDDL >
クリップボードに保存
• 索引 / 制約含めてDDLを生成
-------------------------------------------
-- DDL for Table EMP
-------------------------------------------
CREATE TABLE "SCOTT"."EMP"
( "EMPNO" NUMBER(4,0),
"ENAME" VARCHAR2(10 BYTE),
"JOB" VARCHAR2(9 BYTE),
"MGR" NUMBER(4,0),
"HIREDATE" DATE,
"SAL" NUMBER(7,2),
"COMM" NUMBER(7,2),
"DEPTNO" NUMBER(2,0)
) SEGMENT CREATION IMMEDIATE
…
66
クイックDDL
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• AWRの Complete List of SQL Text
から単純にコピペ
SELECT dbin.instance_number, dbin.db_name, dbin.instance_name,
dbin.host_name, dbin.version, CASE WHEN s1.startup_time =
s2.startup_time THEN 0 ELSE 1 END as bounce, CAST(s1.end_interval_time
AS DATE) as begin_time, CAST(s2.end_interval_time AS DATE) as
end_time, ROUND((cast( (case when s2.end_interval_time >
s1.end_interval_time then s2.end_interval_time else
s1.end_interval_time end) as date) - cast(s1.end_interval_time as
date)) * 86400) as int_secs, CASE WHEN (s1.status <> 0 OR s2.status <>
0) THEN 1 ELSE 0 END as err_detect, round( greatest( (extract(day from
s2.flush_elapsed) * 86400) + (extract(hour from s2.flush_elapsed) *
3600) + (extract(minute from s2.flush_elapsed) * 60) + extract(second
from s2.flush_elapsed), (extract(day from s1.flush_elapsed) * 86400) +
(extract(hour from s1.flush_elapsed) * 3600) + (extract(minute from
s1.flush_elapsed) * 60) + extract(second from s1.flush_elapsed), 0 ))
as max_flush_secs FROM WRM$_SNAPSHOT s1 , WRM$_DATABASE_INSTANCE dbin
, WRM$_SNAPSHOT s2 WHERE s1.dbid = :dbid AND s2.dbid = :dbid AND
s1.instance_number = s2.instance_number AND dbin.instance_number =
s1.instance_number AND s1.snap_id = :bid AND s2.snap_id = :eid AND
dbin.dbid = s1.dbid AND dbin.startup_time = s1.startup_time and
dbin.instance_number = :inst
• ワークシートにペーストして
右クリック > 書式 (Ctrl + F7)
SELECT dbin.instance_number,
dbin.db_name,
dbin.instance_name,
dbin.host_name,
dbin.version,
CASE
WHEN s1.startup_time = s2.startup_time
THEN 0
ELSE 1
END AS bounce,
CAST(s1.end_interval_time AS DATE) AS begin_time,
CAST(s2.end_interval_time AS DATE) AS end_time,
ROUND((CAST( (
CASE
WHEN s2.end_interval_time > s1.end_interval_time
THEN s2.end_interval_time
ELSE s1.end_interval_time
END) AS DATE) - CAST(s1.end_interval_time AS DATE)) * 86400) AS
int_secs,
……
67
書式整形
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
オブジェクト・ブラウズ
しながらSQLを書きたい
EMPタブを右クリック >
New Document Tab Group
68
ドキュメント・タブ・グループ
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• ファイル > Data Modeler
> インポート >
データ・ディクショナリ
• 新規ファイル
表示 > Data Modeler >
ブラウザ >
設計 [1] を右クリック > 新規設計
• 保存
ファイル > Data Modeler >
保存
Ctrl + S では保存されない
• オブジェクトが多すぎるときはSubViewを
作成する
69
Data Modeler: SQL↔ER図相互変換モデラー (1/2)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• 表オブジェクトを右クリック >
DDLプレビュー
• Oracle Database への反映
表オブジェクトを右クリック >
データ・ディクショナリの同期
• ネーミング規約と設定と適用
– ブラウザ >
Untitled_1 を右クリック >
プロパティ > ネーミング標準
– 表を右クリック >
ネーミング・ルール
70
Data Modeler: SQL↔ER図相互変換モデラー (2/2)
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• 表示 > DBA
• 管理者権限のあるユーザー
(SYSTEMやSYS)でつなぐこと
71
DBAパネル
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
インスタンス・ビューア
72
DBAパネル > データベース・ステータス > DBインスタンス
• インスタンス・ビューア
A. ライセンス不要
B. 1秒更新。履歴保存なし
C. CPU / IO / ネットワークなどの
待機イベントがカテゴリーでは分かる
D. ドリルダウンできない
• Enterprise Manager
A. Diagnostic Pack 必要
B. 30秒更新。履歴保存あり
1秒更新もリアルタイムSQL監視で可能
C. 待機イベントが具体的に分かる
D. ドリルダウンできる
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
でも、「やっぱりCUIが好き」というあなたへ
73
SQLcl
Early Adopter 版 配布中
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Oracle Live SQL
74
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
Oracle Live SQL とは
• SQL学習用途向けに
Oracle Database が何の準備なしに
無料で使用できるWebサービス
• コミュニティが作成したSQLを検索できる
• 自分の作成したSQLを共有できる
• 2015年10月にリリース
• Application Express で作られている
75
https://livesql.oracle.com/
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• 「range list partition」と入力
• インクリメンタル・サーチで
「range list partition」に
関連するSQLが表示される
76
あのSQLってどうやって書くんだっけ?
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 77
Composite Range-List Partitioning Example
パーティションのDDL
誰がいつ作ったか
補足のコメント
次のSQL文。
ここではINSERTしている
次のSQL文。
ここではUSER_TAB_PARTITIONSを確認している
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 78
Run in Live SQL を押してみよう
• Oracle SSO でログイン後に
別ウインドウが開くので、
Run Script ボタンをクリック
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• 左ペインのSchemaを見ると、
パーティション表のサンプルが
自分のスキーマにできている
• 表などのオブジェクトと
データは
ログアウトすると消える
• データは10MBまで
使用率は SQL Session > Utilization
79
Schemaをクリックすると
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. SQL Session > Previous Session
2. Session = In Use の
最新のセッションを
View Session
3. Re-Run
4. Drop all DB Objects and SQL
History in Current Session を
チェックして、作成する
オブジェクトを事前に削除
• 少し変更して再実行したい
80
再実行
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Saveボタンをクリック
• 公開設定をPrivate / Unlisted
から選べる
• UnlistedにしたSQLは
URLを知っている人だけに
限定公開できる
• My Scripts に保存される
81
修正したものを保存したい
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. Home
2. 「emp dept」と入力して
Code Library をクリック
3. Run Script
4. SQL Worksheet
5. LISTAGGのサンプルを入力
6. Run
82
今日学んだSQLを実際に試してみよう
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
• Save
• セッション単位で保存される
ため、EMP表 / DEPT表作成から
保存されている
• 複数回SELECTすると
複数回実行で保存される
• Remove Duplicates
83
今日学んだSQLを保存しておこう
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
1. Application Express
レスポンシブ
Webアプリケーション用の
無料IDE + サーバー
2. Oracle SQL Developer
Oracle Database ほか用の
無料 GUI IDE
84
4. Oracle Live SQL
SQL学習用途向けに
Oracle Database が無料で
使用できるWebサービス
まとめ
DBセットアップはクラウドで速くなった。DBシステム開発はどうだ?
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 85
Happy SQL Life!
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
どれだけカンタンに
環境を作成できるんだろう・・・
使い勝手を試してみたい!
使うために必要な設定
を確認したい!
どんなツールが
あるんだろう・・・ トライアルのお申し込みサイトはコチラ
トライアルのお申し込みサイト
- 上記サイトより、ご利用したいクラウドサービスを選択し、お申し込み頂けます。
- Oracle PaaS/IaaSの各サービスは「プラットフォーム(PaaS/IaaS)」項目をご参照ください
Database Cloud
Database Backup
Java Cloud
BI Cloud
Documents Cloud 等々
 詳細なお申込み方法はFAQにてご案内しております
以下手順にて申し込みしたい該当サービスのFAQをご参照ください
- https://faq.oracle.co.jp/app/home へアクセス
- 検索キーワードに [オラクル クラウド トライアル] を入力
お申込みの流れ
お申し込みは数ステップでカンタン!30日間お試し放題!!
Oracleプロファイルの
ご登録
トライアルサブスクリプション
のサインアップ
トライアル環境への
アクセス
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 87
Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッション資料)
1 of 88

Recommended

Oracle Cloud Platform - クラクドにおける 新たなデータベース開発 by
Oracle Cloud Platform - クラクドにおける新たなデータベース開発Oracle Cloud Platform - クラクドにおける新たなデータベース開発
Oracle Cloud Platform - クラクドにおける 新たなデータベース開発オラクルエンジニア通信
642 views61 slides
Oracle Application Express:概要のご紹介 by
Oracle Application Express:概要のご紹介Oracle Application Express:概要のご紹介
Oracle Application Express:概要のご紹介オラクルエンジニア通信
41.6K views12 slides
脱Excelで部門のデータ管理業務を 効率化するデータ活用クラウド by
脱Excelで部門のデータ管理業務を効率化するデータ活用クラウド脱Excelで部門のデータ管理業務を効率化するデータ活用クラウド
脱Excelで部門のデータ管理業務を 効率化するデータ活用クラウドオラクルエンジニア通信
2.6K views69 slides
20160916 ビッグデータシンポジウム オラクル公開資料 by
20160916 ビッグデータシンポジウム オラクル公開資料20160916 ビッグデータシンポジウム オラクル公開資料
20160916 ビッグデータシンポジウム オラクル公開資料オラクルエンジニア通信
869 views43 slides
Oracle Data Miner Tutorial 01 by
Oracle Data Miner Tutorial 01Oracle Data Miner Tutorial 01
Oracle Data Miner Tutorial 01オラクルエンジニア通信
1.5K views9 slides
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み by
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組み
3年間の情報漏洩事件からみるデータ保護対策の勘所 ~ データ・セキュリティ、考え方とその仕組みオラクルエンジニア通信
4.8K views61 slides

More Related Content

What's hot

【2016年3月時点】クラウド型 BI だからできる新たな情報活用方法 by
【2016年3月時点】クラウド型 BI だからできる新たな情報活用方法【2016年3月時点】クラウド型 BI だからできる新たな情報活用方法
【2016年3月時点】クラウド型 BI だからできる新たな情報活用方法オラクルエンジニア通信
550 views33 slides
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~ by
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~オラクルエンジニア通信
3.1K views93 slides
Oracle Advanced Analytics 概要 by
Oracle Advanced Analytics 概要Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要オラクルエンジニア通信
3.6K views42 slides
20160323 道玄坂LT祭り オラクル資料 by
20160323 道玄坂LT祭り オラクル資料20160323 道玄坂LT祭り オラクル資料
20160323 道玄坂LT祭り オラクル資料オラクルエンジニア通信
1.4K views12 slides
Oracle R Enterprise のセットアップ by
Oracle R Enterprise のセットアップOracle R Enterprise のセットアップ
Oracle R Enterprise のセットアップオラクルエンジニア通信
1.4K views115 slides
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016] by
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]オラクルエンジニア通信
654 views80 slides

What's hot(20)

オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~ by オラクルエンジニア通信
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016] by オラクルエンジニア通信
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
オラクルGO!話題の位置情報アプリをクラウドで簡単に作ってみる [Oracle Cloud Developer Day 2016] by オラクルエンジニア通信
オラクルGO!話題の位置情報アプリをクラウドで簡単に作ってみる [Oracle Cloud Developer Day 2016]オラクルGO!話題の位置情報アプリをクラウドで簡単に作ってみる [Oracle Cloud Developer Day 2016]
オラクルGO!話題の位置情報アプリをクラウドで簡単に作ってみる [Oracle Cloud Developer Day 2016]
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016] by オラクルエンジニア通信
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]
クラウド慎重派も納得!“社内パブリッククラウド”でセキュリティとコスト削減を両立 [Oracle Cloud Days Tokyo 2016] by オラクルエンジニア通信
クラウド慎重派も納得!“社内パブリッククラウド”でセキュリティとコスト削減を両立 [Oracle Cloud Days Tokyo 2016]クラウド慎重派も納得!“社内パブリッククラウド”でセキュリティとコスト削減を両立 [Oracle Cloud Days Tokyo 2016]
クラウド慎重派も納得!“社内パブリッククラウド”でセキュリティとコスト削減を両立 [Oracle Cloud Days Tokyo 2016]
【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を by オラクルエンジニア通信
【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を
【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス by オラクルエンジニア通信
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス
ITアーキテクトのためのOracle Cloud Platform設計・構築入門 [Oracle Cloud Days Tokyo 2016] by オラクルエンジニア通信
ITアーキテクトのためのOracle Cloud Platform設計・構築入門 [Oracle Cloud Days Tokyo 2016]ITアーキテクトのためのOracle Cloud Platform設計・構築入門 [Oracle Cloud Days Tokyo 2016]
ITアーキテクトのためのOracle Cloud Platform設計・構築入門 [Oracle Cloud Days Tokyo 2016]
[Modern Cloud Day Tokyo 2019] 【ビジネスをさらに加速させる!!】Oracle Cloud を活用したデータドリブン ユースケ... by オラクルエンジニア通信
[Modern Cloud Day Tokyo 2019] 【ビジネスをさらに加速させる!!】Oracle Cloud を活用したデータドリブン ユースケ...[Modern Cloud Day Tokyo 2019] 【ビジネスをさらに加速させる!!】Oracle Cloud を活用したデータドリブン ユースケ...
[Modern Cloud Day Tokyo 2019] 【ビジネスをさらに加速させる!!】Oracle Cloud を活用したデータドリブン ユースケ...

Viewers also liked

電子国土Part2 by
電子国土Part2電子国土Part2
電子国土Part2Inoshachu, NPO
2.3K views31 slides
FOSS4G KOREA 2012参加報告 by
FOSS4G KOREA 2012参加報告FOSS4G KOREA 2012参加報告
FOSS4G KOREA 2012参加報告Kosuke Asahi
885 views17 slides
電子国土を使って観光マップを作成してみる by
電子国土を使って観光マップを作成してみる電子国土を使って観光マップを作成してみる
電子国土を使って観光マップを作成してみるInoshachu, NPO
2.6K views24 slides
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門 by
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門Hideo Harada
8.1K views50 slides
FOSS4G 2013 Osaka karaoke LT 課題スライド by
FOSS4G 2013 Osaka karaoke LT 課題スライドFOSS4G 2013 Osaka karaoke LT 課題スライド
FOSS4G 2013 Osaka karaoke LT 課題スライドKosuke Asahi
1K views17 slides
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様) by
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)OSgeo Japan
2.4K views13 slides

Viewers also liked(20)

FOSS4G KOREA 2012参加報告 by Kosuke Asahi
FOSS4G KOREA 2012参加報告FOSS4G KOREA 2012参加報告
FOSS4G KOREA 2012参加報告
Kosuke Asahi885 views
電子国土を使って観光マップを作成してみる by Inoshachu, NPO
電子国土を使って観光マップを作成してみる電子国土を使って観光マップを作成してみる
電子国土を使って観光マップを作成してみる
Inoshachu, NPO2.6K views
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門 by Hideo Harada
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
Hideo Harada8.1K views
FOSS4G 2013 Osaka karaoke LT 課題スライド by Kosuke Asahi
FOSS4G 2013 Osaka karaoke LT 課題スライドFOSS4G 2013 Osaka karaoke LT 課題スライド
FOSS4G 2013 Osaka karaoke LT 課題スライド
Kosuke Asahi1K views
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様) by OSgeo Japan
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)
OSgeo Japan2.4K views
20120126 セミナー 資料 by scratch160
20120126 セミナー 資料20120126 セミナー 資料
20120126 セミナー 資料
scratch1602.9K views
FOSS4Gで地理空間情報もかんたん by Kosuke Asahi
FOSS4Gで地理空間情報もかんたんFOSS4Gで地理空間情報もかんたん
FOSS4Gで地理空間情報もかんたん
Kosuke Asahi2.4K views
大規模タイル画像を生成した話((独)農研機構 寺元郁博様) by OSgeo Japan
大規模タイル画像を生成した話((独)農研機構 寺元郁博様)大規模タイル画像を生成した話((独)農研機構 寺元郁博様)
大規模タイル画像を生成した話((独)農研機構 寺元郁博様)
OSgeo Japan3.8K views
オープンソースの 地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年 by KenichiSAKURAI
オープンソースの地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年オープンソースの地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年
オープンソースの 地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年
KenichiSAKURAI1.1K views
Map server入門 - FOSS4G 2012 Hokkaido by Hideo Harada
Map server入門 - FOSS4G 2012 HokkaidoMap server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 Hokkaido
Hideo Harada15.7K views
20分で語るFOSS4Gの10年 by Toru Mori
20分で語るFOSS4Gの10年20分で語るFOSS4Gの10年
20分で語るFOSS4Gの10年
Toru Mori1.7K views
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb by Koichiro Sumi
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorbRuby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Koichiro Sumi5K views
Foss4 g2014pd xreport by Toru Mori
Foss4 g2014pd xreportFoss4 g2014pd xreport
Foss4 g2014pd xreport
Toru Mori926 views
Application insights で行ってみよう by Kazushi Kamegawa
Application insights で行ってみようApplication insights で行ってみよう
Application insights で行ってみよう
Kazushi Kamegawa7.4K views
090226hatena Media Guide 2009 Spring by Mitsuki Tanaka
090226hatena Media Guide 2009 Spring090226hatena Media Guide 2009 Spring
090226hatena Media Guide 2009 Spring
Mitsuki Tanaka1.3K views
Surface RT活用研究(.NETラボ勉強会 2013/5/25) by Tomokazu Kizawa
Surface RT活用研究(.NETラボ勉強会 2013/5/25)Surface RT活用研究(.NETラボ勉強会 2013/5/25)
Surface RT活用研究(.NETラボ勉強会 2013/5/25)
Tomokazu Kizawa6K views
JavaScript GIS ライブラリ turf.js 入門 by Takahiro Kamada
JavaScript GIS ライブラリ turf.js 入門JavaScript GIS ライブラリ turf.js 入門
JavaScript GIS ライブラリ turf.js 入門
Takahiro Kamada8K views

Similar to Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッション資料)

20180424 Oracle APEX Overview - はじめの一歩 by
20180424 Oracle APEX Overview - はじめの一歩20180424 Oracle APEX Overview - はじめの一歩
20180424 Oracle APEX Overview - はじめの一歩Miyuki Ishiwata
437 views29 slides
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11) by
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)オラクルエンジニア通信
2.7K views75 slides
Oracle Database Cloud Serviceを活用した ビジネスに役立つデータ利活用のススメ by
Oracle Database Cloud Serviceを活用したビジネスに役立つデータ利活用のススメOracle Database Cloud Serviceを活用したビジネスに役立つデータ利活用のススメ
Oracle Database Cloud Serviceを活用した ビジネスに役立つデータ利活用のススメオラクルエンジニア通信
813 views18 slides
2018/4/24 APEX MeetUp #2 APEX はじめの一歩 by
2018/4/24 APEX MeetUp #2 APEX はじめの一歩2018/4/24 APEX MeetUp #2 APEX はじめの一歩
2018/4/24 APEX MeetUp #2 APEX はじめの一歩Miyuki Ishiwata
152 views27 slides
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada... by
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...オラクルエンジニア通信
1.7K views98 slides
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016] by
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]オラクルエンジニア通信
821 views39 slides

Similar to Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッション資料) (20)

20180424 Oracle APEX Overview - はじめの一歩 by Miyuki Ishiwata
20180424 Oracle APEX Overview - はじめの一歩20180424 Oracle APEX Overview - はじめの一歩
20180424 Oracle APEX Overview - はじめの一歩
Miyuki Ishiwata437 views
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11) by オラクルエンジニア通信
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)
2018/4/24 APEX MeetUp #2 APEX はじめの一歩 by Miyuki Ishiwata
2018/4/24 APEX MeetUp #2 APEX はじめの一歩2018/4/24 APEX MeetUp #2 APEX はじめの一歩
2018/4/24 APEX MeetUp #2 APEX はじめの一歩
Miyuki Ishiwata152 views
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada... by オラクルエンジニア通信
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016] by オラクルエンジニア通信
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
デモとディスカッションで体験するOracle DBトラブル対応 by 歩 柴田
デモとディスカッションで体験するOracle DBトラブル対応デモとディスカッションで体験するOracle DBトラブル対応
デモとディスカッションで体験するOracle DBトラブル対応
歩 柴田4.4K views
Pythonで入門するApache Spark at PyCon2016 by Tatsuya Atsumi
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
Tatsuya Atsumi5.8K views
Apache Impalaパフォーマンスチューニング #dbts2018 by Cloudera Japan
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018
Cloudera Japan4.9K views
Intalio Cloud Workshop by Daisuke Sugai
Intalio Cloud Workshop Intalio Cloud Workshop
Intalio Cloud Workshop
Daisuke Sugai10K views
Terraformで始めるInfrastructure as Code by Takahisa Iwamoto
Terraformで始めるInfrastructure as CodeTerraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as Code
Takahisa Iwamoto4.8K views
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法 by Kazuki Nakajima
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
Kazuki Nakajima1.1K views
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント by SolarisJP
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントOracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
SolarisJP4.4K views
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介 by OSSラボ株式会社
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
momentum紹介資料【中文】 by Jim Zhang
momentum紹介資料【中文】momentum紹介資料【中文】
momentum紹介資料【中文】
Jim Zhang545 views

More from オラクルエンジニア通信

Oracle Cloud Infrastructure:2023年5月度サービス・アップデート by
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートオラクルエンジニア通信
137 views56 slides
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート by
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートオラクルエンジニア通信
124 views96 slides
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート by
Oracle Cloud Infrastructure:2023年3月度サービス・アップデートOracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデートオラクルエンジニア通信
60 views83 slides
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート by
Oracle Cloud Infrastructure:2023年2月度サービス・アップデートOracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデートオラクルエンジニア通信
184 views72 slides
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート by
Oracle Cloud Infrastructure:2023年1月度サービス・アップデートOracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデートオラクルエンジニア通信
56 views57 slides
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート by
Oracle Cloud Infrastructure:2022年12月度サービス・アップデートOracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデートオラクルエンジニア通信
106 views57 slides

More from オラクルエンジニア通信(20)

Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日) by オラクルエンジニア通信
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日) by オラクルエンジニア通信
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)
あなたのクラウドは大丈夫?NRI実務者が教えるセキュリティの傾向と対策 (Oracle Cloudウェビナーシリーズ: 2021年11月24日)

Oracle Database Cloud と無料の純正開発ツールで開発効率を改善しよう!(db tech showcase 2016 Oracle セッション資料)

  • 1. Oracle Database Cloud と 無料の純正開発ツールで 開発効率を改善しよう! 日本オラクル株式会社 クラウド・テクノロジー事業統括 プリンシパルエンジニア 柴田竜典 2016年7月18日 Copyright © 2016, Oracle and/or its affiliates. All rights reserved. |
  • 2. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 以下の事項は、弊社の一般的な製品の方向性に関する概要を説明する ものです。また、情報提供を唯一の目的とするものであり、いかなる 契約にも組み込むことはできません。以下の事項は、マテリアルやコード、 機能を提供することをコミットメント(確約)するものではないため、購買 決定を行う際の判断材料になさらないで下さい。オラクル製品に関して 記載されている機能の開発、リリースおよび時期については、弊社の 裁量により決定されます。 2 OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。 文中の社名、商品名等は各社の商標または登録商標である場合があります。
  • 3. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. Application Express 61% 2. Oracle SQL Developer 26% 3 3. Oracle Live SQL 13% アジェンダ DBセットアップはクラウドで速くなった。DBシステム開発はどうだ?
  • 4. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Application Express 4
  • 5. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle Application Express (APEX) とは • レスポンシブWebアプリケーション用の無料IDE + サーバー • Webブラウザだけで開発可能 • 2004年にリリース。最新バージョンは5.0 • Oracle Database のサポート契約に Application Express のサポートも含まれる 5
  • 6. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | これだけで9割作れる、4種類のページ・タイプ 参照系ページ・タイプ 入力系ページ・タイプ 1行のデータに特化 レポート • 1行のデータを1枚のページに 縦に表示したもの • 例えば “シバタツの履歴書” DMLフォーム • 1行のデータを1ページのフォームに したもの • いわゆる普通のWebフォーム まとめて表形式 対話モード・レポート • Excelのフィルターのように、 様々な条件などを指定できる表 • 例えば “応募者一覧” 表形式フォーム • Excelのように、表形式で まとめて入力できるフォーム 6
  • 7. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | まとめて表形式の参照系ページ 7 対話モード・レポート
  • 8. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1行のデータに特化した参照系ページ 8 レポート
  • 9. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1行のデータに特化した入力系ページ 9 DMLフォーム
  • 10. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | まとめて表形式の入力系ページ 10 表形式フォーム
  • 11. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • オンプレミスの 開発環境など ○ サポートが受けられる ○ アクセス制限が 比較的容易 × Application Express の セットアップが必要 • Oracle Database Cloud Schema Service ○ サポートが受けられる ○ 外部公開が容易 ○ Application Express の セットアップ不要 ○ DBA管理不要 ○ 容量5GB / 転送量30GBで 月額175米ドルから 11 • http://apex.oracle.com/ ◎ Database ライセンス / サブスクリプション不要 ○ 外部公開が容易 ○ Application Express の セットアップ不要 ○ DBA管理不要 × サポートなし × 試使用目的のみ。 本番データ / 機密情報の 保存禁止 Application Express をどこで動かすか
  • 12. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | apex.oracle.comにアカウントを作る 1. https://apex.oracle.com/jp/ へ 2. 「はじめよう」をクリック 3. フリー・ワークスペース 4. アプリケーション開発 • ワークスペース: DBインスタンスのようなもの • スキーマ: デフォルト・スキーマ 12
  • 13. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • アプリケーション・ビルダー – Webアプリケーションを作る • チーム開発 – マイルストン管理 – バグ・トラッキング – フィードバック 13 • SQLワークショップ – オブジェクト・ブラウザ – SQLコマンドライン – SQLスクリプト実行 – RESTfulサービス • パッケージ・アプリケーション – サード・パーティ・ アプリケーションの インストールと管理 – App Store みたいなもの Application Express の4つのタブ
  • 14. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | アプリケーションを作ってみよう 1. アプリケーション・ビルダー 2. 作成 3. アプリケーションのタイプ「デスクトップ」 • 認証スキーム – Application Express アカウント – シングル・サインオン (SSO) – データベース・アカウント – 認証なし 14
  • 15. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 対話モード・レポートを作ってみよう 参照系ページ・タイプ 入力系ページ・タイプ 1行のデータに特化 レポート • 1行のデータを1枚のページに 縦に表示したもの • 例えば “シバタツの履歴書” DMLフォーム • 1行のデータを1ページのフォームに したもの • いわゆる普通のWebフォーム まとめて表形式 対話モード・レポート • Excelのフィルターのように、 様々な条件などを指定できる表 • 例えば “応募者一覧” 表形式フォーム • Excelのように、表形式で まとめて入力できるフォーム 15
  • 16. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 対話モード・レポートを作ってみよう (1/2) 1. ページの作成 2. レポート 3. 対話モード・レポート • リージョン: ページ内のレポートや グラフなどの大きな単位 • アイテム: テキスト・フィールドなどの リージョン内の細々したもの 16
  • 17. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • 1つの表からなら、 表示列をクリックして選ぶだけ • 「SQL問合せ」を選べば結合可能 • クエリー・ビルダーもある 17 対話モード・レポートを作ってみよう (2/2)
  • 18. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 18 対話モード・レポートの完成 鉛筆アイコンをクリックすると 単独レポート表示
  • 19. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 列の選択 SELECT … の列名を減らせる フィルタ WHERE句が書ける。 他の列の参照や、 関数も使える フラッシュバック 過去のある時点の データを表示 レポートの保存 変更した見た目を、 名前を付けて保存 / 共有 ダウンロード CSV, HTML, PDFなどで ダウンロード 19 強力な対話機能
  • 20. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • 列でフィルタ 例)入社日が2014年12月1日以下 • 行でフィルタ 例)マネジャーより社員番号が小さく、 入社から1年以上 20 強力な対話機能: フィルタ
  • 21. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | ソート: ORDER BY コントロール・ブレイク: PARTITION BY 21 強力な対話機能: 書式 (1/4)
  • 22. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | ハイライト 計算: 疑似列 22 強力な対話機能: 書式 (2/4)
  • 23. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 集計 チャート 23 強力な対話機能: 書式 (3/4)
  • 24. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | グループ化: GROUP BY ピボット 24 強力な対話機能: 書式 (3/4)
  • 25. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 強力な対話機能まとめ • ユーザーが書式の変更を行える • 変更した書式は保存できる • 変更した書式でダウロードできる • 開発者は複数書式を事前に用意できる • ユーザーは用意された書式をプルダウンから選ぶことができる 25
  • 26. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 単独レポートを作ってみよう 参照系ページ・タイプ 入力系ページ・タイプ 1行のデータに特化 レポート • 1行のデータを1枚のページに 縦に表示したもの • 例えば “シバタツの履歴書” DMLフォーム • 1行のデータを1ページのフォームに したもの • いわゆる普通のWebフォーム まとめて表形式 対話モード・レポート • Excelのフィルターのように、 様々な条件などを指定できる表 • 例えば “応募者一覧” 表形式フォーム • Excelのように、表形式で まとめて入力できるフォーム 26
  • 27. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 対話モード・レポートでも 単独レポートは自動で作られるが、 もっと凝ったものにしたい 1. ページの作成 2. レポート 3. クラシック・レポート 4. ページ名: Sample Classic Report 5. リージョン名: 同上 27 単独レポートを作ってみよう (1/2)
  • 28. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | select EMP.EMPNO as EMPNO, EMP.ENAME as ENAME, EMP.JOB as JOB, EMP.MGR as MGR, EMP.HIREDATE as HIREDATE, EMP.SAL as SAL, EMP.DEPTNO as DEPTNO, DEPT.DNAME as DNAME, DEPT.LOC as LOC from DEPT DEPT, EMP EMP where EMP.DEPTNO=DEPT.DEPTNO 先ほどの対話モード・レポートと 似ているけど、 もっとシンプルなレポートが できた 28 単独レポートを作ってみよう (2/2)
  • 29. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. Sample Classic Report リージョンを右クリック > ページ・アイテムの作成 2. 指定 > 名前: P3_EMPNO 3. 指定 > タイプ: 非表示 4. Sample Classic Report リージョンをクリック 5. where EMP.DEPTNO = … の後に and EMP.EMPNO = :P3_EMPNO を 追加 29 指定したEMPNOの社員情報だけを縦に表示したい
  • 30. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 対話モード・レポート 2. 左ペインから、列 > EMPNO 3. 指定 > タイプ: リンク 4. リンク > ターゲット 5. ターゲット > ページ: 先ほど作っ た Sample Classic Report 6. アイテムの設定: P3_EMPNO = #EMPNO# 7. リンク・テキスト: #EMPNO# 鉛筆アイコンの外し方 1. Sample Classic Report 下の 「属性」フォルダをクリック 2. リンク > リンク列: リンク列の除外 30 リンク元の編集
  • 31. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • URLの読み方 – 19530: アプリケーションID – 3: ページID – 41192208312: セッションID – 空: リクエスト・キーワード – NO: No Debug – RP: Reset Pagination – P3_EMPNO: パラメーター・キー – 7369: パラメーター値 • ゴミのないきれいなURL /pls/apex/f?p=19530:3::: NO:RP:P3_EMPNO:7369 31 編集後のリンク元ページ 7369にリンクされているURL: /pls/apex/f?p=19530:3: 4119220831279::NO:RP:P3_EMPNO:7369
  • 32. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | リンク先に社員番号7369の情報だけ表示された 32
  • 33. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. Sample Classic Report > 属性 2. 外観 > テンプレート: Value Attribute Pairs - Column 33 表示を縦に変更する
  • 34. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 単独レポートの発展のさせかた • 列名を分かりやすいものに変更するなどの見た目の修正 • 1枚のページに複数のレポート・リージョンや グラフ・リージョンを設置する (対話モード・レポートは1枚のページに1個まで) • 横向きの対話モード・レポートでは URLなどの長い情報は表示させず、 表示される列を限定し、 単独レポートですべてを表示する 34
  • 35. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • Sample Classic Report ページの Content Body を右クリック > リージョンの作成 • 指定 > タイトル: メンバー一覧 • タイプ: クラシック・レポート • SQL問合せ: select EMP.EMPNO as EMPNO, EMP.ENAME as ENAME from EMP EMP where EMP.MGR = :P3_EMPNO order by EMPNO 35 その社員のチーム・メンバーを追加設置する
  • 36. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | レポート作成に便利なSQLテクニック: LISTAGG select EMP.EMPNO, EMP.ENAME, DIR.DNAME from EMP, (select MGR, listagg(ENAME, ', ') within group (order by ENAME) DNAME from EMP group by MGR ) DIR where EMP.EMPNO = DIR.MGR order by EMP.ENAME 36 1:Nのデータを、指定した区切り文字でつなげる EMPNO ENAME DNAME 7698 BLAKE ALLEN, JAMES, MARTIN, TURNER, WARD 7782 CLARK MILLER 7902 FORD SMITH 7566 JONES FORD, SCOTT 7839 KING BLAKE, CLARK, JONES 7788 SCOTT ADAMS
  • 37. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | レポート作成に便利なSQLテクニック: PARTITION BY select EMP.EMPNO, EMP.ENAME, DIR.ENAME LAST_DIRECT from EMP, (select MGR, ENAME, HIREDATE, max(HIREDATE) over (partition by MGR) MAX_HIREDATE from EMP ) DIR where DIR.HIREDATE = DIR.MAX_HIREDATE and EMP.EMPNO = DIR.MGR order by EMP.ENAME 37 1:Nのデータの中から、最新ものだけを表示する EMPNO ENAME LAST_DIRECT 7698 BLAKE JAMES 7782 CLARK MILLER 7902 FORD SMITH 7566 JONES SCOTT 7839 KING CLARK 7788 SCOTT ADAMS
  • 38. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | DMLフォームを作ってみよう 参照系ページ・タイプ 入力系ページ・タイプ 1行のデータに特化 レポート • 1行のデータを1枚のページに 縦に表示したもの • 例えば “シバタツの履歴書” DMLフォーム • 1行のデータを1ページのフォームに したもの • いわゆる普通のWebフォーム まとめて表形式 対話モード・レポート • Excelのフィルターのように、 様々な条件などを指定できる表 • 例えば “応募者一覧” 表形式フォーム • Excelのように、表形式で まとめて入力できるフォーム 38
  • 39. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. ページの作成 2. フォーム 3. 表またはビューのフォーム 4. 表/ビューの名前: EMP (表) 5. ページ名: Sample DML Form 6. 主キーのタイプ: 主キー列の選択 7. 主キー列1: EMPNO 8. ソース・タイプ: 既存のトリガー 9. 列の選択: 全列 10. 送信時にここにブランチ: 2 取消し時にここにブランチ: 2 39 DMLフォームを作ってみよう (1/2)
  • 40. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | DMLフォームを作ってみよう (2/2) 40 できたことはできたが、 DEPTNOを直接入力したくない
  • 41. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 選択リスト 1. P4_DEPTNOを選択 2. 指定 > タイプ: 選択リスト 3. LOV > タイプ: SQL問合せ 4. SQL問合せ: 1列目に選択リストに表示したい値 2列目に実際に入力したい値 select DNAME, DEPTNO from DEPT order by DNAME 41
  • 42. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 選択項目がたくさんあるあるとき: ポップアップLOV 1. P4_DEPTNOを選択 2. 指定 > タイプ: ポップアップLOV 3. LOV > タイプ: SQL問合せ 4. SQL問合せ: 1列目にポップアップLOVに表示したい値 2列目に実際に入力したい値 select DNAME, DEPTNO from DEPT order by DNAME 42
  • 43. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 7. 動作 > アクション: このアプリケーションの 別ページにリダイレクト > 2 1. 対話モード・レポート 2. 画面下からボタン > Text 3. 追加先: Sample Interactive Report > 対話モード・ レポートの検索バーの右 4. 新規ボタンをクリック 5. ボタン名: CREATE 6. ラベル: 作成 43 作成ボタンを作ってみよう
  • 44. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 単独レポート 2. 画面下からボタン > Text 3. 追加先: Sample Classic Report > Edit 4. 新規ボタンをクリック 5. ボタン名: EDIT 6. ラベル: 編集 7. 動作 > アクション: このアプリケーションの 別ページにリダイレクト > 4 8. アイテムの設定: P4_EMPNO = &P3_EMPNO. 44 編集ボタンを作ってみよう
  • 45. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 表形式フォームを作ってみよう 参照系ページ・タイプ 入力系ページ・タイプ 1行のデータに特化 レポート • 1行のデータを1枚のページに 縦に表示したもの • 例えば “シバタツの履歴書” DMLフォーム • 1行のデータを1ページのフォームに したもの • いわゆる普通のWebフォーム まとめて表形式 対話モード・レポート • Excelのフィルターのように、 様々な条件などを指定できる表 • 例えば “応募者一覧” 表形式フォーム • Excelのように、表形式で まとめて入力できるフォーム 45
  • 46. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. ページの作成 2. フォーム 3. 表形式フォーム 4. 表/ビューの名前: EMP (表) 5. 更新可能な列: 全列 主キーは選択不可能 6. ページ名: Sample Tabular Form 46 表形式フォームを作ってみよう
  • 47. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Webアプリケーションがほぼ完成 参照系ページ・タイプ 入力系ページ・タイプ 1行のデータに特化 レポート • 1行のデータを1枚のページに 縦に表示したもの • 例えば “シバタツの履歴書” DMLフォーム • 1行のデータを1ページのフォームに したもの • いわゆる普通のWebフォーム まとめて表形式 対話モード・レポート • Excelのフィルターのように、 様々な条件などを指定できる表 • 例えば “応募者一覧” 表形式フォーム • Excelのように、表形式で まとめて入力できるフォーム 47
  • 48. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. 共有コンポーネント 2. セキュリティ > 認可スキーム 3. 作成 > 最初から 4. 名前: 従業員 (EMP表に載っているユーザーのみ) 5. スキーム・タイプ: EXISTS SQL 問合せ 6. SQL問合せ select 1 from EMP where ENAME = replace( upper(V('APP_USER')), '@EXAMPLE.COM', '' ) • ユーザー名は V('APP_USER') • 大文字小文字区別なしに 認証される 48 “ほぼ” の残り: 認可スキームの作成
  • 49. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. ページ2: Sample Interactive Report 2. セキュリティ > 認可スキーム: 従業員 • 開発者としてログイン していても権限確認されるが、 開発者は、なぜ拒否されたかが 分かる 49 “ほぼ” の残り: 認可スキームの割当て
  • 50. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. SQLワークショップ 2. RESTfulサービス 3. oracle.example.hr 4. employees/{id} > GET 5. ソース select * from emp where empno = :id 6. テスト > バインド変数の設定 7. :ID = 7782 > テスト 50 発展: RESTfulサービス
  • 51. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • Application Express 2日で開発者ガイド for Oracle Database 12c • Application Express アプリケーション・ビルダー・ ユーザーズ・ガイド for Oracle Database 12c 51 もっと詳しく知りたい http://apex.world/
  • 52. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle SQL Developer 52
  • 53. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle SQL Developer とは • Oracle Database / Oracle NoSQL Database / Oracle TimesTen 用の無料 GUI IDE • Windows, Mac, Linux, Unix 対応 • 2006年にリリース。最新バージョンは4.1.3 • 全世界で400万人以上のユーザー • Oracle Database のサポート契約に SQL Developer のサポートも含まれる 53
  • 54. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle Database Cloud Schema Service につなごう • TCP/22もTCP/1521も 開いていない Schema Service でも、 REST経由でオブジェクト・ ブラウザが使える • オンプレミスDBの表を カートに経由で Schema Service に デプロイすることで、 データ・ローディングできる 54 クラウド接続
  • 55. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle Database as a Service につなごう • Database as a Service の TCP/1521はデフォルトでは 開いていないので、 TCP/22 (SSH) につないで ポート転送する 55 SSHポート転送 TCP/22 TCP/1521
  • 56. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 踏み台を必要とする環境でつなごう • Oracle Database サーバーが 別セグメントにあるなどの理由で 踏み台が必要な環境では、 踏み台でSSHポート転送する 56 SSHポート転送 TCP/22 TCP/1521
  • 57. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 57 オブジェクト・ブラウザ
  • 58. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 58 参照している表とまとめてER図を自動生成 / GUI参照
  • 59. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • 構文補完 (Ctrl + Space) • 1クリック実行計画 (F10) • 1クリック自動トレース (F6) 59 SQL Developer でSQLを書くメリット
  • 60. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • ユーザーが入力したSQLの履歴 – 表示 > SQL履歴 (Ctrl + ↓: 戻る / Ctrl + ↑: 進む) • SQL Developer が発行した SQLのログ – 表示 > ログ > 文 60 履歴の強化
  • 61. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • Git / Subversionとの連携 • PL/SQLのステップ実行 61 IDEらしい機能
  • 62. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | SELECT E.LOC, E.DNAME, E.DEPTNO, F.DEPTNO, F.COMM, F.SAL, F.HIREDATE, F.MGR, F.JOB, F.ENAME, F.EMPNO FROM EMP F, DEPT E WHERE E.DEPTNO = F.DEPTNO; 62 ワークシートにEMP表とDEPT表をドラッグ&ドロップ
  • 63. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | その状態でクエリー・ビルダーを開くと 63
  • 64. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | SET SQLFORMAT CSV SELECT e.empno, e.ename, … "EMPNO","ENAME","DNAME" 7369,"SMITH","RESEARCH" 7499,"ALLEN","SALES" 7521,"WARD","SALES" 7566,"JONES","RESEARCH" 7654,"MARTIN","SALES" 7698,"BLAKE","SALES" 7782,"CLARK","ACCOUNTING" 7788,"SCOTT","RESEARCH" 7839,"KING","ACCOUNTING" … SET SQLFORMAT JSON {"items":[{"empno":7369,"ename":"SMITH","dn ame":"RESEARCH"},{"empno":7499,"ename":"ALL EN","dname":"SALES"} … ]} SET SQLFORMAT XML <?xml version='1.0' encoding='UTF8' ?> <RESULTS> <ROW> <COLUMN NAME="EMPNO"><![CDATA[7369]]> </COLUMN> <COLUMN NAME="ENAME"><![CDATA[SMITH]] ></COLUMN> … 64 出力フォーマットの変更
  • 65. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • 表を右クリック > エクスポート • エクスポート時にWHERE可能 • 表を右クリック > データのインポート 65 CSVやXLSXでのエクスポート & インポート
  • 66. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • 表を右クリック > クイックDDL > クリップボードに保存 • 索引 / 制約含めてDDLを生成 ------------------------------------------- -- DDL for Table EMP ------------------------------------------- CREATE TABLE "SCOTT"."EMP" ( "EMPNO" NUMBER(4,0), "ENAME" VARCHAR2(10 BYTE), "JOB" VARCHAR2(9 BYTE), "MGR" NUMBER(4,0), "HIREDATE" DATE, "SAL" NUMBER(7,2), "COMM" NUMBER(7,2), "DEPTNO" NUMBER(2,0) ) SEGMENT CREATION IMMEDIATE … 66 クイックDDL
  • 67. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • AWRの Complete List of SQL Text から単純にコピペ SELECT dbin.instance_number, dbin.db_name, dbin.instance_name, dbin.host_name, dbin.version, CASE WHEN s1.startup_time = s2.startup_time THEN 0 ELSE 1 END as bounce, CAST(s1.end_interval_time AS DATE) as begin_time, CAST(s2.end_interval_time AS DATE) as end_time, ROUND((cast( (case when s2.end_interval_time > s1.end_interval_time then s2.end_interval_time else s1.end_interval_time end) as date) - cast(s1.end_interval_time as date)) * 86400) as int_secs, CASE WHEN (s1.status <> 0 OR s2.status <> 0) THEN 1 ELSE 0 END as err_detect, round( greatest( (extract(day from s2.flush_elapsed) * 86400) + (extract(hour from s2.flush_elapsed) * 3600) + (extract(minute from s2.flush_elapsed) * 60) + extract(second from s2.flush_elapsed), (extract(day from s1.flush_elapsed) * 86400) + (extract(hour from s1.flush_elapsed) * 3600) + (extract(minute from s1.flush_elapsed) * 60) + extract(second from s1.flush_elapsed), 0 )) as max_flush_secs FROM WRM$_SNAPSHOT s1 , WRM$_DATABASE_INSTANCE dbin , WRM$_SNAPSHOT s2 WHERE s1.dbid = :dbid AND s2.dbid = :dbid AND s1.instance_number = s2.instance_number AND dbin.instance_number = s1.instance_number AND s1.snap_id = :bid AND s2.snap_id = :eid AND dbin.dbid = s1.dbid AND dbin.startup_time = s1.startup_time and dbin.instance_number = :inst • ワークシートにペーストして 右クリック > 書式 (Ctrl + F7) SELECT dbin.instance_number, dbin.db_name, dbin.instance_name, dbin.host_name, dbin.version, CASE WHEN s1.startup_time = s2.startup_time THEN 0 ELSE 1 END AS bounce, CAST(s1.end_interval_time AS DATE) AS begin_time, CAST(s2.end_interval_time AS DATE) AS end_time, ROUND((CAST( ( CASE WHEN s2.end_interval_time > s1.end_interval_time THEN s2.end_interval_time ELSE s1.end_interval_time END) AS DATE) - CAST(s1.end_interval_time AS DATE)) * 86400) AS int_secs, …… 67 書式整形
  • 68. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | オブジェクト・ブラウズ しながらSQLを書きたい EMPタブを右クリック > New Document Tab Group 68 ドキュメント・タブ・グループ
  • 69. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • ファイル > Data Modeler > インポート > データ・ディクショナリ • 新規ファイル 表示 > Data Modeler > ブラウザ > 設計 [1] を右クリック > 新規設計 • 保存 ファイル > Data Modeler > 保存 Ctrl + S では保存されない • オブジェクトが多すぎるときはSubViewを 作成する 69 Data Modeler: SQL↔ER図相互変換モデラー (1/2)
  • 70. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • 表オブジェクトを右クリック > DDLプレビュー • Oracle Database への反映 表オブジェクトを右クリック > データ・ディクショナリの同期 • ネーミング規約と設定と適用 – ブラウザ > Untitled_1 を右クリック > プロパティ > ネーミング標準 – 表を右クリック > ネーミング・ルール 70 Data Modeler: SQL↔ER図相互変換モデラー (2/2)
  • 71. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • 表示 > DBA • 管理者権限のあるユーザー (SYSTEMやSYS)でつなぐこと 71 DBAパネル
  • 72. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | インスタンス・ビューア 72 DBAパネル > データベース・ステータス > DBインスタンス • インスタンス・ビューア A. ライセンス不要 B. 1秒更新。履歴保存なし C. CPU / IO / ネットワークなどの 待機イベントがカテゴリーでは分かる D. ドリルダウンできない • Enterprise Manager A. Diagnostic Pack 必要 B. 30秒更新。履歴保存あり 1秒更新もリアルタイムSQL監視で可能 C. 待機イベントが具体的に分かる D. ドリルダウンできる
  • 73. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | でも、「やっぱりCUIが好き」というあなたへ 73 SQLcl Early Adopter 版 配布中
  • 74. Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Live SQL 74
  • 75. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Oracle Live SQL とは • SQL学習用途向けに Oracle Database が何の準備なしに 無料で使用できるWebサービス • コミュニティが作成したSQLを検索できる • 自分の作成したSQLを共有できる • 2015年10月にリリース • Application Express で作られている 75 https://livesql.oracle.com/
  • 76. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • 「range list partition」と入力 • インクリメンタル・サーチで 「range list partition」に 関連するSQLが表示される 76 あのSQLってどうやって書くんだっけ?
  • 77. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 77 Composite Range-List Partitioning Example パーティションのDDL 誰がいつ作ったか 補足のコメント 次のSQL文。 ここではINSERTしている 次のSQL文。 ここではUSER_TAB_PARTITIONSを確認している
  • 78. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 78 Run in Live SQL を押してみよう • Oracle SSO でログイン後に 別ウインドウが開くので、 Run Script ボタンをクリック
  • 79. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • 左ペインのSchemaを見ると、 パーティション表のサンプルが 自分のスキーマにできている • 表などのオブジェクトと データは ログアウトすると消える • データは10MBまで 使用率は SQL Session > Utilization 79 Schemaをクリックすると
  • 80. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. SQL Session > Previous Session 2. Session = In Use の 最新のセッションを View Session 3. Re-Run 4. Drop all DB Objects and SQL History in Current Session を チェックして、作成する オブジェクトを事前に削除 • 少し変更して再実行したい 80 再実行
  • 81. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • Saveボタンをクリック • 公開設定をPrivate / Unlisted から選べる • UnlistedにしたSQLは URLを知っている人だけに 限定公開できる • My Scripts に保存される 81 修正したものを保存したい
  • 82. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. Home 2. 「emp dept」と入力して Code Library をクリック 3. Run Script 4. SQL Worksheet 5. LISTAGGのサンプルを入力 6. Run 82 今日学んだSQLを実際に試してみよう
  • 83. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | • Save • セッション単位で保存される ため、EMP表 / DEPT表作成から 保存されている • 複数回SELECTすると 複数回実行で保存される • Remove Duplicates 83 今日学んだSQLを保存しておこう
  • 84. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 1. Application Express レスポンシブ Webアプリケーション用の 無料IDE + サーバー 2. Oracle SQL Developer Oracle Database ほか用の 無料 GUI IDE 84 4. Oracle Live SQL SQL学習用途向けに Oracle Database が無料で 使用できるWebサービス まとめ DBセットアップはクラウドで速くなった。DBシステム開発はどうだ?
  • 85. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 85 Happy SQL Life!
  • 86. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | どれだけカンタンに 環境を作成できるんだろう・・・ 使い勝手を試してみたい! 使うために必要な設定 を確認したい! どんなツールが あるんだろう・・・ トライアルのお申し込みサイトはコチラ トライアルのお申し込みサイト - 上記サイトより、ご利用したいクラウドサービスを選択し、お申し込み頂けます。 - Oracle PaaS/IaaSの各サービスは「プラットフォーム(PaaS/IaaS)」項目をご参照ください Database Cloud Database Backup Java Cloud BI Cloud Documents Cloud 等々  詳細なお申込み方法はFAQにてご案内しております 以下手順にて申し込みしたい該当サービスのFAQをご参照ください - https://faq.oracle.co.jp/app/home へアクセス - 検索キーワードに [オラクル クラウド トライアル] を入力 お申込みの流れ お申し込みは数ステップでカンタン!30日間お試し放題!! Oracleプロファイルの ご登録 トライアルサブスクリプション のサインアップ トライアル環境への アクセス
  • 87. Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | 87

Editor's Notes

  1. Version 8c – June 4, 2015
  2. select EMP.EMPNO, EMP.ENAME, DIR.DNAME from EMP, (select MGR, listagg(ENAME, ', ') within group (order by ENAME) DNAME from EMP group by MGR ) DIR where EMP.EMPNO = DIR.MGR order by EMP.ENAME