0% found this document useful (0 votes)
121 views33 pages

Databse-chapter4-Entity Relationship (ER) Modeling

The document provides an overview of Entity Relationship (ER) Modeling, focusing on the components of ER diagrams such as entities, attributes, relationships, connectivity, and cardinality. It discusses the types of relationships (weak, strong, unary, binary, ternary) and the concepts of existence dependence and relationship participation. Additionally, it explains the significance of primary keys and foreign keys in database design.

Uploaded by

vuthnarak2005
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
121 views33 pages

Databse-chapter4-Entity Relationship (ER) Modeling

The document provides an overview of Entity Relationship (ER) Modeling, focusing on the components of ER diagrams such as entities, attributes, relationships, connectivity, and cardinality. It discusses the types of relationships (weak, strong, unary, binary, ternary) and the concepts of existence dependence and relationship participation. Additionally, it explains the significance of primary keys and foreign keys in database design.

Uploaded by

vuthnarak2005
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 33

សកលវ�ទ�ល័យភូមន

ិ �ភ�ំេពញ

Royal University of Phnom Penh

េដ�៉�តឺមង
៉ ់:ព័ត៌��នវ�ទ� ���ំទី: ២ ជំ��ន់ទី: ២៧

ស�ជិក�កុមទី៥: មុខវ����: Database System Design


១ េ�ក �សី�

២ អ៊ឹង លិញអ៊រ័

៣ អ៊ឹម េសៀងមុី

៤ ហួរ ហ៊ុយទី

សេង�បេមេរៀនទី3: Entity Relationship (ER) Modeling

The Entity Relationship Model (ERD)


 គំរូ ER បេង�ើត��basic ៃនដ����ម ER

 ERD តំ��ងឱ�េ��លគំនត
ិ database ដូចែដល��នេមើលេ��យអ�កេ�បើ���ស់

 ERDs ពណ៌��អំព�
ី �តុផ�ំស�
ំ �ន់ៗរបស់ database:

- Entities

- Attributes

- Relationships

- Connectivity and Cardinality


+ Entity

សំេ��េ��េលើ entity set និងមិនែមន single entity េ��ះេទ។

- Entity �តូវ��នតំ��ងឱ�េ��យ table មួយ េហើយមិន�តូវ��នតំ��ងឱ�េ��យ


row េទ។
- េ��ក�ង
� គំរូ Chen និង Crow's Foot: entity �តូវ��នតំ��ងេ��យចតុេ��ណែកង
��មួយនឹងេ���ះរបស់ entity ។
- េ���ះ entity ែដល����ម �តូវ��នសរេសរ��អក�រធំ។

Note: ក�ង
� ER Model:

- Entity �� អ�ីែដល�តូវ��នតំ��ងឱ� (database) េហើយស���ប់entity នីមយ


ួ ៗ, ��នឹង�តូវ
ប���ក់����ន attributes ែដល��ក់ពន
័ �។ Entity ��ំងេនះ�តូវ��នប���ញ��េរៀងរហូតក�ង

table ែដល��ន attributes ��ជួរេដក (columns)។

- ក��ង relational database, Table គឺ��គ�មូៃនទិនន


� ័យែដល�តូវ��នេរៀបចំកង
� �ទង់���យ
��ងេ���ម:

. ជួរេដក(columns) តំ��ងឱ� attributes ៃន entities (ដូច��ព័ត៌��នលំអត


ិ ៃន entity).

. ប���ត់(rows) តំ��ងឱ� instances ៃន entities េ��ះ។ ប���ត់��� នឹង��នតៃម�េផ�ងៗ


ស���ប់ attributes មួយៗ។

+ Attributes

 ��លក�ណៈរបស់ entity

 Chen notation៖ attributes តំ��ងេ��យ��ងពង�កេពើ ត���ប់ េ��entity ែដល��ន��ង


ចតុេ��ណែកងេ��យប���ត់
- ពង�កេពើនីមួយៗ��នេ���ះ ែដល��តំ��ងឱ� attribute

 Crow's Foot notation៖ attributes �តូវ��នសរេសរក�ង


� �បអប់attribute ��ងេ���ម
entity rectangle

 Required attribute ៖ �តូវែត��នតៃម�

 Optional attribute ៖ ��ចទុកេ��លទេទ

 Domain ៖ សំណ�ំៃនតៃម�ែដល��ច��នស���ប់ែត attribute មួយប៉ុេ���ះ។

