Skip to main content

Designing Entity Relationship Diagram (ERD)

Al Salmo Aliko .
Hello, in this post I'll discuss with you how to design good Entity Relationship Diagram ERD .
this article for:

  1. IT Students learning about database.
  2. you are having difficulties in creating ERD.
  3. you are developer that need help in database design.  
let's ask ourselves Why good database design is good ? or why we need ERD?
        when I started programming Eng / Eman Ahmed was my First teacher, she said you must write your code with pen, and now I told you good database design start with paper and pen or in technological terms start with ERD, ERD is the model which shows logical layout of your database.

let's List some advantages of good database design :
  • very low or no redundant data is stored.
  •  supporting planed or unplanned queries.
  • good design easy to maintain and modify.
  • from first glance you can understand it.
an ERD consist from Entities and relationships between them; there exist many notation in textbooks and all are right I'll use in this tutorial the most expressive and most common.

an Entity is some thing we want to store data about.
a relationship shows how entity is related to another entity.

types of relationship:
  1. One : One 
  2. One : Many
  3. Many : Many
notations :
 let's see some Examples :

see complete Example :


in the example you can see student fills Only one seat .
Student takes at least one course.
course contain at least one Student.
course is taught by Only one teacher .
teacher can Teach one or more Courses .
professor teaches zero or more sections .
section is belong to at least one course.
course has at least one section.

at the end of my post I hope you understand how Make ERD .
references:
source1  
source2

Comments

  1. Thanks this info was really helpful! I used a website called Lucidchart to create my own erd diagram and it was really easy to understand. If you use diagrams often you should check it out!

    ReplyDelete
  2. Thanks for the help! I have also learned How to Draw ERD (Entity Relationship Diagram) using Lucidchart and it is very user friendly and helpful! Give it a try!

    ReplyDelete

Post a Comment

Popular posts from this blog

DevExpress C# Chart Tutorial

Hello , this blog post about Charting in DevExpress , I faced many problems I visited hundreds of pages to solve this problems , actually it was the first time I use DevExpress Charts, Work is not like school or university , in school if you don't know thing you can learn it any time you want , in work you have to do today task yesterday, I like to share my knowledge and skills with you , I hope this Post help you . // clear series on chart  chart.Series.Clear(); // clear Titles of chart chart.Titles.Clear(); // legend alignment  chart.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Center; chart.Legend.AlignmentVertical = LegendAlignmentVertical.Bottom; chart.Legend.Direction = LegendDirection.LeftToRight; // creating series // series view Type example Line DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series("series name ", ViewType.Line); // add title  DevExpress.XtraCharts.ChartTitle chtTitle = new DevExpress.XtraCharts.Cha...

Recursion

Recursion is a programming technique which function calls itself , this seems strange , however it is one of the most interested and effective technique in programming. it helps you write code in less statements and provides unique conceptual frame work to solve problems. lets discus some problems to know how it works : first example Triangular Numbers : it is series like : 1,3,6,10,15,21........ etc our program should get the nth term in the series, the numbers in this series called triangular numbers due to they can be visualized as a triangle. triangular numbers fig 1 finding the nth term using a loop see this figure : loop adding 1+2+3+4 and so on code is easy  , a loop will add numbers from n to 0 like this int triangle(int n) { int total = 0; while(n > 0) // until n is 1 { total = total + n; // add n (column height) to total --n; // decrement column height } return total; } it easy enough and for sure it is fast . before we start the recu...

LeetCode Problem #19 Remove Nth Node From End of List

Solution for LeetCode Problem #19 Remove Nth Node From End of List it is linked list problem can be solved with multiple solutions, but I'm gonna solve it with fastest solution in java. Problem link we should assign dummy_head it is common while solving linked list problems  Assign 2 iterators slow and fast both equals to dummy_head we don't know the length of the list but we know it is always valid, so we will move with a window of size n+1 when we reach the end by the fast iterator the slow iterator will be in the node n+1 from the last , right? we will assign slow.next to be equal slow.next.next we are dropping the node n from last, got it? we will return dummy_head.next Thank you, AhmedG