タグ

programmingとDBに関するkathewのブックマーク (9)

  • O/Rマッピングツールに対する誤解をときたい - give IT a try

    2010.12.23 追記 エントリの続編となる「実装編」のブログを書きました。 こちらも合わせて読んでみてください。 O/Rマッピングツールに対する誤解をときたい -実装編 Part1- - give IT a try 文にコメントすると泥沼に巻き込まれそうなので、ここに書いておきます。。。 http://el.jibun.atmarkit.co.jp/g1sys/2010/05/post-2d1b.html なんかこのコラムのコメントを読んでいると、「O/Rマッピングツール(ORM)はSQLを書きたくない開発者のためのツールだ」と思われているような感じを受けます。 おいらはこれまでORMを使った開発プロジェクトに3回参加しました。 確かに最初のプロジェクトでは「SQLを書かなくてもいいんだよ」とリーダーから説明されたような記憶があります。 しかしその発想は大きな誤解です。 ORM

    O/Rマッピングツールに対する誤解をときたい - give IT a try
    kathew
    kathew 2016/11/01
    良い説明。「SQLを直接書いた方が早いしわかりやすい」という言に対して、ORMはそうではないと頭では確信を持って否定しているのに、その時はうまく説明できなかった。自分なりにうまく整理して理解したい
  • CakePHP2.x系でバルクインサートを使用して高速なインサート処理を実現する - ダメプログラマの技術メモ

    CakePHPで複数のレコードをDBに投入する時に、forループでsaveメソッドを何度も呼び出していませんか? 今のプロジェクトでもそういったソースをよく見かけるのですが、とてつもなく遅い(;´Д`) ということで、今回はCakePHPでバルクインサートを使用してインサート処理を高速に行う方法を説明します。 今回使用するテーブルは? musicsテーブル id singer song_title created modified 1 初音ミク Tell Your World 2012-09-29 20:18:57 2012-09-29 20:18:57 2 鏡音リン 炉心融解 2012-09-29 20:18:57 2012-09-29 20:18:57 3 鏡音レン Fire◎Flower 2012-09-29 20:18:57 2012-09-29 20:18:57 4 巡音ルカ J

    CakePHP2.x系でバルクインサートを使用して高速なインサート処理を実現する - ダメプログラマの技術メモ
  • 今まで見たもっともクソなテーブル設計 - 何か着ていればいいよ

    あれは、僕がデータベースを扱ううち最初から3件目のプロジェクトだった。 C++のソースが難解で火を吹いているという話で、自分は低スキルの若造。火にくべるには丁度良い程度のやる気と責任感をもっていた。折悪く別のプロジェクトが終了した直後だったもので投入されたのでした。 現場で『DBからデータを吸い出すツールかSQLを作ってくれ』といわれ話をきくと他社が作ったDB定義がすこぶる使いづらいという。 ER図やDB定義を見せてくださいと言ったのだけど、そんなものは無いという返事。 今ならもうここら辺で逃げ出すところですが、当時は『ふーん。』てなもんでそういうこともあるのかくらいの軽い気持ちで考えていました。 で、プロジェクトの資料をあさりまくって何とかDB定義のようなものも見つけDBのデータを調査し始めたのですが何かがおかしい。 機能の数に比して異様にテーブル数が少ないのです。 ふと周りを見ると、皆

    今まで見たもっともクソなテーブル設計 - 何か着ていればいいよ
  • ER図から,Webアプリを自動生成

    下記の流れは,一度は体験しておきたい。 ER図を書く。 → 1 から,DDL文+テーブルを自動生成。 → 2 から,テーブル定義書を自動生成。 → 2 から,Webアプリを自動生成。 コーディングなし。 例として,複数人で利用できるブックマークアプリのようなものを生成してみる。 「CakePHPが作ってくれる雛型(scaffold)はリッチだ」とよく言われるが,それを更にテーブル生成ツールと組み合わせたらどうなるか,というのが焦点。 CakePHPの入門方法もちょっと兼ねる。 事前準備(1/2):ツール ER図描画+DDL生成+テーブル定義書生成のために,A5SQLというフリーソフトを使うのでインストールしておく。 A5SQLをDL http://www.wind.sannet.ne.jp/m_matsu/... また,DB+DB管理+PHP実行のために,XAMPP+CakePHPを使う。

    ER図から,Webアプリを自動生成
  • タイトル考え中 » [CakePHP]新しく追加したカラムに値が入らない

    SQL の「alter table …..」にてカラムを追加し、早速 cakePHP 上で save などの処理をしてみる。 ・・・が。 save されない。 他にも、テーブルに新しくカラムを追加したり、既存のカラムを削除したり、既存のカラムの名前や型を変更したり・・・などなど。 とにかく何かテーブルに変更が加わったら、必ずやらなければならないのが 『キャッシュの削除』 ↓キャッシュファイルはこのフォルダに入っていて /app/tmp/cache/models/ ↓こんな名前のファイルがずらっと入っている。 cake_model_default_テーブル名 変更を加えたカラムのテーブル名のついたファイルを削除する。 テーブル名が「posts」だったら cake_model_default_posts ←削除 (キャッシュファイルなので、間違って消しても問題はない) これで s

    kathew
    kathew 2013/04/18
    うっかりすると忘れそうな素敵な罠。念の為に備忘録としてブクマ
  • AndroidでSQLiteのDB操作をするための基礎知識

    AndroidSQLiteDB操作をするための基礎知識:Androidで動く携帯Javaアプリ作成入門(6)(1/3 ページ) 連載で、SDKとEclipseを使ってAndroidの携帯端末で動くJavaアプリを作成し、Android Market配布を目指しましょう Androidのデータベースも、いま流行中の「SQLiteJavaプログラマは、大きく分けると2種類に分類されます。エンタープライズ・サーバサイド系Javaプログラマと、組み込み系Javaプログラマです。 筆者は組み込み系ですが、Javaを始めたきっかけはサーバサイド系(正確には、Javaアプレット)です。サーバサイド系ではデータベースは必須、というよりむしろ最重要のシステムですが、組み込み系ではデータベースを使用することはほとんどありませんでした。ただし、「これまでは」です。 今回はAndroidに標準で組み込ま

    AndroidでSQLiteのDB操作をするための基礎知識
  • SQLite を簡単に扱うための DB アダプターの実装 - Android 開発入門

    ここでは簡単なメモ入力サンプルプログラムの作成を例にとって、SQLite データベースの利用方法について学びましょう。 着目するところは SQLite を簡単に扱うための DB アダプターの利用です。 SQLiteDB アダプターを利用するサンプルプログラム それではここで作成するサンプルプログラムの動作を先にみておきましょう。 起動直後はこのとおり。画面下部にテキストの入力フィールドと保存ボタンがあるのみです。 テキストを入力して、"Save" ボタンを押すと・・・ このように入力文字が保存されます。このときに SQLite データベースに入力文字を保存しています。 文字を複数入力すると次の画面のようにリストビューにエントリが増えていきます。 エントリを長押しすると、コンテキストメニューが表示されます。今回は削除するかどうかたずねるだけのコンテキストメニューです。 "Delete"

    SQLite を簡単に扱うための DB アダプターの実装 - Android 開発入門
  • サービス終了のお知らせ

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

  • MySQL - ユーザの操作(作成、パスワード変更、削除)

    MYSQLのユーザ関連コマンドのついて紹介しています。 [toc] ユーザの作成 ユーザ名は半角英数の16文字までです。 構文 GRANT権限 ON *.* TO ユーザ名 IDENTIFIED BY 'パスワード' WITH GRANT OPTION; 全ての権限を与えた場合 ALL PRIVILEGES        =全ての権限を与える WITH GRANT OPTION     =権限の書き換えを許可する 使用例 mysql> GRANT ALL PRIVILEGES ON *.* TO sasuke IDENTIFIED BY 'aaa' WITH GRANT OPTION; Query OK, 0 rows affected (0.03 sec) 一部権限、SELECT,INSERTのみ与えた場合 使用例 mysql> GRANT INSERT,SELECT ON *.* TO

    MySQL - ユーザの操作(作成、パスワード変更、削除)
  • 1