基本がわかるSQL入門―データベース&設計の基礎から楽しく学ぶ [単行本]
    • 基本がわかるSQL入門―データベース&設計の基礎から楽しく学ぶ [単行本]

    • ¥2,72882ゴールドポイント(3%還元)
    • 在庫あり2024年9月19日木曜日までヨドバシエクストリームサービス便(無料)がお届け
100000009003321973

基本がわかるSQL入門―データベース&設計の基礎から楽しく学ぶ [単行本]

価格:¥2,728(税込)
ゴールドポイント:82ゴールドポイント(3%還元)(¥82相当)
フォーマット:
お届け日:在庫あり今すぐのご注文で、2024年9月19日木曜日までヨドバシエクストリームサービス便(無料)がお届けします。届け先変更]詳しくはこちら
出版社:技術評論社
販売開始日: 2020/10/08
お取り扱い: のお取り扱い商品です。
ご確認事項:返品不可
店舗受け取りが可能です
マルチメディアAkibaマルチメディア梅田マルチメディア博多にて24時間営業時間外でもお受け取りいただけるようになりました

基本がわかるSQL入門―データベース&設計の基礎から楽しく学ぶ の 商品概要

  • 要旨(「BOOK」データベースより)

    各種データベースのうち、最も普及しているのがリレーショナルデータベース。そのリレーショナルデータベースを操作するための言語が本書のテーマである「SQL」です。本書では、SQLとデータベース設計、それらを支える理論について、ゼロからスタートできるように解説をまとめました。「SQLの基礎」「データベース設計」「SQLの詳細」という構成で、SQLとデータベース設計の基礎部分を着実に学べる1冊です。
  • 目次

    ## 本書について ……SQLって何だろう? どのように学ぶ?
    ## 本書の構成
    ## 本書の動作確認環境
    ## 本書の補足情報について



    # 第1章 SQL&DBの基礎知識 ……SQLって何だろう?

    ## 1.1 データベース用の言語「SQL」 ……まずはどんな姿か見てみよう

    ### データを管理する「テーブル」
    ### SELECT文の構造
    ### 複数のテーブルからデータを取得する
    ### 新しい列を作って表示する
    ### なぜ複数のテーブルに分かれているのか

    ## 1.2 DBMSの基本機能 ……データベース管理システムの役割って何?

    ### データ操作機能
    ### 同時実行制御
    ### トランザクション管理
    ### 機密保護
    ### 障害回復

    ## 1.3 RDBの特徴 ……リレーショナルデータベースってどんなDB?

    ### 常に「表」で考える
    ### 一意性制約と参照制約
    ### RDBと3層スキーマ



    # 第2章 SQL初級編 ……実際に書いて試してみよう

    ## 2.1 SQLの種類と基本的な書式 ……書き方のルールを確認しよう

    ### 標準SQLとSQLの方言
    ### SQLの5つの記述ルール
    ### ①各単語は半角スペースまたは改行で区切り、文末には「;」を付ける
    ### ②キーワードは大文字でも小文字でもよい
    ### ③テーブル名や列名には(原則として)半角英数字と「_」を使う
    ### ④文字列や日付は「'~'」で囲む
    ### ⑤コメントは「--」の後ろか、「/*」と「*/」の間に書く

    ## 2.2 テーブルの作成と削除 ……CREATE TABLE、DROP TABLE

    ### テーブルの作成 CREATE TABLE
    ### テーブルの削除 DROP TABLE

    ## 2.3 参照制約(外部キー)の設定 ……FOREIGN KEY、REFERENCES

    ### 外部キーがあるテーブルにデータを登録する

    ## 2.4 データの追加 ……INSERT INTO

    ## 2.5 データの変更 ……UPDATE

    ### 更新できないデータが含まれていた場合

    ## 2.6 データの削除 ……DELETE

    ### 参照されているデータの削除

    ## 2.7 データの問い合わせ ……SELECT

    ### テーブルを表示する 問い合わせ①
    ### データを並べ替える 問い合わせ②
    ### データを集計する 問い合わせ③
    ### 集計結果で並べ替える 集計補足①
    ### 別の列名で表示する 集計補足②
    ### テーブルを結合する 問い合わせ④
    ### 結合した結果を絞り込む、並べ替える 結合補足①
    ### 結合した結果を集計する 結合補足②

    ## 2.8 ビューの作成と削除 ……CREATE VIEW/DROP VIEW

    ### ビューの作成
    ### ビューの削除

    ## 2.9 バッカス記法(BNF) ……読めると便利! マニュアルの書式




    # 第3章 CREATE TABLE詳細 ……テーブルではどんなことを定義できるのか

    ## 3.1 実表と導出表 ……SELECTできる2つの「表」

    ### テーブルとビューの定義

    ## 3.2 「列」(カラム)の設定 ……どんなデータを保存したいか考えよう

    ### データの「型」とは何か
    ### 列の初期値 DEFAULT句
    ### 登録できる値の制限 CHECK制約
    ### 文字列/数値/日付時刻以外のデータ型
    ### ドメイン(定義域)とは何か

    ## 3.3 特別な値「NULL」 ……わからない値だって保存したい

    ### NULLの禁止

    ## 3.4 キー(識別子) ……PRIMARY KEY、UNIQUE、NOT NULL

    ### 主キーと候補キー
    ### 主キーとそのほかの候補キーの宣言
    ### 複合キーの宣言

    ## 3.5 参照制約(外部キー) ……FOREIGN KEY、REFERENCES

    ### 参照制約(外部キー)の宣言
    ### キーの値を変更したらどうなるか

    ## 3.6 テーブル定義の変更 ……ALTER TABLE

    ### 列と制約の追加
    ### 列と制約の変更/削除
    ### 参照制約(外部キー制約)の追加と削除

    ## 3.7 インデックスの作成と削除 ……CREATE INDEX、DROP INDEX

    ### インデックスの作成
    ### インデックスの削除
    ### インデックスと更新速度




    # 第4章 正規化 ……RDBにとっての「正しい形」とは

    ## 4.1 正規化の目的 ……すべては正しいデータを保つため

    ### 正規化で防ぎたい「更新不整合」とは
    ### スタートは第1正規形、最初のゴールは第3正規形

    ## 4.2 テーブルの構造は列×行のみ ……第1正規形と繰り返し項目の排除

    ### 導出項目の排除
    ### 繰り返し項目の排除

    ## 4.3 テーブルの列は主キーと主キーで決定する項目のみ ……第2正規形、第3正規形、ボイスコッド正規形

    ### 無損失分解
    ### 部分関数従属を取り除く 第2正規形
    ### 推移的関数従属を取り除く 第3正規形
    ### ボイスコッド正規形 BCNF
    ### ボイスコッド正規形までのまとめ

    ## 4.4 多値従属性と結合従属性 ……第4正規形、第5正規形

    ### 多値従属性
    ### 結合従属性

    ## 4.5 このほかの正規形 ……ドメインキー正規形、第6正規形

    ### ドメイン制約に着目する「ドメインキー正規形」
    ### 識別子から決定できる値を1つまでにする「第6正規形」



    # 第5章 ER図 ……「モノ」と「関係」を図にしてみよう

    ## 5.1 データモデリング技法「ERモデル」 ……データベース設計でどう使う?

    ### ERモデルと関係モデル
    ### データベースへの「写像」
    ### エンティティは「テーブル」になる
    ### リレーションシップは「参照制約」になる
    ### 参照される側は「1」にする


    ## 5.2 ER図 ……箱と箱を結ぶ線のルール

    ### さまざまな図法
    ### ER図を読み解く3つのポイント
    #### ①エンティティと属性の表記
    #### ②主キーと外部キーの表記
    #### ③ カーディナリティの表記
    ### モデリングツール

    ## 5.3 カーディナリティの検討 ……参照できる形に整えよう

    ### 1対多の場合
    ### 1対多は「親子関係」か「参照関係」を表している
    ### 多対多の場合
    ### 多対1の場合
    ### 1対1の場合
    ### 1対1の意味を考える
    ### 1対1の外部キー

    ## 5.4 識別子(キー)の検討 ……本当にその識別子で大丈夫?

    ### 使われていない識別子は存在しないか
    ### 識別子に複合キーが潜んでいないか
    ### 存在しない識別子を使っていないか

    ## 5.5 スーパータイプとサブタイプ ……区分コードを見つけたら考えよう

    ### is-aの関係になっているか
    ### orの関係になっているか
    ### どちらでテーブルを作るか



    # 第6章 データ操作 ……データを自在にSELECTしよう

    ## 6.1 SELECTの基礎構文 ……必要なデータを取り出す、重複を取り除く

    ### 列の指定、列の連結と計算、別名 SELECT句、AS、CONCAT、||
    ### 重複の除去 DISTINCT
    ### 行の指定(絞り込み) WHERE句
    ### 条件を組み合わせる AND、OR、NOT
    ### 並び順を変える ORDER BY
    ### 行数の指定 LIMIT(MySQL/MariaDB/PostgreSQL)

    ## 6.2 関数と演算子 ……値の比較、計算、パターンマッチング

    ### 大小の比較と数値の計算 = <> > < >= <= + - * /
    ### NULLの判定 IS NULL、IS NOT NULL
    ### 範囲の指定 BETWEEN
    ### いずれかの値に当てはまるか IN
    ### あいまい検索 LIKE
    ### 正規表現による検索 SIMILAR TO、REGEXP、~演算子
    ### 文字列の演算子とおもな関数
    ### 日付時刻の演算子とおもな関数
    ### NULLの変換 NULLIF、COALESCE

    ## 6.3 結合(JOIN) ……複数のテーブルを組み合わせる

    ### クロス結合 CROSS JOIN
    ### 内部結合 INNER JOIN(JOIN)
    ### 外部結合 LEFT OUTER JOIN、RIGHT OUTER JOIN、FULL OUTER JOIN
    ### 自己結合 同じテーブルでの結合
    ### 等価結合時の列指定 USING()
    ### 自然結合 NATURAL JOIN
    ### 2つより多いテーブルの結合
    ### 複数の列によるJOIN


    ## 6.4 NULLとUNKNOWN ……わからない値をどう扱う?

    ### TRUE/FALSE/UNKNOWNによる論理演算
    ### TRUEとFALSEのみで判定する IS演算子

    ## 6.5 集約関数 ……データのグループ化と集計

    ### 集約関数 COUNT、AVG、SUM、MAX、MIN
    ### 複数の列でグループ化する GROUP BY
    ### 小計と合計を付ける ROLLUP
    ### GROUP BY使用時のSELECT句 GROUP BY
    ### 集約結果で絞り込む HAVING、WHERE
    ### 列の一部の値で集計する GROUP BY、SUBSTRING()
    ### 列ごとに異なる条件で集計する CASE、GROUP BY

    ## 6.6 テーブルの連結(UNION) ……データを「縦」につなげたい

    ### SELECT結果の連結 UNION、UNION ALL
    ### 列の数や型を調整するには

    ## 6.7 CASE式 ……SELECT文で場所分け(条件分岐)

    ### 値を置き換える 単純CASE式
    ### 値ごとに式を書く 検索CASE式
    ### WHERE句で使用する列の優先順位を決める 検索CASE式(WHERE句)
    ### 任意の値で区切ってカウントする 検索CASE式(SELECT句)

    ## 6.8 サブクエリー ……SELECT文とSELECT文を組み合わせる

    ### SELECT文の結果を使って絞り込む サブクエリー(WHERE句)
    ### 各行に対してSELECT文を実行する 相関サブクエリー
    ### 列の値をSELECT文で作る SELECT句のサブクエリー
    ### 複数の値で絞り込む IN、NOT IN
    ### 複数の値と比較する ALL、SOME、ANY
    ### サブクエリーとNULL
    ### 存在しているかどうかを調べる EXISTS、NOT EXISTS


    ## 6.9 ウィンドウ関数 ……データを区切って集計、順位付けする

    ### ウィンドウ関数の基本 無名ウィンドウ、名前付きウィンドウ
    ### どう区切るのかを決める、連番を付ける PARTITION BY、ORDER BY、ROW_NUMBER()
    ### 全体の集計を行う PARTITION BYを使わないウィンドウ関数
    ### 区画別の集計とランキング RANK、DENSE_RANK、ORDER BY
    ### 区画内の行の位置を指定する LAG、LEAD、FIRST_VALUE、LAST_VALUE、NTH_VALUE
    ### 直前の値と同じだったらスペースにする LAG、CASE、名前付きウィンドウ

    ## 6.10 データの更新 ……クエリーを使って更新しよう

    ### INSERTとSELECTによる一括登録
    ### ほかのテーブルの値を使って更新対象を指定する
    ### ほかのテーブルの値を使って更新する

    ## 6.11 [補講]関係演算 ……集合論から見たSQL

    ### 和 UNION、UNION ALL
    ### 差 EXCEPT、EXCEPT ALL、NOT EXISTS、OUTER JOIN
    ### 共通 INTERSECT、INTERSECT ALL、INNER JOIN
    ### 直積 CROSS JOIN
    ### 関係演算で追加された演算
    ### 選択 WHERE
    ### 射影 SELECT
    ### 結合 JOIN
    ### 商 サブクエリー



    # 第7章 ケーススタディー ……データベース設計&SELECT文の組み立て方

    ## 7.1 フクロウ塾のデータベース設計 ……ER図、フィールド&書式、DBに持たせるルール

    ### 氏名フィールドの検討と文字列の書式
    ### 氏名に常にスペースを入れたい場合のCHECK制約
    ### マスターを追加すべきか検討する コースの再検討①
    ### 複合キーで選択可能なコースを制限する コースの再検討②
    ### データベースでルールを管理するかを検討する コースの再検討③
    ### データベースで管理する場合 コースの再検討③-[A]
    ### データベースでは管理しない場合 コースの再検討③-[B]

    ## 7.2 データ抽出のバリエーション ……サブクエリーとウィンドウ関数の活用

    ### 最高得点者のリスト サブクエリーの場合
    ### 最高得点者のリスト ウィンドウ関数の場合
    ### 内部結合と外部結合の検討 難易度別コースの最高得点①
    ### 最高得点の確認 難易度別コースの最高得点②
    ### 氏名の取得 難易度別コースの最高得点③
    ### 最高得点者のリスト完成 難易度別コースの最高得点④
    ### 前回の記録との比較 前回よりも10点以上点数が下がった
    ### 同じ中学校に通っている生徒
    ### 複数の子が通っている中学校のリスト
    ### 同じ中学校で別の校舎に通っている生徒のリスト


    ## 索引
    ## 構文索引


    # Column
    ### クラウドで利用できるおもなデータベース
    ### 識別子に使用可能な文字
    ### DBMSのキーワード ……予約語
    ### トランザクションの活用 ……START TRANSACTION、ROLLBACK、COMMIT
    ### SQLによる「権限」の設定 ……GRANT、REVOKE
    ### 更新可能なビュー
    ### NULLとCHECK制約
    ### データベースはSQLだけじゃない?! ……NoSQLの基礎知識
    ### SQLの「実行計画」とは
    ### 関係モデルの基礎用語 リレーションとリレーションシップ
    ### 2種類のエンティティ イベント、リソース
    ### 新しいエンティティの意味
    ### 正規形とER図
    ### 新しい識別子
    ### SELECT文の評価順序
    ### JOIN、WHERE、ORDER BYとインデックスの処理速度
  • 内容紹介

    「基本がわかる」をテーマに、
    SQL&データベースの基礎から、やさしくスタート!

    そして、「SQLでどんなことができるのか」「どんなときに便利なのか」「なぜそんなしくみになっているのか」について、一つ一つステップアップしながら解説します。

    本書の特徴は、文法の背景にある「設計」を丁寧に扱っている点です。SQL学習時の頻出ケースである、思ったように操作できない…… この書き方のどこが便利なのか実感が湧かない……、そんなとき、設計について少しでも知ってることが大きな力になります。

    想定環境はMySQLを主軸にMariaDB、PostgreSQLとメジャーなOSS(オープンソース)製品に対応し、サポートサイトのサンプルを活用して試しながら学ぶことも可能。広くデータベース利用者の方々に向けて、長く役立つ技術知識を凝縮してお届けします。
  • 著者紹介(「BOOK著者紹介情報」より)(本データはこの書籍が刊行された当時に掲載されていたものです)

    西村 めぐみ(ニシムラ メグミ)
    1990年代、生産管理ソフトウェアの開発およびサポート業務/セミナー講師を担当。その後、書籍および雑誌での執筆、PCおよびMicrosoft Officeのeラーニング教材作成/指導、新人教育にも携わる
  • 著者について

    西村 めぐみ (ニシムラ メグミ)
    西村 めぐみ Nishimura Megumi1990年代、生産管理ソフトウェアの開発およびサポート業務/セミナー講師を担当。その後、書籍および雑誌での執筆、PCおよびMicrosoft Officeのeラーニング教材作成/指導、新人教育にも携わる。おもな著書は『図解でわかるLinuxのすべて』(日本実業出版社)、『シェルの基本テクニック』(IDGジャパン)、『[新版 zsh&bash対応]macOS×コマンド入門 ──ターミナルとコマンドライン、基本の力』(技術評論社)など。

基本がわかるSQL入門―データベース&設計の基礎から楽しく学ぶ の商品スペック

商品仕様
出版社名:技術評論社
著者名:西村 めぐみ(著)
発行年月日:2020/10/21
ISBN-10:4297116596
ISBN-13:9784297116590
判型:A5
対象:専門
発行形態:単行本
内容:電子通信
言語:日本語
ページ数:303ページ
縦:21cm
他の技術評論社の書籍を探す

    技術評論社 基本がわかるSQL入門―データベース&設計の基礎から楽しく学ぶ [単行本] に関するレビューとQ&A

    商品に関するご意見やご感想、購入者への質問をお待ちしています!