- Attribute ��ចែចករ�ែលកែដន។

 Identifiers ៖ attribute មួយ ឬេ�ចើន �តូវ��នេ�បើកង


� ��រពិពណ៌��ព័ត�
៌ �នៃនអត�
ស���ណៃន entity េ��ះ។

- Note: Identifiers បមកពី Primary Key ែដល��អេថរឬ�កុមៃនអេថរែដលសំ��ប់


ប���ក់អត�ស���ណៃន (entity instance) េ��ក��ង����ង។

 Composite identifier ៖ �� primary key ែដល��ន attribute េ�ចើន��ងមួយ។

 Composite attribute: ��ចបំែបកបន���ន។

 Simple attribute: មិន��ចបំែបក��ន។

 Single-value: attribute ែដល��នតៃម�ែត១។

 Multivalued attribute: ��ចផ��កតៃម���េ�ចើន។

 ��រអនុវត� M:N relationships និង multivalued attributes មិន�តូវ��ន��ំ�ទេ��ក��ងម៉ូ


ែដល ER េ��យ��រែត����ចបេង�ើតកំហស
ុ ៃនទិន�ន័យនិង��រ��រ��រ�បព័ន។

- បេង�ត
ើ អេថរថ�ៗ
ី ស���ប់��តុែដល��នេ�ចើនតៃម� (multivalued attributes) េ��យ��ក់
ពួក��ចូលក��ងentity ឬតំណ���ប់េដើម�ីព�ងឹង��រប���ញៃនទិន�ន័យ។

- បេង�ើត entity ថ�ី ស���ប់entity ែដល��នអេថរេ�ចើន (multivalued attributes) េដើម�ី


��ត់បន�យ��ពស�គ
� ���ញៃនទិន�នយ
័ និងបេង�ត
ើ ម៉ូែដលែដល��ចដំេណើរ��រ��ន�បេសើរ
េឡើង។

 Derived attribute ៖ តៃម�របស់ attribute ��ចគណ��េចញ�� attribute ថ�ីេផ�ងេទៀត។

- មិន��ំ��ច់�តូវ��នរក�ទុក��physically ក��ងdatabase េទ។

+ Relationship

 ��រផ�រ���ប់��� រ��ងentity

 Participants គឺ��entity ែដលចូលរួមក��ងrelationship

 ទំ��ក់ទំនងរ��ងentity ែតងែតដំេណើរ��រក�ង
� ទិសេ����ំងពីរ(M:N , 1:M)

 Relationship ��ច�តូវ��ន��ត់��� ក់�� 1:M

 ��រ��ត់���ក់ relationship គឺពិ��កក��ង��របេង�ត


ើ �បសិនេបើ�តូវ��នដឹងែតមួយែផ�កៃន
relationship

+ Connectivity and Cardinality

 Connectivity

- ពិពណ៌��អំពីចំ��ត់���ក់ relationship

 Cardinality

- ប���ញចំនួនអប�រ�� និងអតិបរ��ៃន��រេកើតេឡើងៃនentity ែដល��ក់ពន


័ �
� �មួយ
នឹង��រេកើតេឡើងៃនentity ែដល��ក់ពន
័ �
 បេង�ត
ើ េឡើងេ��យេសចក�ែី ថ�ង��រណ៍សេង�បែដលេគ���ល់����business rules

ប���ញពី 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 ។

 Existence independence គឺ entity ��ចេកើត��ន��ច់េចញពីមយ


ួ ឬ េ�ចើននូវ entities
ែដល��ក់ទង���។ េពលខ�ះ entity ែបបេនះ�តូវ��នសំេ���� strong ឬ regular entity ។

Relationship Strength
 Weak (non-identifying) relationships

Weak relationships ឬក៏ non-identifying relationships េកើត��នេឡើង�បសិនេបើ PK


(Primary key) ៃន related entity មិន��នស��ស��តុ PK ៃន entity េម (parent entity) ។
��មលំ��ំេដើម relationship �តូវបេង�ត
ើ េឡើងេ��យ��ន PK ៃន entity េមេលចេឡើង�� FK
(Foreign key) េ��េលើ related entity ( entity កូន)។

 Strong (identifying) relationships

