お知らせ connpassアカウントのパスワードを設定することで、ソーシャル認証に依存しないログインも可能となります。詳しくは以下のヘルプをご確認ください。
- パスワードの設定
- ソーシャル認証ログインが出来なくなった場合の操作
イベント管理者様・グループ管理者様も上記ヘルプを 一括メッセージ機能 にて参加者・グループメンバーへ案内して、連絡がつかなくならないようご注意ください。

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

Feb

28

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

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

Organizing : NPO法人IT勉強宴会

Hashtag :#benkyoenkai
Registration info

参加(懇親会も参加)

4000(Pay at the door)

FCFS
9/20

参加(懇親会欠席)

Free/Pay at the door

FCFS
5/10

Description

★連絡のため、勉強宴会のメーリングリストに登録していただけると助かります★ ★「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円程度です。

以上

Presenter

Feed

hatsanhat

hatsanhat wrote a comment.

2020/03/02 14:26

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

hatsanhat

hatsanhatさんが資料をアップしました。

03/02/2020 14:25

hatsanhat

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

02/11/2020 09:45

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

Group

Ended

2020/02/28(Fri)

19:00
21:00

You cannot RSVP if you are already participating in another event at the same date.

Registration Period
2020/02/11(Tue) 09:45 〜
2020/02/28(Fri) 21:00

Location

大城ビル301号室

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

Attendees(14)

SHIMOYAMA Yoshihiro

SHIMOYAMA Yoshihiro

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

中田光敏

中田光敏

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

kawakawa

kawakawa

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

katsutoshi-otogawa

katsutoshi-otogawa

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

渡辺幸三

渡辺幸三

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

hatsanhat

hatsanhat

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

shimojitadashi

shimojitadashi

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

ikeda_k

ikeda_k

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

Atsuhiro Kubo

Atsuhiro Kubo

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

nyamau

nyamau

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

Attendees (14)

Canceled (6)