お知らせ connpassではさらなる価値のあるデータを提供するため、2024年5月23日(木)を以ちましてイベントサーチAPIの無料での提供の廃止を決定いたしました。
2024年5月23日(木)以降より開始予定の「connpass 有料API」の料金プランにつきましてはこちらをご覧ください。

お知らせ connpassをご利用いただく全ユーザーにおいて健全で円滑なイベントの開催や参加いただけるよう、イベント参加者向け・イベント管理者向けのガイドラインページを公開しました。内容をご理解の上、イベント内での違反行為に対応する参考としていただきますようお願いいたします。

このエントリーをはてなブックマークに追加

2月

28

再入門:「正規化崩し」としてのサロゲートキー

<第77回IT勉強宴会in新大阪>

主催 : NPO法人IT勉強宴会

再入門:「正規化崩し」としてのサロゲートキー
ハッシュタグ :#benkyoenkai
募集内容

参加(懇親会も参加)

4000円(会場払い)

先着順
9/20

参加(懇親会欠席)

無料、もしくは会場払い

先着順
5/10

申込者
SHIMOYAMA Yoshihiro
中田光敏
kawakawa
katsutoshi-otogawa
渡辺幸三
佐野初夫
shimojitadashi
ikeda_k
Atsuhiro Kubo
nyamau
申込者一覧を見る
開催日時
2020/02/28(金) 19:00 ~ 21:00
募集期間

2020/02/11(火) 09:45 〜
2020/02/28(金) 21:00まで

会場

大城ビル301号室

大阪府東淀川区東中島1-19-11

マップで見る 会場のサイトを見る

イベントの説明

★連絡のため、勉強宴会のメーリングリストに登録していただけると助かります★ ★「benkyoenkai+subscribe@googlegroups.com」に空メールを送って登録して下さい★

再入門:「正規化崩し」としてのサロゲートキー

Rails、Salesforce、kintone等の開発環境では複合主キーを利用できません。その種の開発環境を使う場合、単独主キー(サロゲートキー、代理キー)を導入することになりますが、その過程が「正規化崩し」であることが認識されていないケースがあります。その場合、「正規化崩しに伴う報い」が仕様化されないため、データの不整合に悩まされるシステムが生み出されます。複合主キー禁止環境を使わないとしても、サロゲートキーはDB設計の重要なテクニックのひとつです。これを導入することの意義と、安全に導入するための注意点について、あらためて学びましょう。

候補キーにもいろいろある

約3年前に「複合主キーは必須なのか」を開催しました。その議論を楽しむためには、以下のような前提知識が必要でした。
候補キー(candidate key):レコードを一意に特定するキー。1テーブルに複数存在することがある
主キー(primary key):代表として定めた候補キー。項目値の変更は許されない
単独主キー(single primary key):1項目で出来ている主キー
複合主キー(composite primary key):2つ以上の項目で出来ている主キー
自然キー(natural key):業務上意識されている候補キー。単独主キーか複合主キーかは問わない
サロゲートキー(surrogate key):業務上意識されていない単独主キー。代理キーともいう
参考:たなかこういち氏のブログ

正規化と正規化崩しとは

DB設計を語る場合、「正規形」や「正規化」の理解が欠かせません。正規化の目的は更新時異状を防ぐことです。しかしさまざまな理由から、正規形をあえて崩した形に設計する必要が生じるものです。これを「正規化崩し」といいますが、これを行う際には辛気臭い「報い」を引き受けなければなりません。サロゲートキーの導入も正規化崩しの一環で、設計者にはそれに伴う報いを確実に仕様化する責任があります。

Salesforceに関する制約と正規形に関しては、テラスカイブログに書きました。業務設計を意識しながらDB設計を行っている技術者は網羅性はともかくとして必ず考えているはずです。

ところが、複合主キーを使えないプラットフォームを使って開発することからキャリアを始めると、本来必要な正規化や正規化崩しのスキルが身につきません。その場合、「報い」の仕様化に失敗するため、更新時異状を発生させるシステムが納品されます。しかも、その種の更新時異状は気づきにくく対処しにくいものなので、保守担当者やユーザを長期間悩ませることになります。ただし、サロゲートキーそのものは有用なテクニックなので、これを安全に導入するための正規化崩しの手順を理解しておかねばなりません。サロゲートキーを含めた「3種類の正規化崩し」についてあらためて学び、幅広く議論しましょう。

発表者

渡辺幸三さん

タイムテーブル

2020年 2月 28日(金曜日) 19:00スタート

 時間   発表者   テーマ(予定)  
19:00-20:30 渡辺幸三さん 再入門:「正規化崩し」としてのサロゲートキー
21:00-23:00 懇親会 飲み放題4000円

場所

住所:大阪府東淀川区東中島1-19-11 大城ビル301号室 (ドアの上に部屋番号があります)。

「大城ビル」は、新大阪駅東口を出て正面と右に横断歩道を渡り、道路の右側にあるビルです。 ビル側面上部に建物名の表記がございます。

▼新大阪駅東口からのアクセス(Google map) https://goo.gl/maps/WNcgy9NW1YC2

▼アクセス動画 https://youtu.be/1gDEEJuniJw

参加費用

無料 ※懇親会は割り勘。4000円程度です。

以上

発表者

フィード

佐野初夫

佐野初夫 さんが書き込みました。

2020/03/02 14:26

キャンセルされた方は残念でした。せめてブログをご確認下さい。メーリングリストでもやりとりしていますので興味がありましたれぜひ入って下さい。

佐野初夫

佐野初夫さんが資料をアップしました。

2020/03/02 14:25

佐野初夫

佐野初夫 さんが 再入門:「正規化崩し」としてのサロゲートキー を公開しました。

2020/02/11 09:45

再入門:「正規化崩し」としてのサロゲートキー を公開しました!

グループ

IT勉強宴会

上流工程勉強会

イベント数 95回

メンバー数 666人

終了

2020/02/28(金)

19:00
21:00

開催日時が重複しているイベントに申し込んでいる場合、このイベントには申し込むことができません

募集期間
2020/02/11(火) 09:45 〜
2020/02/28(金) 21:00

会場

大城ビル301号室

大阪府東淀川区東中島1-19-11

参加者(14人)

SHIMOYAMA Yoshihiro

SHIMOYAMA Yoshihiro

再入門:「正規化崩し」としてのサロゲートキー に参加を申し込みました!

中田光敏

中田光敏

再入門:「正規化崩し」としてのサロゲートキー に参加を申し込みました!

kawakawa

kawakawa

再入門:「正規化崩し」としてのサロゲートキー に参加を申し込みました!

katsutoshi-otogawa

katsutoshi-otogawa

再入門:「正規化崩し」としてのサロゲートキーに参加を申し込みました!

渡辺幸三

渡辺幸三

再入門:「正規化崩し」としてのサロゲートキー に参加を申し込みました!

佐野初夫

佐野初夫

再入門:「正規化崩し」としてのサロゲートキー に参加を申し込みました!

shimojitadashi

shimojitadashi

再入門:「正規化崩し」としてのサロゲートキー に参加を申し込みました!

ikeda_k

ikeda_k

再入門:「正規化崩し」としてのサロゲートキー に参加を申し込みました!

Atsuhiro Kubo

Atsuhiro Kubo

再入門:「正規化崩し」としてのサロゲートキー に参加を申し込みました!

nyamau

nyamau

再入門:「正規化崩し」としてのサロゲートキーに参加を申し込みました!

参加者一覧(14人)

キャンセルした人(6人)