Strong relationships �� relationships ែដលេកើតេឡើងេ��េពល entire ចំនន


ួ ពីរ��
existence dependence ��មទស�ន:ៃន database design , relationships េកើត��នេ��េពល
PK ៃនentity កូន��នស��ស��តុៃន PK ៃន entity េម។
Primary key របស់ CLASS មិន��នទទួលស��ស��តុ Primary key ពី COURSE entity េទ។
េ��ក�ង
� ករណីេនះ A weak relationship េកើត��នេឡើងរ��ង COURSE និង CLASS ពីេ���ះ
CRS_CODE ( PK ៃន entity េម) គឺ���ន់ែត�� FK េ��ក�ង
� CLASS entity ប៉ុេ���ះ។ Figure 4.8
ប���ញពីរេបៀបែដល Crow’s Foot Notation ពណ៌�� A weak relationship េ��យ��ក់
ប���ត់��ច់ៗរ��ង entities ។
ក��ងករណីេនះ PK ៃន CLASS entity �តូវ��នផ�ំេឡើងេ��យ CRS_CODE និង
CLASS _SECTION ។ ដូចេនះ A strong relationship េកើតេឡើងរ��ង COURSE និង CLASS
ពីេ���ះ CRS_CODE (PK ៃន entity េម) ����តុផ�ំ PK េ��ក�ង
� CLASS entity ។
ម�៉ាងវ�ញេទៀត PK ៃនCLASS ��នទទួលនូវស��ស��តុ PK ពី COURSE entity ។ Crow’s
Foot Notation ពណ៌�� A strong relationship ��មួយប���ត់�តង់រ��ង entities ។
Weak Entities
 Weak Entities �� entity ែដលប���ញ existence dependence េហើយទទួល Primary key
ពី entity េមរបស់��។ Weak entityជួបនូវលក�ខណ�ចំនួនពីរ :

1. Entity �� existence dependence, ��មិន��ចេកើតេឡើងេ��យ���ន entity ែដល����ន


ទំ��ក់ទំនងេ��ះេទ ។

2. Entity ��ន Primary key មួយែដលទទួលេ��យែផ�ក ឬ ��ំង�សុងពី entity េមេ��ក�ង



relationship ។

 Database designer កំណត់��េតើ entity មួយេខ�ោយេ��យែផ�កេលើ business rule ។

 Relationship Participation
 Optional participation

Entity មួយេកើតេឡើងេ��យមិន��ម��រឲ���ន��រេកើតេឡើងៃន entity ែដល�តូវ���ក��ង


relationship ពិេសសេ��ះេទ ។

 Mandatory participation

Entity មួយេកើតេឡើងេ��យ��ម��រឲ���ន��រេកើតេឡើងៃន entity ែដល�តូវ���េ��ក�ង



relationship ពិេសស។
- COURSE មួយ��ចសូន� ឬ េ�ចើន
- CLASS មួយ�តូវែត��របស់ COURSE មួយ

- COURSE មួយ�តូវែត��ន�៉�ងេ��ច��ស់ មួយ CLASS


- CLASS មួយ�តូវែត��របស់ COURSE មួយ

Relationship Degree
 Relationship Degree ប���ញចំនន
ួ ៃន entities ឬ participants ែដល��ក់ទង��មួយ
relationship ។

 Unary relationship

Unary relationship េកើតេឡើងេ��េពល association រក�ទុកក��ង entity ែតមួយ។


Example: EMPLOYEE ���ក់��ច�គប់�គង EMPLOYEE េផ�ងេទៀត។
 Binary relationship

Binary relationship េកើតេឡើងេ��េពល entities ចំនន


ួ ពីរ��នទំ��ក់ទន
ំ ង��� ។

Example: PROFESSOR teaches CLASS

 Ternary relationship

Ternary relationship េកើតេឡើងេ��េពល entities ចំនន


ួ បី��នទំ��ក់ទន
ំ ង��� ។

Example: A DOCTOR prescribed a DRUG to a PATIENT

- Unary Relationships:

ក��ងunary relationship ែដលប���ញក�ង


