Database– category –
-
Database
[関係データベース]スーパーキー、候補キー、主キー、代替キー
スーパーキーと候補キーの違いがよくわからなかったので、関係データベースにおけるキーについてまとめてみました。 用語について 関係データベースの用語で説明しますが、データベースでどの用語に対応するかについてまとめておきます。 関係(リレーショ... -
Database
[SQL]INSERT SELECTでテーブルから直接INSERTする
先日投稿した記事のテーブルを使って、商品別売上実績のレコードが必ず存在するようにしてみます。 月末処理で売上平均金額を求める前に売上のない商品について0円の商品別売上実績レコードを作成する状況を想定しています。 ここではSELECTした結果をINSE... -
Database
[SQL]AVG関数の集計対象にNULLの値は含まれるのか?
データベーススペシャリスト試験の過去問で気になった問題があったので実機で試すことにしました。 現場ではこのような状況にならないようにSQLを書くので気にしたこともありませんでしたが、AVG関数の対象にNULLが含まれている場合、それは分子・分母から... -
Database
[Oracle]WITH句で階層問い合わせを行う
OracleではWITH句を使って階層問い合わせを行うことができます。 サンプルデータ 説明として、階層を持つフォルダを管理するFOLDER_TBLとフォルダに格納するファイルを管理するFILE_TBLを用意します。 CREATE TABLE FOLDER_TBL ( FOLDER_ID NUMBER(10) NOT... -
Database
[Oracle]ユーザー(スキーマ)を作成する
ローカル環境で使用する開発用・テスト用のユーザーを作成します。 今回使用した環境は以下のとおりです。 Oracle Database XE 21c 本記事で実行しているSQLは、すべてSYSTEMユーザーで実行しています。 テーブルスペースを確認する まずは使用するテーブ... -
Database
Apple Silicon MacのDockerでOracle Databaseを動かす
執筆時点(2023/03/01)での暫定的な対応となる点にご注意ください。将来的にはOracle DatabaseがARMに対応する可能性があります。Oracle DatabaseのARM対応については、以下の動画の26:40 – 27:22をご覧ください。 https://www.youtube.com/watch?v=m9vhj... -
Database
[Oracle]SQL*Plusで実行計画を取得する(SET AUTOTRACE)
実行計画の確認にはいくつかを方法がありますが、ここでは最も手軽に実施できるSQL*Plusでの実行計画の取得の方法について解説します。 実行計画を取得するための設定を行う 私がよく使っている設定をご紹介します。とりあえずこの設定を使っていただけれ... -
Database
外部キー制約でのON DELETE CASCADEオプションの使い方
外部キー制約でのON DELETE CASCADEオプションの使い方を具体的な例を使って解説します。 ON DELETE CASCADEオプションは親テーブル(参照先のテーブル)を削除するときに子テーブル(参照元のテーブル)も一緒に削除するために使用するオプションになりま... -
Database
PDBにローカルユーザーを作成する(Oracle Database 19c)
PDBにローカルユーザーの作成を行う手順について解説します。 前提 手順に使用しているデータベース環境およびCDB、PDBの設定、作成するローカルユーザーは以下のとおりです。 手順に沿ってローカルユーザーを作成する際は適宜読み替えてください。 項目値...
1