データベーススペシャリスト資格|2022年10月挑戦ログ 5月16日|SQLによる仮想テーブルの作成(ビュー)

高度IT・基礎知識

この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。

今回はSQLによる仮想テーブルの作成(ビュー)について書く。

※注意点として、SQLはDBMSによって作法が異なる。この記事はGoogle Big Queryに準拠するものであることをお含みおき願いたい。

ビューで仮想テーブルを作成

前回振り返り

  • SQLについて。今までは「実態のあるテーブル」の操作(列、行、グループ化、複数テーブルの結合と集合演算)を想定してきたが、現在は「仮想テーブル」を扱う操作を学んでいる。前回は「with句」の実践を学んだ。
  • 仮想テーブルを作成する方法には、「with句」「ビュー」「サブクエリ」の3つがある。今回はビューでの仮想テーブル作成について学ぶ。

with句の向き不向き

  • 前回はwith句について学んだ。with句はSQL実行のつど仮想テーブルを作成する。
  • よって、with句はちょっと分析したいときは最適。しかし、繰り返し使いたいときは最適とは言えない。
  • 繰り返し使いたいときはビューを使う。これはBigQuery上に名前をつけて保存されるので、あたかも実体のあるテーブルのように使える。

ビューの作成と保存

  • たとえば、ある魚屋の売上表(日付、商品名、個数)について、1月分(small_jan)と2月分(small_feb)があるとする。
  • この2つのテーブルを和集合し、その結果をビューとして保存する。
  • 具体的には、SQLの実行後、保存ボタン(以下赤枠)を押す。
  • その後「ビューを保存」を選択。保存先のデータセット名とビュー名を入力する。

ビューの利用とポイント

ビューの利用

  • 今回作成・保存したビューは、普通のテーブルと同じように利用できる。
  • 例えば以下は、ビュー内のレコード数をカウントしたもの。

ビューのポイント

  • ビューは実体のあるテーブルと異なり、つどビューの元となるSQLが実行される。
  • よって、ビューの元となるSQL文の実行に時間がかかる場合、このビューを使うSQLも時間がかかる。
  • また、ビューの元となるSQLで用いるテーブルの値が変わると、ビューの値も変わってくる。
  • これが望ましくない場合、仮想テーブルとしてのビューでなく、実体のあるテーブルとして保存するのがよい。

考察

  • SQLについて。今までは「実態のあるテーブル」の操作(列、行、グループ化、複数テーブルの結合と集合演算)を想定してきたが、現在は「仮想テーブル」を扱う操作を学んでいる。今回は「ビューによる仮想テーブルの作成」を学んだ。
  • 考察。Google翻訳を用いた英語学習のメリットについて。機械翻訳における誤訳を防ぐための「日本語の成形(プリエディット)」は普段使いでも役に立つ。なぜなら「主語や目的語がはっきりしているシンプルな短文」は、相手に正しく物事を伝えやすいからだ。

抽象化×英語学習×AI,IT活用

取り組み概要

  • 目的は、「IT,AIを実際に使いこなし」かつ「英語を学び、視野を広げる」こと。それにより選択肢を増やし、自分と家族を守ること。
  • ポイントは、学びを楽に、楽しく、続けられる工夫をすること。抽象化で本質を学び、Google翻訳でスピーディなインプットとアウトプットを実現し、ブログの1文のみと低いハードルで習慣化する。
  • 詳細は別の記事に整理。

