学生向けプログラミング入門

学生向けにプログラミングを解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails

データベース

HSQLDBを使用したデータベース入門その12 主キーと 正規化(2020年5月更新)

[TOP] リレーショナル・データベースでデータベースを作成するということは、テーブルを作成することです。 どのような種類のテーブルを作ってそこにどの様な情報を持たせるかを決めることを「データベースの論理設計」と呼びます。 データベースの論理設計…

HSQLDBを使用したデータベース入門その11 テーブル定義(create table)(2020年5月更新)

[TOP] 次>> ここではテーブルを定義する手順を見ていきます。 前に説明した「insert」でのデータの挿入はあらかじめ準備された空のテーブルにデータを入れる操作であって、insertでテーブルが出来るわけではありません。 これから見る操作は空のテーブルとい…

HSQLDBを使用したデータベース入門その10 仮想的なテーブル(view)(2020年5月更新)

[TOP] 次>> リレーショナル・データベースでは、view(ビュー)と呼ばれる仮想的なテーブルがよく使われます。 viewはデータベースの中では普通のテーブルのような「実体」を持っておらず、それを作り出す定義のみがシステムに記憶されます。 SQLの中でのvie…

HSQLDBを使用したデータベース入門その9 行の削除(2020年5月更新)

[TOP] 次>> テーブル上のあるデータが不用になったとき、その行は削除されなければなりません。 こうした時、命令 delete が使われます。 この命令の一般形は次の形です。 delete from テーブル名 where 削除条件; もしwhere句を省略すればそのテーブルの全…

HSQLDBを使用したデータベース入門その8 新しい行の追加(2020年5月更新)

[TOP] 次>> insert文でデータベースに行を挿入するには「values句」を使う方法と「select句」を使う方法の二つがあります。 1.insert into テーブル名 [( 項目名リスト )] values ( 値1,値2, .... ) 2.insert into テーブル名 [( 項目名リスト )] select …

HSQLDBを使用したデータベース入門その7 group by句(2020年5月更新)

[TOP] 次>> selectの出力をグループに分けて整理したいことがあります。 冊数のようなものを知るには集約関数のcountを用いればいいのですが、集約関数countがselectの出力全てを数え上げるのでそれぞれのジャンル毎の数は数えてはくれません。 こうした時「…

HSQLDBを使用したデータベース入門その6 整列(ソート)(2020年5月更新)

[TOP] 次>> SQLにはselectの出力を読み易く整列する機能があります。 まずは次の例を見て下さい。 【例1:テーブル「books2」の一部をで価格で整列】 select id, title, price from books2 where price between 0 and 1000 order by price; 「select id, ti…

HSQLDBを使用したデータベース入門その5 関数 count() avg() max()(2020年5月更新)

[TOP] 次>> 今まではselectの出力をそのまま表示してきましたが、例えば「'国語'という言葉を含む書名の本はいくつあるか?」という問にはどう答えたらいいでしょうか? こうした時SQLでは次の例のように関数count()を使用することが出来ます。 【例1:「国…

HSQLDBを使用したデータベース入門その4 selectのネスティング(2020年5月更新)

