検索 - みる会図書館

検索対象: 月刊 C MAGAZINE 2001年4月号

月刊 C MAGAZINE 2001年4月号から 92件ヒットしました。

月刊 C MAGAZINE 2001年4月号


、 Bookends 3 月 発 売 予 定 の 新 刊 ( 0 は CD-ROM 付 ) 書 籍 名 詳 説 C + + ANISI C + + 完 全 理 解 C + + 標 準 ラ イ ブ ラ リ チ ュ ー ト リ ア ル & リ フ ァ レ ン ス Java の か ら く り 2 0 ー 実 践 ・ 強 化 編 ー JSP に よ る Web 開 発 0 0rlandJBuiIder オ フ ィ シ ャ ル コ ー ス ウ ェ ア フ ァ ウ ン テ ー シ ョ ン i モ ー ド Java プ ロ グ ラ ミ ン グ ス タ 0 0 図 解 入 門 XML 技 術 フ ミ ン グ VB と ASP で つ く る XML プ ロ グ XHTML 入 門 ビ ギ ニ ン グ XHTML &JavaScript Web プ ロ グ ラ ミ ン グ ① : HTML 魔 道 編 Ruby を 256 倍 使 う た め の 本 Perl の 鉄 人 が 贈 る レ シ ピ 集 Perl ク ッ ク プ ッ ク ン ド ア ロ ン ・ ア プ リ ケ ー シ ョ ン 編 0 ア ー キ テ ク チ ャ 徹 底 解 説 API.COM 編 0 旧 u Basic 6.0 300 の 技 ホ ン 0 ホ ン キ で 学 ほ う ! PHP4 の キ リ ア ル タ イ ム UML 第 2 版 O)<ML テ ー タ 活 用 ガ イ ド 0 Delphi Win32 Graphics API リ フ XML on SQL Server 2000 SQL プ ロ グ ラ マ ー ズ リ フ ァ レ ン ス 上 ・ 下 Microsoft SQL Server 2000 Transact- イ シ ャ ル マ ニ ュ ア ル 上 ・ 下 Microsoft SQL Server 2000 オ フ Server 2000 プ ロ グ ラ ミ ン グ 実 践 講 座 上 ・ 下 ス テ ッ カ ヾ イ ス テ ッ プ で 学 ぶ Microsoft SQL ル リ フ ァ レ ン ス セ キ ュ リ テ ィ ガ イ ド Microsoft Windows 2000 テ ク ニ カ フ ィ ッ ク / ネ ッ ト ワ ー ク 編 , Windows サ ー ビ ス / GU 産 0 Win32 AP は フ ィ シ ャ ル リ フ ァ レ ン ス 改 訂 3 版 グ ラ Microsoft Windows 2000 上 ・ 下 著 者 Nicolai M. Josuttis ピ ア ソ ン ・ エ デ ュ ケ ¥ 3 , 000 ¥ 5 , 200 ¥ 5 , 800 ¥ 3 , 200 ¥ 3 , 200 ¥ 5 , 800 ¥ 1 , 200 各 ¥ 2 , 500 ¥ 4 , 980 ¥ 6 , 800 ¥ 4 , 200 ¥ 1 , 800 ¥ 3 , 900 ¥ 2 , 500 ¥ 2 , 980 各 ¥ 3 , 980 各 ¥ 4 , 800 ¥ 4 , 800 各 ¥ 2 , 980 各 ¥ 3 , 980 各 ¥ 4 , 800 ¥ 2 , 800 ¥ 8 , 800 ¥ 1 , 900 ¥ 2 , 600 内 容 を 支 援 す る 説 し , D 引 phi に よ る グ ラ フ ィ ッ ク ア プ リ ケ ー シ ョ ン の 作 成 D phi の 立 場 か ら Win32 グ ラ フ ィ ッ ク A の 使 用 方 法 を 解 ロ グ ラ ム を 元 に 解 説 er 2000 に お い て , XML の 利 用 方 法 を 簡 潔 な 例 題 や ASP プ デ ー タ ベ ー ス サ ー バ と し て 実 績 の あ る Mic 「 0S0 代 SQL Serv ン ヘ ル プ の 製 本 版 ア ト プ ロ シ ー ジ ャ と テ ー ブ ル を ま と め て 収 録 。 オ ン ラ イ Transact-SQL の リ フ ァ レ ン ス 。 各 関 数 の 構 文 解 説 や ス ト 広 く カ バ ー し た シ ス テ ム 管 理 者 必 携 の 操 作 解 説 書 Microsoft SQL Server 2000 の 導 入 か ら 運 用 ・ 管 理 ま で 幅 プ ロ グ ラ ミ ン グ 操 作 な ど を 順 序 立 て て 習 得 で き る デ ー タ ベ ー ス の 作 成 か ら テ ー タ の 操 作 , Transact-SQL の 実 装 を 理 解 す る た め の 解 説 書 な ど , Windows 2000 ネ ッ ト ワ ー ク の 最 適 な セ キ ュ リ テ ィ Active Directory, グ ル ー プ ポ リ シ ー , PKI( 公 開 キ ー 基 盤 ) 必 須 AP 陸 詳 細 に 解 説 に 対 応 し て 改 訂 。 Windows プ ロ グ ラ マ が 日 常 的 に 使 用 す る Win32 A 曰 オ フ ィ シ ャ ル リ フ ァ レ ン ス が Windows 2000 / Me グ ッ ー ル を 収 録 属 の CD - ROM に は 本 書 の 「 実 験 」 で 使 用 す る モ ニ タ / デ バ ッ Windows 2000 の 内 部 構 造 を 明 ら か に し た 技 術 解 説 書 。 付 ニ ッ ク 集 。 ス テ ッ プ ア ッ プ を 目 指 す 開 発 者 に お 勧 め の 1 冊 ン 構 築 で は 避 け て は 通 れ な い A 曰 お よ .COM に 関 す る テ ク 「 VB 300 の 技 」 シ リ ー ズ の 第 3 弾 。 本 格 的 な ア プ リ ケ ー シ ョ き る よ う に 解 説 Web ア プ リ ケ ー シ ョ ン を 作 る ユ ー ザ に も 無 理 な く 理 解 で 近 年 注 目 を 浴 び て い る PH P の 最 新 バ ー ジ ョ ン を , 初 め て シ ス テ ム 特 有 の 問 題 へ の 見 解 が 満 載 。 第 2 版 は UML 1 .3 準 拠 ク ト 指 向 と UML に つ い て の 日 本 初 の 解 説 書 。 リ ア ル タ イ ム 組 み 込 み ・ リ ア ル タ イ ム シ ス テ ム 向 け に 書 か れ た オ ブ ジ ェ で 効 率 よ く 活 用 で き る よ う に 解 説 ン ユ ー ザ レ ベ ル を 対 象 に , テ ー タ ソ ー ス を XML 化 し て Web Access な ど で デ ー タ ベ ー ス を 構 築 で き る ア プ リ ケ ー シ ョ イ ド ブ ッ ク XML ビ ジ ネ ス に 欠 か せ な い 技 術 的 な 解 説 を 中 心 と し た ガ X M L の 標 準 化 の 状 況 や 技 術 的 な 動 向 、 言 語 仕 様 な ど , 利 用 し て い く か に 主 眼 を 置 い た 1 冊 と す る 知 識 を カ バ ー 。 い か に XML を 開 発 プ ロ ジ ェ ク ト に 爆 発 的 な 人 気 を 誇 る XML で 、 VB お よ び ASP 開 発 者 が 必 要 ど , 入 門 書 と し て わ か り や す く 解 説 L0 豊 富 な ソ ー ス コ ー ド と ブ ラ ウ ザ の 違 い に よ る 見 え 方 な HTML と XML の 拡 張 性 の 両 方 の 特 長 を あ わ せ 持 っ た XHTM asic に も 対 応 ! Web ペ ー ジ の 作 り 方 を 解 説 。 携 帯 Web で 注 目 の XHTML B 次 世 代 の 標 準 Web ペ ー ジ 記 述 言 語 で あ る XHTML を 使 っ た L へ と Web プ ロ グ ラ ミ ン グ に 関 し て 系 統 的 に 学 習 が で き る ミ ン グ 」 版 が 登 場 ! 2 巻 構 成 で , HTML → JavaScript → XM 大 好 評 の “ プ ロ グ ラ ミ ン グ 学 習 シ リ ー ズ ” に 「 Web プ ロ グ ラ わ か り え る よ う 完 全 解 説 。 RD の 基 礎 概 念 か ら RTtooI ま で が ま る Ruby 界 の 標 準 ド キ ュ メ ン ト フ ォ ー マ ッ ト , RD を 256 倍 使 携 の 書 題 に 対 す る 何 千 も の 解 答 が 用 意 さ れ た , perl プ ロ グ ラ マ 必 初 心 者 で あ れ , 熟 練 者 で あ れ , 必 ず 遭 遇 す る で あ ろ う 問 ど の 開 発 キ ッ ト が 付 属 ロ グ ラ ム 集 。 CD-ROM に は コ ン パ イ ラ , 工 ミ ュ レ ー タ な ゲ ー ム , 実 用 プ ロ グ ラ ム を 満 載 し た 待 望 の i モ ー ド Java プ Foundation 付 属 い Java 開 発 ツ ー ル , JBu ⅱ de 「 の 公 式 解 説 書 。 JBuilder 4 Windows, Linux, SoIaris と , プ ラ ッ ト ホ ー ム に 依 存 し な 役 立 つ 実 践 的 な 内 容 を 幅 広 く 解 説 グ ラ マ を 対 象 に , JSP の 基 礎 か ら 実 際 の Web サ イ ト 構 築 に Java と HTML の 知 識 を 持 つ WebA— ジ デ ザ イ ナ と Java プ ロ Java に よ る ア プ リ ケ ー シ ョ ン 開 発 の ツ ポ を 徹 底 解 説 月 刊 「 JavaWorld 」 の 人 気 連 載 「 Java 入 門 」 単 行 本 化 の 第 2 弾 。 ラ イ ブ ラ リ 活 用 法 を , 豊 富 な コ ー ド 例 と と も に 包 括 的 に 移 植 性 が 高 ぐ 効 率 的 な C + + プ ロ グ ラ ミ ン グ に 必 須 の 標 準 10 ま で 完 全 に 理 解 し た い 人 の た め の 最 適 の 1 冊 を 大 幅 加 筆 し て 書 籍 化 。 ANSI C + + に 対 応 し , C + + を 1 か ら 本 誌 「 C MAGAZINE] で 好 評 を 博 し た 「 C + + 入 門 マ ニ ュ ア ル 」 出 版 社 ソ フ ト バ ン ク バ ブ リ ッ シ ン グ 大 城 正 典 植 田 龍 男 Duane K. Fields, A. Kolb 古 川 正 寿 Mark ア ス キ ー 書 籍 編 集 音 Tom Christiansen, Nathan Torkington る び き ち 梅 村 信 夫 Frank Boumphrey, Wugofski, ほ か lan S. Graham 5 編 Ted ア ス キ ー IDG シ ャ パ ン 翔 泳 社 ア ス キ ー 社 ア ス キ ー ア ス キ ー 翔 泳 社 オ ラ イ リ ー ・ シ ャ パ ン / オ ー ム イ ン プ レ ス Mark Wilson, Tracey Wilson 株 式 会 社 テ ク ノ ク エ ス ト 河 野 春 夫 Bruce PoweI DougIass 宮 本 和 明 小 高 郁 , 関 口 久 美 子 Microsoft Corporation Jamie Reding, ほ か Marci Frohock Garcia, Rebecca M. Riordan Systems,Inc lnternet Security ア ス キ ー 書 籍 編 集 部 編 E. Russinovich David A. Solomon, Mark ア ス キ ー ア ス キ ー ア ス キ ー オ ー ム 社 日 経 BP ソ フ ト プ レ ス 日 経 BP ソ フ ト プ レ ス 日 経 BP ソ フ ト プ レ ス 日 経 BP ソ フ ト プ レ ス ア ス キ ー 日 経 BP ソ フ ト プ レ ス 技 術 評 論 社 秀 和 シ ス テ ム 翔 泳 社 工 ー ア イ 出 版 ー ン ヨ ン W N 0 S 1 イ 6 佐 藤 親 ー JOhn Ayres, ほ か ア レ ン ス C MAGAZINE 2001 4