(実践①)日本語のプリエディット

  • 基本。日本語は特殊なので直訳困難。下準備(加工)が必要。
  • コツ1:文は短くシンプルに。長い文は区切る。敬語は使わない。
  • コツ2:省略は避けてハッキリと。『誰が・誰の・何を・いつ』を補う。『略語・略称・比喩表現』は使わない。
  • コツ3:翻訳しやすい表記に。ひらがなより漢字(例:あめ⇒雨)。漢数字よりアラビア数字(例:百⇒100。数え方は個で統一。特殊記号は使わない。
  • 原文例。「機械翻訳における誤訳を防ぐための「日本語の成形(プリエディット)」は普段使いでも役に立つ。なぜなら「主語や目的語がはっきりしているシンプルな短文」は、相手に正しく物事を伝えやすいからだ。」
  • プリエディット例。一旦そのままの表記にする。

(実践②)自力での英訳

  • 基本。プリエディットをもう1歩進めて「日本語を並び替える」と、自力の英訳が可能になる。
  • コツ1:短文の連続にする(意味が伝われば良い)。
  • コツ2:語順の”型”は絞る。具体的には基本の3つ。「A=B(例:I am happy)」「主+動+A=B(例:I feel you happy)」「主+動+A+B(例:I give you present)」
  • コツ3:使う単語も絞る。日本語側の表現を変えれば手持ちの単語で対応できる。さらに単語を増やす工夫を使う。「in・un・disをつけて反対の意味(例:unhappy)」「動詞にing・edをつけて形容詞を作る(例:exciting)」「前置詞+名詞で形容詞を作る(例:on business trip)」
  • 日本語の並び替え例(カッコ内は用いた”型”)。「私は、シンプルな日本語を使うことを習慣にしている。」「またその時、私は、相手や対象を明確にする」「なぜなら、その習慣は機械翻訳を正確にするのに良いからだ。」「また、その習慣は、相手とのコミュニケーションをより良くするからだ。」
  • 自力で英訳。「I use simple Japanese as a daily habit. 」「and then, I decide target. 」 because, this habit is good for collect the machine translate. 」「and, this habit is good for communication. 」

(実践③)Google翻訳での添削

  • Google翻訳での和訳のコツ。「長い文は区切る」「コンマや5つの接続詞(before,after,but,when,if)前で区切る」「英文の文末にはピリオドとスペースを入れる」
  • Google翻訳で「自力の英訳」を和訳。「毎日の習慣として、簡単な日本語を使います。」「そして、ターゲットを決めます。」「なぜなら、この習慣はマシンの翻訳を収集するのに適しているからです。」「そして、この習慣はコミュニケーションに適しています。」
  • 振り返り(意図した意味になっているか)。2つめの文章を直したい。ターゲットを決めるだと意味が伝わらない。3つめの文章がおかしい。”収集”は英単語ミス。

(実践④)google翻訳との対比

  • 次に、実践①でプリエディットした日本語をGoogle翻訳で英訳する。
  • “Japanese molding (preediting)” to prevent mistranslation in machine translation is useful even for everyday use.
  • This is because “a simple short sentence with a clear subject and object” makes it easy to tell the other person correctly.
  • 振り返り。自力英訳と比較し、汎用的に使えそうな単語は意識しておく。
  • “編集”の”edit”と、”対象”の”subject”は覚える。

(実践⑤)よりシンプルな表現に整理する

  • twitterで練習として投稿することも考えると、より抽象的でシンプルな表現が良い。
  • 日本語再編集。「私は言葉を考えるとき、私は、にする、日本語を、シンプルかつクリアに」「なぜなら、それは、役立つから。機械翻訳とコミュニケーションに」
  • 自力で英訳。結果を見ながら微調整。「when I think words, I make it simple and clear. because it is useful for communication and AI translation. 」
  • Google翻訳で和訳。「言葉を考えるとき、私はそれを単純明快にします。コミュニケーションやAI翻訳に役立つからです。」
  • 元の考察文を日本語のままシンプルな短文にし、手持ちの英単語で自力で英訳し、Google翻訳で添削を繰り返した結果、かなりシンプルな英文にまとまった。
  • 今後も自分の学習としての思考錯誤はしつつ、最終的なアウトプットはシンプル・クリア・イージーを目指したい。

参考書籍

  • 集中演習 SQL入門/木田和廣/株式会社インプレス
  • データベーススペシャリスト2022年版/三好康之/翔泳社
  • おうちで学べるデータベースのきほん/ミック,木村明治/翔泳社

コメント

タイトルとURLをコピーしました