質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

2回答

353閲覧

DB(BigQuery-Standard SQL)における一般的な「重複IDの管理方法」について

SatoshiMaruyama

総合スコア16

BigQuery

BigQueryは、Google Cloud Platformが提供しているビッグデータ解析サービス。数TB(テラバイト)またはPB(ペタバイト)の膨大なデータに対し、SQL風のクエリを実行し、高速で集計・分析を行うサービスです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2018/06/15 01:26

編集2018/06/15 01:28

DB(BigQuery-Standard SQL)における一般的な「重複IDの管理方法」について質問させて下さい。

以下のように「都道府県」と「市区」をDB管理する場合、
「アンネスト(フラット化)構造」と「ネスト構造」どちらで管理するべきか迷っています。

似たようなID管理を行っている方がおりましたら、管理手法をご教授頂きたいです。

イメージ説明

以下、考えられるメリット・デメリット

▼「アンネスト(フラット化)構造」の場合

 【メリット】
作業途中では、データを取り扱いしやすい。

 【デメリット】
集計時にID重複のリスクがある。

▼「ネスト構造」の場合

 【メリット】
ID重複のリスクが低い。

 【デメリット】
作業途中では、データを取り扱いにくい。

すみませんが、どうぞよろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

親子の関係にあるもののデータ構造としてはネスト構造をお勧めします。
フラットの場合、親部分のみを取り出すのに集計が必須になるのもデメリットです。

作業と言われているのが、エクセルなどでの手作業を言われているのでしたら、データチェックの意味も含めて自動化による補助を考えれば良いかと思います。

投稿2018/06/16 03:04

sazi

総合スコア25173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SatoshiMaruyama

2018/06/25 00:15

ありがとうございます。やはり「ネスト構造」を採用しました。ご指摘の通り、親部分の重複リスクを無くす為です。
guest

0

質問とは離れますが、全国地方公共団体コード を使われては?
このページの下の[外部リンク]からデータを取得できます。
独自コードを使っていると市町村合併などの対応に時間と費用が重くのしかかります。

投稿2018/06/15 01:48

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2018/06/16 02:49

全国地方公共団体コード は県と市区町村は同列で親子関係にはありませんよ。
Orlofsky

2018/06/17 01:57

>なお、都道府県コード自体は「全国地方公共団体コード」ではない。 ですが、 >「都道府県に与えられた全国地方公共団体コード」は、都道府県コードに3桁コード000を続けた5桁コードである。ただしこの5桁コードを都道府県コードと呼ぶこともある。 https://haken.val.ne.jp/h_user/jsp/jobEntoryInput?EJN=13405081 のように「都道府県」で[東京都]を選んでも、次の[市区町村]で 札幌市 から表示してくれるのも困りもの。こんなシステムを納品されてろくに動作確認もしないで開発費を払う方も悪いですが。
sazi

2018/06/17 02:11 編集

親子関係についての質問に対して、親子関係でないデータだと手間が必要になると思ってコメントしました。 ですが、リンク先のデータが6桁で、親子関係にありませんでしたが、コード仕様を見ると6桁目はCDで、親子関係はコード体系で保障されてますね。すみません。 コードについて、公共性があるものはそれを利用するというのは同意です。
SatoshiMaruyama

2018/06/25 00:19

>Orlofskyさん saziさん ありがとうございます。「全国地方公共団体コード」は初めて知りました。また「公共性があるもの」という点、「6桁目はCDで親子関係がコード体系で保障されている点」は、今後の作業で参考になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問