前回までの道のり
その①はこちら→https://qiita.com/pothos/items/7801daffc504ad85f475
「哲学的疑問は一つ浮かべば次々に浮かんできてしまうので、メモを樹形図状に整理したい」
「マインドマップに書きこまれる条項を"問い"というカテゴリーのみに絞って考えるとどうなるか」という思索を起点にメモアプリの開発を(Node.jsについて習ったことの復習も兼ねて)行うことにしました。今回はその経過報告の第二回です。
今回はひとまずNode.jsと連携させるための仮のデータベースを作ってみました。データベースはMySQLで作っていきます。
どんなデータを登録していったか
CREATE DETABEASE Q_list;
CREATE TABLE questions (
id CHAR(4) NOT NULL,
/*↓問いの概要。小見出し*/
smallQ CHAR(30) NOT NULL,
/*↓もう少し長く書き残しておきたい場合の詳細メモ。クリックで全体表示される*/
largeQ CHAR(200) ,
dateLog DATE ,
PRIMARY KEY(id)
);
まずは問いをメモとして登録するのに最低限のカラムを作りました。ここでしかし、試しにデータを登録してみる段となって、「問いのカテゴリーやタグもあると便利だな」と気づきました。
焦らず追加していきます。
ALTER TABLE questions ADD(category_1 CHAR(15),category_2 CHAR(15)) ;
これで計6つのカラムが完成。早速データを追加していきましょう。
INSERT INTO questions VALUES
(1, 'なぜ勉強せねばならないのか',
'念頭にあった問い。なぜ自分がこの問いに行き着いたかの来歴までも射程に入れて考えたい
',
'2022-09-05','学問','倫理'),
(2, '生きているならば既に勉強している?',
'勉強が有用だとしても、その効用は勉強以外から得られないのだろうか',
'2022-09-05','学問','条件'),
(3, 'どんな状況でそれが言われるか',
'そもそも誰がどんな時に勉強をせよ、とけしかけるのか',
'2022-09-05','学問','いつ(WHEN)'),
(4, '生きているならば既に勉強している?',
'人間、そもそも生きていれば常に多少なりとも勉強している状態にあるのではないか',
'2022-09-05','学問','条件'),
(5, 'なぜ「すべきこと」をすべきか',
'勉強は為すべき行為だと結論が出たとしても、そもそもなぜ倫理的に正しくて、目的に適ったことをしなければならないのか',
'2022-09-05','学問','倫理');
試しにsmallQをセレクト。問題なく表示されます。良い感じ!
次なる道は
「常人が一足で跨いで超える段差を死ぬ程長いスロープでゆっくり超える」者、常に「長さ二光年のスロープ」を登ることでしか成長できないタイプの私。そんな私にとっては、今回行った単純操作による達成すらも十分な進歩です。 次回はいよいよNode.jsとMySQLをつないでwebページにSQLデータを表示できるようになることを目指します(できればwebページからデータを変更・修正できるところまでも行きたい!)。
浮上してきた学習課題
今の所「問いをRDBで管理し、一覧で表示できるようにする」が当座の目標です。が、最終的には「問い同士の関係性を階層型データベースで管理」することが必要になってくるでしょう(アプリの性質上)。また、「異なるユーザー同士が管理している各データ同士を関係づける」といった(初心者の自分からすると)死ぬ程保守の面倒そうな機能も必要になってくるかもしれません。。道行きは険しい!
この件に関しては下に載せた『SQLアンチパターン』が導きとなってくれそうです。もう少しデータベースについての勉強が必要ですね。
それでは今回はここまで。GOODNIGHT WORLD!!