� រូប��ព 4.15 employee េ��ក�ង
� EMPLOYEE entity
គឺ��អ�ក�គប់�គងស���ប់ employees ���ក់ ឬេ�ចើន��ក់េ��ក�ង
� entity េ��ះ។ ក�ង
� ករណី
េនះ អត�ិ��ពៃន relationship "�គប់�គង" ��នន័យ�� EMPLOYEE ��ម��រឱ� EMPLOYEE
���ក់េទៀតេធ�ើ��អ�ក�គប់�គង េ��លគឺ EMPLOYEE ��ន relationship ��មួយខ�ន
� �����ល់។
relationship ែបបេនះ�តូវ��នេគ���ល់���� relationship ែដលេកើតេឡើងវ�ញ។

- Binary Relationships:
��នេ��េពលែដល entities ពីរ�តូវ��ន���ប់េ��ក��ង relationship មួយ។េ��ក�ង
� រូប��ពទី
4.15 “PROFESSOR បេ�ងៀន CLASS មួយ ឬេ�ចើន” តំ��ងឱ�binary relationship។

- Ternary and Higher-Order Relationships:

េ��ះបី�� relationships ��គេ�ចើន���បព័ន�េ��លពីរក៏េ��យ ��រេ�បើ���ស់ទំ��ក់ទំនង


ternary និង higher-order អនុ���តឱ� designer នូវរយៈទទឹងមួយចំនន
ួ ��ក់ទងនឹងអត�
ន័យៃនប���។ ទំ��ក់ទន
ំ ង ternary

��នន័យ�� association ក�ង


� ចំេ��ម entities បីេផ�ង���។ ឧ��ហរណ៍ក�ងរូប��ព 4.16
កត់ស���ល់ relationships និងផលវ���ករបស់�� ែដល�តូវ��នតំ��ងេ��យ business
rules: ��ងេ���ម៖

• A DOCTOR សរេសរ PRESCRIPTIONs មួយ ឬេ�ចើន។

• A PATIENT ��ចទទួល��ន PRESCRIPTIONs មួយ ឬេ�ចើន។

• A DRUG ��ចេលចេឡើងក�ង
� PRESCRIPTIONs មួយ ឬេ�ចើន។ (សន�ត��ច�ប់ business
rules ែចង�� prescription នីមយ
ួ ៗ��ន���ំែតមួយប៉ុេ���ះ។ និ��យឱ�ខ�ី �បសិនេបើ doc-
tor េចញ prescription េ�ចីន��ងមួយ prescription ��ច់េ��យែឡក�តូវែតសរេសរស���ប់
���ំនីមយ
ួ ៗ) ។

Recursive Relationships
 Recursive Relationships

គឺ��ទំ��ក់ទំនងមួយែដល��ច��នរ��ង��រេកើតេឡើងៃនសំណ�ំ entity ែតមួយ។ (��មធម�


��តិ ���តូវ��នរកេឃើញេ��ក��ង unary relationship។) Example: unary relationship 1:1
��ច�តូវ��នប���ញេ��យ "EMPLOYEE ���ក់��ចេរៀប��រ��មួយ EMPLOYEE ែត���ក់
ប៉ុេ���ះ"។ ទំ��ក់ទំនង 1:M ��ច�តូវ��នប���ញេ��យ "EMPLOYEE ���ក់��ច�គប់�គង
EMPLOYEEs ��េ�ចើន េហើយEMPLOYEEនីមួយៗ�តូវ��ន�គប់�គងេ��យ EMPLOYEE ���
ក់។" ��ចុងេ���យ M:N unary relationship ��ច�តូវ��នប���ញេ��យ "COURSE ��ច��
ត�មូវ��រ��មុនស���ប់ COURSEs េផ�ង��េ�ចើន េហើយ COURSE នីមួយៗ��ច��ន
COURSEs េផ�ងេទៀត��េ�ចើន��មត�មូវ��រ��មុន។"

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 ែដរ។

�បសិនេបើ part មួយ��ចេ�បើេដើម�ី assemble ែផ�កេផ�ងៗ��េ�ចើន�បេភទ េហើយ�តូវ��ន


ផ�ំេឡើងេ��យ parts ��េ�ចើន េ��ះ�តូវ��ន tables េដើម�ីអនុវត� relationship "PART ��ន
PART" ។
��រ��ម��ន Parts គឺ��ន��រៈសំ��ន់េ��េពលែដលអ�ក�គប់�គងយល់ដឹង��ន់ែតេ�ចើន
អំពីផលប៉ះ��ល់ែផ�កច�ប់ៃន��រផលិតទិន�ផលែដលស�គ
� ���ញ��ងេនះ។ េ��ក�ង

