ちょっと遅くなりましたがid:sugimotokazuyaさんとid:Kazzzさんのトラックバックに対して返信をまず前提として趣味や趣向の話では無いので視点を明確にしたいと思います。チームを組んで開発作業を行うにあたってトータルで妥当な判断を下す必要があり(今風に言... 続きを読む
.NETを用いた業務アプリケーション開発において、データベースとのデータの受け渡しにDataSetかカスタムエンティティクラスを用いるか過去さまざまな議論が色々な箇所で行われていますが、傾向としてJava界から転向して来た場合にはカスタムエンティティに慣れ... 続きを読む
一部あたりの値段、わずか45円。 寄稿者が言うのもなんですが、これは買いでしょう 404 Blog Not Found:書評 - WEB+DB PRESS 総集編まずなんといっても目玉は、Vol. 1-36までの全記事のPDFがCD-ROM添付されていること。 容量がぐっと増えた今回はDVD、全部で3GB... 続きを読む
商品の説明内容紹介 WEB+DB PRESSの10年間のすべてがここに!Vol.1~60の過去記事を大収録!!WEB+DB PRESS Vol.1~60のバックナンバーをPDFでDVDに収録した特別編集号です。書き下ろし記事として、豪華執筆陣によるエッセイを掲載しています。 続きを読む
Loading… Flash Player 9 (or above) is needed to view presentations. We have detected that you do not have it on your computer. To install it, go here. 続きを読む
DB, PostgreSQL, Ruby on Rails | データベースには,「トランザクション分離レベル」というものがある。 以下では,それがなぜ必要なのか?デフォルトのレベルでは,どうして駄目なのか?PostgreSQLでは,どうやってレベルを変更・確認するのか?などを取り上... 続きを読む
2010-12-30 MySQL 5.5新機能徹底解説 今年も残すところあとわずかとなった。2010年もIT業界にとっては変化の多い一年だったが、皆さんにとっては良い年だっただろうか?既に何度かMySQL 5.5の新機能については取り上げたが、ついに正式版がリリースされたという... 続きを読む
MongoDBはNoSQLと言われるドキュメント指向データベースとして有名です。 以前個人的にsymfony1系でのセッション管理をMongoDBで行うsfMongoSessionStrageというのを書いたのですが、もっと汎用的にインクルードするだけで普通のPHPスクリプトでも使えるように... 続きを読む
前回の続き。 Pear::HTTP_Session2の中を見てみると、session_set_save_handler()関数を使用しています。 http://jp.php.net/manual/ja/function.session-set-save-handler.php このsession_set_save_handlerはsession_start()とか$_SESSIONとかの動作を自由に... 続きを読む
HTTP_Session2 0.7.2 (beta) http://pear.php.net/package/HTTP_Session2 MDB2 2.5.0b2 (beta) http://pear.php.net/package/MDB2 MDB2_Driver_mysqli 1.5.0b2 (beta) http://pear.php.net/package/MDB2_Driver_mysqli PHPのセッションはデフォルトではファイル... 続きを読む
独自セッション管理の注意点 † DB, memcached 等を使ってセッション管理を行う場合は、以下の点に注意する。 php.ini の session.auto_start の値が 0 になっていないと正常に機能しない。 session.save_hander の値を user にする必要がある。php.ini で設定... 続きを読む
テーブルのJOINが苦手でしたが、この例を思いついてからは、すっきりくっきり理解できるようになりました。むしろ頭から離れません……。 ※ INNER、OUTERは飾り。省略できる。 JOIN = INNER JOIN LEFT JOIN = LEFT OUTER JOIN RIGHT JOIN = RIGHT OUTER JOIN※... 続きを読む
OS(Windows, Linux)やDB(MySQL, PostgreSQL)、各種言語(Java, PHP)などのちょっとしたTIPSを紹介します。SoftBankのキャリア側のホストの挙動 (2008-10-30更新) Perlの丸め処理(切捨て・切り上げ・四捨五入) (2008-10-24更新) MySQLで特定のカラムの間にカラ... 続きを読む
Zend_Db_Table で join を使って、テーブルを結合してデータを取ろうとしてハマった。発行したい SQL はこんな感じ。 SELECT statuses.id, statuses.user_id, statuses.reply_user_id, statuses.comment, statuses.created_at, users.user_name, users.private_... 続きを読む
1 月 15th, 2008 | by wads | Zned_Db_Table_Abstractを継承したクラスで、WHERE句を複数指定して行を取得する場合は以下のようにすると思います。 $table = new Users(); $adapter = $table->getAdapter(); $where = array( $adapter->quoteInto('id = ?', $id... 続きを読む
訂正:2010/04/09 通りすがりさんにコメントを頂き、UNIONで連結した全体にhavingをかけるのはできないということで正しいということが分かりました。 たまたま、$select2の方にだけhavingでフィルターされるデータがあったため、結果的に意図通りのデータが出... 続きを読む
Zend_Db_Selectのメソッドにcolumnsというものがあります。 selectする対象を後付で追加できるメソッドです。使い方はこんな感じ。 ※ $adapterは、Zend_Db_Adapter_Pdo_Mysql。 $adapter->select() ->from(array("t1" => "hoge_table"), array("id", "account"... 続きを読む
すごい迷ったのでメモ。 $selectA = $db->select() ->from(array('u' => 'user'), 'name') ->where('u.id >= 5'); $selectB = $db->select() ->from(array('u' => 'user'), 'name') ->where('u.id select()->union(array($selectA, $selectB)); $select = $db->... 続きを読む
<< [Perl][PHP]配列に値を追加するときはpush を使うけど、Perl とPHP では微妙に異なる | main | Zend_Db というかZend_Db_Select でSQL を書かずにクエリーを作成した。Zend_Db は機能が中途半端なところもあるが、ある程度のクエリなら書くことができる。今... 続きを読む
class ItemRow extends Zend_Db_Table_Row_Abstract{ protected function _insert(){ $lm=new LogManager($this->_table->getAdapter()); $lm->doInsertLog(array("msg"=>"追加したよ!","date"=>(date("Y/m/d H:i:s"))); } protected function _update(){ $lm=... 続きを読む
オデの日記@WEB系: Zend_Db_Table_AbstractでZend_Cacheを利用して負荷軽減 で、このZend_Db_Tableですが、生成する度にdiscribetable()というメソッドが呼ばれテーブル情報を取得します。とても便利なのですが、都度DB接続が行われ非効率すぎるのでZend_Cache... 続きを読む
2009年7月8日 Zend_Db_Table_AbstractでZend_Cacheを利用して負荷軽減 どうも俺@ZendFrameworkを利用してWEBアプリを開発中です。 Zend_Db_Tableを継承してクラスを作成すれば、すでに様々なメソッドを持ったクラス(Bean)を作成することができます。 <?php c... 続きを読む
はじめに またも1週間のご無沙汰になりましたが、前回の予告どおり、データベース機能の説明に入ります。 DBMSに関しては、前回に予告したとおりSQLiteを対象としますので、先にこちらの番外編を参考にして、コンソールアプリケーションを導入しておくとよいで... 続きを読む
Zend_Db_Tableクラスは、 RDBの表を抽象化したもので、メソッドから表にアクセスすることができます。 下記は表に対応するクラスを定義した例ですが、他にも様々な使い方があります。 class Bugs extends Zend_Db_Table_Abstract { protected $_name = 'bugs'; ... 続きを読む
CRUD フルスペル:Create, Read, Update, Delete 読み方:クラッド CRUDとは、データベース管理システム(DBRS)に必要とされる4つの主要な機能、「作成(Create)」「読み出し(Read)」「更新(Update)」「削除(Delete)」をそれぞれ頭文字で表したもののこ... 続きを読む
CRUD とは、ほとんど全てのコンピュータソフトウェアが持つ永続性[1]の4つの基本機能のイニシャルを並べた用語。その4つとは、Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)である。ユーザインタフェースが備えるべき機能(情報の参照/検... 続きを読む
データベース研究者の大御所、マイケル・ストーンブレイカー氏が、「SQL URBAN MYTHS」(SQL都市伝説)というWebセミナーを、自身が創設した会社VoltDBで公開しています。 一般にリレーショナルデータベースに対して言われている「SQLは遅すぎる、トランザクシ... 続きを読む
Zend_DBの基本 クエリの実行 クォート処理 レコード挿入処理(INSERT) レコード更新処理(UPDATE) レコード削除処理(DELETE) トランザクション処理 レコード参照処理(SELECT) fromメソッド joinメソッド whereメソッド limitメソッド、limitPageメソッド orderメ... 続きを読む
Zend Framework: Documentation Zend_Db_Table で UPDATE や DELETE の連鎖操作をエミュレートする場合は、 配列 $_dependentTables を親テーブルで宣言し、 従属しているテーブルをそこで指定します。 各従属テーブルのクラス内で、配列 $_referenceMap を宣言... 続きを読む
The recently added Zend_Navigation component uses dynamic finders to find pages e.g. findOneByLabel(‘Home’) to return the first matching page with label Home (and that’s straight from the manual). It would be nice if Zend_Db_Table could do... 続きを読む
セキュリティ動向チェック Security&Trustウォッチ(60) 今夜こそわかる安全なSQLの呼び出し方 〜 高木浩光氏に聞いてみた 上野宣 株式会社トライコーダ 代表取締役 2010/6/25 「安全なSQLの呼び出し方」というSQLのセキュリティに焦点を当てたドキュメントが... 続きを読む
独立行政法人 情報処理推進機構(略称:IPA、理事長:藤原 武平太)は、ウェブサイト開発者・運営者が適切なセキュリティを考慮した実装ができるようにするための資料として、「安全なウェブサイトの作り方 改訂第3版」を2008年3月6日(木)より、IPAセキュリ... 続きを読む
About DBViewer Plugin for Eclipse(以下DBViewer)は、Eclipse(統合開発環境)を拡張するためプラグインです。 Eclipseに「データベース・フロントエンド」機能を提供します。(JDBCドライバーを使用しています) DBAの方よりも開発者(Developer)の方をターゲッ... 続きを読む
その例としてBeck氏自身が過去に取り組んできた生命保険会社のアプリケーションを例に挙げます。そのアプリケーションでは毎日のようにスキーマが変化するため、SQLとORM(Object-Relational Mapping)では対応できず、オブジェクトデータベースのGemstoneを利用... 続きを読む
データベースのテーブル設計を行うときに皆さんは、どのようにしているでしょうか? いくつかの無料で利用できるツールが提供されているので、筆者はそれらを利用していましたが、最近「ERMaster」と呼ばれるEclipseプラグインの存在を知りました。 ERMasterは... 続きを読む
セレクタおよび関数のチェーン機能を備えた jQuery により、複数のブラウザに対応したコンパクトなコードを記述できます。Dino EspositoMSDN Magazine March 2009 ... Read more! .NET Service Bus は、新しく発足した Windows Azure クラウド コンピューティン... 続きを読む
GUIによるSQL文の作成など、さまざまな開発支援機能を備えるSQL開発環境「黒猫 SQL Studio」v1.1.7.413が6月4日に公開された。Windows 2000/XPに対応しており、個人使用・業務にかかわらずフリーソフトとして利用可能。現在作者のホームページからダウンロード... 続きを読む
データベースを扱うアプリケーションといった場合、データベースサーバに対してクライアントの位置づけで動作するものを意味することが多いと思います。今回取り上げる「ストアドプロシージャ」もデータベースを扱うアプリケーションの一種ですが、クライアント... 続きを読む
5回に渡って解説してきた本連載も今回が最終回です。そこで今回は、今までの内容をもう1度復習してみたいと思います。 また最後に非常に簡単ですが、MySQLの将来バージョンについて紹介します。 続きを読む
共に本連載執筆開始時点での最新安定バージョンですが、ある特定のバージョンに特化した内容を記述する予定はないため、基本的にはPostgreSQLはバージョン8.1系、MySQLはバージョン5.0系の内容としてご理解ください。 また、PostgreSQL/MySQLともに様々なOS上... 続きを読む
「Lita」は、軽量データベースエンジン「SQLite」のデータベースをGUIで管理できるソフト。Windowsなどに対応するフリーソフトで、編集部にてWindows Vistaで動作を確認した。作者のWebサイトからダウンロードできる。なお、動作にはAdobe AIR 1.5が必要。 本ソ... 続きを読む
皆さん、はじめまして。本連載を担当するビーブレイクシステムズの山之内と申します。本連載ではO/Rマッピングについて検討していきます。 O/Rマッピング機能を提供してくれるフレームワーク(O/Rマッピングツール)はデータベースと連携するJavaアプリケーショ... 続きを読む
間違って主キーと同じ値を含む行を挿入しようとしたらエラーを出して教えてほしいとき INSERT INTO test VALUES(1,100); とすると、ERROR 1062 (23000): Duplicate entry '1' for key 1 というエラーが出る。 間違って主キーと同じ値を含む行を挿入しようとして... 続きを読む