30分チャレンジ!!SQL100本ノック

etc

35歳からエンジニアを志し、現在38歳の社内SEとして勤務しているからあげです😎

今年の目標の一つであった家系ラーメンを食べる。が完遂できたことをご報告いたしますw

今年の目標の一つである家系ラーメンを食べることwくだらないことかもしれませんが、私は結婚してから14年以上一度も不味いであるとか、何を食べたいとか言ったことがありません(^^;)

わがままを言わんかい。

私が言った唯一のわがまま。

鈴鹿サーキットに行きたい。

これだけwwwwwwwwwwwwwwwwwwww

ということでSQLを叩きのめして身に着けたいと思います。

データベースの基本!!

  • 構築しよう思ったら
    • 何をデータベースに入れたいか?
    • 社内向けか社外むけか?(サーバスペック以外に同接能力が違ったりする。)
    • どんな用途で使いたいか?
    • データベース設計などなど。
  • データベースを使いたいと思ったら?
    • データベースのSQL言語を調べる。
    • SQLツールを選定する。
    • データベース設計などなど。

ここまでの設定など終了している前提で進めますね!!

基本構文

まず4大構文というものが存在します。

  • データを入れる。
    • インサート(insert)
  • データを消す。
    • デリート(delete)
  • データの編集(更新)
    • アップデート(update)
  • データの参照
    • セレクト(select)

まずこれらを知っておく必要があります。

基本的にこの構文を知っていれば簡単なシステムであれば構築できます。

データベースはその名のとおりデータが格納された大事な領域なので、基本隠されています。

構築時はセキュリティを十分考慮して作成しましょう。

基礎知識として知っておくこと。

主キーと複合キーが最低でも必要です。

デフォでIDが振られる場合もありますし、自ら主キーとして一意の番号などを決めます。

この主キーと併せて何かを特定する必要があれば複合キーを使用します。

例:

  • 田中君をデータベース(テーブル)から探したいと思います。

select文で検索をかけてあげると見つけることが可能だと思います。

しかし、テーブル内に田中君が1人とは限りません。Bクラスにもいるかもしれません。その場合↓↓↓

  • A,B,Cクラスのうち、Bクラスの田中君をデータベース(テーブル)から探したいと思います。

ここで初めて複合キーが必要なのです。

設計次第ですが、Aクラスを主キーとして複合キーを田中とする。これで検索で引っかかる感じですね。

知っとくべきキツさ

4大構文といえど、実際は複数のテーブルに一気にupdateかけて、各キーでつながっているリレーショナルデータベースを作るのです。

selectだって一緒です。

本番データベースを別に作成していたら連携して一斉アップデートとか、実際の現場は処理がキモイですよ。

データベース設計とフロントの設計が微妙だと仲間と知恵の出し合いになりホワイトボードで気分転換なんかもしなければなりませんwww

そして複雑な処理になればサーっという音とともにその処理を誰かに任そうとします(^^;)

そう、構文を覚えるというより、根気強く取り組むことと構文を正確に作ることに労力を割かれます。

嫌がる人はここが分かれ道です。

サーっと引いていった仲間たちはエンジニアを辞めています(^^;)後日談。

以前SESの現場で”俺はデータベース構築したことあるしC言語知ってるから俺に従え”といったような仮想リーダーに苦しめられた記憶があります(^^;)あの変な自信持っている人ってなんなんでしょうね。。。

当然ながら土日関係なく構築していた記憶があります。

システムが完成してから言われた一言。

“Excelシートをユーザーに展開して・・・云々・・・脆弱ですねこれ。”

要件整理もしないしシステムも構築しない。ドキュメントも作らんし(作れないのかな・・・)ガントチャートは綺麗だったが0-100で作るシステムやのに工期短すぎ問題でほんまにだまれでした。

ある意味ステップアップできた機会だったのかな・・・

私は「そうですねー」しか返せなかった記憶があります。

そこは確かにと正直認めるしかない気持ちと、ユーザーが持ってるライセンス数と要件に従った結果なのですが・・・と正直思っていました。調整もさせろと思いましたが結局1人でやることなるやんと。

ドキュメント作成できる人と、できない人でも分かれるかもしれませんね。上流を経験すると気付かされます。

現場で結構使う!?SQL構文

正直構文はAIが教えてくれます。

しかし、AIに読み込ませる前にある程度読める必要があります。

そして経験があるとAIがハルシネーションを起こしたとしたら瞬時に間違っていると判断できるようになります。

なのでこの回は、構文を知る。

これだけで大丈夫。

あとはデータどこからとってこようかなーと悩む必要があるのです。

続きは、以降の記事に記載しますね!!

長くなりそうなので(^^;)

ではでは😊

コメント

error: 選択できません。
タイトルとURLをコピーしました