Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
tsudaa
4,851 views
ドメイン名の話 (データベース/SQL)
データベースのドメイン名の話
Read more
1
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 12
2
/ 12
3
/ 12
4
/ 12
5
/ 12
6
/ 12
7
/ 12
8
/ 12
9
/ 12
10
/ 12
11
/ 12
12
/ 12
More Related Content
PDF
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
by
Amazon Web Services Japan
PDF
MySQL Fabricでぼっこぼこにされたはなし
by
yoku0825
PDF
使ってみませんか?pg_hint_plan
by
NTT DATA OSS Professional Services
PDF
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
by
Amazon Web Services Japan
PDF
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
by
Satoshi Nagayasu
PDF
AWS Wavelengthと大阪リージョンのご紹介20210414
by
Amazon Web Services Japan
PDF
DynamoDBを導入した話
by
dcubeio
PDF
Google Cloud Dataflow を理解する - #bq_sushi
by
Google Cloud Platform - Japan
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
by
Amazon Web Services Japan
MySQL Fabricでぼっこぼこにされたはなし
by
yoku0825
使ってみませんか?pg_hint_plan
by
NTT DATA OSS Professional Services
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
by
Amazon Web Services Japan
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
by
Satoshi Nagayasu
AWS Wavelengthと大阪リージョンのご紹介20210414
by
Amazon Web Services Japan
DynamoDBを導入した話
by
dcubeio
Google Cloud Dataflow を理解する - #bq_sushi
by
Google Cloud Platform - Japan
What's hot
PDF
AWSを用いた耐障害性の高いアプリケーションの設計
by
SORACOM, INC
PDF
MySQL負荷分散の方法
by
佐久本正太
PDF
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
by
Amazon Web Services Japan
PDF
ドメイン駆動設計に15年取り組んでわかったこと
by
増田 亨
PDF
Neo4j高可用性クラスタ― vs 大規模分散クラスタ―の解説
by
昌桓 李
PDF
MySQL 5.7 トラブルシューティング 性能解析入門編
by
Mikiya Okuno
PDF
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
by
Amazon Web Services Japan
PDF
Amazon Redshift 概要 (20分版)
by
Amazon Web Services Japan
PDF
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
PPTX
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
by
真乙 九龍
PPTX
Stac2021 [初学者向け]ローコード開発におけるテストの考え方
by
Satoshi Sakashita
PPTX
Oracleからamazon auroraへの移行にむけて
by
Yoichi Sai
PDF
Amazon S3を中心とするデータ分析のベストプラクティス
by
Amazon Web Services Japan
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
OSSを活用したIaCの実現
by
Trainocate Japan, Ltd.
PPTX
Amazon EKS によるスマホゲームのバックエンド運用事例
by
gree_tech
PPTX
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
by
gree_tech
PDF
How to Set Up a Cloud Cost Optimization Process for your Enterprise
by
RightScale
PPTX
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
by
DeNA
PDF
ドメイン駆動設計という仕事の流儀
by
増田 亨
AWSを用いた耐障害性の高いアプリケーションの設計
by
SORACOM, INC
MySQL負荷分散の方法
by
佐久本正太
Amazon Redshift パフォーマンスチューニングテクニックと最新アップデート
by
Amazon Web Services Japan
ドメイン駆動設計に15年取り組んでわかったこと
by
増田 亨
Neo4j高可用性クラスタ― vs 大規模分散クラスタ―の解説
by
昌桓 李
MySQL 5.7 トラブルシューティング 性能解析入門編
by
Mikiya Okuno
20210127 今日から始めるイベントドリブンアーキテクチャ AWS Expert Online #13
by
Amazon Web Services Japan
Amazon Redshift 概要 (20分版)
by
Amazon Web Services Japan
ドメイン駆動で開発する ラフスケッチから実装まで
by
増田 亨
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
by
真乙 九龍
Stac2021 [初学者向け]ローコード開発におけるテストの考え方
by
Satoshi Sakashita
Oracleからamazon auroraへの移行にむけて
by
Yoichi Sai
Amazon S3を中心とするデータ分析のベストプラクティス
by
Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
OSSを活用したIaCの実現
by
Trainocate Japan, Ltd.
Amazon EKS によるスマホゲームのバックエンド運用事例
by
gree_tech
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
by
gree_tech
How to Set Up a Cloud Cost Optimization Process for your Enterprise
by
RightScale
クラウド環境でのセキュリティ監査自動化【DeNA TechCon 2020 ライブ配信】
by
DeNA
ドメイン駆動設計という仕事の流儀
by
増田 亨
More from tsudaa
PDF
Json型の使い方
by
tsudaa
PDF
ぬぎんくす問題
by
tsudaa
PDF
Windows でも時刻合わせがしたい!
by
tsudaa
PDF
Python と私の事情
by
tsudaa
PDF
真理とは何か
by
tsudaa
PDF
Excelのどうでもよいtipsの紹介
by
tsudaa
PDF
MySQL のユーザー定義変数と RDB のココロ
by
tsudaa
PDF
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
by
tsudaa
PDF
スターマークの話
by
tsudaa
PDF
Powershell のセキュリティ (大都会ver)
by
tsudaa
PDF
昼の12時は午○何時?
by
tsudaa
PDF
PowerShell 紹介
by
tsudaa
PDF
全角チルダ問題
by
tsudaa
PPTX
資格は役に立つか
by
tsudaa
PDF
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
by
tsudaa
PDF
文字数はおいくら?(Ruby版)
by
tsudaa
PDF
法律の読み方とか
by
tsudaa
PDF
C++入門?
by
tsudaa
Json型の使い方
by
tsudaa
ぬぎんくす問題
by
tsudaa
Windows でも時刻合わせがしたい!
by
tsudaa
Python と私の事情
by
tsudaa
真理とは何か
by
tsudaa
Excelのどうでもよいtipsの紹介
by
tsudaa
MySQL のユーザー定義変数と RDB のココロ
by
tsudaa
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
by
tsudaa
スターマークの話
by
tsudaa
Powershell のセキュリティ (大都会ver)
by
tsudaa
昼の12時は午○何時?
by
tsudaa
PowerShell 紹介
by
tsudaa
全角チルダ問題
by
tsudaa
資格は役に立つか
by
tsudaa
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
by
tsudaa
文字数はおいくら?(Ruby版)
by
tsudaa
法律の読み方とか
by
tsudaa
C++入門?
by
tsudaa
ドメイン名の話 (データベース/SQL)
1.
ドメインの話 LTDD #15 @tsuda_ahr
2.
ドメインというと色々ありますが… 今回のドメインは、www.servername.com 、的なやつじゃないです。
3.
昨年、某DB勉強会のハンズオンで、こんな ER 図を書きましたが
4.
列名の命名方法で質問があったんですね。 なぜ「file_size」なのか。 「Size」じゃないのか?
5.
ドメイン(定義域)という考え方がありまして。 列名はオブジェクト指向のプロパティやフィールドとはちょっと違う感じ。 列名
= 型、に近い。 この「型」のようなものを「ドメイン名」と呼ぶ。
6.
ドメイン名の利点1: 自然結合 普通に結合 select
* from TABLE_A inner join TABLE_B on TABLE_A.key1 = TABLE_B.key1; こう書ける select * from TABLE_A natural join TABLE_B;
7.
つまり 普通の結合の場合は、結合する列の対応を記述しないといけない。 自然結合の場合は、同名の列名は結合の対象と自動で判断する。
記述量が減るので、ちょっと便利。 ただ、自然結合は、同名の列名すべてと JOIN するので使いづらい場合が多い。
8.
ドメイン名の利点2: 自然結合を使わない場合でも! 同名の列は「結合の条件となり得る」と判断できる。
逆に、列名が違うもの同士の結合は結合してはならない、という暗黙の了解(=規約)を得るこ とができる。 (オブジェクト指向でいう「型の違う代入」と同等) こちらの利点が主力。
9.
利点2の場合は、実は別の方法もある create domain
文 本当にデータ型を作る -- PostgreSQL の例 create domain file_size as numeric(12); create table TABLE_A( key1 as varchar(10), size as file_size ); -- Oracle にはない模様
10.
create domain の利点と欠点
型名(ドメイン名)による、列の生成が可能となる。 →命名規約というあやふやなものに依存しなくて済む。 他方、ドメイン名に頼って列名を自在に命名すると、自然結合が効かなくなる。 結合列の是非も列名からだけでは判定できないので、SQLの組立てが難しくなる場合が多い。 (ハンガリアン記法みたいですね)
11.
まとめ 列名は、オブジェクト指向プログラミングのようにオブジェクト(=テーブル)単位で ユニークにするのではなく、スキーマ単位,あるいはもっと上位のレベルでユニークに するようにします。 列名は「変数名(プロパティ名)」ではなく、「型名」だと思うようにします。 つまり、同じ列名を持っているものは、みな同じ性質を持っていて、かつ、他のテーブルで 同名の列名がある場合には、その列との結合が可能であるように設計します。
しかし例えば同じ型(?)の列が必要な場合もあるので、そのあたりは臨機応変に。 例)自分の性別と恋愛対象の性別を、同一のテーブルに定義する場合とか。
12.
ご清聴ありがとうございました。
Download