www.fatihkabakci.com

Personal Website and Computer Science TUR EN

ER(ENTITY RELATIONSHIP MODEL)

Last update: 10/24/2012 8:07:00 PM

Yazan:Fatih KABAKCI

Veritabanı tasarımında en sık kullanılan tekniklerden bir tanesi olan ER(Entity Relationship) modeli,ilişkisel veritabanı yaklaşımının temelini oluşturmaktadır.ER modeli oluşturulacak veritabanı nesneleri arasında ilişki kurarak,nesnelerin özelliklerini ortaya koyar.Bir ER modelinde 3 temel kavram yer alır.
  1. Varlık(Entity),veritabanında oluşturulacak nesneleri temsil eden yapılardır.Genel olarak veritabanında bu nesnelere tablolar örnek verilebilir.Programlama alanında ise sınıflar(class) varlıklara birer örnektir.ER diyagramlarının temelini varlıklar oluşturur.
  2. Nitelik(Attiribute),ER varlıklarının sahip olduğu her bir alana verilen yapılardır.Varlıkların sahip olduğu parçaları oluşturan bileşenlere denir.Veritabanı alanında örnek olarak tablo sütünları verilebilir.Programlama alanında ise sınıf üye değişkenleri(class member variable) bunun için birer örnektir.
  3. İlişki(Relationship),varlıklar arasında kurulan fiziksel ve mantıksal bağlantıları temsil eden yapılara denir.ER diyagramlarında varlıkları arasındaki ilişkileri tanımlar.
Genel olarak veritabanı tabloları uygulama aşamasında,sıklıkla ER diyagramlarında tasarlanan varlıkları temsil eder.Nitelikler ise her bir tablodaki sütunlardır.Ancak bu bir kural değildir.Diğer veritabanı nesneleri de ER diyagramları altında benzetilebilir.

Tasarım

Bir veritabanı tasarımında gerekli analizler yapıldıktan sonra ER diyagramı oluşturulur.Bir ER diyagramında ilk olarak Varlıklar belirlenir.Varlıklar aynı sınıflar gibi mantıksal olarak bir kaç bileşeni içinde bulunduran yapılardır.Örneğin bir kütüphane otomasyonu için depolanacak kitaplar ER diyagramı için Kitap adı altında bir varlık olacaktır.ER diyagramında belirlenen her varlığın nitelikleri ortaya koyulur.Örneğin bir kitabın adı,IBAN numarası,yayın evi,yazarı gibi bir takım bilgileri nitelikler grubu altında olacaktır.Çünkü bir kitap farklı nitelik bilgilerine sahiptir.ER diyagramında,herhangi bir varlığın nitelikleri ortaya koyulurken,belirtilen niteliklerden bazıları da birer varlık niteliği taşıyabilir.Örneğin bir kitabın yayın evi başka bir varlık olabilir.Çünkü bir yayın evide isim,adres,telefon gibi bilgilere sahiptir.Yani bir varlık içinde oluşturulan bir nitelik,kendi başına da bir varlık sayılabilecektir.Bu durumda bir varlık başka bir varlığı da nitelik adı altında içerisinde bulundurabilecektir.Programcılık dünyasındaki inner class mantığı burada da geçerlidir.Kısacası ER diyagramlarında tanımlanan her varlık ve nitelik yapıları iyi analiz ederek oluşturulmalıdır.

Aşağıda Book adlı varlığımızı ER diyagramı altında modellemek istediğimizde aşağıdaki gibi bir yapı ortaya çıkarabiliriz.



Varlıklar ve nitelikler oluşturulduktan sonra,varlıklar arasındaki ilişkiler iyi analiz edilerek tasarlanmalıdır.Örneğin kitap yayın evleri ile kitaplar arasında bir ilişki mevcuttur.Bu gibi bir takım ilişkiler ER diyagramlarında iyi analiz edilerek belirtilmelidir.

Bir ER diyagramında varlıklar dikdörtgenler,nitelikler oval geometrik şekiller ile temsil edilirken,ilişkiler ise varlıklar arasında düz çizgiler ile temsil edilir.Temsil edilen her bir ilişki düz çizgiler arasındaki dörtgen geometrik şekliyle temsil edilir.Programcılık dünyasındaki karar yapılarında kullanılan diamond şekli ilişkilerde de kullanılır.

