DB | POPWEB https://blog.popweb.dev Developer, Blogger, Illustrator in Tokyo. Sat, 19 Jun 2021 05:05:49 +0000 ja hourly 1 https://wordpress.org/?v=6.7.6 https://storage.googleapis.com/gcs.pop-web.net/2021/01/favicon.ico DB | POPWEB https://blog.popweb.dev 32 32 昇順と降順の覚え方とasc,descの意味について https://blog.popweb.dev/programming/db/asc-desc/ https://blog.popweb.dev/programming/db/asc-desc/#respond Wed, 01 Apr 2020 14:17:19 +0000 https://blog.pop-web.net/?p=895 SQLやプログラミングで並び替えするときなど、昇順、降順をいった言葉よく出てくる。 でも、どっちがどっちだったけ?ということはよくあるので、その覚え方を説明する。 目次 昇順と降順のそもそもの意味について覚え方asc,d […]

The post 昇順と降順の覚え方とasc,descの意味について first appeared on POPWEB.]]>
SQLやプログラミングで並び替えするときなど、昇順、降順をいった言葉よく出てくる。

でも、どっちがどっちだったけ?ということはよくあるので、その覚え方を説明する。

昇順と降順のそもそもの意味について

まず、昇順と降順の意味から。

昇順は「小さい順」のこと

数値なら「1、2、3、4…」、日付なら「2020/1/1、2020/1/2、2020/1/3…」といった感じ。

降順は「大きい順」のこと

数値なら「4、3、2、1…」、日付なら「2020/1/3、2020/1/2、2020/1/1…」といった感じ。

覚え方

昇順は、「昇っていく」というイメージで覚える。「昇っていく」ので小さい値から大きい値へ増えていくと覚えればよい。

降順は、「降りていく」というイメージで覚える。「降りていく」ので大きい値から小さい値へ減っていくと覚えればよい。

asc,descの意味について

SQLなどで昇順や降順は英語で指定することが大概で、asc,descがよく使われる。

ascは「ascending order」の略で、昇順の意味。

descは「descending order」の略で、降順の意味。

覚え方は、ascは「a」から始まって「c」で終わるので「a、b、c…」ということで昇順。

descは「d」から始まって「c」で終わるので「d、c、b、a…」ということで降順

The post 昇順と降順の覚え方とasc,descの意味について first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/db/asc-desc/feed/ 0
IT用語におけるトランザクションとは? https://blog.popweb.dev/programming/db/transaction/ https://blog.popweb.dev/programming/db/transaction/#respond Tue, 24 Mar 2020 16:02:00 +0000 https://blog.pop-web.net/?p=858 IT用語としてトランザクションとは、複数の処理をまとめて処理すること。 この処理のことのことを。トランザクション処理とも呼ぶ。 なぜ複数の処理をひとまとめに考えるかというと、複数の処理であるトランザクションを実行中に1つ […]

The post IT用語におけるトランザクションとは? first appeared on POPWEB.]]>
IT用語としてトランザクションとは、複数の処理をまとめて処理すること。

この処理のことのことを。トランザクション処理とも呼ぶ。

なぜ複数の処理をひとまとめに考えるかというと、複数の処理であるトランザクションを実行中に1つでも処理に失敗した場合、それまでに行ってきた処理をすべて無かったことにするためである。

例えば、会社のデーターベースに社員を登録する際に、社員テーブルに社員名を登録し、所属部署テーブルに所属部署を登録する一連の処理があったとする。

社員テーブルに社員名を登録した後に、所属部署テーブルへ所属部署を登録する際に障害が起きて所属部署が登録できなかった場合、無所属の社員が存在することとなり中途半端な状態になる。

これを防ぐためにトランザクション処理が用いられる。

ちなみに、トランザクション実行前に戻すことを「ロールバック」といい、トランザクション処理が全て成功して処理内容を確定することを「コミット」という。

The post IT用語におけるトランザクションとは? first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/db/transaction/feed/ 0
スキーマってデータベース(DB)のことじゃないの?その違いについて。 https://blog.popweb.dev/programming/db/schema/ https://blog.popweb.dev/programming/db/schema/#respond Sun, 08 Mar 2020 11:25:00 +0000 https://blog.pop-web.net/?p=753 スキーマは、テーブルといったオブジェクトをグループ化したもの。 MySQLの場合、データベースを作成した後、その中に複数のテーブルを格納するのでスキーマはデータベースということになる。 しかし、PostgreSQLやOr […]

