{"id":43838,"date":"2026-08-04T21:00:49","date_gmt":"2026-08-04T18:00:49","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/"},"modified":"2026-08-04T21:01:24","modified_gmt":"2026-08-04T18:01:24","slug":"erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/","title":{"rendered":"ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak"},"content":{"rendered":"<h2>ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak<\/h2>\n<p>Veritaban\u0131 tasar\u0131m\u0131 ve y\u00f6netimi projelerinde, Entity Relationship Diagram (ERD) dosyalar\u0131 adeta projenin iskeletini olu\u015fturur. Ancak bu kritik dosyalar\u0131n hangi s\u00fcr\u00fcmlerinin s\u00fcr\u00fcm kontrol sistemlerine (VCS) dahil edildi\u011fini belirleyememek, ekip i\u00e7inde kafa kar\u0131\u015f\u0131kl\u0131\u011f\u0131na, hatalara ve zaman kayb\u0131na yol a\u00e7abilir. Peki, bu yayg\u0131n sorunun \u00fcstesinden nas\u0131l gelebiliriz? Bu makalede, ERD dosyalar\u0131n\u0131z\u0131n s\u00fcr\u00fcm kontrol\u00fcndeki durumunu netle\u015ftirmenin yollar\u0131n\u0131 ad\u0131m ad\u0131m inceleyece\u011fiz.<\/p>\n<h2>Neden ERD Dosyalar\u0131n\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olmas\u0131 \u00d6nemli?<\/h2>\n<p>\u00d6ncelikle neden bu konunun bu kadar \u00f6nemli oldu\u011funu anlamakla ba\u015flayal\u0131m. Bir veritaban\u0131 \u015femas\u0131, projenin en temel yap\u0131 ta\u015flar\u0131ndan biridir. Zamanla bu \u015femada de\u011fi\u015fiklikler yap\u0131l\u0131r, yeni tablolar eklenir, mevcut tablolar g\u00fcncellenir veya silinir. Bu de\u011fi\u015fikliklerin d\u00fczenli bir \u015fekilde takip edilmesi, projenin sa\u011fl\u0131\u011f\u0131 ve s\u00fcrd\u00fcr\u00fclebilirli\u011fi i\u00e7in hayati \u00f6nem ta\u015f\u0131r. \u0130\u015fte bu noktada s\u00fcr\u00fcm kontrol sistemleri (Git, SVN vb.) devreye girer. S\u00fcr\u00fcm kontrol\u00fc, yap\u0131lan her de\u011fi\u015fikli\u011fi kaydeder, \u00f6nceki s\u00fcr\u00fcmlere geri d\u00f6nme imkan\u0131 sunar ve ekip \u00fcyeleri aras\u0131ndaki i\u015fbirli\u011fini kolayla\u015ft\u0131r\u0131r. ERD dosyalar\u0131n\u0131z\u0131n s\u00fcr\u00fcm kontrol\u00fcnde olmamas\u0131, \u015fu sorunlara yol a\u00e7abilir:<\/p>\n<ul>\n<li><strong>Hatal\u0131 G\u00fcncellemeler:<\/strong> Hangi ERD dosyas\u0131n\u0131n en g\u00fcncel oldu\u011funu bilmeden yap\u0131lan de\u011fi\u015fiklikler, veri kayb\u0131na veya sistemin bozulmas\u0131na neden olabilir.<\/li>\n<li><strong>\u0130z Kayb\u0131:<\/strong> Bir de\u011fi\u015fiklik yap\u0131ld\u0131\u011f\u0131nda, bu de\u011fi\u015fikli\u011fin ne zaman, kim taraf\u0131ndan ve neden yap\u0131ld\u0131\u011f\u0131n\u0131 bilmek zordur. Bu, hata ay\u0131klama s\u00fcrecini karma\u015f\u0131kla\u015ft\u0131r\u0131r.<\/li>\n<li><strong>\u0130\u015fbirli\u011fi Zorluklar\u0131:<\/strong> Birden fazla geli\u015ftirici ayn\u0131 veritaban\u0131 \u00fczerinde \u00e7al\u0131\u015f\u0131yorsa, kimin hangi versiyon \u00fczerinde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 bilmek ve de\u011fi\u015fiklikleri entegre etmek b\u00fcy\u00fck bir sorun haline gelir.<\/li>\n<li><strong>Geri D\u00f6n\u00fc\u015f Zorlu\u011fu:<\/strong> Yanl\u0131\u015f bir de\u011fi\u015fiklik yap\u0131ld\u0131\u011f\u0131nda, \u00f6nceki \u00e7al\u0131\u015fan bir s\u00fcr\u00fcme geri d\u00f6nmek imkans\u0131z hale gelebilir.<\/li>\n<li><strong>Dok\u00fcmantasyon Eksikli\u011fi:<\/strong> ERD dosyalar\u0131 ayn\u0131 zamanda birer dok\u00fcmand\u0131r. S\u00fcr\u00fcm kontrol\u00fcnde olmad\u0131klar\u0131nda, bu dok\u00fcmantasyonun g\u00fcncelli\u011fi ve eri\u015filebilirli\u011fi sorgulan\u0131r hale gelir.<\/li>\n<\/ul>\n<p>Bu nedenlerle, ERD dosyalar\u0131n\u0131z\u0131n s\u00fcr\u00fcm kontrol sistemlerinizde etkin bir \u015fekilde y\u00f6netildi\u011finden emin olman\u0131z, projenizin ba\u015far\u0131s\u0131 i\u00e7in kritik bir ad\u0131md\u0131r. Bu, sadece teknik bir gereklilik de\u011fil, ayn\u0131 zamanda proje y\u00f6netimi ve ekip koordinasyonu a\u00e7\u0131s\u0131ndan da temel bir prensiptir. \u00d6zellikle b\u00fcy\u00fck ve karma\u015f\u0131k projelerde, veritaban\u0131 \u015femas\u0131ndaki ince ayarlar\u0131n bile genel sistem performans\u0131 ve g\u00fcvenli\u011fi \u00fczerinde b\u00fcy\u00fck etkileri olabilir. Bu nedenle, her bir de\u011fi\u015fikli\u011fin kayd\u0131n\u0131n tutulmas\u0131, olas\u0131 sorunlar\u0131n erken tespit edilmesine ve h\u0131zl\u0131 bir \u015fekilde \u00e7\u00f6z\u00fclmesine olanak tan\u0131r. Ayr\u0131ca, yeni ekip \u00fcyelerinin projeye dahil olmas\u0131 s\u00fcrecini de kolayla\u015ft\u0131r\u0131r, \u00e7\u00fcnk\u00fc mevcut veritaban\u0131 yap\u0131s\u0131n\u0131 ve ge\u00e7mi\u015fini kolayca anlayabilirler.<\/p>\n<h2>Temel Kavramlar: ERD ve S\u00fcr\u00fcm Kontrol\u00fc<\/h2>\n<p>Konuya tam olarak hakim olmayanlar i\u00e7in, ERD ve s\u00fcr\u00fcm kontrol\u00fc kavramlar\u0131n\u0131 k\u0131saca a\u00e7\u0131klayal\u0131m. Entity Relationship Diagram (Varl\u0131k \u0130li\u015fki Diyagram\u0131), veritaban\u0131 yap\u0131s\u0131n\u0131 g\u00f6rselle\u015ftirmek i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r. Veritaban\u0131ndaki tablolar\u0131 (varl\u0131klar), bu tablolar aras\u0131ndaki ili\u015fkileri ve her tablonun sahip oldu\u011fu s\u00fctunlar\u0131 (alanlar) g\u00f6sterir. Genellikle grafiksel bir formatta sunulur ve veritaban\u0131 tasar\u0131mc\u0131lar\u0131 ile geli\u015ftiriciler aras\u0131nda bir ileti\u015fim k\u00f6pr\u00fcs\u00fc g\u00f6revi g\u00f6r\u00fcr. Farkl\u0131 ERD ara\u00e7lar\u0131 (\u00f6rne\u011fin, Lucidchart, draw.io, ER\/Studio) bu diyagramlar\u0131 olu\u015fturmak i\u00e7in kullan\u0131l\u0131r ve genellikle bu diyagramlar <code>.erd<\/code>, <code>.drawio<\/code>, <code>.xml<\/code> gibi dosya uzant\u0131lar\u0131yla kaydedilir.<\/p>\n<p>S\u00fcr\u00fcm Kontrol Sistemi (Version Control System &#8211; VCS), bir projenin zaman i\u00e7indeki t\u00fcm de\u011fi\u015fikliklerini kaydeden bir yaz\u0131l\u0131md\u0131r. En pop\u00fcler VCS, Git&#8217;tir. Git sayesinde, dosyalar\u0131n\u0131z\u0131n ge\u00e7mi\u015f s\u00fcr\u00fcmlerini g\u00f6rebilir, belirli bir s\u00fcr\u00fcme geri d\u00f6nebilir, farkl\u0131 geli\u015ftiricilerin yapt\u0131\u011f\u0131 de\u011fi\u015fiklikleri birle\u015ftirebilir ve kimin ne zaman hangi de\u011fi\u015fikli\u011fi yapt\u0131\u011f\u0131n\u0131 takip edebilirsiniz. Git, genellikle yerel olarak (bilgisayar\u0131n\u0131zda) veya merkezi bir sunucuda (GitHub, GitLab, Bitbucket gibi) kullan\u0131labilir. Temel Git komutlar\u0131 aras\u0131nda <code>git init<\/code> (yeni bir depo ba\u015flatma), <code>git add<\/code> (de\u011fi\u015fiklikleri haz\u0131rlama), <code>git commit<\/code> (de\u011fi\u015fiklikleri kaydetme) ve <code>git push\/pull<\/code> (de\u011fi\u015fiklikleri uzaktaki depoya g\u00f6nderme\/\u00e7ekme) bulunur.<\/p>\n<p>Bu iki kavram\u0131n bir araya gelmesi, veritaban\u0131 \u015femalar\u0131n\u0131z\u0131n g\u00fcvenli\u011fini ve y\u00f6netilebilirli\u011fini sa\u011flar. ERD dosyalar\u0131n\u0131z\u0131n s\u00fcr\u00fcm kontrol sistemine dahil edilmesi, sadece kod dosyalar\u0131n\u0131n de\u011fil, ayn\u0131 zamanda veritaban\u0131 yap\u0131s\u0131n\u0131n da d\u00fczenli bir \u015fekilde y\u00f6netilmesini garanti eder. Bu, \u00f6zellikle \u00e7evik (agile) yaz\u0131l\u0131m geli\u015ftirme metodolojilerinde, s\u00fcrekli entegrasyon ve s\u00fcrekli da\u011f\u0131t\u0131m (CI\/CD) s\u00fcre\u00e7lerinin ayr\u0131lmaz bir par\u00e7as\u0131d\u0131r. Veritaban\u0131 \u015femas\u0131 de\u011fi\u015fiklikleri de kod de\u011fi\u015fiklikleri gibi ele al\u0131nmal\u0131 ve s\u00fcr\u00fcm kontrol\u00fc alt\u0131nda y\u00f6netilmelidir. Bu yakla\u015f\u0131m, beklenmedik hatalar\u0131n \u00f6n\u00fcne ge\u00e7er ve geli\u015ftirme s\u00fcrecini daha \u00f6ng\u00f6r\u00fclebilir hale getirir.<\/p>\n<h2>ERD Dosyalar\u0131n\u0131z Neden S\u00fcr\u00fcm Kontrol\u00fcnde G\u00f6r\u00fcnm\u00fcyor Olabilir?<\/h2>\n<p>Bu sorunun birka\u00e7 temel nedeni olabilir. \u0130lk olarak, geli\u015ftiriciler bazen ERD dosyalar\u0131n\u0131 sadece tasar\u0131m a\u015famas\u0131nda kullan\u0131lan ge\u00e7ici dosyalar olarak g\u00f6rebilirler. Bu, \u00f6zellikle veritaban\u0131 \u015femas\u0131n\u0131 do\u011frudan koddan (\u00f6rne\u011fin, ORM &#8211; Object-Relational Mapper ara\u00e7lar\u0131 kullanarak) olu\u015fturan projelerde yayg\u0131n bir yan\u0131lg\u0131d\u0131r. Bu durumda, ERD dosyas\u0131 sadece bir g\u00f6rselle\u015ftirme arac\u0131 olarak kal\u0131r ve do\u011frudan kod taban\u0131na entegre edilmez. Ancak, bu, veritaban\u0131 \u015femas\u0131n\u0131n anla\u015f\u0131lmas\u0131 ve belgelenmesi a\u00e7\u0131s\u0131ndan \u00f6nemli bir eksikliktir.<\/p>\n<p>\u0130kinci olarak, ERD dosyalar\u0131n\u0131n konumu ve ad\u0131 tutars\u0131z olabilir. Proje yap\u0131s\u0131 karma\u015f\u0131kla\u015ft\u0131k\u00e7a, ERD dosyalar\u0131 farkl\u0131 klas\u00f6rlere yerle\u015ftirilebilir veya farkl\u0131 isimlerle kaydedilebilir. Bu durum, s\u00fcr\u00fcm kontrol sisteminin bu dosyalar\u0131 otomatik olarak tan\u0131mas\u0131n\u0131 zorla\u015ft\u0131r\u0131r. \u00d6rne\u011fin, bir geli\u015ftirici <code>db_design.erd<\/code> ad\u0131nda bir dosya olu\u015ftururken, di\u011feri <code>schema_v2.drawio<\/code> ad\u0131nda bir dosya kullanabilir ve bu dosyalar projenin farkl\u0131 yerlerinde bulunabilir.<\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc olarak, baz\u0131 ERD ara\u00e7lar\u0131, de\u011fi\u015fiklikleri otomatik olarak bir depo dosyas\u0131na kaydetmek yerine, kendi \u00f6zel formatlar\u0131nda veya bulut tabanl\u0131 platformlarda saklayabilir. Bu durumda, bu dosyalar\u0131n yerel dosya sistemi \u00fczerinde bir s\u00fcr\u00fcm kontrol\u00fcne dahil edilmesi ek bir \u00e7aba gerektirir. \u00d6rne\u011fin, Lucidchart gibi \u00e7evrimi\u00e7i ara\u00e7lar kullan\u0131ld\u0131\u011f\u0131nda, diyagramlar do\u011frudan bulutta saklan\u0131r ve yerel bir dosya olarak s\u00fcr\u00fcm kontrol\u00fcne eklenmez. Bu, i\u015fbirli\u011fini kolayla\u015ft\u0131rsa da, yerel geli\u015ftirme ortam\u0131ndaki s\u00fcr\u00fcm kontrol mant\u0131\u011f\u0131yla entegrasyonu karma\u015f\u0131kla\u015ft\u0131rabilir.<\/p>\n<p>Son olarak, ekip i\u00e7inde s\u00fcr\u00fcm kontrol\u00fc konusunda net bir anla\u015fma veya standart olmamas\u0131 da bu soruna yol a\u00e7abilir. Hangi dosya t\u00fcrlerinin s\u00fcr\u00fcmlenmesi gerekti\u011fi veya hangi klas\u00f6rlerin depoya dahil edilmesi gerekti\u011fi konusunda belirsizlikler, ERD dosyalar\u0131n\u0131n g\u00f6zden ka\u00e7\u0131r\u0131lmas\u0131na neden olabilir. Bu durum, \u00f6zellikle yeni ekip \u00fcyeleri kat\u0131ld\u0131\u011f\u0131nda veya proje devral\u0131nd\u0131\u011f\u0131nda daha belirgin hale gelir. Bu nedenle, ekip i\u00e7inde a\u00e7\u0131k ve net bir ileti\u015fim ile standartlar belirlemek, bu t\u00fcr sorunlar\u0131n \u00f6n\u00fcne ge\u00e7menin en etkili yollar\u0131ndan biridir.<\/p>\n<h2>Ad\u0131m Ad\u0131m \u00c7\u00f6z\u00fcm: ERD Dosyalar\u0131n\u0131 S\u00fcr\u00fcm Kontrol\u00fcne Dahil Etme<\/h2>\n<p>Bu sorunu \u00e7\u00f6zmek i\u00e7in izleyebilece\u011fimiz birka\u00e7 etkili y\u00f6ntem bulunmaktad\u0131r. \u0130lk ve en temel ad\u0131m, proje yap\u0131n\u0131zda ERD dosyalar\u0131 i\u00e7in belirli bir klas\u00f6r olu\u015fturmakt\u0131r. Bu klas\u00f6r, t\u00fcm veritaban\u0131 tasar\u0131m diyagramlar\u0131n\u0131z\u0131 bar\u0131nd\u0131rmal\u0131d\u0131r. \u00d6rne\u011fin, projenizin k\u00f6k dizininde <code>docs\/erd<\/code> veya <code>db\/schemas<\/code> gibi bir klas\u00f6r olu\u015fturabilirsiniz. Bu, t\u00fcm ilgili dosyalar\u0131n tek bir yerde toplanmas\u0131n\u0131 sa\u011flayarak hem d\u00fczeni art\u0131r\u0131r hem de s\u00fcr\u00fcm kontrol\u00fcne dahil edilmesini kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>\u0130kinci olarak, olu\u015fturdu\u011funuz bu klas\u00f6r\u00fc Git deponuza eklemelisiniz. E\u011fer projeniz zaten bir Git deposu ise, bu klas\u00f6r\u00fc ve i\u00e7indeki dosyalar\u0131 eklemek i\u00e7in a\u015fa\u011f\u0131daki komutlar\u0131 kullanabilirsiniz:<\/p>\n<pre><code>\n    # Proje k\u00f6k dizininize gidin\n    cd \/path\/to\/your\/project\n\n    # ERD dosyalar\u0131n\u0131z\u0131n bulundu\u011fu klas\u00f6r\u00fc Git'e ekleyin\n    git add docs\/erd\/\n\n    # De\u011fi\u015fiklikleri commit edin\n    git commit -m \"ERD dosyalar\u0131 eklendi ve s\u00fcr\u00fcm kontrol\u00fcne dahil edildi\"\n\n    # Uzak depoya push edin (e\u011fer kullan\u0131yorsan\u0131z)\n    git push origin main\n    <\/code><\/pre>\n<p>Bu ad\u0131mlar, ERD dosyalar\u0131n\u0131z\u0131n art\u0131k projenizin s\u00fcr\u00fcm kontrol ge\u00e7mi\u015finin bir par\u00e7as\u0131 olmas\u0131n\u0131 sa\u011flayacakt\u0131r. Herhangi bir de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131zda, bu de\u011fi\u015fiklikleri de ayn\u0131 \u015fekilde <code>git add<\/code> ve <code>git commit<\/code> komutlar\u0131yla kaydetmeyi unutmay\u0131n. Bu, zaman i\u00e7inde veritaban\u0131 \u015feman\u0131z\u0131n evrimini ad\u0131m ad\u0131m takip etmenizi sa\u011flar.<\/p>\n<p>\u00dc\u00e7\u00fcnc\u00fc olarak, <code>.gitignore<\/code> dosyan\u0131z\u0131 d\u00fczenleyerek, s\u00fcr\u00fcm kontrol\u00fcne dahil edilmemesi gereken ge\u00e7ici veya gereksiz dosyalar\u0131 belirtebilirsiniz. Ancak, ERD dosyalar\u0131n\u0131z\u0131n kendisi genellikle dahil edilmelidir. E\u011fer ERD arac\u0131n\u0131z\u0131n olu\u015fturdu\u011fu ge\u00e7ici veya yap\u0131land\u0131rma dosyalar\u0131 varsa, bunlar\u0131 <code>.gitignore<\/code>&#8216;a ekleyebilirsiniz. \u00d6rne\u011fin, baz\u0131 ara\u00e7lar <code>.settings<\/code> veya <code>.cache<\/code> gibi klas\u00f6rler olu\u015fturabilir. Bu t\u00fcr klas\u00f6rleri Git&#8217;in takip etmemesi i\u00e7in <code>.gitignore<\/code> dosyan\u0131za a\u015fa\u011f\u0131daki gibi sat\u0131rlar ekleyebilirsiniz:<\/p>\n<pre><code>\n    # ERD arac\u0131 ge\u00e7ici dosyalar\u0131\n    *.tmp\n    .cache\/\n    .settings\/\n    <\/code><\/pre>\n<p>Bu, deponuzun gereksiz dosyalarla dolmas\u0131n\u0131 \u00f6nler ve sadece projenizin ana bile\u015fenlerinin s\u00fcr\u00fcmlenmesini sa\u011flar. Bu y\u00f6ntemlerle, ERD dosyalar\u0131n\u0131z\u0131n s\u00fcr\u00fcm kontrol\u00fc alt\u0131ndaki durumunu netle\u015ftirebilir ve projenizin daha organize ve y\u00f6netilebilir olmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<h2>Vaka Analizi: &#8220;Gizli&#8221; ERD Dosyalar\u0131 ve \u00c7\u00f6z\u00fcm\u00fc<\/h2>\n<p>Bir yaz\u0131l\u0131m geli\u015ftirme ekibi, b\u00fcy\u00fck bir e-ticaret platformu \u00fczerinde \u00e7al\u0131\u015f\u0131yordu. Proje y\u0131llard\u0131r devam ediyordu ve veritaban\u0131 \u015femas\u0131 s\u00fcrekli g\u00fcncelleniyordu. Ancak, ekip, veritaban\u0131 \u015femas\u0131n\u0131n tam olarak hangi s\u00fcr\u00fcmde oldu\u011funu belirlemekte zorlan\u0131yordu. Yeni bir \u00f6zellik geli\u015ftirilirken, veritaban\u0131 \u015femas\u0131nda beklenmedik bir de\u011fi\u015fiklik yap\u0131lmas\u0131 gerekti\u011finde, geli\u015ftiriciler hangi ERD dosyas\u0131n\u0131n do\u011fru oldu\u011funu bulmakta g\u00fc\u00e7l\u00fck \u00e7ekiyorlard\u0131. Bu durum, geli\u015ftirme s\u00fcrecini yava\u015flat\u0131yor ve s\u0131k s\u0131k hatal\u0131 deploy&#8217;lara yol a\u00e7\u0131yordu.<\/p>\n<p>\u0130nceleme sonucunda, ERD dosyalar\u0131n\u0131n projenin farkl\u0131 yerlerine da\u011f\u0131ld\u0131\u011f\u0131 ortaya \u00e7\u0131kt\u0131. Baz\u0131lar\u0131 geli\u015ftiricilerin yerel makinelerinde, baz\u0131lar\u0131 ise proje klas\u00f6r\u00fcn\u00fcn derinliklerinde, farkl\u0131 isimlerle kaydedilmi\u015fti. Ayr\u0131ca, baz\u0131 ERD diyagramlar\u0131 do\u011frudan veritaban\u0131 y\u00f6netim ara\u00e7lar\u0131ndan (\u00f6rne\u011fin, SQL Server Management Studio&#8217;nun \u015fema tasar\u0131mc\u0131s\u0131) export edilmi\u015f ve s\u00fcr\u00fcm kontrol\u00fcne dahil edilmemi\u015fti. Bu durum, &#8220;gizli&#8221; ERD dosyalar\u0131 sorununun temelini olu\u015fturuyordu.<\/p>\n<p>\u00c7\u00f6z\u00fcm olarak ekip, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 uygulamaya karar verdi:<\/p>\n<ol>\n<li><strong>Merkezi ERD Klas\u00f6r\u00fc:<\/strong> Projenin ana dizininde <code>db\/erd<\/code> ad\u0131nda yeni bir klas\u00f6r olu\u015fturuldu.<\/li>\n<li><strong>Dosya Temizli\u011fi:<\/strong> T\u00fcm ekip \u00fcyeleri, kendi yerel makinelerindeki ve proje i\u00e7indeki t\u00fcm ERD dosyalar\u0131n\u0131 (farkl\u0131 formatlardaki diyagramlar dahil) bu yeni klas\u00f6re ta\u015f\u0131d\u0131.<\/li>\n<li><strong>S\u00fcr\u00fcm Kontrol\u00fcne Dahil Etme:<\/strong> <code>db\/erd<\/code> klas\u00f6r\u00fc ve i\u00e7indeki dosyalar Git deposuna eklendi.<\/li>\n<li><strong>Standartla\u015ft\u0131rma:<\/strong> ERD dosyalar\u0131 i\u00e7in belirli bir adland\u0131rma kural\u0131 belirlendi (\u00f6rne\u011fin, <code>[veritaban\u0131_ad\u0131]_v[versiyon_numaras\u0131].erd<\/code>).<\/li>\n<li><strong>Otomatik \u00dcretimden Ka\u00e7\u0131nma:<\/strong> Do\u011frudan veritaban\u0131 ara\u00e7lar\u0131ndan export edilen \u015femalar yerine, bir ERD tasar\u0131m arac\u0131 kullan\u0131larak diyagramlar\u0131n olu\u015fturulmas\u0131 ve bu dosyalar\u0131n s\u00fcr\u00fcm kontrol\u00fcne eklenmesi kararla\u015ft\u0131r\u0131ld\u0131. Bu, diyagramlar\u0131n daha anla\u015f\u0131l\u0131r ve tutarl\u0131 olmas\u0131n\u0131 sa\u011flad\u0131.<\/li>\n<li><strong>Dok\u00fcmantasyon:<\/strong> Projenin README dosyas\u0131na, ERD dosyalar\u0131n\u0131n nerede bulundu\u011fu ve nas\u0131l y\u00f6netildi\u011fi hakk\u0131nda bilgi eklendi.<\/li>\n<\/ol>\n<p>Bu ad\u0131mlar sonucunda, ekip art\u0131k t\u00fcm ERD dosyalar\u0131n\u0131n tek bir yerde topland\u0131\u011f\u0131n\u0131 ve s\u00fcr\u00fcm kontrol\u00fc alt\u0131nda oldu\u011funu biliyordu. Bu, geli\u015ftirme s\u00fcre\u00e7lerini \u00f6nemli \u00f6l\u00e7\u00fcde h\u0131zland\u0131rd\u0131, hatalar\u0131 azaltt\u0131 ve ekip \u00fcyeleri aras\u0131ndaki ileti\u015fimi g\u00fc\u00e7lendirdi. Art\u0131k yeni bir \u00f6zellik geli\u015ftirilirken veya bir hata ay\u0131klan\u0131rken, veritaban\u0131 \u015femas\u0131n\u0131n g\u00fcncel ve do\u011fru s\u00fcr\u00fcm\u00fcne kolayca eri\u015febiliyorlard\u0131. Bu vaka analizi, basit ama etkili bir organizasyonel de\u011fi\u015fikli\u011fin bile b\u00fcy\u00fck teknik sorunlar\u0131 nas\u0131l \u00e7\u00f6zebilece\u011fini g\u00f6stermektedir.<\/p>\n<h2>ERD Ara\u00e7lar\u0131 ve S\u00fcr\u00fcm Kontrol\u00fc Entegrasyonu<\/h2>\n<p>Farkl\u0131 ERD tasar\u0131m ara\u00e7lar\u0131, s\u00fcr\u00fcm kontrol\u00fc ile entegrasyon konusunda farkl\u0131 yakla\u015f\u0131mlara sahip olabilir. Baz\u0131 ara\u00e7lar, diyagramlar\u0131 d\u00fcz metin format\u0131nda (\u00f6rne\u011fin, XML veya JSON benzeri) kaydedebilir. Bu t\u00fcr formatlar, Git gibi metin tabanl\u0131 s\u00fcr\u00fcm kontrol sistemleri i\u00e7in olduk\u00e7a uygundur. \u00c7\u00fcnk\u00fc Git, metin dosyalar\u0131ndaki de\u011fi\u015fiklikleri sat\u0131r sat\u0131r takip edebilir ve farkl\u0131 s\u00fcr\u00fcmler aras\u0131ndaki farklar\u0131 kolayca g\u00f6sterebilir. Bu, \u00f6zellikle bir ERD diyagram\u0131nda yap\u0131lan k\u00fc\u00e7\u00fck bir de\u011fi\u015fikli\u011fin bile net bir \u015fekilde g\u00f6r\u00fclmesini sa\u011flar.<\/p>\n<p>Di\u011fer baz\u0131 ara\u00e7lar ise, diyagramlar\u0131 ikili (binary) formatlarda kaydedebilir. \u0130kili dosyalar, Git taraf\u0131ndan sat\u0131r sat\u0131r takip edilemez. Bu durumda, Git sadece dosyan\u0131n tamam\u0131n\u0131n de\u011fi\u015fti\u011fini g\u00f6rebilir, ancak de\u011fi\u015fikliklerin tam olarak ne oldu\u011funu anlamaz. Bu, s\u00fcr\u00fcm kontrol\u00fc a\u00e7\u0131s\u0131ndan baz\u0131 s\u0131n\u0131rlamalar getirebilir. Ancak, bu durumlar i\u00e7in de \u00e7\u00f6z\u00fcmler mevcuttur. \u00d6rne\u011fin, Git&#8217;in &#8220;difftool&#8221; (fark arac\u0131) \u00f6zelli\u011fini kullanarak, ikili dosyalar aras\u0131ndaki farklar\u0131 g\u00f6rselle\u015ftirebilen \u00f6zel ara\u00e7lar yap\u0131land\u0131r\u0131labilir.<\/p>\n<p>Modern ERD ara\u00e7lar\u0131n\u0131n \u00e7o\u011fu, art\u0131k bulut tabanl\u0131 i\u015fbirli\u011fi \u00f6zellikleri sunmaktad\u0131r. Lucidchart, draw.io (diagrams.net) gibi ara\u00e7lar, diyagramlar\u0131n\u0131z\u0131 \u00e7evrimi\u00e7i olarak saklaman\u0131za ve ekip \u00fcyeleriyle ger\u00e7ek zamanl\u0131 olarak i\u015fbirli\u011fi yapman\u0131za olanak tan\u0131r. Bu ara\u00e7lar genellikle kendi s\u00fcr\u00fcm ge\u00e7mi\u015flerini de sunarlar. Ancak, bu \u00e7evrimi\u00e7i s\u00fcr\u00fcmlerin, projenizin yerel Git deposuyla senkronize oldu\u011fundan emin olmak \u00f6nemlidir. Bunun i\u00e7in, bu ara\u00e7lardan diyagramlar\u0131n yerel kopyalar\u0131n\u0131 export edip, bu dosyalar\u0131 s\u00fcr\u00fcm kontrol\u00fcne eklemek yayg\u0131n bir pratiktir. Alternatif olarak, baz\u0131 ara\u00e7lar Git entegrasyonu i\u00e7in API&#8217;ler veya eklentiler sunabilir, bu da diyagramlar\u0131n do\u011frudan Git ile senkronize edilmesini sa\u011flayabilir.<\/p>\n<p>\u00d6zetle, kulland\u0131\u011f\u0131n\u0131z ERD arac\u0131n\u0131n dosya format\u0131n\u0131 ve s\u00fcr\u00fcm kontrol\u00fc yeteneklerini anlamak \u00f6nemlidir. E\u011fer arac\u0131n\u0131z metin tabanl\u0131 dosyalar \u00fcretiyorsa, s\u00fcr\u00fcm kontrol\u00fc entegrasyonu olduk\u00e7a sorunsuz olacakt\u0131r. \u0130kili dosyalar \u00fcretiyorsa veya bulut tabanl\u0131ysa, yerel kopyalar\u0131 s\u00fcr\u00fcm kontrol\u00fcne eklemek veya \u00f6zel entegrasyon \u00e7\u00f6z\u00fcmleri ara\u015ft\u0131rmak gerekebilir. Bu, veritaban\u0131 \u015feman\u0131z\u0131n her zaman g\u00fcncel ve takip edilebilir olmas\u0131n\u0131 sa\u011flamak i\u00e7in kritik bir ad\u0131md\u0131r.<\/p>\n<h2>\u0130leri D\u00fczey: Otomatik \u015eema Migrasyonlar\u0131 ve ERD<\/h2>\n<p>Daha deneyimli kullan\u0131c\u0131lar i\u00e7in, ERD dosyalar\u0131n\u0131n s\u00fcr\u00fcm kontrol\u00fc ile olan ili\u015fkisi, otomatik \u015fema migrasyonlar\u0131 (schema migrations) ba\u011flam\u0131nda daha da derinle\u015fir. \u015eema migrasyonlar\u0131, veritaban\u0131 \u015femas\u0131ndaki de\u011fi\u015fiklikleri kod olarak y\u00f6netme prati\u011fidir. Bu yakla\u015f\u0131mda, her bir veritaban\u0131 de\u011fi\u015fikli\u011fi (yeni tablo ekleme, s\u00fctun de\u011fi\u015ftirme vb.) ayr\u0131 bir &#8220;migrasyon dosyas\u0131&#8221; olarak kaydedilir. Bu migrasyon dosyalar\u0131, Git gibi s\u00fcr\u00fcm kontrol sistemlerine dahil edilir.<\/p>\n<p>Bu sistemlerde, bir ERD diyagram\u0131 genellikle &#8220;tek do\u011fru kaynak&#8221; (single source of truth) olarak kabul edilmez. Bunun yerine, ERD diyagram\u0131, mevcut veritaban\u0131 \u015femas\u0131n\u0131n veya bir sonraki s\u00fcr\u00fcme ge\u00e7i\u015fin g\u00f6rsel bir temsilini sunar. Geli\u015ftiriciler, de\u011fi\u015fiklikleri \u00f6nce ERD \u00fczerinde g\u00f6rselle\u015ftirir, ard\u0131ndan bu de\u011fi\u015fiklikleri temsil eden migrasyon dosyalar\u0131n\u0131 olu\u015ftururlar. Bu migrasyon dosyalar\u0131, veritaban\u0131n\u0131 istenen \u015fema durumuna getirmek i\u00e7in \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r.<\/p>\n<p>Pop\u00fcler migrasyon ara\u00e7lar\u0131 aras\u0131nda Flyway, Liquibase, Entity Framework Migrations ( .NET i\u00e7in) ve Django Migrations (Python i\u00e7in) bulunur. Bu ara\u00e7lar, migrasyon dosyalar\u0131n\u0131 okuyarak veritaban\u0131n\u0131 otomatik olarak g\u00fcnceller. Bu sayede, geli\u015ftirme, test ve \u00fcretim ortamlar\u0131ndaki veritaban\u0131 \u015femalar\u0131 her zaman senkronize kal\u0131r.<\/p>\n<p>Bu yakla\u015f\u0131m\u0131n ERD dosyalar\u0131yla ili\u015fkisi \u015f\u00f6yledir:<\/p>\n<ul>\n<li><strong>G\u00f6rselle\u015ftirme Arac\u0131:<\/strong> ERD diyagramlar\u0131, migrasyon dosyalar\u0131 olu\u015fturmadan \u00f6nce \u015femay\u0131 anlamak ve planlamak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>Migrasyon Dosyalar\u0131 Kayna\u011f\u0131:<\/strong> ERD \u00fczerinde yap\u0131lan de\u011fi\u015fiklikler, geli\u015ftiriciler taraf\u0131ndan manuel olarak migrasyon dosyalar\u0131na d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr.<\/li>\n<li><strong>Senkronizasyon:<\/strong> Migrasyon dosyalar\u0131 s\u00fcr\u00fcm kontrol\u00fcnde tutulur. ERD dosyalar\u0131 da bu migrasyon dosyalar\u0131yla tutarl\u0131 olacak \u015fekilde g\u00fcncellenir.<\/li>\n<\/ul>\n<p>Bu ileri d\u00fczey yakla\u015f\u0131m, b\u00fcy\u00fck ve karma\u015f\u0131k projelerde veritaban\u0131 y\u00f6netimini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirir ve otomatize eder. ERD dosyalar\u0131, bu s\u00fcrecin g\u00f6rsel ve anla\u015f\u0131l\u0131r bir par\u00e7as\u0131 olmaya devam ederken, as\u0131l de\u011fi\u015fiklik y\u00f6netimi migrasyon dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r. Bu, geli\u015ftirme h\u0131z\u0131n\u0131 art\u0131r\u0131r ve veritaban\u0131 hatalar\u0131n\u0131 en aza indirir. \u00d6rne\u011fin, bir ekip \u00fcyesi yeni bir tablo eklemek istedi\u011finde, \u00f6nce ERD \u00fczerinde bu tabloyu \u00e7izer, ard\u0131ndan bu tabloyu olu\u015fturacak SQL kodunu i\u00e7eren bir migrasyon dosyas\u0131 yazar ve bu dosyay\u0131 Git&#8217;e commit eder. Di\u011fer ekip \u00fcyeleri bu de\u011fi\u015fikli\u011fi \u00e7ekebilir ve kendi veritabanlar\u0131nda \u00e7al\u0131\u015ft\u0131rabilir.<\/p>\n<h2>Sonu\u00e7 ve S\u0131k\u00e7a Sorulan Sorular<\/h2>\n<p>ERD dosyalar\u0131n\u0131z\u0131n s\u00fcr\u00fcm kontrol\u00fcnde olup olmad\u0131\u011f\u0131n\u0131 belirleyememek, veritaban\u0131 projelerinizde ciddi aksakl\u0131klara yol a\u00e7abilir. Ancak, basit ad\u0131mlarla bu sorunu \u00e7\u00f6zebilir, ERD dosyalar\u0131n\u0131z\u0131 projenizin ayr\u0131lmaz bir par\u00e7as\u0131 haline getirebilirsiniz. Proje yap\u0131n\u0131zda belirgin bir klas\u00f6r olu\u015fturmak, dosyalar\u0131 bu klas\u00f6re toplamak ve Git gibi s\u00fcr\u00fcm kontrol sistemlerine eklemek, bu s\u00fcrecin temelini olu\u015fturur. Kulland\u0131\u011f\u0131n\u0131z ERD arac\u0131n\u0131n yeteneklerini anlamak ve <code>.gitignore<\/code> dosyan\u0131z\u0131 do\u011fru yap\u0131land\u0131rmak da s\u00fcreci daha da iyile\u015ftirecektir. \u0130leri d\u00fczeyde, otomatik \u015fema migrasyonlar\u0131 ile ERD&#8217;leri birle\u015ftirmek, veritaban\u0131 y\u00f6netimini daha da sa\u011flamla\u015ft\u0131racakt\u0131r.<\/p>\n<p>Bu makalede ele ald\u0131\u011f\u0131m\u0131z y\u00f6ntemler, hem bireysel geli\u015ftiriciler hem de b\u00fcy\u00fck ekipler i\u00e7in ge\u00e7erlidir. ERD dosyalar\u0131n\u0131z\u0131 s\u00fcr\u00fcm kontrol\u00fcne dahil etmek, projenizin \u015feffafl\u0131\u011f\u0131n\u0131, g\u00fcvenli\u011fini ve y\u00f6netilebilirli\u011fini art\u0131racakt\u0131r. Bu, uzun vadede zaman ve kaynak tasarrufu sa\u011flayarak projenizin ba\u015far\u0131s\u0131n\u0131 do\u011frudan etkileyecektir.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<ul>\n<li>\n            <strong>Soru:<\/strong> ERD dosyalar\u0131m i\u00e7in hangi dosya format\u0131n\u0131 kullanmal\u0131y\u0131m?<br \/>\n            <strong>Cevap:<\/strong> M\u00fcmk\u00fcnse, Git gibi metin tabanl\u0131 s\u00fcr\u00fcm kontrol sistemleriyle uyumlu olan XML veya JSON benzeri formatlar\u0131 tercih edin. E\u011fer arac\u0131n\u0131z ikili formatlar \u00fcretiyorsa, yerel kopyalar\u0131 s\u00fcr\u00fcm kontrol\u00fcne eklemek veya \u00f6zel difftool&#8217;lar kullanmak gerekebilir.\n        <\/li>\n<li>\n            <strong>Soru:<\/strong> Bulut tabanl\u0131 ERD ara\u00e7lar\u0131 kullan\u0131yorum, s\u00fcr\u00fcm kontrol\u00fc nas\u0131l yapmal\u0131y\u0131m?<br \/>\n            <strong>Cevap:<\/strong> Bu ara\u00e7lar\u0131n genellikle kendi s\u00fcr\u00fcm ge\u00e7mi\u015fleri bulunur. Ancak, projenizin yerel Git deposuyla tutarl\u0131l\u0131k sa\u011flamak i\u00e7in, diyagramlar\u0131n yerel kopyalar\u0131n\u0131 export edip bu dosyalar\u0131 Git&#8217;e eklemeniz \u00f6nerilir.\n        <\/li>\n<li>\n            <strong>Soru:<\/strong> T\u00fcm ekip \u00fcyelerinin ayn\u0131 ERD dosyas\u0131n\u0131 kullanmas\u0131n\u0131 nas\u0131l sa\u011flar\u0131m?<br \/>\n            <strong>Cevap:<\/strong> Proje i\u00e7inde ERD dosyalar\u0131 i\u00e7in merkezi bir klas\u00f6r belirleyin ve t\u00fcm ekip \u00fcyelerinin bu klas\u00f6rdeki dosyalar\u0131 kullanmas\u0131n\u0131 sa\u011flay\u0131n. S\u00fcr\u00fcm kontrol\u00fc, bu dosyalar\u0131n tutarl\u0131 bir \u015fekilde g\u00fcncellenmesine yard\u0131mc\u0131 olacakt\u0131r.\n        <\/li>\n<li>\n            <strong>Soru:<\/strong> Veritaban\u0131 \u015femas\u0131 s\u00fcrekli de\u011fi\u015fiyor, ERD dosyalar\u0131n\u0131 s\u00fcrekli g\u00fcncellemek zor de\u011fil mi?<br \/>\n            <strong>Cevap:<\/strong> Evet, ancak bu zorunlu bir ad\u0131md\u0131r. Otomatik \u015fema migrasyonlar\u0131 ile birlikte kullan\u0131ld\u0131\u011f\u0131nda, ERD dosyalar\u0131 \u015feman\u0131n g\u00f6rsel bir kayd\u0131 olarak kal\u0131r ve migrasyon dosyalar\u0131 as\u0131l de\u011fi\u015fiklik y\u00f6netimini sa\u011flar. Bu, s\u00fcreci daha y\u00f6netilebilir hale getirir.\n        <\/li>\n<li>\n            <strong>Soru:<\/strong> ERD dosyalar\u0131m i\u00e7in ayr\u0131 bir Git deposu mu olu\u015fturmal\u0131y\u0131m?<br \/>\n            <strong>Cevap:<\/strong> Genellikle hay\u0131r. ERD dosyalar\u0131, projenizin di\u011fer kodlar\u0131 ve yap\u0131land\u0131rma dosyalar\u0131yla birlikte ayn\u0131 Git deposunda tutulmal\u0131d\u0131r. Bu, veritaban\u0131 \u015femas\u0131n\u0131n genel proje ba\u011flam\u0131nda anla\u015f\u0131lmas\u0131n\u0131 kolayla\u015ft\u0131r\u0131r.\n        <\/li>\n<\/ul>\n<p>#Veritaban\u0131Tasar\u0131m\u0131 #S\u00fcr\u00fcmKontrol\u00fc #ERD #Git #Yaz\u0131l\u0131mGeli\u015ftirme<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/track-erd-schema-changes-diff-revert\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/track-erd-schema-changes-diff-revert<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Veritaban\u0131 tasar\u0131m\u0131 ve y\u00f6netimi projelerinde, Entity Relationship Diagram (ERD) dosyalar\u0131 adeta projenin iskeletini olu\u015fturur.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-43838","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak\" \/>\n<meta property=\"og:description\" content=\"Veritaban\u0131 tasar\u0131m\u0131 ve y\u00f6netimi projelerinde, Entity Relationship Diagram (ERD) dosyalar\u0131 adeta projenin iskeletini olu\u015fturur.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-04T18:00:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-04T18:01:24+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak\",\"datePublished\":\"2026-08-04T18:00:49+00:00\",\"dateModified\":\"2026-08-04T18:01:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/\"},\"wordCount\":3436,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/\",\"name\":\"ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-08-04T18:00:49+00:00\",\"dateModified\":\"2026-08-04T18:01:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/","og_locale":"tr_TR","og_type":"article","og_title":"ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak","og_description":"Veritaban\u0131 tasar\u0131m\u0131 ve y\u00f6netimi projelerinde, Entity Relationship Diagram (ERD) dosyalar\u0131 adeta projenin iskeletini olu\u015fturur.","og_url":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-08-04T18:00:49+00:00","article_modified_time":"2026-08-04T18:01:24+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak","datePublished":"2026-08-04T18:00:49+00:00","dateModified":"2026-08-04T18:01:24+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/"},"wordCount":3436,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/","url":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/","name":"ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-08-04T18:00:49+00:00","dateModified":"2026-08-04T18:01:24+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/erd-dosyalarinizin-surum-kontrolunde-olup-olmadigini-anlayamamak\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ERD Dosyalar\u0131n\u0131z\u0131n S\u00fcr\u00fcm Kontrol\u00fcnde Olup Olmad\u0131\u011f\u0131n\u0131 Anlayamamak"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=43838"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43838\/revisions"}],"predecessor-version":[{"id":43839,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43838\/revisions\/43839"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=43838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=43838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=43838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}