マガジンのカバー画像

データベースを理解する

16
データベースって何だろう? よく聞く言葉だけど、専門用語だらけでよくわからず、理解をあきらめたことはありませんか。 一歩一歩あなたの理解が進むよう、極力専門用語を使わずに書いて… もっと読む
運営しているクリエイター

記事一覧

データベースを理解する 016「データの選択」

前回までで社員テーブルの定義とデータは以下の通りとなりました。

【社員テーブルの定義】社員番号:文字列型の4文字(主キー), not null社員名 :文字列型の50文字,not null入社日 :日付型,not null退職日 :日付型登録日 :日付型,not null,初期値=当日日付更新日 :日付型

【社員テーブルのデータ】

データベースは検索できることに意味があります。
では、必要な

もっとみる

データベースを理解する 015「主キー」

テーブルの定義は前回まででこのようになっています。

【定義】社員番号:文字列型の4文字(一意性制約あり), not null社員名 :文字列型の50文字,not null入社日 :日付型,not null退職日 :日付型登録日 :日付型,not null,初期値=当日日付更新日 :日付型

テーブルには、テーブル内の行を一意に特定するための列が必要なことが多いです。(※一意に特定する必要が無い例

もっとみる

データベースを理解する 014「初期値」

社員テーブルの定義が以下の通りとなっています。

【定義】社員番号:文字列型の4文字(一意性制約あり), not null社員名 :文字列型の50文字,not null入社日 :日付型,not null退職日 :日付型登録日 :日付型,not null更新日 :日付型

改めて、新たに社員が入ってきた社員のデータを登録します。
データは以下の通りです。
・社員番号=1846
・社員名=C田 W三

もっとみる

データベースを理解する 013「必ず値が入る項目」

前回、登録日と更新日の項目を追加して、社員テーブルの定義とデータは以下の通りになっています。

【定義】社員番号:文字列型の4文字(一意性制約あり)社員名 :文字列型の50文字入社日 :日付型退職日 :日付型登録日 :日付型更新日 :日付型

【データ】社員番号  | 社員名  | 入社日   | 退職日    | 登録日   | 更新日=========+==========+=========

もっとみる

データベースを理解する 012「後から追加した項目」

テーブルに登録したデータがいつ登録されたものか、いつ更新されたものかを記録しておきたいことがあります。
そこで、以下の2項目を追加することにしました。
・最初に登録された日付を登録する「登録日」
・最後に更新された日付を登録する「更新日」

【定義】社員番号:文字列型の4文字(一意性制約あり)社員名 :文字列型の50文字入社日 :日付型退職日 :日付型登録日 :日付型←今回追加更新日 :日付型←今

もっとみる

データベースを理解する 011「ないものはない」

社員テーブルを作ったものの、退職した人もいるので列を増やしましょう。
入社日と退職日を増やします。型はどちらも日付型です。

【定義】社員番号:文字列型の4文字(一意性制約あり)社員名 :文字列型の50文字入社日 :日付型退職日 :日付型

で、6名の入社日と退職日をそれぞれ入力しました。

【データ】社員番号  | 社員名  | 入社日   | 退職日=========+==========+

もっとみる

データベースを理解する 010「並び順」

社員テーブルの定義・データを以下の通りとします。

【定義】社員番号:文字列型の4文字(一意性制約あり)社員名 :文字列型の50文字

【データ】社員番号 | 社員名========+===========1759   | X山 B郎2827   | C田 D彦3339   | A口 F子4210   | G本 H行4211   | D藤 Z子0212   | Z坂 X人

社員名のリストを出して

もっとみる

データベースを理解する 009「数字と数値」

前回、社員テーブルの社員番号のデータ型を「文字列型の4文字」にしてみました。

この、4文字を超える値を社員番号列に入れようとすると制約違反になりますが、4文字以内であれば「021A」のような数字以外の文字列は登録できてしまいます。

列のデータ型には、整数型・数値型(小数点以下あり)のように、数値を扱うデータ型もあるので、「021A」が入力できないように社員番号を整数型にしてみました。

社員番

もっとみる

データベースを理解する 008「列への制約(文字数)」

社員テーブルに社員が登録されています。
前回、一人増えました。

社員番号 | 社員名========+===========1759   | A山 B郎2827   | C田 D彦3339   | E口 F子4210   | G本 H行4211   | N藤 Z子

さらに新しく社員が入ってきたので登録しようと思います。こんなデータです。
・社員番号=0212
・社員名=Z坂 X人

重複してい

もっとみる

データベースを理解する 007「一意性制約」

社員テーブルに、社員が登録されています。

社員番号 | 社員名========+===========1759   | A山 B郎2827   | C田 D彦3339   | E口 F子4210   | G本 H行

新しく社員が入ってきたので登録しようと思います。こんなデータです。
・社員番号=4210
・社員名=N藤 Z子

登録してみました。

社員番号 | 社員名========+===

もっとみる
データベースを理解する 006「テーブルと列」

データベースを理解する 006「テーブルと列」

テーブルを作ってデータを入れてみましょう。
とりあえずイメージしやすいようにExcelで。

↓の通りに見立ててみます。

・データベース⇒Excelのブック・テーブル  ⇒Excelのシート・列     ⇒Excelの列・データ(行) ⇒Excelの行

「勤務データ管理.xlsx」のブックを作って、
「社員テーブル」のシートを作って、
「社員番号」「社員名」の列を作ります。

そこに社員を4人

もっとみる

データベースを理解する 005「データベースで管理するもの」

データベースで広く出回っているのは関係型データベースです。
Relational DataBase(RDB)とも呼びます。

関係型データベースでは、扱いたいデータを表形式で保持します。
この表を「テーブル」と呼び、データの種類に作る数を決めます。
テーブルには必要な項目を決定し、列として定義します。
その後、具体的なデータを登録することが可能になります。

例えば、社員の勤務データを管理するデー

もっとみる

データベースを理解する 004「並び順」

データの検索ができたら、その結果を何らかの形で見たいですよね。

1件だけなら気にしないけど、
2件以上ある時に気になってくるのが「結果の並び順」。

いくつか思い当たるものを挙げてみると…
・データを登録した順
・五十音順
・アルファベット順
・何か決められたコードの順
・数字の順序
・…

などありますが、並べ替えたい順があるのであれば、その項目を含めてデータとして登録しておく必要があります。

もっとみる

データベースを理解する 003「検索項目を決める」

データベースで考えどころの一つとなるのは、「電子計算機を用いて検索することができるように体系的に構成したもの」を実現するにあたっての、何を検索できるようにするか、だと思っています。

何をやりたいのかがはっきりしている場合。
検索したい項目を作っておいて、任意の値で検索ができるようにしておくのはそれほど難しくないのです。

問題はそれがはっきりしていない時。
個人的には取りうる項目は入れられるだけ

もっとみる