Push通知がくるよ

データベースってむずかしい

今日はわけわかんないかもしれないけれどご容赦を。

今日もお仕事用のシステムづくり。
データベースのSQL投げるとかのプログラムは問題ないんだけれど、
テーブルの設定に悩んでいます。

「正規化」と「取り回しやすさ」の問題なんだけれど・・・。

データベースを使うのに、正規化しすぎて連想配列みたいになっちゃうとかしたら
SELECT文がややっこしくなったりして嫌だし、
かといって、テーブルが融通のきかない構造になっちゃって
あとからALTER文乱発ってのも怖いし・・・。DROP文はもっと怖いし。

今日はテーブル構成を考えて紙の上でどうしようか考え込んでいました。

結局、前の職場で組んでたときのプログラムの形式が無難かな?と言った感じです。

あとは多数のアカウントを扱うのでセキュリティを
どう確保するかってところでまた考え込んで・・・。

でも、私がプログラム組んでて醍醐味を感じるのはこのへんのことをやってる時なんだな。

コーディングに入ると、資料と実システムの挙動が違ってたりとかしてイライラすることが多いし。
いや、面白くないことはないんだけれど。
出来合いのものを使うときは、どうしても裏技的な手法を思いつくかどうかがヤマになるし。

まあ、まだまだ実力が足らないってことでしょうか。

そんな合間に、グローバルIPを一個確保。高かったです。
さあ、気合が入ってきました。

あさ

山ほどの病気と資格と怨念と笑いで腹と頭を抱えてのたうち回っております。何であるのかよくわからない死に直面しつつも、とりあえず自分が死んだら、皆が幸せになるように、非道な進路を取って日々邁進してまいります。

View Comments

  • こんばんは。

    帳票とかOLAP用に正規化崩しとかもしますが、どんな用途のテーブルなのでしょうか。

    でもやっぱり、マスタなら正規化していたほうが綺麗ですよね。正規化したテーブルを作って、参照用に崩したテーブルを別に作るとか。バッチとかで整合性を保つ面倒もありますが。

  • >ブルーバード さん

    こんばんは。

    うわ、玄人っぽいツッコミですね。

    PDFで帳票吐かせるためのテーブルです。マスタ兼用。
    振替伝票の要素ごとにレコードを確保して、その関係を別テーブルで管理。
    あと、勘定科目を収めたツリーのデータのテーブルが主な内容です。

    まあ、集計も財務諸表を作るだけなんでそうややこしいものではなく、
    入力の時にある程度加工して収めるようになってます。

    問題は、PDF吐かせる時にサーバーの制限時間内に処理が終われるかどうかです。
    300秒の制限との闘いです。

    終わらないようだったら、あらかじめ途中まで処理しとくか何かすればいいかなと考えてます。

    とすると、別にテーブルが必要になるというわけで、サーバーの能力を実際に計算させて見積もらないといけないなというところです。

     
     
    多分、何とかなる・・・かな?甘いですかね?

  • わからないですが、伝票作るくらいなら、たぶん大丈夫ではないでしょうか。

    大規模なトランザクションの集計とかなら、時間かかりますけど。

  • >ブルーバード さん

    そうなんですよ。わからないんです。

    いっぺんにいくつものアカウントから出力を要求されたりとか、
    意表をついて大規模なユーザーさんが現れたりしたら・・・。

    って、そんな状態になったらサーバー増強すればいいんですが。
    それなのでここしばらくクラウドコンピューティングにこだわっていたのでした。

    MySQLのクラスタリングを勉強しとかないと・・・。

Share
Published by
あさ

Recent Posts

砂漠の鏡と港の灯

砂漠の国境地帯に、「砂の工房(…

1週間 ago

売れない種と、数字の畑

小さな町で、種苗店「ミドリの種…

2週間 ago

薄い土の上で

【導入】  その夜、私は机の上…

2週間 ago

川辺の茶屋と、荷車の話

川辺に、小さな茶屋がある。 旅…

3週間 ago

場を痩せさせないために

文章には、音がある。 読み手の…

3か月 ago

短い歓声と長い影

 町はずれの工場には、設備が止…

6か月 ago