[TOP] 次>> テーブルのジョインを行うにはもう一つの方法があります。 それはselect文の内部で再びselect文を用いる方法です。 これを「selectのネスティング」といいます。 ここでのselectのネスティングでは、次の where 項目名 in ( select 項目名 from .…

HSQLDBを使用したデータベース入門その3 テーブルの結合(2020年5月更新)

[TOP] 次>> これまでの検索は少数の例外を除いて、基本的には一つのテーブルを検索するものでした。 しかし二つ以上のテーブルを組み合わせなければ検索が出来ないことは決して珍しくありません。 例えばある本の出版社を知りたいとしましょう。 ところがテ…

HSQLDBを使用したデータベース入門その2 検索条件の指定(2020年5月更新)

[TOP] 次>> from句に複数のテーブルを指定するのは、select の形では試しにくいです。 例えばたった20行からなるテーブルどうしでも、積を作れば行数は20×20=400行になってしまいます。 もし1000行程度のテーブルならその積のテーブルは100万行にも膨れ上が…

HSQLDBを使用したデータベース入門その1 SELECTの基本形(2020年5月更新)

[TOP] 次>> データベースにサンプルのテーブルを作成します。 以下の内容を2つのテキストファイルにコピーし、それに拡張子「.sql」をつけて保存して下さい。 文字コードを「SHIFT-JIS(SJS)」で保存すると文字化けせずにスムーズに進みます。 今回はSQLフ…

HSQLDBの入手とインストール(2020年5月更新)

[TOP] 次>> データベースを学ぶために無料で入手できる「HSQLDB」を利用して学びます。 HSQLDBはJavaでできたオープンソースのリレーショナルデータベースです。 サイズが小さくインストールも簡単なため、手軽にデータベースを利用できます。 HSQLDBはJava…

HSQLDBを使用したデータベース入門 TOPページ

データベース HSQLDBの入手とインストール SELECTの基本形 検索条件の指定 テーブルの結合 selectのネスティング 関数 count() avg() max()形 整列(ソート) group by句 新しい行の追加 行の削除 仮想的なテーブル(view) テーブル定義(create table) …

HSQLDBを使用したデータベース入門その12 主キーと 正規化

>>この記事には書き直した新しいページがあります。 [TOP] リレーショナル・データベースでデータベースを作成するということは、テーブルを作成することです。 どのような種類のテーブルを作って、そこにどの様な情報を持たせるかを決めることを、「データ…

HSQLDBを使用したデータベース入門その11 テーブル定義(create table)

>>この記事には書き直した新しいページがあります。 [TOP] 次>> ここではテーブルを定義する手順を見ていきます。 前に説明した「insert」でのデータの挿入は、あらかじめ準備された空のテーブルにデータを入れる操作であって、insertでテーブルが出来るわけ…

HSQLDBを使用したデータベース入門その10 仮想的なテーブル(view)

>>この記事には書き直した新しいページがあります。 [TOP] 次>> リレーショナル・データベースでは、view(ビュー)と呼ばれる仮想的なテーブルがよく使われます。 「仮想的」というのは、viewは、データベースの中では普通のテーブルのような「実体」を持っ…

HSQLDBを使用したデータベース入門その9 行の削除

>>この記事には書き直した新しいページがあります。 [TOP] 次>> テーブル上のあるデータが不用になったとき、その行は削除されなければなりません。 こうした時、命令 delete が使われます。 この命令の一般形は次の形です。 delete from テーブル名 where …

HSQLDBを使用したデータベース入門その8 新しい行の追加

>>この記事には書き直した新しいページがあります。 [TOP] 次>> insert文で、データベースに行を挿入するには、values句を使う方法と、select句を使う方法の二つがあります。 1.insert into テーブル名 [( 項目名リスト )] values ( 値1,値2, .... ) 2.ins…

HSQLDBを使用したデータベース入門その7 group by句

>>この記事には書き直した新しいページがあります。 [TOP] 次>> selectの出力を、グループに分けて整理したいことがあります。 冊数のようなものを知るには、集約関数のcountを用いればいいのですが、集約関数countがselectの出力全てを数え上げるので、それ…

HSQLDBを使用したデータベース入門その6 整列(ソート)

>>この記事には書き直した新しいページがあります。 [TOP] 次>> SQLには、selectの出力を読み易く整列する機能があります。 まずは、次の例を見て下さい。 【例1:テーブル「books2」の一部をで価格で整列】 select id, title, price from books2 where pri…

HSQLDBを使用したデータベース入門その5 関数 count() avg() max()

>>この記事には書き直した新しいページがあります。 [TOP] 次>> 今まではselectの出力をそのまま表示してきましたが、例えば「'国語'という言葉を含む書名の本はいくつあるか?」という問にはどう答えたらいいでしょうか? こうした時SQLでは、次の例のよう…

HSQLDBを使用したデータベース入門その4 selectのネスティング

>>この記事には書き直した新しいページがあります。 [TOP] 次>> テーブルのジョインを行うには、もう一つの方法があります。 それはselect文の内部で再びselect文を用いる方法です。 ここでのselectのネスティングでは、次の where 項目名 in ( select 項目…

HSQLDBを使用したデータベース入門その3 テーブルの結合

>>この記事には書き直した新しいページがあります。 [TOP] 次>> これまでの検索は、少数の例外を除いて、基本的には一つのテーブルを検索するものでした。 しかし、二つ以上のテーブルを組み合わせなければ、検索が出来ないことは決して珍しくありません。 …

HSQLDBを使用したデータベース入門その2 検索条件の指定

>>この記事には書き直した新しいページがあります。 [TOP] 次>> from句に複数のテーブルを指定するのは、select の形ではちょっと試しにくいです。 例えば、たった20行からなるテーブルどうしでも、積を作れば行数は20×20=400行になってしまいます。 もし100…

HSQLDBを使用したデータベース入門その1 SELECTの基本形

>>この記事には書き直した新しいページがあります。 [TOP] 次>> データベースにサンプルのテーブルを作成します。 以下の内容を2つのテキストファイルにコピーし、それに拡張子「.sql」をつけて保存して下さい。 今回は、SQLファイルの名前を「TestTable.sq…

HSQLDBの入手とインストール

>>この記事には書き直した新しいページがあります。 [TOP] 次>> データベースを学ぶために、無料で入手できる「HSQLDB」を利用して学びます。 HSQLDBは、Javaでできたオープンソースのリレーショナルデータベースです。 サイズが小さく、インストールも簡単…