…正直、こんな事を書く事になるとは思わなかった(笑)
プログラマには色んなタイプがあります
といっても性格とかじゃなくって 作るプログラムのタイプによって、です
私の場合は Windowsの基幹系データベースアプリの ぷろぐらまっ★
Windowsは置いておいて、基幹系っていうのは企業の主な業務に携わるもの全般のこと
その業種特有のものの他、会計や売上管理、在庫管理、給与や人事なども含みます
往来は帳簿などで管理していたそれらの情報を、コンピュータで扱えるようにするアプリを
作成、管理するような仕事です
んで、データベースはそれらの情報を蓄積・加工したものの事です
…いかん、危うくその目的とかまで語りかけた…130行位書いて我に返って削除(爆)
データベースで…というより、コンピュータでもアナログでもなんでも
情報を管理する上で一番大切な事はなんだろう?と最近考えたわけです
それは 必要な情報を 必要な時に 必要な形で 取り出せる事だと思うのです
データベースはそれを コンピュータで簡単に出来るように考えられた 一種の思想であって
情報処理の考え方の一部であると思っています
特に その必要な情報を探し出す速さ、必要な形に加工する早さ、
また同じ情報を 何度も入力しないで活用する事に秀でています
話を元にもどして、では 情報を取り出すのに最も重要な事はなにか? というと、
そこはデジタルもアナログも一緒で 目録 目次 索引 付箋 しおり になるわけです
これをデジタルな事で考えると Index Key や 今なら Tagなどになります
特に重要なのは 目録/目次です、これらはどの情報が何処にあるかを確実に指し示します
目次には頁や章などが記載されており、それによって情報のありかを迷うことなく探せる訳です
何故迷わないのか?それは 頁や章がそれぞれの情報ごとに重複しないから他なりません
つまり 必要な情報を正しく確実に取得するには その情報には他の情報と確実に区別のつく
特別な情報を必ず持っていなくてはなりません。
それらが プリマリーキーやユニークキー 一意キー キーインデックスなどと呼ばれる
1つの情報に1つずつ 重複しない値(例えば頁) もしくは値の組合せ(例えば章/段落)になります
…すいません、それが無い情報管理が 世間に一杯ある事を ここ数年で知りました(滝汗)
実は 以前つぶやいた関口(仮名)さんのネタもそうです。
あるリストを作れといわれましたが、そのリストで何かを発見しても
それがどこのどのデータを指し示すか 全く分からないというシロモノでした
なので私が言った台詞が「お客様はなんのDataが欲しいんですか?」になる訳で
それで黙っちゃう辺りが 一番重要な所がかけてるとしか言い様がないのです
この時はそこまで考えなかったんですが、今担当してる幾つかのシステム、
まぁ結構古いものもあるんですが、あたらしいのもあったりするわけで
データの一意性が分からない様子が あちこちに伺えるシステムだったりします
情報管理を生業としてるものとして その部分が欠けているのは致命的だと思うのですよ
プログラムは確かに プログラマが作りますが、基本概念として抑えていて欲しいなと
思うわけですよ、えぇ(涙目)
データがいつ作られたかによるでしょうねぇ。最近のものなら大丈夫とは思うのですが、そうでもないのかな?
返信削除最近、データベースを教えているのですが、レポート出すと、すごいのがありますから。それは本当にprimary keyか?ユニークか?というのを属性にしてきますから。。。あの様子だと、正規形はほとんど理解してもらってないと思ってます。
少なくとも今回の分は新しい設計のはずなんですけどねー
返信削除そのシステム全体のそもそもの設計思想が古いままなのかもしれません
でも一応リレーショナルなはずなんですけどー( ̄▽ ̄;
実践で来た人間だからか正規化とかIndexとかって、もう感覚とか思考になっちゃってますね。
後で勉強したんですが正規化を説明しろというのは、私には息の仕方を文章で書けといわれる位の難しさです(爆)