月刊 C MAGAZINE 2001年4月号


3 月 発 売 予 定 の 新 刊 ( 0 は CD-ROM 付 ) 書 籍 名 U N lX/Linux コ マ ン ド リ テ ラ シ ー Amir Afzal UN Ⅸ コ ン ピ ュ ー タ リ テ ラ シ ー 第 2 版 ー ネ ッ 渡 辺 成 良 , ほ か ト ワ ー ク 時 代 の 計 算 機 利 用 と モ ラ ル ー 砂 原 秀 樹 , 石 井 秀 治 U 0 改 訂 版 プ ロ フ ェ シ ョ ナ ル BSD 植 原 啓 介 , ほ か 0 パ ワ ー ア ッ プ Free BSD 技 術 評 論 社 編 X Sandra Henry-Stocker, So ぬ ris 管 理 ガ イ ド Evan R. Marks Gary V. Vaughan, GNU Autoconf/Automake/LibtooI Ben Ellison, ほ か コ ン ピ ュ ー タ グ ラ フ ィ ッ ク ス James D. FOIey, Andries 理 論 と 実 践 van Dam, ほ か ひ と は な ぜ コ ン ピ ュ ー タ ー を 人 Byron Reeves, CIifford 間 と し て 扱 う か ? Nass ソ フ ト ウ ェ ア 見 積 り の す べ て 一 規 Capers Jones 模 ・ 品 質 ・ エ 数 ・ エ 期 の 予 測 法 ー 正 規 表 現 の 達 人 井 上 直 コ ン ピ ュ ー タ サ イ エ ン ス 誌 「 bit 」 別 冊 小 林 龍 生 , ほ か 編 イ ン タ ー ネ ッ ト 時 代 の 文 字 コ ー ド CODE ー イ ン タ ー ネ ッ ト の 合 Lawrence Lessig 法 ・ 違 法 ・ プ ラ イ バ シ ー 小 山 仁 ぼ コ ン サ ル タ ン ト 入 門 引 地 ー 男 , テ ク ノ ク エ ス 図 解 入 門 イ ン タ ー ネ ッ ト の し く ト 株 式 会 社 み イ ン タ ー ネ ッ ト ・ ル ー テ ィ ン グ Christian Huitema 高 速 Ethernet の 理 論 と 実 装 Breyer & RiIey Marcus Goncalves, Kitty 旧 v6 プ ロ ト コ ル 徹 底 解 説 ¥ 3 , 800 Niles マ ネ シ ャ ー の た め の テ ー タ ベ ー Michael Blaha ス 技 法 入 門 PHP + RDBMSWeb サ ーバー で 伊 藤 博 康 の テ ー タ ベ ー ス 活 用 術 Windows プ ロ グ ラ ミ ン グ Vol.6 Windows プ ロ グ ラ ミ ン グ 愛 好 会 OracIe 500 の 技 Ben Chang, Mark ORACLE XML ハ ン ド ブ ッ ク Scardina XML と Java に よ る EAI JP Morgenthal 通 信 ・ ネ ッ ト ワ ー ク 用 語 辞 典 井 上 孝 司 2001 年 版 情 報 技 術 用 語 大 事 典 オ ー ム 社 編 内 容 出 版 社 UNIX, Linux を 初 め て 習 う 人 を 対 象 に , 基 本 的 な コ マ ン ド ¥ 3 , 400 を 演 習 形 式 で 丁 寧 に 解 説 。 Linux な ど の パ ソ コ ン UNIX ユ ー ピ ア ソ ン ・ エ デ ュ ケ ー ン ヨ ン サ 向 け の 演 習 書 , 独 習 書 と し て 最 適 UN Ⅸ ワ ー ク ス テ ー シ ョ ン の 利 用 技 術 入 門 書 。 第 2 版 で は , 共 立 出 版 BSD を SV 日 4 に 変 更 BSD/OS 4.1 は も ち ろ ん , FreeBSD4.2, XFree86 4.0 に も ¥ 2 , 800 対 応 。 付 属 CD-ROM に は 著 者 自 身 の ド ッ ト フ ァ イ ル や リ ア ス キ ー ン ク 集 、 PDF を 収 録 「 S0ftware DesignJ の FreeBSD 関 連 記 事 を 大 幅 に 加 筆 / 修 正 し , ¥ 1 , 880 最 新 安 定 版 & オ リ ジ ナ ル セ レ ク シ ョ ン の FreeBSD RELEASE 技 術 評 論 社 4.2 を 付 録 と し て 添 付 。 こ れ 1 冊 で 快 適 な F 「 eeBSD ラ イ フ ! So ぬ ris シ ス テ ム 管 理 者 の 初 心 者 か ら 熟 練 者 ま で を 対 象 読 ¥ 4 , 200 者 と し た , Solaris シ ス テ ム 管 理 の 行 き 届 い た ネ ッ ト ワ ー 翔 泳 社 ク を 実 現 す る 方 法 に 関 す る 総 合 的 な 解 説 書 さ ま ざ ま な プ ラ ッ ト ホ ー ム 上 で ソ フ ト ウ ェ ア を 動 作 さ せ ¥ 3 , 800 る た め の 開 発 ツ ー ル で あ る GNU Auto 0 に つ い て 紹 介 す オ ー ム 社 を 国 内 初 の 解 説 書 CG プ ロ グ ラ ミ ン グ の バ イ ブ ル "Computer Gra hics:princi ples and practice(second Edition in c) ' の 待 吊 の 翻 訳 版 。 ¥ 12 , 000 オ ー ム 社 基 礎 か ら 応 用 ま で , CG の 理 論 と 実 装 の ヒ ン ト を 紹 介 メ テ ィ ア に と っ て 大 事 な の は 形 だ け の 「 ユ ー ザ ビ リ テ ィ 」 だ ¥ 2 , 600 け じ ゃ な い 。 Mic 「 0S0 れ の 製 品 開 発 に 大 き な 役 割 を 果 た し た 翔 泳 社 2 人 が , 新 し い メ デ ィ ア デ ザ イ ン の 原 理 を 提 示 す る 開 発 遅 延 や コ ス ト 超 過 な ど の 悲 劇 を 避 け , ソ フ ト ウ ェ ア 構 造 計 画 研 究 所 供 立 出 版 開 発 を 成 功 に 導 く た め の 必 読 の 書 。 冨 野 壽 監 訳 Linux ユ ー ザ ・ シ ス テ ム 管 理 者 、 Web 制 作 者 ・ 管 理 者 , プ ソ フ ト バ ン ク バ ブ リ ッ シ ン グ ¥ 2 , 800 ロ グ ラ マ な ど が 直 面 し や す い 問 題 に 対 す る 正 規 表 現 を 使 っ た 解 決 策 を 多 く あ げ , 業 務 で の さ ま ざ ま な 応 用 方 法 を 解 説 文 字 化 け な ど 文 字 コ ー ド を め ぐ る 問 題 を 提 起 。 国 語 審 議 会 か ら 答 申 が 出 さ れ た 表 外 漢 字 体 表 を 含 め , 豊 富 な 討 議 共 立 出 版 資 料 を 用 意 Mic 「 osoft の 独 占 禁 止 法 裁 判 に お い て 連 邦 裁 判 所 に 「 ス ペ シ ¥ 2 , 800 ャ ル マ ス タ ー 」 に 任 命 さ れ た サ イ バ ー 法 の 第 一 人 者 レ ッ シ 翔 泳 社 グ 教 授 が , イ ン タ ー ネ ッ ト に よ る 変 化 と 法 の 対 応 を 説 く 戦 略 立 案 を 含 め た げ 化 計 画 か ら ツ ー ル の 導 入 な ど , げ 経 営 と は 何 か が わ か る 。 注 目 の 新 資 格 日 T コ ー デ ィ ネ ー タ 」 に つ ¥ 1 , 800 ア ス キ ー い て の 情 報 も 掲 載 イ ン タ ー ネ ッ ト 、 ホ ー ム ペ ー ジ や 通 信 ・ メ ー ル の 仕 組 み か ら XML な ど の 最 新 動 向 ま で , イ ン タ ー ネ ッ ト に 関 す る す ア ス キ ー べ て を や さ し く 解 説 本 書 は , B の 長 , Christian Huitema が 書 い た ベ ス ト セ ラ ー の 完 全 改 訂 書 で あ り , ネ ッ ト ワ ー ク ・ プ ロ フ ェ ッ シ ョ 翔 泳 社 ナ ル の た め の 「 古 典 」 と も い え る 必 携 書 の 日 本 初 訳 出 書 わ ず か 2.94Mbps で ス タ ー ト し た Ethernet が , 今 10Gbps に ¥ 4 , 200 至 ろ う と し て い る 。 本 書 は Ethernet の 歴 史 と ネ ッ ト ワ ー ク ア ス キ ー 配 備 や 実 装 に つ い て 解 説 す る 本 格 普 及 の フ ェ ー ズ に 入 り 始 め た 旧 v6 の 全 容 を 知 る た め 日 経 BP に 必 携 。 現 行 の 旧 v4 と の 混 在 / 移 行 手 法 に つ い て 詳 説 各 部 門 マ ネ ジ ャ ー , 技 術 関 連 ス タ ッ フ な ど を 対 象 に , 実 ¥ 2 , 800 践 的 情 報 も 盛 り 込 み な が ら デ ー タ ベ ー ス 技 術 に 関 連 す る ピ ア ソ ン ・ エ テ ュ ケ ー ン ヨ ノ 基 本 事 項 を 解 説 レ ン タ ル サ ー バ を 利 用 し た Web 構 築 に お い て , 掲 示 板 を ¥ 3 , 200 作 成 し た り シ ョ ッ ピ ン グ カ ー ト な ど の 受 注 シ ス テ ム を 作 工 ー ア イ 出 版 成 す る た め の 必 須 知 識 を 解 説 0 「 acle と の 接 続 で 利 用 さ れ る 0040 , ASP, 捜 査 に 必 要 な P ¥ 2 , 180 技 術 評 論 社 L/SQL な ど の 必 須 知 識 か ら , Java と の 連 携 , デ ー タ ベ ー ス チ ュ ー ニ ン グ な ど , 幅 広 く 知 る こ と が で き る テ ク ニ ッ ク 集 定 評 あ る 弊 社 ロ ン グ セ ラ ー の Oracle P 「 ess シ リ ー ズ の 1 冊 ¥ 3 , 800 で , 実 践 的 サ ン プ ル を 元 に XML と Oracle8i を 利 用 し た Web 翔 泳 社 ア プ リ ケ ー シ ョ ン 構 築 法 を 実 践 的 に 解 説 Java と XML を 活 用 し て EAI( 工 ン タ ー プ ラ イ ズ ア プ リ ケ ー ¥ 5 , 200 シ ョ ン 統 合 ) を 実 現 す る た め の 方 法 を , 手 順 や 実 例 を 示 し ピ ア ソ ン ・ エ テ ュ ケ ー ン ヨ ノ な が ら わ か り や す く 解 説 LAN, イ ン タ ー ネ ッ ト , 衛 星 通 信 , 電 話 な ど , 通 信 ・ ネ ッ ト ワ ー ク に 関 す る 4 , 000 の 用 語 を , 最 新 の 情 報 で 解 説 し た 秀 和 シ ス テ ム 用 語 辞 典 。 複 雑 な 用 語 ・ 略 語 の 氾 濫 に 悩 ん で い る 方 に 最 適 ( 情 報 技 術 ) に 関 連 す る 基 本 用 語 か ら 実 用 用 語 , 専 門 用 語 , ¥ 15 , 000 ビ ジ ネ ス 用 語 ま で 1 万 語 を , 正 確 な 定 義 と 簡 潔 明 瞭 な 解 説 オ ー ム 社 に よ り 信 頼 性 の 高 い 事 典 と し て 発 行 。 相 機 秀 夫 監 修 ¥ 2 , 400 ¥ 5 , 000 ¥ 4 , 286 ¥ 1 , 900 ¥ 5 , 800 そ の 他 ¥ 2 , 800 1 イ / Cmaga Bookends

