Blank?=Falseスマートフォン用の表示で見るBlank?=False「呉下の阿蒙にあらず」をモットーにしたITエンジニアの日々Blank?=Falseこの広告は、90日以上更新していないブログに表示しています。DBMS今日、久しぶりにUNION文を使う機会があったのですが、それはベストなテーブル設計であれば1つのテーブルになっているべきものが2つに分かれていたので、UNIONで結合して処理する、と言うものでした。ここで、なんとなくですがUNIONを使うときは使いにくい設計のテーブルのデータを上手いこと使うため、ということばかりだなぁと気づきました。逆に、ベストなテーブル設計になっているDBMSでUNIONを使うときはどんなときか、ちょっと気になったので調べてみました。何がおかしいの?UNIONとは以前の記事にも書いたとおり、テーブルの足し算です。2つのテーブルを「縦に」結合する、というイメージです。実際に今回UNIONを使ったのは、製品のデータを区分ごとに別々のテーブルで管理しているデータベースでした。例として、同じカラムをもつ2つの商品テーブルがあったとします。sec)(久しぶりにMySQLの結果をコピペしましたがやっぱり日本語使うとずれちゃいますねぇ。良い解決方法ないかな。)使用例こういった注文テーブルがあったとします。sec)この注文の各商品のデータを取り出したいとします。やり方は色々ありますが、今回製品テーブルをすべて結合したものを内的結合することで対応しました。sec)何がおかしいの?まず、この2つ、そもそもテーブルを分ける必要性がほとんどありません。shohinテーブル1つだけにして区分カラムを準備すれば事足りると思います。sec)なので、このUNIONの利用方法の場合そもそものテーブル設計がダメだったので無理やり使うための方法でしかないので、こういった風にベストなテーブル設計となっている場合、UNIONを使うことがあるのかが気になったのです。このブログを読んだ方でベストなテーブル設計になっていてUNIONを使うシチュエーションというのをご存知ならコメントいただけると嬉しいです。個人的にはRDBMSのキモである結合がようやく登場です。今回は引き続きSQLのお勉強、述語を勉強していきます。OSXにOracleをインストールしてみた(データベース作成?編)前回に引き続き、Oracleデータベース構築をやっていきます。VBのWithを使うと可読性が下がる気がする。»Profile某製造業の社内Sler。今のお仕事のメインはAccessとVBA。元パッケージソフト開発者。VBA、そしてRDBやNoSQLを組み合わせたアプリケーション開発を得意としています。福岡県、もしくは熊本県へIターン転職に向けて、DB/NoSQLの業務に関われる会社を探しています。レベル1取得しましたリファクタリングの帽子をかぶるということ勉強は大変だが役に立つCUIなCentOS7にcinnamonを導入するLinuxのコマンドはMacOSXでそのまま動くとは限らない月別アーカイブTwitterGooglePocketはてなブログをはじめよう!stonebeach-dakarさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。