第一回 輪読会 「SQL 第2版: ゼロからはじめるデータベース操作」2024.11.3(日)

SQL 第2版: ゼロからはじめるデータベース操作

 

🚨:理解できなかったところ or 話し合いたい所

👽:素敵ポイント

 

1. データベースとSQL

1-1 データベースとは

 

DBとは・・

大量の情報を保存し、コンピューターから効率よくアクセスできる様に加工したデータの集まりのこと!!

 

 

『『 データベースは身近に潜んでいる 』』

例) ・病院の診察時、履歴を遡ってくれたり

    ・旅館に訪れた際、数年後もハガキが届いたり

 

#余談ですが(例の2つ目、旅館のハガキが自分でも経験があります。気づかなかっただけで、20年前くらい前から当たり前に使われているのだなぁと感嘆しました)

 

実際にはもっと前から使われていたでしょう。。。

気になって調べて見ましたが、始まりは1959年からだそうです。

www.kogures.com

 

 

DBMS  = データベースマネジメントシステム

 

『『 なぜDBMSが必要なのか 』』

DBMSを使用しない場合のデメリットを多数挙げられていましたが、

要約すると”機密性” , ”多人数での使用” , "大型データ容量に備えて"

上記3つが理由です。

 

 

 

SQL = 構造化問合せ言語 

 

『『 DBMSの種類 』』

用途、年代によってDBMSの種類は使い分けられています。

今回は、リレーショナルデータベース(RDBをメインに取り上げます。

 

リレーショナルデータベースとは・・

「関係データベース」とも呼ばれる。1969年以降、DBMSの中で最も多く利用されていて、Excelのように列と行からなるデータを管理するから人気みたいですSQLを用いて操作をしないといけない

 

 

RDBMSの代表5選

Oracle database

SQL Server

・DB2

PostgreSQL

MySQL

 

🚨:私は、代表5選の内、”PostgreSQ” ”MySQL" しか聞いた事がなかったですが、感覚でどのRDBMSが有名とかあれば聞きたいです。。。。

 

 

 

1-2  データベースの構成

 

RDBMSは、クライアント/サーバー型c/s(型)が最も一般的な形態と言われております。

 

 

「キーワード2つ」

サーバー 

 他のプログラムから要求を受け取り、それに応じて処理を行うプログラム(ソフトウェア)、あるいはそのプログラムがインストールされたマシン(コンピューター)のこと。

 

クライアント

サーバーに要求を出すプログラム(ソフトウェア)、あるいはそのプログラムがインストールされたマシン(コンピュータ)のこと 

 

 

『『 テーブルの構成 』』

・リレーショナルデータベースはデータを「テーブル」で管理。

データベースの中には複数のテーブルを格納する事ができ、必ず行単位でデータを読み書きする

 

1つのセルには1つしかデータを入れられない

 

「 補足 」

テーブルの列(縦)はカラムと呼び、列(横)はレコードと呼ぶ!!

 

 

 

1-3  SQLの概要

SQLとは・・・データベースを操作するために開発された言語

 

『一昔前のSQLRDBMSごとに方言があったが、現在はISO(国際標準機構)が定められている為、標準SQLの書き方を覚える』

 

🚨RDBMSによっては方言でしか書けない場合もあるが、都度調べるようにして取り急ぎ標準SQLのみ書けるようになろ~う

 

『『 sqlの文と種類 』』

SQLは機能により3種類に分けられる。

 

DDL(データ定義言語)

DML(データ操作言語)

・DCL(データ制御言語)

 

*実際にSQLを使うのは、DMLが90%を占めている。

 

SQLの基本ルール 」

 

SQLの文末にはセミコロン「;」を付ける

 

・大文字、小文字は区別されない。(テーブルに保存したデータは区別される)

 

・文字列と日付の定数はシングルクォーテーションで囲む

 

・単語は半角スペースか改行で区切る

 

 

🚨: ?現場レベルの大文字と小文字の使い分けを知りたい。暗黙の了解的なルールがあるのか、知ってる範囲で聞きたい

 

 

 

1-4  テーブルの作成 

 

はじめに、テーブルを格納するためにデータベースを作成する必要があります

 

①データベース → ②テーブル  

 

 

①データベース作成   CREATE DATEBASE <データベース名>;

ex) CREATE DATEBASE shop;

 

 

②テーブル作成  CREATE TABLE<テーブル名>

 

 < データ型 >の指定は必須!!!

 ・INTEGER型(数値の場合に使う *少数はNG)

 ・CHAR型 (文字列型)

 ・VARCHAR型(文字列型)

 ・DATE型(日付)

 

<該当列の制約>も設定する

 

 例えば、NOT NULL制約

 [ shohin_id CHAR(4)  NOT NULL ,]の様に指定することで空欄では登録できずエラーが返されます。

 

 

🚨:テーブル作成では、文末のセミコロンはいらない感じですかね〜?

 

🚨:プライマリーキーの意味がちょっと分かりづらいし説明して欲しいです!!

 

 

余談ですが。。。

 

『『 データベース、テーブルの命名ポイント 』』

・半角アルファベット

・半角数字

・アンダーバー ( _  )

・名前の最初の文字は「半角アルファベット」にする

 

以上4点を確認する⚪︎

 

 

 

 1-5 テーブルの削除と変更

 

『『 テーブル削除(DROP TABLE文) 』』

書き方  DROP TABLE  <TABLE名>;

 

#削除したテーブルは復活できない

#削除したテーブルは復活できない

#削除したテーブルは復活できない

 

『『 テーブル定義の変更(ALTER TABLE文) 』』

書き方 ALTER TABLE <テーブル名> ADD <列の定義>;

 

#テーブル定義を変更したら元に戻せない

#テーブル定義を変更したら元に戻せない

#テーブル定義を変更したら元に戻せない

 

 

時間があれば練習問題にもチャレンジしましょ〜う🏁🔥