SQLの本に出てくる「型名」とは?

真夜中のプログラミング自己学習ってことで、スッキリわかるSQL入門で勉強することにしたんだが。
SELECTだのINSERTやUPDATE、DELETEみたいなデータ操作言語(DML:Data Manipulation Language)には、ある程度仕事で使って、飽きてたところだからよ。
一気に飛ばして、p307の第10章「テーブルの作成」からやることにしたのね。

そしたらいきなり「型名」って出てきて、これなんだったっけ?ってなった(笑)
前のページに戻るとp46に「データ型」についての説明があったので、助かった。
INTEGER型は整数、DECIMAL型とREAL型は少数で、CHAR型が文字列の固定長、VARCHAR型が文字列の可変長で、日付&時刻はDATETIME型、DATE型、TIME型で、テーブルの各列は指定されたデータ型の種類の情報しか格納することができないそうだ。

まあいい。とりあえずデータベースを作って、情報を入れるか。
入れる情報はこれ。

伊賀の里モクモク手づくりファーム御在所SA上り店 512-0906 三重県四日市市山之一色町1569-2 059-337-8110

行ってみたいのよね、ここ。
まず「伊賀の里モクモク手づくりファーム御在所SA上り店」はかなり長い文字列だ。
文字列だからCHAR型とVARCHAR型だけど。
CHAR型のCHAR(10)は「とにかく10文字だから10文字!」みたいな、柔軟性が無い感じ、とにかく10文字で、空白を使ってでも埋めちまおうって感じだ。
個人的にはVARCHAR型の方が好きだな、VARCHAR型を設定した列にデータを格納してやろう。

そんで次は郵便番号か。
これも…別に数量を表す数値データでもないからな。
本には「受け取った数値を強制的に数値に変換して格納…」みたいな、物騒なこと?が書かれてる。
INTEGER型とか、DECIMAL型やREAL型は避けとくか、VARCHARにするか?
でも郵便番号って桁数が決まってるよな。
7桁だから、-(ハイフン)入れたら8桁。
CHAR型を使えばメリットはあるかもしれない。例えば「CHAR(8)」とデータ型を指定しておけば、誤ってそれを超える文字列とか入ると気付いたりする?機能がデータベースによってはあるかもしれんな(推測だけど)。

住所の「三重県四日市市山之一色町1569-2」と、電話番号の「059-337-8110」はVARCHARでいいか。
あとデータベースへの登録日としてDATE型も使うか。
列が少なすぎて面白くないから、VARCHAR型に「最寄り駅」「鉄道会社名」「路線名」「最寄り駅から目的地への方角」「最寄り駅から目的地への距離」「最寄り駅から目的地までの所要時間目安」も加えて
格納するデータに「山城駅」「三岐鉄道」「三岐鉄道三岐線」「北」「1790」「徒歩25分以上」も追加してみるか。
そしたら手応えのあるテーブルになるだろう。

実際にSQL文書くのは次回ってことで。

しかし、この段階だと別にExcelでもいいなって、思う。
SQL、データベースを使うメリットが見えない。例えば、写真を取ると緯度経度とか日付とか、いろんな情報が最近のスマホだと保存してくれるけどね。写真をサーバーにメールとかで送ると、写真が持つ情報からデータベースのテーブルにある各列に分割して格納してくれて、後で撮った場所とか日時とか、住所とかで検索できたり。
メモを追加してデータを加えたりして。
「あれどこにあったっけ」ってなった時、すぐ検索できるみたいな。
そんなデータベースというか、memorybase、思い出の保管場所みたいなのだったら、いいデータベースだな~って、思うんだけどね。

  • このエントリーをはてなブックマークに追加
  • 0
    follow us in feedly

トップページ(低価格ヒルズ)に戻る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です