Enviar pesquisa
Carregar
ドメイン名の話 (データベース/SQL)
•
1 gostou
•
4,794 visualizações
tsudaa
Seguir
データベースのドメイン名の話
Leia menos
Leia mais
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 12
Baixar agora
Baixar para ler offline
Recomendados
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
Insight Technology, Inc.
2019年度 若手技術者向け講座 実行計画
2019年度 若手技術者向け講座 実行計画
keki3
SQLチューニング入門 入門編
SQLチューニング入門 入門編
Miki Shimogai
SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~
SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~
Naoto Tamiya
100%Kotlin ORM Ktormを試してみた
100%Kotlin ORM Ktormを試してみた
Keita Tsukamoto
データベース02 - SQL概要
データベース02 - SQL概要
Kenta Oku
DB思い出話いろいろ(仮)
DB思い出話いろいろ(仮)
Takahiro Kitayama
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
Yoshitaka Kawashima
Recomendados
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
[B23] PostgreSQLのインデックス・チューニング by Tomonari Katsumata
Insight Technology, Inc.
2019年度 若手技術者向け講座 実行計画
2019年度 若手技術者向け講座 実行計画
keki3
SQLチューニング入門 入門編
SQLチューニング入門 入門編
Miki Shimogai
SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~
SQLで身につける!初めてのレコメンド 〜 基礎から応用まで ~
Naoto Tamiya
100%Kotlin ORM Ktormを試してみた
100%Kotlin ORM Ktormを試してみた
Keita Tsukamoto
データベース02 - SQL概要
データベース02 - SQL概要
Kenta Oku
DB思い出話いろいろ(仮)
DB思い出話いろいろ(仮)
Takahiro Kitayama
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
Yoshitaka Kawashima
SQLチューニング勉強会資料
SQLチューニング勉強会資料
Shinnosuke Akita
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
Takahiro YAMADA
Sql基礎の基礎
Sql基礎の基礎
Satomi Tsujita
機械学習で嘘をつく話
機械学習で嘘をつく話
Satoshi Hara
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
V$SQLとその周辺でER図を描いてみよう!
V$SQLとその周辺でER図を描いてみよう!
歩 柴田
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
yoku0825
データベース09 - データベース設計
データベース09 - データベース設計
Kenta Oku
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
uchan_nos
超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方
Cake YOSHIDA
ChatGPTの仕組みの解説と実務でのLLMの適用の紹介_latest.pdf
ChatGPTの仕組みの解説と実務でのLLMの適用の紹介_latest.pdf
Ginpei Kobayashi
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験
樽八 仲川
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
Ryota Watabe
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
ブルックスのいう銀の弾丸とは何か?
ブルックスのいう銀の弾丸とは何か?
Yoshitaka Kawashima
データベース13 - トランザクションと障害回復
データベース13 - トランザクションと障害回復
Kenta Oku
Json型の使い方
Json型の使い方
tsudaa
ぬぎんくす問題
ぬぎんくす問題
tsudaa
Mais conteúdo relacionado
Mais procurados
SQLチューニング勉強会資料
SQLチューニング勉強会資料
Shinnosuke Akita
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
Takahiro YAMADA
Sql基礎の基礎
Sql基礎の基礎
Satomi Tsujita
機械学習で嘘をつく話
機械学習で嘘をつく話
Satoshi Hara
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
V$SQLとその周辺でER図を描いてみよう!
V$SQLとその周辺でER図を描いてみよう!
歩 柴田
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
yoku0825
データベース09 - データベース設計
データベース09 - データベース設計
Kenta Oku
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
uchan_nos
超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方
Cake YOSHIDA
ChatGPTの仕組みの解説と実務でのLLMの適用の紹介_latest.pdf
ChatGPTの仕組みの解説と実務でのLLMの適用の紹介_latest.pdf
Ginpei Kobayashi
暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験
樽八 仲川
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
Shohei Koyama
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
Ryota Watabe
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
ブルックスのいう銀の弾丸とは何か?
ブルックスのいう銀の弾丸とは何か?
Yoshitaka Kawashima
データベース13 - トランザクションと障害回復
データベース13 - トランザクションと障害回復
Kenta Oku
Mais procurados
(20)
SQLチューニング勉強会資料
SQLチューニング勉強会資料
DB設計でこだわりたい三つの要素
DB設計でこだわりたい三つの要素
Sql基礎の基礎
Sql基礎の基礎
機械学習で嘘をつく話
機械学習で嘘をつく話
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
V$SQLとその周辺でER図を描いてみよう!
V$SQLとその周辺でER図を描いてみよう!
MySQLで論理削除と正しく付き合う方法
MySQLで論理削除と正しく付き合う方法
データベース09 - データベース設計
データベース09 - データベース設計
OSを手作りするという趣味と仕事
OSを手作りするという趣味と仕事
超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方
ChatGPTの仕組みの解説と実務でのLLMの適用の紹介_latest.pdf
ChatGPTの仕組みの解説と実務でのLLMの適用の紹介_latest.pdf
暗号技術の実装と数学
暗号技術の実装と数学
失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
ブルックスのいう銀の弾丸とは何か?
ブルックスのいう銀の弾丸とは何か?
データベース13 - トランザクションと障害回復
データベース13 - トランザクションと障害回復
Mais de tsudaa
Json型の使い方
Json型の使い方
tsudaa
ぬぎんくす問題
ぬぎんくす問題
tsudaa
Windows でも時刻合わせがしたい!
Windows でも時刻合わせがしたい!
tsudaa
Python と私の事情
Python と私の事情
tsudaa
真理とは何か
真理とは何か
tsudaa
Excelのどうでもよいtipsの紹介
Excelのどうでもよいtipsの紹介
tsudaa
MySQL のユーザー定義変数と RDB のココロ
MySQL のユーザー定義変数と RDB のココロ
tsudaa
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
tsudaa
スターマークの話
スターマークの話
tsudaa
Powershell のセキュリティ (大都会ver)
Powershell のセキュリティ (大都会ver)
tsudaa
昼の12時は午○何時?
昼の12時は午○何時?
tsudaa
PowerShell 紹介
PowerShell 紹介
tsudaa
全角チルダ問題
全角チルダ問題
tsudaa
資格は役に立つか
資格は役に立つか
tsudaa
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
tsudaa
文字数はおいくら?(Ruby版)
文字数はおいくら?(Ruby版)
tsudaa
法律の読み方とか
法律の読み方とか
tsudaa
C++入門?
C++入門?
tsudaa
Mais de tsudaa
(18)
Json型の使い方
Json型の使い方
ぬぎんくす問題
ぬぎんくす問題
Windows でも時刻合わせがしたい!
Windows でも時刻合わせがしたい!
Python と私の事情
Python と私の事情
真理とは何か
真理とは何か
Excelのどうでもよいtipsの紹介
Excelのどうでもよいtipsの紹介
MySQL のユーザー定義変数と RDB のココロ
MySQL のユーザー定義変数と RDB のココロ
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
スターマークの話
スターマークの話
Powershell のセキュリティ (大都会ver)
Powershell のセキュリティ (大都会ver)
昼の12時は午○何時?
昼の12時は午○何時?
PowerShell 紹介
PowerShell 紹介
全角チルダ問題
全角チルダ問題
資格は役に立つか
資格は役に立つか
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
○○型言語と呼ばれるために備えるべき最低限の条件についての検討
文字数はおいくら?(Ruby版)
文字数はおいくら?(Ruby版)
法律の読み方とか
法律の読み方とか
C++入門?
C++入門?
ドメイン名の話 (データベース/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.
ご清聴ありがとうございました。
Baixar agora