「データベースの論理設計と物理設計」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== データベースの論理(概念)設計 == データベースの中にどのような情報が保持されるべきかを正しく決定することはデータ管…」)
 
 
43行目: 43行目:
上の仮想的なDDLと比べると、概念DDLに近いように見えるが、インデックスの指定なども行えることから、内部レベルの記述もできる概念DDLと言える。<br>
上の仮想的なDDLと比べると、概念DDLに近いように見えるが、インデックスの指定なども行えることから、内部レベルの記述もできる概念DDLと言える。<br>
<br><br>
<br><br>
{{#seo:
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,Podman,電気回路,電子回路,基板,プリント基板
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux
|image=/resources/assets/MochiuLogo_Single_Blue.png
}}


__FORCETOC__
__FORCETOC__
[[カテゴリ:SQL_Server]]
[[カテゴリ:SQL_Server]]

2024年11月10日 (日) 15:57時点における最新版

データベースの論理(概念)設計

データベースの中にどのような情報が保持されるべきかを正しく決定することはデータ管理者の仕事である。
言い換えれば、組織にとって関心のある実体を同定し、それらの実体に関して記録されるべき情報を同定することである。
この過程は、論理(概念)データベース設計(database design)とよばれる。


データベースの論理設計とは、記録する必要のある情報を選択・決定することで、テーブル設計というと論理設計のことである。
ただし、インデックスについては、論理設計には含まないと考える。


データベースの物理設計

DBAは、データがいかに記憶データベースにおいて表現されるかを決定しなければならない。
この過程は、データベースの物理設計(physical database design)とよばれる。


データベースの物理設計とは、パフォーマンスとサイズの観点からどのように物理的にデータを配置するのかを決定することで、
実際のRDBMSではそのほとんどがRDBMSによって行われる。

触れることの出来る部分はRDBMS毎に異なり、ストレージエンジンの選択が出来るものや、
パラメータや配置場所程度しか変更できないものまで色々なRDBMSが存在する。

パフォーマンスやサイズの問題が発生してから場当たり的な対処が行われることが多いが、本来ならある程度は考慮しておく必要のある部分である。


DDL(Data Definition Language)

データベースシステム概論では、

  • 論理データベース設計によって概念スキーマを定義し、概念スキーマを概念DDLによって生成する
  • 物理データベース設計によって内部スキーマを定義し、内部スキーマを内部DDLによって生成する

と記述されており、以下のような例が出てくる。

# 概念レベル
EMPLOYEE
   EMPLOYEE_NUMBER   CHARACTER (6)
   DEPARTMENT_NUMBER CHARACTER (4)
   SALARY            NUMBER (5)

# 内部レベル
STORED_EMP LENGTH=20
   PREFIX  TYPE=BYTE(6),OFFSET=0
   EMP#    TYPE=BYTE(6),OFFSET=6,INDEX=EMPX
   DEPT#   TYPE=BYTE(4),OFFSET=12
   PAY     TYPE=FULLWORD,OFFSET=16


では、SQLのDDL文のひとつであるCREATE TABLE文は、概念DDLと内部DDLのどちらなのだろうか?
上の仮想的なDDLと比べると、概念DDLに近いように見えるが、インデックスの指定なども行えることから、内部レベルの記述もできる概念DDLと言える。