industries ��េ�ចើន ��ពិេសសអ�កែដល��ក់ពន
័ �នឹង aviation ��រ��ម��ន parts គឺត�មូវ
េ��យច�ប់។
េ��ក�ង
� រូប��ព 4.22 foreign key គឺ��ច�ប់ចម�ងទីពីរៃន EMP_CODE ែដល�តូវ��នប��រ
េ���ះ។ េតើច�ប់ចម�ងទីពីរៃន EMP_CODE េនះ��នេលខកូដ employee របស់បុគ�លែដល
�តូវ��ន�គប់�គងេ��យ employee ែដល��នពិពណ៌��េ��ក�ង
� row េនះ ឬេលខកូដ
employee របស់បគ
ុ ល
� ែដល�គប់�គង employee ែដល��នពិពណ៌��េ��ក�ង
� rowេនះ? អ�ក
�គប់�គង���ក់��ន workers ���ក់ៗេ�ចើន េហើយ worker ���ក់ៗ��នអ�ក�គប់�គងែត���ក់គត់
េ��ក�ង
� scenario ែដល��នផ�ល់ឱ�។ ដូេច�ះ foreign key គួរែត��េលខកូដ employee របស់
អ�ក�គប់�គង employee ែដល��នពិពណ៌��េ��ក�ង
� row។ េ��ះេហើយ��មូលេហតុែដល
��ក���នន័យដូច EMP_MANAGER �តូវ��នេ�ជើសេរើស�� attribute name។ ទិន�ន័យ
ែដលប���ញក�ង
� រូប��ព 4.22 ��ច�ស់��ស់�� employee Waddell �តូវ��ន�គប់�គង
េ��យ employee Orincona ។ �បសិនេបើអ�ក��ន foreign key មិន�តឹម�តូវ Orincona នឹង
�តូវ��ររក�ទុក value ���ំេ��ក��ង foreign key ែដលនឹងបំ��នច�ប់ស���ប់ relational
tables។

Associative (Composite) Entities


 �តូវ��នេគ���ល់ផងែដរ���� bridge entities

 េ�បើេដើម�ីអនុវត�ទំ��ក់ទំនង M:N
 ផ�ំេឡើងពី key ចម�ងៃន entities នីមួយៗែដល�តូវ��ន���ប់

 ��ន attributes បែន�មែដលមិនេដើរតួ��ទីកង


� ដំេណើរ��រត���ប់

េ��េពលែដលេគេ�បើស���ស���ល់ Crow's Foot associative entity �តូវ��នកំណត់����


strong relationship (កំណត់អត�ស���ណ) ដូចែដល��នប���ញេ��យ relationship lines
រ��ង parents និង associative entity។

ចំ��ំ�� entity ENROLL ស��ស��តុេ��ក�ង


� រូប��ព 4.23 គឺ���ស័យេ��េលី two entities
េផ�ងេទៀត; ស��ស��ពៃន entity ENROLL គឺែផ�កេលើ primary keys ៃន entities ែដល�តូវ
��នត���ប់េ��យ composite entity។ composite entity ក៏��ច��ន attributes បែន�ម
ែដលមិនេដើរតួ��ទីក�ងដំេណើរ��រត���ប់។ ឧ��ហរណ៍ េ��ះបី�� entity ��ន�៉�ងេ��ច
��ស់ primary keys របស់ STUDENT និង CLASS ក៏េ��យ ��ក៏��ចរួមប��ល
� នូវ attributes
បែន�មដូច�� grades , absences និងទិនន
� ័យេផ�ងេទៀតែដល�តូវ��នកំណត់អត�ស���ណ
េ��យលទ�ផលរបស់ student’s េ��ក�ង
� class ��ក់��ក់មយ
ួ ។
• េដើម�ី��ត់���ក់�� STUDENT មនុស����ក់�តូវែត enrolled (ចុះេ���ះ)ចូលេរៀន�៉�ង
េ��ច��ស់មយ
ួ CLASS ។CLASS គឺ��ំ��ច់ស���ប់ STUDENT ��មទស�នៈ purely។
េ��ះ���៉�ង��ក៏េ��យ េ��េពលែដល student ���ក់�តូវ��នចូលេរៀនេ��ម��វ�ទ�ល័
យ student េ��ះមិន��ន់��នចុះេ���ះចូលេរៀន classes ��មួយេ��េឡើយេទ។ ដូេច�ះ
�៉�ងេ��ច��ស់ដំបូង CLASS គឺ��ជេ�មើសស���ប់ STUDENT។ �បសិនេបើ CLASS មិន
ែមន��ជេ�មើសស���ប់ STUDENT ��មទស�នៈ database េទ class assignment �តូវែតេធ�ើ
េឡើងេ��េពលែដល student �តូវ��នអនុ���ត។ េ��ះ�៉�ង��ក៏េ��យ េនះមិនែមន��
រេបៀបែដលដំេណើរ��រពិត���កដេ��ះេទ េហើយdatabase design �តូវែតឆ�ះ� ប���ំងពីេរឿង
េនះ។ សរុបមក ជេ�មើសឆ�ះ� ប���ំងពី��រអនុវត�។

