タグ

2007年11月20日のブックマーク (14件)

  • 第5回 SELECT文の応用

    データベースで最も利用されるコマンドは,検索を実行する「SELECT」であろう。今回は,このSELECTコマンドを応用して,さまざまな検索結果を得る方法を紹介する。 講座第3回「データベースの基操作」では,SELECTコマンドの基構文を紹介した。その構文は次の通りである。 SELECTコマンドはSQLコマンドの中でも最も複雑な文法を持つ。例えば,検索条件を絞って検索したり,複数のテーブルを組み合わせて検索したり,検索結果を並べ換えたりというように,さまざまな検索結果が得られる。このSELECTコマンドを自在に使えれば,効率よく検索できるわけだ。早速その方法を紹介していこう。 今回も,sampleデータベースを使いながら利用例を説明する。ただし,前回にaddressbookテーブルを作り直し,nycardテーブルを新しく作成したため,テーブル内にはデータが存在しない。そこで,双方のテー

    第5回 SELECT文の応用
  • PostgreSQL 編8 - 表結合(join)、単純結合、等価結合、外部結合、再帰結合 - SAK Streets

    PostgreSQL 編8 - 表結合(join)、単純結合、等価結合、外部結合、再帰結合 様々な連結テーブルが作成できるが、良く使うものはビュー(create view) に しておくと効率が良い。結合は、テーブルとテーブル、ビューとビュー、テーブ ルとビューなど複雑にできる。(テーブル連結) 尚、古い PostgreSQL では、クロスジョイン(CROSS JOIN) しかサポートして いないので注意。最近の PostgreSQLOracle と同等である。 ■単純結合 ・現実的に単純結合を使う機会はないだろう。 次の例では、test2m の各レコードに testm の全レコードが結合される。 test2m のレコード数 x testm のレコード数の結果が問い合わされる。 select * from test2m, testm; select * from test2m cro

  • 忙しいあなたのためのSQL入門 第4回(2)

    複数テーブルの結合 実際に使われているリレーショナル・データベースは,複数のテーブルから構成されているのが一般的です。これまでのデータベースを改造して,MeisiTblテーブル(名刺テーブル)とShumiTblテーブル(趣味テーブル)の2つのテーブルから構成されたものにしてみましょう。MeisiTblテーブルには,MeiID(主キー)とShuID(外部キー)という名前の列を新たに追加します(図2[拡大表示])。ShumiTblテーブルには,ShuID(主キー),Shumi(趣味を表す文字列)があります(図3)。主キーと外部キーに関しては,連載の第1回を参照してください。このデータベースでは,ShuIDという列で,2つのテーブルにリレーションが設定されるわけです。それぞれのテーブルには,適当なデータを手作業で挿入しておきます。 ここで,ちょっと複雑な操作をしてみましょう。MeisiTblテー

    忙しいあなたのためのSQL入門 第4回(2)
  • サービス終了のお知らせ

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

  • 処理系コレクション:Linux:vi操作方法

    なお、削除・コピーについては 削除: d カーソル移動 コピー: y カーソル移動 で範囲指定が可能ということである。 文字列検索・置換 効果コマンド

  • 61. strftime関数で頭に0がつかない月表示をする

    現在もしくは指定した任意の時間の「月」表示をする際、date関数では 'n' を指定する事で1~12の「頭に0がつかない月の値」を取得する事が出来ますが、strftime関数を利用する場合はフォーマット文字列の中に月を10進数で0をつけずに取得するものがありません。ですがちょっとした記述で0を取り除く事ができ、smartyのhtml_select_date等でも汎用的に利用できるようになります。 smartyのhtml_select_dateを利用している時に、月の表示部分やvalueの部分に0がついていない月の表示をしたい時などはありませんか? month_formatやmonth_value_formatで定義をする事になりますが、ここに記述した値はstrftime関数を通して出力されるため、 {html_select_date field_order="YMD" month_form

    61. strftime関数で頭に0がつかない月表示をする
  • CodeZine:PHPにおける日付と時刻の混乱(ユリウス日, DateTime, PEAR Date, エポックタイムスタンプ)

    はじめに 作成しているプログラムの中で、ある日付の翌日を取得したいという状況を想像してください。一見単純そうなタスクですが、自分で実装するとなると、かなり面倒だということは容易に想像できます。「日」が27以下の場合は単に1を加えればいいのですが(実はこれは間違いです)、「日」が28以上になると、日数は月によって異なるため、まず、それが何月なのかを調べなければなりません。さらに、もし2月だったら閏年なのかどうかをチェックする必要もあります。「『年』が4の倍数なら閏年」というような単純な話ではないことはご存じでしょう。 幸運なことに、現在広く使われているプログラミング言語の多くは、日付や時刻の計算のためのライブラリやクラスを持っているので、暦の詳細を知らなくても、日時を扱うことができるようになっています。 PHPにも日付や時刻を扱うための手段が用意されていて、簡単に使うことができます。困ったこ

  • はじめてのカーネル・ソース---目次:ITpro

    なかなかハードルが高く,多くの人が踏み出せないでいるカーネルのソース・コードの読解。連載では,今までカーネル・ソースなんて見たことがないという人に,読みこなすコツをお教えします。 カーネルのコンパイル方法については,関連記事「やってみると意外に簡単!? Linuxカーネル・コンパイル入門」をお読みください。 また,カーネル・パラメータの項目については,関連記事「「Linuxカーネルの設定パラメータ」」で公開しています。 第1回 どうしたら読めるようになるのか 第2回 C言語とライブラリの初歩 第3回 カーネル・ソース内のシステム・コールを確認する 第4回 カーネルが構造体を好むワケ 第5回 デバイス・ドライバとモジュール 第6回 構造体に「関数」を登録する 第7回 ネットワーク処理はモジュール処理と上下が逆 第8回 データに意味付けするキャスティング手法 第9回 機能拡張でよく使われる共

    はじめてのカーネル・ソース---目次:ITpro
  • あるオブジェクト指向開発の物語:ITpro

    Part1 プロジェクト開始前夜 「的場くん,弁当チェーンのA社は知ってるだろう? 明日のヒアリングに同席してくれないか」――ある昼下がりの午後。平田マネージャが的場さんの席まで来て声をかけました。 的場さんは,都内の中堅ソフトハウスに勤めるソフトウエア・エンジニアです。Javaを中心とするWebアプリケーションの開発では,ここ数年,様々な経験を積んでいます。ちょうど前のプロジェクトの切れ目だったこともあり,的場さんは平田マネージャの話に耳を傾けました。 「実は,A社の野崎システム部長から,新システム構築にあたって最近の技術動向,特にオブジェクト指向開発について話を聞かせてほしいと言われているんだ」 「はあ」 「で,だったら,わが社の開発のエースをお連れしますよ,ということで君に白羽の矢が立ったわけだよ」 それを聞いて,的場さんの胸に不安が去来しました。平田マネージャは現場を離れて10年以

    あるオブジェクト指向開発の物語:ITpro
  • 根本から理解するオブジェクト指向分析/設計

    具体論に入る前に,まずオブジェクト指向分析/設計とは何を意味するのかを定義しておきましょう*1。 そもそも「分析」とはどういったことを指すのでしょうか。辞書を引いてみると,“ある事柄の内容・性質などを明らかにするため,細かな要素に分けていくこと”とあります。オブジェクト指向分析を適用する場面で明らかにしたい事柄とは,どのようなシステムを作らなければならないのかということです。つまり,オブジェクト指向分析とは,“どのようなシステムを作らなければならないのかを,オブジェクトという要素を使って解明すること”ということになります。これに対しオブジェクト指向設計とは,“分析によって明らかにしたシステムの実現手段を,オブジェクトという単位を使って明確にすること”となります。 両者の違いがイメージできたでしょうか。では以降は,具体的なサンプルに基づいてオブジェクト指向分析/設計の仕方を見ていきましょう。

    根本から理解するオブジェクト指向分析/設計
  • よくわかるソフトウエア・パターン - 特集 オブジェクト指向は難しくない!:selfup

    Part3では,もはやオブジェクト指向開発では欠かせない存在となったソフトウエア・パターンについて解説しましょう。デザインパターンに代表される様々なソフトウエア・パターンを活用して,熟練者の経験を盗み,オブジェクト指向開発を円滑に進める術を習得してください。 ソフトウエア・パターンの全貌 皆さんは誰かが書いたプログラムを眺めていて,どこかで見たようなソフトウエア設計やコードに出くわしたことがありませんか? 「このクラスの役割はどこかで見たことあるなあ」とか「このコードは何度も自分で書いたことがあるぞ」といった感覚です。そのような既視感は,そのコードを書いた人が,皆さんと似たような状況で,繰り返し発生する問題を抱えて,似たような設計/実装を行ったからかもしれません。 ソフトウエア・パターン*1は,このような繰り返されるソフトウエア設計を集めたものです。それも単に集めたのではなく,様々なソフト

    よくわかるソフトウエア・パターン - 特集 オブジェクト指向は難しくない!:selfup
  • オブジェクト指向開発にRubyを使うメリット - 特集 オブジェクト指向は難しくない!:selfup

    皆さんは,業務や研究などでソフト開発を行う際に,どんなプログラミング言語をお使いでしょうか。試しに筆者が勤務する会社の知人に聞いてみると,COBOL,FORTRAN,C,C++,C#,VisualBasic(VB),Java,ABAP*1といった答えが返ってきました。皆さんの中には,これらの言語のほかにPerlPHPといったスクリプト言語をお使いの方もいるかもしれません。 ここで紹介するRubyについて名前だけは聞いたことがあるという方も多いと思います(カコミ記事「Rubyの特徴」参照)。PerlPHPと同じスクリプト言語です。ただし,Rubyはオブジェクト指向を意識して設計されているので,オブジェクト指向スクリプト言語と呼ばれることが多いようです。そのため,オブジェクト指向設計(Object Oriented Design)に基づいたプログラミングをする際にRubyは大きな効果を発揮

    オブジェクト指向開発にRubyを使うメリット - 特集 オブジェクト指向は難しくない!:selfup
  • オブジェクト指向を正しく理解する - 特集 オブジェクト指向は難しくない!:selfup

    オブジェクト指向はしばしば,とっつきづらく難しい技術と言われます。その理由の一つには,対象とする分野が広く,それぞれに深みがあることが挙げられます。しかし,それ以上にこの技術を難しくしている落とし穴とも言うべき原因が二つあると筆者は考えています。それは比喩を乱用する説明の仕方の問題と,「もの中心」を意味するコンセプト自体の問題です。 そこで特集では,「オブジェクト指向という言葉をよく聞くけど,実際どんなものかよくわからない」という方のために,初心者/入門者が陥りやすい落とし穴を明確にしながら,オブジェクト指向の全体像を説明します。余計な先入観やまぎらわしいたとえ話に惑わされなければ,オブジェクト指向そのものはそれほど難しい技術ではないことを理解していただきたいと思います。なお,オブジェクト指向プログラミング,デザインパターン,分析/設計といった個々の技術については特集2以降でそれぞれ解説

    オブジェクト指向を正しく理解する - 特集 オブジェクト指向は難しくない!:selfup
  • Part4 誰もがつまずくポインタを完璧理解

    C言語のポインタは難しいと言われます。しかし,ポインタについて覚えるべき文法は,それほど多くはありません。Cを勉強してきて,ポインタのところでつまずいたという場合でも「&や*などのポインタに関する文法はわかるのだけれど」という人は多いでしょう。むしろ,ポインタで難しいのは,その考え方にあります。 考え方さえわかってしまえば,ポインタはそれほど難しいものではありません。もしプログラムを読んでいて,ポインタの動作が理解できない場面があったら,そのポインタが「何の機能を実現するために使われているか」を考えてみることが理解につながります。この特集では,考え方に重点を置いてポインタを説明したいと思います。 Cではポインタは必須 読者の中には,JavaやC#,Perlなどのプログラミング言語を使っている人もいるでしょう。これらをはじめとする多くの言語では,ポインタというものは無いか,あったとしても,あ

    Part4 誰もがつまずくポインタを完璧理解