2.データベースの基礎知識【OSS DB exam Silver】

OSSsilver

現在OSS-DB Silver Ver.2を勉強中のサイト主です。

OSS DB Silverを本で勉強していても図にしないとわからなかったり、表にしたほうが分かりやすいこともあります。そのため、自分が覚えにくいと思ったこと、混同しやすいことをまとめています。書いてあることは常識なことかもしれませんが私がわからなかったことをまとめています。

勉強法などは下記に記載しています。

OSS DB Silverを取得するためにやったこと

OSS DB exam Silverの勉強内容

  1. オープンソースデータベースの一般的特徴
  2. データベースの基礎知識⇦今日はこれ!
  3. インストール
  4. 標準付属ツール
  5. 設定ファイル
  6. バックアップとリストア
  7. 基本的な運用管理
  8. SQLとオブジェクト
  9. 組み込み関数と演算子
  10. トランザクション

2.データベースの基礎知識

DBMS(データマネジメントシステム)の機能

データベースの操作や保管を行うためのソフトウェアを、データベース管理システム(Database Management System)といいます。DBMSには、データベースの定義機能や、データの検索、更新、削除などの操作、運用管理を行う機能があり、データベースを参照するアプリケーションソフトとデータベースの間を取り持ちます。

テスト内では機能と内容をまぜこぜにして出題されるので完全に機能を理解している必要がありました。

機能 内容
データベース言語の提供 データベース言語とは、DBMSに指示を与えるための言語です。データ定義言語 (DDL)、データ操作言語 (DML)、データ制御言語 (DCL) の構成要素からなります。
データ完全性 不正なデータの登録や更新を防ぎます。
トランザクション処理 複数のユーザ間でデータを共有するための機能を提供します。複数のユーザが同時に同一のデータを参照・更新した場合でも、矛盾なく正常に処理されます。
セキュリティ ユーザのアクセス権を設定したり、ユーザ認証する機能を提供します。一部の DBMS ではデータの暗号化機能も提供します。
障害復旧 トランザクション障害、システム障害、記憶媒体の障害からの復旧を行います。
分散データベース ネットワーク上の複数のコンピュータを使い、それらを仮想的に一つのDBMSとして実現します。

正規化

正規化に一番苦しみました。しかし、理解したら簡単に考えられます。

第一正規形 繰り返し項目を分割する
第二正規形 非キー属性が候補キーに完全関数従属する
第三正規形 非キー属性がどの候補キーに対しても推移的に関数従属していない。

「X→Y」「Y→Z」「Y→X」でないが成り立つ

※冗長化:コンピュータや機器、システムに何らかの障害が発生した際に備えて、予備の設備やサブシステムなどを平常時から運用しておくことをいう。

DCL/ DDL/DML

テストでがっつり間違えました…。違いをもう一度記載しておきます。

1.データベース定義機能(DDL:Data Definition Language)
データベース定義機能は、データ群の構造であるスキーマを定義するためのDBMSの機能です。ユーザはデータ定義言語でスキーマを定義します。データベースの利用の準備作業に相当します。データベース定義機能は、DDLの文を解釈して、データベース内部のスキーマを構築します。

データ定義言語 説明
CREATE 新しいテーブルやビューなどのデータベースオブジェクトを作成する
DROP 既存のデータベースオブジェクトを削除する
ALTER 既存のテーブルベースオブジェクトを変更する
TRUNCATE テーブルを再作成する(テーブル内のデータを全削除する)

2.データベース操作機能(DML:Data Manipulation Language)
データベース操作機能は、データベースの検索や更新をするためのDBMSの機能です。ユーザはデータ操作言語の文で、個々の検索や更新を指定します。これは日常的な業務の作業に相当します。データ操作機能はDMLの文を解釈して、データベースを検索して検索結果を表示したり、データベースを更新したりします。

データ操作言語 説明
SELECT テーブルからレコードを抽出する
INSERT テーブルにレコードを新規登録する
UPDATE テーブルのレコードを更新する
DELETE テーブルのレコードを削除する

3.データベース制御機能(DCL:Data Control Language)
データベース制御機能は、データのアクセス制御をするためのDBMSの機能です。データベース制御機能には、データ保全やデータ機密保護などが含まれます。ユーザはデータ制御言語の文で、データのアクセス制御を指定します。データ制御機能はDCLの文を解釈して、アクセス制御の方法を指定して、運用中に制御を続けます。

データ制御言語 説明
GRANT テーブルに対する権限を与える
REVOKE テーブルに対する権限を取り消す

所感

詳細をうるさいくらい聞かれます。ここの部分は暗記ゲーだと思ったほうが楽ですが、なぜそれになるかを理解しつつ進めないと応用問題の時に戸惑いました。