• េ��យ��រ 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 ���ក់ៗេកើតេឡើងែតម�ងគត់េ��ក��ង

STUDENT entity។ (Note: STUDENT table ក�ង


� រូប��ពទី 4.23 ��ន��តុ STU_NUM =
321452 ែតមួយគត់។) ដូេច�ះេហើយក��ងរូប��ព 4.25 relationship រ��ង STUDENT និង
ENROLL �តូវ��នប���ញ�� 1:M ��មួយនឹងអក�រ “M” េ��ែផ�ក ENROLL។

• ដូចែដលអ�ក��ចេឃើញក�ង
� រូប��ព 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

ដំេណើរ��រៃន��រdatabase design គឺេធ�ើេឡើងវ�ញ����ងដំេណើរ��រ linear ឬបន�ប���ប់។


verb iterate ��នន័យ�� "េធ�ម
ើ �ងេទៀតឬម�ងេហើយម�ងេទៀត" ។ ដូេច�ះ ដំេណើរ��រដែដលៗ
គឺែផ�កេលើដំេណើរ��រដែដលៗៃនដំេណើរ��រ និង procedures។ ��រក��ង ERD ��ធម���
��ក់ពន
័ ន
� ឹងសកម���ពដូច��ងេ���មៈ

• បេង�ើត��រេរៀប��ប់លម�ិតៃន��រពិពណ៌��អំព�ី បតិបត��
ិ �ររបស់ organization។

• កំណត់ business rules េ��យែផ�កេលើ��រពិពណ៌��អំព�ី បតិបត��


ិ �រ។

• កំណត់អត�ស���ណ entities និង relationships សំ��ន់ៗពី business rules។

• បេង�ើត ERD ដំបង


ូ ។

• កំណត់ attributes និង primary keys ែដលពណ៌��ន់អំពី entities។

• ពិនិត�េឡើងវ�ញ និងពិនិត� ERD ។


1. Tiny College (TC) �តូវ��នែបងែចក�� schools ��េ�ចើន៖ business,arts និង sciences
,education និង applied sciences។ school នីមយ
ួ ៗ�តូវ��ន�គប់�គង េ��យ dean ែដល
��professor។ professorនីមយ
ួ ៗ��ច�� dean ៃន school ែតមួយ េហើយprofessorមិនត�មូវ
ឱ�េធ�ើ�� dean ៃន school ��មួយេឡើយ។ ដូេច�ះ ទំ��ក់ទន
ំ ង 1:1 ��នរ��ង PROFESSOR
និង SCHOOL ។ Note cardinality ��ច�តូវ��នប���ក់េ��យ��រសរេសរ (1,1) េ����ប់នឹង
entity PROFESSOR និង (0,1) េ����ប់ entity SCHOOL។

2. School នីមួយៗ��ន departments ��េ�ចើន។ ឧ��ហរណ៍ ����ធុរកិច�


� �ន
accounting department, a management/marketing department, an economics/finance
department, និង a computer information systems department។ note cardinality៖ ចំនន

