SlideShare a Scribd company logo
1 of 88
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 セッション資料)

More Related Content

What's hot

What's hot (20)

【2016年3月時点】クラウド型 BI だからできる新たな情報活用方法
【2016年3月時点】クラウド型 BI だからできる新たな情報活用方法【2016年3月時点】クラウド型 BI だからできる新たな情報活用方法
【2016年3月時点】クラウド型 BI だからできる新たな情報活用方法
 
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
オラクルクラウドで開発を~サーバからDB/アプリケーションサーバ準備が、2時間で~
 
Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要Oracle Advanced Analytics 概要
Oracle Advanced Analytics 概要
 
20160323 道玄坂LT祭り オラクル資料
20160323 道玄坂LT祭り オラクル資料20160323 道玄坂LT祭り オラクル資料
20160323 道玄坂LT祭り オラクル資料
 
Oracle R Enterprise のセットアップ
Oracle R Enterprise のセットアップOracle R Enterprise のセットアップ
Oracle R Enterprise のセットアップ
 
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
次世代インフラ基盤登場!Oracle Cloud IaaS 最新サービス・アップデート [Oracle Cloud Days Tokyo 2016]
 
【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう
【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう
【OCP Summit 2016】最高のDB基盤Exadataをクラウドで活用しよう
 
Oracle R Advanced Analytics for Hadoop利用方法
Oracle R Advanced Analytics for Hadoop利用方法Oracle R Advanced Analytics for Hadoop利用方法
Oracle R Advanced Analytics for Hadoop利用方法
 
オラクルGO!話題の位置情報アプリをクラウドで簡単に作ってみる [Oracle Cloud Developer Day 2016]
オラクルGO!話題の位置情報アプリをクラウドで簡単に作ってみる [Oracle Cloud Developer Day 2016]オラクルGO!話題の位置情報アプリをクラウドで簡単に作ってみる [Oracle Cloud Developer Day 2016]
オラクルGO!話題の位置情報アプリをクラウドで簡単に作ってみる [Oracle Cloud Developer Day 2016]
 
Oracle Cloud Platform:サービス概要と活用ケースのご紹介
Oracle Cloud Platform:サービス概要と活用ケースのご紹介Oracle Cloud Platform:サービス概要と活用ケースのご紹介
Oracle Cloud Platform:サービス概要と活用ケースのご紹介
 
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]
成功事例に学べ! これからの時代のビッグデータ活用最新ベストプラクティス [Oracle Cloud Days Tokyo 2016]
 
Oracle Big Data SQL3.1のご紹介
Oracle Big Data SQL3.1のご紹介Oracle Big Data SQL3.1のご紹介
Oracle Big Data SQL3.1のご紹介
 
【2016年3月時点】Data Visualization Cloud Service ハンズオン資料
【2016年3月時点】Data Visualization Cloud Service ハンズオン資料【2016年3月時点】Data Visualization Cloud Service ハンズオン資料
【2016年3月時点】Data Visualization Cloud Service ハンズオン資料
 
クラウド慎重派も納得!“社内パブリッククラウド”でセキュリティとコスト削減を両立 [Oracle Cloud Days Tokyo 2016]
クラウド慎重派も納得!“社内パブリッククラウド”でセキュリティとコスト削減を両立 [Oracle Cloud Days Tokyo 2016]クラウド慎重派も納得!“社内パブリッククラウド”でセキュリティとコスト削減を両立 [Oracle Cloud Days Tokyo 2016]
クラウド慎重派も納得!“社内パブリッククラウド”でセキュリティとコスト削減を両立 [Oracle Cloud Days Tokyo 2016]
 
Oracle Advanced Security Data Redactionのご紹介
Oracle Advanced Security Data Redactionのご紹介Oracle Advanced Security Data Redactionのご紹介
Oracle Advanced Security Data Redactionのご紹介
 
【OCP Summit 2016】エンジニア100人でOracle Cloud使い始めました&全てのプラットフォームでJP1を
【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):次世代クラウドが変える日本のエンタープライズ・ビジネス
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス
[Modern Cloud Day Tokyo 2019] 基調講演(Day1):次世代クラウドが変える日本のエンタープライズ・ビジネス
 
はじめてのOracle Cloud Platform
はじめてのOracle Cloud PlatformはじめてのOracle Cloud Platform
はじめてのOracle Cloud Platform
 
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]
ITアーキテクトのためのOracle Cloud Platform設計・構築入門 [Oracle Cloud Days Tokyo 2016]
 
[Modern Cloud Day Tokyo 2019] 【ビジネスをさらに加速させる!!】Oracle Cloud を活用したデータドリブン ユースケ...
[Modern Cloud Day Tokyo 2019] 【ビジネスをさらに加速させる!!】Oracle Cloud を活用したデータドリブン ユースケ...[Modern Cloud Day Tokyo 2019] 【ビジネスをさらに加速させる!!】Oracle Cloud を活用したデータドリブン ユースケ...
[Modern Cloud Day Tokyo 2019] 【ビジネスをさらに加速させる!!】Oracle Cloud を活用したデータドリブン ユースケ...
 

Viewers also liked

電子国土を使って観光マップを作成してみる
電子国土を使って観光マップを作成してみる電子国土を使って観光マップを作成してみる
電子国土を使って観光マップを作成してみる
Inoshachu, NPO
 
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
Hideo Harada
 
FOSS4G 2013 Osaka karaoke LT 課題スライド
FOSS4G 2013 Osaka karaoke LT 課題スライドFOSS4G 2013 Osaka karaoke LT 課題スライド
FOSS4G 2013 Osaka karaoke LT 課題スライド
Kosuke Asahi
 
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)
OSgeo Japan
 
オープンソースの 地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年
オープンソースの地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年オープンソースの地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年
オープンソースの 地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年
KenichiSAKURAI
 
090226hatena Media Guide 2009 Spring
090226hatena Media Guide 2009 Spring090226hatena Media Guide 2009 Spring
090226hatena Media Guide 2009 Spring
Mitsuki Tanaka
 

Viewers also liked (20)

電子国土Part2
電子国土Part2電子国土Part2
電子国土Part2
 
FOSS4G KOREA 2012参加報告
FOSS4G KOREA 2012参加報告FOSS4G KOREA 2012参加報告
FOSS4G KOREA 2012参加報告
 
電子国土を使って観光マップを作成してみる
電子国土を使って観光マップを作成してみる電子国土を使って観光マップを作成してみる
電子国土を使って観光マップを作成してみる
 
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
FOSS4G 2014 Hokkaidoハンズオン - PostGIS入門
 
FOSS4G 2013 Osaka karaoke LT 課題スライド
FOSS4G 2013 Osaka karaoke LT 課題スライドFOSS4G 2013 Osaka karaoke LT 課題スライド
FOSS4G 2013 Osaka karaoke LT 課題スライド
 
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)
大きく進歩したMapServer6の新機能((株)オークニー・丹羽誠様)
 
FOSS4G Osaka 2013
FOSS4G Osaka 2013FOSS4G Osaka 2013
FOSS4G Osaka 2013
 
20120126 セミナー 資料
20120126 セミナー 資料20120126 セミナー 資料
20120126 セミナー 資料
 
FOSS4Gで地理空間情報もかんたん
FOSS4Gで地理空間情報もかんたんFOSS4Gで地理空間情報もかんたん
FOSS4Gで地理空間情報もかんたん
 
大規模タイル画像を生成した話((独)農研機構 寺元郁博様)
大規模タイル画像を生成した話((独)農研機構 寺元郁博様)大規模タイル画像を生成した話((独)農研機構 寺元郁博様)
大規模タイル画像を生成した話((独)農研機構 寺元郁博様)
 
オープンソースの 地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年
オープンソースの地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年オープンソースの地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年
オープンソースの 地理空間情報ソフトFOSS4GとOSGeo財団の紹介 OSC京都2013年
 
Map server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 HokkaidoMap server入門 - FOSS4G 2012 Hokkaido
Map server入門 - FOSS4G 2012 Hokkaido
 
20分で語るFOSS4Gの10年
20分で語るFOSS4Gの10年20分で語るFOSS4Gの10年
20分で語るFOSS4Gの10年
 
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorbRuby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
Ruby用の静的コード解析ツールざくっと紹介 by SideCI #omotesandorb
 
Foss4 g2014pd xreport
Foss4 g2014pd xreportFoss4 g2014pd xreport
Foss4 g2014pd xreport
 
Foss4g資料西林
Foss4g資料西林Foss4g資料西林
Foss4g資料西林
 
Application insights で行ってみよう
Application insights で行ってみようApplication insights で行ってみよう
Application insights で行ってみよう
 
090226hatena Media Guide 2009 Spring
090226hatena Media Guide 2009 Spring090226hatena Media Guide 2009 Spring
090226hatena Media Guide 2009 Spring
 
Surface RT活用研究(.NETラボ勉強会 2013/5/25)
Surface RT活用研究(.NETラボ勉強会 2013/5/25)Surface RT活用研究(.NETラボ勉強会 2013/5/25)
Surface RT活用研究(.NETラボ勉強会 2013/5/25)
 
JavaScript GIS ライブラリ turf.js 入門
JavaScript GIS ライブラリ turf.js 入門JavaScript GIS ライブラリ turf.js 入門
JavaScript GIS ライブラリ turf.js 入門
 

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

[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
オラクルエンジニア通信
 
Intalio Cloud Workshop
Intalio Cloud Workshop Intalio Cloud Workshop
Intalio Cloud Workshop
Daisuke Sugai
 
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントOracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
SolarisJP
 

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

20180424 Oracle APEX Overview - はじめの一歩
20180424 Oracle APEX Overview - はじめの一歩20180424 Oracle APEX Overview - はじめの一歩
20180424 Oracle APEX Overview - はじめの一歩
 
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)
GoldenGateテクニカルセミナー4「テクニカルコンサルタントが語るOracle GoldenGate現場で使える極意」(2016/5/11)
 
Oracle Database Cloud Serviceを活用した ビジネスに役立つデータ利活用のススメ
Oracle Database Cloud Serviceを活用したビジネスに役立つデータ利活用のススメOracle Database Cloud Serviceを活用したビジネスに役立つデータ利活用のススメ
Oracle Database Cloud Serviceを活用した ビジネスに役立つデータ利活用のススメ
 
2018/4/24 APEX MeetUp #2 APEX はじめの一歩
2018/4/24 APEX MeetUp #2 APEX はじめの一歩2018/4/24 APEX MeetUp #2 APEX はじめの一歩
2018/4/24 APEX MeetUp #2 APEX はじめの一歩
 
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[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]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
エンタープライズ・クラウドのシステム・デザイン・パターン [Oracle Cloud Days Tokyo 2016]
 
デモとディスカッションで体験するOracle DBトラブル対応
デモとディスカッションで体験するOracle DBトラブル対応デモとディスカッションで体験するOracle DBトラブル対応
デモとディスカッションで体験するOracle DBトラブル対応
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
 
Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018Apache Impalaパフォーマンスチューニング #dbts2018
Apache Impalaパフォーマンスチューニング #dbts2018
 
Japan it week_アプリケーション開発に最適なクラウド
Japan it week_アプリケーション開発に最適なクラウドJapan it week_アプリケーション開発に最適なクラウド
Japan it week_アプリケーション開発に最適なクラウド
 
Oracle Cloud PaaS & IaaS:2018年12月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年12月度サービス情報アップデートOracle Cloud PaaS & IaaS:2018年12月度サービス情報アップデート
Oracle Cloud PaaS & IaaS:2018年12月度サービス情報アップデート
 
Intalio Cloud Workshop
Intalio Cloud Workshop Intalio Cloud Workshop
Intalio Cloud Workshop
 
Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介Oracle Advanced Security Transparent Data Encryptionのご紹介
Oracle Advanced Security Transparent Data Encryptionのご紹介
 
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
Oracle GoldenGateでの資料採取(トラブル時に採取すべき資料)
 
Terraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as CodeTerraformで始めるInfrastructure as Code
Terraformで始めるInfrastructure as Code
 
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
AIを組み込んだ近未来のアプリケーションで感じる新しいサービスの新しい開発手法
 
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイントOracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
Oracle Solaris 10 から Oracle Solaris 11.1 への移行準備とポイント
 
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
Site Reliability Engineering (SRE)を可能にするOpenPIEのご紹介
 
momentum紹介資料【中文】
momentum紹介資料【中文】momentum紹介資料【中文】
momentum紹介資料【中文】
 
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
20151209 Oracle DDD オラクルで実現するクラウド・マシン・ラーニング
 

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

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

Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデートOracle Cloud Infrastructure:2023年5月度サービス・アップデート
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデートOracle Cloud Infrastructure:2023年3月度サービス・アップデート
Oracle Cloud Infrastructure:2023年3月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデートOracle Cloud Infrastructure:2023年2月度サービス・アップデート
Oracle Cloud Infrastructure:2023年2月度サービス・アップデート
 
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデートOracle Cloud Infrastructure:2023年1月度サービス・アップデート
Oracle Cloud Infrastructure:2023年1月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデートOracle Cloud Infrastructure:2022年12月度サービス・アップデート
Oracle Cloud Infrastructure:2022年12月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデートOracle Cloud Infrastructure:2022年11月度サービス・アップデート
Oracle Cloud Infrastructure:2022年11月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデートOracle Cloud Infrastructure:2022年10月度サービス・アップデート
Oracle Cloud Infrastructure:2022年10月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデートOracle Cloud Infrastructure:2022年9月度サービス・アップデート
Oracle Cloud Infrastructure:2022年9月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデートOracle Cloud Infrastructure:2022年8月度サービス・アップデート
Oracle Cloud Infrastructure:2022年8月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデートOracle Cloud Infrastructure:2022年7月度サービス・アップデート
Oracle Cloud Infrastructure:2022年7月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデートOracle Cloud Infrastructure:2022年6月度サービス・アップデート
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデートOracle Cloud Infrastructure:2022年5月度サービス・アップデート
Oracle Cloud Infrastructure:2022年5月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデートOracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
 
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間 (2022年4月版)
Oracle Cloud Infrastructure データベース・クラウド:各バージョンのサポート期間 (2022年4月版)
 
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
MySQL Technology Cafe #14 MySQL Shellを使ってもっと楽をしようの会
 
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデートOracle Cloud Infrastructure:2022年3月度サービス・アップデート
Oracle Cloud Infrastructure:2022年3月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデートOracle Cloud Infrastructure:2022年2月度サービス・アップデート
Oracle Cloud Infrastructure:2022年2月度サービス・アップデート
 
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデートOracle Cloud Infrastructure:2022年1月度サービス・アップデート
Oracle Cloud Infrastructure:2022年1月度サービス・アップデート
 
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
Oracle Databaseはクラウドに移行するべきか否か 全10ケースをご紹介 (Oracle Cloudウェビナーシリーズ: 2021年11月30日)
 

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