LoginSignup
2

More than 3 years have passed since last update.

【MySQL 初心者ノート】- SQL, mySQLとは

Last updated at Posted at 2019-08-18

このページについて

個人的なSQL学習のノートとして残しています。
間違っている箇所などありましたら、ご指摘頂けると幸いです :bow:

第一回は、SQLとmySQLの概要についてざっとまとめてみました。

SQL と mySQL について

下の図は私たちがSQLを使っている時に何が起きているのかを簡易的に表したものです。
このようなネットワーク構造をクライエント/サーバーアーキテクチャーと言います。
実際は、複数のサーバとクライエントが繋がっていたりするなど、もっと複雑になっていますが、ここではわかりやすいようにサーバーとクライエントの一対一と仮定して説明します。

SQLは(Structured Query Language) の略であり、クライエントがサーバーの持っているデータにアクセスしたいときに使う言語と考えてよいでしょう。サーバーはDBSM(database management system) と呼ばれるソフトウェアでデータの管理をしています。mySQLはDBSMの一つです。mySQL以外にも、Oracle、DB2、SQL Server など色々な種類がありますが、オープンソースであり、かつ様々なプラットフォームで利用できるmySQLは最もよく使われているDBSMでしょう。

Screenshot 2019-08-18 at 8.59.43.png

Relational Database とは

mySQLではデータを RDB (Relational database model) というデータ構造で管理しています。簡単にいうと、行(Column)と列(Rows)からなる表形式のモデルを指します。舌の図にあるように、各列を示す値が入っている行を PK(Primary Key) と呼び、一つ一つの値が入っている枠を Cell と言います。一つの表に複数のPKを持たせることも可能です。そのようなケースを Composite Primary Keyと言います。更に、PKとは別で、各列を定義できる行を Non-Priamry Keys といい、mySQLでは Unique Keysという特別な名前を持っています。

Screenshot 2019-08-18 at 9.34.29.png

表内の関係性

表の中での Relations には様々な種類がありますが、One-to-manyが最も一般的でしょう。many-to-many は、複数の表があったときに、それぞれの表を他の第三者の表を介して関係性を表す際などに使用されます。

タイプ
one-to-many お客さんの名前 -to- [電話番号、住所、年齢]
many-to-many お客さんの名前と売った店員の関係を表した表 -to- お客さんの名前と住所の表

MySQL を触ってみる

MySQLを開き、ローカルのコネクションを選択します。

Schema

mySQLを開き、ローカルホストを選択すると、下のような画面が出てきます。
この左のバーにあるscheme というのは、データの定義や内容の入ったダイレクトリーのようなものです。

Screenshot 2019-08-18 at 10.17.39.png

表(テーブル)のアイコンをクリックすると、下のような画面がでてきます。
ここで表の性質を定義していきます。

Screenshot 2019-08-18 at 9.59.15.png

意味
PK Primary Key (各列を一意に示す。)
NN Not Null
UQ Unique key(各列を一意に示し、かつ複数存在できる)
BIN Binary
UN Unsigned
ZF ZeroFill
AI Auto increment
G Generated

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2