departments តូចបំផុតែដលដំេណើរ��រេ��យ school គឺមយ
ួ េហើយចំនួន departments ធំ
បំផុតគឺមន
ិ កំណត់ (N)។ ម�៉ាងវ�ញេទៀត departments នីមួយៗ��កម�សិទរ�ិ បស់����ែត
មួយ។ ដូេច�ះ cardinality �តូវ��នប���ញេ��យ (1,1) ។ េ��ះគឺចំនន
ួ ����អប�បរ��
ែដល departments ��កម�សទ
ិ �ិគឺមួយ ដូចចំនន
ួ អតិបរ��ែដរ។ រូប��ព 4.26 ប���ញពី
ច�ប់ two business rulesេនះ។

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" ។

PROFESSOR និង DEPARTMENT ��នទំ��ក់ទំនង���។

DEPARTMENT ជួល PROFESSOR េ�ចើន (ទំ��ក់ទំនង 1:M)។

PROFESSOR �គប់�គង DEPARTMENT ែត ១ (ទំ��ក់ទន


ំ ង 1:1)។
Entity "PROFESSOR" ��ន PROF_NUM �� Primary Key (PK) និង��នព័ត�
៌ �នដូច��:

- 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 (អ៊�ែម៉ល)

Entity "CLASS ��ន CLASS_CODE �� Primary Key (PK)។

Entity "ENROLL" �� Table មធ�មែដល��ន STU_NUM និង CLASS_CODE �� Primary


Keys (PK) និង Foreign Keys (FK1, FK2) េដើម�ី���ប់ STUDENT េ�� CLASS។ ENROLL
��នព័ត�
៌ �នបែន�ម:

- ENROLL_DATE (��លបរ�េច�ទចុះេ���ះ)
- ENROLL_GRADE (���ក់ចុះេ���ះ)

ទំ��ក់ទន
ំ ង "is written in" និង "is found in" ប���ញ��និស�ិត��ចចុះេ���ះក��ង���ក់
េ�ចើន និង���ក់��ច��ននិស�ិតេ�ចើនផងែដរ (M:M)។
ប���ញទំ��ក់ទំនងរ��ងែផ�ក (DEPARTMENT) និងនិស�ិត (STUDENT)។

ែផ�ក (DEPARTMENT) ��ន

- DEPT_CODE (Primary Key)


- DEPT_NAME

និស�ិត (STUDENT) ��ន

- STU_NUM (Primary Key)


- DEPT_CODE (េលខកូដែផ�ក) ��េ��បរេទស (FK1)
- STU_LNAME (��ម�តកូល)
- STU_FNAME (��មខ��ន)
- STU_INITIAL (អក�រ��ត់)
- STU_EMAIL (អ៊�ែមលនិស�ិត)

ទំ��ក់ទន
ំ ង has " ប���ញ��Department ��ចផ��កសិស���នេ�ចើន(M:1)។
ប���ញទំ��ក់ទំនងរ��ងបុគ�លិក��������រ� (PROFESSOR) និងនិស�ិត (STUDENT)។
(PROFESSOR) ��ន

- PROF_NUM (េលខស���ល់��������រ�) ��េ��ពិេសស (PK)


- DEPT_CODE (េលខកូដែផ�ក)
- PROF_SPECIALTY (ជំ��ញ)
- PROF_RANK (ចំ��ត់��� ក់)
- PROF_LNAME (��ម�តកូល)
- PROF_FNAME (��មខ��ន)
- PROF_INITIAL (អក�រ��ត់)
- PROF_EMAIL (អ៊�ែមល)

និស�ិត (STUDENT) ��ន PROF_NUM (FK1) េដើម�ីប���ញ����������រ����ក់��ចផ�


ល់adviceនិស�ិត���ក់ (1:1)។
ប���ញទំ��ក់ទំនងរ��ង����រ (BUILDING), បន�ប់ (ROOM), និង���ក់ (CLASS)។

����រ (BUILDING) ��ន

- BLDG_CODE (េលខកូដ����រ) �� (PK)


- BLDG_NAME (េ���ះ����រ)
- BLDG_LOCATION (ទី��ំង����រ)

បន�ប់ (ROOM) ��ន

- ROOM_CODE (េលខកូដបន�ប់) �� (PK)


- BLDG_CODE (េលខកូដ����រ) �� (FK1)
- ROOM_TYPE (�បេភទបន�ប់)

