学習日記

学習記録

データベースの基本を洗い出してみる

データベース基礎

前書き

、データベースの基礎を書き連ねていこうと思います

そもそもデータベースとは

  • コンピューターから素早くアクセスできるように加工したデータの集合
    • データベースを管理する専用のシステムのことをDBMS(データベースマネジメントシステム)と呼ぶ
  • 顧客情報、在庫情報等を管理するために使われている
    • 現代ではありとあらゆるものを管理するために使われていて、上記のほかにも実に多様なユースケースがある

DBMSは何をしてくれるのか

  • データベースの操作 作成 管理 をしてくれる
  • 多人数で同時にデータベースを操作できるようにしてくれる
  • データベースを直接インターネット上に置かなくてもよいのでセキュリティを強固にしてくれる

DBMSで使われているデータベースの種類

  • 階層型データベース

    • 階層構造(木構造) で管理されるデータベース
    • 最も古くからあるデータベースの1種
  • リレーショナルデータベース

    • 列と行からなる2次元表の形式で管理されるデータベース(Excelみたいな)
    • 関係データベースとも呼ばれる
    • 現在最も広く利用されるデータベース
    • SQLという専用の言語を用いて捜査する
    • リレーショナルデータベースを扱うDBMSの事をRDBMSと言う(リレーショナルデータベースマネジメントシステム)
  • オブジェクト指向データベース

    • データとそのデータを操作する処理をまとめてオブジェクトとして管理するデータベース
  • XMLデータベース

    • XLM形式のデータを管理するデータベース
  • キー・バリュー型データベース

    • Rubyで言うところのハッシュのような形で管理されるデータベース

データベースの構成(RDBMS)

テーブルの構造

  • 管理している2次元表のことをテーブルと呼ぶ

    • RDBMSが管理しているデータベースの中にテーブルを置いて管理する
    • 1個のデータベースの中には複数のテーブルを置ける
  • SQL文に対する応答で返されるデータも必ずテーブルと同じ構造になる(2次元表)

  • テーブルの列をカラム、行をレコードと呼ぶ -RDBMSではデータの読み書きは行(レコード)単位で行う

  • 列に対応した型のデータ以外は入れられない

    • 数値が入力されることが期待された列には数値しか、文字列が期待された列には文字列しか入れられない
  • 1つの列と行が交わる部分に入れることのできるデータは一つだけ

    • 行と列が交わる部分(Excelでいうセル)にRDBMSでは決まった名称はない
    • Excelで言うところのセルの分割が出来ない

SQL基礎

SQL概要

  • データベースを操作するための専用言語
  • 標準規格がある
    • 実際にはRDBMS毎に若干の違いがあり、方言とも呼ばれる
  • 文章の区切りはセミコロン
  • SQLは3種類に分類できる
    • DDL(データ定義言語)
    • DML(データ操作言語)
    • DCL(データ制御言語)
  • 大文字・小文字は区別されない
    • テーブルに登録されているデータについては区別される
  • 文字列を書くときはシングルコーテーション('こんにちは')
    • ダブルコーテーションが使えるRDBMSもあるが、移行時のエラーに繋がる可能性有
  • 数値を書くときはそのまま(10)
  • 単語間の区切りは半角スペースか改行