この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。
今回は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年版/三好康之/翔泳社
- おうちで学べるデータベースのきほん/ミック,木村明治/翔泳社
コメント