ちょっと硬派なコンピュータフリークのBlogです。

カスタム検索
ラベル sql の投稿を表示しています。 すべての投稿を表示
ラベル sql の投稿を表示しています。 すべての投稿を表示

2014-02-10

SIerは終わっているか

先日、みんな大好きアノニ増田イアリーで、「SIerって終わってんな」という記事が掲載された。これは、「日本のITエンジニアの地位はなぜ低いのか:日経ビジネスオンライン」に対するツッコミ記事である「コーディング技術にこだわり過ぎるとITエンジニアの地位は向上しない - プロマネブログ」に対するさらなるツッコミ記事であり、ここのところこの話の流れはかなりホットなようである。

SIerって終わってんな」という記事にはどうしても突っ込んでおきたいところがあったので、ここで突っ込んでおくことにする。

2013-12-14

SQLインジェクション対策に正解はない

最近、SQLインジェクションのネタが盛り上がってるようだ。下記のTogetterまとめあたりが震源地だろうか。

「プリペアードクエリが基本だけど、動的に SQL を組み立てる場合もあるから、そういう場合に備えてエスケープも知っておいたほうがいいかも」 - Togetterまとめ

まとめを読んだ感想としては、「どちらの意見も間違ってはいない」というものだ。前提あるいは見方が異なるために、見解の相違が生じているだけのように思う。SQLインジェクションについては私も若干思うところがあるので意見を書いておこうと思う。

2013-07-28

qpstudyで発表したスライドをアップロードしました。

本日、qpstudyで「データベースとは」という内容について、そして「リレーショナルモデルとは」という内容について話す機会を頂いた。リレーショナルモデルという硬い内容であったにも関わらず、出席者の皆さんには最後まで良い反応をして頂けたように思う。実はリレーショナルモデルについて誤解している、あるいは知らない人が本当に多い、そして良い解説書がないということを普段問題として感じており、そういった背景から今回qpstudyの話を引き受けさせて貰った。今回発表した内容が皆さんのお役に立てば幸いである。

発表の内容はほぼ現在WEB+DB PRESSで連載している「理論で学ぶSQL再入門」のいくつかの回のものを要約したものになっている。連載ではさらに詳しい内容について説明しているので、興味のある人はぜひWEB+DB PRESSのバックナンバー(連載はVol.68〜)を購入して頂きたい。

本日発表したスライドはこちら。

2013-06-27

MySQLでVisual Explain

MySQL Workbenchの次期バージョンである6.0のベータ版が公開された。例によってMySQLのダウンロードサイトで公開されているので、新機能が気になる人はゲットして試してみて頂きたい。見た目が若干今流行りのフラットデザインっぽくなってシャレオツ(笑)な感じに仕上がってる。

ベータ版が公開されたのを記念して、Workbenchに搭載されているナイスな機能について紹介したい。そう、Visual Explainだ。Visual Explainとは読んで字のごとく、SQLの実行計画を視覚的に表現したものだ。SQLが複雑になると、その実行計画は理解し辛いものとなる。

今日はVisual Explain基本的な使い方と、それがどのように見えるかを紹介しようと思う。

2013-04-22

RDBMSに関する典型的な誤解が絶えないという現実

新入社員必読、データベースの基本を理解しよう - データベースはなぜ必要なの?:ITproという記事に対するブクマで次のようなIDコールが来た。(現在はコメント返しへのお礼が入っているので、文字数制限のためオリジナルのコメントは少し切り詰められている。)

"リレーショナルデータベースはすべてのデータを2次元の表形式で表現"こういうのもリレーションが2次元構造という誤解の一種なんだろうか。id:nippondanjiさんが書いてたような。

さて、この疑問に対する正解は如何なるものだろうか?

2013-01-26

紹介:【書籍】SQLアンチパターン


リレーショナルデータベースの父、エドガー・F・コッド氏が論文を発表したのは1970年。私が生まれる前の話である。そしてSQLがANSI標準になったのが1986年。RDBMSを、そしてSQLを使ったシステム開発は常に主流で在り続けたと言っても過言ではない。そんな歴史のあるSQLであるが、未だに多くの人はSQLを使いこなせて居ないように見える。

SQLはとても奥が深い。ソートやトランザクションが使用出来るおかげで、リレーショナルモデルを無視して単なるデータの入れ物として使ってもそれなりに便利だったりする。だが、それが今現在多くの悲劇を生んでいる原因でもある。多くの人が同じようにSQLを理解せず、そのため多くの人が同じ悲劇に見舞われる。そう、それがアンチパターンである!

今回紹介するSQLアンチパターンは、洋書SQL Antipatternsの邦訳版だ。私は元々英語版のファンでであり、人々が陥りやすいSQLの悲劇をユーモアたっぷりに紹介してくれるこの書籍が大好きなのである。その邦訳版がこの度発売された!!

2011-02-03

KateでスマートにSQLを編集しよう!

このところ、KDEの進化が著しい。先月の終わり頃にKDE 4.6がリリースされたのだが、前回のバージョン4.5は去年の8月だったので、5ヶ月ちょっとでのバージョンアップとなる。KDEは4.5でかなり品質が向上したように思うのだが、4.6では心踊る新機能が目白押しだ。その中で、特に筆者の目を引いた新機能がひとつある。それは、KateSQL(Kate用SQLクライアントプラグイン)だ。

Kateとは?

ひとことで言うとかなりイケてるエディタである。Qtを使って書かれており、KDEに標準的に含まれている。EmacsやVimのように、ゴリゴリにカスタマイズしまくって使うことを前提にした本格的なエディタとは少し毛色は異なるが、種々のプログラム言語やマークアップ言語をサポート(シンタックスハイライトやオートインデントなど)していたり、Zen-Codingに似た入力モードを搭載するなど、かなり気の利いたエディタなのである。筆者もブログやちょっとしたスクリプトを書くときに用いることが多い。

今でも十分気の利いてるKateが、もっと気が利く「KateSQL」なるプラグインを搭載したと聞いては、いてもたっても居られないのが人情というものだろう。試したい!!試すしかない!!試さずには居られない!!

2009-03-25

なぜMySQLのサブクエリは遅いのか。

よくMySQLはサブクエリが弱いと言われるが、これは本当だろうか?半分は本当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。

EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。