全18件 (18件中 1-18件目)
1
![]()
今月中にORACLE MASTER Silver Oracle Database 11g を取得しようと思い、再始動。とりあえず、web上で出来る 11g Silverの問題を集めてみた。1.どうも台湾のIT資格系のサイトからグーグル先生が引っ張ってきてくれた物。1問目2問目3問目4問目5問目6問目2.ITトレメこちらカレンダーの日付をクリックすると一日一問出題されている。3.Oracleサイトよりサルベージその1その2その3その4その5その6その7その8その9その10その11そいや、オラクル受験チケット値上がりしたんですよね。いくらだろう…?…下記通常よりかなり安く買える楽天のチケット屋さん価格で1万5千か・・・こりゃ一回で受かりたいな・・・【ピアソンVUE専用】OracleMaster受験チケット(電子チケット)
2011年06月09日
コメント(1)
![]()
先週金曜日に、OracleMaster 11g SQL基礎1試験を受けてきました。74%でなんとか合格したのですが、試験やってみて全然、自信なかったです。。。orzいや~・・・難しかった。問題集と同じような問題は、他の方も言ってるように2割くらいしか出なかったですね。問題集を応用して答えられそうな奴が4割くらい?残りは。。。普段からの業務知識を活用してなんとかなったって感じですね。ああゆうSQL書いたらエラーになったからこれは違うとか、この書き方だと値が戻ってこなかった記憶があるとか、そのような業務で詰まった時の記憶を引っ張り出して考えて・・・残りの4割はときました。が・・・時間足りなかった~。。。まぁ、受かったから良いケド。。。とりあえず、私の勉強法はネット上だけで出来るオラクルSQLの問題(下記サイト様)http://www.nyahhoo.com/http://park14.wakwak.com/~ky1999/ORA/ここの2つのサイトで出来る問題を理解するまでやって、以下のサイトのSQL基礎のコラムを読みhttp://jibun.atmarkit.co.jp/lskill01/rensai/bronzesql01/bronzesql01.html以下の問題集を解き、間違えたトコは解説を読み理解を深め、この問題集全部解けるようにし、総仕上げ問題では初回で46/55の正答率でした。ORACLE MASTER Bronze 11g SQL基礎1問題集価格:3,150円(税込、送料別)そのような状態で、臨んだ試験で正答率74%だったので、他の方が言ってたように、上記の問題集は本番より1割難易度がやさしいって評価が妥当だと思います。まぁ、業務でSQLバリバリ書いてる人は、私と同じやり方で受かると思います。また、オラクル受験するならば、有名ですが以下の楽天ショップでチケット買うとお得ですよね。【ピアソンVUE専用】OracleMaster受験チケット(電子チケット)こっちは2枚組みでもっとお得。【ピアソンVUE専用】OracleMaster受験チケット(電子チケット)2枚セット
2010年06月14日
コメント(0)
・GROUP BY句とORDER BY句を同時に使用する場合、SELECT句で使ってる列をORDER BY句で指定しないといけない。・索引を変更する命令はないから、索引を変えたい時は、一回削除して作り直す。・優先順位、NAOのしたにさらに集合演算子(UNIONとか)がある。・集合演算子のソート→デフォルトでは最初の列で昇順・参照整合性制約→ON DELETE句を指定すると、参照している親キーを削除できる。・副問い合わせは、順序値の擬似列を使用できない。・ALTER TABLE MODIFY→列の定義を変更・シノニム→他ユーザが所有するオブジェクトで作成した場合は、「ユーザ名.オブジェクト名」となる・集合演算子のORDER BY句では、最初の問い合わせ文の列名か列別名を使用する。・NATURAL JOINとUSINGは一緒に使えない。・(+)は、全ての行を出さない方につける。データがかけている方。・表もオブジェクト。スキーマもオブジェクト。同一所有者で同じオブジェクト名は付けられないから、オブジェクトとスキーマで同名はつけられない。・シノニム→作成しただけだと、その名前を使えるだけ。アクセス権の設定必要。・シノニム/索引/ビュー等の削除は、DROP・単一ビューとは…一つの元表。 データグループを含まない。関数含まない。 ビューを当してDML文操作が可能・Fmは繰り返し設定できて、有効・無効・有効・・・と繰り返す・Fx修飾子は厳密なチェックを行う。・月日を省略すると、当月の1日が代入される。・SQL自体は非対話型言語だが、SQL*PlusはSQL文を対話型で扱える。・スニペッド : SQLDEVELOPERの機能の一つ・FOR UPDATE OF 列名 ・・・ その列名を持つ表のみが排他ロックされる。・スキーマオブジェクトの指定は、スキーマ名.オブジェクト名・外部キーの宣言時、親キーが主キーなら列名を省略できる(列レベル)・DELETE文にCASCADE CONSTRAIMSオプションはつけられない。
2010年06月07日
コメント(0)
更新できないビュー・グループ関数を使用・GROUP BY句を使用・DISTINCT句を使用・ROWNUM(擬似列)を使用・式による列定義で、式定義の列を更新した場合(例外あるらしい)・表を結合したビュー(一意索引があり、DML文が結合表の1つのみを処理する場合は出来る)ビューとは、SELECT文で格納されている。FORCE指定で、元表がなくてもビューを作成できる。ビューの作成にはGROUP BY句 ORDER BY句を使用できる。【色々とごっちゃになるからまとめ】USER_OBJECTビュー → オブジェクトの有効無効を確認する(所有者と作成日も確認できる。)USER_VIEWSビュー → ビューの内容(SELECT文とか)を確認USER_CONSTRAINTSビュー → 制約内容を確認USER_CONS_COLUMNSビュー → 制約内容が定義されている列を確認
2010年06月07日
コメント(0)
表の削除PORGE句 → 付けるとゴミ箱に入れず、そのまま削除される。※ゴミ箱に入っていれば、フラッシュバックが可能表を削除するには、所有者かDROP ANY TABLE権限が必要外部キーの親表の削除には、CASCADE CONSTRAINTS句を指定する。(注:外部キーの宣言方法の(ON DELETE CASCADE)と混同しないように。)<TRUNCATE>・デフォルトでは、行が使用していた領域をすべて開放する・ロールバックは出来ないが、DELETE文より処理が早い・参照整合性制約の親表は切り捨てできない・ビューに対しては指定できない・表を切り捨てても、行の削除トリガーは起動しない。
2010年06月07日
コメント(0)
http://jibun.atmarkit.co.jp/lskill01/rensai/bronzesql06/bronzesql01.htmlここを見ながら覚書【結合】等価結合・・・特定の列が特定の値と結びつく非等価結合・・・特定の列が特定の列の範囲内にあるものと結びつく→非等価結合に適してるのは ・結合する列に同じ値がない場合 ・値の範囲で結合する場合。【内部結合】クロス結合→デカルト積自然結合→2つの表の同じ表名の列を全て自動で等価結合※2つの表で同じ名前でデータ型が違う列があるとエラーになる。USING句→USING句で指定した列のみ結合条件とする。修飾できない。ON句→2つまたは1つの表の結合条件を指定する自己結合→1つの表から結合条件を充たすものを返す。これらはSQL1999構文ってよばれて、ANSIで規格化されている。自然結合はON使えなかったような・・・?USING句には条件文いれれなかったような・・・?【外部結合】NATURAL JOIN句や USING句も使える。※NATURALを頭につけると、自然結合?
2010年06月06日
コメント(0)
ALTER TABLE で出来ること。・列の追加/削除・制約の追加/削除・制約の有効化/無効化・表名/列名の変更・表のセグメントの縮小ALTER TABLEで出来ないこと・表の削除・表の切捨て
2010年06月06日
コメント(0)
知らなかった&ちゃんと覚えてなかった関数覚書。SOME→グループ比較関数。ANYと同義COALESCE(式リスト)→リストの中の最初のNULL以外の値を返すTRNC関数が、切捨て関数であって、TRUNCATE関数というものは存在しない!!標準偏差(STDDEV)、分散(VARIANCE)、数値のn乗(POWER)、平方根(SQRT)NUMBER型の最大精度は38桁COUNT は 日付型も使える(MIN,MAXも)VACHER2 4000バイト、 CHAR は 2000バイト
2010年06月06日
コメント(0)
覚書。動的パフォーマンスビューとは、DBがオープンしている間DBの稼動状況を示す情報を継続的に更新。+特徴+・SYSが所有する仮想表・SYSDBAロール付与されたユーザーもアクセス可能・参照は出来るが、DMLを使ってデータの更新は出来ない・メモリと制御ファイルの情報を元に作成(一見普通の表だが違う)・動的パフォーマンスビューの接頭辞はV$***************期間リテラルについてMONTH は0~11まで。但し、MONTH単独だと12以上もOKYERE のデフォルトは2桁まで123年と11ヶ月INTERVAL '123-11' YERE(3) TO MONTH1年と123ヶ月INTERVAL '1-123' YERE(1) TO MONTH(3)1日と1秒INTERVAL '1 00:00:01' DAY TO SECOND1時間59秒INTERVAL '1:00:59' HOUR TO SECOND
2010年06月06日
コメント(0)
シノニムについて。・元表を削除するとシノニムは無効(削除ではない。ビューと同じ?)・元表の表明を変更するとシノニムは無効・シノニムを削除しても、元表は削除されない・存在しないスキーマ・オブジェクトのシノニムを作成できる (存在しない表からビューが作成できるのと同じ感覚?)・プライベート・シノニムはRENAME出来る・パブリック・シノニムはRENAME出来ない・CREATE SYNOYM文で OR REPLACEを付けると書き換え可能・同時に存在する時プライベートシノニムの方がパブリックシノニムより優先される・プライベート・シノニムは、作成したユーザーが所有・パブリック・シノニムはなんかどっか特別なとこに保持される。・元にある表のアクセス権限と、シノニムのアクセス権限は別【シノニムの目的】・長い名前を短縮で、SQLを簡潔に出来る!・オブジェクトの所有者(スキーマ名省略可)、オブジェクト名を隠せる(別名付与)ので、セキュリティ強化
2010年06月06日
コメント(0)
外部キーって殆ど自分でテーブル作るときにはつかってなかったので、記述方法の確認とか。[CONSTRAINT 制約名] FOREIGN KEY(列名,列名…)REFERENCES親表名(列名,列名・・・)[ON DELETE {CASCADE|SET NULL}];CASCADE・・・親キーを削除すると対応する外部キーの値も削除SET NULL…親キーを削除すると、対応する外部キーの値をNULLにする。上記記述は、表制約定義時のもので、列制約の場合は、FOREIGN KEY(列名,列名)の箇所が無くなる。(制約をつける列) [CONSTRAINT 制約名] REFERENCES(略)って形になるから。
2010年06月06日
コメント(0)
http://jibun.atmarkit.co.jp/lskill01/rensai/bronzedba02/bronzedba01.htmlこちらを参照しながら、覚書。【Oracleソフトウェアのインストール】Unix環境の場合は、root権限が必要。以下のスクリプトを実行する必要があるため。・oraInstRoot.ch:インベントリの場所や所有グループの為のファイル作成・root.sh:Oracleソフトウェアのシステムファイルの作成やリンク※関連ファイル oratab (root.shで作成される)ORACLE_HOMEとORACLE_SIDが格納される。dbstartとdbshutスクリプトにてOracleサーバを起動/停止するのに使う【Oracle環境に必要な環境変数】ORACLE_BASE:OptimalFlexibleArchitecture(OFA)のディレクトリ推奨構造に従う為、ベースとなるディレクトリを作成する【Oracle環境に必要な環境変数】<DBCAで使えるテンプレートについて>カスタム・データベース以外は、物理データベースの構造ファイルを含んでいる為高速で処理可能。ただし、標準データブロックの変更などは出来ない。→カスタム・データベース以外は言い換えると、事前構成済みテンプレート※BLOCK_SIZEの初期化パラメータでブロックサイズを指定するが、カスタム・テンプレートでしか可能じゃない。<クローンDB作成について>・シード・テンプレートを使うと高速に作成できる。・シード・テンプレートはSQLスクリプト化できない。・「カスタム・データベース」ならSQLスクリプト使える。・SQLスクリプトでコピーすると、DB作成直後と同じになる為、既存オブジェクトはコピーされないので手間かかる。
2010年06月06日
コメント(0)
http://jibun.atmarkit.co.jp/lskill01/rensai/bronzedba01/bronzedba01.htmlここの講座を読みながら、抜け落ちてた知識を覚書。【リレーショナルデータベースについて】主キー:表に1つだけ用意(必須じゃない。無くてもいい。) 行の識別に使用 NULL値は絶対に入らない 作成されると自動で索引がつく外部キー:自分の表または他の表の主キーまたはユニークキーと結びつく NULL値か参照元にある値しかダメリレーショナルデータモデルは、数学の集合理論で表現される数学の集合理論→和差商積【DB管理に使用するツール】Oracle Enterprise Manager(2種類ある)Database Control ・・・ 1つのDBに一つ。 dbconsoleプロセスにて管理Grid Control ・・・ 中間層サーバにOracle Management Serverプロセスと OMEリポジトリ(管理用DB)を用意し、 複数のOracleDBやOracleApplicaionServerを管理
2010年06月06日
コメント(0)
http://jibun.atmarkit.co.jp/lskill01/rensai/bronzesql01/bronzesql01.htmlここのページを見ながら、知らなかった事を抜き出し。【SQL文の区分の覚え方を改める】今まで、DML(データ操作言語)とDDL(データ定義言語)だけしか覚えていなかった。(値の更新とか、普段良く使用するのがDML、表の作成時とか、表の定義に関係するのがDDLって覚え方だった)が、もう1個あったのね。。。DCL(データ制御言語)種類は2つ?・GRANT(権限付与)・REVOKE(権限削除)DCLのCはコントロールのC。コントロール=制御。だから制御言語。データを制御する権限があるかないかを決める言語。ってことか。【結構あやふやに覚えてる射影と選択】問い合わせによって戻す列を限定するのは 射影問い合わせによって戻す行を限定するのは 選択なぜか、抽出って言葉が出てきちゃうので、それと間違えそうになる。射影は SELECT A, B, C FROM (略) でSELECT句で列を指定する。選択は SELECT (略)WHERE A = 条件 で、where句で選択する行を指定する。【実行環境について】SQL*Plusは普段から使ってる。いつも使ってる機に入ってるから、クライアント機にインストールするって認識でOK・クライアント/サーバ接続を行う。うん・・・業務で実際行ってるね。。。某システムiSQL*Plusは殆ど使ったこと無い。ブラウザベースのSQL*Plusって認識だけど、3階層接続?っての初めて聞いた。なので覚えよう。3階層接続。[DB]--[iSQL*plusサーバ]--[ブラウザ]このイメージで合ってるかしら・・・?【SQL*Plusコマンドの属性】・・・SQLの属性と混同した・・・orzSQL*plusコマンドはOracle社独自のインターフェース(PL/SQLと一緒ですね。)問い合わせ結果のフォーマットを変更できるキーワードを短縮できる。データベース内の値は操作出来ない。コマンドをハイフンで繋いで複数行に分けてかける。SQL文を認識してOracleサーバへ送信する。等が、SQL*plusコマンドの属性。データベースのデータを操作できるとかデータベース内の表定義を変更できるとかは、SQL文の属性デスヨネ。
2010年06月05日
コメント(0)
演習問題をやってて間違えた箇所。(1)SELECT (略) Where (A列、B列) IN (SELECT C列, D列 From(略))この形式は正しい。Where (A列、B列)に惑わされたけれども、確かにこうゆう文書いた気がする。要は WHERE A列 IN (C列の結果) AND B列 IN (D列の結果) って事。(2)MONTH_BETWEEN(新,古) の場合、正の値MONTH_BETWEEN(古,新) の場合、負の値(3)CREATE TABLE 表名(*) AS SELECT * FROM 元表名;は、一見正しそうに見えたけど、エラー。表名(*) これがダメ。元表*で取得してるから、列名指定なくてもエラーにならない。(4)置換変数・文字型で使用する場合は、単一引用符をつける・数値型で使用する場合は、単一引用符をつけない・日付型で使用する場合は、単一引用符をつける→要は単一引用符つける付けないは普通の変数と同じかな。(5)ユーザーが所有する表、ビュー、クラスタ、シノニム、および順序を調べるビューUSER_CATALOGUSER_TABLESUSER_ で始まるビューは現在のユーザーが所有するスキーマだから、上記二つまで絞れたが、その後わからなかった。。。正解は USER_CATALOGカタログ。調べるからカタログって事か?ついでに、制約内容を調べるビューUSER_CONSTRAINTS結構そのまんま(´・ω・`) 最後のS忘れそうになるけど。制約が定義されている列を調べるビューUSER_CONS_COLUMNS列を調べるだから、COLUMNSか。(6)INSERT文の副問い合わせ→INSEERT INTO 表名(副問い合わせ);※カッコ省略可ビューの権限と元表の権限は別桁あふれ時は全部#####になる列見出しはデフォルトで、 文字・日付型は左詰め、数値型は右詰め。WHERE句とORDERBY句だと、WHERE句を絶対先に書く。
2010年06月05日
コメント(0)
順序の特徴・ロールバックできない。・複数のユーザーで使用できる。・複数の表で使用できる。・スキーマ・オブジェクトである。・最大値越えたら、最小値に戻る。最小値のデフォルトは1・順序を複数のユーザーで使用するにはSELECT権限が必要(所有者以外)・順序と表は直接関係ない・増減値が降順の場合-1スタート?・LAST_NUMBER 最後にディスクに書き込まれる順序番号。キャッシュが有効な時は最後に順序キャッシュに入れられた番号。(キャッシュ値+順序値?)擬似列について擬似列は、順序の値を取り出すNEXTVAL(次の値を取得)、CURRVAL(現在値を取得)がある。順序作成直後にCURRVALをSELECT句で指定するとエラーになる。最初はNEXTVALで値を取り出す。何度CURRVALの参照をしても、次のNEXTVALを参照するまで値は変わらない。擬似列はほかに ROWNUM(行番号をふる)がある。<擬似列が使用できるところ>UPDATE文のSET句INSERT文のVALUES句MARG文の更新行と追加行CREATE TABLE・・・AS SELECT文の副問い合わせのSELECT句Insertの副問い合わせのSELECT句
2010年06月05日
コメント(0)
チェック制約について。制約はDBAの問題にも出ます。つーか昨日出た。そして答え間違えた・・・orzチェック制約の特徴は↓↓・擬似列(NEXTVAL、ROWNUM等)を使用できない・SYSDATE,USER,USERENV関数を使用できない・グループ関数を使用できない・他表の列を参照できない・1つの列に複数のチェック制約付与可能・列制約定義では、定義列のみ参照可能・表制約定義では、表内のすべての列が参照可能最後の二つがちょっとややこしいかな。。。列定義だと、その列のみ check(条件式) の条件式のところで使用できる。表定義だと、表内の全ての列を check(条件式) の条件式のところで使用できる。ってことだろうか・・・?後は問題文で列制約定義を指してるのか表制約定義を指してるのか読み間違えない事が重要な気がする。あ、あとUSER と USERENV って関数知らなかったので調べてみたらUSER → 現在のユーザを取得USERENV → 現在のセッションを取得結構そのまんまね(´・ω・`)
2010年06月05日
コメント(0)
SQLは業務で散々使ってるけれども、にゃっほ~ソフトウェアや、めざせオラクルマスターで問題を解いてみると知らない知識も結構あるので、気付いた事を順次記載していきます。そうすれば、自分も覚えるしね!まず、表から行の削除を行えるDELETE文自分は当たり前のように DELETE FROM 表名;って覚えていたんですが、これ FROM 省略出来るんですね。知らんかった。。。知らんかったから、次のうち正しいSQL文を選びなさいって問題で正解 DELETE 表名;なのに、選択肢に正しいSQL無いじゃないかっ!!ってなっちゃったよ(´・ω・`)後、次のSQLDELETE (略) WHERE 列 = NULL;を実行するとどうなるかって問題でIS NULL じゃないからエラーじゃ?って思ったが、正解はエラーにはならないけど何も実行されないだった。あぁ・・・そいや IS NULLじゃなくてもエラーならなかったかも。。。お陰で実務でSQL文何処が間違ってるのかなっか中わからなかった事、そいやあった気がしたわ。。。
2010年06月05日
コメント(0)
全18件 (18件中 1-18件目)
1

![]()
