「SQL」に関する日記(2)

<前

無題

アンパンマンDBのデータベースの容量がかなりオーバーしてきました。
手っ取り早く容量をあけるには質問箱とコメントをぶっ潰せばいいのですが、管理し切れていないとはいえなくすのはもったいない気がします。
MySQLによる恩恵をあまり受けない要素で結構容量を食っている部分があるのでそこらへんを余裕のある置き場に移動すれば何とかなりそうな気はしますが…。

無題

アンパンマンDBにDBの種類ごとのTOP10を作りました。
質問箱のTOP10の応用で、しかも10倍近く高速化しています。
最も時間のかかるMySQLへのアクセスを個別に10回からまとめて1回に減らしたのです。

無題

アンパンマンDBの新検索システム、SQL文に使用する正規表現を4分の1に短縮したり、キャラ番号による検索に対応したりしました。
で、ちょっと複合条件による検索について考えてます。
絞込みに相当するAND検索は当然実装していますし、検索結果を除外するNOT検索も一応できています。
OR検索については、限定的にですが使うことができます。
先ほどNOT検索を一応できていると表記したのは、下記のNAND・NOR検索に関する問題があるからです。
AND検索に使用する語句の一つ一つにそれぞれNOTをかけると、NOR検索と同等の効果があります。
一方、NAND検索はORの語句一つ一つにそれぞれNOTをかけたのと同等ですが、OR検索が限定的な機能のため、これをそのまま行うことはできません。
なので、OR検索全体のNOTでNANDにすることを考えていたのですが、OR全体のNOTはNORだし、そのための構文は見かけ上OR検索の最初の一つだけにNOTをかけたのと同じに見えて感覚的にも気持ち悪いのです。
しかも、元々限定的なOR検索に更に条件を加えたものなので、検索方法としての使い方も更に限定的になっています。
たとえば、OR検索の「1988,1989年」は、1988年または1989年の全てという意味ですが、NAND検索としての「-1988,1989年」は、1988年以外または1989年以外の全てという意味になります。
ちょっと考えれば分かると思いますが、1988年以外に当てはまらなかった1988年の項目は1989年以外に当てはまり、逆もまた然りです。
つまり、検索として全く意味を成していないのです。
メロンパンナとロールパンナが共演していないとか、そういう検索条件ならばNANDの出番なのですが、そういう需要はあまりなさそうですし…。

無題

ふにゃさんのコンフィグでいまだにエラーが起こるようですね…。
どうにもエラーの雰囲気からしてDLL呼び出しに関係がありそうではあるのですが。

ところで、今日アンパンマンDBにコラムのページを作りました。
これはさすがにMySQL使うまでもなかったんですが、せっかくのデータベース遊びなので今回もMySQL使いました。
アンパンマンの深いところを考えてみたり新キャラを考えて遊んだりしてみたいなと思っています。

無題

MySQLの練習も兼ねて、アンパンマンの全話リストと登場キャラクターをデータベースにしてみました。
とりあえず、AパートBパートを分けて考えると1000話以上になってしまって手入力では追いつかないので、VBでSQL文を生成してphpMyAdminにまとめてぶち込むことにしました。
気が向いたら一般用の表示プログラムを作ってアキヤメに出してみようかとも考えてみたり。

データベース使えず

GChat、phpMyAdminで仮のデータをいくつか入れて、とりあえずmySQLに接続するだけのコードを書いて、いざ接続!と思ったら、あんたのサーバーからは接続させてやらん、とのデータベースサーバー様の仰せだったので、ローカルテストのときのデータベース利用は諦めることに。
本当は自分のコンピュータにもmySQL入れればいいんだけど、もうこれ以上面倒なものをインストールしたくなかったし、今までどおり普通のファイルでも一応実現はできるので、早々と従来の方式に切り替えてしまいました。
まあ、仮で入れてみたデータで、必要そうなデータは大体分かったので、一応意味はあったものと思います。

RPG±0、マップチップのサイズも自由にして欲しいとの意見があったので、それに対応するためデータ形式とインターフェースを全面的に作り直すことにしました。
まあ、インターフェースに関しては既に作り直す気になっていたのでちょうどいい機会です。

ふにゃさんのBGMはちまちまと作り続けています。
サブメロディも入れてみたり。消すけど。

1125498071.mid

簡単エディタ

