www.fatihkabakci.com

Personal Website and Computer Science TUR EN

IKINCI NORMAL FORM(SECOND NORMAL FORM)

Last update: 10/25/2012 3:19:00 AM

Yazan:Fatih KABAKCI

Veritabanı tasarımında önemli bir parametre olan normalizasyon Edgar F.Codd'un ilişkisel veritabanında ortaya çıkardığı bir kavram olmuştur.Normalizasyon,ileride çalışacak olan veritabanının,performansını ciddi şekilde etkiler.Bu nedenden ötürü normalizasyon kurallarına veritabanının tasarımı aşamasında dikkat edilmesi gerekmektedir.

1971 yılında Edgar F.Codd tarafından ortaya atılmış olan İkinci Normal Form(Second Normal Form-2NF),birinci normal formu devralarak,gereksiz veri tekrarı yapmadan,kayıtları doğru temsil edecek bir birincil anahtar seçimiyle ilgili olarak geliştirilmiştir.İkinci normal form,
  • Birinci normal forma(First normal form) uygun olması gerektiği.
  • Tablodaki her kaydın bir primary key(birincil anahtar)'i olması gerektiği.
  • Fonksiyonel bağımlılık problemi olmamalıdır.Yani her kayıt bir şekilde benzersiz olarak temsil edilmelidir.
kurallarını içerir.



Yukarıdaki tabloda bir takım kişilerin yaşadıkları yerler ve isim numaraları verilmektedir.Bu tabloda eksik olan birincil anahtar değeridir ve City alanındaki veri tekrarıdır.Name ve Phone alanları kişilerin ismi ve telefon numarası bilgileri iken,City ve District ise kişinin yaşadığı il ve ilçe bilgileridir.Örnek olarak 'Fatih 123 Istanbul Kartal' kaydı bu tabloda bir birincil anahtar değeri taşımaktadır.Yani ismi Fatih olan,numarası 123 olan,yaşadığı il Istanbul ve yaşadığı ilçe Kartal olan başka bir kayıt bulunmamaktadır denilmektedir.Bu yanlış bir tutumdur ve böyle bir den fazla kayıt olabilir.Bu durumda doğru olan bu tabloya bir birincil anahtar değeri eklemektir.Ayrıca il-ilçe verisi başka bir tabloya alınarak bu iki tablo arasında bir bağlam oluşturulmalıdır.



İki parçaya ayrılan tablolar'a bir ID birincil anahtar değeri eklenmesiyle 2NF normalizasyonu aşağıdaki gibi olacaktır.



Böylelikle 1 numaralı kayıt olan Fatih isimli kişinin yaşadığı Kartal ilçe bilgisine bakılarak,bu kişinin İstanbulda oturduğu bilgisine rahatlıkla ulaşılacaktır.Ayrıca ID birincil anahtar değeri ile de,ilgili kişilerin tüm bilgileri tek seferde alınmış olur.
There has been no comment yet

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,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.