Databse-chapter4-Entity Relationship (ER) Modeling
Databse-chapter4-Entity Relationship (ER) Modeling
ិ �ភ�ំេពញ
េដ�៉�តឺមង
៉ ់:ព័ត៌��នវ�ទ� ���ំទី: ២ ជំ��ន់ទី: ២៧
២ អ៊ឹង លិញអ៊រ័
៣ អ៊ឹម េសៀងមុី
៤ ហួរ ហ៊ុយទី
ERD តំ��ងឱ�េ��លគំនត
ិ database ដូចែដល��នេមើលេ��យអ�កេ�បើ���ស់
ERDs ពណ៌��អំព�
ី �តុផ�ំស�
ំ �ន់ៗរបស់ database:
- Entities
- Attributes
- Relationships
Note: ក�ង
� ER Model:
+ Attributes
��លក�ណៈរបស់ entity
- Attribute ��ចែចករ�ែលកែដន។
+ Relationship
��រផ�រ���ប់��� រ��ងentity
ទំ��ក់ទំនងរ��ងentity ែតងែតដំេណើរ��រក�ង
� ទិសេ����ំងពីរ(M:N , 1:M)
Connectivity
- ពិពណ៌��អំពីចំ��ត់���ក់ relationship
Cardinality
ប���ញពី ERD ( Entity Relationship diagram ) េ��យេ�បើ Crow’s Foot Notation ែដល
ប���ញពី relationship រ��ង PROFESSOR និង CLASS ។ Professor ���ក់��ចបេ�ងៀនចេ���ះ
ពី1 េ�� 4 ���ក់(1,4) ខណ:���ក់នីមួយៗ�តូវ��នបេ�ងៀនេ��យ professor ���ក់។
Existence Dependence
Existence Dependence �����ន��ពែដល entity ��ច��នេ��ក��ង database ែតេ��េពល
ែដល����នទំ��ក់ទន
ំ ង��មួយ entity េផ�ងេទៀត។ Example: Employee ���ក់�តូវែត��កម�
សិទ�ិរបស់ Department មួយ ��នន័យ�� Employee entity �� existence dependence
របស់ department entity ។
Relationship Strength
Weak (non-identifying) relationships
Relationship Participation
Optional participation
Mandatory participation
Relationship Degree
Relationship Degree ប���ញចំនន
ួ ៃន entities ឬ participants ែដល��ក់ទង��មួយ
relationship ។
Unary relationship
Ternary relationship
- Unary Relationships:
- Binary Relationships:
��នេ��េពលែដល entities ពីរ�តូវ��ន���ប់េ��ក��ង relationship មួយ។េ��ក�ង
� រូប��ពទី
4.15 “PROFESSOR បេ�ងៀន CLASS មួយ ឬេ�ចើន” តំ��ងឱ�binary relationship។
• A DRUG ��ចេលចេឡើងក�ង
� PRESCRIPTIONs មួយ ឬេ�ចើន។ (សន�ត��ច�ប់ business
rules ែចង�� prescription នីមយ
ួ ៗ��ន���ំែតមួយប៉ុេ���ះ។ និ��យឱ�ខ�ី �បសិនេបើ doc-
tor េចញ prescription េ�ចីន��ងមួយ prescription ��ច់េ��យែឡក�តូវែតសរេសរស���ប់
���ំនីមយ
ួ ៗ) ។
Recursive Relationships
Recursive Relationships
Unary relationships: រូប��ពទី 4.19 ប���ញ�� rotor assembly (C-130) ��ន parts ��
េ�ចើន ប៉ុែន� part នីមួយៗ�តូវ��នេ�បើេដើម�ីបេង�ត
ើ ��រជួប�បជុំ���របស់ rotor ែតមួយ
ប៉ុេ���ះ។ រូប��ព 4.19 ប���ញ����រផ��ំ rotor មួយ��ន washers ទំហំ 2.5cmចំនួនបួន
,cotter pinsពីរ,steel shank �បែវង 2.5cmមួយ,rotor blades �បែវង 10.25cm ចំនួន4 ,និង
hex nuts 2.5cmចំនួនពីរ។ relationship ែដល��នអនុវត�កង
� រូប��ព 4.19 អ�ក��ច��ម��ន
part នីមយ
ួ ៗេ��ក�ង
� rotor assembly នីមួយៗ។ unary relationships ��ចផ�ក
� នូវ attributes
បែន�មែដលពណ៌��អំពី relationship ដូច��PART_UNITS_NEEDED ដូច���នឹង binary
relationships ែដរ។
េ�បើេដើម�ីអនុវត�ទំ��ក់ទំនង M:N
ផ�ំេឡើងពី key ចម�ងៃន entities នីមួយៗែដល�តូវ��ន���ប់
• េ��យ��រ M:N relationship រ��ង STUDENT និង CLASS �តូវ��នបំែបកេ���� two 1:M
relationship ��មរយៈ��រចុះេ���ះ េ��ះជេ�មើស�តូវែតេផ�រេ�� ENROLL ។
• េ��េពលែដល students ��ប់េផ�ម
ើ ចុះេ���ះស���ប់ classesរបស់ពួកេគ ពួកេគនឹង�តូវ
��នប��ល
� េ��ក�ង
� ENROLL entity ។��ធម��� �បសិនេបើ student េរៀនេ�ចើន��ងមួយ
class, student េ��ះនឹងេកើតេឡើងេ�ចើន��ងម�ងក�ង
� ��រ ENROLL ។ឧ��ហរណ៍: Note ក��ង
ENROLL table ក��ងរូប��ព 4.23 STU_NUM = 321452 េកើតេឡើងបីដង។ម�៉ាងវ�ញេទៀត
student ���ក់ៗេកើតេឡើងែតម�ងគត់េ��ក��ង
• ដូចែដលអ�ក��ចេឃើញក�ង
� រូប��ព 4.23 class មួយ��ចេកើតេឡើងេ�ចើន��ងម�ងក��ង
ENROLL table។ ឧ��ហរណ៍ CLASS_CODE = 10014 េកើតេឡើងពីរដង។ េ��ះ�៉�ង��ក៏
េ��យ CLASS_CODE = 10014 េកើតេឡើងែតម�ងគត់កង
� CLASS table េដើម�ីឆះ� ប���ំង��
relationship រ��ង CLASS និង ENROLL គឺ 1:M ។ ចំ��ំ��ក�ង
� រូប��ព 4.25 អក�រ “M” ��ន
ទី��ំងេ��ែផ�ក ENROLL side ចំែណក “1” ��នទី��ំងេ����ង CLASS។
Developing an ER Diagram
• បេង�ើត��រេរៀប��ប់លម�ិតៃន��រពិពណ៌��អំព�ី បតិបត��
ិ �ររបស់ organization។
Departments នីមយ
ួ ៗ��ចផ�ល់វគ�សិក�។ ��ឧ��ហរណ៍ management/marketing
depart- ment ផ�ល់ courses ដូច�� ��រែណ��ំអំព�
ី �រ�គប់�គង េ��ល��រណ៍ទីផ�រ និង
��រ�គប់�គងផលិតកម� ។ ែផ�ក ERD ស���ប់លក�ខណ�េនះ�តូវ��នប���ញក�ង
� រូប��ព
4.27 ។ note ��ទំ��ក់ទន
ំ ងេនះគឺែផ�កេលើវធ
� ីែដល Tiny College ដំេណើរ��រ។ ឧ��ហរណ៍
�បសិនេបើ Tiny College ��ន department មួយចំនួនែដល�តូវ��ន��ត់���ក់����
"research only" ពួកេគនឹងមិនផ�ល់ coursesេទ។ ដូេច�ះ entity ៃន courses នឹង��នជេ�មើស
ស���ប់ DEPARTMENT entity។
Relationship between COURSE and CLASS ��នប���ញក�ង
� រូប��ព 4.10 ។ េយីង��ច
និ��យេឡើងវ�ញ�� CLASS គឺ��ែផ�កមួយៃន COURSE។ េ��ះគឺ department មួយ��ចផ�ល់
ជូននូវែផ�ក��េ�ចើន (classes) ៃន database course ដូច���។ classes នីមួយៗ��ំងេ��ះ�តូវ
��នបេ�ងៀនេ��យ professor េ��េពលេវ����ក់��ក់មយ
ួ េ��កែន�ង��ក់��ក់មួយ។
និ��យឱ�ខ�ី ទំ��ក់ទំនង 1:M ��នរ��ង COURSE និង CLASS ។ class នីមួយៗ�តូវ��នផ�ល់
ឲក��ងអំឡង
� េពល semesterែដល��នផ�ល់ឱ�។ SEMESTER កំណត់ year និង��ក�ែដល
class នឹង�តូវ��នផ�ល់ឲ។ Note : ��ខុសពី��លបរ�េច�ទែដលសិស� enrolls ចូលេរៀនពិត
���កដ។ ឧ��ហរណ៍ students ��ច enroll ចូលេរៀនក��ង classes រដូវេ��� និងរដូវស�ក
ឹ េឈើ
�ជុះ េ��ជិតចុងប��ប់ៃនរដូវនិ��ឃរដូវ។Tiny College ��នកំណត់��មួយនឹង��លបរ�េច�ទ
��ប់េផ�ម
ើ semester និង��លបរ�េច�ទប��ប់ មុនេពលបេង�ត
ើ ��លវ���គ semester class
ដូេច�ះ CLASS គឺ optional ស���ប់ SEMESTER ។ ��ររច��េនះក៏នង
ឹ ជួយក�ង
� េ��លបំណង
��យ��រណ៍ផងែដរ។ ឧ��ហរណ៍ អ�ក��ចេឆ�យ
ើ សំណ�រដូច��៖ េតើ classes អ�ីខ�ះ�តូវ��នផ�
ល់ជូន X semester? ឬេតើ student Y ��នេរៀន classes អ�ីកង
� semester X? េ��យ��រែត
course ��ច��នេ��ក��ង course catalog របស់ Tiny College េ��ះបី����មិន�តូវ��នផ�លជ
់ ូន
�� class េ��ក�ង
� semester ��មួយក៏េ��យ CLASS គឺ optional ចំេ��ះ COURSE ។
Department នីមយ
ួ ៗគួរែត��ន professors មួយ ឬេ�ចើនែដល�តូវ��នែតង��ំង។
professors ���ក់ និងែតមួយគត់ក�ងចំេ��ម professors ��ំងេ��ះេធ�ើ���ប��ន
department េហើយ���ន professors ��មួយ�តូវ��នត�មូវឱ�ទទួលយកតំែណង���ប��ន
េ��ះេទ។ ដូេច�ះ DEPARTMENT គឺ��ជេ�មើសស���ប់ PROFESSOR េ��ក��ង relationships
"chairs" ។
- PROF_SPECIALTY (ឯកេទស)
- PROF_RANK (ចំ��ត់��� ក់)
- PROF_LNAME (��ម�តកូល)
- PROF_FNAME (��មខ��ន)
- PROF_INITIAL (អក�រ��ត់��មខ��ន)
- PROF_EMAIL (អ៊�ែម៉ល)
Entity "CLASS" ��ន CLASS_CODE �� Primary Key (PK) និង PROF_NUM �� Foreign
Key (FK1) េដើម�ី���ប់េ��នឹង PROFESSOR។
ទំ��ក់ទន
ំ ង "teaches") សំេ��េលើ PROFESSOR��ចបេ�ងៀន���ក់��េ�ចើន (1:M)។
Entity "STUDENT" ��ន STU_NUM �� Primary Key (PK) និងព័ត៌��នដូច��:
- STU_LNAME (��ម�តកូល)
- STU_FNAME (��មខ��ន)
- STU_INITIAL (អក�រ��ត់��មខ��ន)
- STU_EMAIL (អ៊�ែម៉ល)
- ENROLL_DATE (��លបរ�េច�ទចុះេ���ះ)
- ENROLL_GRADE (���ក់ចុះេ���ះ)
ទំ��ក់ទន
ំ ង "is written in" និង "is found in" ប���ញ��និស�ិត��ចចុះេ���ះក��ង���ក់
េ�ចើន និង���ក់��ច��ននិស�ិតេ�ចើនផងែដរ (M:M)។
ប���ញទំ��ក់ទំនងរ��ងែផ�ក (DEPARTMENT) និងនិស�ិត (STUDENT)។
ទំ��ក់ទន
ំ ង has " ប���ញ��Department ��ចផ��កសិស���នេ�ចើន(M:1)។
ប���ញទំ��ក់ទំនងរ��ងបុគ�លិក��������រ� (PROFESSOR) និងនិស�ិត (STUDENT)។
(PROFESSOR) ��ន
��រពណ៌��អំព�
ី ���ង៖
អត�នយ
័ ៃនទិនន
� ័យក��ង����ង៖
អ�ករច��Database�តូវែតបេង�ើតDesign Compromise
1. (First Implementation)
• ប���ក់ទ�
ំ �ក់ទំនងរ��ង EMPLOYEE និង ���មី/ភរ��� េ��យេ�បើ កែន�ងទិនន
� យ
័
EMP_SPOUSE េ��ក��ង����ង EMPLOYEE_V1។
• EMP_SPOUSE ��នេលខនិេ��ជិត (EMP_NUM) ែដល�����មី/ភរ���របស់
និេ��ជិតេ��ះ។
2. (Second Implementation)
• ែបងែចកទំ��ក់ទន
ំ ងៃន��រេរៀប��រ (Marriage Relationship) �� ����ង
MARRIED_V1 េ��យេ�បើ EMP_NUM និង EMP_SPOUSE េដើម�ីចង���ប់
និេ��ជិតពីរ។
• EMPLOYEE េ��ែត��នព័ត�
៌ �ននិេ��ជិតដូចេដើម។
3. (Third Implementation)
• ែបងែចកទំ��ក់ទន
ំ ង Marriage Relationship េ��យេ�បើ ����ង MARRIAGE
ែដល��ន MAR_NUM (េលខ����ហ៍ព�
ិ �ហ៍) និង MAR_DATE (��លបរ�េច�ទ
����ហ៍ព�
ិ �ហ៍)។
• ����ង MARPART តំ��ងឲ���រចូលរួមក��ង����ហ៍ពិ��ហ៍េ��យ��ន
MAR_NUM និង EMP_NUM។
• EMPLOYEE េ��ែត��នព័ត�
៌ �នអំពន
ី ិេ��ជិត។
• Relational Diagram ប���ញទំ��ក់ទំនង 1:M (MARRIAGE ��ក់ទងេ��
MARPART) និង 1:M (MARPART ��ក់ទងេ�� EMPLOYEE)។