タグ

SQLに関するshozzyのブックマーク (17)

  • JavaからSQLiteを使ってみる : mwSoft blog

    軽くて丈夫でコンパクト(というキャッチフレーズの腹筋トレーニングマシンが昔あった気がする)なSQLiteJavaから使ってみる。 ここのページに置いてあるSQLiteJDBCが便利らしい。 http://www.xerial.org/trac/Xerial/wiki/SQLiteJDBC どの辺が便利かというと、JARの中にWindows用のsqlitejdbc.dllとか、Linux用のlibsqlitejdbc.soが同梱されているので、パスやら環境を意識することなく、ライブラリを読み込みさえすれば使えてしまう。 しかも、もしWindowsでもMacでもLinuxでもなかった場合は、PureJavaSQLiteを呼んでくれたりもするらしい。Java版の実装なんてあったんですね。知らなかった。でも、ソースコード見ようと思ったらそこだけ何故か入ってなかった。 とりあえず、サンプル。 i

    shozzy
    shozzy 2011/02/03
    参考にした
  • MySQL AB :: Managing Hierarchical Data in MySQL

    "The Documents contained within this site may include statements about Oracle's product development plans. Many factors can materially affect Oracle's product development plans and the nature and timing of future product releases. Accordingly, this Information is provided to you solely for information only, is not a commitment to deliver any material, code, or functionality, and should not be reli

    shozzy
    shozzy 2009/12/15
  • 日常用語でnullを理解する(2) - 極北データモデリング

    SQLにおけるnullは「値があることは分かっているが、それが何なのかはわからない」という意味だ。 「値がない」という意味ではない、ということに注意しなくてはならない。 nullは「値がない」ではない nullを「値がない」という意味だと考えてしまうと、 'a'と'b'とnullを連結した結果が、nullになる 1 + nullがnullになる といったSQLの挙動の意味が理解できなくなる。 nullが「値がない」という意味なら select 'a' || 'b' || null の結果には少なくとも'ab'が含まれているはずあって、「値なし」になってしまうのはおかしい。 また select 1 + null の結果が「値なし」になってしまうのも何だかよくわからない。 つまりSQLは、nullを「値がない」という意味のものとしては扱わない。 が、「値がない(まだない or あり得ない)」と

    日常用語でnullを理解する(2) - 極北データモデリング
    shozzy
    shozzy 2009/08/26
    これは興味深い!こんな見方したことなかったけど、言われてみればそうだねぇ。
  • SQLの勉強の必要性 - @katzchang.contexts

    枯れた技術だけど「正解」が見いだしにくいものの一つがSQL。だと思う。大抵のシステムで保守や性能のネックとなるのがDBアクセス部分だったりするし、かなり現実的、実践的な勉強会になるはず。 個人的論点は: とりあえず、表結合の条件をwhere句で書く人は爆発したまえ。 "select * from T;"対"select T.id, T.name, T.hoge_id from T;"とか 人工キーと複合キーなど 正規化とパフォーマンスとか 設定のチューニングとか スキーマ管理とか設計変更への対応とか「データベース・リファクタリング」とか O/Rマッピングとか トランザクション管理の「正攻法」とか 安全なデータモデリングのパターン的なやつとか 運用のtipsとか モデリング、クエリ、管理、運用のアンチパターンとか(たぶん一番盛り上がるw) OracleMySQL、PostgreSQL、SQ

    SQLの勉強の必要性 - @katzchang.contexts
    shozzy
    shozzy 2009/08/03
    爆発した。
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • クラスタリングファクタによってSQLのパフォーマンスが変わる話 - 極北データモデリング

    昨日の実験では、両側にインデックスがある場合、マージ結合とネスト化ループ結合の速さがハッシュ結合と同等かそれ以上になってしまった。 少量のマスタと大量のトランザクションの結合は、ハッシュ結合が圧勝してしかるべきなので何だこりゃと思ったのだが、これはテストデータが都合よく整列しているせいだとわかったので、結合カラムの値を更新して測定し直してみた。 データを作り直す 昨日の時点では、トランザクションデータの作り方に問題があって、結合カラム(tid)が同じ値のレコードが一箇所に固まっていた。 こんな感じ: bench=# select * from history limit 10; tid | bid | aid | delta | mtime | filler -----+-----+--------+-------+----------------------------+--------

    クラスタリングファクタによってSQLのパフォーマンスが変わる話 - 極北データモデリング
    shozzy
    shozzy 2009/01/16
  • リレーショナル・データベースの世界

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • asp2php's blog: クロス集計について

    shozzy
    shozzy 2008/10/12
    クロス集計。変換用のテーブルを作るところが絶妙だ。
  • Oracle SQL SELECT クイックリファレンス

    SELECT グループ関数列,・・・ FROM テーブル GROUP BY グループ列,・・・ HAVING グループ関数列条件

    shozzy
    shozzy 2007/10/10
    HAVINGのわかりやすい説明
  • DWHではouter join上等 - 極北データモデリング

    今メンテしているDWHでは、トランザクションデータに対してマスタを結合するときに、やたらとleft outer joinが使われている。 outer joinしているということは、結合できるマスタデータがないことを想定しているわけで、そもそもそんなことがあり得ないようにシステムを作らないとまずいんじゃないの、というのが第一印象。 が、DWHのデータは夜中に複数の外部システムから流し込まれたものなので、DWH自身はそれらの整合性を保証することができない。 なので、マスタデータに欠落があったときに、ひっそりとトランザクションの件数が減ってしまうinner joinよりも、データに不整合があっても合計値が維持されるouter joinの方がベターなのだ。 メンテしてみてわかったのだが、DWHというのは集計値の検証が一番大変だ。 結合の失敗でトランザクションがひっそりと欠落したりすると、どの段階で

    DWHではouter join上等 - 極北データモデリング
    shozzy
    shozzy 2007/10/10
    「何でもouter joinにしておくと、腐ったデータから生成したレポートは、見出し行の名称欄が空白になっていたりして、すぐに異常に気付ける。」なるほど
  • 関連項目の多いテーブルはSQL文で処理して欲しい

    Ognacの雑感 木漏れ日々 目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 1487 記事 - 0 コメント - 45674 トラックバック - 143 書庫 2014年5月 (6) 2014年4月 (13) 2014年3月 (14) 2014年2月 (12) 2014年1月 (12) 2013年12月 (13) 2013年11月 (13) 2013年10月 (11) 2013年9月 (13) 2013年8月 (14) 2013年7月 (13) 2013年6月 (14) 2013年5月 (15) 2013年4月 (13) 2013年3月 (14) 2013年2月 (13) 2013年1月 (15) 2012年12月 (14) 2012年11月 (14) 2012年10月 (15) 2012年9月 (14) 2012年8月 (13) 2012年7月 (13)

    shozzy
    shozzy 2007/10/02
  • SQLで木と階層構造のデータを扱う――入れ子集合モデル

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • SQLで集合演算:CodeZine

    はじめに SQLが集合論に立脚する言語であるということは、この連載で一貫して強調してきたテーマの一つです。その特性のゆえに、SQLは「集合指向言語」と呼ばれていますし、実際、集合的な観点から見たときに初めて、その強力さが理解できると私は考えています。しかし現実には、SQLのこの側面は長らく無視されてきました。 その背景には、SQLにも責任の一端があります。というのも、SQLはちょっと前まで、高校で習う程度の基的な集合演算子すら持っていなかったからです。和(UNION)こそSQL-86からの古参ですが、交差(INTERSECT)と差(EXCEPT)が標準に入ったのはSQL-92ですし、除算(DIVIDE BY)が未だに標準化されていないことは、前にも述べました。だから、SQLが言語として不完全だという批判は、理由のないものではなかったのです。 しかし、現在では標準SQLに基的な集合演算子

  • Web2.0ナビ: SQL-DESIGNERがスゴイ

    いいね! 0 ツイート B! はてブ 447 Pocket 2 データベースの設計時にER図をかくことが多いと思いますが、SQL-designerというウェブベースのツールが非常に使いやすいく、デザイン的にも綺麗で便利。 MSproject等のデータベース設計を行う専用ソフトは非常に多くあるが、どれもインストールが必要だったり、設定ファイルが必要だったり、ソフトが重かったり、環境依存が激しかったりして、使いにくい。 使いかたは簡単で、 1.ウェブページにいって 2.テーブルやフィールドを追加する 3.プリントアウトorXMLエクスポート だけ。 データの型なども選択できて、設計が終わったら、SQL文をそのまま発行したり、作ったEQ図をXMLでエクスポートやインポートすることも可能。Javascriptベースなので、めんどくさいインストールや環境依存もなし。 ウェブ上でやるのは、セキュリティ

    shozzy
    shozzy 2006/10/29
  • ハッカーの金鉱脈「SQLインジェクション」の正体

    最近,「SQLインジェクション」の危険性について語られる機会が増えているが,SQLインジェクションの正体,その問題点,そしてそれを防ぐための方策について詳しく理解している人はまだ多くない。ここでは,SQLインジェクションとは何かを明確に定義し,どのようにして行われるかを説明し,SQLインジェクションから組織を守る方法を読者に伝えることによって,この状況を改善したい。 SQLインジェクションとは何か SQLインジェクションとは,アプリケーションに含まれるコーディング・エラーが原因となって引き起こされるぜい弱性,または欠陥である。SQLインジェクションは,ユーザーが入力したデータを使ってアプリケーションがSQLステートメントを作成し,それをSQL Serverに送信して実行する場合に発生する。この欠陥が及ぼす影響は,コーディング・エラーの性質によって様々である。 具体的に言うと,その影響は,エ

    ハッカーの金鉱脈「SQLインジェクション」の正体
  • SQLインジェクション再現デモムービー:phpspot開発日誌

    0-DAY - SIMPLE SQL INJECTION あるオープンソースのCMSのセキュリティホールを探る際のFlashムービー。 映画のイントロのように始まり、怪しげな音楽と共にムービーが再生される等、あやしい雰囲気たっぷりに作られています。 IRCチャットで依頼が始まり、ソースのDL〜grepしてSQLインジェクションの脆弱性を見つけ、実際にIDとpassを取り出すまで。 こういう手口で脆弱性が発見されるんだな、というのがハッキリと分かります。 もちろん、ソースなど見なくてもURLから類推したりその他のパターンも多数あると思いますが、オープンソースの場合はこんな感じでソースをgrepされたりするんでしょうね。 SQLインジェクション対策の参考に。

  • mysql:12071 階層化されたデータをMySQLで扱う

    From: zen kishimoto <zen kishimoto <zen@xxxxxxxxxx>> Date: Sat, 03 Sep 2005 09:24:15 -0700 Subject: [mysql 12071] 階層化されたデータをMySQLで扱う (Managing Hierarchical Data in MySQL) http://dev.mysql.com/tech-resources/articles/hierarchical-data.html (図はこのサイトを参照のこと) Mike Hillyer著 初めに 多くのユーザーは一回くらいはSQLデータベース内で、階層化したデータを 扱ったことがあると思います。そのときはリレーショナル データベースは階層化したデータ用に開発されなかったと考えたと思います。 リレーショナルデータベースのテーブルは階層化されておらず

  • 1