Varlık(Entity)

Nitelik(Attiribute)

İlişki(Relationship)



Sonuç olarak yukarıdaki işlemler özetlenirse,bir ER diyagramı tasarlanırken aşağıdaki işlem adımları referans alınır.
  1. Varlıklar belirlenir.
  2. Her varlığın nitelikleri belirlenir.
  3. Oluşturulan her niteliğin aynı zamanda birer varlık olabileceği tartışılır.
  4. Varlık ve nitelikler belirlendikten sonra genel bir kontrol yapılır.
  5. Varlıklar arasındaki ilişkiler belirlenir.
  6. ER diyagramı çizilir.
  7. Tasarlanan ER diyagramı gerekli normalizasyon filtresinden geçirilir.
  8. Gerekirse ER tasarımı tekrardan çizilir.
MemberCommentDate:
guest
guzel açıklama eline sağlık kardesım

seko


11/15/2019 12:21:00 PM
guest
tebrikler gerçekten baya bi yardımcı oldu 

cengiz

12/25/2018 10:20:00 AM
guest
Çok güzel açıklamışsın. Başarılar, devamını dilerim.

mühendis

3/20/2018 10:59:00 AM
Fatih KABAKCI
Benim proje ve çalışmalarımda kullandığım MS Word ü önerebilirim. Shapes(şekiller) bölümü bu için bence iddalı. Internet üzerinde de bazı araçlar ücretli ücretsiz 
mevcut. Ancak büyük çaplı projeler için sektör ne kullanıyor, bilmiyorum.

Başarılar,
Fatih

12/19/2016 3:42:00 AM
guest
Merhabalar.Endüstri Mühendisliği okuyorum.Ödevim için varlık ilişki diyagramlarını bir programda çizmem gerekli access ya da sql de çiziliyormuş sanırım.
Hangisinde daha basit olarak hiç bilmeyen biri olarak çizebilirim ? 

Yardım ederseniz çok sevinirim çok teşekkür ederim şimdiden..

İlayda

12/19/2016 3:34:00 AM
guest
eyvallah

Hakan
9/10/2016 4:13:00 AM
guest
çok güzel bir özet

cialis as needed dosage cialis 20 mg dosage
lamisil cream singapore site lamisil cream
risperdal uses risperdal consta risperdal yan etkileri
4/28/2016 10:53:00 PM
guest
güzel ve basit açıklama eline sağlık.

Cs_student
viagra coupons free prescription coupon printable viagra coupon
free coupon for cialis click cialis discount coupons online
losartankalium teva 50 mg crownlimos.ca losartan medical valley
cialis walgreen coupon cheap cialis cialis coupon
4/11/2016 9:42:00 PM

Name:


Question/Comment
   Please verify the image




The Topics in Computer Science

Search this site for





 

Software & Algorithms

icon

In mathematics and computer science, an algorithm is a step-by-step procedure for calculations. Algorithms are used for calculation, data processing, and automated reasoning.

Programming Languages

icon

A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer. It can be used to create programs to control the behavior of a machine. Java,C, C++,C#

Database

icon

A database is an organized collection of data. The data are typically organized to model aspects of reality in a way that supports processes requiring information.

Hardware

icon

Computer hardware is the collection of physical elements that constitutes a computer system. Computer hardware refers to the physical parts or components of a computer such as the monitor, memory, cpu.

Web Technologies

icon

Web development is a broad term for the work involved in developing a web site for the Internet or an intranet. Html,Css,JavaScript,ASP.Net,PHP are one of the most popular technologies. J2EE,Spring Boot, Servlet, JSP,JSF, ASP

Mobile Technologies

icon

Mobile application development is the process by which application software is developed for low-power handheld devices, such as personal digital assistants, enterprise digital assistants or mobile phones. J2ME

Network

icon

A computer network or data network is a telecommunications network that allows computers to exchange data. In computer networks, networked computing devices pass data to each other along data connections.

Operating Systems

icon

An operating system is software that manages computer hardware and software resources and provides common services for computer programs. The OS is an essential component of the system software in a computer system. Linux,Windows

Computer Science

icon

Computer science is the scientific and practical approach to computation and its applications.A computer scientist specializes in the theory of computation and the design of computational systems.