Birinci normal form veya Birinci normal biçim (1NF), ilişkisel bir veritabanındaki bir ilişkinin özelliğidir. Bir ilişki, ancak ve ancak her bir öznitelik yalnızca atomik (bölünemez) değerler içeriyorsa ve her özniteliğin değeri, bu etki alanından yalnızca tek bir değer içeriyorsa birinci normal biçimdedir (1NF). Terimin ilk tanımı, Edgar Codd'un 1971 tarihli bir konferans makalesinde yapılmıştır.
Birinci normal form, ilişkisel bir veritabanındaki bir ilişkinin temel bir özelliğidir. Veritabanı normalizasyonu, bir veritabanını ilişkiler açısından standart normal formlarda temsil etme sürecidir, burada birinci normal form minimum gereksinimdir.
Birinci normal formda şu kriterler uygulanır:
- Bir tablo içinde tekrar eden grupları ortadan kaldırmak
- Her bir ilgili veri kümesi için ayrı bir tablo oluşturmak
- Her bir ilgili veri kümesini bir birincil anahtarla tanımlamak
Örnekler
Aşağıdaki senaryolar ilk olarak bir veritabanı tasarımında birinci normal formun nasıl ihlal edildiğini ve ardından birinci normal forma uygun örnekleri gösterir.
1NF'yi ihlal eden tasarımlar
Aşağıda müşterilerin isimlerini ve telefon numaralarını saklayan bir tablo bulunmaktadır. Bazı müşteriler için birden fazla telefon numarasını saklamak gerekmektedir. Bu gereksinimi karşılamanın en basit yolu, herhangi bir satırdaki "Telefon Numarası" sütununun birden fazla değer içermesine izin vermektir:
Musteri ID | Ad | Soyad | Telefon |
---|---|---|---|
123 | Pooja | Singh | 555-861-2025, 192-122-1111 |
456 | San | Zhang | (555) 403-1659 Dahili. 53; 182-929-2929 |
789 | John | Doe | 555-808-9633 |
Telefon numarası sütunu, tek bir değerde birden çok telefon numarası içerir. Örneğin, ilk satırda virgülle ayrılmış iki telefon numarası vardır. Sütun değerleri atomik değildir: iki sayıya bölünebilir. Bu durum, birinci normal formu ihlal etmektedir.
Akla gelen bir çözüm, daha fazla sütun sunmaktır:
Musteri ID | Ad | Soyad | Telefon1 | Telefon2 |
---|---|---|---|---|
123 | Pooja | Singh | 555-861-2025 | 192-122-1111 |
456 | San | Zhang | (555) 403-1659 Dahili. 53 | 182-929-2929 |
789 | John | Doe | 555-808-9633 |
Teknik olarak bu tablo, değerlerin atomik olması gerekliliğini ihlal etmemektedir. Ancak, iki telefon numarası sütunu hala bir "tekrar eden grup" oluşturur: kavramsal olarak aynı özniteliği, yani bir telefon numarasını tekrarlar. Keyfi bir sıralama getirilmiş olur: 555-861-2025 bilgisinin neden Telefon2 sütunu yerine Telefon1 sütununa yerleştirildiğine ilişkin somut bir neden yoktur. Müşterilerin ikiden fazla telefon numarasına sahip olmaması için hiçbir neden olmadığına göre, bu durumda kaç tane TelefonN sütunu olacağı da belirsizdir. Böyle bir yapıda, rastgele sayıda sütunda arama yapmadan bir telefon numarasını aramak mümkün olmaz. Fazladan bir telefon numarası eklemek, tabloya sadece yeni bir satır eklenmesi yerine yeni bir sütun eklenerek yeniden düzenlenmesini gerektirebilir. (789 numaralı müşteri için Telefon2'nin boş (null) değeri de bir sorundur.)
1NF ile uyumlu tasarım
Modeli birinci normal forma getirmek için, telefon numarası bilgilerini tutmak için kullanılan satırlar "atomik" (yani bölünemez) varlıklara bölünür: her varlık tek bir telefon numarası içerir. Ve hiçbir satırın birden fazla telefon numarası içermediğinden emin olunur.
MusteriID | Ad | Soyad | Telefon |
---|---|---|---|
123 | Pooja | Singh | 555-861-2025 |
123 | Pooja | Singh | 192-122-1111 |
456 | San | Zhang | 182-929-2929 |
456 | San | Zhang | (555) 403-1659 Dahili. 53 |
789 | John | Doe | 555-808-9633 |
Bu çözümde yinelenen müşteriler için "ID" nin artık tekil olmadığı unutulmamalıdır. Bçyle bir yapıda, bir satırı tekil (benzersiz) şekilde tanımlamak için (ID, Telefon) kombinasyonunu kullanmak gerekir. Her bir sütun ayrı ayrı tekrarlanan değerler içermesine rağmen, kombinasyonun değeri tekildir. Bir satırı tekil şekilde tanımlayabilmek, 1NF'nin bir gereksinimidir.
Alternatif bir tasarımda ise iki tablo kullanılır:
|
|
Bu tasarımda kolonlar birden fazla telefon numarası içermemektedir. Bunun yerine, her Müşteri-Telefon Numarası bağlantısı kendi satırında görünür. MüşteriID anahtar olarak kullanıldığında, müşteri ve müşteri telefonu tabloları arasında bire çok ilişkisi vardır. "Üst" tablodaki bir satır olan Müşteri Adı, "alt" tablodaki birçok telefon numarası satırıyla, Müşteri Telefon Numarasıyla ilişkilendirilebilir, ancak her telefon numarası yalnızca bir müşteriye aittir. Bu tasarımın ikinci ve üçüncü normal form için ek gereksinimleri de karşıladığını belirtmekte fayda var.
Atomiklik
Edgar F. Codd'un 1NF tanımı, 'atomiklik' kavramına gönderme yapar. Codd, atomik bir değeri "daha küçük parçalara ayrıştırılamayan (belirli özel işlevler hariç)" şeklinde tanımlar Bu, bir sütunun içinde birden fazla veri türü olan parçalara bölünmemesi gerektiği anlamına gelir.
Hugh Darwen ve Chris Date, Codd'un "atomik değer" kavramının belirsiz olduğunu ve bu belirsizliğin 1NF'nin nasıl anlaşılması gerektiği konusunda yaygın bir kafa karışıklığına yol açtığını öne sürdüler. Özellikle, "ayrıştırılamayan bir değer" kavramı sorunludur, çünkü çok az veri türünün atomik olduğunu ima ediyor gibi görünmektedir:
- Bir karakter dizisi tipik olarak alt karakter dizilerine bölünebildiğinden, atomik görünmeyebilir.
- Ondalıklı bir sayı, tam sayı ve kesirli bileşen olarak bölünebildiğinden, atomik görünmeyebilir.
- Dil ve yayıncı tanımlayıcısı içerdiğinden, ISBN bilgisi atomik görünmeyebilir.
Chris Date, "atomiklik kavramının mutlak bir anlamı olmadığını" öne sürer: Bir değer bazı amaçlar için atomik olarak kabul edilebilirken, başka amaçlar için daha temel elementlerin bir araya gelmesi olarak düşünülebilir. Bu kabule göre, 1NF tanımında atomikliğe referans verilemez.
İlişkilerin temsili olarak 1NF tabloları
Date'in tanımına göre, bir tablo, ancak ve ancak "bir ilişkiye izomorf" ise, yani özellikle aşağıdaki beş koşulu karşıladığında birinci normal formdadır:
- Satırlar için yukarıdan aşağıya sıralama yoksa
- Sütunlarda soldan sağa sıralama yoksa
- Yinelenen satır yoksa
- Her satır ve sütun kesişimi, geçerli etki alanından tam olarak bir değer içerirse (ve başka hiçbir şey içermezse)
- Tüm sütunlar düzenliyse (ör. satırların satır IDleri, nesne IDleri veya gizli zaman damgaları gibi gizli bileşenleri yoksa).
Bu koşullardan herhangi birinin ihlali, tablonun ilişkisel olmadığı ve bu nedenle de birinci normal formda olmadığı anlamına gelir.
Bu birinci normal biçim tanımına uymayan tabloların (veya görünümlerin) örnekleri şunlardır:
- Benzersiz bir anahtar kısıtlaması olmayan bir tablo. Böyle bir tablo, koşul 3'ü ihlal edecek şekilde yinelenen satırları barındırabilir.
- Tanımı, sonuçların belirli bir sırayla döndürülmesini zorunlu kılan bir görünüm, böylece sıra sıralaması, görünümün içsel ve anlamlı bir yönüdür. Bu durum ilk kuralı ihlal eder. Gerçek ilişkilerdeki demetler birbirine göre sıralanmamıştır.
- En az bir "null" atanabilir özelliğe sahip bir tablo. Null yapılabilir bir öznitelik, her sütunun kendi sütun etki alanından tam olarak bir değer içermesini gerektiren 4 koşulunu ihlal eder. Durum 4'ün bu yönü tartışmalıdır. Bu, Codd'un daha sonraki ilişkisel model vizyonundan önemli bir ayrılışı işaret eder, bu da "null" değerler için açık hükümler getirir.
Chris Date tarafından tanımlanan birinci normal form, ilişki değerli özniteliklere (tablolar içindeki tablolar) izin verir. Date, bir tablodaki bir sütunun bir tablo içerebildiği, ilişki değerli özniteliklerin nadir durumlarda yararlı olduğunu savunur.
Ayrıca bakınız
Kaynakça
- ^ Fundamentals of Database Systems, Fourth Edition. Pearson. Temmuz 2003. s. 315. ISBN .
It states that the domain of an attribute must include only atomic (simple, indivisible) values and that the value of any attribute in a tuple must be a single value from the domain of that attribute.
- ^ E. F. Codd (Oct 1972), Further normalization of the database relational model, Courant Institute: Prentice-Hall, ISBN ,
A relation is in first normal form if it has the property that none of its domains has elements which are themselves sets.
- ^ Database Design - 2nd Edition. Victoria, B.C: BCcampus. 2014. 19 Ekim 2020 tarihinde kaynağından . Erişim tarihi: 21 Ağustos 2020.
- ^ "studytonight.com". 11 Ağustos 2020 tarihinde kaynağından . Erişim tarihi: 21 Ağustos 2020.
- ^ "stackoverflow.com". 26 Ekim 2013 tarihinde kaynağından . Erişim tarihi: 21 Ağustos 2020.
- ^ In the "real" world, that would not be a good assumption.
- ^ Codd, E. F. The Relational Model for Database Management Version 2 (Addison-Wesley, 1990).
- ^ Codd, E. F. The Relational Model for Database Management Version 2 (Addison-Wesley, 1990), p. 6.
- ^ Darwen, Hugh. "Relation-Valued Attributes; or, Will the Real First Normal Form Please Stand Up?", in C. J. Date and Hugh Darwen, Relational Database Writings 1989-1991 (Addison-Wesley, 1992).
- ^ "[F]or many years," writes Date, "I was as confused as anyone else. What's worse, I did my best (worst?) to spread that confusion through my writings, seminars, and other presentations." Date, C. J. ["What First Normal Form Really Means"] in Date on Database: Writings 2000-2006 (Springer-Verlag, 2006), p. 108
- ^ Date, C. J. ["What First Normal Form Really Means"] p. 112.
- ^ SQL and Relational Theory: How to Write Accurate SQL Code. "O'Reilly Media, Inc.". 6 Kasım 2015. ss. 50-. ISBN . 25 Haziran 2021 tarihinde kaynağından . Erişim tarihi: 31 Ekim 2018.
- ^ Date, C. J. ["What First Normal Form Really Means"] pp. 127–128.
- ^ Such views cannot be created using SQL that conforms to the SQL:2003 standard.
- ^ "Codd first defined the relational model in 1969 and didn't introduce nulls until 1979" Date, C. J. SQL and Relational Theory (O'Reilly, 2009), Appendix A.2.
- ^ The third of Codd's 12 rules states that "Null values ... [must be] supported in a fully relational DBMS for representing missing information and inapplicable information in a systematic way, independent of data type." Codd, E. F. "Is Your DBMS Really Relational?" Computerworld, October 14, 1985.
- ^ Date, C. J. ["What First Normal Form Really Means"] pp. 121–126.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Birinci normal form veya Birinci normal bicim 1NF iliskisel bir veritabanindaki bir iliskinin ozelligidir Bir iliski ancak ve ancak her bir oznitelik yalnizca atomik bolunemez degerler iceriyorsa ve her ozniteligin degeri bu etki alanindan yalnizca tek bir deger iceriyorsa birinci normal bicimdedir 1NF Terimin ilk tanimi Edgar Codd un 1971 tarihli bir konferans makalesinde yapilmistir Birinci normal form iliskisel bir veritabanindaki bir iliskinin temel bir ozelligidir Veritabani normalizasyonu bir veritabanini iliskiler acisindan standart normal formlarda temsil etme surecidir burada birinci normal form minimum gereksinimdir Birinci normal formda su kriterler uygulanir Bir tablo icinde tekrar eden gruplari ortadan kaldirmak Her bir ilgili veri kumesi icin ayri bir tablo olusturmak Her bir ilgili veri kumesini bir birincil anahtarla tanimlamakOrneklerAsagidaki senaryolar ilk olarak bir veritabani tasariminda birinci normal formun nasil ihlal edildigini ve ardindan birinci normal forma uygun ornekleri gosterir 1NF yi ihlal eden tasarimlar Asagida musterilerin isimlerini ve telefon numaralarini saklayan bir tablo bulunmaktadir Bazi musteriler icin birden fazla telefon numarasini saklamak gerekmektedir Bu gereksinimi karsilamanin en basit yolu herhangi bir satirdaki Telefon Numarasi sutununun birden fazla deger icermesine izin vermektir Musteri Musteri ID Ad Soyad Telefon123 Pooja Singh 555 861 2025 192 122 1111456 San Zhang 555 403 1659 Dahili 53 182 929 2929789 John Doe 555 808 9633 Telefon numarasi sutunu tek bir degerde birden cok telefon numarasi icerir Ornegin ilk satirda virgulle ayrilmis iki telefon numarasi vardir Sutun degerleri atomik degildir iki sayiya bolunebilir Bu durum birinci normal formu ihlal etmektedir Akla gelen bir cozum daha fazla sutun sunmaktir Musteri Musteri ID Ad Soyad Telefon1 Telefon2123 Pooja Singh 555 861 2025 192 122 1111456 San Zhang 555 403 1659 Dahili 53 182 929 2929789 John Doe 555 808 9633 Teknik olarak bu tablo degerlerin atomik olmasi gerekliligini ihlal etmemektedir Ancak iki telefon numarasi sutunu hala bir tekrar eden grup olusturur kavramsal olarak ayni ozniteligi yani bir telefon numarasini tekrarlar Keyfi bir siralama getirilmis olur 555 861 2025 bilgisinin neden Telefon2 sutunu yerine Telefon1 sutununa yerlestirildigine iliskin somut bir neden yoktur Musterilerin ikiden fazla telefon numarasina sahip olmamasi icin hicbir neden olmadigina gore bu durumda kac tane TelefonN sutunu olacagi da belirsizdir Boyle bir yapida rastgele sayida sutunda arama yapmadan bir telefon numarasini aramak mumkun olmaz Fazladan bir telefon numarasi eklemek tabloya sadece yeni bir satir eklenmesi yerine yeni bir sutun eklenerek yeniden duzenlenmesini gerektirebilir 789 numarali musteri icin Telefon2 nin bos null degeri de bir sorundur 1NF ile uyumlu tasarim Modeli birinci normal forma getirmek icin telefon numarasi bilgilerini tutmak icin kullanilan satirlar atomik yani bolunemez varliklara bolunur her varlik tek bir telefon numarasi icerir Ve hicbir satirin birden fazla telefon numarasi icermediginden emin olunur Musteri MusteriID Ad Soyad Telefon123 Pooja Singh 555 861 2025123 Pooja Singh 192 122 1111456 San Zhang 182 929 2929456 San Zhang 555 403 1659 Dahili 53789 John Doe 555 808 9633 Bu cozumde yinelenen musteriler icin ID nin artik tekil olmadigi unutulmamalidir Bcyle bir yapida bir satiri tekil benzersiz sekilde tanimlamak icin ID Telefon kombinasyonunu kullanmak gerekir Her bir sutun ayri ayri tekrarlanan degerler icermesine ragmen kombinasyonun degeri tekildir Bir satiri tekil sekilde tanimlayabilmek 1NF nin bir gereksinimidir Alternatif bir tasarimda ise iki tablo kullanilir Musteri MusteriID Ad Soyad123 Pooja Singh456 San Zhang789 John Doe Musteri Telefon Numarasi TelefonID MusteriID Telefon1 123 555 861 20252 123 192 122 11113 456 555 403 1659 Dahili 534 456 182 929 29295 789 555 808 9633 Bu tasarimda kolonlar birden fazla telefon numarasi icermemektedir Bunun yerine her Musteri Telefon Numarasi baglantisi kendi satirinda gorunur MusteriID anahtar olarak kullanildiginda musteri ve musteri telefonu tablolari arasinda bire cok iliskisi vardir Ust tablodaki bir satir olan Musteri Adi alt tablodaki bircok telefon numarasi satiriyla Musteri Telefon Numarasiyla iliskilendirilebilir ancak her telefon numarasi yalnizca bir musteriye aittir Bu tasarimin ikinci ve ucuncu normal form icin ek gereksinimleri de karsiladigini belirtmekte fayda var AtomiklikEdgar F Codd un 1NF tanimi atomiklik kavramina gonderme yapar Codd atomik bir degeri daha kucuk parcalara ayristirilamayan belirli ozel islevler haric seklinde tanimlar Bu bir sutunun icinde birden fazla veri turu olan parcalara bolunmemesi gerektigi anlamina gelir Hugh Darwen ve Chris Date Codd un atomik deger kavraminin belirsiz oldugunu ve bu belirsizligin 1NF nin nasil anlasilmasi gerektigi konusunda yaygin bir kafa karisikligina yol actigini one surduler Ozellikle ayristirilamayan bir deger kavrami sorunludur cunku cok az veri turunun atomik oldugunu ima ediyor gibi gorunmektedir Bir karakter dizisi tipik olarak alt karakter dizilerine bolunebildiginden atomik gorunmeyebilir Ondalikli bir sayi tam sayi ve kesirli bilesen olarak bolunebildiginden atomik gorunmeyebilir Dil ve yayinci tanimlayicisi icerdiginden ISBN bilgisi atomik gorunmeyebilir Chris Date atomiklik kavraminin mutlak bir anlami olmadigini one surer Bir deger bazi amaclar icin atomik olarak kabul edilebilirken baska amaclar icin daha temel elementlerin bir araya gelmesi olarak dusunulebilir Bu kabule gore 1NF taniminda atomiklige referans verilemez Iliskilerin temsili olarak 1NF tablolariDate in tanimina gore bir tablo ancak ve ancak bir iliskiye izomorf ise yani ozellikle asagidaki bes kosulu karsiladiginda birinci normal formdadir Satirlar icin yukaridan asagiya siralama yoksa Sutunlarda soldan saga siralama yoksa Yinelenen satir yoksa Her satir ve sutun kesisimi gecerli etki alanindan tam olarak bir deger icerirse ve baska hicbir sey icermezse Tum sutunlar duzenliyse or satirlarin satir IDleri nesne IDleri veya gizli zaman damgalari gibi gizli bilesenleri yoksa Bu kosullardan herhangi birinin ihlali tablonun iliskisel olmadigi ve bu nedenle de birinci normal formda olmadigi anlamina gelir Bu birinci normal bicim tanimina uymayan tablolarin veya gorunumlerin ornekleri sunlardir Benzersiz bir anahtar kisitlamasi olmayan bir tablo Boyle bir tablo kosul 3 u ihlal edecek sekilde yinelenen satirlari barindirabilir Tanimi sonuclarin belirli bir sirayla dondurulmesini zorunlu kilan bir gorunum boylece sira siralamasi gorunumun icsel ve anlamli bir yonudur Bu durum ilk kurali ihlal eder Gercek iliskilerdeki demetler birbirine gore siralanmamistir En az bir null atanabilir ozellige sahip bir tablo Null yapilabilir bir oznitelik her sutunun kendi sutun etki alanindan tam olarak bir deger icermesini gerektiren 4 kosulunu ihlal eder Durum 4 un bu yonu tartismalidir Bu Codd un daha sonraki iliskisel model vizyonundan onemli bir ayrilisi isaret eder bu da null degerler icin acik hukumler getirir Chris Date tarafindan tanimlanan birinci normal form iliski degerli ozniteliklere tablolar icindeki tablolar izin verir Date bir tablodaki bir sutunun bir tablo icerebildigi iliski degerli ozniteliklerin nadir durumlarda yararli oldugunu savunur Ayrica bakinizIkinci normal form Ucuncu normal form Boyce Codd normal formuKaynakca Fundamentals of Database Systems Fourth Edition Pearson Temmuz 2003 s 315 ISBN 0321204484 It states that the domain of an attribute must include only atomic simple indivisible values and that the value of any attribute in a tuple must be a single value from the domain of that attribute E F Codd Oct 1972 Further normalization of the database relational model Courant Institute Prentice Hall ISBN 013196741X A relation is in first normal form if it has the property that none of its domains has elements which are themselves sets Database Design 2nd Edition Victoria B C BCcampus 2014 19 Ekim 2020 tarihinde kaynagindan Erisim tarihi 21 Agustos 2020 studytonight com 11 Agustos 2020 tarihinde kaynagindan Erisim tarihi 21 Agustos 2020 stackoverflow com 26 Ekim 2013 tarihinde kaynagindan Erisim tarihi 21 Agustos 2020 In the real world that would not be a good assumption Codd E F The Relational Model for Database Management Version 2 Addison Wesley 1990 Codd E F The Relational Model for Database Management Version 2 Addison Wesley 1990 p 6 Darwen Hugh Relation Valued Attributes or Will the Real First Normal Form Please Stand Up in C J Date and Hugh Darwen Relational Database Writings 1989 1991 Addison Wesley 1992 F or many years writes Date I was as confused as anyone else What s worse I did my best worst to spread that confusion through my writings seminars and other presentations Date C J What First Normal Form Really Means in Date on Database Writings 2000 2006 Springer Verlag 2006 p 108 Date C J What First Normal Form Really Means p 112 SQL and Relational Theory How to Write Accurate SQL Code O Reilly Media Inc 6 Kasim 2015 ss 50 ISBN 978 1 4919 4115 7 25 Haziran 2021 tarihinde kaynagindan Erisim tarihi 31 Ekim 2018 Date C J What First Normal Form Really Means pp 127 128 Such views cannot be created using SQL that conforms to the SQL 2003 standard Codd first defined the relational model in 1969 and didn t introduce nulls until 1979 Date C J SQL and Relational Theory O Reilly 2009 Appendix A 2 The third of Codd s 12 rules states that Null values must be supported in a fully relational DBMS for representing missing information and inapplicable information in a systematic way independent of data type Codd E F Is Your DBMS Really Relational Computerworld October 14 1985 Date C J What First Normal Form Really Means pp 121 126