0371.blog

ORACLE MASTER Bronze Oracle SQL 12c 第十一章

lecture


※この記事はまだ完成していません。もうちょっと待ってね。

こんにちは、0371です。

今回はORACLE MASTER Bronze Oracle SQL 12cの第十一章についてまとめました。

ORACLE MASTER Bronze Oracle SQL 12c 第十一章

第十一章は「データ定義言語の紹介」についての内容です。

について

  • CHAR型は最大サイズを省略すると1バイト。列の値は最大サイズになるように空白が追加される。
  • VARCHAR2型は最大サイズを省略することができない。
  • DATE型は世紀、年、月、日、時、分、秒が独自の数値書式で格納される。小数秒(1秒未満)は格納できない。
  • NUMBER型は精度や位取りを省略すると、最大38バイトの浮動小数点。
  • BFILE型はOSファイルとして保存されているバイナリデータにアクセスする読み取り専用のデータ型。
  • LONG型、LONG RAW型には次の制限がある。
  • 一つの表あたり1列しか定義できない(LONG型とLONG RAW型のいずれかの1つ)制約を指定できない。
  • GROUP BY句およびORDER BY句で使用できない
  • 副問い合わせを指定して表を作成した場合、コピーされない。
  • 「SELECT INTERVAL '300' MONTH FROM dual;」と指定すると「+25-00」(25年0か月)という表示になる、
  • 表の作成時には、表名、列定義(列名、データ型、サイズ)を設定する。
  • DEFAULTオプションでは、列のデフォルト値として、SYSDATE、CURRVAL、NEXTVALを指定できる。
  • 表の作成(CREATE TABLE)は自動的にコミットされる。
  • 表が作成されたことを確認するにはDESCRIBE(DESC)コマンドを使用する。
  • DESCRIBEコマンドでは、表の列名、データ型、サイズおよびNULLを許可するか否かを確認できる。
  • 制約のタイプは、NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECKの5つ。
  • 制約構文には、「列レベル」と「表レベル」がある。設定された制約の機能は同じ、
  • NOT NULL制約は列レベルでのみ定義可能。
  • 1つのCREATE TABLE文の中で、列レベルの構文と表レベルの構文の両方を使用できる。
  • UNIQUE制約を定義した列にNULLを入力することはできる。
  • 列の組み合わせに制約(複合制約)を定義する場合は、表レベルで設定する。
  • 複合制約には、複合UNIQUE制約、複合PRIMARY KEY制約、複合FOREIGN KEY制約がある。
  • PRIMARY KEY制約により、表の主キーが定義される。
  • 主キーを定義した列、または列の組み合わせにNULLや重複値を設定できない。
  • 主キーは表に一つのみ作成できる。
  • PRIMARY KEY制約は表レベル、列レベルの両方の構文を使用できる。
  • 複合主キーを定義する場合は、表レベルの構文を使用する必要がある。
  • PRIMARY KEY制約は、1つの表に1つのみ作成できる。
  • 複合PRIMARY KEY制約は、構成する列の一部にでもNULLがあってはならない。
  • 外部キーが参照できるのは、主キー(PRIMARY KEYを定義した列)または一意キー(UNIQUE制約を定義した列)。
  • FOREIGN KEY制約(外部キー)は、1つの表に複数作成できる。
  • 外部キーを定義する列と参照先の主キー列は、名前とデータ型は異なっていてもかまわない。
  • 1つの列に主キーと外部キーを同時に定義できる。
  • 外部キー制約にON DELETE CASCADEをつけた場合、親表の行が削除されると、依存する子表の行もすべて削除される。
  • 外部キー制約に ON DELETE SET NULL をつけた場合、親表の行が削除されると、依存する子表の外部キーの値がNULLに更新される。
  • CHECK制約にはBETWEEN演算子を使用できる。
  • 1つの列に複数のCHECK制約を定義できる。
  • CHECK制約を定義した列に同時にNOT NULL制約を定義していなければ、NULLの登録はCHECK制約違反にならない。
  • CHECK制約には、次の条件式は使用できない。
  • CURRVAL、NEXTVAL疑似列およびSYSDATE関数。
  • 他の行の値を参照する問い合わせ。
  • 副問い合わせを使用して表を作成すると、列のデータ型サイズ、および明示的に指定されたNOT NULL制約が新しい表に複製される。

参考書籍

オラクルマスター教科書 Bronze Oracle Database 12c SQL "https://amzn.to/2RlUGfd"

今日の一言

第十一章が分かったのでOracle SQLはマスターしたも同然!!!!

これで終了!!!