Yeni başlayan yazılımcı nasıl devam etmeli?

FVuarr

Decapat
Katılım
7 Şubat 2023
Mesajlar
84
Çözümler
3
Daha fazla  
Cinsiyet
Erkek
Merhaba forum sakinleri,

Size çok ihtiyacım var. Sizden akıl istemek için rahatsız ediyorum, müsaade buyurursanız biraz uzatacağım çünkü kendimi nasıl açıklayacağımı bilemiyorum.

16 yaşımda HTML, CSS ve JS öğrendim, 2-3 yıl hiçbir şey yapmadım saldım site işlerini. Geçen sene yeniden sardım bu işlere. Önce JS'yi adamakıllı tekrar ettim sonra React (ne seviyedeyim bilmiyorum) öğrendim, şimdi de nextjs öğreniyorum.

Veri işlerinden, database işlerinden, SQL ve regext ten şu anda anlamıyorum.
Gözümde çok büyütüyorum. Öğrenmeye çekiniyorum.

Kendimin ne kadar bildiğini ve bu piyasada ne durumda olduğumu hiç bilmiyorum çünkü piyasayı bilmiyorum. Bilen birilerini tanımıyorum.

Sizden benim seviyemi test etmenizi rica ediyorum.

Bir proje fikri ya da projeler görevleri verebilir misiniz? Ya da ne yapmam gerektiğine nasıl bir yol izlemem gerektiğine ya da kimlere başvurmam gerektiğine dair bir bilgilendirme sunabilir misiniz? Gerćek anlamda bu bilgilere ve yönlendirmelerize çok ohtiyacım var boşluğa düştüm araştırma yapmak bile tat vermiyor artık.
 
Son düzenleyen: Moderatör:
Merhaba forum sakinleri,

Size çok ihtiyacım var. Sizden akıl istemek için rahatsız ediyorum, müsaade buyurursanız biraz uzatacağım çünkü kendimi nasıl açıklayacağımı bilemiyorum.

16 yaşımda HTML, CSS ve JS öğrendim, 2-3 yıl hiçbir şey yapmadım saldım site işlerini. Geçen sene yeniden sardım bu işlere. Önce JS'yi adamakıllı tekrar ettim sonra React (ne seviyedeyim bilmiyorum) öğrendim, şimdi de nextjs öğreniyorum.

Veri işlerinden, database işlerinden, SQL ve regext ten şu anda anlamıyorum.
Gözümde çok büyütüyorum. Öğrenmeye çekiniyorum.

Kendimin ne kadar bildiğini ve bu piyasada ne durumda olduğumu hiç bilmiyorum çünkü piyasayı bilmiyorum. Bilen birilerini tanımıyorum.

Sizden benim seviyemi test etmenizi rica ediyorum.

Bir proje fikri ya da projeler görevleri verebilir misiniz? Ya da ne yapmam gerektiğine nasıl bir yol izlemem gerektiğine ya da kimlere başvurmam gerektiğine dair bir bilgilendirme sunabilir misiniz? Gerćek anlamda bu bilgilere ve yönlendirmelerize çok ohtiyacım var boşluğa düştüm araştırma yapmak bile tat vermiyor artık.

Hocam merhaba, ilk önce yaşın daha genç ve bu yaşta kendi başına YouTube veya Udemy üzerinden gerekli kurslarla kendini geliştirebilirsin. Algoritma seviyeni LeetCode ile geliştirebilirsin. Bedavaya sana "mentörlük" edecek birini bulamazsın, oturur tavsiye verirler sadece onun da ana fikri git kurslara çalış kendini geliştir veya üniversite de öğren olur. İnternette yapabileceğin projeler için tavsiyeler var, gidip ChatGPT'ye de sorabilirsin. Eğer öğrenmeye ve geleceğini bu yolda belirlemeye istekliysen devamı geliyor. O yüzden lütfen internetten araştırmayı öğren, bu seni asıl ileriye atacak olan şey zaten.
 
