タグ

DBに関するescape_artistのブックマーク (11)

  • ドメインロジックとSQL

    以下の文章は、Martin Fowler による Domain Logic and SQL の日語訳である。 データベース指向ソフトウェア開発者とメモリ上(in-memory)アプリケーションソフトウェア開発者との間のギャップは、ここ数十年、徐々に広がってきている。このギャップが原因で、データベースの機能(SQLやストアドプロシージャ)をどのように扱えばよいのかという議論が数多く巻き起こっている。ここでは、ビジネスロジックを SQL に置くべきか、それともメモリ上のコードに置くべきかといった問題について、主にパフォーマンスと更新性の観点から考察を行う。考察には簡単な例を使うが、SQL クエリはしっかりとしたもの(rich SQL queries)を用いるので悪しからず。 エンタープライズアプリケーション(訳注:以下、EA)構築に関する(私の近著『P of EAA』など)を読むと、ロジッ

  • OTN Japan - 今だからデータ・アクセスを真剣に考える! 第2回

    前回の「データベースことはじめ(前編)」では、システムの論理的な階層の中でドメイン層をどの様に実装するかということで、PoEAAのアーキテクチャパターンを元に見てみました。今回は、パーシステンス層のアーキテクチャパターン+αを見ていきます。 まずパーシステンス層を見る前に、今回の話題とは直接ではないですが、間接的に関わってくる層のサービス層に関して少し触れておきたいと思います。サービス層は、ドメイン層配下のビジネスロジックをユーザインタフェース層やアプリケーション層から利用するためのインタフェースとして機能します。一般的にトランザクションロジックやセキュリティロジック、ドメインロジックのワークフロー等のドメインロジックとは直接関係ないロジックを含むのみで、大きなドメインロジックを含むことは好ましくないとされる層です。 では、パーシステンス層です。ここまで、役割的には、データアクセスの実装を

  • これだけは覚えておきたい!!MySQL の6つの自動変換 - sakaikの日々雑感~(T)編

    MySQLはとても気ぃつかい屋さんである。我々が投げる多少あいまいな指示も頑張って解釈し、なんとか文句を言わずに実行してみようと挑戦してみてくれる。 今日はそんなMySQLがケナゲに解釈してくれる自動変換について紹介しようと思う。この自動変換、ケナゲなMySQLの奥ゆかしさ故、出した指示と異なる動作をされたことに気がつかないことがある。ここで紹介する6つの自動変換をしっかり脳ミソにたたき込んでおけば、無用なトラブルにハマる時間も減るかもしれない。 1.[数値] 範囲外の数値は頭を押さえつけられる intやsmallint、bigintなどの数値型には、扱える範囲が決まっている。例えばint型なら最大21億ちょっとだ(unsignedの場合は43億弱)。これより大きい数字を登録するよう指示を出すとMySQLはどうするか。そう、頑張って入れられるところまで入れてくれるのである。「入れられるとこ

    これだけは覚えておきたい!!MySQL の6つの自動変換 - sakaikの日々雑感~(T)編
  • めも - OpenOffice.orgからMySQLに接続 , OOoとMySQLとODBCと文字化け

    _ [Ubuntu][OpenOffice] OpenOffice.orgからMySQLに接続 OOo BaseからODBC経由でMySQLに接続するために必要なものを入れる。 $ sudo apt-get install unixodbc unixodbc-bin libmyodbc 入れたらまずはODBCの設定。端末から $ sudo ODBCConfig で設定ダイアログを出す。 "System DSN"タブを選択し、"Add"を押す。 ここでも"Add"を押すと、ドライバの設定に移るので、 Name: MySQL Driver: /usr/lib/odbc/libmyodbc.so Setup: /usr/lib/odbc/libodbcmyS.so のように環境に合わせて入力する。 入力できたら左上のチェックボタンみたいなのを押して保存する。 今作成したドライバを選択して"OK"

  • 空想具現化プログラミング DBモデリングツールDBDesigner4の後継は?

    管理人(はむ!)は最近スクリプト言語Lua(るぁ)に入れ込んでいます。と思ったら「ARカプセル」とかやってます。 ※iPhoneの方は右上の「PC」ボタンでPC用表示のほうが良いと思います。 データベースの「設計図」にあたるER図を描いて、さらにMySQLにテーブルの状態を反映させたりするのには、DBDesigner4 がなかなか便利です。 マウス操作でお絵かき感覚でDBモデルをエディットすることができます。 http://fabforce.net/dbdesigner4/ しかしながら、DBDesigner4の流の開発は既にストップしています。DBDesigner4の開発者はMySQL社にうつって MySQL Workbenchを開発していますが、まだこれはアルファ版で、あまり実使用に堪えるものにはなっていません。いっぽう残されたDBDesigner4のほうも、全体としては十分実用にな

  • 『指南書』1-1: CHECK制約の代わりにTRIGGERを使う | キムラデービーブログ

    オープンソースデータベースを加速する「キムラデービー」のブログです。カレー日記を兼ねてます。なお著者は2010-06-01より日オラクルに在籍していますが、サイト(ブログ、またはウェブサイト)において示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。 『指南書』ネタです。(1-1: CASE式のススメ) Webでは、以下で参照できます。 CASE式のススメ: 3.CHECK制約で二つの列の条件関係を定義する(リレーショナル・データベースの世界) CASE式はCHECK制約に使える、という話があるのですが、MySQLはCHECK制約がサポートされていません。他DBからの移植に便利なように、エラーはでませんが、実際には定義されず、無視されます。 mysql> CREATE TABLE Personnel( -> name varchar(20),

    『指南書』1-1: CHECK制約の代わりにTRIGGERを使う | キムラデービーブログ
    escape_artist
    escape_artist 2009/06/12
    トリガはちゃんと使うようにしたいなぁ
  • Expertise ERP CRM | DB QUEST | Nous apportons une expertise sur CRM et ERP

    DIGITAL BUSINESS QUEST Accéder à l’expertise pour piloter vos applications métiers (CRM et ERP) ! DB QUEST est une société basée à Lyon qui est spécialisée dans le domaine applicatif. L’ERP et le CRM sont devenus des outils de travail incontournables dans le fonctionnement d’une entreprise. Il est important d’avoir les compétences en interne pour gérer ces solutions au mieux dans le maintien opéra

    escape_artist
    escape_artist 2009/04/17
    まず英語が読めぬ
  • wedata

    もとは、androidのN2TTSやVocalizerという読み上げアプリ用に作ったユーザー辞書(読み替え単語集)です。 最近のTTSエンジンは十分に賢いので、このユーザー辞書を使うと、かえって読み上げ精度や抑揚が悪くなるかも。 (例:「青瓦台」は、googleテキスト読み上げでは「セイガダイ」と正しく読めるが、マイクロソフトのHarukaでは「アオガワラダイ」と読んでしまうなど、TTSエンジンによって得意・不得意がある) ベクターのフリー辞書などを転用して、時代小説などに頻出する地名や人名などを登録してみました。 TabSpeechというChromeプラグインでユーザー辞書(読み替え)のデータベースを指定できるので、このデータベースも利用できると思います。 ★ユーザー辞書を充実させるため、単語追加歓迎します。 ただ、隆盛(人名でのタカモリ、普通名詞のリュウセイ)とか意味によって読み方が変

  • PDOのprepareでLIKEの部分一致が使えません・・(1/1) | OKWave

    http://d.hatena.ne.jp/Sybian/20070521/p1 のサイトの例のように、LIKE '%文字列%' をprepareしようとしたのですが上手く結果が返りません。 PDOのプリペアステートメントは、 LIKEの部分一致や先頭一致に非対応なのでしょうか? $query="SELECT * FROM table WHERE id=:id OR like name='%:name%'"; $pdo=new PDO('mysql:host=localhost;dbname=database','user','password'); $stmt=$pdo->prepare($query); $stmt->bindValue(':id',$id,PDO::PARAM_INT); $stmt->bindValue(':name',$name,PDO::PARAM_STR);

    PDOのprepareでLIKEの部分一致が使えません・・(1/1) | OKWave
    escape_artist
    escape_artist 2008/11/07
    同じところではまった!!!!
  • 1