月刊 C MAGAZINE 2001年4月号


00 フ ロ グ ラ ミ ン グ 入 門 List 4 曾 1 wO = WI. WHERE 注 文 ー の . 得 意 先 = ” 十 FrmKyakubetsuGetsujiSeIKyaku—>Text 十 ” WHERE 注 文 ー の . 得 意 先 = ” 十 F て mKyakubetsuGetsujiSeIKyaku->Text 十 物 ” 十 FrmKyakubetsuGetsujiDateStart—>Text 十 ” 00 : 00 ' ' E 注 文 冊 . 年 月 > ま を 十 ” AND 注 文 ー 田 . 年 月 く = ” 十 FrmKyakubetsuGetsujiDateEnd->Text 十 ” 23 : 59 ” WHERE 注 文 ー の . 年 月 》 = ” 十 FrmKyakubetsuGetsujiDateStart->Text 十 ” 00 : 00 ' を 十 第 AND 注 文 . 年 月 く = ” 十 FrmKyakubetsuGetsujiDateEnd->Text 十 ” 23 : 59 ” w0 = w0 + ” A 冊 注 文 冊 . 年 月 AND 注 文 . 年 月 く = ” 十 FrmKyakubetsuGetsujiDateEnd->Text 十 新 23 : 59 ” 曽 1 = 響 1 十 "AND 注 文 ー の . 年 月 〉 = ” 十 FrmKyakubetsuGetsujiDateStart->Text 十 第 00 : 0 配 十 ” AND 注 文 ー 田 . 年 月 く ま ” 十 FrmKyakubetsuGetsujiDateEnd->Text 十 ” 23 : 59 ” 十 FrmKyakubetsuGetsujiDateStart—>Text 十 ″ 00 : 00 ' vs + = 第 AND 注 文 数 量 ◇ ・ VgqI 十 = sql + ま ” GROUP BY 得 意 先 ” ・ gql 十 = 響 FrmKyakubetsuGetsuj iReportRepoter—>Preview ( App lication->ProcessMessages ( while (FrmKyakubetsuGetsujiReportRep0ter->Available = = false) FrmKyakubetsuGetsujiSIaveDataSet->Active = true; FrmKyakubetsuGetsuj iMasterDataSet—>Active = true ー FrmKyakubetsuGetsujiMasterDataSet—>CommandText = sq 嵭 FrmKyakubetsuGetsujiSIaveDataSet->Active = false; FrmKyakubetguGetguj iMasterDataSet—>Active = fa ー se ー FrmKyakubetsuGetsujiCommand—>Execute ( FrmKyakubetsuGetsujiCommand->ComandText = vsql; vsql + = ” GROUP BY 注 文 冊 . 得 意 先 , 注 文 D. 商 品 , 注 文 D. 単 価 滝 ・ 継 続 に 制 限 が あ る ) 済 み ま す 。 ク エ リ ビ ル ダ で 作 成 し た 文 字 列 を そ の ま ま ソ ー ス に 貼 り 付 け て " で 囲 め ば OK で す 。 List 4 は サ ン プ ル ア プ リ ケ ー シ ョ ン の ユ ニ ッ ト ソ ー ス の 抜 粋 で す 。 VB を 見 慣 れ て い る 人 に も C + + に 慣 れ て い る 人 に も 奇 妙 に 見 え る で し よ う 。 SQL 文 を 作 成 し て い る 部 分 は VB 的 に 文 字 列 を ' + ' で バ シ バ シ 結 合 し て い ま す 。 メ ソ ッ ド 呼 び 出 し や プ ロ バ テ ィ の 設 定 は C 的 に [ オ プ ジ ェ ク ト ] - > [ メ ソ ッ ド 名 or フ ロ バ テ ィ ] と な っ て い ま す 。 フ ォ ー ム ク ラ ス 名 が Frm ? ? ? と VB 的 な 命 名 に な っ て い る た め C + + BuiIder な 人 は 「 何 じ や コ リ ャ ? 」 と い う 感 じ で し よ う 。 プ ロ グ ラ ム 全 体 を 説 明 す る に は 誌 面 が ぜ ん ぜ ん 足 り な い の で , プ ロ ジ ェ ク ト を 実 行 で き る ま で の 手 順 を 説 明 し ま す 。 ① デ ー タ ベ ー ス を 作 成 す る mknewdb. txt を デ ー タ ベ ー ス 付 属 の ク エ 66 C MAGAZINE 2001 4 リ ツ ー ル で 実 行 し ま す 。 こ の テ キ ス ト は Mic の 文 字 列 を ク リ ッ プ ポ ー ド に 削 除 コ ビ ー ( 切 べ ー ス に 接 続 で き る よ う に 設 定 し ま す 。 そ ConnectionString を ① で 作 成 し た デ ー タ を 選 び ま す 。 ジ ェ ク ト イ ン ス ペ ク タ で FrmMasterDataSet ュ ー で FrmMaster フ ォ ー ム を 表 示 し , オ プ ク ト を 開 き ま す 。 [ 表 示 ] → [ フ ォ ー ム ] メ ニ C + + Builder を 起 動 し , サ ン プ ル プ ロ ジ ェ ソ ー ス に 埋 め 込 む ② ADO 接 続 文 字 列 を 構 築 し , が あ り ま す 。 ADO プ ロ バ イ ダ で サ ポ ー ト さ れ て い る 必 要 ま た , 使 用 す る デ ー タ ベ ー ス エ ン ジ ン は , L し か 使 っ て い ま せ ん 。 ー タ ベ ー ス を 作 成 で き る 程 度 の 基 本 的 な SQ タ ベ ー ス エ ン ジ ン で も 少 し 手 直 し す れ ば デ 動 作 を 確 認 し て い ま す が , そ の ほ か の デ ー rosoft SQL Server 6.5 , 7.0 , MSDEI. 0 で の り 抜 き ) し ま す 。 次 に Main. h を 開 い て 訂 R CONNECTION マ ク ロ に ク リ ッ プ ポ ー ド か ら コ ピ ー し た 文 字 列 を 設 定 し ま す 。 ③ コ ン バ イ ル し て 実 行 フ ァ イ ル を 生 成 す る 実 の と こ ろ , 現 在 の Wrndows で デ ー タ ベ ー ス ア プ リ ケ ー シ ョ ン は 動 か す 環 境 を 作 る だ け で も そ こ そ こ の 技 術 力 が 要 求 さ れ ま す 。 デ ー タ ベ ー ス エ ン ジ ン に は た い て い 開 発 者 , 管 理 者 向 け の ツ ー ル が ひ と と お り 用 意 さ れ て い ま す が , お お よ そ デ ー タ ベ ー ス 初 心 者 に は 使 う の は 難 し い も の で す 。 で す が 度 コ ツ を つ か ん で し ま え ば C + + Builder で デ ー タ ベ ー ス ア プ リ ケ ー シ ョ ン を 作 成 す る の は 難 し い こ と で は あ り ま せ ん 。 私 は VB よ り は 「 痒 い と こ ろ に 手 が 届 く 」 と い う 点 で , そ し て 何 と い っ て も C + + は C の 高 度 発 展 言 語 な の で , 非 常 に 泥 臭 い 部 分 も VB よ り も ず っ と 簡 単 に 記 述 で き る 点 で , C + + BuiIder を 高 く 評 価 し て い ま す 。 最 後 に だ さ い 。 れ 以 外 の 用 途 に は , 改 変 ・ 流 用 は ご 遠 慮 く 用 に 限 っ て 自 由 に 改 変 , 配 布 で き ま す 。 そ コ ン パ イ ル さ れ た 結 果 は , 個 人 の 学 習 的 利 な お , サ ン プ ル の 全 ソ ー ス コ ー ド お よ び し て い た だ け た ら 幸 い で す 。 デ ー タ ベ ー ス へ の ク エ リ 方 法 な ど を 参 考 に ひ ょ り よ い ア プ リ ケ ー シ ョ ン の 作 成 の た め ー ス に 接 続 で き る 環 境 が 整 備 で き た ら , ぜ 送 確 認 部 分 が 作 ら れ て い ま せ ん 。 デ ー タ ベ 実 績 を 客 別 , 商 品 別 に 印 刷 す る だ け で , 配 サ ン プ ル ア プ リ ケ ー シ ョ ン は 伝 票 を 入 力 , す 。 く 浅 く に な っ て し ま っ た 点 を 反 省 し て い ま 実 践 的 な 話 を し よ う と し た た め , 内 容 が 広 っ た の で す が , 限 ら れ た 誌 面 で で き る だ け 部 分 に ま で も っ と 踏 み 込 ん で 書 け れ ば よ か も っ と 実 際 的 な ア プ リ ケ ー シ ョ ン の 作 成

月刊 C MAGAZINE 2001年4月号


ァ ー タ ベ ス の 設 計 基 礎 知 識 考 え て み ま し よ う 。 「 フ ァ イ ル 」 べ ー ス で も デ ー タ ベ ー ス で も , 「 構 造 」 自 体 は そ れ ほ ど 大 き な 違 い は あ り ま せ ん 。 Table 1 の よ う な 2 つ の デ ー タ 構 造 を 考 え て み ま し よ う 。 フ ァ イ ル 指 向 の デ ー タ 管 理 の 場 合 に は , TabIe1 の デ ー タ 構 造 を 入 力 す る ル ー チ ン は た と え ば List 1 の よ う に な り ま す 。 移 植 性 , デ ー タ 互 換 性 な ど の 難 し い 問 題 は と り あ え ず 無 視 し て , こ で は 入 力 の 手 法 自 体 を 問 題 に し ま す 。 ListI は 典 型 的 な フ ァ イ ル 指 向 の デ ー タ 格 納 方 法 で , 今 で も 現 役 で 使 わ れ て い る 方 法 で す 。 CPU が デ ー タ を 直 接 扱 う 内 部 形 式 で プ ロ ッ ク に し て そ れ を 1 単 位 と し て 扱 い ま す 。 こ の 例 で は CPU が 直 接 扱 う 内 部 形 式 で デ ー タ を 入 力 し て い ま す が , と く に 内 部 形 式 で な く , 一 般 的 な " , " を セ パ レ ー タ に し , 改 行 を 1 単 位 と し た テ キ ス ト デ ー タ も 「 フ ァ イ ル 指 向 」 の デ ー タ 形 式 で す 。 一 般 的 に は こ う い っ た デ ー タ の 所 持 方 法 で も , フ ァ イ ル 内 部 の デ ー タ 検 索 を 高 速 に す る た め に デ ー タ 先 頭 に フ ァ イ ル 位 置 を 格 納 し た イ ン デ ッ ク ス を 持 っ た り , あ ら か じ め デ ー タ 内 の あ る 要 素 で ソ ー ト し て お い た り し ま す が デ ー タ 自 体 は 1 単 位 ご と に 処 理 さ れ る と い う 特 徴 が あ り ま す 。 デ ー タ 形 式 に 応 じ て プ ロ グ ラ ム の 方 法 も , そ の デ ー タ 形 式 に 沿 っ 特 集 プ ロ グ ラ ミ ン グ 入 門 デ ー タ ベ ー ス の 設 計 の 基 礎 知 識 61 TabIe 2 の よ う な 集 計 フ ァ イ ル を 考 え て み ま し よ う 。 フ ァ イ ル 指 向 の デ ー タ 構 造 を し た デ ー タ を 扱 う 場 合 に は , 次 の よ う な ア ル ゴ リ ズ ム を 使 う で し よ う 。 名 簿 に つ い て 終 わ り ま で 繰 り 返 し 国 コ ー ド を 取 得 国 別 総 収 入 か ら 該 当 国 コ ー ド デ ー タ を 取 得 収 入 総 額 に 名 簿 か ら 収 入 を 加 算 国 別 総 収 入 か ら 該 当 国 コ ー ド デ ー タ を 保 存 終 わ り こ れ は , た い て い の プ ロ グ ラ ム の 教 科 書 に 掲 載 さ れ て い る 集 計 の ア ル ゴ リ ズ ム で す 。 こ の 種 の デ ー タ を 扱 う ツ ー ル ( 工 ン ジ ン ) は コ ン ビ ュ ー タ の 大 小 に 関 係 な く 昔 か ら 存 在 し , 今 で も 使 わ れ て い ま す 。 ツ ー ル ( 工 ン ジ ン ) は 「 デ ー タ を 取 得 」 「 デ ー タ を 保 存 」 と い う 部 分 に 非 常 に 力 を 注 い で 設 計 さ れ て お り 洗 練 さ れ た ア ル ゴ リ ズ ム で デ ー タ の 入 出 力 を 行 い , こ う い っ た 手 法 で の 不 動 の 実 績 を 築 い て い ま す 。 し た が っ て ほ と ん ど の プ ロ グ ラ マ は こ う い っ た ア ル ゴ リ ズ ム を ま ず い ち ば ん 最 初 に 学 ぶ こ と に な り ま す 。 ま た , 現 代 的 な デ ー タ ベ ー ス に お い て も こ う い っ た 1 単 位 で の デ ー タ ア ク セ ス の 方 法 は ち ゃ ん と 提 供 さ れ て い ま す 。 た だ , デ ー タ ベ ー ス が 提 供 し て い る こ う い っ た デ ー タ へ の ア た も の に な り ま す 。 List #include く 3 セ d は b. h> #include く s セ d 土 0. h> Table 1 の デ ー タ 構 造 を 入 力 す る ル ー チ ン } MEIBO ー float gain ・ char ね st ー れ ame [ 32 char f 辷 8 セ ー れ ame [ 32 char 00 n y ー code [ 4 char 土 d [ 9 typedef 8 セ て uc セ —Meibo { / * デ ー タ 互 換 性 は ク ロ ー ズ シ ス テ ム な の で 考 え な い * / / * 先 頭 か ら S 番 目 の デ ー タ を フ ァ イ ル 土 np Ⅱ t ー f か ら 読 む * / / * 土 れ p Ⅱ t ー f は バ イ ナ リ モ ー ド で オ ー プ ン さ れ て い る MEIBO * lnput ( 土 れ t pos, FILE * 土 れ p Ⅱ セ ー f ) MEIBO * て e セ = malloc (sizeof(MEIBO) fseek (input, size0f(MEIBO) * 88 , SEEK—SET); fread ( て e セ , 3 eof ( IBO ) , 1 , input—f); return て e セ ー / * メ モ リ 確 保 / * デ ー タ 位 置 を 計 算 * / / * デ ー タ 読 み 取 り ク セ ス 方 法 は 従 来 の も の と の 互 換 性 の た め に 提 供 さ れ る 場 合 が 主 で , 逆 に プ ロ グ ラ マ 側 が 前 時 代 的 な デ ー タ ア ク セ ス を し て い る か ぎ り , デ ー タ ベ ー ス エ ン ジ ン は そ の 力 を 100 % 発 揮 で き ま せ ん 。 現 代 的 な デ ー タ ベ ー ス で は デ ー タ は 集 合 体 と し て 扱 い , プ ロ グ ラ マ が デ ー タ 1 つ 1 つ に つ い て 高 速 に 扱 う よ う な こ と は あ ま り 配 慮 さ れ て い ま せ ん 。 デ ー タ ベ ー ス エ ン ジ ン 自 体 が 高 度 な 集 計 機 能 を 持 っ て い て プ ロ グ ラ マ は そ の 集 計 機 能 を う ま く 使 っ て ユ ー ザ に 必 要 な デ ー タ を 提 供 す る の が 現 代 の デ ー タ ベ ー ス プ ロ グ ラ ミ ン グ で す 。 上 記 の よ う な 繰 り 返 し に よ る 集 計 計 算 が も し プ ロ グ ラ ム 内 に 現 れ る よ う だ と デ ー タ 構 造 の 設 計 自 体 が ま ず い と 考 え ら れ ま す 。 問 い 合 わ せ 言 語 で は 現 代 的 な デ ー タ ベ ー ス で は , 先 ほ ど の よ う な 集 計 は ど の よ う に 行 う の で し よ う か ? 答 え か ら 先 に 書 く と ( や や 技 巧 的 。 T- SQL, SQL Server 6.5 or SQL server 7.0 ) , SELECT 名 簿 . COUNTRY-ID, (COUNTRY-NAME) , SUM (GAIN) AS TOTAL—GAIN 駅 0M 名 簿 INNER JOIN 国 ON 名 簿 . COUNTRY_ID = 国 . COUNTRY—ID GROUP BY 名 簿 . COUNTRY-ID と い う 問 い 合 わ せ ( ク エ リ ) を デ ー タ ベ ー ス に 対 し て 行 い , そ の 結 果 が 答 え に な り ま す 。 こ の 問 い 合 わ せ を 行 う 言 語 が SQL で す 。 プ ロ グ ラ マ は , SQL を 通 し て ユ ー ザ と デ ー タ ベ ー ス を 効 率 よ く 対 話 さ せ る シ ス テ ム を 構 築 す る の が 役 目 で す 。 現 代 的 な デ ー タ 自 前 で 集 計 す る こ と は ま ず あ り え ま せ ん 。 ー タ ベ ー ス で は , デ ー タ を プ ロ グ ラ ム 側 で 思 慮 深 く 設 計 さ れ た デ を 入 力 す る と き に ほ ぼ 限 定 さ れ ま す 。 先 ほ べ ー ス で は , デ ー タ を 直 接 扱 う の は デ ー タ ど も 書 い た よ う に

月刊 C MAGAZINE 2001年4月号


SOFTBANK PUBLISHING Magazine Sendma ⅱ か ら の 脱 却 を 図 る べ く 、 次 世 代 MTA の 2 大 巨 頭 で あ る Postfix 、 qma ⅱ を 使 い こ な そ う UN Ⅸ / Linux ユ ー ザ ー の た め の 活 用 情 報 誌 http://unixuser.softbankpub.00.加/ Sendmail か ら 次 世 代 MTA へ の 移 Postfix qmail LinuxWorld C onference & 0 New York 20 ① 1 リ ポ ー ト Undocumented AppIixwar リ ナ ち ゃ ん と 楠 木 く ん の Begin ! Linux ・ 楠 木 く ん の ラ ブ レ タ ー 厚 Pragmatic UNI)( ・ 新 た な デ ー モ ン を rc に 組 み 込 む 2 0 0 1 特 別 材 録 CD - ROM2 枚 組 Turbolinux Adymice サ イ ボ ウ ズ O lce 4 最 新 版 ほ か 特 別 定 価 1380 円 大 特 集 弭 POB 特 別 企 画 、 好 評 連 載 ※ 予 告 な く : 内 容 変 の あ る 場 合 カ 毯 り ま す 。 ソ フ ト バ ン ク バ ブ リ ッ シ ン グ 第 2 書 籍 編 集 部 で は 、 業 務 拡 張 に と も な い 、 技 術 を わ か り や す く 表 現 で き る 書 籍 の テ ク ニ カ ル ラ イ タ ー を 募 集 い た し ま す 。 目 次 構 成 力 に 優 れ 、 し つ か り し た 日 本 語 の 書 け る 方 で あ れ ば 、 出 版 経 験 は な く と も か ま い ま せ ん 。 た だ し 、 打 ち 合 わ せ の た め に 来 社 が 可 能 な 方 に 限 り ま す 。 下 記 の 応 募 方 法 に 従 い ご 連 絡 を く だ さ い 。 編 集 部 内 で 検 討 の う え ご 連 絡 を 差 し 上 げ ま す 。 0 こ の よ う な 方 を 求 め て い ま す ・ ・ ・ ・ WebDB の 構 築 ・ 管 理 の 経 験 の あ る 方 ・ X ML を 利 用 し た 業 務 シ ス テ ム 開 発 経 験 の あ る 方 ・ SQL ( サ ー バ ー の 構 築 、 業 務 用 ク エ リ ー の 作 成 、 etc ) に 詳 し い 方 ・ . NET に 詳 し い 方 ・ プ ロ ー ド バ ン ド ネ ッ ト ワ ー ク (FTTH 、 ADSL 、 etc) に 詳 し い 方 ・ 次 世 代 ネ ッ ト ワ ー ク (W-CDMA 、 BIuetooth 、 etc) に 詳 し い 方 ・ サ ー バ ー サ イ ド Web 技 術 (CGK PHP 、 ASP ) に 詳 し い 方 ・ ゲ ー ム 開 発 の 経 験 を 有 し 、 ア ル ゴ リ ズ ム や プ ロ グ ラ ミ ン グ テ ク ニ ッ ク を 解 説 で き る 方 ・ Java に よ る web ア プ リ ケ ー シ ョ ン 開 発 経 験 の あ る 方 ・ c 、 c + + 、 C# 、 Per 旧 の 知 識 を 有 し 、 業 務 用 ア プ リ ケ ー シ ョ ン 開 発 経 験 の あ る 方 * 同 時 に 、 本 文 や カ バ ー を デ ザ イ ン し て く れ る デ ザ イ ナ ー さ ん も 募 集 し て い ま す を ソ フ ト バ ン ク バ ブ リ ッ シ ン グ 株 式 会 社 ・ お 近 く の 書 店 に て お 求 め ・ ご 注 文 下 さ い 。 ( 表 示 価 格 は 税 込 ) ・ ご 不 明 な 点 は 、 SOFTBANK BOOKS サ ポ ー ト ま で お 問 い あ わ せ 下 さ い 。 ※ 土 ・ 日 ・ 祝 日 を 除 く 10 : 00 ~ 12 : 00 13 : 00 ~ 17 : 00 publishing http://www.SOftbankpub. CO. jp/ E メ ー ル :[email protected] 〒 107-0052 東 京 都 港 区 赤 坂 4-13-13 TEL ℃ 3-5549-1201 FAX : 03 ・ 5549-1212 0 応 募 方 法 住 所 、 氏 名 、 年 齢 、 職 務 経 歴 書 、 得 意 分 野 、 自 己 PR 、 出 版 経 験 の あ る 方 は 書 名 と 出 版 社 、 発 刊 年 度 を お 書 き の う え 、 下 記 ア ド レ ス ま で 電 子 メ ー ル ま た は 郵 送 に て ご 応 募 く だ さ い 。 な お 郵 送 の 場 合 は 、 必 ず 電 子 メ ー ル ア ド レ ス を 記 入 の う え 、 ご 応 募 く だ さ い 。 〒 107-0052 東 京 都 港 区 赤 坂 4-13-13 ソ フ ト バ ン ク バ ブ リ ッ シ ン グ 株 式 会 社 テ ク ニ カ ル 局 第 2 書 籍 編 集 部 テ ク ニ カ ル ラ イ タ ー 募 集 係 宛 電 子 メ ー ル [email protected] CO. jp * 応 募 の 秘 密 は お 守 り い た し ま す 。 4

月刊 C MAGAZINE 2001年4月号


デ ー タ ベ ス の 設 計 基 礎 知 識 IT 化 」 を 目 的 に 行 わ れ ま す 。 た と え ば 手 書 こ の よ う な テ ー プ ル の 設 計 は RDB(Relation ー プ ル 設 計 の 話 を し て い ま す 。 Fig. 3 の よ al Database) を 使 っ た 人 な ら 常 識 的 な 話 で き の 「 伝 票 」 を 電 子 化 , つ ま り テ ー プ ル へ の う な テ ー プ ル 構 成 は 各 テ ー プ ル に 重 複 事 項 置 き 換 え を 考 え る の が 最 初 の 作 業 で す 。 し よ う が , 意 外 な ほ ど 前 者 の よ う な テ ー プ は あ り ま せ ん 。 こ の よ う な テ ー プ ル 構 成 を こ の お 店 で は Fig. 2 の よ う な 手 書 き の 伝 ル を よ く 見 か け る た め , あ え て 基 礎 的 な テ 「 正 規 化 さ れ た テ ー プ ル 」 と い い ま す 。 テ ー 票 を 使 っ て い ま し た 。 こ の 伝 票 を 素 直 に SQ プ ル を 正 規 化 す る こ と は 近 代 的 な RDB 工 ン 単 純 に SQL で テ ー ブ ル を 作 成 し た ジ ン の 性 能 を 引 き 出 す に は 必 要 な 手 法 で す 。 L で テ ー プ ル を 作 成 す る と , List2 の よ う に た と え ば Fig. 3 で , T. ー 受 付 SUB テ ー プ ル に 作 っ て し ま い が ち で す 。 こ れ が 悪 い と は 言 CREAT TABLE CHYUMON—DEN( い ま せ ん 。 1 回 の 注 文 で 9 明 細 を 超 え る こ と 商 品 名 称 を 持 つ の は 明 ら か に 冗 長 で す 。 受 付 番 号 INT NO NULL, 配 送 先 1 ( 32 ) NOT NULL, は 少 な い か も し れ ま せ ん し , 必 要 な 情 報 は の よ う な 冗 長 な フ ィ ー ル ド は テ ー プ ル の サ 配 送 先 2 CH ( 32 ) NO で NULL, 駅 ( 18 ) NOT NULL す べ て 含 ん で い そ う で す 。 し か し , こ れ で 明 細 1 駅 ( 48 ) , イ ズ を 不 必 要 に 大 き く し て 検 索 速 度 を 遅 く 明 細 2 駅 ( 48 ) , 明 細 3 駅 ( 48 ) , は た だ 伝 票 を テ ー プ ル に し た だ け に す ぎ ま し ま す 。 で す が , Fig. 3 の よ う な テ ー プ ル 構 明 細 4 CHAR(48) , 明 細 5 駅 ( 48 ) , せ ん 。 合 計 金 額 は 不 要 で す 。 ま た , 「 ミ ッ 成 で は M ー 商 品 の 商 品 単 価 が 変 更 に な っ た 明 細 6 駅 ( 48 ) , 明 細 7 駅 ( 48 ) , ク ス ピ ザ 」 と か 「 ド リ ン ク 」 と い っ た 情 報 を 場 合 に は , 事 実 上 対 処 で き ま せ ん 。 な ぜ な 明 細 8 ( 48 ) , 明 細 9 駅 ( 48 ) , 明 細 に 持 た せ る の も ( こ の 例 は 極 端 で す が ) ら 商 品 単 価 を 変 更 す る と , 全 部 の 伝 票 の 単 合 計 金 額 0 EY 配 送 確 認 CHAR(I) 価 が 変 更 さ れ た こ と に な る か ら で す 。 こ の お か し い の で す 。 よ う な 副 作 用 を 期 待 す る 場 合 も あ り ま す が , ま ず は , 伝 票 を 必 要 事 項 ご と に ま と め て テ ー プ ル 化 し ま す 。 Fig. 3 が そ の テ ー プ ル ー 覧 で す 。 伝 票 全 体 を テ ー プ ル 化 し な い で 必 要 事 項 を と り ま と め て テ ー プ ル に し ま す 。 List NOT NULL NOT NULL) List 今 回 作 成 し た テ ー ブ ル の SQL / * デ バ イ ス を 作 成 し 、 デ ー タ ベ ー ス を 作 成 use master disk init NAME="PIZAOOD", PHYSNAME="C:%MSSQL7%DATA%PIZA00D. MDF", 、 の 風 0 = 2 , SIZE = 40960 disk 土 n 土 セ NAME="PIZAOOL", PHYSNAME=DC:YMSSQL7%DATA%PIZA00D. I.DF" ー 扣 印 0 = 3 , SIZE = 40960 create database PIZA on 212A00D log 0 れ 212A00 alter database PIZA ON PIZAOOD = 32 alter database PIZA ON PIZAOOL = 32 BPE 今 回 の サ ン プ ル プ ロ グ ラ ム を BDE を 用 い た ア プ リ ケ ー シ ョ ン に 変 更 す る の は そ ん な に 難 し い 作 業 で は あ り ま せ ん 。 C + + Builder の ADO コ ン ポ ー ネ ン ト は , 外 部 イ ン タ フ ェ イ ス が BDE の コ ン ポ ー ネ ン ト と ほ と ん ど 同 じ よ う に 実 装 さ れ て い る の で , ADO 独 特 あ る い は BDE 独 特 の 部 分 以 外 は 互 換 と い っ て い い く ら い 似 て い ま す 。 今 回 の サ ン プ ル は 実 際 に 使 わ れ て い る ソ フ ト ウ ェ ア を サ プ セ ッ ト 化 し て あ る た め , ADO を 使 っ て い ま す が , 各 フ ォ ー ム で 使 わ れ て い る ADO コ ン ポ ー ネ ン ト を BDE の も の に 置 き 換 え て , △ DO 独 特 の 「 接 続 文 字 列 」 設 定 部 分 に 手 を 加 え れ ば ク ラ イ ア ン ト プ ロ グ ラ ム は あ ま り 手 を 入 れ な く て も 動 く は ず で す 。 む し ろ 動 か す た め の テ ー プ ル 作 成 が め ん ど う か も し れ ま せ ん が , C + + BuiIderPr 0 厄 ssional 版 以 上 に 添 付 さ れ て い る Database Deskt 叩 な ど の ツ ー ル を 使 え ば 簡 単 だ と 思 い ま す 。 筆 者 は お お む ね 使 え る よ う に な る ま で 4 時 間 程 度 で し た 。 uge PI ZA / * テ ー ブ ル を 作 成 / * 得 意 先 * / --drop t 曲 地 得 意 先 c て 田 し e t 地 得 意 先 ( ' 000000 ' char(6) コ ー ド NOT NULL PRIMARY KEY CLUSTERED DEFAULT 氏 名 ' 未 登 録 ' cha て ( 40 ) DEFAULT NO で NULL, 郵 便 番 号 char(8) NOT NÜLL, DEFAULT 住 所 第 未 登 録 ' v ch ( 64 ) DEFAULT NOT NULL 電 話 番 号 ' 999 ー 9999 ' v ch 矼 ( 24 ) DEFAULT NO で NULL, F A X 番 号 v ch 矼 ( 24 ) ' 999 ー 9999 を DEFAULT NO NULL, va て cha て ( 32 ) ' 未 登 録 ' E MA ー L DEFAULT NOT NULL, 更 新 日 時 DEFAULT getdate( ) datetime NOT NULL / * 商 品 * / --drop table 商 品 create tab 商 品 ( DEFAULT ′ 0000 ' ch ( 4 ) コ ー ド NOT NULL PRIMARY KEY CLUSTERED, 商 品 名 称 v c て ( 32 ) DEFAULT NOT NULL, 単 価 DEFAULT 0 NOT NULL money 更 新 日 時 datetime DEFAULT getdate( ) NOT NULL 特 集 プ ロ グ ラ ミ ン グ 入 門 デ ー タ ベ ー ス の 設 計 の 基 礎 知 識 63

月刊 C MAGAZINE 2001年4月号


ァ ー タ ベ 言 ス の 設 計 基 礎 知 識 電 話 番 号 な ど を 数 値 タ イ プ で 管 理 す る の は 感 心 で き ま せ ん 。 た し か に 数 値 と し て と ら え る こ と も で き ま す が , こ れ ら は 数 値 で は な く 文 字 と し て と ら え た ほ う が い い 概 念 で す 。 最 近 の デ ー タ ベ ー ス は 純 粋 な バ イ ナ リ デ ー タ を も 格 納 で き る よ う に な っ て い ま す 。 文 字 列 は た し か に 数 値 に 比 べ れ ば 検 索 速 度 は 遅 い の は 事 実 で す が , 最 近 の デ ー タ ベ ー ス は 数 値 検 索 に 比 べ て 大 幅 に 劣 る こ と は あ り ま せ ん 。 数 値 で あ る が ゆ え に 奇 妙 な パ タ ー ン マ ッ チ ン グ を 使 っ て 苦 し い 検 索 を 行 う は め に 陥 る よ り は , 素 直 に 文 字 と し て と ら え , デ ー タ ベ ー ス が サ ポ ー ト す る マ ッ チ ン グ 表 現 で 検 索 す る ほ う が ず っ と 高 速 で す 。 テ ー プ ル の フ ィ ー ル ド は 使 わ れ る 目 的 を 考 え て , 適 切 な デ ー タ タ イ プ の 選 択 が 大 切 で す 。 ま た , 鉄 則 と い う わ け で は あ り ま せ ん が , テ ー プ ル に は NULL を 許 容 し な い よ う に し て お く こ と に し て い ま す 。 こ の よ う に 設 計 し て お く と テ ー プ ル に NULL が 許 容 さ れ な い た め , NULL は 複 数 の テ ー プ ル を 組 み 合 わ せ た 結 果 に し か 現 れ な い と い う 特 徴 を デ ー タ ベ ー ス に 持 た せ る こ と が で き る か ら で す 。 List サ ン プ ル ア プ リ ケ ー シ ョ ン の 抜 粋 #include く vc h 》 #pragma hd て 8 セ op #include "CodeFrmKyakubetsuGetsuji.h" #include ” a 土 n. h 第 #pragma package(smart—init) #pragma regource ”*. dfm" fastcall TFrmKyakubetsuGetsuji: :TFrmKyakubetsuGetsuji(TComponent* Owner) ・ orm ( Owne て ) prmKyakubetsuGetsujiMasterDataSet->ConnectionString = STR—OF—CONNECT; FrmKyakubetsuGetsujiSlaveDataSet → connectionString S 駅 .- OF ー CONI 田 ・ FrmKyakubetsuGetsujiCommand->ConnectionString STR—OF-CONNECT; void —fastcal ITFrmXyakubetsuGetsuji: :CyumonSuryouPrint(TObject *sender, AnsiString &VaIue) FrmKyakubetsuGetsujiSlaveDataSet—>Next( if (FrmKyakubetsuGetsujiSlaveDataSet->Eof = = true) LineBottom—>Enab led = fa LineBottom—>Enabled 第 true; FrmKyakubetsuGetsujiSIaveDataSet->Prior ( void —fastcall TFrmKyakubetsuGetsuji: :FormCreate(TObject *Sender) AngiString dat; unsigned 8b0 て t y,m,d, cm, cy; FrmKyakubetsuGetsujiReportRepoter->Height = FrmKyakubetsuGetsujiReportRepoter->Width = TDateTime 0 ー c = Date(); c. DecodeDate (&y, , &d); CY = y; if (m = = m 第 1 C + + Builder と デ ー タ ベ ス ア プ リ ケ ー シ ョ ン C + + BuiIder に は AnsiString 型 と い う 文 字 列 を VB の よ う に 柔 軟 に 扱 う デ ー タ タ イ プ が 用 意 さ れ て い る た め , VB で デ ー タ ベ ー ス 操 作 を 行 っ た こ と が あ れ ば 比 較 的 簡 単 に ア プ リ ケ ー シ ョ ン を 作 成 で き ま す 。 C + + に は プ ロ グ ラ ム ソ ー ス に 「 行 」 と い う 概 念 が ま っ た く な い の で , VB よ り も 柔 軟 で あ る と も い え ま す 。 と く に デ ー タ ベ ー ス ア プ リ ケ ー シ ョ ン で は SQL 文 を 文 字 列 と し て プ ロ グ ラ ム 内 に 記 述 す る こ と が 非 常 に 多 い た め , 文 字 列 が 数 十 行 に わ た っ て 継 続 す る こ と が し ば し ば 起 こ り ま す 。 C + + で は " で 囲 ま れ た 文 字 列 は 改 行 , TAB, 空 白 が 間 に 入 っ て い て も 次 の 文 字 列 に 結 合 さ れ る た め , VB の よ う に ' ど & ' で 継 続 し な く て も ( し か も VB で は TDateTime 8 日 y , m, 1 リ TDateTime en(cy, cm, 1 en ー = 1 ・ DateTimeToString ( dat , "mry/mm/dd", st FrmKyakubetsuGetsujiDateStart->Text = dat; DateTimeToString (dat, nyyyy/mm/dd", en); FrmKyakubetsuGetsujiDateEnd->Text = dat; void —fastcall TFrmKyakubetsuGetsuji: :PrmKyakubetsuGetsujiButtonClick(TObject *Sender) Dayprint—>Caption = FrmKyakubetsuGetsuj iDateStart—>Text 十 か ら ″ 十 FrmKyakubetsuGetsujiDateEnd->Text 十 ” ま で 新 FrmKyakubetsuGetsujiCommand->CommandText = "DROP VIEW V 注 文 D—P—wn ・ PrmKyakubetsuGetsujiCommand->Execute ( catch ( 00n 北 Exception (E) { 日 土 St て g 3 = ” s 部 得 意 先 , 期 x ( 得 意 先 . 氏 名 ) AS 氏 名 FROM 注 文 冊 ” ” 1 駅 JOIN 得 意 先 ON 得 意 先 . コ ー ド = 注 文 . 得 意 先 ″ ・ AnsiString Vs ="CREATE VIEW V 注 文 D—P—W AS 第 S ECT 注 文 . 得 意 先 AS 得 意 先 , 注 文 D. 商 品 商 品 , 注 文 D. 単 価 AS 単 価 , 第 ” Ⅸ ( 商 品 . 商 品 名 称 ) AS 商 品 名 称 , s 礪 ( 注 文 D. 注 文 数 量 * 注 文 D. 単 価 ) AS 金 額 , 物 ″ s ( 注 文 D. 注 文 数 量 ) AS 注 文 数 量 FROM 注 文 D ” I 駅 JOIN 商 品 ON 注 文 D. 商 品 = 商 品 . コ ー ド ” I 駅 JOIN 注 文 ON 注 文 . ID = 注 文 D. ID ” else AnsiString 0 = AngiString wl = if (FrmKyakubetsuGetsujiSelKyaku->Text ! = 65 ァ ー タ ベ ー ス の 設 計 の 基 礎 知 識 特 集 プ ロ グ ラ ミ ン グ 入 門

月刊 C MAGAZINE 2001年4月号


MONTHLY HEADLLNE Products マ イ ク ロ ソ フ ト ( 株 ) Ⅳ isu Studio 6. O Service Pack 5 を 公 開 マ イ ク ロ ソ フ ト ( 株 ) は 同 社 の 開 発 ツ ー ル の ア ッ プ テ ー ト バ ッ ケ ー ジ 「 Visu 引 St udio 6.0 Service Pack 5 」 を 2 月 27 日 に 公 開 し た 。 正 規 登 録 ユ ー ザ に は , 無 償 で 送 付 さ れ る 。 ま た , 同 社 の Web サ イ ト よ り 入 手 可 能 な ほ か , FAX に よ る 無 償 送 付 申 し 込 み も 行 わ れ る 。 な お , こ の Servic e Pack 5 は 本 誌 付 録 CD - ROM に も 収 録 さ れ て い る 。 対 象 と な る 製 品 は , ・ Visual Studio 6.0 ・ Visual Basic 6. O ・ Visual C + + 6. O ・ VisuaIInterDev 6.0 ・ VisualJ + + 6. O ・ Visual SourceSafe 6. O の 各 日 本 語 版 全 工 デ ィ シ ョ ン と な る 。 こ の Service Pack 5 で は , Service Pa ck4 ま で 提 供 さ れ て い る 修 正 内 容 の す べ て を 含 ん で い る 。 Service Pack 5 で も っ と も 注 目 さ れ る と こ ろ は , Windows Me で の 動 作 に 関 す る 不 具 合 が 解 消 さ れ た 点 だ ろ う 。 こ の Service Pack 5 を も っ て , VisuaI StudiO シ リ ー ス の Windows Me へ の 対 応 が な さ れ た と い え る 。 た だ し , Service Pack 5 に は 最 新 の 曰 atform SDK は 含 ま れ て い な い た め , そ れ ら の プ ロ グ ラ ム を 開 発 す る 際 に は , 別 途 Web サ イ ト (http://www. microsoft.com/msdownload/platformsdk/ setuplauncher. htm) な ら Platform SDK を 入 手 す る 必 要 が あ る 。 ほ か に も , Microsoft SQL Server 2000 の デ ー タ ベ ー ス 操 作 に 関 す る 修 正 が 多 く 行 わ れ , ATL に つ い て も 一 部 拡 張 さ れ て い る 。 ま た , Visual Basic で Winsock コ ン ト ロ ー ル の 読 み 込 み と ア ン ロ ー ド を 繰 り 返 す と メ モ リ リ ー ク が 発 生 し て い た が , こ れ も 修 正 さ れ た 。 あ わ せ て Micros Oft Agent と Visual StudiO lnstaller の 新 バ ー ジ ョ ン が 加 わ り , コ ン ポ ー ネ ン ト に 関 す る 問 題 も 解 決 し た 。 ◎ URL http://www.microsoft.com/japan/deveIoper/vstudi0/downIoad/sp/vs6sp.htm Products ( 株 ) ソ フ ト ボ ー ト / 検 索 エ ン ジ ン 「 MindSearch SD 灯 の 発 売 と 評 価 版 を 配 布 開 始 ( 株 ) ソ フ ト ホ ー ト は 同 社 の 日 本 語 用 検 索 エ ン シ ン コ ン ポ ー ネ ン ト 「 MindSearch 」 よ り 開 発 キ ッ ト 部 分 を 単 体 の 製 品 と し て 分 離 さ せ た 「 MindSearch SDK 」 を 2 月 20 日 よ り 発 売 す る と 発 表 し た 。 価 格 は 200 , 000 円 。 こ の 製 品 に は , デ バ ッ グ 用 に 3 ユ ー ザ 同 時 ア ク セ ス 版 の MindSearch か 同 梱 さ れ て い る 。 実 際 に 作 っ た プ ロ グ ラ ム を 運 用 す る と き に は , 実 行 環 境 の ユ ー ザ 数 に 合 わ せ て ラ ン タ イ ム モ ジ ュ ー ル を 別 途 購 入 す る こ と が で き る 。 MindSearch は 日 本 語 に 特 化 し た 検 索 工 ン シ ン コ ン ポ ー ネ ン ト 。 送 り 仮 名 の ゆ ら ぎ な ど を 独 自 の ル ー ル で 正 規 化 し , 検 索 効 率 を 向 上 さ せ て い る 。 そ の ほ か に M indSearch の 指 示 文 が ス ク リ プ ト 旨 に な っ て お り , 単 語 登 録 や 制 御 構 文 も 書 く こ と が で き る ( 2000 年 5 月 号 に レ ポ ー ト 記 事 を 掲 載 ) 。 MindSearch SDK で は , こ の MindSearch を 利 用 し た プ ロ グ ラ ム を 開 発 で き る 。 イ ン タ フ ェ イ ス は COM コ ン ポ ー ネ ン ト や DLL の 形 で 提 供 さ れ , VisuaI C + + や Visual Basic な ど で 利 用 で き る 。 ま た , 31 日 間 の 使 用 期 限 を 設 け た 無 償 評 価 版 を Web サ イ ト に て 配 布 し て い る 。 な お , こ の 無 償 評 価 版 は , 本 誌 付 録 CD - ROM に も 収 録 し て い る 。 MindSearch SDK 00 ・ ROM 為 0 ◎ URL http://www.mindsearch.gr.jp/, http://www.softboat.co.jp/ 2 4 5 MONTHLY HEADLINE 1 41 ・ コ ン ホ ー ネ ン ト 形 態 て の 提 慣 ・ 強 力 な マ ク ロ 物 能 ・ 概 ま キ ー ・ 日 常 の 日 る 表 記 て 橋 能 な 確 案 か で を る ( キ ー の 同 一 視 ) を お こ な う ・ 日 本 語 の た め の 的 な 正 し ・ 駭 当 所 を 文 と し て 接 出 で き る ビ ッ ク ア ッ プ て き る ・ 本 当 に 期 待 し た 慣 報 の み を

月刊 C MAGAZINE 2001年4月号


て の こ と で す 。 ま た , こ の s ね ⅱ s ⅱ cs. rb を 書 い た と き , 引 数 で 与 え ら れ た ク ラ ス に イ ン ク ル ー ド す る Sta ⅱ s ⅱ cs と い う 関 数 を 用 意 す る こ と を 一 瞬 考 え ま し た 。 Math: : Statistics Array 一 見 こ れ は カ ッ コ よ い 気 が し ま す が , 実 際 の と こ ろ 次 の よ う に 書 く こ と も そ れ ほ ど 退 屈 で は あ り ま せ ん 。 c lass Array include Math: : Statistic end そ し て , こ れ が 大 事 な 点 で す が , こ の Rub y 本 来 の 書 き 方 の ほ う が は る か に わ か り や す ま と め い の で す 。 イ プ の 書 き 方 を ユ ー ザ に し て も ら う ほ う が 変 化 さ せ る よ う な 操 作 は で き る だ け ネ イ テ も よ り ま す が , ク ラ ス の 構 造 や メ ソ ッ ド を 持 ち 込 む こ と は 少 な く あ り ま せ ん 。 程 度 に げ に す る こ と の 代 償 と し て わ か り に く さ を い つ ば う で , 一 見 短 く 書 け て カ ッ コ よ さ う 。 多 く の ヒ ン ト が 隠 れ て い ま す 。 数 の 項 目 に は も う 一 度 目 を 通 し て み ま し ょ の Object と Module , Class お よ び 組 み 込 み 関 と も わ り と あ る の で , と く に リ フ ァ レ ン ス の 機 能 に は 「 な け れ ば で き な い 」 た ぐ い の こ つ つ あ り ま す こ れ ら の モ ジ ュ ー ル y で Ruby の 処 理 系 を 書 く こ と も 可 能 に な り 経 緯 が あ り ま す 。 そ の お か げ か 現 在 で は Rub 多 く は irb の 開 発 と と も に 追 加 さ れ た と い う Ruby の 動 的 プ ロ グ ラ ミ ン グ の サ ポ ー ト の 島 出 版 会 ( 19 別 ) 『 パ タ ン ・ ラ ン ゲ ー ジ 』 , 平 田 翰 那 訳 , 鹿 [Ale84] , ク リ ス ト フ ァ ー ・ ア レ グ ザ ン ダ ー 樹 訳 ソ フ ト バ ン ク パ プ リ ッ シ ン グ ( 1 ) ン パ タ ー ン 改 訂 版 』 , 本 位 田 真 一 , 吉 田 和 ク ト 指 向 に お け る 再 利 用 の た め の デ ザ イ Ralph Johnson , John Missides , 『 オ プ ジ ェ [GHJV99] , Erich Gamma , Richard Helm , よ い で し よ う 。 た だ し require に よ っ て メ ソ ッ ド を 再 定 義 す る の で は な く 単 に 追 加 す る 場 合 は 混 乱 は 小 さ そ う で す 。 こ の よ う な 場 合 は 追 加 さ れ る 機 能 を ド キ ュ メ ン ト す る こ と で 注 意 を 促 せ ば 十 分 で し よ う 。 冒 頭 の 繰 り 返 し に な り ま す が , 読 み や す さ に つ い て 考 慮 す べ き 点 は 次 の 2 点 で す 。 ・ ど れ だ け ロ ジ ッ ク と 構 造 を 追 い か け や す い か ・ 断 片 を 見 た だ け で ど れ だ け の こ と が 予 期 で き る か Ruby は で き る だ け こ れ ら の 条 件 を 満 た す よ う に 作 ら れ て い る よ う に 思 え ま す 。 た と え ば ユ ー ザ が 自 分 で イ テ レ ー タ を 作 成 で き る こ と で , ロ ジ ッ ク の 道 筋 の 上 で 近 く に あ る も の を コ ー ド 上 で も 近 く に 書 く こ と が で き ま す ( 追 い か け や す さ ) 。 ま た 変 数 の 接 頭 辞 の 文 字 種 が そ の ス コ ー プ を 表 す こ と で , 代 入 の 影 響 の 範 囲 を 予 感 で き ま す 。 前 者 を よ り 深 く 身 に 付 け る に は 人 の コ ー ド を 読 ん で 慣 習 を 知 る と い う 精 進 を 積 む こ と , 後 者 は 言 語 の 基 本 的 な 用 法 を 逸 脱 し な い こ と が 1 つ の 目 安 に な り ま す 。 心 が け て お き た い こ と は , 明 日 の 自 分 は 他 人 と い う こ と で す 。 き の う 書 い た コ ー ド が わ か ら な い な ん て こ と に な っ た ら , ほ か の 人 が 読 ん で も わ か ら な い に 違 い あ り ま せ ん 。 わ か り や す い コ ー ド を 書 い て , 愛 せ る プ ロ グ ラ ム , そ し て 愛 さ れ る プ ロ グ ラ ム を 目 指 し た い も の で す 。 謝 辞 en/raa-listrhtml?name=MetaRuby MetaRuby" , hゆ://嶬型W.ruby-lang.org/ [ RAA:MetaRuby] , Mathieu Bouchard , 隆 志 訳 , 大 修 館 書 店 ( 1976 ) ウ イ ト ゲ ン シ ュ タ イ ン 全 集 第 8 巻 , 藤 本 ハ Ⅵ t53 ] , llldwig Wlttgenstein , 『 哲 学 探 求 』 , jp/-seki/nlby/flyaway-l. 0b1. tar. gz [Sek:Flyaway] , http://www2a.biglobe.ne. 参 考 資 料 さ て , 9 回 に わ た り つ れ づ れ な る ま ま に お 送 り し て き ま し た こ の 連 載 は , 筆 者 の 都 合 に よ り 残 念 な が ら 今 回 を も ち ま し て し ば ら く お 休 み を い た だ き ま す 。 読 ん で く だ さ っ た す べ て の 方 々 に お 礼 を 申 し 上 げ ま す 。 批 判 や ご 感 想 は 引 続 き お 待 ち し て い ま す の で , 編 集 部 ま で お 寄 せ く だ さ い 。 当 連 載 は 多 く の 人 の 協 力 を 得 て 成 り 立 っ て い ま し た 。 と り わ け Ruby 界 が 誇 る メ ー リ ン グ リ ス ト ア ー カ イ プ 「 blade 」 を 維 持 し て く だ さ っ て い る 原 信 一 郎 さ ん に は 深 く 感 謝 し ま す 。 資 料 と し て 数 え き れ な い ほ ど 利 用 し て い ま す 。 も ち ろ ん そ の ア ー カ イ プ が 有 意 義 な の は , た く さ ん の 話 題 提 供 や 質 問 も し く は 解 答 を し て く れ た 世 界 中 の Rub ⅵ st の お か げ で す 。 気 が 付 い て い な い 方 も い ら っ し や る か も し れ ま せ ん が , メ ー リ ン グ リ ス ト で は 質 問 も 重 要 な 資 源 な の で す 。 と こ ろ で 原 稿 作 成 で は Rudy ア プ リ ケ ー シ ョ ン が 大 活 躍 し ま し た 。 Tosh さ ん が rdtools を , 青 木 峰 郎 さ ん が racc を 作 っ て く れ た お か げ で す 。 そ し て , Ruby と い う 楽 し い 言 語 の 創 造 主 に は , 執 筆 へ の 励 ま し や 筆 者 の 数 多 く の 勘 違 い に 対 す る 訂 正 な ど で す っ か り お 世 話 に な り ま し た 。 ま つ も と ゆ き ひ ろ さ ん , ど う も あ り が と う ご ざ い ま す 。 お っ と , い い 忘 れ ま し た が Ruby に 関 す る 連 載 が こ れ で な く な る わ け で は あ り ま せ ん 。 mod-nlby や VIM/Ruby な ど 数 多 く の 先 駆 的 か っ 実 用 的 な ソ フ ト ウ ェ ア で お な じ み の あ の 方 に よ る 新 連 載 が ス タ ー ト し ま す 。 ど う ぞ お 楽 し み に 。 そ れ で は , ま た 機 会 が あ れ ば お 目 に か か り た い と 思 い ま す 。 Happy hacking! [RAA:Statistics] , Gotoken , Statistics http://www.nlby-lang.org/en/raa-list.市血1? name=Math%3A%3AStatistics [ ruby - ね 8797 ] , Crist 叩 h p 1 , http://bla de. nagaokaut. ac.jp/cgi-bin/scat. rb/ruby/ nlby - 圓 k / 8797 筆 者 の Web ペ ー ジ , http://www.notwork. org/-gotoken/mag/cmagazine/ 98 C MAGAZINE 2001 4

月刊 C MAGAZINE 2001年4月号


00 フ ロ グ ラ ミ ン グ 入 門 今 回 は こ れ は ま ず い 仕 様 で す 。 価 格 改 定 前 プ ル を 持 っ た デ ー タ ベ ー ス が 作 成 さ れ ま す 。 だ と 思 わ れ ま す 。 で は , デ ー タ ベ ー ス ア プ こ の よ う な ス ク リ プ ト は 直 接 プ ロ グ ラ ム に に 売 れ た ピ ザ の 単 価 ま で 変 更 に な っ て し ま ー マ ン ス を 左 右 す る リ ケ ー シ ョ ン の ノ ヾ フ ォ い , 実 際 の 金 額 と 合 わ な く な り ま す 。 埋 め 込 む こ と も で き ま す が , 普 通 は イ ン ス 要 因 は 何 で し よ う か ? 正 規 化 は 実 際 の 運 用 を 十 分 に 考 慮 し て 行 ト ー ル 時 点 に 1 回 だ け 実 行 す れ ば 済 む の で , イ ン デ ッ ク ス と ク エ リ い ま す 。 私 は プ ロ グ ラ ム か ら 独 立 し て 管 理 す る 方 法 List3 は , 今 回 利 用 す る テ ー プ ル を 持 つ を 採 用 し て い ま す 。 デ ー タ ベ ー ス ア プ リ ケ ー シ ョ ン の パ フ ォ デ ー タ ベ ー ス を 作 成 す る SQL ス ク リ プ ト で さ て , 冒 頭 で は 「 作 成 す る ア プ リ ケ ー シ ー マ ン ス の 大 半 は , ク エ リ を デ ー タ ベ ー ス す 。 一 般 的 に ACCESS の よ う な ツ ー ル は デ ョ ン の タ ー ゲ ッ ト は 最 低 で も 1 万 件 の デ ー 工 ン ジ ン が 実 行 す る 速 度 で 決 ま り ま す 。 ー タ ベ ー ス を 「 利 用 」 す る の に は 向 い て い ま タ を 扱 う ア プ リ ケ ー シ ョ ン 」 と 大 風 呂 敷 を の ピ ザ 屋 さ ん の ア プ リ ケ ー シ ョ ン で も 1 年 , す が , 今 回 の よ う な ア プ リ ケ ー シ ョ ン を 「 設 広 げ ま し た 。 実 は , デ ー タ ベ ー ス ア プ リ ケ 2 年 と 営 業 を 続 け る と し だ い に 処 理 が 遅 く 計 , 作 成 」 す る の に は 向 い て い ま せ ん 。 テ ー シ ョ ン に お い て は プ ロ グ ラ ム 上 で の コ ー な っ て き ま す 。 と く に 「 注 文 HD 」 と 「 注 文 D 」 ー プ ル デ ザ イ ナ も ト ラ イ & 工 ラ ー で 作 る の デ ィ ン グ テ ク ニ ッ ク は , ほ と ん ど パ フ ォ ー は ど ん ど ん 肥 大 化 す る テ ー プ ル な の で , に は 便 利 で す が , や は り 「 設 計 」 に は 向 い て マ ン ス に は 貢 献 し ま せ ん 。 こ の 点 が VB と 比 の 2 テ ー プ ル に 対 す る ク エ リ は 十 分 に 注 意 い ま せ ん 。 List2 の ス ク リ プ ト は SQLServer べ る と , C + + で デ ー タ ベ ー ス ア プ リ ケ ー シ し て 設 計 す る 必 要 が あ り ま す 。 こ の 2 テ ー の ISQL ツ ー ル で 実 行 す れ ば い く つ か の テ ー ョ ン が 作 成 さ れ る こ と が 少 な い 要 因 の 1 つ プ ル は , テ ー プ ル の キ ー フ ィ ー ル ド 以 外 に [ 年 月 ] と [ 得 意 先 ] で 検 索 さ れ ま す 。 ま た List 3 [ 商 品 ] も 検 索 の 対 象 と な り え る で し よ う 。 一 般 的 に Fig. 3 の よ う な リ レ ー シ ョ ン を 持 つ フ ィ ー ル ド は 検 索 の 対 象 と な り ま す 。 検 索 の 対 象 と な る フ ィ ー ル ド に イ ン デ ッ ク ス を 作 成 す る こ と は , 効 果 的 な パ フ ォ ー マ ン ス 対 策 の 1 つ で す 。 で す が , や み く も に イ ン デ ッ ク ス を 作 成 し て も 意 味 の な い , 逆 に 害 に な る 場 合 も あ り ま す 。 今 回 の 例 で は 「 注 文 D 」 の [ 商 品 ] フ ィ ー ル ド が そ の 例 だ と 思 わ れ ま す 。 な ぜ な ら , 商 品 が イ ン デ ッ ク ス を 作 成 し な け れ ば 検 索 に 時 間 が か か る ほ ど 「 広 が っ た 」 テ ー プ ル で は な い か ら で す 。 せ い ぜ い 100 種 類 程 度 し か 商 品 が 分 散 し な い 場 合 は イ ン デ ッ ク ス は 役 に 立 た な い の で , デ ー タ ベ ー ス エ ン ジ ン は イ ン デ ッ ク ス を 利 用 し ま せ ん 。 イ ン デ ッ ク ス の 作 成 は 検 索 す る の に 効 果 的 で す が , 新 規 の レ コ ー ド を 追 加 す る 場 合 に は そ の 計 算 時 間 が オ ー バ ヘ ッ ド に な り ま す 。 も う 1 つ 重 要 な 点 は , デ ー タ を ど の よ う な デ ー タ タ イ プ で デ ー タ ベ ー ス 上 に 所 持 す る か と い う 点 で す 。 今 回 の 例 で は 「 商 品 」 の [ コ ー ド ] フ ィ ー ル ド で す 。 商 品 を 数 値 で 分 類 す る と い う 理 念 で デ ー タ ベ ー ス を 設 計 す れ ば [ コ ー ド ] フ ィ ー ル ド を 数 値 で 持 つ の は 妥 当 な 結 論 で す 。 で す が , 桁 の あ る 範 囲 が 意 味 を 持 つ よ う な 分 類 を 行 う JAN コ ー ド , / * 注 文 伝 票 * / --drop tab 厄 注 文 create t 曲 注 文 冊 ( int ID 年 月 datetime 得 意 先 char(6) ID 風 I ( 1 , 1 ) NOT NULL PRIMARY KEY CLUSTERED DEFAULT getdate( ) NOT NULL, DEFAULT 00000 ' NOT NULL, create 蚯 d 注 文 冊 ー 得 意 先 on 注 文 冊 ( 得 意 先 ) create d 注 文 一 年 月 on 注 文 ( 年 月 ) / * 注 文 伝 票 明 細 * / ~ 社 op セ 曲 地 注 文 D create セ 曲 注 文 D ( int DEFAULT 0 ID NO で NULL, IDENTITY(I,I) 土 北 NO で 」 L 年 月 DEFAULT getdate( ) datetime OT NULL, DEFAULT ' 0000 第 char(4) OT NULL, 注 文 数 量 float DEFAULT 0 NOT NULL 配 送 確 認 char(l) DEFAULT NOT NULL, 単 価 DEFAULT 0 NO NULL, money CONSTRAINT 注 文 D—KEY PRIMARY KEY CLUSTERED (ID , ID—D) c て セ e index 注 文 D 一 年 月 on 注 文 D ( 年 月 ) CREATE VIEW V 注 文 D AS SELECT 注 文 D. ID, 注 文 D. 年 月 , 注 文 D. 商 品 , 商 品 . 商 品 名 称 , 注 文 D. 注 文 数 量 OM 注 文 D I 駅 JOIN 商 品 ON 注 文 D. 商 品 = 商 品 . コ ー ド 64 C MAGAZINE 2001 4