The post スキーマってデータベース(DB)のことじゃないの?その違いについて。 first appeared on POPWEB.]]>
スキーマは、テーブルといったオブジェクトをグループ化したもの。

MySQLの場合、データベースを作成した後、その中に複数のテーブルを格納するのでスキーマはデータベースということになる。

しかし、PostgreSQLやOracleの場合、データベースの中に複数のスキーマを作成される、そしてさらにそのスキーマの中に複数のテーブルを格納することとなる。

共通して言えることはスキーマの中にテーブルがあり、テーブルへ実際のデータが格納されているということ。

単に「データベース」って呼んでしまうと、PostgreSQLやOracleでいう複数のスキーマたちを指しているのかもしれないし、MySQLといったソフトウェア自体のことを指しているのかもしれない。

なので、みんなで仕事をする時に、呼び分けるために「スキーマ」と呼ぶ。

The post スキーマってデータベース(DB)のことじゃないの?その違いについて。 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/db/schema/feed/ 0
【初心者向け】データベースの正規化について https://blog.popweb.dev/programming/db/db-normalization/ https://blog.popweb.dev/programming/db/db-normalization/#respond Wed, 18 Sep 2019 00:37:57 +0000 https://blog.pop-web.net/?p=571 データベースには「正規化」するという作業がある。 正規化には第1正規化〜第5正規化までが存在しますが、リレーショナルデータベースを扱うなら、第1正規化〜第3正規化までできればよい。 正規化の手順 まず、正規化から説明する […]

The post 【初心者向け】データベースの正規化について first appeared on POPWEB.]]>
データベースには「正規化」するという作業がある。

正規化には第1正規化〜第5正規化までが存在しますが、リレーショナルデータベースを扱うなら、第1正規化〜第3正規化までできればよい。

正規化の手順

まず、正規化から説明する

  1. 非正規形
  2. 第1世紀形
  3. 候補キーの選定
  4. 第2世紀形
  5. 第3世紀形

今回は例として、都内で展開しているカフェ店を想定し、エクセル管理されているダミーデータを用意。

非正規形

非正規形とは、エクセルなどで見た目分かりやすくされた状態のこと。

例では、エクセルでセルが縦結合されて、行の中に複数行が存在している状態。

これの状態のことを「繰り返し項目が存在する」という。この状態を非正規形と呼ぶ。

第1正規形

第1正規形では、「繰り返し項目の排除」と「導出項目の排除」を行う。

例でいうと、新宿店の繰り返し項目が排除されて、すべてのレコード数が3つから4つになる。

また、導出項目の排除も行う。

導出項目は、他の項目の計算などによって導き出される項目のことで、例でいうと売り上げ金額になる。

候補キーの選定

候補キーとは、テーブルの中で1つのレコードを特定できるカラムのこと、またはその組み合わせ。

つまり、MySQLでいう主キーやユニークキーにあたる。

候補キーにならないものは、非キー属性と呼ぶ。

今回の例でいうと、候補キーは「店舗ID」と「商品名」になる。

大量なデータがあったとしても、この2つを抽出条件にすると、1つのレコードを特定できる。

第2正規形

第2正規形では、候補キーに対して、部分関数従属性のあるカラムを分離することを行う。

「部分関数従属性」とは、候補キーの特定のカラムAが決まれば、他のカラムBがきまる関係性のこと。

例では、「店舗ID」から決まるものは、「店舗」と「店長」。「商品名」から決まるものは「価格」

分離する時には、ついでに商品IDも付与する。

よって、以下のように「売上」「店舗」「商品」で分離できる。

  • 売上テーブル
  • 店舗テーブル
  • 商品テーブル

第3正規形

第3正規形では、候補キーではない非キー属性に対して、推移的関数従属性のあるカラムを分離する。

「推移的関数従属性」とは、非属性キーカラムAが決まれば、非属性キーカラムBが決まる関係性のこと。

例えば、店舗テーブルで店長の年齢のカラムがあるとする。

店舗テーブルで、候補キーは「店舗」で、非属性キーは、「店長」と「店長年齢」。

「店長年齢」は、「店長」が決まれば分かる。

よって、以下のようにテーブルを分離できる。

  • 店舗テーブル
  • 店長テーブル

まとめ

とりあえず、第1正規化〜第3正規化の説明は以上。

