2021情報処理ニュースドキュメンタリーダイジェスト整理-7.SQLアプリケーション



📯 データベースベース


▶ 取引
論理機能 操作のデフォルト単位
▶ トランザクションのプロパティ
⦁  原子: 操作の最小単位. ぜんたいえんざん 成功 または 失敗
⦁  コンシステンシコンシステンシ:トランザクションが正常に実行された後は常に 一貫した データベース#データベース# ≪ステータス|Status|emdw≫ 保存#ホゾン#
⦁  隔離(Isolation): 中間結果を アクセスできません
⦁  永続性:正常に完了したトランザクションの結果は次のとおりです. 永続的にデータベース内 ちょぞう
▶ トランザクション制御言語TCL
⦁  コミット(COMMIT):メモリ内 永続保存
⦁  ロールバック(ROLLBACK):エラーが発生した場合、 エラーの前 特定の時点 ≪ステータス|Status|emdw≫ 制御語に戻る
⦁  チェックポイント: ロールバック のために ポイント 指定#シテイ#
▶ 同時制御:コンシステンシ・クリティカル・テクノロジー
複数のユーザー環境で 複数のトランザクションを実行するときに、データベースの 一貫性を保つために インタラクションの制御方法
▶ パラレル制御テクノロジータイプ
⦁  ロック: トランザクションの継続性の確保 シリアル化技術
⦁  楽観的な検証: まずトランザクションを実行します. トランザクションの終了時に検証を実行
⦁  ≪タイムスタンプ順序|Timestamp Order|oem_src≫:タイムスタンプの指定された時間に基づいてトランザクションを実行します.
⦁  マルチバージョン同時制御(MVCC):タイムスタンプを比較して、適切なシリアル可能バージョンを選択してアクセス
▶ 独立性レベル–重要テクノロジーの独立性
他のトランザクションが現在のデータの整合性を損なわないことを確認します. ロックの度合いを設定
▶ 孤立レベルのタイプ
⦁  Read Uncommitted:別のトランザクションが処理中のデータを読み込むことを許可
⦁  Read Committed:トランザクションの演算が完了すると読み取り可能
⦁  Repeatable Read:トランザクションの終了前にデータの更新と削除を制限
⦁  シリアルRead:特定データ領域を順次読み出す場合、そのデータ領域へのアクセスを制限する
▶ リカバリ・テクノロジー–持続性の重要なテクノロジー
トランザクション中に、障害によって破損したデータベースを破損前の正常な状態に戻します.
▶ リカバリ方法の種類
⦁  ログ・ベースのリカバリ・テクノロジー
  • 遅延更新復旧技術:トランザクション完了後にデータベースに書き込む
  • インスタント・アップデート・リカバリ・テクノロジー(インスタント):トランザクション中に更新結果をデータベースに直接反映する
  • ⦁  チェックポイント・リカバリ・テクノロジー:障害前の状態にリカバリ
    ⦁  シャドウページングリカバリテクノロジ:DBトランザクションの実行時 コピー データベースの作成 障害 4時 これは. リカバリ・テクノロジーの使用
    ▶ DDLターゲット
    ⦁  ≪ドメイン|Domain|ldap≫:属性は げんしちしゅうごう
    ⦁  モード:データベースの Structure などの情報 きほんこうぞう
  • 外部、コンセプト、内部アーキテクチャ
  • ⦁  表:データストア
    ⦁  表示: 仮想テーブル
    ⦁  索引: 検索速度を高速化するためのデータ構造(純データ構造)

    📯 アプリケーションSQLの作成


    ▶ データ解析関数のタイプ
    ⦁  集約関数:複数行または表全体の行から 結果値を返す関数
    ⦁  グループ関数:グループ間の小計や中継など. 中間要約分析データの関数を計算します.列値に基づいてグループ化し、結果をグループ別に出力する関数です.
    → ROLLUP, CUBE, GROUPING SETS
    ⦁  Windows関数Windowsかんすう:DBの使用DBのしよう オンライン分析処理および意思決定支援システム(OLAP)機能とも呼ばれる標準SQLに追加されたオンライン分析処理に使用される機能
    →順序関数、行順序関数、グループ内比率関数

    📯 プロシージャSQLの使用


    ▶ プロシージャSQLのタイプ 
    プロシージャ、カスタム関数、トリガ
    ▶ プロセス
    一連のクエリーを完了します. 関数のように実行するには クエリのセット
    ⦁  プロシージャ構成:DECLARE(宣言)BEGIN/ENDCONTROL(制御)SQLEXCEPTION(例外)TRANSACTION(実行)
    ▶ カスタム関数
    一連のSQL処理を実行します. 実行結果 単一の値として返すことができるプログラム化SQL
    ⦁  カスタム関数構成(DebiconSER):RETURNを追加(戻る)
    ▶トリガ(Trigger)
    データベースシステム 挿入、削除、リフレッシュ などの イベントが発生するたびに 関連タスク 自動実行のプロセス化SQL
    ⦁  トリガが追加された構成(デバイスステータス):EVENT(イベントセクション)

    📯 データ操作プロセスの最適化


    ▶ オプティカル(光学式)ドライブ(Optimizer)
    SQLを最も迅速かつ効率的に実行する 最適化された処理パス 生成 DBMSコアエンジン
    ▶ オプティカル(光学式)ドライブのタイプ
    ⦁  ルール・ベースのファイバ・マネージャ(RBO): 統計なし ステータスから 事前登録されたルールに基づいてクエリー実行計画を選択
    ⦁  コストベースの光学ドライブ(CBO): 統計から すべてのアクセスパスに対するクエリー実行プランの選択
    ▶ (SQL)ヒント
    実行する SQL文 あらかじめ知らせる SQL文の実行時 クイック結果効果を作成する方法
    ⦁  必要に応じてオプティカル(光学式)ドライブの実行計画を変更できます.
    ⦁  コンボは常に最適な実行計画を立てることができないため、ヒントを使用します.

    📯 SQLクリーンアップ


    ▶ DDLコマンド
  • CREATE:テーブル作成
  • CREATE TABLE 테이블명
    (
    	컬럼명 데이터타입 [제약조건],
    	컬럼명 데이터타입 NOT NULL,
    	컬럼명 데이터타입 CHECK(조건식)
    	컬럼명 데이터타입 DEFAULT,
    )
  • ALTER:表の列の追加、列の変更、列の削除
  • ALTER TABLE 테이블명 ADD 컬럼 데이터타입 [제약조건];
    ALTER TABLE 테이블명 MODIFY 컬럼 데이터타입 [제약조건];
    ALTER TABLE 테이블명 DROP 컬럼명;
  • DROP:削除テーブル
  • DROP TABLE 테이블명 [CASCADE| RESTRICT];
    
    CASCADE : 참조하는 테이블까지 연쇄적으로 제거하는 옵션
    RESTRICT : 다른테이블이 삭제할 테이블을 참조중이면 제거하지 않는 옵션
  • TRANCATE:表のデータを削除
  • TRUNCATE TABLE 테이블명;
    ▶ VIEW、INDEXに関するDDL
  • VIEW
  • CREATE VIEW 뷰이름 AS
    SELECT
    FROM
    WHERE
    ---
    CREATE OR REPLACE VIEW 뷰이름 AS
    SELECT
    FROM
    WHERE
    ---
    DROP VIEW 뷰이름;
  • INDEX
  • CREATE INDEX 인덱스명 ON 테이블명(컬럼명)
    ---
    ALTER INDEX 인덱스명 ON 테이블명
    ---
    DROP INDEX 인덱스명;
    ▶ DML:データ操作言語
  • SELECT:照会データ
  • SELECT [DISTINCT] 속성명, 속성명,
    FROM 테이블이름
    WHERE 조건
    	(BETWEEN A AND B)
    	(LIKE 패턴)
    	(IS NULL)
    GROUP BY 속성명
    HAVING 그룹조건
    ORDER BY 속성 [ASC|DESC];
    * 서브쿼리 : 쿼리 안에 쿼리
    1. 내부조인
    SELECT A.책번호, 
    
    2. 왼쪽외부조인
    
    3. 오른쪽외부조인
    
    4. 완전외부조인
    
    5. 교차조인
    
    6. 셀프조인
    UNION : 중복이 제거됨
    UNION ALL : 중복을 허용
    INTERSECT : 공통적으로 존재하는 결과 반환
    MINUS : 첫쿼리에 있고 두번째 쿼리에 없는 결과 반환
  • INSERT:挿入データ
  • INSERT INTO 테이블명 (속성명)
    VALUES (데이터)
  • UPDATE:修正データ
  • UPDATE 테이블명
    SET 속성명 = 데이터
    WHERE 조건;
  • DELETE:データ削除
  • DELETE FROM 테이블명
    WHERE 조건;
    ▶ DCL
  • 授権/権限回収
  • GRANT 권한 ON 테이블 TO 사용자
    REVOKE 권한 ON 테이블 FROM 사용자
    出典:https://powerdev.tistory.com/83