Merhabalar, iyi geceler diliyorum. Ayrıca sarf etmiş olduğunuz bireysel çaba için de sizleri tebrik ediyorum. Öncelikle belirtmemde fayda var: Anladığım kadarıyla Front-End odaklı teknik becerileri kazanmaya çalışıyorsunuz ancak ilişkisel veri tabanı yönetim sistemleri ve diğer ilişkisel olmayan veri tabanı yönetim sistemleri üzerinde de veri tabanı sorgulama/veri tabanı programlama niteliklerini de edinmeye çalışıyorsunuz, bu bağlamda da Full Stack odaklı teknik becerileri edinmeye çalıştığınızı yorumluyorum.

Ben Front End Developer için gerekli olan niteliklere tam anlamıyla sahip birisi değilim bu sebeple o doğrultuda tavsiyelerde bulunursam eğer sadece haddimi aşmış olurum ancak Back End üzerine pozisyon alan arkadaşlarla bayağı içli dışlı olduğumu rahatlıkla belirtebilirim. Bu sebeple şahsen abartıya kaçmadan biraz sohbet edebileceğimizi düşünüyorum. Öncelikle emin olmak adına nasıl bir kariyer hedefi planladığına dair biraz kendini ifade etmek istersen eğer seni dinlerim.
 
Son düzenleme:
Merhabalar, iyi geceler diliyorum. Ayrıca sarf etmiş olduğunuz bireysel çaba için de sizleri tebrik ediyorum. Öncelikle belirtmemde fayda var: Anladığım kadarıyla Front-End odaklı teknik becerileri kazanmaya çalışıyorsunuz ancak ilişkisel veri tabanı yönetim sistemleri ve diğer ilişkisel olmayan veri tabanı yönetim sistemleri üzerinde de veri tabanı sorgulama/veri tabanı programlama niteliklerini de edinmeye çalışıyorsunuz, bu bağlamda da Full Stack odaklı teknik becerileri edinmeye çalıştığınızı yorumluyorum.

Ben Front End Developer için gerekli olan niteliklere tam anlamıyla sahip birisi değilim bu sebeple o doğrultuda tavsiyelerde bulunursam eğer sadece haddimi aşmış olurum ancak Back End üzerine pozisyon alan arkadaşlarla bayağı içli dışlıyım olduğumu rahatlıkla belirtebilirim. Bu sebeple şahsen abartıya kaçmadan biraz sohbet edebileceğimizi düşünüyorum. Öncelikle emin olmak adına nasıl bir kariyer hedefi planladığına dair biraz kendini ifade etmek istersen eğer seni dinlerim.
Bu tarz fırsatlar bulduğun zaman ise alabildiğin kadar bilgi alıp farklı iş alanlarına da bakmalısın.

Teşekkür ederim hocam.
 
Merhaba, iyi geceler diliyorum. Ayrıca sarf etmiş olduğunuz bireysel çaba için de sizleri tebrik ediyorum. Öncelikle belirtmemde fayda var: Anladığım kadarıyla Front-End odaklı teknik becerileri kazanmaya çalışıyorsunuz ancak ilişkisel veri tabanı yönetim sistemleri ve diğer ilişkisel olmayan veri tabanı yönetim sistemleri üzerinde de veri tabanı sorgulama/veri tabanı programlama niteliklerini de edinmeye çalışıyorsunuz, bu bağlamda da full stack odaklı teknik becerileri edinmeye çalıştığınızı yorumluyorum.

Ben front end developer için gerekli olan niteliklere tam anlamıyla sahip birisi değilim bu sebeple o doğrultuda tavsiyelerde bulunursam eğer sadece haddimi aşmış olurum ancak back end üzerine pozisyon alan arkadaşlarla bayağı içli dışlı olduğumu rahatlıkla belirtebilirim. Bu sebeple şahsen abartıya kaçmadan biraz sohbet edebileceğimizi düşünüyorum. Öncelikle emin olmak adına nasıl bir kariyer hedefi planladığına dair biraz kendini ifade etmek istersen eğer seni dinlerim.

Hocam ilgilendiğin ve alakadar olduğun için çok teşekkür ederim. Fullstack olma yolunda ilerlemeyi düşünüyorum.

PHP, Node.js, Python, Rust, C# gibi dillerde temelim var. Frontend kısmında zaten ilerliyorum. Sadece veride sorun yaşıyorum. Onada sağlam bir girişip tam anlamıyla öğrenmeyi düşünüyorum.

Örnek olarak tailwind + nextjs + typescript ile kendi portföy sitemi tasarlıyorum, onu verebilirim;
ahmetcanisik.com

Docusaurus kullanarakta üniversitedekiler için bir not sitesi yapıyorum;
Hello from Okulda Öğrenilen | Okulda Öğrenilen
 
Hocam ilgilendiğin ve alakadar olduğun için çok teşekkür ederim. Fullstack olma yolunda ilerlemeyi düşünüyorum.

PHP, Node.js, Python, Rust, C# gibi dillerde temelim var. Frontend kısmında zaten ilerliyorum. Sadece veride sorun yaşıyorum. Onada sağlam bir girişip tam anlamıyla öğrenmeyi düşünüyorum.

Örnek olarak tailwind + nextjs + typescript ile kendi portföy sitemi tasarlıyorum, onu verebilirim;
ahmetcanisik.com

Docusaurus kullanarakta üniversitedekiler için bir not sitesi yapıyorum;
Hello from Okulda Öğrenilen | Okulda Öğrenilen
Merhabalar, kabul etmeliyim iyi bir başlangıç yaptığın inkar edilemez.
Veri işleme ve yönetme ile ilgili seni anlıyorum, RDBMS (İlişkisel Veri Tabanı Yönetim Sistemleri) ve DBMS'ler (İlişkisel Olmayan Veri Tabanı Yönetim Sistemleri) Full Stack Developer adayı için bel kemiği niteliğindedir. Bu bağlamda başlangıç mahiyetinde Microsoft Server SQL üzerinde bir eğitime başlamak ve eğitim dahilinde "Aggregation Functions", "Sorting&Grouping", "All Joins", "Filtering&Cheching", "Aliases and Calculated Columns", "Conditional Statements", "Date Stabilizing", "Table Create&Modify", "Indexes" gibi temel konularda hakimiyet kazanmak sana muazzam bir avantaj kazandıracaktır. Bu sayede SQL ile gerçekleştirilen "Veri Tabanı Sorgulama" niteliğini elde edebilmiş olacaksın (Veri tipolojileri, DDL Komutları, DML Komutları gibi pek çok unsur vardır ancak bunları spesifik olarak açıklamaya gerek duymuyorum eğitim içerisinde öğrenmek daha iyi olacaktır).

"Veri Tabanı Sorgulama" niteliğini kazandığın takdirde sahip olacağın bir diğer önemli avantaj ise diğer RDBMS yazılımlarını Veri Tabanı Sorgulama işlemi dahilinde oldukça benzer metotlarla kullanabileceğindir. Başka bir ifadeyle, Microsoft Server SQL üzerinde Veri Tabanı Sorgulama işlemini öğrenebilmiş birisi birebir aynı olmasa bile son derece benzer metotlarla PostgreSQL üzerinde, Oracle SQL üzerinde, MySQL üzerinde vb. aynı çalışmaları yürütebilme becerisine sahip olacaktır. Aradaki en belirgin fark programların kullanıcılara sunduğu arayüzlerdir. Konunun bir de "Veri Tabanı Programlama" tarafı vardır. Burası son derece kompleks; planlaması, yazması ve uygulaması kimi zaman oldukça çetrefillidir. Burada da T-SQL ve PL/SQL devreye girmektedir; bunu öğrenmek SQL'i öğrenmeye oranla ciddi miktarda zordur ve bu alanda profesyonelliği olan kişiliklerin sayısı bir hayli azdır. Bu bağlamda şimdilik oldukça genç bir yaşta buna efor harcamak pek mantıklı olmayabilir.

Bir diğer önemli konu ise ilişkisel olmayan veri tabanı yönetim sistemleridir. Burada da 4 farklı tür bulunmaktadır. Bunlar: Belge Odaklı Veri Tabanları, Anahtar-Değer Odaklı Veri Tabanları (Python altyapın olduğunu belirttiğin için bunu az çok biliyorsundur orada da hatırlarsan eğer veri tipolojilerinden bir tanesiydi. Öncelikle bir değişken ataması yapılıyordu sonrasında parametre içerisine bir anahtar ve ona eşdeğer nitelikte olan bir değer tanımlanıyordu.), Sütun Odaklı Veri Tabanları ve Grafik Tabanlı Veri Tabanları olarak belirtilmektedir. Bunların genel adına ise NoSQL ya da DBMS (Database Management System) adı verilmektedir.

Benim perspektifimde NoSQL, RDBMS'lere (Relational Database Management System) oranla daha fazla kompleks bir yapıdadır ve hakimiyet oluşturması oldukça zaman almaktadır. Bu sebeple şimdilik bir eğitim almak yerine teorik çerçevede kalmanı, teorik altyapıyı tesis edebilmen için abartıdan uzak basit seviyeli okumalar yapmanı öneriyorum, ilerleyen yıllarda ise bunun üzerine spesifik olarak (Teorik&Pratik Eş Zamanlı) çalışmanı tavsiye ediyorum. Ek olarak NoSQL'de belki Apache Cassandra (CQL), ElasticSearch ve MongoDB üzerine temel seviyede hakimiyet oluşturmak akranlarına oranla sana ciddi seviyede avantaj sağlayabilir.

Son olarak dikkatimi çeken önemli bir husus "Python, Rust, C# gibi dillerde temelim var" diye belirtmişsiniz. Bu oldukça iyidir ancak yeterli değildir. Programlama dillerindeki hakimiyet yokuş yukarı dev bir küreyi itmeye benzer; bıraktığınız anda aynı yerinde bulamazsınız, küre başladığınız noktaya geri döner. Bu sebeple bu niteliklerinizin körelmesine kesinlikle müsaade etmeyin, bilgisayar bilimlerinde öğrenmek temel hedeftir ancak hakimiyet söz konusu olduğunda devreye bireysel ve ortak projeler girer.​
 
Bir proje fikri ya da projeler görevleri verebilir misiniz? Ya da ne yapmam gerektiğine nasıl bir yol izlemem gerektiğine ya da kimlere başvurmam gerektiğine dair bir bilgilendirme sunabilir misiniz?
Çok fazla proje fikri var, ufak bir araştırma ile örnek bulabilirsin. Bununla ilgili github da bolca repo mevcut.

Bolca pratik yapman lazım. Kullandığın programları Webe uygun hale getirmeye çalışabilirsin. Otomasyon programları vs yapabilirsin.

Bilmeyen bir insan düzeyinde değilsin, başlangıç kısmında emeklemiş bir yere kadar gelmişsin. Kendi siteni yayınlamışsın. Bunlar güzel şeyler.
Elinde bir problem olmayınca ne yapacağını bilmiyor insan. Ayrıca motivasyonunu da kaybediyor. Bu sebeple kendine bir fikir bul. Bu fikri nasıl hayata geçirebilirim diye düşün. Fikrin yoksa clone projelerden devam.
 
Merhabalar, kabul etmeliyim iyi bir başlangıç yaptığın inkar edilemez.
Veri işleme ve yönetme ile ilgili seni anlıyorum, RDBMS (İlişkisel Veri Tabanı Yönetim Sistemleri) ve DBMS'ler (İlişkisel Olmayan Veri Tabanı Yönetim Sistemleri) Full Stack Developer adayı için bel kemiği niteliğindedir. Bu bağlamda başlangıç mahiyetinde Microsoft Server SQL üzerinde bir eğitime başlamak ve eğitim dahilinde "Aggregation Functions", "Sorting&Grouping", "All Joins", "Filtering&Cheching", "Aliases and Calculated Columns", "Conditional Statements", "Date Stabilizing", "Table Create&Modify", "Indexes" gibi temel konularda hakimiyet kazanmak sana muazzam bir avantaj kazandıracaktır. Bu sayede SQL ile gerçekleştirilen "Veri Tabanı Sorgulama" niteliğini elde edebilmiş olacaksın (Veri tipolojileri, DDL Komutları, DML Komutları gibi pek çok unsur vardır ancak bunları spesifik olarak açıklamaya gerek duymuyorum eğitim içerisinde öğrenmek daha iyi olacaktır).

"Veri Tabanı Sorgulama" niteliğini kazandığın takdirde sahip olacağın bir diğer önemli avantaj ise diğer RDBMS yazılımlarını Veri Tabanı Sorgulama işlemi dahilinde oldukça benzer metotlarla kullanabileceğindir. Başka bir ifadeyle, Microsoft Server SQL üzerinde Veri Tabanı Sorgulama işlemini öğrenebilmiş birisi birebir aynı olmasa bile son derece benzer metotlarla PostgreSQL üzerinde, Oracle SQL üzerinde, MySQL üzerinde vb. aynı çalışmaları yürütebilme becerisine sahip olacaktır. Aradaki en belirgin fark programların kullanıcılara sunduğu arayüzlerdir. Konunun bir de "Veri Tabanı Programlama" tarafı vardır. Burası son derece kompleks; planlaması, yazması ve uygulaması kimi zaman oldukça çetrefillidir. Burada da T-SQL ve PL/SQL devreye girmektedir; bunu öğrenmek SQL'i öğrenmeye oranla ciddi miktarda zordur ve bu alanda profesyonelliği olan kişiliklerin sayısı bir hayli azdır. Bu bağlamda şimdilik oldukça genç bir yaşta buna efor harcamak pek mantıklı olmayabilir.

Bir diğer önemli konu ise ilişkisel olmayan veri tabanı yönetim sistemleridir. Burada da 4 farklı tür bulunmaktadır. Bunlar: Belge Odaklı Veri Tabanları, Anahtar-Değer Odaklı Veri Tabanları (Python altyapın olduğunu belirttiğin için bunu az çok biliyorsundur orada da hatırlarsan eğer veri tipolojilerinden bir tanesiydi. Öncelikle bir değişken ataması yapılıyordu sonrasında parametre içerisine bir anahtar ve ona eşdeğer nitelikte olan bir değer tanımlanıyordu.), Sütun Odaklı Veri Tabanları ve Grafik Tabanlı Veri Tabanları olarak belirtilmektedir. Bunların genel adına ise NoSQL ya da DBMS (Database Management System) adı verilmektedir.

Benim perspektifimde NoSQL, RDBMS'lere (Relational Database Management System) oranla daha fazla kompleks bir yapıdadır ve hakimiyet oluşturması oldukça zaman almaktadır. Bu sebeple şimdilik bir eğitim almak yerine teorik çerçevede kalmanı, teorik altyapıyı tesis edebilmen için abartıdan uzak basit seviyeli okumalar yapmanı öneriyorum, ilerleyen yıllarda ise bunun üzerine spesifik olarak (Teorik&Pratik Eş Zamanlı) çalışmanı tavsiye ediyorum. Ek olarak NoSQL'de belki Apache Cassandra (CQL), ElasticSearch ve MongoDB üzerine temel seviyede hakimiyet oluşturmak akranlarına oranla sana ciddi seviyede avantaj sağlayabilir.

Son olarak dikkatimi çeken önemli bir husus "Python, Rust, C# gibi dillerde temelim var" diye belirtmişsiniz. Bu oldukça iyidir ancak yeterli değildir. Programlama dillerindeki hakimiyet yokuş yukarı dev bir küreyi itmeye benzer; bıraktığınız anda aynı yerinde bulamazsınız, küre başladığınız noktaya geri döner. Bu sebeple bu niteliklerinizin körelmesine kesinlikle müsaade etmeyin, bilgisayar bilimlerinde öğrenmek temel hedeftir ancak hakimiyet söz konusu olduğunda devreye bireysel ve ortak projeler girer.​
Hocam belki altınım, param pulum yok ama elimde hazinelerden daha değerli bilgiler(yazınız) var. Bu bilgiler içinde bilmediğim tonla kelime var, her birini tek tek öğrenecek anlamlarından ziyade kullanıldıkları alanlarda kendimi geliştirmeye adayacağım. Umarım ben gibi olduğu yerde tıkanmış insanlarda sizin bu yazınızla kendine gelecek ve ne yapması gerektiği konusunda net bir fikir sahibi olacaktır. Çok teşekkür ederim hem zamanınızı hemde bilgilerinizi sunduğunuz için. Kendimi Microsoftun sql server ında geliştirmeye başlayacağım eş zamanlı olarakda kavramlara hakim olmaya çalışacağım. Hocam konudan bağımsız olarak Rust hakkında ne düşündüğünüzü merak ediyorum? Bu merakımın sebebi ise piyasada çok fazla kullanılmaya başlaması, tip güvenliği(sahiplik kavramı ile muazzam bir yenilik getirdiler) ve hızı konularında ne düşünüyorsunuz merak ediyorum?


Çok fazla proje fikri var, ufak bir araştırma ile örnek bulabilirsin. Bununla ilgili GitHub'da bolca repo mevcut.

Bolca pratik yapman lazım. Kullandığın programları webe uygun hale getirmeye çalışabilirsin. Otomasyon programları vs yapabilirsin.

Bilmeyen bir insan düzeyinde değilsin, başlangıç kısmında emeklemiş bir yere kadar gelmişsin. Kendi siteni yayınlamışsın. Bunlar güzel şeyler.
Elinde bir problem olmayınca ne yapacağını bilmiyor insan. Ayrıca motivasyonunu da kaybediyor. Bu sebeple kendine bir fikir bul. Bu fikri nasıl hayata geçirebilirim diye düşün. Fikrin yoksa clone projelerden devam.

Çok haklısınız hocam, araştırma isteğimi kaybetmem önümdeki en büyük engel oldu. Ama bu gibi sitelerin varlığından bihaberdir bu yüzden çok teşekkür ederim.
 
Hocam belki altınım, param pulum yok ama elimde hazinelerden daha değerli bilgiler(yazınız) var. Bu bilgiler içinde bilmediğim tonla kelime var, her birini tek tek öğrenecek anlamlarından ziyade kullanıldıkları alanlarda kendimi geliştirmeye adayacağım. Umarım ben gibi olduğu yerde tıkanmış insanlarda sizin bu yazınızla kendine gelecek ve ne yapması gerektiği konusunda net bir fikir sahibi olacaktır. Çok teşekkür ederim hem zamanınızı hemde bilgilerinizi sunduğunuz için. Kendimi Microsoftun sql server ında geliştirmeye başlayacağım eş zamanlı olarakda kavramlara hakim olmaya çalışacağım. Hocam konudan bağımsız olarak Rust hakkında ne düşündüğünüzü merak ediyorum? Bu merakımın sebebi ise piyasada çok fazla kullanılmaya başlaması, tip güvenliği(sahiplik kavramı ile muazzam bir yenilik getirdiler) ve hızı konularında ne düşünüyorsunuz merak ediyorum?
İltifatların için teşekkür ederim. Sektördekiler SQL'e boşuna "Altın Bilezik" demiyorlar... Bu arada dikkatimi çeken bir husus var: Önceki mesajımda "ER Diagram" konusuna değinmeyi unutmuşum; bu son derece mahiyetli ve çalışma esnasında hiçbir şekilde göz ardı edilemeyecek bir konudur.

Aktif bir personelin ya da henüz eğitim aşamasında olan bir öğrencinin Veri Tabanı Sorgulama/Veri Tabanı Programlama işlemini yürütmeden önce kesinlikle ama kesinlikle "Entity Relationship Diagram" (ERD/ER Diagram) konusuna tamamen hakim olması gerekmektedir. "Entity Relationship Diagram" adı verilen bu model veri tabanının kalbini temsil eder, 3 adet ana unsuru bulunmaktadır: Varlık (Entity), İlişki (Relationship) ve Nitelik (Attribute).

Varlık unsurunun veri tabanı içerisindeki karşılığı "Table" (Tablo) olarak,
Nitelik unsurunun veri tabanı içerisindeki karşılığı "Column" (Kolon/Sütun) olarak ve
İlişki unsurunun veri tabanı içerisindeki karşılığı "Physical&Logical Connection" (Fiziksel ve Mantıksal Bağlantı) olarak ifade edilmektedir.