The post 【初心者向け】データベースの正規化について first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/db/db-normalization/feed/ 0
MySQLのよく使われるデータ型の種類のまとめ https://blog.popweb.dev/programming/db/mysql-datatype/ https://blog.popweb.dev/programming/db/mysql-datatype/#respond Sun, 15 Sep 2019 18:30:15 +0000 https://blog.pop-web.net/?p=566 MySQLのデータ型には、まぁたくさんある。 なので、MySQLでよく使われるデータ型を一覧でまとめる。 数値型 目次 INTUNSIGNEDの説明UNSIGNED ZEROFILLの説明BOOLEANVARCHARCH […]

The post MySQLのよく使われるデータ型の種類のまとめ first appeared on POPWEB.]]>
MySQLのデータ型には、まぁたくさんある。

なので、MySQLでよく使われるデータ型を一覧でまとめる。

数値型

INT

数値型で整数を扱う場合によく使う。

格納範囲は、-2147483648 〜 2147483647となる。

UNSIGNEDの説明

オプションでUNSIGNEDをつけると、正の数だけを扱うように設定ができ、負の数の分だけ格納範囲が広がる。格納範囲は、0 〜 4294967295になる。

UNSIGNED ZEROFILLの説明

オプションでUNSIGNED ZEROFILLをつけると、表示桁数に満たない場合、値を0で埋めるようにしてくれる。

例えば、int(6)と設定すると整数6桁で表示させるように指定ができる。

そして、これにUNSIGNED ZEROFILLを付加したカラムに「12」と登録すると、表示桁数にあわせて「000012」と登録しなおされる。

BOOLEAN型

BOOLEAN

true(真)か、false(偽)を入れたい時に使う。

文字列型

VARCHAR

文字を扱う型でよく使う。

CHARとの違い

VARCHAEと類似してCHARというものがある。

違いは、VARCHARは可変長文字、CHARは固定長文字列でそれぞれ格納される。

例えば、VARCHAR(5)へ「ABC」という文字列を格納した場合、「ABC」と格納されるが、CHAR(5)へ「ABC」という文字列を格納した場合は「ABC 」となり、指定された長さになるように足らない分スペースで埋められる。

TEXT

長尾文字列を格納する場合は、TEXT型を使用する。

日時型

DATE

日付のみを扱う場合に使う。

フォーマット形式は、「年-月-日」となる。

例:’2019-09-01′

DATETIME

日付と時間を扱う場合に使う。

フォーマット形式は、「年-月-日 時:分:秒」

例:’2019-09-01 01:15:09′

TIMESTAMP

タイムスタンプをしたい時に使う。

レコードが更新された時に、変更した時の日時が自動的に登録される。

The post MySQLのよく使われるデータ型の種類のまとめ first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/db/mysql-datatype/feed/ 0
XAMPPでMySQLコマンドを使えるようにする方法【Windows10】 https://blog.popweb.dev/programming/db/xampp-mysql-command/ https://blog.popweb.dev/programming/db/xampp-mysql-command/#respond Tue, 04 Jun 2019 15:23:21 +0000 https://blog.pop-web.net/?p=168 XAMPPをインストールして、さぁMySQLコマンドを使って、MySQLにログインしようと MySQLコマンドが使えないとでるので、使えるようにする手順を書きます。 目次 環境変数のPathに追加するコマンドの実行 環境 […]

The post XAMPPでMySQLコマンドを使えるようにする方法【Windows10】 first appeared on POPWEB.]]>
XAMPPをインストールして、さぁMySQLコマンドを使って、MySQLにログインしようと

>mysql -u root
'mysql' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

MySQLコマンドが使えないとでるので、使えるようにする手順を書きます。

環境変数のPathに追加する

MySQLコマンドを使えるようにするには、環境に変数にPathを追加するだけ。

追加する場所は、Windowsの検索窓の「環境変数」と入力します。

「システム環境変数の編集」がヒットするのでそれを選択し、さらに現れたウィンドウの中の「環境変数」をクリックします。

表示された環境変数のウィンドウのリストから「Path」を選択して「編集」ボタンをクリックして編集していきます。

そして、以下のパスを追加します。

C:\xampp\mysql\bin

コマンドの実行

>mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5638
Server version: 10.1.35-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

こんな感じに実行されれば完了です。

The post XAMPPでMySQLコマンドを使えるようにする方法【Windows10】 first appeared on POPWEB.]]>
https://blog.popweb.dev/programming/db/xampp-mysql-command/feed/ 0