...

情報教育におけるデータベース環境の考察

by user

on
Category: Documents
3

views

Report

Comments

Transcript

情報教育におけるデータベース環境の考察
保健医療経営大学紀要 № 8 29 ~ 39 (2015)
<研究ノート(Research Note)>
情報教育におけるデータベース環境の考察
- Access、MySQL から MariaDB まで -
川島 秀樹*
要 旨
大学の授業において、データベース環境はパソコンの Windows をベースにした Access が中心である。企業の社内教育
と違って、Orac e などを使わないので物足りないが、Linux を利用した MySQL を使うことによって、環境設定が容易で
あり、学生の能力を涵養させることができた。本稿では、授業で演習している Access、MySQL のメリットについて述べ
る。また、オペレーティングシステムが Windows、Linux に関わらず、マイクロシミュレーションモデルを構築したデー
タベース環境についても論述する。さらに、情報教育の環境に MariaDB などのデータベース環境を設定して、MySQL と
の比較検討をしてみた。
Keywords: リレーショナルデータベース (RDB)、Access、Linux、MySQL、MariaDB
はじめに
2 年生前期のプログラミング A では Java を、3 年後期
大学で情報学関連の科目を教えて 14 年になる。そ
の専門演習Ⅱでは Java のオブジェクト指向を教えて
の前に、外資系の IT 企業で約 20 年間システムエンジ
いる。ただ、それぞれ半期の授業であるため、DB プロ
ニア (SE)として働き、新人研修などのインストラク
グラミングまで教えるに至っていない。
タを 8 年ほど担当した。情報教育で特に感じるのは、
また、非常勤先の大学ではデータベース演習を Access
パソコンの進化であり、その中でもネットワーク環境
で行っている。本稿では Access、MySQL のメリット、
の進歩は目を見張るものがある。しかしながら、パソ
デリメットについて述べる。また、マイクロシミュレー
コンのデータベース(DB)開発環境はそれほど進化し
ションモデルを構築したデータベース環境についても
ておらず、汎用コンピュータの DB の充実度に比べる
論述する。さらに、情報教育のデータベース環境に
と、オープン環境はもう一歩であると思われる。企業
MariaDB のデータベース環境を設定して、MySQL との
では、マイクロソフトの SQLDB やオラクルなどのソフ
比較検討をしてみた。
トウェア開発の蓄積がある。しかし大学では、データ
ベースを活用したデータ分析の研究は、各学部のそれ
1.データベースを使った授業の展開
ぞれの分野で行っており、企業ほど大がかりではない
1.1 データベース関連授業の展開
と思われる。
1) Access
本務校の保健医療経営大学では病院の事務スタッフ
Access は、マイクソフトの Office Professiona
に就職する学生が半数以上であり、診療情報管理士、
に入っているデータベース管理ソフトウェアである。
院内 SE(医療情報技師)などの専門職に就く可能性が
Visua
高いことから、1 年生の情報処理入門Ⅱ
(後期)に Access
知らなくても、小さなシステムを構築できる。一般的
の授業を、3 年生の情報科学Ⅱ(前期)にデータベース
なリレーショナル・データベース(以下 RDB と記す)
Access によるシステム構築の授業を行っている。さら
では、データを保存するテーブルとビュー(クエリ)
に、専門演習Ⅰ(2 年生後期)においては、Linux によ
からなり、画面作成や帳票は他のツールを使い、プロ
る MySQL の演習を行っている。プログラムの授業では、
グラムにて作成するやり方がほとんどである。汎用機
*
Basic( 以下 VB と記す ) や Java プログラムを
保健医療経営大学保健医療経営学部 教授 [email protected]
-29-
ਅ RDB
ߣ⸥ߔ㧕ߢߪ‫଻ࠍ࠲࡯࠺ޔ‬ሽߔࠆ࠹࡯ࡉ࡞
ࠆ‫ޕ‬Visual
Basic(એਅ VB ߣ⸥ߔ)߿ Java ࡊࡠࠣ ↹㕙⸳⸘ࠍㅢߓߡታ〣⊛ߥᯏ⢻ߣ᭴▽ᣇᴺ㧘ታ〣
߹ߚ‫ޔ‬ᖱႎ⑼ቇΤ㧔࠺࡯࠲ࡌ࡯ࠬṶ⠌㧕ߩ᝼ᬺ
ߣࡆࡘ࡯㧔ࠢࠛ࡝㧕߆ࠄߥࠅ‫↹ޔ‬㕙૞ᚑ߿Ꮽ␿ߪ
࡜ࡓࠍ⍮ࠄߥߊߡ߽‫ޔ‬ዊߐߥࠪࠬ࠹ࡓࠍ᭴▽ߢ߈ ⊛ߥᯏ⢻ࠍቇ⠌ߒߡ޿ߊ‫ޕ‬
ౝኈߪ⴫ 2 ߩߣ߅ࠅߢ޽ࠆ‫ⷐޕ‬᳞ಽᨆߣᬺോಽᨆ
ઁߩ࠷࡯࡞ࠍ૶޿‫ߡߦࡓ࡜ࠣࡠࡊޔ‬૞ᚑߔࠆ߿ࠅ
ࠆ‫ࠬ࡯ࡌ࠲࡯࠺࡮࡞࠽࡚ࠪ࡯࡟࡝ߥ⊛⥸৻ޕ‬㧔એ ⴫ 2ߩᚻᴺࠍቇ߮‫߇⸘⸳ࠬ࡯ࡌ࠲࡯࠺ޔ‬ਥ૕ߦߥࠆ‫ޕ‬
ᖱႎ⑼ቇΤ ᝼ᬺౝኈ
ᣇ߇߶ߣࠎߤߢ޽ࠆ‫ޕ‬᳢↪ᯏߢߪ
1 ↹㕙ࠍ૞ᚑߔ
ਅ RDB ߣ⸥ߔ㧕ߢߪ‫଻ࠍ࠲࡯࠺ޔ‬ሽߔࠆ࠹࡯ࡉ࡞
↹㕙⸳⸘ࠍㅢߓߡታ〣⊛ߥᯏ⢻ߣ᭴▽ᣇᴺ㧘ታ〣
川 島 秀 樹
ࠆߩߦ
1 ᣣ߆߆ߞߚࠅ‫ޔ‬1 Ꮽ␿ࠍ૞ᚑߔࠆߩߦ 2
࿁ᢙ⊛ߥᯏ⢻ࠍቇ⠌ߒߡ޿ߊ‫ޕ‬
᝼ ᬺ ౝ ኈ
ߣࡆࡘ࡯㧔ࠢࠛ࡝㧕߆ࠄߥࠅ‫↹ޔ‬㕙૞ᚑ߿Ꮽ␿ߪ
ᣣ߆߆ߞߚࠅߒߚ‫ޔ߇ࠈߎߣޕ‬Access
ߪ࠙ࠖࠩ࡯
1
ઁߩ࠷࡯࡞ࠍ૶޿‫ߡߦࡓ࡜ࠣࡠࡊޔ‬૞ᚑߔࠆ߿ࠅ
࠼ᯏ⢻ࠍ૶߁ߎߣߦࠃࠅ‫ޔ‬ᢙචಽߢ↹㕙㧔ࡈࠜ࡯
では
1ᣇ߇߶ߣࠎߤߢ޽ࠆ‫ޕ‬᳢↪ᯏߢߪ
画面を作成するのに 1 日かかったり、1
帳票を
1 ↹㕙ࠍ૞ᚑߔ
作成するのに
ࡓ㧕ߣᏭ␿㧔࡟ࡐ࡯࠻㧕ࠍ૞ᚑߢ߈ࠆ‫ޕ‬
ࠆߩߦ 12 日かかったりした。ところが、Access
ᣣ߆߆ߞߚࠅ‫ޔ‬1 Ꮽ␿ࠍ૞ᚑߔࠆߩߦ 2
は ウᖱႎಣℂ౉㐷Τ(1
ィザード機能を使う
ことにより、数十分で画面
ᐕᓟᦼ)ߩ᝼ᬺౝኈߪ‫ޔ‬ඨᦼ
2
䉥䊥䉣䊮䊁䊷䉲䊢䊮
⴫ 2 ᖱႎ⑼ቇΤ ᝼ᬺౝኈ
表 2 情報科学Ⅱ 授業内容
3
ᣣ߆߆ߞߚࠅߒߚ‫ޔ߇ࠈߎߣޕ‬Access ߪ࠙ࠖࠩ࡯
4
15 ࿁ߩ߁ߜ
8 ࿁ߢ޽ࠆ‫ޕ‬
㧔⴫ 1 ෳᾖ㧕࠺࡯࠲ࡌ࡯
࠼ᯏ⢻ࠍ૶߁ߎߣߦࠃࠅ‫ޔ‬ᢙචಽߢ↹㕙㧔ࡈࠜ࡯
(フォーム)と帳票(レポート)を作成できる。
情報処理入門Ⅱ(1 年後期 ) の授業内容は、半期 15
ࠬ᭴▽ߩᚻ㗅߆ࠄᆎ߹ࠅ‫ࠬ࡯ࡌ࠲࡯࠺ޔ‬ᣂⷙ૞ᚑ‫ޔ‬
ࡓ㧕ߣᏭ␿㧔࡟ࡐ࡯࠻㧕ࠍ૞ᚑߢ߈ࠆ‫ޕ‬
回のうち
8 回である。(表 1 参照)データベース構築
5
ᖱႎಣℂ౉㐷Τ(1 ᐕᓟᦼ)ߩ᝼ᬺౝኈߪ‫ޔ‬ඨᦼ
の手順から始まり、データベース新規作成、テーブル、
6
࠹࡯ࡉ࡞‫࡯ࠜࡈޔ࡝ࠛࠢޔࡊ࠶ࠪࡦ࡚ࠪ࡯࡟࡝ޔ‬
ࡓ‫ߣ࠻࡯ࡐ࡟ޔ‬ㅴ߼ߡ޿ߊ‫ᦨޕ‬ᓟߪ࠹ࠠࠬ࠻ߩ✵
リレーションシップ、クエリ、フォーム、レポートと
15 ࿁ߩ߁ߜ 8 ࿁ߢ޽ࠆ‫ޕ‬
㧔⴫ 1 ෳᾖ㧕࠺࡯࠲ࡌ࡯
⠌໧㗴ࠍ૶ߞߚ✚วṶ⠌ࠍⴕߞߡ޿ࠆ‫ޕ‬
進めていく。最後はテキストの練習問題を使った総合
ࠬ᭴▽ߩᚻ㗅߆ࠄᆎ߹ࠅ‫ࠬ࡯ࡌ࠲࡯࠺ޔ‬ᣂⷙ૞ᚑ‫ޔ‬
演習を行っている。
⴫ 1࠹࡯ࡉ࡞‫࡯ࠜࡈޔ࡝ࠛࠢޔࡊ࠶ࠪࡦ࡚ࠪ࡯࡟࡝ޔ‬
ᖱႎಣℂ౉㐷㸈 ᝼ᬺౝኈ
表 1 情報処理入門Ⅱ 授業内容
ࡓ‫ߣ࠻࡯ࡐ࡟ޔ‬ㅴ߼ߡ޿ߊ‫ᦨޕ‬ᓟߪ࠹ࠠࠬ࠻ߩ✵
7
8
䌁䌣䌣䌥䌳䌳䋬䊂䊷䉺䊔䊷䉴᭴▽䈱ᚻ㗅
⴫ 1 ᖱႎಣℂ౉㐷㸈 ᝼ᬺౝኈ
2
䊂䊷䉺䊔䊷䉴ᣂⷙ૞ᚑ
࿁ᢙ
᝼ ᬺ ౝ ኈ
䊂䊷䉺䊔䊷䉴䋬䊁䊷䊑䊦૞ᚑ
1
䌁䌣䌣䌥䌳䌳䋬䊂䊷䉺䊔䊷䉴᭴▽䈱ᚻ㗅
4
䊥䊧䊷䉲䊢䊮䉲䉾䊒䈱૞ᚑ䋬䉪䉣䊥૞ᚑ
2
䊂䊷䉺䊔䊷䉴ᣂⷙ૞ᚑ
5
䊐䉤䊷䊛
3
䊂䊷䉺䊔䊷䉴䋬䊁䊷䊑䊦૞ᚑ
6
䊧䊘䊷䊃䈱૞ᚑ
4
䊥䊧䊷䉲䊢䊮䉲䉾䊒䈱૞ᚑ䋬䉪䉣䊥૞ᚑ
7
✚วṶ⠌䋱䋨䊁䉨䉴䊃䈱✵⠌໧㗴䋩
5
䊐䉤䊷䊛
8
✚วṶ⠌䋲䋨◲න䈭䉲䉴䊁䊛᭴▽Ṷ⠌䋩
6
䊧䊘䊷䊃䈱૞ᚑ
Access ߪ‫ޔ‬ೋᱠ⊛ߥၮ␆⻠ᐳߢ޽ߞߡ߽‫࡯࠺ޔ‬
Access は、初歩的な基礎講座であっても、データ
7
✚วṶ⠌䋱䋨䊁䉨䉴䊃䈱✵⠌໧㗴䋩
࠲ࡌ࡯ࠬߩ᭎ᔨ
㧔ਥࠠ࡯߿ᄖㇱࠠ࡯‫ޔ‬ෳᾖᢛวᕈ‫ޔ‬
ベースの概念(主キーや外部キー、参照整合性、クエ
8
✚วṶ⠌䋲䋨◲න䈭䉲䉴䊁䊛᭴▽Ṷ⠌䋩
リの使い方)がわからないと、
授業についていけない。
3
᝼ ᬺ ౝ ኈ
䉲䉴䊁䊛㐿⊒䈫䈠䈱ᛛⴚ
1
䉥䊥䉣䊮䊁䊷䉲䊢䊮
ⷐ᳞ಽᨆ䈫ᬺോಽᨆ䈱ᚻᴺ
2
䊂䊷䉺䊔䊷䉴䈱ၮᧄ
ᬺോಽᨆ䈱੐଀
3
䉲䉴䊁䊛㐿⊒䈫䈠䈱ᛛⴚ
Access 䈮䉋䉎䉲䉴䊁䊛㐿⊒/䉲䉴䊁䊛䈱᭎ⷐ
4
ⷐ᳞ಽᨆ䈫ᬺോಽᨆ䈱ᚻᴺ
䊂䊷䉺䊔䊷䉴䈱ᣂⷙ૞ᚑ䋬䊁䊷䊑䊦䈱ᣂⷙ૞
5
ᬺോಽᨆ䈱੐଀
ᚑ䋬䊥䊧䊷䉲䊢䊮䉲䉾䊒
6䊂䊷䉺䈱౉ജ䈫䊐䉤䊷䊛䋬䉰䊑䊐䉤䊷䊛䈱⚵䉂
Access 䈮䉋䉎䉲䉴䊁䊛㐿⊒/䉲䉴䊁䊛䈱᭎ⷐ
7ㄟ䉁䉏䈢䊐䉤䊷䊛䋬ᬌ⚝ᯏ⢻䈱⚵䉂ㄟ䉁䉏䈢䊐
䊂䊷䉺䊔䊷䉴䈱ᣂⷙ૞ᚑ䋬䊁䊷䊑䊦䈱ᣂⷙ૞
䉤䊷䊛
ᚑ䋬䊥䊧䊷䉲䊢䊮䉲䉾䊒
࿁ᢙ
᝼ ᬺ ౝ ኈ
⠌໧㗴ࠍ૶ߞߚ✚วṶ⠌ࠍⴕߞߡ޿ࠆ‫ޕ‬
1
䊂䊷䉺䊔䊷䉴䈱ၮᧄ
࿁ᢙ
9
8䉪䉣䊥䈮䉋䉎䊂䊷䉺ᠲ૞䋬䉲䉴䊁䊛䈪૶↪䈜䉎䉪
䊂䊷䉺䈱౉ജ䈫䊐䉤䊷䊛䋬䉰䊑䊐䉤䊷䊛䈱⚵䉂
䉣䊥䈱૞ᚑ䋬䉪䉣䊥䈱⚿ᨐ䉕⴫␜䈜䉎䊐䉤䊷䊛
ㄟ䉁䉏䈢䊐䉤䊷䊛䋬ᬌ⚝ᯏ⢻䈱⚵䉂ㄟ䉁䉏䈢䊐
10
䊧䊘䊷䊃䈱૞ᚑ䋬䉪䉣䊥䉕䉅䈫䈮䈚䈢䊧䊘䊷䊃䈱
䉤䊷䊛
૞ᚑ
9
䉪䉣䊥䈮䉋䉎䊂䊷䉺ᠲ૞䋬䉲䉴䊁䊛䈪૶↪䈜䉎䉪
䉲䉴䊁䊛䈱ಣℂ䈱⏕⹺䈫䊜䊆䊠䊷䋬䊙䉪䊨䈱૞
䉣䊥䈱૞ᚑ䋬䉪䉣䊥䈱⚿ᨐ䉕⴫␜䈜䉎䊐䉤䊷䊛
11
ᚑ䋬䊜䊆䊠䊷䊐䉤䊷䊛䈱૞ᚑ
10
䊧䊘䊷䊃䈱૞ᚑ䋬䉪䉣䊥䉕䉅䈫䈮䈚䈢䊧䊘䊷䊃䈱
12
Access 䈱ታ〣⊛䈭ᯏ⢻䈫᭴▽ᣇᴺ䋬ታ〣⊛䈭
૞ᚑ
ᯏ⢻
11
䉲䉴䊁䊛䈱ಣℂ䈱⏕⹺䈫䊜䊆䊠䊷䋬䊙䉪䊨䈱૞
13
䉲䉴䊁䊛䈱᭴▽ 1䋨䊁䉨䉴䊃䈱✵⠌໧㗴䋩
ᚑ䋬䊜䊆䊠䊷䊐䉤䊷䊛䈱૞ᚑ
14
15
2䋨ᬌ⚝䊜䊆䊠䊷䈱ㅊട૞ᚑ䋩
12䉲䉴䊁䊛䈱᭴▽
Access 䈱ታ〣⊛䈭ᯏ⢻䈫᭴▽ᣇᴺ䋬ታ〣⊛䈭
䌓䌑䌌ᯏ⢻
13
䉲䉴䊁䊛䈱᭴▽ 1䋨䊁䉨䉴䊃䈱✵⠌໧㗴䋩
Access ߪ‫ޔ‬ೋᱠ⊛ߥၮ␆⻠ᐳߢ޽ߞߡ߽‫࡯࠺ޔ‬
14
䉲䉴䊁䊛䈱᭴▽ 2䋨ᬌ⚝䊜䊆䊠䊷䈱ㅊട૞ᚑ䋩
࠲ࡌ࡯ࠬߩ᭎ᔨ㧔ਥࠠ࡯߿ᄖㇱࠠ࡯‫ޔ‬ෳᾖᢛวᕈ‫ޔ‬
15
䌓䌑䌌
RDB であるため、主キー、外部キーの意味を理解し、
テーブル間の整合性、仮想テーブル(ビュー)である
クエリの意義、フォームやレポートとの関連がわから
ないと全体的に理解できないからである。 また、情報科学Ⅱ(データベース演習)の授業内容
ところで、Access は Exce との親和性も高く、デー
は表 2 のとおりである。要求分析と業務分析の手法
タベースの中身をみるときでも、簡単に GUI 方式で見
を学び、データベース設計が主体になる。画面設計を
ることができる。欠点は、Access ファイルの排他制
通じて実践的な機能と構築方法,実践的な機能を学習
御が弱く、数名のユーザからの同時アクセスに時間が
していく。
かかる。1 万件以上のデータ操作を行う場合にレスポ
ンスが悪い。けれども、マイクロソフトの Office
Professiona を導入するだけで Access の DB 環境が
整うので、教育用ソフトとして採用している。データ
ベースの基礎を学ぶのには最も適していると考えられる。
2)MySQL
専門演習Ⅰでは、Linux 環境で MySQL の環境を設定
し、ターミナルのコマンドラインベースでの操作を演
習している。( 表 3 参照 )
-30-
2㧚࠺࡯࠲ࡌ࡯ࠬⅣႺߣᯏ⢻
ߪᦨ߽ㆡߒߡ޿ࠆߣ⠨߃ࠄࠇࠆ‫ޕ‬
ࠪࠬ࠹ࡓ᭴▽ߦ߅޿ߡ‫ޔ‬RDB ࠍ૶߁ߩߪක≮♽
2㧚࠺࡯࠲ࡌ࡯ࠬⅣႺߣᯏ⢻
2㧕MySQL
(∛㒮)ߩࠪࠬ࠹ࡓ߿⚻ᷣᎿቇߩࠪࡒࡘ࡟࡯࡚ࠪࡦ
ኾ㐷Ṷ⠌Σߢߪ‫ޔ‬Linux ⅣႺߢ MySQL ߩⅣႺࠍ ࠪࠬ࠹ࡓ᭴▽ߦ߅޿ߡ‫ޔ‬RDB
ࠍ૶߁ߩߪක≮♽
2㧕MySQL
ߦ߅޿ߡߪ᦭↪ߢ޽ࠆ‫ޔߪࠇߘޕ‬RDB ߇ᜬߞߡ޿
⸳ቯߒ‫ߩߢࠬ࡯ࡌࡦࠗ࡜࠼ࡦࡑࠦߩ࡞࠽ࡒ࡯࠲ޔ‬
(∛㒮)ߩࠪࠬ࠹ࡓ߿⚻ᷣᎿቇߩࠪࡒࡘ࡟࡯࡚ࠪࡦ
ኾ㐷Ṷ⠌Σߢߪ‫ޔ‬Linux
ⅣႺߢ情報教育におけるデータベース環境の考察
MySQL ߩⅣႺࠍ
ᠲ૞ࠍṶ⠌ߒߡ޿ࠆ‫ ⴫(ޕ‬3 ෳᾖ)
⸳ቯߒ‫ߩߢࠬ࡯ࡌࡦࠗ࡜࠼ࡦࡑࠦߩ࡞࠽ࡒ࡯࠲ޔ‬
ࠆ 4 ߟߩᯏ⢻߇޽ࠆ߆ࠄߢ޽ࠆ‫߇ޕ‬ᜬߞߡ޿
ߦ߅޿ߡߪ᦭↪ߢ޽ࠆ‫ޔߪࠇߘޕ‬RDB
⴫ 3 ኾ㐷Ṷ⠌Σ MySQL
Ṷ⠌ ᝼ᬺౝኈ
3 ෳᾖ)
ᠲ૞ࠍṶ⠌ߒߡ޿ࠆ‫⴫(ޕ‬
ࠆ 4 ߟߩᯏ⢻߇޽ࠆ߆ࠄߢ޽ࠆ‫ޕ‬
⴫ 4 RDB ߩ 4 ߟߩᯏ⢻
࿁ᢙ
᝼ Mᬺ
ኈ Ṷ⠌
ኾ㐷Ṷ⠌Σ
表⴫3 3専
門
演習Ⅰ
y S Qౝ
LMySQL
演習
授 業 内᝼ᬺౝኈ
容
表 4 RDB の 4 つの機能
⴫ 4
࿁ᢙ 1᝼ ᬺ䉥䊥䉣䊮䊁䊷䉲䊢䊮
ౝ ኈ
RDB ߩ 4 ߟߩᯏ⢻
ၮᧄᯏ⢻
ౝኈ
1
2䉥䊥䉣䊮䊁䊷䉲䊢䊮
KNOPPIX ᭎ⷐ䋬⿠േ䊐䉜䉟䊦䈱૞ᚑ
2
᭎ⷐ䋬⿠േ䊐䉜䉟䊦䈱૞ᚑ
3KNOPPIX
KNOPPIX
䈱⿠േ䈫䊂䉴䉪䊃䉾䊒䈱ᠲ૞㽲
3
䈱⿠േ䈫䊂䉴䉪䊃䉾䊒䈱ᠲ૞㽲
4KNOPPIX
KNOPPIX
䈱⿠േ䈫䊂䉴䉪䊃䉾䊒䈱ᠲ૞㽳
4
䈱⿠േ䈫䊂䉴䉪䊃䉾䊒䈱ᠲ૞㽳
5KNOPPIX
䊂䊷䉺䊔䊷䉴䈫䈲
5
6䊂䊷䉺䊔䊷䉴䈫䈲
MySQL 䈱ၮᧄ
6
䈱ၮᧄ
7MySQL
䊁䊷䊑䊦䈫䊧䉮䊷䊄䈱ᠲ૞
7
8䊁䊷䊑䊦䈫䊧䉮䊷䊄䈱ᠲ૞
䊂䊷䉺ဳ䈫೙⚂
8
9䊂䊷䉺ဳ䈫೙⚂
䊂䊷䉺䊔䊷䉴䈱ᠲ૞
9
䊂䊷䉺䊔䊷䉴䈱ᠲ૞
10
䊧䉮䊷䊄䈱ਗ䈶ᦧ䈋䈫㓸⸘
10
䊧䉮䊷䊄䈱ਗ䈶ᦧ䈋䈫㓸⸘
11
䊂䊷䉺䊔䊷䉴䈱㜞ᐲ䈭ᠲ૞
11
䊂䊷䉺䊔䊷䉴䈱㜞ᐲ䈭ᠲ૞
12
MySQL 䈫 PHP
䈬䉕ⴕ䈉ᯏ⢻
出典:マイクロ
ソフト データベースと Access の基礎知識
12
MySQL
䈫 PHP
13
ᔕ↪䉝䊒䊥䉬䊷䉲䊢䊮
この 4 つの機能を利用し、VB や Java などのプログ
13
ᔕ↪䉝䊒䊥䉬䊷䉲䊢䊮
14
M䌹SQL ✚วṶ⠌
14
M䌹SQL
✚วṶ⠌䉷䊚⺰ᢥ૞ᚑ
15
✚วṶ⠌
䊂䊷䉺䊔䊷䉴
ၮᧄᯏ⢻
䊂䊷䉺䈏౉䉎䊁䊷䊑䊦䋨⴫䋩䈱⸳⸘䇮
ౝኈ
⸳⸘ᯏ⢻ 䊂䊷䉺䈏౉䉎䊁䊷䊑䊦䋨⴫䋩䈱⸳⸘䇮
⴫䈫⴫䈫䈱䊥䊧䊷䉲䊢䊮䋨⚿ว䋩䉇䇮౉
䊂䊷䉺䊔䊷䉴
⸳⸘ᯏ⢻
಴ജ↹㕙䉇಴ജᏭ␿䈭䈬䈱⸳⸘䊶ቯ
⴫䈫⴫䈫䈱䊥䊧䊷䉲䊢䊮䋨⚿ว䋩䉇䇮౉
⟵䉕䈜䉎ᯏ⢻
಴ജ↹㕙䉇಴ജᏭ␿䈭䈬䈱⸳⸘䊶ቯ
䊂䊷䉺䊔䊷䉴
䊂䊷䉺䊔䊷䉴䈻䈱䊂䊷䉺䈱౉ജ䉇䇮
⟵䉕䈜䉎ᯏ⢻
᭴▽ᯏ⢻ 䊂䊷䉺䊔䊷䉴䈻䈱䊂䊷䉺䈱౉ജ䉇䇮
ઁ䈱䊂䊷䉺䊐䉜䉟䊦䈎䉌䈱ᄌᦝ䈭䈬
䊂䊷䉺䊔䊷䉴
᭴▽ᯏ⢻
䈱䇮䊂䊷䉺䉕૞ᚑ䈚೥㒰䈜䉎ᯏ⢻
ઁ䈱䊂䊷䉺䊐䉜䉟䊦䈎䉌䈱ᄌᦝ䈭䈬
䊂䊷䉺䊔䊷䉴
䊂䊷䉺䊔䊷䉴䈱䊂䊷䉺䉕䇮ਗ䈼ᦧ䈋
䈱䇮䊂䊷䉺䉕૞ᚑ䈚೥㒰䈜䉎ᯏ⢻
ᠲ૞ᯏ⢻ 䊂䊷䉺䊔䊷䉴䈱䊂䊷䉺䉕䇮ਗ䈼ᦧ䈋
䈢䉍䇮᛽಴䈚䈢䉍䇮ᬌ⚝䈜䉎ᯏ⢻
䊂䊷䉺䊔䊷䉴
䊂䊷䉺䊔䊷䉴
SQL䋨᭴ㅧൻᾖળ⸒⺆䋩䉕೑↪䈚䈢䊂
ᠲ૞ᯏ⢻
䈢䉍䇮᛽಴䈚䈢䉍䇮ᬌ⚝䈜䉎ᯏ⢻
䊒䊨䉫䊤䊛ᯏ⢻
䊷䉺䊔䊷䉴ᬌ⚝䈭䈬䈱䊒䊨䉫䊤䊛૞ᚑ
䊂䊷䉺䊔䊷䉴
SQL䋨᭴ㅧൻᾖળ⸒⺆䋩䉕೑↪䈚䈢䊂
䊒䊨䉫䊤䊛ᯏ⢻
䉇䇮䊙䉪䊨䉕೑↪䈚䈢ಣℂ䈱⥄േൻ䈭
䊷䉺䊔䊷䉴ᬌ⚝䈭䈬䈱䊒䊨䉫䊤䊛૞ᚑ
䈬䉕ⴕ䈉ᯏ⢻
䉇䇮䊙䉪䊨䉕೑↪䈚䈢ಣℂ䈱⥄േൻ䈭
಴ౖ䋺䊙䉟䉪䊨䉸䊐䊃 䊂䊷䉺䊔䊷䉴䈫 Access 䈱ၮ␆⍮⼂
಴ౖ䋺䊙䉟䉪䊨䉸䊐䊃 䊂䊷䉺䊔䊷䉴䈫 Access 䈱ၮ␆⍮⼂
ラム言語でプログラムを作成し、データベースの活用
ߎߩ 4 ߟߩᯏ⢻ࠍ೑↪ߒ‫ޔ‬VB ߿ Java ߥߤߩࡊ
を行う。
ࡠࠣ࡜ࡓ⸒⺆ߢࡊࡠࠣ࡜ࡓࠍ૞ᚑߒ‫࡯ࡌ࠲࡯࠺ޔ‬
ߎߩ
4 ߟߩᯏ⢻ࠍ೑↪ߒ‫ޔ‬VB ߿ Java ߥߤߩࡊ
ࠬߩᵴ↪ࠍⴕ߁‫ޕ‬
ࡠࠣ࡜ࡓ⸒⺆ߢࡊࡠࠣ࡜ࡓࠍ૞ᚑߒ‫࡯ࡌ࠲࡯࠺ޔ‬
✚วṶ⠌
䉷䊚⺰ᢥ૞ᚑ
2.1 プログラムとの連動
MySQL
ߪ‫ࠚࡈ࡯࠲ࡦࠗ࡮ࠩ࡯࡙࡮ࠢ࠶ࡈ࡜ࠣޔ‬
ࠬߩᵴ↪ࠍⴕ߁‫ޕ‬
ࠗࠬ(GUI)ߢ޽ࠆ
Access ߣ㆑ߞߡ‫ޔ‬૗ߩ૞ᬺࠍ߿ RDB は単独で利用されるのは少ない。一般には VB、
MySQL
ߪ‫ࠚࡈ࡯࠲ࡦࠗ࡮ࠩ࡯࡙࡮ࠢ࠶ࡈ࡜ࠣޔ‬
15
MySQL は、グラフック・ユーザ・インターフェイス
Java、PHP などの言語を使ってアプリケーションを構
(GUI) である Access と違って、何の作業をやってい
築し、利用される。
るかよく考えないと、わからなくなる。授業は、Linux
まず、VB から Access に接続する場合、ADO.NET を
の操作を演習することから始まるので、実際に MySQL
使用する。ADO.NET はマイクロソフトが開発したプロ
を扱うのは 6 回目からであり、なかなか思うように進
グラムからデータベースを操作するためのインター
まない。MySQL は世界一の使用実績があり、それはパ
フェイスである。従来のデータアクセスである ADO
フォーマンスの良さに特徴がある。チューニングを行
(ActiveX Data Objects) は、接続型 ( データプロバ
うと、それだけの効果が期待できる。そのため、この
イダ ) のものが主であった。ADO.NET では、接続型の
ようなフリーソフトは、相当のスキルを涵養できるこ
他にデータセット(メモリにデータ格納)を使った非
とが授業の出席カード感想欄からわかっている。
接続型のデータアクセスも用意されている。データセッ
ࠗࠬ(GUI)ߢ޽ࠆ Access ߣ㆑ߞߡ‫ޔ‬૗ߩ૞ᬺࠍ߿
トを使用することによってデータベースとの長時間接
2.データベース環境と機能
続をなくすことができるので、データアクセスのパ
システム構築において、RDB を使うのは医療系 ( 病
フォーマンスを高めると共にシステムの拡張性を向上
院 ) のシステムや経済工学のシミュレーションにおい
させることができる。
ては有用である。それは、RDB が持っている 4 つの機
ADO.NET の各クラスは System.Data 名前空間に含ま
能 ( 設計、構築、操作、プログラム ) があるからである。
れている。データプロバイダの主なオブジェクト
(Connection,
(表 4 参照)
Command,DataReader,DataAdapter)は表 5のとおり
である。
-31-
/System.Data.OracleClient
ࠬ߳ߩ࠺࡯࠲ࠕࠢ
߼ࠆߣ౒ߦࠪࠬ࠹ࡓߩ᜛ᒛᕈࠍะ਄ߐߖࠆߎߣ߇
Oracle ߿ SQL Server ߥߤߦᄌᦝߒߡ߽‫ࠣࡠࡊޔ‬
ࠝࡉࠫࠚࠢ࠻
⺑᣿
࠮ࠬ
ߢ߈ࠆ‫ޕ‬
࡜ࡓߩୃᱜ߇ዋߥߊߡᷣ߻ߩߢല₸⊛ߢ޽ࠆ‫ߚޕ‬
Connection
࠺࡯࠲࠰࡯ࠬߣធ⛯ߔࠆ
MySQL ߪ ODBC㧔Open Database Connectivity,
ADO.NET ߩฦࠢ࡜ࠬߪ System.Data ฬ೨ⓨ㑆ߦ
ߣ߃߫‫ޔ‬࿑ 1 ߪ‫⚻ޔ‬ᷣ↥ᬺ⋭ฃ⸤ߩࡑࠗࠢࡠࠪࡒ
Command
࠺࡯࠲࠰࡯ࠬߦኻߒߡࠦࡑࡦ࠼
川 島 秀 樹
Java ߩߣ߈ߪ JDBC㧕⚻↱߇ਥᵹߢ޽ࠆ‫ࡊޔߛߚޕ‬
฽߹ࠇߡ޿ࠆ‫ߩ࠳ࠗࡃࡠࡊ࠲࡯࠺ޕ‬ਥߥࠝࡉࠫࠚ
ࡘ࡟࡯࡚ࠪࡦߩࡔ࠾ࡘ࡯ߢ޽ࠆ‫ ߪ⺆⸒ޕ‬VB ߢ‫ޔ‬DB
ࠍታⴕߔࠆ‫ޕ‬
࡜࠶࠻ࡈࠜ࡯ࡓ߇ Windows ߩ႐วߪ ADO.NET ࠍ૶
ࠢ࠻ߪ⴫ 5 ߩߣ߅ࠅߢ޽ࠆ‫ޕ‬
ߪᦨೋߦ Access ࠍ૶ߞߡ޿ߚ߇‫ޔ‬MySQL ࠍ૶ߞߡ
DataReader
࠺࡯࠲࠰࡯ࠬ߆ࠄ࠺࡯࠲ࠍ⺒ߺ
↪ߒߡ‫ޔ‬Connector/Net ࠍࠗࡦࠬ࠻࡯࡞ߒߡ೑↪
⴫ 5 ࠺࡯࠲ࡊࡠࡃࠗ࠳ ࠝࡉࠫࠚࠢ࠻⺑᣿
ᦠ߈⋥ߒߡ޿ࠆ‫ޕ‬
MySQL
を使って書き直している。
ขࠆ‫ޔߒߛߚޕ‬೨ᣇࠬࠢࡠ࡯࡞ߩ ߔࠆᣇᴺ߽޽ࠆ‫ߩߎޕ‬ᣇᴺߛߣ‫ࠍࠬ࡯ࡌ࠲࡯࠺ޔ‬
表 5 データプロバイダ オブジェクト説明
ߺߩ⺒ߺขࠅ‫ޕ‬
⺑᣿
Oracle ߿ SQL Server ߥߤߦᄌᦝߒߡ߽‫ࠣࡠࡊޔ‬
DataAdapter
Connection
࠺࡯࠲࠰࡯ࠬߣ࠺࡯࠲࠮࠶࠻ߩ
࠺࡯࠲࠰࡯ࠬߣធ⛯ߔࠆ
࡜ࡓߩୃᱜ߇ዋߥߊߡᷣ߻ߩߢല₸⊛ߢ޽ࠆ‫ߚޕ‬
Command
㑆ߢ࠺࡯࠲ߩขᓧߥࠄ߮ߦᦝᣂ
࠺࡯࠲࠰࡯ࠬߦኻߒߡࠦࡑࡦ࠼
ߣ߃߫‫ޔ‬࿑ 1 ߪ‫⚻ޔ‬ᷣ↥ᬺ⋭ฃ⸤ߩࡑࠗࠢࡠࠪࡒ
ࠍⴕ߁‫ޕ‬
ࠍታⴕߔࠆ‫ޕ‬
ࡘ࡟࡯࡚ࠪࡦߩࡔ࠾ࡘ࡯ߢ޽ࠆ‫ ߪ⺆⸒ޕ‬VB ߢ‫ޔ‬DB
ࠝࡉࠫࠚࠢ࠻
߹ߚ.NET Framework
ߢߪ‫ࠬࠗࡃ࠺ߥ߹ߑ߹ߐޔ‬
DataReader
࠺࡯࠲࠰࡯ࠬ߆ࠄ࠺࡯࠲ࠍ⺒ߺ
ߪᦨೋߦ Access ࠍ૶ߞߡ޿ߚ߇‫ޔ‬MySQL ࠍ૶ߞߡ
ࠍߟߥߋߚ߼ߦ‫ࠍࡦ࡚ࠪ࡯ࠤ࡝ࡊࠕޔ‬㐿⊒߅ࠃ߮
ขࠆ‫ޔߒߛߚޕ‬೨ᣇࠬࠢࡠ࡯࡞ߩ
ᦠ߈⋥ߒߡ޿ࠆ‫ޕ‬
ታⴕߔࠆߚ߼ߩⅣႺ߿ࠢ࡜ࠬ࡜ࠗࡉ࡜࡝ࠍឭଏߒ
ߺߩ⺒ߺขࠅ‫ޕ‬
࿑ 1 ࡑࠗࠢࡠࠪࡒࡘ࡟࡯࡚ࠪࡦࡔ࠾ࡘ࡯
㑆ߢ࠺࡯࠲ߩขᓧߥࠄ߮ߦᦝᣂ
ࠗ࠳߇↪ᗧߐࠇߡ޿ࠆ‫ޕ‬
㧔⴫ 6 ෳᾖ㧕
この中のマスター DB の作成ロジックにおいて、VB
リスト
1 のとおりである。
で作成しているが、DB
のオープン・クローズはリスト
ߎߩਛߩࡑࠬ࠲࡯DB
ߩ૞ᚑࡠࠫ࠶ࠢߦ߅޿ߡ‫ޔ‬
ࠍⴕ߁‫ޕ‬
߹ߚ.NET Framework ߢߪ‫ࠬࠗࡃ࠺ߥ߹ߑ߹ߐޔ‬
また .NET Framework では、さまざまなデバイスを
ࠕࡊ࡝ࠤ࡯ࠪ
ว‫ޔ‬ADO.NET
ࡈ࠻߇㐿⊒ߒ
OLE
DB,ODBC,Orac e)が用意されている。
ࠗ࠳߇↪ᗧߐࠇߡ޿ࠆ‫ޕ‬
㧔⴫ 6 ෳᾖ㧕 (表 6 参照)
⴫ 6 䊂䊷䉺䊒䊨䊋䉟䉻 ኻ⽎䊂䊷䉺䊔䊷䉴䋯ฬ೨ⓨ㑆
表 6 データプロバイダ 対象データベース/名前空間
ኻ⽎࠺࡯࠲࠰࡯ࠬ
‫ޔ‬ធ⛯ဳ(࠺
リスト 1 MySQL の DB オープン、クローズ例
ฬ೨ⓨ㑆
database=Master2007IER
cn.ConnectionString = "
࿑ 1 ࡑࠗࠢࡠࠪࡒࡘ࡟࡯࡚ࠪࡦࡔ࠾ࡘ࡯
server= oca host;user id=root;
password=XXXXXX; ߩ૞ᚑࡠࠫ࠶ࠢߦ߅޿ߡ‫ޔ‬
"
ߎߩਛߩࡑࠬ࠲࡯DB
& "database = " & データベースファイル
VB ߢ૞ᚑߒߡ޿ࠆ߇‫ޔ‬DB
ߩࠝ࡯ࡊࡦ࡮ࠢࡠ࡯࠭ߪ
Try
/ฬ೨ⓨ㑆
SQL Server
Microsoft SQL
/System.Data.Sqlclient
Server ߳ߩ࠺࡯࠲
cn.Open()
Catch ex As Exception
MessageBox.Show(ex.ToString, "例外発生")
ࠕࠢ࠮ࠬ
૞ߔࠆߚ߼ߩ
࡯࠲ࠕࠢ࠮ࠬ
1VBのとおりである。
ߢ૞ᚑߒߡ޿ࠆ߇‫ޔ‬DB
ߩࠝ࡯ࡊࡦ࡮ࠢࡠ࡯࠭ߪ
リスト
1 MySQL の DB オープン、クローズ例
ࠍߟߥߋߚ߼ߦ‫ࠍࡦ࡚ࠪ࡯ࠤ࡝ࡊࠕޔ‬㐿⊒߅ࠃ߮
つなぐために、アプリケーションを開発および実行す
ታⴕߔࠆߚ߼ߩⅣႺ߿ࠢ࡜ࠬ࡜ࠗࡉ࡜࡝ࠍឭଏߒ
るための環境やクラスライブラリを提供している。各デー
ᢎ⢒ߦ߅ߌࠆ࠺࡯࠲ࡌ࡯ࠬⅣႺߩ⠨ኤ]
タベースに応じてのデータプロバイダ(SQL
Server,
ߡ޿ࠆ‫ޕ‬ฦ࠺࡯࠲ࡌ࡯ࠬߦᔕߓߡߩ࠺࡯࠲ࡊࡠࡃ
޿‫ߪߦ⥸৻ޕ‬
図 1 マイクロシミュレーションメニュー
ߡ޿ࠆ‫ޕ‬ฦ࠺࡯࠲ࡌ࡯ࠬߦᔕߓߡߩ࠺࡯࠲ࡊࡠࡃ
DataAdapter
࠺࡯࠲࠰࡯ࠬߣ࠺࡯࠲࠮࠶࠻ߩ
OLE DB
Access ߥߤ OLE DB
/System.Data.OleDb
ࠍ૶↪ߒߡ౏㐿ߐ
Return Fa se
End Try
Return True
ࠇࠆ࠺࡯࠲ࠕࠢ࠮
‫ޕ‬ADO.NET ߢ
End Function
ࠬ
ࡕ࡝ߦ࠺࡯࠲
ࠢ࠮߽ࠬ↪ᗧ
ODBC
ODBC ࠍ૶↪ߒߡ౏
ࠆߎߣߦࠃߞ
/System.Data.Odbc
㐿ߐࠇࠆ࠺࡯࠲ࠕ
Pub ic Function データベースクローズ(ByRef
cn As mysq c ient.mysq connection) As
ࠢ࠮ࠬ
ߊߔߎߣ߇ߢ
࡯ࡑࡦࠬࠍ㜞
Oracle
Oracle ࠺࡯࠲ࡌ࡯
ߐߖࠆߎߣ߇
/System.Data.OracleClient
ࠬ߳ߩ࠺࡯࠲ࠕࠢ
Boo ean
'cn.Dispose()
Try
࠮ࠬ
cn.C ose()
MySQL ߪ ODBC㧔Open Database Connectivity,
ฬ೨ⓨ㑆ߦ MySQL
は ODBC(Open Database Connectivity, Java
Java ߩߣ߈ߪ JDBC㧕⚻↱߇ਥᵹߢ޽ࠆ‫ࡊޔߛߚޕ‬
ਥߥࠝࡉࠫࠚ のときは
JDBC)経由が主流である。ただ、プラット
࡜࠶࠻ࡈࠜ࡯ࡓ߇
ߩ႐วߪ
ࠍ૶
フ ォ ー ム が W i n d o w sWindows
の場合は
A D O . N EADO.NET
T を使用
して、
࠻⺑᣿
ߔࠆ
ߡࠦࡑࡦ࠼
MessageBox.Show(ex.Message, "エラー通知")
Return Fa se
↪ߒߡ‫ޔ‬Connector/Net
ࠍࠗࡦࠬ࠻࡯࡞ߒߡ೑↪
Connector/Net
をインストールして利用する方法も
End Try
ある。この方法だと、データベースを
Orac e や SQL
ߔࠆᣇᴺ߽޽ࠆ‫ߩߎޕ‬ᣇᴺߛߣ‫ࠍࠬ࡯ࡌ࠲࡯࠺ޔ‬
Return True
Server
などに変更しても、プログラムの修正が少なく
Oracle
߿ SQL Server ߥߤߦᄌᦝߒߡ߽‫ࠣࡠࡊޔ‬
て済むので効率的である。たとえば、図
1 は、経済産
࡜ࡓߩୃᱜ߇ዋߥߊߡᷣ߻ߩߢല₸⊛ߢ޽ࠆ‫ߚޕ‬
業省受託のマイクロシミュレーションのメニューであ
ߣ߃߫‫ޔ‬࿑ 1 ߪ‫⚻ޔ‬ᷣ↥ᬺ⋭ฃ⸤ߩࡑࠗࠢࡠࠪࡒ
る。言語は VB で、DB は最初に Access を使っていたが、
ࡘ࡟࡯࡚ࠪࡦߩࡔ࠾ࡘ࡯ߢ޽ࠆ‫ ߪ⺆⸒ޕ‬VB ߢ‫ޔ‬DB
࡯࠲ࠍ⺒ߺ
ߪᦨೋߦ Access ࠍ૶ߞߡ޿ߚ߇‫ޔ‬MySQL ࠍ૶ߞߡ
ࠬࠢࡠ࡯࡞ߩ
ᦠ߈⋥ߒߡ޿ࠆ‫ޕ‬
࡯࠲࠮࠶࠻ߩ
Catch ex As Exception
End Function
また、DB の登録は、リスト 2 のとおりである。
また、DB の登録は、リスト 2 のとおりである。
-32-
リスト 2 MySQL
DB 登録例
Catch ex As Exception
情報教育におけるデータベース環境の考察
MessageBox.Show(ex.Message, "通知")
Return True
End Function
Return False
また、DB の登録は、リスト 2 のとおりである。
リスト 2 MySQL
End Try
DB 登録例
4 に示した。
リスト 2 MySQL DB 登録例
Return True
[情報教育におけるデータベース環境
[情報教育におけるデータベース環境
DB のオープン、クローズ、登録、更新、削除を、み
End Function
Private Function 世帯情報を DB に登録(ByVa
てきたが、SQL 命令を定義して SQL コマンドを実行す
さらに、DB
3 に、削除はリス
リスト への変更はリスト
3 MySQL DB 更新例
ればよい。
リスト 3 MySQL DB 更新例
ト 4 リスト
に示した。
3 MySQL DB 更新例
データベース As
MySqlClient.MySq Connection,
ByVa 世帯
Public
世帯テーブル更新(ByRef
デ
DB のオープン、
クローズ、
登録、更新、削除を、
Pub ic Function
Function
世帯テーブル更新(ByRef
デ
As 世帯) As Boo ean
'
ータベース
As
みてきたが、SQL
命令を定義して
SQL コマンドを
ータベース
As MySqlClient.MySqlConnection,
MySq C ient.MySq
Connection,
SQL 文作成
実行すればよい。
ByRef 項目 As String, ByRef 値 As Int64,
Dim sq As String
sq
ByRef
ByVal
ByVa
Dim
Dim
= "INSERT INTO 世帯(年次,調査コード,
県番号,地区番号,単位区番号,世帯番号,世帯番
<中略>
cmd.Connection
cmd.Connection == データベース
データベース
Dim
sql
As
String
=
"UPDATE
Dim sq As String = "UPDATE 世帯
世帯 SET
SET "" &&
項目
項目 && "" == "" && 値
値 && __
"貯蓄の有無,貯蓄_金融機関,貯蓄_保険料,貯蓄
_株式等,貯蓄_その他,貯蓄現在高_万円,借入金
の有無,借入金額_万円" & ") VALUES( " &
"" WHERE
WHERE 世帯
世帯 ID
ID == "" && "'"
"'" && 世帯
世帯 ID
ID &
&
"'"
&
";"
"'" & ";"
世帯.世帯情報.世帯票.年次 & "," &
世帯.世帯情報.世帯票.調査コード & "," &
データベース再オープン(データベース)
データベース再オープン(データベース)
Dim
Dim 返り値
返り値 As
As Boolean
Boo ean
<中略>
世帯.世帯情報.所得票.借入金の有無 & "," &
== SQL
SQL 実行(データベース,
実行(データベース, sql)
sq )
Return
返り値
Return 返り値
End
End Function
Function
世帯.世帯情報.所得票.借入金額_万円 &
");"
'
SQL 文実行
Dim 返り値 As Boo ean = SQL 実行
リスト 4
リスト 4
(データベース, sq )
DB 削除例
DB 削除例
End Function
Pub
ic Function
Public
Function 世帯テーブル削除(Byre
世帯テーブル削除(Byre デー
デー
タベース
As
MySq
C
ient.MySq
Connection,
タベース As MySqlClient.MySqlConnection,
Public Function SQL 実行(ByRef cn As
ByVa
ByVal
Dim
Dim
(ByRef
mysq c ient.mysq connection, ByVa
sq As
世帯
ean
世帯 ID
ID As
As String)
String) As
As Boo
Boolean
cmd
C ient.MySq Command
cmd As
As New
New MySq
MySqlClient.MySqlCommand
cmd.Connection
cmd.Connection == データベース
データベース
Dim
sq
As
String
=
"DELETE
Dim sql As String = "DELETE FROM
FROM 世帯
世帯 "" &&
"" WHERE
WHERE 世帯
世帯 ID
ID == "" && "'"
"'" && 世帯
世帯 ID
ID &
& "'"
"'"
String) As Boo ean
Dim cmd As New MySq C ient.MySq Command
cmd.Connection = cn
&& ";"
";"
データベース再オープン(データベース)
データベース再オープン(データベース)
cmd.CommandText = sq
Dim nDone As Integer
Try
Dim
Dim 返り値
返り値 As
As
==
Boo
ean
Boolean
SQL
)
SQL 実行(データベース,
実行(データベース, sq
sql)
データベースクローズ(データベース)
データベースクローズ(データベース)
nDone = cmd.ExecuteNonQuery()
Catch ex As Exception
MessageBox.Show(ex.Message, "通知")
Return
Return 返り値
返り値
End
Function
End Function
Return Fa se
End Try
以上から、MySQL への操作を行うソースをみれ
以上から、MySQL
への操作を行うソースをみれ
以上から、MySQL
への操作を行うソースをみればわ
Return True
(ByVal
MySQL
MySQL
リスト 4 MySQL DB 削除例
Return 返り値
とおりである。
項目 As String, ByRef 値 As Int64,
世帯
世帯 ID
ID As
As String)
String) As
As Boolean
Boo ean
cmd
As
New
MySqlClient.MySqlCommand
cmd As New MySq C ient.MySq Command
ばわかるように、ADO.NET を使用する場合、対象
ばわかるように、ADO.NET
を使用する場合、対象
かるように、
ADO.NET を使用する場合、
対象データベー
End Function
データベースと名前空間が違うだけで、Access
スと名前空間が違うだけで、Access(OLEDB)と
MySQL
データベースと名前空間が違うだけで、Access
さらに、DB への変更はリスト 3 に、削除はリス
ト 4 に示した。
さらに、DB への変更はリスト 3 に、削除はリスト
DB のオープン、クローズ、登録、更新、削除を、
(OLEDB)と
記述はほとんど同じである。
(OLEDB)と MySQL
MySQL 記述はほとんど同じである。
記述はほとんど同じである。
-33-
߹ߚ‫ޔ‬CentOS ߪ MySQL ߥߤߩ࠺࡯࠲ࡌ࡯ࠬߦᒝ
ࠬࠍ⊒ើߢ߈ࠆ‫߁޿ߣޕ‬྾᧦ઙࠍḩߚߒߡ޿ࠆ‫ޕ‬
ߊ‫߇࡝ࡕࡔޔ‬ዋߥ޿
PC ߢ߽ࠬࡓ࡯࠭ߦേߊ‫ޕ‬
߹ߚ‫ޔ‬CentOS ߪ MySQL
ߥߤߩ࠺࡯࠲ࡌ࡯ࠬߦᒝ
Linux ߩࡔ࡝࠶࠻ߪ‫ࡦ࡚ࠪ࡯ࡘࡆ࡝࠻ࠬࠖ࠺ޔ‬
ߊ‫߇࡝ࡕࡔޔ‬ዋߥ޿
PC ߢ߽ࠬࡓ࡯࠭ߦേߊ‫ޕ‬
ߩਛߦ࠰ࡈ࠻߇౉ߞߡ޿ࠆߎߣߢ‫ޔ‬໡↪ߢߥߌࠇ
川 島 秀 樹Linux ߩࡔ࡝࠶࠻ߪ‫ࡦ࡚ࠪ࡯ࡘࡆ࡝࠻ࠬࠖ࠺ޔ‬
߫߶ߣࠎߤ߇ήఘߢ૶↪ߢ߈ࠆߎߣߢ޽ࠆ‫ޕ‬ᖱႎ
ߩਛߦ࠰ࡈ࠻߇౉ߞߡ޿ࠆߎߣߢ‫ޔ‬໡↪ߢߥߌࠇ
ᢎ⢒ߢߪ‫ޔ‬Debian
♽ߩ Knoppix ࠍਥߦ૶↪ߒߡ޿
߫߶ߣࠎߤ߇ήఘߢ૶↪ߢ߈ࠆߎߣߢ޽ࠆ‫ޕ‬ᖱႎ
3.Windows と Linux 環境における RDB
メモリが少ない
PC1GB
でもスムーズに動く。
ࠆ‫ޕ‬PC
ߪࡔࡕ࡝
⒟ᐲߢᔟㆡߦേ߈‫ޔ‬ቇ↢ߢ߽
ᢎ⢒ߢߪ‫ޔ‬Debian
♽ߩ
Knoppix ࠍਥߦ૶↪ߒߡ޿
3.1 Access のメリットとデミリット
Linux
のメリットは、ディストリビューションの中
૶޿߿ߔ޿ߣ޿߁ࡔ࡝࠶࠻ࠍᜬߟ߆ࠄߢ޽ࠆ‫ޕ‬
Windows での環境において、マイクロソフトの開発
にソフトが入っていることで、商用でなければほとん
ツールを無視できない。2008 年から 2014 年まで Visua
mysql -u myu
my
USE basic;
mysql
-u my
CREATE
USE basic;TA
VARCHA
CREATE
TA
SHOW
TAB
VARCHA
SHOW
SHOW FIEL
TAB
INSERT
INT
SHOW FIEL
VALUES
INSERT
INT
ࠆ‫ޕ‬PC ߪࡔࡕ࡝ 1GB ⒟ᐲߢᔟㆡߦേ߈‫ޔ‬ቇ↢ߢ߽
߹ߚ‫ޔ‬Java
ߩ႐ว‫ޔ‬㐿⊒⛔วⅣႺߢ޽ࠆ Eclipse
૶޿߿ߔ޿ߣ޿߁ࡔ࡝࠶࠻ࠍᜬߟ߆ࠄߢ޽ࠆ‫ޕ‬
どが無償で使用できることである。情報教育では、Debian
SELECT
*F
VALUES
Studio を導入して、VB をプログラミング A の授業で
߹ߚ‫ޔ‬Java
Eclipse
系の
Knoppix ߩ႐ว‫ޔ‬㐿⊒⛔วⅣႺߢ޽ࠆ
を主に使用している。PC はメモリ
1GB
ࠍ೑↪ߒߚ‫ޕ‬
߹ߚ‫⎇ޔ‬
SELECT
*F
使用した。Visua
Studio Express 2013 は、30 日
ߣߎࠈߢ‫ޔ‬MySQL ߩࠗࡦࠬ࠻࡯࡞ߪ‫ࠄ߆ᧃ┵ޔ‬
ࠍ೑↪ߒߚ‫ޕ‬
程度で快適に動き、学生でも使いやすいというメリッ
以上使用する場合は続けて製品登録を行うことが必要
ࡄ࠶ࠤ࡯ࠫࠍ▤ℂߔࠆ
apt-get ࠦࡑࡦ࠼ࠍ↪޿ߡ
トを持つからである。また、Java
の場合、開発統合
ߣߎࠈߢ‫ޔ‬MySQL ߩࠗࡦࠬ࠻࡯࡞ߪ‫ࠄ߆ᧃ┵ޔ‬
࡚ࡦࡕ࠺࡞
߹ߚ‫⎇ޔ‬
㧔ࠩࡦࡊ㧕
࡚ࡦࡕ࠺࡞
である。そのため、大学のパソコンの場合インストー
環境である
Ec ipse
を利用した。
ⴕ߁‫ޕ‬䋨࡝ࠬ࠻
5 ෳᾖ㧕
ルする登録者の設定に注意を要する。
Windows 上のソフトは、サポートがしっかりしてお
ところで、MySQL のインストールは、端末からパッ
ⴕ߁‫ޕ‬䋨࡝ࠬ࠻
5 ෳᾖ㧕
䊥䉴䊃
5 MySQL 䉟䊮䉴䊃䊷䊦
apt-get
ケージを管理する
apt-get コマンドを用いて行う。
(リ
り、トラブルが出ても事例が多いので、インターネッ
スト
䊥䉴䊃5 参照)
5 MySQL 䉟䊮䉴䊃䊷䊦 apt-get
ト上の Q&A でも解決できるという特徴がある。OS のバー
ジョンが新しくなっても、1 年くらいすると安定する
ので、安心できる。その反面、OS のバージョンアップ
にソフト側が対応できないことが多い。OS が Windows2000
から XP や Vista に変わったとき、プログラム環境が
ࡄ࠶ࠤ࡯ࠫࠍ▤ℂߔࠆ apt-get ࠦࡑࡦ࠼ࠍ↪޿ߡ
$sudo5 MySQL
apt-getインストール apt-get
update
リスト
$sudo
install mysql-server
$sudo apt-get
apt-get -y
update
$sudo
$sudo apt-get
apt-get install
-y installmysql-client
mysql-server
XAMPP
ߪ We
㧔ࠩࡦࡊ㧕
MySQL‫ޔ‬PHP
XAMPP ߪ We
ߒ‫◲ޔ‬නߦ
MySQL‫ޔ‬PHP
޽ࠆ‫ࡦࠦޕ‬
ߒ‫◲ޔ‬නߦ
2޽ࠆ‫ࡦࠦޕ‬
ߦ␜ߒߡ
2 ߦ␜ߒߡ
ߟ߉ߦ‫ੌ⚳࡞࡯࠻ࠬࡦࠗޔ‬ᓟ‫ޔ‬MySQL
ࠨ࡯ࡃࠍ
$sudo
apt-get install mysql-client
⿠േߔࠆ‫⿠ޕ‬േ‫ޔ‬஗ᱛ‫ޔ‬ౣ⿠േߪએਅߩߣ߅ࠅ‫ޕ‬
ߟ߉ߦ‫ੌ⚳࡞࡯࠻ࠬࡦࠗޔ‬ᓟ‫ޔ‬MySQL ࠨ࡯ࡃࠍ
VB6 から VB2005 に変わったこともあって、多くのプ
つぎに、インストール終了後、MySQL サーバを起動
ログラム資産(VB)を失うことになった。また、同様
⿠േߔࠆ‫⿠ޕ‬േ‫ޔ‬஗ᱛ‫ޔ‬ౣ⿠േߪએਅߩߣ߅ࠅ‫ޕ‬
する。起動、停止、再起動は以下のとおり。(
リスト
に Windows7から 8.1 や 10 にバージョンアップする
(࡝ࠬ࠻
6 ෳᾖ)
6 䊥䉴䊃
参照
)6 MySQL
䉰䊷䊋⿠േ䇮஗ᱛ䇮ౣ⿠േ
(࡝ࠬ࠻ 6 ෳᾖ)
ことによって、64 ビットが主流になり、今までの 32
リスト 6 MySQL サーバ起動、停止、再起動
ビットソフトを引き続き継承できなくなっている。
$ sudo /etc/init.d/mysql
3.2 MySQL のメリットとデミリット
2014 年の 4 月に WindowsXP がサポート停止になっ
$$sudo
㧔஗ᱛ㧕
sudo /etc/init.d/mysql
/etc/init.d/mysql stop
start
㧔⿠േ㧕
࡝ࠬ࠻
7
ߪ‫ޔ‬MySQL
ߩࠦࡑࡦ࠼ࠍ࠹ࠠࠬ࠻ࡈࠔ
$$sudo
㧔ౣ⿠േ㧕
sudo /etc/init.d/mysql
/etc/init.d/mysql restart
stop
㧔஗ᱛ㧕
࿑ 2
たので、3 年前の 2013 年ごろから Linux を使うこと
$ sudo /etc/init.d/mysql
restart 㧔ౣ⿠േ㧕
リスト
7 は、MySQL のコマンドをテキストファイル
࿑ 2
にした。Linux とは、PC 上で利用できる UNIX 互換 OS
に記述したサンプルである。これを実行する前に確認
↪ߢ߈ࠆ‫߿࡞࡯࠻ࠬࡦࠗߥ࡞ࠞࠖࡈ࡜ࠣޕ‬
RPM ߣ
である。Linux
は 20 年前使った UNIX と違って、USB
ࠍታⴕߒߚ‫߇࡯࡜ࠛࠬࠢ࠶࠲ࡦࠪߩ࠼ࡦࡑࠦޕ‬಴
し、コピー&ペーストを行い、コマンドを実行した。
޿߁⁛⥄ߩࡄ࠶ࠤ࡯ࠫ▤ℂߦࠃࠅ‫ߩࠫ࡯ࠤ࠶ࡄޔ‬
フラッシュメモリや外付けディスクから起動でき、Windows
ߡ߽‫ޔ‬⍴ᤨ㑆ߢୃᱜߢ߈ࠆࡔ࡝࠶࠻߇޽ࠆ‫ޕ‬
コマンドのシンタックスエラーが出ても、短時間で修
と同等の
環境になり、相当に進歩したと思われる。
ㅊടGUI
࡮೥㒰߇ᚻシߦߢ߈ࠆ‫ޕ‬
ήఘ ߢ Red Hat Linux
正できるメリットがある。
࡝ࠬ࠻ 7 ࠹ࠠࠬ࠻ࡈࠔࠗ࡞⸥ㅀߩࠨࡦࡊ࡞଀
߹ߚ‫ޔ‬Red hat ♽ߪ‫ޔ‬Red Hat ␠ߢ໡↪ߣߒߡ㐿
⊒ߐࠇߡ޿ࠆ࠺ࠖࠬ࠻࡝ࡆࡘ࡯࡚ࠪࡦߢ޽ࠆ‫ޕ‬ડ
ᬺߥߤߢࠨ࡯ࡃߣߒߡ૶ࠊࠇߡ߅ࠅ‫ޔ‬቟ቯߒߡ૶
配布パッケージであるディストリビューションは、
ࠍ࠰࡯ࠬ߆ࠄౣ᭴▽ߒߡࠕ࡟ࡦࠫߒߚ CentOS ߇
大まかに以下の 2 系統に分けられる。Debian 系と Red
䊥䉴䊃 6 MySQL 䉰䊷䊋⿠േ䇮஗ᱛ䇮ౣ⿠േ
start
㧔⿠േ㧕
ࠗ࡞ߦ⸥ㅀߒߚࠨࡦࡊ࡞ߢ޽ࠆ‫ࠍࠇߎޕ‬ታⴕߔࠆ
೨ߦ⏕⹺ߒ‫࡯ࡇࠦޔ‬㧒ࡍ࡯ࠬ࠻ࠍⴕ޿‫࠼ࡦࡑࠦޔ‬
リスト 7 テキストファイル記述のサンプル例
᦭ฬߢ޽ࠆ‫ޔߪࠇߎޕ‬ડᬺ㧔Enterprise㧕࡙࡯ࠬ
mysql -u root -p
ケージは、緻密かつ厳密な管理をされており、ハード
ߦㆡߒߚ OS ߢ޽ࠅ‫ޔ‬Ԙ቟ቯߒߡേ૞ߔࠆ‫ޕ‬ԙ㐳ᦼ
SHOW databases;
㑆ߩࠕ࠶ࡊ࠺࡯࠻ࠨࡐ࡯࠻߇޽ࠆ‫ޕ‬Ԛ଻቞ᕈ߇㜞
ウェアへの対応に優れている。 CREATE database basic;
޿‫ޕ‬ԛᄢⷙᮨߥࠪࠬ࠹ࡓߢ߽ఝࠇߚࡄࡈࠜ࡯ࡑࡦ
また、Red
hat 系は、Red Hat 社で商用として開発
GRANT ALL PRIVILEGES ON basic.* TO
hat 系ディストリビューションである。Debian 系パッ
されているディストリビューションである。企業など
ࠬࠍ⊒ើߢ߈ࠆ‫߁޿ߣޕ‬྾᧦ઙࠍḩߚߒߡ޿ࠆ‫ޕ‬
myusr@localhost IDENTIFIED BY '12345';
でサーバとして使われており、安定して使用できる。
߹ߚ‫ޔ‬CentOS ߪ MySQL ߥߤߩ࠺࡯࠲ࡌ࡯ࠬߦᒝ
mysql -u myusr -p
グラフィカルなインストールや RPM という独自のパッ
USE basic;
ߊ‫߇࡝ࡕࡔޔ‬ዋߥ޿ PC ߢ߽ࠬࡓ࡯࠭ߦേߊ‫ޕ‬
ケージ管理により、パッケージの追加・削除が手軽に
Linux ߩࡔ࡝࠶࠻ߪ‫ࡦ࡚ࠪ࡯ࡘࡆ࡝࠻ࠬࠖ࠺ޔ‬
できる。無償版で Red Hat Linux をソースから再構
ߩਛߦ࠰ࡈ࠻߇౉ߞߡ޿ࠆߎߣߢ‫ޔ‬໡↪ߢߥߌࠇ
築してアレンジした
CentOS が有名である。これは、
CREATE TABLE usr (uid VARCHAR(7),passwd
VARCHAR(15),unam VARCHAR(20),family INT);
߫߶ߣࠎߤ߇ήఘߢ૶↪ߢ߈ࠆߎߣߢ޽ࠆ‫ޕ‬ᖱႎ
企業(Enterprise)ユースに適した
OS であり、①安
SHOW TABLES;
定して動作する。
②長期間のアップデートサポートが
ᢎ⢒ߢߪ‫ޔ‬Debian
♽ߩ Knoppix ࠍਥߦ૶↪ߒߡ޿
SHOW FIELDS FROM usr;
ある。③保守性が高い。
ࠆ‫ޕ‬PC ߪࡔࡕ࡝ ④大規模なシステムでも優れた
1GB ⒟ᐲߢᔟㆡߦേ߈‫ޔ‬ቇ↢ߢ߽
INSERT INTO usr(uid,passwd,unam,family)
パフォーマンスを発揮できる。という四条件を満たし
૶޿߿ߔ޿ߣ޿߁ࡔ࡝࠶࠻ࠍᜬߟ߆ࠄߢ޽ࠆ‫ޕ‬
ている。
߹ߚ‫ޔ‬Java ߩ႐ว‫ޔ‬㐿⊒⛔วⅣႺߢ޽ࠆ Eclipse
また、CentOS は MySQL などのデータベースに強く、
ࠍ೑↪ߒߚ‫ޕ‬
ߣߎࠈߢ‫ޔ‬MySQL ߩࠗࡦࠬ࠻࡯࡞ߪ‫ࠄ߆ᧃ┵ޔ‬
VALUES('yyamada','12345','Yamada,Shokan',3);
SELECT * FROM usr;
߹ߚ‫⎇ޔ‬ⓥࠍⴕߞߡ޿ࠆࡑࠗࠢࡠࠪࡒࡘ࡟࡯ࠪ
࡚ࡦࡕ࠺࡞ߩ᭴▽ߦ߅޿ߡߪ‫ޔ‬Windows ߦߡ XAMPP
ࡄ࠶ࠤ࡯ࠫࠍ▤ℂߔࠆ apt-get ࠦࡑࡦ࠼ࠍ↪޿ߡ
㧔ࠩࡦࡊ㧕ߦࠃࠆࠗࡦࠬ࠻࡟࡯࡚ࠪࡦࠍⴕߞߚ‫ޕ‬
-34-
ⴕ߁‫ޕ‬䋨࡝ࠬ࠻ 5 ෳᾖ㧕
XAMPP ߪ Web ࠨ࡯ࡃ᭴▽ߦࠃߊ૶ࠊࠇࠆ Apache ߿
䊥䉴䊃 5 MySQL 䉟䊮䉴䊃䊷䊦 apt-get
MySQL‫ޔ‬PHP‫ޔ‬Perl ߣ޿ߞߚ࠷࡯࡞ࠍࡄ࠶ࠤ࡯ࠫൻ
ߢ߽
ࠆ‫ޕ‬
INSERT INTO usr(uid,passwd,unam,family)
࡝ࠬ࠻ 8
VALUES('yyamada','12345','Yamada,Shokan',3);
+--------
# yum -y install mariadb-server
ipse
SELECT * FROM usr;
߆ࠄ
情報教育におけるデータベース環境の考察
GEDIT を実行し、編集する。(リスト 9 参照)
߹ߚ‫⎇ޔ‬ⓥࠍⴕߞߡ޿ࠆࡑࠗࠢࡠࠪࡒࡘ࡟࡯ࠪ GEDIT
ࠍታⴕߒ‫✬ޔ‬㓸ߔࠆ‫ޕ‬㧔࡝ࠬ࠻ 9 ෳᾖ㧕
࡚ࡦࡕ࠺࡞ߩ᭴▽ߦ߅޿ߡߪ‫ޔ‬Windows ߦߡ XAMPP リスト 9
޿ߡ
また、研究を行っているマイクロシミュレーション
㧔ࠩࡦࡊ㧕ߦࠃࠆࠗࡦࠬ࠻࡟࡯࡚ࠪࡦࠍⴕߞߚ‫ޕ‬
ࡃࠍ
ࠅ‫ޕ‬
1 row in
ᢥሼࠦ࡯࠼ࠍ UTF-8 ߦߔࠆߚ߼ߦ‫ࠄ߆ᧃ┵ޔ‬
࡝ࠬ࠻ 9
㋈ᧁઁ(
߷ቢోߥ੕
ࠛࡦ࠲ࡊ࡜
リスト 9
# gedit /etc/my.cnf.d/server.cnf
モデルの構築においては、Windows にて XAMPP(ザン
# gedit /etc/my.cnf.d/server.cnf
XAMPP
ߪ
Web
ࠨ࡯ࡃ᭴▽ߦࠃߊ૶ࠊࠇࠆ
Apache
߿
プ)によるインストレーションを行った。XAMPP は Web
サーバ構築によく使われる
Apache や MySQL、PHP、Per
MySQL‫ޔ‬PHP‫ޔ‬Perl
ߣ޿ߞߚ࠷࡯࡞ࠍࡄ࠶ࠤ࡯ࠫൻ
[mysqld]
ߩࡃ࡯࡚ࠫ
ൊ᩺ߔࠆߣ
ⴕߔࠆߎߣ
[mysqld]
といったツールをパッケージ化し、簡単にインストー
ߒ‫◲ޔ‬නߦࠗࡦࠬ࠻࡯࡞ߢ߈ࠆࠃ߁ߦߒߚ߽ߩߢ character-set-server = utf8
character-set-server = utf8
MariaDB を起動する。(リスト 10 参照)
޽ࠆ‫ߪࡦ࡚ࠪ࡯ࠤ࡝ࡊࠕ࡞ࡀࡄ࡞࡯ࡠ࠻ࡦࠦޕ‬࿑
アプリケーションは図 2 に示している。ここから、
MariaDB ࠍ⿠േߔࠆ‫ ࠻ࠬ࡝(ޕ‬10 ෳᾖ)
ルできるようにしたものである。コントロールパネル
MySQL を起動している。
リスト 10を起動する。( リスト
2 ߦ␜ߒߡ޿ࠆ‫ޕ‬
ߎߎ߆ࠄ‫ޔ‬MySQL [情報教育におけるデータベース環境の考察]
ࠍ⿠േߒߡ޿ࠆ‫ ޕ‬MariaDB
࡝ࠬ࠻ 10
10 参照 )
リスト 10
#リスト
systemct
start mariadb
[情報教育におけるデータベース環境の考察]
11
さらに、RDB のテーブルをテキストファイルに
のテーブルをテキストファイルに
さらに、RDB
# systemctl start mariadb
MariaDB を自動起動設定にする。
記述(参考資料 11 参照)して、MySQL
参照)して、MySQL のコマンド
記述(参考資料
MariaDB
ࠍ⥄േ⿠േ⸳ቯߦߔࠆ‫ޕ‬
(リスト 11 参照)
リスト
11を自動起動設定にする。
さらに、RDB のテーブルをテキストファイルに MariaDB
# (リスト
systemctl
11enable
参照) mariadb
プロンプトから「source 命令」を使用して登録し
命令」を使用して登録し
プロンプトから「source
リスト
11
㧔࡝ࠬ࠻ 11 ෳᾖ㧕
[情報教育におけるデータベース環境の考察]
記述(参考資料 1 参照)して、MySQL
のコマンド
MariaDB へ root でログインする。
MariaDB へ root でログインする。
# systemct enable mariadb
(リスト 12 参照)
リストMariaDB
11
へ root でログインする。
た。これは、マイクロシミュレーションモデルの
た。これは、マイクロシミュレーションモデルの
プロンプトから「source 命令」を使用して登録し
データベースを作成したものである。業務では
データベースを作成したものである。業務では
さらに、RDB のテーブルをテキストファイルに
た。これは、マイクロシミュレーションモデルの MariaDB へ root でログインする。( リスト 12 参照 )
Windows で作成したが、
で作成したが、Linux
Linux 環境の MySQL でも確
Windows
リスト 12
記述(参考資料
1 参照)して、MySQL のコマンド
(リスト 12 参照)
データベースを作成したものである。業務では
リスト 12
認できた。
#
systemctl
enable mariadb
認できた。
プロンプトから「source 命令」を使用して登録し
Windows で作成したが、Linux 環境の MySQL でも確
リスト 12-u root -p
#mysql
#mysq
MariaDB へ root でログインする。
た。これは、マイクロシミュレーションモデルの
認できた。
インストール時の端末へのキーインと応答は、
3.3 MariaDB
MariaDB の実用性
の実用性
(リスト
12 参照)
3.3
インストール時の端末へのキーインと応答は、参考
データベースを作成したものである。業務では
#mysql
-u root -p
図 2 XAMPP コントロールパネル
参考資料2のリスト
15 に出している。
MySQLは、
は、
2008 年に
年に SUN
SUN マイクロ社に買収され、
マイクロ社に買収され、 資料2のリスト 15 に表示している。
MySQL
2008
Windows
で作成したが、
Linux
環境の
MySQL
でも確
リスト
12
インストール時の端末へのキーインと応答は、
࿑ 3.3
2 XAMPP
ࠦࡦ࠻ࡠ࡯࡞ࡄࡀ࡞
MariaDB
の実用性
つぎに、
「SOURCE
命令」で、テキストファイル
さらに、RDB
のテーブルをテキストファイルに記述
「SOURCE
命令」で、テキストファイル経由
その後 Oracle
Oracle
が SUN
SUN マイクロ社を買収したので、
マイクロ社を買収したので、 つぎに、
その後
が
認できた。
参考資料2のリスト
15 に出している。
MySQL
は、
2008
SUN マイクロ社に買収され、
経由でコマンドを入れた。MySQL
と全く同じ動き
(参考資料
1 リスト
14年に
参照)して、MySQL
のコマンド
でコマンドを入れた。MySQL
と全く同じ動きをした。
MariaDB
は Oracle
Oracle
社のものとなっている。
MariaDB
は
社のものとなっている。
#mysql
-u root -p
つぎに、
「SOURCE
命令」で、テキストファイル
その後 Oracle が SUN命令」を使用して登録した。
マイクロ社を買収したので、 (リスト
プロンプトから「source
13
参照) 13 参照)
をした。
(リスト
そのため、SUN マイクロ社を退職した
マイクロ社を退職した MySQL の
そのため、SUN
インストール時の端末へのキーインと応答は、
3.3
MariaDB
の実用性
経由でコマンドを入れた。MySQL
と全く同じ動き
これは、マイクロシミュレーションモデルのデータベー
リスト
13
MariaDB は Oracle 社のものとなっている。
リスト
13
生みの親である Michael
Michael "Monty"
"Monty" Widenius がオー 参考資料2のリスト
生みの親である
15
に出している。
MySQL は、2008 年に SUN マイクロ社に買収され、
スを作成したものである。業務では
Windows で作成し
をした。(リスト 13 参照)
そのため、SUN マイクロ社を退職した
MySQL の
MariaDB
[basic]>
source
プンソースを維持するために
プンソースを維持するために
MariaDB
つぎに、
「SOURCE
命令」で、テキストファイル
たが、Linux
環境の
MySQL
でも確認できた。を作ってい
その後 Oracle
が SUN
マイクロ社を買収したので、
リスト
13
生みの親である Michael "Monty" Widenius がオー
/home/hkawashima2/stest1.txt
る。全般的に MySQL
MySQL の最新機能を少しずつ取り込
の最新機能を少しずつ取り込 経由でコマンドを入れた。MySQL
る。全般的に
と全く同じ動き
MariaDB
は Oracle 社のものとなっている。
MariaDB [basic]> source
プンソースを維持するために
MariaDB
を作ってい
Query
OK,
0
rows
affected
(0.15 sec)
3.3 MariaDB
の実用性
みながらセキュリティや頑健性や性能を高めてい
をした。
(リスト 13 参照)
みながらセキュリティや頑健性や性能を高めてい
そのため、SUN
マイクロ社を退職した MySQL の
/home/hkawashima2/stest1.txt
る。全般的に
MySQL
M y Sる。ここでは、Linux
QL は、2008 年
に S Uの最新機能を少しずつ取り込
NのマCentOS7.0
イクロ社に
収 さ れ 、を
+-----------------+
に買MariaDB
リスト
13
る。ここでは、Linux
の CentOS7.0
生みの親である
Michael "Monty"
Widenius がオー
Query OK, 0 rows affected (0.15 sec)
その後
Orac e が SUN マイクロ社を買収したので、MariaDB
みながらセキュリティや頑健性や性能を高めてい
Tab
es_in_basic
|
Tables_in_basic
|
試してみた。インストールは、端末よりリスト 8 MariaDB [basic]>
試してみた。インストールは、端末よりリスト
source
MariaDB を作ってい
+-----------------+
はプンソースを維持するために
Orac
e 社のものとなっている。
る。ここでは、Linux
の CentOS7.0 に MariaDB を
+-----------------+
を実行する。
を実行する。
/home/hkawashima2/stest1.txt
る。全般的に
MySQL
の最新機能を少しずつ取り込
そのため、SUN
マイクロ社を退職した
MySQL の生み
| Tables_in_basic |
試してみた。インストールは、端末よりリスト 8
| usr
|
Query
OK, 0 rows affected
(0.15 sec)
の親である
Michae
"Monty"
Widenius
がオープン
みながらセキュリティや頑健性や性能を高めてい
リスト
8
リスト
8
+-----------------+
を実行する。
+-----------------+
ソースを維持するために
を作っている。全
+-----------------+
る。ここでは、Linux のMariaDB
CentOS7.0
に MariaDB を
| usr
|
1 row in set (0.00
sec)
般的に
M y S Q-y
L8 のinstall
最 新 機 能mariadb-server
を 少 し ず つ 取 り 込 みながら | yum
-y
install
mariadb-server
Tables_in_basic
|
##リスト
yum
試してみた。インストールは、端末よりリスト
8
+-----------------+
セキュリティや頑健性や性能を高めている。ここで
文字コードを UTF-8
UTF-8 にするために、端末から
にするために、端末から +-----------------+
文字コードを
を実行する。
1 row in set (0.00 sec)
は 、 L#i nyum
ux の
n t O S 7 . 0mariadb-server
に M a r i a D B を 試 し てみた。
-yC einstall
鈴木他(2015)によれば、MySQL
と MariaDB
と
MariaDB はほ
はほ
GEDIT を実行し、編集する。
を実行し、編集する。
(リスト 99 参照)
参照)
| usr鈴木他(2015)によれば、MySQL
|
GEDIT
(リスト
インストールは、端末よりリスト
8 を実行する。
鈴木他 (2015) によれば、MySQL と MariaDB はほぼ
リスト文字コードを
8
UTF-8 にするために、端末から
ぼ完全な互換性がある。MariaDB は、MySQL
は、MySQL の商用
ぼ完全な互換性がある。MariaDB
の商用
+-----------------+
リスト
8
完全な互換性がある。MariaDB
は、MySQL
の商用エン
リスト
9
鈴木他(2015)によれば、MySQL
と MariaDB
はほ
リスト
9
GEDIT を実行し、編集する。(リスト 9 参照)
エンタプライズ機能を持ち合わせており、MySQL
エンタプライズ機能を持ち合わせており、MySQL
1タ
row
inイset
sec)
プラ
ズ 機 (0.00
能を持ち
合わせており、MySQL のバー
# yum -y insta mariadb-server
ぼ完全な互換性がある。MariaDB は、MySQL の商用
のバージョンアップが
5.6
で留まっていることを
ジのバージョンアップが
ョ ン ア ッ プ が 5 . 6 で 留5.6
ま っで留まっていることを
ていることを勘案する
gedit9 /etc/my.cnf.d/server.cnf
/etc/my.cnf.d/server.cnf
##リスト
gedit
文字コードを
UTF-8 にするために、端末から
エンタプライズ機能を持ち合わせており、MySQL
勘案すると、教育および学術用では
MariaDB
文字コードを UTF-8 にするために、端末から GEDIT
と、教育および学術用では
MariaDB
に移行すること
勘案すると、教育および学術用では
MariaDB
に移
鈴木他(2015)によれば、MySQL
と MariaDB
はほに移
GEDIT を実行し、編集する。(リスト 9 参照)
のバージョンアップが
5.6
で留まっていることを
を実行し、編集する。
(リスト 9 参照)
も行することも有益であると思われる。
有
益
で
あ
る
と
思
わ
れ
る
。
# gedit /etc/my.cnf.d/server.cnf
行することも有益であると思われる。
[mysqld]
ぼ完全な互換性がある。MariaDB
は、MySQL の商用
[mysqld]
勘案すると、教育および学術用では MariaDB に移
リスト 9
character-set-server == utf8
utf8
エンタプライズ機能を持ち合わせており、MySQL
character-set-server
お行することも有益であると思われる。
わりに
[mysqld]
おわりに
おわりに
のバージョンアップが
5.6
で留まっていることを
MariaDB
を起動する。(リスト
10
参照)
MariaDB
を起動する。(リスト 10 参照)
第 1 章では、データ
ベー
スを使った授業の展開に
# gedit
/etc/my.cnf.d/server.cnf
character-set-server = utf8
第 1 章では、データベースを使った授業の展開
-35-
߅ࠊࠅߦ
╙ 1 ┨ߢ
ߦߟ޿ߡㅀ
Access ߪ w
߱ߦߪᦨㆡ
ᓮ߇ᒙߊ‫ޔ‬
ࠬࡐࡦࠬ߇
ߩ⦟ߐߦ․
川 島 秀 樹
ついて述べた。Access と MySQL を教えており、Access
Web 参照
は windows 環境でデータベースの基礎を学ぶには最適
[1]XAMPP プロジェクト日本語トップページ : 入手先
である。デリメットとしては、排他制御が弱く、1 万
https://osdn.jp/projects/xampp/( 参照 2015-12-17).
件以上のデータ操作を行うのにレスポンスが悪い。ま
[2]M a r i a D B F O U N D A T I O N : C o n t i n u i t y a n d o p e n
た、MySQL はパフォーマンスの良さに特徴があり、学
co
生は相当のスキルを涵養できる。
(accessed 2015-12-20).
第2章では、プログラムとの連動について論述した。
[3] マイクロソフト リレーショナルデータベースの
Windows 環境であれば、ADO.NET は応用が利く。マイ
基本知識 :入手先
クロシミュレーションでの MySQL サンプルを記した。
<https://www.microsoft.com/japan/office/previ
ADO.NET を使用する場合、Access(OLEDB)と MySQL
ous/xp/suminaka/access/database/database_con1
記述はほとんど同じである。
_2.htm>( 参照 2015-12-5).
第3章では、Access のメリットとデリメットと、MySQL
のメリットとデリメットについて述べた。Windows 上
で動く Access は、サポートがしっかりしており、ト
ラブルが出ても事案が多いメリットがある。半面、OS
環境やプログラム環境のバージョンアップが多く、多
くの VB プログラム資産を失った。
M y S Q L の メ リ ッ ト ・ デ リ メ ッ ト で は L i n u x などの
オープン環境で使えることである。情報教育では、
Knoppix を使用しているが、学生は使いやすいメリッ
トを持つ。テキストファイルに SQL コマンドを記述し
て、コピー & ペーストする方法や「source 命令」を使っ
て、SQL コマンドを実行した。Windows 環境では、XAMPP
を使用した。インストールが楽であり、コントロール
パネルより制御できる。
さらに、MariaDB の実用性について述べた。Linux
の CentOS7.0 サーバにインストールし、その実用性
を確認した。MySQL とほぼ同じ互換性があり、MySQL
で作成したテキストファイルを「source 命令」で実
行できた。MySQL ではエンタプライズ機能が MariaDB
には無償で入っている。教育および学術用では MariaDB
に移行することも有益であると思われる。
Linux などオープン環境での Java の記述は、Eclipse
が有用であるが、次の機会に論じたい。
参考文献
[1] 大津真著 ,(2006),『 Knoppix ビギナーズバイブル』,
株式会社毎日コミュニケーションズ .
[2] 沓名亮典他共著 ,(2009),『Linux コマンドポケッ
トリファレンス』, 技術評論社 .
[3] 島田裕二著 ,(2009),『MySQL ポケットリファレン
ス』, 技術評論社 .
[4] 鈴木啓修他共著 ,(2015),『MariaDB&MySQL 全機能
バイブル』, 技術評論社 .
[5] 日本 MySQL ユーザ会遠藤俊裕他共著 ,(2011),『MySQL
徹底入門~ 5.5 新機能対応~』, 翔泳社 .
-36-
aboration,avai ab e< https://mariadb.org/ >
情報教育におけるデータベース環境の考察
[ᖱႎᢎ⢒ߦ߅ߌࠆ࠺࡯࠲ࡌ࡯ࠬⅣႺߩ⠨ኤ]
[ᖱႎᢎ⢒ߦ߅ߌࠆ࠺࡯࠲ࡌ࡯ࠬⅣႺߩ⠨ኤ]
ෳ⠨⾗ᢱ㧝 ࡑࠗࠢࡠࠪࡒࡘ࡟࡯࡚ࠪࡦ DB
ዞᬺᤨ㑆
drop database if
exists
drop database if
exists
Master2007IER;
Master2007IER;
drop table
if
exists
୘ੱ;
drop table
if
exists
୘ੱ;
drop table
if
exists
਎Ꮺ;
drop table
if
exists
਎Ꮺ;
create database Master2007IER;
create database Master2007IER;
use
Master2007IER;
use
Master2007IER;
ߘߩઁߩᚲᓧ
int,
ᚲᓧ߇ᦨᄙߩ⠪ int,
ᚲᓧ߇ᦨᄙߩ⠪ int,
ൕഭᚲᓧ߇ᦨᄙߩ⠪ int,
ൕഭᚲᓧ߇ᦨᄙߩ⠪ int,
⾂⫾ว⸘
int,
⾂⫾ว⸘
int,
୫౉㊄ว⸘
int,
୫౉㊄ว⸘
int,
ᣂⷙ૞ᚑᣣ
int,
ᣂⷙ૞ᚑᣣ
int,
ᦨ⚳ᦝᣂᣣ
int);
ᦨ⚳ᦝᣂᣣ
int);
参考資料1
マイクロシミュレーション
DB
ෳ⠨⾗ᢱ㧝
ࡑࠗࠢࡠࠪࡒࡘ࡟࡯࡚ࠪࡦ
DB ൕഭᚲᓧ
ዞᬺᤨ㑆
࡝ࠬ࠻
14 ⚻ᷣ↥ᬺ⋭ࡕ࠺࡞ ୘ੱ‫ޔ‬਎Ꮺ଀㧔ᛮ☴㧕
リスト
14 経済産業省モデル 個人、世帯例(抜粋)
ൕഭᚲᓧ
࡝ࠬ࠻ 14 ⚻ᷣ↥ᬺ⋭ࡕ࠺࡞ ୘ੱ‫ޔ‬਎Ꮺ଀㧔ᛮ☴㧕
ߘߩઁߩᚲᓧ
create table
਎Ꮺ (
create table
਎Ꮺ (
ᐕᰴ
int,
ᐕᰴ
int,
⺞ᩏࠦ࡯࠼
int,
⺞ᩏࠦ࡯࠼
int,
⋵⇟ภ
int,
⋵⇟ภ
int,
࿾඙⇟ภ
int,
࿾඙⇟ภ
int,
න૏඙⇟ภ
int,
න૏඙⇟ภ
int,
਎Ꮺ⇟ภ
int,
਎Ꮺ⇟ภ
int,
਎Ꮺ⇟ภᨑ⇟ภ
int,
਎Ꮺ⇟ภᨑ⇟ภ
int,
਎Ꮺ ID
varchar(50),
਎Ꮺ ID
varchar(50),
਎Ꮺੱຬᢙ
int,
਎Ꮺੱຬᢙ
int,
਎Ꮺੱຬ඙ಽ
int,
਎Ꮺੱຬ඙ಽ
int,
਎Ꮺ᭴ㅧ_㧣ಽ㘃
int,
਎Ꮺ᭴ㅧ_㧣ಽ㘃
int,
㧨ਛ⇛㧪
㧨ਛ⇛㧪
਎Ꮺਥߩ୘ੱ
ID ID
varchar(50),
਎Ꮺਥߩ୘ੱ
varchar(50),
਎Ꮺਥߩᐕ㦂
int,
਎Ꮺਥߩᐕ㦂
int,
ว⸘ᚲᓧ_ᚲᓧ⒢
int, int,
ว⸘ᚲᓧ_ᚲᓧ⒢
ว⸘ᚲᓧ_૑᳃⒢
int, int,
ว⸘ᚲᓧ_૑᳃⒢
✚ᚲᓧ✚ᚲᓧ
int, int,
ᒰೋᚲᓧ
int,
ᒰೋᚲᓧ
นಣಽᚲᓧ
นಣಽᚲᓧ int,
int,
int,
ኅ⸘ᡰ಴㗵
ኅ⸘ᡰ಴㗵 int, int,
ᶖ⾌ᕈะ
ᶖ⾌ᕈะ float, float,
int,
int, int,
int, int,
create table
୘ੱ (
create table
୘ੱ (
ᐕᰴ
int,
ᐕᰴ
int,
⺞ᩏࠦ࡯࠼
int,
⺞ᩏࠦ࡯࠼
int,
⋵⇟ภ
int,
⋵⇟ภ
int,
࿾඙⇟ภ
int,
࿾඙⇟ภ
int,
න૏඙⇟ภ
int,
න૏඙⇟ภ
int,
਎Ꮺ⇟ภ
int,
਎Ꮺ⇟ภ
int,
਎Ꮺ⇟ภᨑ⇟ภ int,
਎Ꮺ⇟ภᨑ⇟ภ int,
਎Ꮺ ID
varchar(50),
਎Ꮺ ID
varchar(50),
਎Ꮺຬ⇟ภ
int,
਎Ꮺຬ⇟ภ
int,
୘ੱ ID
varchar(50),
୘ੱ ID
varchar(50),
⛯ᨩ
int,
⛯ᨩ
int,
ᕈ ᕈ
int, int,
ᐕ㦂ฦᱦ
int, int,
ᐕ㦂ฦᱦ
㈩஧⠪ߩ᦭ή
㈩஧⠪ߩ᦭ήint, int,
<ਛ⇛㧪
<ਛ⇛㧪
౏⊛ᐕ㊄ฃ⛎_೙ᐲ૬⛎
౏⊛ᐕ㊄ฃ⛎_೙ᐲ૬⛎int, int,
౏⊛ᐕ㊄ฃ⛎_ၮ␆
int, int,
౏⊛ᐕ㊄ฃ⛎_ၮ␆
<ਛ⇛>
<ਛ⇛>
⺖⒢ᮡḰ_ᚲᓧ⒢
int, int,
⺖⒢ᮡḰ_ᚲᓧ⒢
⺖⒢ᮡḰ_૑᳃⒢
int, int,
⺖⒢ᮡḰ_૑᳃⒢
⒢㗵ប㒰_ᚲᓧ⒢
int, int,
⒢㗵ប㒰_ᚲᓧ⒢
⽶ߩᚲᓧ⒢_⛎ઃ
int, int,
⽶ߩᚲᓧ⒢_⛎ઃ
ᶖ⾌⒢
ᶖ⾌⒢
int,
int,
⋥ធ⒢⋥ធ⒢
⚊⒢㗵⚊⒢㗵
int,
int,
int,
int,
␠ળ଻㒾ᢱប㒰_ᚲᓧ⒢
int, int,
␠ળ଻㒾ᢱប㒰_ᚲᓧ⒢
␠ળ଻㒾ᢱប㒰_૑᳃⒢
int, int,
␠ળ଻㒾ᢱប㒰_૑᳃⒢
౏⊛⽶ᜂว⸘
౏⊛⽶ᜂว⸘int,
int,
ක≮଻㒾ߩട౉⁁ᴫ
ක≮଻㒾ߩട౉⁁ᴫ smallint,
smallint,
␠ળ଻㒾ᢱ⽶ᜂ
int, int,
␠ળ଻㒾ᢱ⽶ᜂ
౏⊛ᐕ㊄ߩട౉⁁ᴫ
౏⊛ᐕ㊄ߩട౉⁁ᴫ smallint,
smallint,
␠ળ଻㓚⛎ઃ
␠ળ଻㓚⛎ઃint,
㓹↪଻㒾ߩട౉⁁ᴫ
㓹↪଻㒾ߩട౉⁁ᴫ smallint,
smallint,
int,
-37-
川 島 秀 樹
ෳ⠨⾗ᢱ㧞
MariaDB ࠗࡦࠬ࠻࡯࡞
参考資料2 MariaDB インストール
参考資料2 MariaDB インストール
੺⼔଻㒾ߩട౉⁁ᴫ
smallint,
介護保険の加入状況
smallint,
౏⊛ᐕ㊄ᕲ⛎ߩฃ⛎
smallint,
公的年金恩給の受給
smallint,
ᮡḰႎ㈽㗵_ෘ↢ᐕ㊄
int,
標準報酬額_厚生年金
int,
ᮡḰႎ㈽㗵_ஜᐽ଻㒾
int,
標準報酬額_健康保険
int,
ᮡḰႎ㈽㗵⚥⸘_ෘ↢ᐕ㊄
int,
標準報酬額累計_厚生年金
int,
ട౉᦬ᢙ
smallint,
加入月数
smallint,
઀੐ߩ᦭ή
smallint,
仕事の有無
smallint,
ൕ߼߆⥄༡߆
smallint,
勤めか自営か
smallint,
ൕ߼వߢߩ๭⒓ smallint,
勤め先での呼称 smallint,
㧨ਛ⇛㧪
<中略>
ᚲᓧ࡮૛ᥜㆬ⠨ smallint,
所得・余暇選考 smallint,
਎Ꮺਥߣߩ⛯ᨩ smallint,
世帯主との続柄 smallint,
೎ዬߒߡ޿ࠆሶଏߩ᦭ή smallint,
別居している子供の有無 smallint,
ᣂⷙ૞ᚑᣣ
int,
新規作成日
int,
ᦨ⚳ᦝᣂᣣ
int);
最終更新日
int);
リスト15
15 ┵ᧃ߳ߩࠠ࡯ࠗࡦߣᔕ╵଀
端末へのキーインと応答例
࡝ࠬ࠻
リスト 15 端末へのキーインと応答例
[root@localhost ~]# systemctl start mariadb
[root@ oca host ~]# systemct start mariadb
[root@localhost ~]# systemctl enable mariadb
[root@ oca host ~]# systemct enab e mariadb
Created symlink from
Created sym ink from
/etc/systemd/system/multi-user.target.wants/ma
/etc/systemd/system/mu ti-user.target.wants/ma
riadb.service to
riadb.service to
/usr/lib/systemd/system/mariadb.service.
/usr/ ib/systemd/system/mariadb.service.
[root@localhost ~]# mysql_secure_installation
[root@ oca host ~]# mysq _secure_insta ation
/usr/bin/mysql_secure_installation: ⴕ 379:
/usr/bin/mysq _secure_insta ation: 行 379:
find_mysql_client: ࠦࡑࡦ࠼߇⷗ߟ߆ࠅ߹ߖࠎ
find_mysq _c ient: コマンドが見つかりません
create index ⋵⇟ภ on ਎Ꮺ(⋵⇟ภ);
create index 県番号 on 世帯(県番号);
create index ਎Ꮺ ID on ਎Ꮺ(਎Ꮺ ID);
create index 世帯 ID on 世帯(世帯 ID);
create index ਎Ꮺਥߩ୘ੱ ID on ਎Ꮺ(਎Ꮺਥ
create index 世帯主の個人 ID on 世帯(世帯主
ߩ୘ੱ ID);
の個人 ID);
create
indexindex
਎Ꮺ⇟ภ
on ਎Ꮺ(਎Ꮺ⇟ภ);
create
世帯番号
on 世帯(世帯番号);
create
indexindex
਎Ꮺ⇟ภᨑ⇟ภ
on ਎Ꮺ(਎Ꮺ⇟
create
世帯番号枝番号
on 世帯(世帯番
ภᨑ⇟ภ);
号枝番号);
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS
RECOMMENDED FOR ALL MariaDB SERVERS IN
RECOMMENDED FOR ALL MariaDB SERVERS IN
PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll
In order to og into MariaDB to secure it, we'
need the current password for the root user. If
need the current password for the root user. If
you've just installed MariaDB, and you haven't
you've just insta ed MariaDB, and you haven't
set the root password yet, the password will be
set the root password yet, the password wi
be
blank,
so
you
should
just
press
enter
here.
blank, so you shou d just press enter here.
current
password
forfor
root
(enter
forfor
none):
create
indexindex
න૏඙⇟ภ
on ਎Ꮺ(න૏඙⇟ภ);
Enter
current
password
root
(enter
none):
create
単位区番号
on 世帯(単位区番号); Enter
OK,
successfully
used
password,
moving
on...
create
index
࿾඙⇟ภ
on
਎Ꮺ(࿾඙⇟ภ);
OK, successfu y used password, moving on...
create index 地区番号 on 世帯(地区番号);
create
index
⺞ᩏࠦ࡯࠼
on
਎Ꮺ(⺞ᩏࠦ࡯࠼);
create index 調査コード on 世帯(調査コード);
create
indexindex
⋵⇟ภ
on ୘ੱ(⋵⇟ภ);
create
県番号
on 個人(県番号);
create
indexindex
୘ੱ個人
ID on
ID);ID);
create
ID ୘ੱ(୘ੱ
on 個人(個人
Setting
thethe
root
password
ensures
that
nobody
cancan
Setting
root
password
ensures
that
nobody
log into
thethe
MariaDB
user
without
thethe
proper
og into
MariaDBroot
root
user
without
proper
create
indexindex
਎Ꮺຬ⇟ภ
on ୘ੱ(਎Ꮺຬ⇟ภ);
authorisation.
世帯員番号
on 個人(世帯員番号); authorisation.
create
create
indexindex
਎Ꮺ⇟ภ
on ୘ੱ(਎Ꮺ⇟ภ);
create
世帯番号
on 個人(世帯番号);
create
indexindex
਎Ꮺ⇟ภᨑ⇟ภ
on ୘ੱ(਎Ꮺ⇟
create
世帯番号枝番号
on 個人(世帯番
ภᨑ⇟ภ);
号枝番号);
SetSet
root
password?
[Y/n]
root
password?
[Y/n]
NewNew
password:
password:
newnew
password:
create
indexindex
න૏඙⇟ภ
on ୘ੱ(න૏඙⇟ภ);
Re-enter
password:
create
単位区番号
on 個人(単位区番号); Re-enter
create
indexindex
࿾඙⇟ภ
on ୘ੱ(࿾඙⇟ภ);
create
地区番号
on 個人(地区番号);
Password
updated
successfully!
Password
updated
successfu y!
privilege
tables..
create
indexindex
⺞ᩏࠦ࡯࠼
on ୘ੱ(⺞ᩏࠦ࡯࠼);
Re oading
privi ege
tab es..
create
調査コード
on 個人(調査コード); Reloading
......
Success!
Success!
<中略>
㧨ਛ⇛㧪
Reload
privi ege
tab es
now?
[Y/n]
Reload
privilege
tables
now?
[Y/n]
y y
-38-
情報教育におけるデータベース環境の考察
[情報教育におけるデータベース環境の考察]
... Success!
C eaning up...
A
done!
If you've comp eted a
of the above
steps, your MariaDB
insta
ation shou d now be secure.
Thanks for using MariaDB!
[root@ oca host ~]#
[root@ oca host ~]# mysq
-u root -p
Enter password:
Welcome to the MariaDB monitor.
Commands end
with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.44-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Orac e, MariaDB
Corporation Ab and others.
Type 'he p;' or '\h' for he p. Type '\c' to c ear
the current input statement.
MariaDB [(none)]>
[root@ oca host ~]# mysq
-u root -p
Enter password:
Welcome to the MariaDB monitor.
Commands end
with ; or \g.
Your MariaDB connection id is 9
Server version: 5.5.44-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Orac e, MariaDB
Corporation Ab and others.
Type 'he p;' or '\h' for he p. Type '\c' to c ear
the current input statement.
MariaDB [(none)]>
-39-
Fly UP