データベース入門の入門

Published: 2016年2月20日 by tomsato

概要

このブログでは何回かOracleやMySQLなどデータベースの記事を書いてきましたが今更ながらデータベースとはなんぞやというものをまとめます

入門の入門ということでブログ方針であるシンプルさ重視で説明するためインストールや実際の使い方などは書きません

※ 前提としてここで説明する内容はRDBMS(後述)にフォーカスした説明になります (MySQLやOracleなどはこれ)

データベースとは

SNSなどのユーザ情報とかってエクセルとかでまとめるとこんな風にまとまるかと思います

・ユーザー管理
test

またつぶやき内容をまとめる時にはこんな感じでまとまるかと思います

・投稿一覧
test1

こういった「何か用途があって整理整頓されたデータの集まり」のことをデータベースと言います

なんでこんな概念があるかって、図書館みたいに本が1カ所に集まっていると嬉しいですよね(ちょっと違うけど)

テーブルという概念

DBMSにはテーブル(表)という概念があります
「ユーザー管理」や「投稿一覧」のイメージはテーブルという概念にそのまま当てはまります

従って行と列で構成されているデータの構造のことをテーブルと言います

データベース管理システムとは

俗にいうDBMS (Database Management System)といってデータベースを管理するシステムのことです

MySQLやOracle DatabaseはDBMSの種類のひとつで正式にはRDBMS(関係データベース管理システム)のひとつです

RDBMSとはテーブルとテーブルを紐づけてデータを抽出できるDBMSのことです

例えば投稿一覧ページをWebやアプリで表示させる時は名前で表示させたいので
test4
のように「投稿一覧」テーブルを元に「ユーザ管理」テーブルからIDに紐づく名前(taroだったら日本太郎など)をつけることができるのです

(最初から投稿一覧に名前もつけておけばいいじゃんとツッコミが入りそうですが例なので気にしないでください)

データベース管理システムの使用イメージ

少しだけ実践ということでMySQLやOracleでどんなことができるのかイメージだけ説明します

例えば

  • 表の作成(CREATE)、削除(DROP)
  • 表のデータに追加(INSERT)、削除(DELETE)
  • 表の中から条件にあったデータの抽出(SELECT)

表の作成(CREATE)、削除(DROP)

表の作成、削除は例えば先ほどの「ユーザ管理」「投稿一覧」の2つ以外でももちろん新規にテーブルの作成、削除が行える

表のデータに追加(INSERT)、削除(DELETE)

花子さんが定期的に眠いとつぶやくことで「投稿一覧」に追加されるかもしれません
test5
(青く塗られたところが新規投稿されたデータ)

また投稿の削除で「投稿一覧」から1行データが消えることもあります

表の中から条件にあったデータの抽出(SELECT)

花子さんがどんな投稿をしているのか気になる人もいますよね
test6

もしかしたら研究者が投稿日から人の生活リズムについて研究をするかもしれません
test7

もちろんテーブルの情報を全て取得することもできますが上記のように表示する列や行を絞って抽出を行うことができるのがDBMSの良いところになります

例えば「ユーザ管理」に住所について追加したい場合に表の構成を変更したり

データベースで勝手に表削除行わないようにこのアカウントはSELECTしかできないようにするなど権限をしぼることもあります

コメントを書く

※ Emailは公開されません

※ コメントは承認されると下記に表示されます

コメント一覧

最近の投稿

vue-pdfを使ってNuxt.jsで作成しているアプリケーションに pdfスライドを表示させるサンプルを作成しました README.md通りに実装してもうまくいかないところがあったのでそのあたり含めてまとめます

Vue.js / Nuxt.jsにおけるログインの実装方法をまとめる Auth0やNuxt.jsのAuth Moduleとmiddlewareについて調べつつサンプルを作成することで理解を深める

コンポーネント設計について考える Atomic DesignやPresentational Component, Container Componentについてまとめつつ 自分だったらVue.js / Nuxt.jsでどういうコンポーネント設計にするかについてまとめます

Netlify Formsを使ってブログサイトにコメント機能を追加する方法を調べたので紹介 Netlify FormsはNetlifyに標準機能として用意されているフォーム機能 サーバレスなので別途コメント用にサーバを用意する必要がなくHTMLを埋め込むだけで準備できる

TypeScriptの入門の入門チートシート 型の種類や使い方についてまとめていくだけでなく、 TypeScriptについてや必要性などについてもまとめることでこのページでTypeScriptをざっくり理解できる程度の内容を目指す

カテゴリ一覧

タグ一覧