ふにゃふにゃのページを更新しました。
開発メモ。どうやら以前のエディタは難しすぎてエディタ作者自身にも手に負えない代物だったようで、以前の何でもできるエディタは残しつつも、新しい簡易エディタを作ることにしました。

  1. ペイントの鉛筆ツールで曲線を描くかのごとく自由で簡単で直感的な直線生成
  2. ドラッグ&ドロップで置きたい場所に置ける画像
  3. 必要なファイルは全部ステージファイル一つに埋め込み、最低限動作に必要なファイルを極力減らす
  4. エクスプローラからドラッグ&ドロップで勝手に背景としてインポートされる一枚絵
  5. その他必要なファイルはインポートできるようにする。インポートしたファイルは関連付けられたプログラムで開く
  6. いろいろあった設定は必要最低限まで減らす。あとは自動設定
  7. 当然の如く用意されるすり抜け防止策
  8. ステージ作者が最初に使いたがるだろう機能をコンパクトにまとめたツールボックス
  9. ステージ作者を困惑から救う優れたヘルプシステム
だいたい開発理念はこんなもの。

そして、Bomber丸Worldのページも更新。
戦闘画面がついに出ました。
イメージ画像ですけど。
なかなか面白いことになっていますよ。

そんでもって、RPG±0、さしあたり自分で不便に思っていた右クリックの挙動を統一。
スポイト機能と右クリックメニュー、両方一気に実行されます。

チャットの人工無能ちゃん、以前のようにファイルに入れておくよりも、mySQLのデータベースに入れておいたほうが管理しやすいと思ったので、mySQLを勉強し始めました。
とりあえずphpMyAdminの使い方を思い出しつつどんなデータがどう使われるのかを覚えていきます。

ふにゃさんは今日はBGMを作成中。
先日言っていた違和感はほぼ取れたように感じます。
メロディ以外のパートは修正するときの補助のために入れた音で、後ではずすかもしれません。

1125326932.mid

撲滅運動撲滅委員会!?

3ヶ月間のブランクは…いやむしろ半年前から変わってないかも…
レポートダメでした。
表の番号図の描き方考察忘れ

注意事項の文面を少し修正。
別にどうでもいいことですけど。

前にも書いたことがあったかもしれないけど、HP作成論、どうも使われ方がおかしいような気がします。
私としては、サイトをこれから自分で作ろうと思っている人や、既にサイト運営をしている人、もしくはたまたま検索で迷い込んだ人などに、見てもらって少しでも参考になればと思っていたのですが、アクセス解析を見ていると、第三者が人のサイトにいちゃもんをつける道具にされているような気がしてならないのです。
近日中に、そんな使われ方をされるのは好ましくないということを明記し、それでも好ましくない使われ方が続くようであれば、強硬手段に出ることも無きにしも非ずです。
もちろん閉鎖なんて情けない手段は使わないつもりですが。
直リンク拒否の応用でやっちゃるけえ。

MySQLの管理画面を見つけました。
MovableTypeとかそんなのでよく分からなくて敬遠していたのですが、データベースはデータベースだと思い、使い方やら調べていたら何やら設定項目にMySQLと書けって指示があって、これはもしかしてと思いつつデータベース管理画面を出してみたらそれはまぎれもなく学校の生協で買う気もないのに立ち読みしていた本で見たphpMyAdminではないですか!!
まあ今は何をどう使っていいかさっぱりわかんないけど、とりあえず使えるということだけを確認しておけば、将来TscriptをPHP+MySQLで置き換えるときに使えそうです。

SQLやめ

どうもMySQLはPHPに最初っからくっついてたらしいけど、ざっと調べてみたところ、専用のソフトがどうたらとかサーバーがこうたらとかややこしそ~なことが書いてあって、右クリック→新規作成→適当なファイル→名前変更、でPHPから使える状態になるわけではなさそうで、となると、データベースの内容のアップロードやダウンロードもできなさそうな気がして、それだったら自宅サーバーで本格的に使う以外では使う理由はないかなと思って、まあそれでも、いつか使えたらいいなというかすかな期待も抱いて今後もちょくちょく調べたりしていこうと思うのですが、当面は使わないことにしました。

MusicPlayer3の、起動時クローズ中バグを直したのですが、その修正版をアップしたかどうかは記憶にございません。
起動時に何かが出たり出なかったりしても動作には支障はないし、特に新しい機能が増えたわけでもないので、修正版を改めてダウンロードしなおす必要はないと思います。

無題

さて、mySQLが使えるかどうか。でもよーわからんから使えても使わん。
またブルースクリーン。モニタの電源を自動で切る設定が原因か。XPSP2も考えられ。
簡易暗号化とかも考えてみたり。
実験早く終わった。

<前