見出し画像

OSS-DB Silver 過去問 勉強記録

資格取得のためここで記録を残す




一般知識

PostgreSQLのライセンスについて

PostgreSQLライセンスのもとに配布される。
BSDライセンスやMITライセンスに類似している。比較的制限が緩いライセンスである。

著作権表示と全てのライセンス条文を含めれば、
1) ソフトウェアの使用・複製・改変・再配布は自由
2) 改変した場合もソースコード開示義務はない

基本的なSQLコマンド



BEGIN
COMMIT

CREATE
DROP
GRANT アクセス権限を定義する
REVOKE アクセス権限を取り消す

SELECT
INSERT
UPDATE
ALTER
DELETE

BEGIN:

BEGIN TRANSACTION;

COMMIT:

COMMIT;

CREATE:

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    hire_date DATE
);

DROP:

DROP TABLE employees;

GRANT:

GRANT SELECT ON employees TO user1;

REVOKE:

REVOKE SELECT ON employees FROM user1;

SELECT:

SELECT * FROM employees;

INSERT:

INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (1, 'John', 'Doe', '2023-01-15');

UPDATE:

UPDATE employees
SET first_name = 'Jane'
WHERE employee_id = 1;

ALTER:

ALTER TABLE employees
ADD COLUMN email VARCHAR(100);

DELETE:

DELETE FROM employees
WHERE employee_id = 1;


-- トランザクションブロックの開始
BEGIN;

-- テーブルの作成
CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    hire_date DATE
);

-- 権限の付与
GRANT SELECT, INSERT, UPDATE, DELETE ON employees TO user1;

-- 権限の取り消し
REVOKE DELETE ON employees FROM user1;

-- トランザクションをコミット
COMMIT;


リレーショナルモデルの特徴

1) データを二次元の票の集まりで表現する
2) 1970年にエドガー・F・コッドが提唱した
3) 集合論に基づいている

候補キー/主キー

候補キー:
 テーブルに複数ある列の中で行を一意に特定する際に使用できる
 列/最小限の列の組み合わせのこと

 重複するデータを持つ列や列の組み合わせは候補キーにならない
 候補キーは複1つのテーブルに複数存在できる

主キー:
 候補キーの中から1つ選択する。
 主キーは1つのテーブルに必ず1つしかない
 NULLを含む列や主キーにならない

非キー属性:
 候補キーでも主キーでもない列

正規化

非正規形:
 正規化してない状態

第一正規形:
 同一のデータ項目の繰り返しや分解可能な値を持たない

第二正規形:
 ・第一正規形である
 ・全ての非キー属性が候補キーに完全関数従属する

第三正規形:
 ・第二正規形である
 ・全ての非キー属性が主キーに完全関数従属している
 ・推移関数従属関係がない



関数従属:
 列間の関係を表す
 テーブルAの値でテーブルBの値を一意に決まると言う関係
    

完全関数従属:
 キーが複数の列からなる場合は、キーを構成する全ての列の値を決めることで、他の列の値が一意に決まる

部分関数従属:
 1つのテーブル内にA, B, Cという列が存在した場合、
 ・Aの値によってBの値が一意に決まる、
 ・Bの値でCの値が決める
 ・Cの値でAの値が一意に決まらない


DBMS(DataBase Management System)

主な機能:
・データベース管理
・トランザクション管理
・同時実行制御
・機密保護管理
・障害回復管理


リレーショナルモデル

リレーション: データを票田する二次元の表

表の列・行の呼び方:
列-属性、カラム、フィールド
行-タプル、レコード

ドメイン: 各属性が取りえる全ての値の集合(データ型)のこと


SQLの分類

DDL
 Data Definition Language データ定義言語
 
 テーブル、テーブルの制約、
 データベースオブジェクトを定義するコマンド群

DML
 Data Manipulation Language データ操作言語
 
 テーブルの行を検索、削除、更新、行の追加を行うコマンド群

DCL
 Data Control Language データ制御言語

 上記以外のコマンド







インストールと設定



標準付属ツールの使い方




SQL




トランザクション





関数





ログとセキュリティ





定期的な運用管理




バックアップ・リストア


この記事が気に入ったらサポートをしてみませんか?