[[CHJBootCamp2018]] *CHJ Boot Camp DAY 1b (SQL) *関係データベースとSQL -当面、既存のデータベースを使うことだけを説明します **関係データベース(リレーショナルデータベース:RDB) -あらゆるデータを表の組み合わせで表現する -データを取り出すのが速い、データが壊れない、同時に処理できる -(参考)[[データベース基礎中の基礎>https://thinkit.co.jp/series/4725]] --リレーショナルデータベースの基本 https://thinkit.co.jp/article/1042/1 ***準備 -Microsoft SQL Server Management Studio(SSMS)のインストール --https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-2017 --データベース(SQL Server)を利用する統合環境 -データベースアカウント(配付資料) --参照権限のみ ***用語 -[[データベース管理システム(DBMS)>https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0]] --[[''SQL Server''>https://ja.wikipedia.org/wiki/Microsoft_SQL_Server]], MySQL, PostgreSQL, Oracle, etc. -データベースサーバー -データベースインスタンス -表(テーブル) --列(カラム) --レコード(行) |>|>|>|CENTER:テーブル|h ||列名1|列名2|列名3| |レコード1|||| |レコード2|||| -クエリ(問い合わせ):データベースに対するさまざまな処理コマンド -ビュー:(複数の)表の列を組み合わせて作る仮想的な表 -[[授業資料/表の正規化]] **[[SQL>https://ja.wikipedia.org/wiki/SQL]] データベース[[問い合わせ言語>https://ja.wikipedia.org/wiki/%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E8%A8%80%E8%AA%9E]] --SQLの基本 https://thinkit.co.jp/article/1046/1 ***SQLの書式など(SQL Server) -コマンドと記号は全て半角 -コマンドは大文字小文字の区別は(原則として)ない -コマンドの切れ目のスペースやタブは余計に入っていて、改行を入れてもいい -文字列を値として指定するときは'値'のようにシングルクオーテーションで囲む --値として'を入れたいときは''としてエスケープ - --でコメントアウト(実行対象外になる)。行の途中からでも可 --/* ~ */ で複数行コメントアウト **SELECT文 とりあえずこれだけ!覚える -データベースからデータを選択して出力するコマンド --SELECT 列名,列名2... FROM テーブル ---短単位表から語彙素,語彙素読みの列を(全部)出力 SELECT 語彙素,語彙素読み FROM 短単位 ---短単位表から語彙素,語彙素読みの列を最初の100行出力 SELECT TOP 100 語彙素,語彙素読み FROM 短単位 -WHERE条件句 -- SELECT 列名,列名2... FROM テーブル WHERE 列名='hoge' ---短単位表から品詞が接続詞であるものの語彙素,語彙素読みの列を出力 SELECT 語彙素,語彙素読み FROM 短単位 WHERE 品詞='接続詞' -LIKE 演算子とワイルドカード --"LIKE"は"="のようなものだが、ワイルドカードを含む完全一致でない場合に使う --- %:任意の文字列(文字なしでも可) --- _:任意の一文字 ---短単位表から品詞が形容詞ではじまるものの語彙素,語彙素読みの列を出力 SELECT 語彙素,語彙素読み FROM 短単位 WHERE 品詞 LIKE '形容詞%' ---短単位表から品詞が接続詞で語彙素読みがカ行で始まるものの語彙素,語彙素読みの列を出力 SELECT 語彙素,語彙素読み FROM 短単位 WHERE 品詞 LIKE '形容詞%' AND 語彙素読み LIKE '[カ-コ]%' -ORDER BY 句(並べ替え) --ORDER BY 列名 (DESC) ---短単位表から品詞が接続詞であるものの語彙素,語彙素読みの列を語彙素読み順に出力 SELECT 語彙素,語彙素読み FROM 短単位 WHERE 品詞='接続詞' ORDER BY 語彙素読み