理論から学ぶデータベース実践入門 ―― リレーショナルモデルによる効率的なSQL

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

ダウンロード

本書P.216で紹介しているサンプルコードです。
データは圧縮ファイル形式でダウンロードできます。圧縮ファイルをダウンロードしていただき,適宜解凍してご利用ください。

ダウンロード
サンプルコード

お詫びと訂正(正誤表)

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2016年4月5日更新)

P.ⅵ 目次(第2刷以降,修正済)

クロージャという性質
クロージャ・プロパティ(閉包性)

P.19 見出し(第2刷以降,修正済)

クロージャという性質
クロージャ・プロパティ(閉包性)

P.40 下から2行目

④ P∨Q・・・③と導出規則⑦より
④ P∨Q・・・と導出規則⑦より

P.40 下から1行目

⑤ Q・・・④と選言的三段論法より
⑤ Q・・・③④と選言的三段論法より

P.48 本文下から4行目

⑩と構造的には同じ
⑧(p.40)と構造的には同じ

P.83 本文下から1行目

{学科,年齢}
{学科,学年}

P.86 本文上から9行目

成り得ます
なり得ます

P.98 本文上から6行目

見て見る
見てみる

P.102 本文上から5行目

非キー属性が存在しない場合、
非キー属性が存在する場合、

P.113 リスト5.3(第2刷以降,修正済)

SELECT DISTINCT `学科` FROM t2
SELECT DISTINCT `学科` FROM t1

P.113 リスト5.4(第2刷以降,修正済)

SELECT DISTINCT `学科`, `代表番号` FROM t1
SELECT DISTINCT `学科`, `代表番号` FROM t2

P.115 本文上から4行目

図5.2(t1)の場合、
図5.3t2)の場合、

P.115 リスト5.7(第2刷以降,修正済)

UPDATE t1 SET `代表番号` = 'ww-wwww-wwww'
UPDATE t2 SET `代表番号` = 'ww-wwww-wwww'

P.115 リスト5.8(第2刷以降,修正済)

UPDATE t1 SET `代表番号` = 'ww-wwww-wwww'
UPDATE t2 SET `代表番号` = 'ww-wwww-wwww'

P.137 本文上から10行目

全射でなければならない
単射でなければならない

P.137 本文下から2行目

全射だけでは、
単射だけでは、

P.137 本文下から1行目

単射に近づける
全単射に近づける

P.138 本文上から6~7行目

そのドメインを十分に格納できるSQLの数値型を選択することで全射とし、CHECK制約でドメインの述語を表現することで単射にできます。
そのドメインを十分に格納できるSQLの数値型を選択することで単射とし、CHECK制約でドメインの述語を表現することで全射にできます。

P.145 リスト7.4

SELECT * FROM user WHERE age <> 20 OR age IS NULL
SELECT * FROM users WHERE age <> 20 OR age IS NULL

P.178 リスト8.16

リスト8.16
リスト8.14

P.178 リスト8.16

    SELECT
        department,
        (
          SELECT
              COUNT(*)
            FROM
              students
            WHERE
              department = t1.department
        ) AS COUNT
      FROM
        (
          SELECT
              DISTINCT department
            FROM students
        )
    SELECT
        department,
        (
          SELECT
              COUNT(*)
            FROM
              students
            WHERE
              department = t1.department
        ) AS COUNT
      FROM
        (
          SELECT
              DISTINCT department
            FROM students
        ) t1

P.185 リスト9.2

    SELECT price
        FROM price_list
        WHERE item = '懸垂マシン'
            AND NOW() BETWEEN start_date AND end_date
            OR (start_date >= NOW() AND end_date IS NULL)
    SELECT price
        FROM price_list
        WHERE item = '懸垂マシン'
            AND (NOW() BETWEEN start_date AND end_date
            OR (start_date <= NOW() AND end_date IS NULL))

P.193 図9.6内price_list最下行のprice_id

5
6

P.194 図9.7

active
flag

P.239 図11.2内(Viewに対応する下から2行目のrowid)

1
2

P.239 図11.2内(Viewに対応する一番下のrowid)

2
3

P.271 下から3行目

このような特徴を持つデータとして、たとえば,、
このような特徴を持つデータとして、たとえば

P.278 下から8行目

前回集計結果を更新した移行に
前回集計結果を更新した以降

P.338 図14.6

残高Yを読み取り 1,000,000円
残高Yを読み取り 1,100,000円

P.342 図14.8内の左下

1,000,000 - 100,000 = 900,000円
1,000,000 + 100,000 = 1,100,000円

P.352 上から4行目

そしてこれからも使うべきものなのについても
そしてこれからも使うべきものなのについても