tag:crieit.net,2005:https://crieit.net/tags/DB/feed 「DB」の記事 - Crieit Crieitでタグ「DB」に投稿された最近の記事 2021-04-21T23:18:26+09:00 https://crieit.net/tags/DB/feed tag:crieit.net,2005:PublicArticle/16969 2021-04-21T23:09:49+09:00 2021-04-21T23:18:26+09:00 https://crieit.net/posts/DB-02 情報系資格対策兼DB復習の足跡🐈 🐾02 <p>``<br /> 初日から飛ばしてしまい、奇々怪々な投稿してしまったこと、お詫び申し上げます。</p> <p>さて、前回の続きです。今回はわりかし真面目にいきます😢</p> <hr /> <p><strong>v目次にゃv</strong></p> <ol> <li>スクレイピングでWEBからデータを抽出</li> <li>Excelでクエリ作成</li> <li>テーブル作成</li> </ol> <hr /> <p><strong>スクレイピングでWEBからデータを抽出だニャー(=✧ω✧=)</strong><br /> 今回は<a target="_blank" rel="nofollow noopener" href="https://www.ap-siken.com/kakomon/02_aki/">応用情報.com</a>さんのサイトから午前問題の答えを抽出しました。<br /> Pythonを用いてスクレイピングです。<br /> ライブラリをインポートしたら手早く作っちゃいますにゃんこ~🐱<br /> <a href="https://crieit.now.sh/upload_images/0bb758cb98240094b30817f9181bd7716080342f8f957.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/0bb758cb98240094b30817f9181bd7716080342f8f957.png?mw=700" alt="プログラム" /></a><br /> プログラムを組むと作業で楽でいいニャー•v-v•<br /> (下の”エウウウ”が抽出している回答です)</p> <hr /> <p><strong>Excelでクエリ作成</strong><br /> 1文ずつ手入力してしまうと、猫の手も借りたい現象が起きてしまうので、今回はExcelを活用します。<br /> 今回は既にExcelにて材料がテーブルとして用意してあるので、<strong>CONCATENATE関数</strong>を用いてSQL文と結合してクエリを作成するぎょぴよฅ^•ω•^ฅ<br /> <a href="https://crieit.now.sh/upload_images/84e69cb2d3e3bf65b1a8fc1c18180ca760802e8117ef0.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/84e69cb2d3e3bf65b1a8fc1c18180ca760802e8117ef0.png?mw=700" alt="クエリ作成" /></a><br /> 先程、抽出した回答をExcelテーブル”originalans”列にコピペ。<br /> その後、必要なSQL文の文字を空きセルに用意し結合するキツネ~🦊</p> <hr /> <p><strong>テーブル作成</strong><br /> 上の工程で出来たクエリをMySQLにコピペするにゃ~<br /> にゃっ!テーブルを1つ作成完了ねこ!!!<br /> <a href="https://crieit.now.sh/upload_images/bae0ea547af64d5113c540f1532e36b960802fd1747cf.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/bae0ea547af64d5113c540f1532e36b960802fd1747cf.png?mw=700" alt="SQL" /></a><br /> (スペルミス、命名規約、正規化不足、語訳、見づらさについては大目にみていただけると幸いです。)</p> <hr /> <p>今日はここまで🐾<br /> 今回使用したスクレイピング、DB等々、詳しく知りたいとご要望があれば、猫でもわかるように説明するかもです。</p> <p>これからも頑張るきんぎょー<br /> ``</p> keito_woood tag:crieit.net,2005:PublicArticle/15036 2019-05-28T22:17:20+09:00 2019-05-28T22:17:20+09:00 https://crieit.net/posts/ER ER図を作るのにオントロジーエディタを使ってみた <p>DBを再設計する必要がありまして。<br /> ちょうどいいER図作成ツールないかなーと思ってxmindとか使い始めてみたのですが、あまりしっくりとこなかったので以前使っていたツール(<strong>オントロジーエディタ</strong>)に戻ってみました。</p> <h1 id="オントロジーって何?"><a href="#%E3%82%AA%E3%83%B3%E3%83%88%E3%83%AD%E3%82%B8%E3%83%BC%E3%81%A3%E3%81%A6%E4%BD%95%EF%BC%9F">オントロジーって何?</a></h1> <p>オントロジー(英: ontology)は、哲学用語で存在論のこと。<br /> ここでは学術的な説明は要約しかしませんので、<a target="_blank" rel="nofollow noopener" href="https://ja.wikipedia.org/wiki/オントロジー_%28情報科学%29#オントロジの構成要素">オントロジの構成要素</a>←このあたりを読んでいただくと情報系の方は「あぁ!」って納得していただけるかもしれません。</p> <h2 id="概念"><a href="#%E6%A6%82%E5%BF%B5">概念</a></h2> <p>プログラミング言語でいうところの<strong>クラス</strong>に相当するものです。</p> <h2 id="is-a 関係"><a href="#is-a+%E9%96%A2%E4%BF%82">is-a 関係</a></h2> <p>上位概念と下位概念を結ぶリンクです。基本的に<strong>継承関係</strong>です。</p> <h2 id="part-of(p/o)、attribute-of(a/o)"><a href="#part-of%28p%2Fo%29%E3%80%81attribute-of%28a%2Fo%29">part-of(p/o)、attribute-of(a/o)</a></h2> <p>概念(クラス)が持つプロパティやメンバーと捉えていただくとよいかもしれません。</p> <h2 id="クラス制約"><a href="#%E3%82%AF%E3%83%A9%E3%82%B9%E5%88%B6%E7%B4%84">クラス制約</a></h2> <p>多くのプログラミング言語には型が存在します。</p> <h1 id="では作ってみましょう"><a href="#%E3%81%A7%E3%81%AF%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%82%87%E3%81%86">では作ってみましょう</a></h1> <p><a href="https://crieit.now.sh/upload_images/b08b548caec5795ad40e35af9c85f4c95ced2ff6a7848.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/b08b548caec5795ad40e35af9c85f4c95ced2ff6a7848.png?mw=700" alt="image" /></a></p> <p>一例として「野球リーグ管理システム」のDB設計をするためにいくつか必要な情報を列挙してみます。</p> <h2 id="野球リーグ"><a href="#%E9%87%8E%E7%90%83%E3%83%AA%E3%83%BC%E3%82%B0">野球リーグ</a></h2> <ul> <li>野球リーグはたくさんのチームを持っています(<strong>p/o</strong>)。</li> <li>野球リーグにはシーズンという属性があります(<strong>a/o</strong>)。</li> </ul> <h2 id="チーム"><a href="#%E3%83%81%E3%83%BC%E3%83%A0">チーム</a></h2> <ul> <li>チームにはたくさんの選手がいます。(p/o)</li> <li>(書いていませんが監督やマネージャーがいるかもしれません...)</li> </ul> <h2 id="試合"><a href="#%E8%A9%A6%E5%90%88">試合</a></h2> <ul> <li>試合にはチームの勝敗がそれぞれあります。</li> <li>試合には得点があります。(a/o)</li> <li>勝ったチームには勝ち投手がいます。(選手のクラス制約があります。)</li> </ul> <h2 id="選手"><a href="#%E9%81%B8%E6%89%8B">選手</a></h2> <ul> <li>選手は人間です。(<strong>is-a</strong>)</li> <li>人間にIDはありません(笑)。システム的にIDを振ります。</li> </ul> <h2 id="シーズン"><a href="#%E3%82%B7%E3%83%BC%E3%82%BA%E3%83%B3">シーズン</a></h2> <ul> <li>シーズンとは時間を区切った期間です。(図のis-aは誤植です。)</li> </ul> <h1 id="おわりに"><a href="#%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB">おわりに</a></h1> <p>このような学術的なツールを使って書くこともできますよ、という話でした。学問って改めて振り返るとこういう形で使われているんだーという学びがありますね。</p> <h1 id="参考リンク"><a href="#%E5%8F%82%E8%80%83%E3%83%AA%E3%83%B3%E3%82%AF">参考リンク</a></h1> <p><a target="_blank" rel="nofollow noopener" href="http://www.hozo.jp/index_jp.html">オントロジーエディタ「法造」</a></p> ckoshien