プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • DBスペシャリスト
  • 【DBスペシャリスト】「キー」について
 
 
     
  • サーバー言語  
    • Ruby
    • Rails
    • PHP
    • Laravel
  • DB
    • Oracle
    • DB設計
    • SQL
    •  
    • 技術者試験
  •  
  • インフラ  
    • Linux
    • Git
    • Docker
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • TypeScript
  •  
  • 実装  
       
    • 設計
  • 問い合わせ
  

【DBスペシャリスト】「キー」について

08.14

  • miyabisan2
  • コメントを書く

この記事は1分で読めます

主キー

一意制約と非ナル制約(NOT NULL)を合わせ持ちます。候補キーの中から最もふさわしいものが選ばれます。「社員番号、電話番号」のように複合キーとかも主キーとして扱ったりします。基本的には候補キーの中からNULLを許可しないキーを主キーとして選びます。

候補キー

主キーの候補となるキーのことです。「社員番号、電話番号」のように複合キーとかも候補キーとして扱ったりします。

特徴

  • タプルを一意に識別できること
  • スーパーキーの中で極小であること
  • NULLは許す。

極小とは?

いろんな属性の組み合わせのうちどれか一つでも欠ければ一意性を損なう組み合わせのことです。

例

下記のようにいろんな組み合わせのスーパーキーの中から最も極小なものを候補キーと呼びます。

  • 社員番号、電話番号(これが極小なので候補キーになる。)
  • 社員番号、電話番号、氏名
  • 社員番号、電話番号、氏名、住所

スーパーキー

表にたくさん存在します。

特徴

  • タプルを一つに特定できる。
  • 候補キーに様々な組み合わせで他の属性を付け足したものです。

例

下記のように一意に識別できるできないに関わらず全ての属性の組み合わせをスーパーキーと呼びます。

  • 社員番号、電話番号
  • 社員番号、電話番号、氏名
  • 社員番号、電話番号、氏名、住所

サロゲートキー

主キーの代わりに付与されるもの。例えばIDや連番のようにそれ自体に意味はないが一意性を確保するために付与します。

サロゲートキーを使う場合

  • 主キーが複合キーの場合
  • データウェアハウスで長期間の履歴を管理したい場合(IDを使い回す場合でも過去のIDと識別したい場合)

外部キー

他のリレーションの主キーを参照する項目のこと。

 

 

 

  • 2020 08.14
  • miyabisan2
  • コメントを書く
  • DBスペシャリスト
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2020 08.15

    【DBスペシャリスト】「クラスタ構成」について

  2. 2020 08.14

    【DBスペシャリスト】「トリガ」について

  3. 2020 08.14

    【DBスペシャリスト】「関係代数」について

  4. 2020 08.13

    【DBスペシャリスト】「物流・配送」業務

  5. 2020 08.14

    【DBスペシャリスト】「正規化」について

  6. 2020 08.13

    【DBスペシャリスト】「受注管理」、「売上管理」業務について

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【DBスペシャリスト】関係スキーマの「関係従属性」につ…

【DBスペシャリスト】「正規化」について

RETURN TOP

アーカイブ

  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年6月
  • 2019年5月
  • 2019年3月
  • 2019年1月
  • 2018年12月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月

カテゴリー

  • .NET Framework
  • Ajax
  • Android
  • Apache
  • Auth0
  • AWS
  • Babel
  • Bitbucket
  • BootStrap
  • C#
  • C++
  • CGI
  • CSS
  • C言語
  • DBスペシャリスト
  • DevOps
  • Django
  • Docker
  • Eclipse
  • Git
  • GitLab
  • Heroku
  • HTML
  • HTML5
  • Java
  • JavaScript
  • Javaサーブレット
  • Jekins
  • jQuery
  • JSP
  • JSTL
  • JUnit
  • Kubernetes
  • Laravel
  • linux
  • Mac
  • Maven
  • MySQL
  • nginx
  • Node.js
  • Nuxt.js
  • Oracle
  • PHP
  • PL/SQL
  • PostgreSQL
  • PowerShell
  • PWA
  • Python
  • React
  • Redis
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Salesforce
  • SEO
  • Slack
  • Spring Boot
  • Spring Framework
  • Spring MVC
  • SQL
  • Struts
  • Struts2
  • Sublime Text
  • Swagger
  • Tomcat
  • TypeScript
  • UML
  • Unity
  • UX
  • VB.NET
  • Visual Basic
  • VSCode
  • Vue.js
  • webpack
  • Webサービス開発
  • XD
  • XML
  • インフラ
  • オブジェクト指向
  • クラウド
  • ゲームプランニング
  • ゲーム開発
  • サーバー
  • システム開発
  • スマホアプリ開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • バージョン管理システム
  • ハードウェア
  • プログラミング全般
  • マルチメディア
  • リファクタリング
  • 人間関係
  • 会計知識
  • 体調管理
  • 副業
  • 国際化
  • 応用情報
  • 情報処理技術者試験
  • 文字コード
  • 日常生活
  • 未分類
  • 要件定義
  • 設計
RETURN TOP

Copyright ©  プログラミングマガジン | Wordpress Thema | @