���ក់ (CLASS) ��ន

- CLASS_CODE (េលខកូដ���ក់) �� (PK)


- ROOM_CODE (េលខកូដបន�ប់) �� (FK1)
- CLASS_TIME (េ�៉�ងេរៀន)
����ងេនះប���ញពីស��ស��តុ����ៃន ERM (Entity Relationship Model) ែដល
ប���ក់ពទ
ី ំ��ក់ទន
ំ ងរ��ងអង���ព (Entity) ��មួយ���។

��រពណ៌��អំព�
ី ���ង៖

• ENTITY (អង���ព): ���បេភទអង���ពេ��ក��ងមូល���នទិន�ន័យ (Database)។


• RELATIONSHIP (ទំ��ក់ទំនង): ប���ក់ពីរេបៀបែដលអង���ព��ក់ទង���។
• CONNECTIVITY (��រត���ប់): ប���ញអំពី�បេភទទំ��ក់ទំនងរ��ងអង���ព (1:1,
1:M, M:N)។

អត�នយ
័ ៃនទិនន
� ័យក��ង����ង៖

• ����េរៀន (SCHOOL) �បតិបត�ិ (operates) ែផ�ក (DEPARTMENT) ក��ងទំ��ក់


ទំនង 1:M (����េរៀនមួយ��ច��នែផ�កេ�ចើន)។
• ែផ�ក (DEPARTMENT) ��ន (has) សិស� (STUDENT) ក��ងទំ��ក់ទំនង 1:M (ែផ�ក
មួយ��ច��នសិស�េ�ចើន)។
• ែផ�ក ជួល (employs) �គូបេ�ងៀន (PROFESSOR) ក��ងទំ��ក់ទំនង 1:M (ែផ�កមួយ
��ច��ន�គូបេ�ងៀនេ�ចើន)។
• មុខវ���� (COURSE) បេង�ត
ើ (generates) ���ក់ (CLASS) ក��ងទំ��ក់ទំនង 1:M។
• �គូបេ�ងៀន (PROFESSOR) ��ច�� ��យក���ន (dean of), �ប��ន (chairs),
បេ�ងៀន (teaches) ឬ �បឹក�េ��បល់ (advises) សិស�។
• សិស� (STUDENT) ចុះេ���ះក�ង
� ���ក់ (enrolls in CLASS) ក��ងទំ��ក់ទំនង M:N
(សិស�មួយ��ចចូលេរៀនក�ង
� ���ក់��ំង��យ, និង���ក់មួយ��ច��នសិស�េ�ចើន)

• អ��រ (BUILDING) ��នបន�ប់ (contains ROOM) ក��ងទំ��ក់ទំនង 1:M។
• បន�ប់ (ROOM) �តូវ��នេ�បើស���ប់��� ក់ (is used for CLASS) ក��ងទំ��ក់ទន
ំ ង
1:M។

ចំ��ំ៖ ENROLL គឺ�� អង���ពស�មួល (composite entity) ែដលអនុវត�ទំ��ក់ទំនង


M:N រ��ង STUDENT enrolls in CLASS។

Database Design Challenges: Conflicting Goals

អ�ករច��Database�តូវែតបេង�ើតDesign Compromise

• េ��លេ��ែដល�ប��ំង���៖ ស�ង់��ររច��, េល��ន, ដំេណើរ��រ, ត�មូវ��រព័ត៌��ន


• ��ន��រៈសំ��ន់ក�ង��របំេពញ��មត�មូវ��រលូជីខល និងបទ���នៃន��ររច��
• ��ររច��មិន��នតៃម�េទ េបើ��មិន��ចផ�លន
់ វូ លទ�ផលែដលត�មូវស���ប់��រ
ែស�ងរក និងរ��យ��រណ៍
• ប���ក��ង��ររច�� និងអនុវត�ខ�ះ មិន��ចផ�លន
់ ូវដំេ��ះ���យែដល "Clean"
��ន ។
រូប��ពេនះប���ញពី��រអនុវត�ទ�
ំ �ក់ទំនងអត��បតិកម� 1:1 (recursive relationship)
�� ៣ វ�ធេី ផ�ងៗ��� ក��ងមូល���នទិនន
� ័យ Ch04_PartCo។
��រពិពណ៌�� 1:1

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)។

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy