20100717tobesetu

Tags:

Post on 07-Nov-2014

1.168 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

2010/07/17に日本オラクル青山センターで開催された【とべとべ】勉強会夏祭り2010【電設部】 http://atnd.org/events/6067 での発表スライド

TRANSCRIPT

はじめてのオラクル

~FROM dualってなに~

つかだ あきひろ@akitsukada

2アジェンダ

♨自己紹介

♨概要

♨オラクル全体像編

♨導入編

♨小ネタ編

3自己紹介

♨つかだ あきひろ

♨トゥイラー @akitsukada♨ブログ “b6note”

http://bit.ly/akitsukada♨電設部IT勉強会

♨SetucoCMS♨コマンドなんでも読書会

4自己紹介

♨しごと

SIerの新人

OracleDB, DB2, Sybase♨SetucoCMS

オープンソースCMS MySQL, PostgreSQL

5概要

♨Oracle Databaseの俺解釈

Oracle Master対策ではない

多分に私的解釈を含む

♨対象者

初心者

他DBMS経験

&& OracleDB未経験者

6オラクル全体像編

全体を♨ながめて

みる

7全体像編

♨オラクルサーバ(ソフトウェア的に)

インスタンス

☺1サーバに複数インスタンス

データベース

☺1インスタンス1データベース

8全体像編

データベースデータベース

オラクルデータベース

オラクルインスタンス

オラクルインスタンス

♨ 「データベース」が二種類

♨ サーバに1インスタンスで運用も多い

9全体像編

インスタンス

データベース

インスタンス

データベース

♨ イメージ的にとらえる

10全体像編

オラクルデータベース

♨ さらに

イメージ的にとらえてみる

♨ いわゆる「データベース」 に「テーブル」 がたくさん入っている感じ

11全体像編 cf. MySQL♨ 「データベース」

がいくつもある感じ

♨ use database名で簡単に切り替えられる

♨ いいよね、MySQL

MySQL

12全体像編まとめ

♨オラクルサーバ(ソフトウェア的に)

インスタンス

☺1サーバに複数インスタンス

データベース

☺1インスタンス1データベース

1サーバに1インスタンス(new!)

それが俺のジャスティス

13導入編

♨自分のPCにオラクル入れよう

いじりたおせ

でも、お高いんでしょう?

各プラットフォームでのXE導入

XEでも十分いける

14いじりたおせ

♨習得する一番の近道、不可欠

資格勉強にも実践を

♨壊しても誰も怒らない

インストール作業でまた

スキルアップ

♨でも、書籍もいいよ

小田先生ぱねぇ

15でも、お高いんでしょう?

♨それが今回はなんと無料で!

30日試用版

☺あくまでも試用版

☺製品版と同じ

XE(eXpress Edition)

☺使い放題!

☺商用利用までできます

16OracleDatabase 10gR2 XE♨製品版と同じコードを使いビルド

♨軽量

その分容量などの制限あり

♨Windows、Linuxで利用可

♨Western EuropeanとUniversal日本語使うならUniversalで

17各プラットフォームでのXE導入

♨OTN(Oracle Technology Network)でDL可能

♨Windowsインストーラで一発

♨Linux[ Debian、Mandriva、Novell、Red Hat Ubuntuで利用可能](2010/7/17現在)

Rpmとdebが配布されている

Debian系ならapt-getでも

18XEでも十分いける

♨制限事項

ユーザデータは上限4GBインスタンスはマシンに1つだけ

使うCPUは1つだけ

使うメモリは1GBまで

Enterprise Managerはない

19導入編まとめ

♨自分のPCにオラクル入れよう

いじりたおせ

でも、お高いんでしょう?

各プラットフォームでのXE導入

XEでも十分いける

♨ねむい

20小ネタ編

♨Oracleの文法、方言

これはどう書く?

(主にMySQLと比較して)

21小ネタ編

♨limit句SELECT hoge FROM fuga

LIMIT 1, 30;♨Oracleでは・・・

22小ネタ編

♨ROWNUM擬似列

SELECT結果に行番号を付与

♨SELECT ROWNUM FROM hogehogeテーブルの行数分だけ

連番を取得できる

23小ネタ編

♨limit句SELECT hoge FROM fuga

LIMIT 1, 30;♨Oracleでは・・・

SELECT hoge FROM fugaWHERE ROWNUM <= 30;

24小ネタ編

♨IFNULL関数

SELECT IFNULL(hoge, 0)FROM fuga;

♨Oracleでは・・・

25小ネタ編

♨IFNULL関数

SELECT IFNULL(hoge, 0)FROM fuga;

♨Oracleでは・・・

SELECT NVL(hoge, 0)FROM fuga;

26小ネタ編

♨NVL関数

第一引数がNULLであれば第二引数に置き換える

♨でも、IFNULLもNVLも標準SQLではないので注意

27小ネタ編

♨FROM句めんどいです><ついでにnow関数

SELECT now();♨Oracleでは・・・

28小ネタ編

♨FROM句めんどいです><ついでにnow関数

SELECT now();♨Oracleでは・・・

SELECT sysdateFROM dual;

29小ネタ編

♨dual表OracleではFROM句は省略不可

代わりにdual表が使える

♨sysdateシステム日付を取得する

systimestampもあるよ!

30小ネタ編

♨NVL関数

第一引数がNULLであれば第二引数に置き換える

♨でも、IFNULLもNVLも標準SQLではないので注意

31小ネタ編

♨改行コード('\r\n')SELECT '全\r\n裸';

♨Oracleでは・・・

32小ネタ編

♨改行コード('\r\n')SELECT '全\r\n裸';

♨Oracleでは・・・

SELECT '全' || CHR(13) || CHR(10) || '裸'FROM dual;

33小ネタ編

♨CHR関数

コードに対応するASCII文字を返す

♨逆(文字⇒コード値)はASCII関数

34小ネタ編

♨日付書式の指定

SELECT date_format (now(),'%Y%m%d%H%i%s'

);♨Oracleでは・・・

35小ネタ編

♨日付書式の指定

♨Oracleでは・・・

SELECT TO_CHAR(sysdate,'yyyymmddhh24miss'

) FROM dual;

36小ネタ編

♨TO_CHAR関数

数値や日付を書式指定しつつ文字列に変換する

♨数値を変換する例

SELECT TO_CHAR(1, '000')FROM dual;⇒文字列「001」が得られる

37小ネタ編まとめ

♨Oracleの文法、方言

これはどう書く?

(主にMySQLと比較して)

♨この資料をUpしとくのでよかったら見て下さい。http://bit.ly/tobesetu10akitsukada

ありがとうございました。

つかだ あきひろ@akitsukada

top related