Veri Modellemesi oluşturulurken veya Veri Modellemesi oluşturulduktan sonra sorgulama/programlama esnasında son derece kritik role sahip olan unsur "İlişki" (Relationship) adı verilen unsurdur. Çünkü RDBMS'i (Relational Database Management System) Türkçe karşılığıyla İlişkisel Veri Tabanı Yönetim Sistemi'ni, İlişkisel Olmayan Veri Tabanı Yönetim Sistemi'nden (DBMS) ayıran en temel faktördür: İlişkisel Olmayan Veri Tabanı Yönetim Sistemi'nde yer alan veri tabanlarında tam anlamıyla doğru bir ifade olmasada genel itibariyle "Paralel" ya da "Referans" odaklı bir ilişki bulunmamaktadır, "Hiyerarşik" bir ilişki söz konusudur.

İlişki adı verilen unsurun 3 türü bulunmaktadır. Bunlar: "One to One Relationship" (Bire Bir İlişki), "One to Many Relationship" (Bire Çok İlişki) ve "Many To Many Relationship" (Çoğa Çok İlişki).

Bire Bir İlişki, bir tablodaki bir gözlemin başka bir tabloda da bulunmasına verilen isimdir (Nadir Bir Durumdur).
Bire Çok İlişki, bir tablodaki gözlemin ilişkisinin bulunduğu başka bir tabloda yalnızca onu ilgilendiren gözlemlerin bulunmasına verilen isimdir (Standart Bir Durumdur)
Çoğa Çok İlişki, bir tablodaki gözlemlerin başka bir tablodaki gözlemlerle ilişkisinin bulunmasına verilen isimdir. (Standart Bir Durumdur)

Bahsi geçen bu 3 adet ilişkiyi oluşturabilmek için ise 2 önemli unsur kullanılmaktadır. Bunlar: "Primary Key" (Birincil Anahtar) ve "Foreign Key" (Yabancı Anahtar).

Primary Key, tablodaki gözlemlerin "Eşsiz" olarak nitelendirilmesi ve kopya nitelikli verinin oluşmaması adına çarpışmayı/çakışmayı önlemek için kullanılmaktadır.
Foreign Key, tablolardaki kolonların/sütunların başka bir tablodaki kolonlarla/sütunlarla bağlanmasıdır, personelin tablolar arasındaki bağlantıları bozacak faaliyetlerini önlemek için kullanılır.

Sonuç olarak yapılan açıklamaların ardından anlaşılacağı üzere Veri Modellemesi sürecine hakim olmayan, Veri Modellemesi oluşturamayan, Veri Modellemesi ile ilgili gerekli kavramları bilmeyen ya da mevcut ilişkisel veri tabanının veri modeline hakim olmayan personellerin/öğrencilerin Veri Tabanı Sorgulama/Veri Tabanı Programlama eylemlerini yürütmelerini beklemek son derece ütopiktir. Elbette tek bir tabloda sütunların veri tipolojilerine hakim olunduğu takdirde çeşitli faaliyetler yürütülebilir ancak o zaman Microsoft Server SQL, PostgreSQL ya da Oracle SQL vb. kullanmanın bir anlamı kalmayacaktır, sonuçta bu yazılımların ortak amacı ilişkisel veri tabanlarının yönetilmesi ve optimum seviyede idame edilmesidir...

Rust programlama diline gelecek olursak (yalnızca teorik altyapım bulunmaktadır, pratik bir altyapıya sahip değilim. Bu sebeple haddimi aşmadan sınırlı yorumlamalar yapacağım.): Direkt olarak sahip olduğu sınırlı ekosistem gereği ilgilendiğim alana tam anlamıyla henüz hitap etmiyor olsa da hareket ettiği motto dahilinde başarılı bir şekilde ivme kazandığını rahatlıkla belirtebilirim. Dürüst olmak gerekirse piyasayı adeta domine eden RDBMS ve DBMS üretici şirketleri karşısında nasıl bir farklılık ya da tercih sebebi olacaklarını merak ediyorum. Bununla birlikte veri tabanı yönetimine önderlik eden firmaların bu bağlamda nasıl bir karşı politika üreteceklerini de çok merak ediyorum. Onun dışında senin de belirttiğin üzere özgün bir ekol ve istikrar ile bunu devam ettireceklerine şahsen ben inanıyorum.​
 
Son düzenleme:

Technopat Haberler

Geri
Yukarı