Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- Bu video, bir konuşmacının Entity Framework kullanarak veritabanı ilişkilerini nasıl kuracağını anlattığı kapsamlı bir eğitim içeriğidir.
- Video, veritabanındaki üç temel ilişki türünü (bire bir, bire çok ve çoka çok) adım adım ele almaktadır. İlk olarak birebir ilişkiler (1:1) "students" ve "stud_address" tabloları üzerinden gösterilmekte, ardından bir çok ilişkiler (1:N) "students" ve "kitap" tabloları üzerinden anlatılmakta ve son olarak çoka çok ilişkiler (N:N) "students" ve "ders" tabloları üzerinden açıklanmaktadır.
- Eğitim içeriğinde ayrıca migration oluşturma, veritabanı güncelleme ve Entity Framework'in bu ilişkileri nasıl yönettiği de gösterilmektedir. Konuşmacı, her ilişki türü için gerekli kod değişikliklerini ve Entity Framework'in otomatik olarak ilişki tablolarını nasıl oluşturduğunu detaylı şekilde anlatmaktadır.
- 00:00Veritabanındaki İlişkiler
- Entity Framework içerisinde veritabanındaki tablolar arasında ilişki kurmak mümkündür.
- Tablolar arasında bağlantı kurmak için foreign key'ler kullanılarak id alanları birbirleri içerisinde oluşturulur.
- İlişkileri kullanarak tabloların join işlemlerini yaparak istenen dataya erişim sağlanır.
- 00:57İlişki Türleri
- Entity Framework'de üç tür ilişki vardır: bire bir (one-to-one), bire çok (one-to-many) ve çoka çok (many-to-many) ilişki.
- Bire bir ilişki örneği olarak kullanıcılar ve telefonlar tablosu gösterilmiştir; kullanıcıların telefon bilgileri ayrı bir tabloda tutulur ve kullanıcı id'si ile telefon tablosundaki user id'si eşleştirilerek bağlantı kurulur.
- Bire çok ilişki örneği olarak araba ve mühendis tabloları gösterilmiştir; bir arabayı birden fazla mühendis kullanabilir.
- 04:36Çoka Çok İlişki
- Çoka çok ilişki örneği olarak öğrenciler ve dersler tabloları gösterilmiştir; bir öğrenci birden fazla ders alabilir ve bir ders birden fazla öğrenci tarafından alınabilir.
- Çoka çok ilişki için ayrı bir tablo tutulur ve bu tabloda öğrenci id ve ders id ayrı ayrı tutulur.
- Ürün ve mağaza örneği de çoka çok ilişki için en çok verilen örneklerden biridir.
- 06:21Bire Bir İlişki Oluşturma
- Bire bir ilişki oluşturmak için öncelikle ilgili tabloların içerisinde birbirlerine ait id alanları bulunmalıdır.
- Entity Framework içerisinde ilişki kurmak için bir property oluşturulur.
- Application DB Context içerisinde ilişkiyi belirtmek için "HasOne" ve "WithOne" metodları kullanılır.
- 08:49Veritabanı İlişkileri Oluşturma
- Adres tablosunda öğrenci bilgisinin tutulması için Student modeli eklenmesi gerekiyor.
- İlişki kurarken "has foreign key" kullanılarak hangi alanların birbirine bağlanacağı belirlenir.
- Veritabanında iki tablo arasında ilişki kurmak için bir foreign key (FK) oluşturulur ve bir isim verilir.
- 10:09İlişki Oluşturma Örneği
- Courses tablosu için FK oluşturmak için "modify table" seçeneği kullanılır ve "fore keys" bölümüne girilir.
- FK oluştururken hangi tablo ile ilişki kurulacağı ve hangi alanların birbirine denk geleceği belirtilir.
- SQL script otomatik oluşturulur ve veritabanına ekleme yapılır.
- 12:16Migration ve İlişki Uygulama
- Oluşturulan migration çalıştırılarak veritabanına değişiklikler gönderilir.
- Migration çalıştırıldıktan sonra StudentAddress tablosu oluşturulur ve içinde StudentID alanı ile FK ilişkisi kurulur.
- Modify table seçeneğiyle StudentAddress tablosunda FK ilişkisinin oluşturulduğu görülebilir.
- 15:26Çift Yönlü İlişki Oluşturma
- İlişkiyi tam tersi şekilde de oluşturabiliriz, yani Student tablosuna AdresID ekleyerek bağlantı kurabiliriz.
- Adres tablosundaki ID alanı kaldırılır ve Student tablosuna AdresID alanı eklenir.
- Bu şekilde bağlantı çift yönlü yapılır ve istenilen tablodan istenilen yöne id'ler doğru tabloya konularak ulaşılabilir.
- 19:17Birebir İlişki Örneği
- Birebir ilişkilerde Student ve Adres tabloları birbirine bağlanır.
- SQL'de INNER JOIN kullanılarak iki tablonun birbirine bağlanması sağlanır.
- Entity Framework de bu iki tabloyu birbirine bağlarken benzer bir SQL komutu oluşturulur.
- 19:50Bireçok İlişki Tanıtımı
- Bireçok ilişkisi için Kitaplar modeli eklenir.
- Bir öğrenci birden fazla kitabı olabilir, ancak aynı kitabı birden fazla öğrenciye verilmez.
- Bu ilişki, bir öğrenci tablosundaki bir kayıt için birden fazla kitap demektir.
- 21:17Bir'e Çok İlişki Oluşturma
- Bir'e çok ilişki modelinde, bir tabloda (örneğin book tablosunda) diğer tablodaki (student tablosu) kayıtların id'si tutulur.
- Book tablosuna student id eklenerek hangi öğrenciye ait kitap olduğunu belirtmek için kullanılır.
- Student tablosunda ise kitapların listesi (books) şeklinde tutulur, böylece bir öğrenciden kitaplarına ulaşılabilir.
- 23:18İlişkileri Kurma ve Veritabanı Güncelleme
- Entity Framework ile ilişki kurmak için "HasOne" ve "WithMany" metodları kullanılır.
- İlişki kurulduğunda, student tablosundaki id ile book tablosundaki student id arasında foreign key ilişkisi oluşturulur.
- İki satır kodla ilişki kurulup, veritabanı güncellendiğinde otomatik olarak book tablosu oluşturulur.
- 27:02Çok'a Çok İlişki Oluşturma
- Çok'a çok ilişki için üç tablo kullanılır: iki ana tablo ve arada bir ilişki tablosu.
- Entity Framework, çok'a çok ilişkiyi anlayacak kadar akıllı olduğundan, özel bir yapılandırma gerektirmez.
- Student ve course tabloları arasında çok'a çok ilişki kurulduğunda, Entity Framework otomatik olarak "student_courses" adında bir tablo oluşturur.
- 28:30Çok'a Çok İlişkideki Avantajlar ve Dezavantajlar
- Entity Framework tarafından otomatik oluşturulan ilişki tablosu sayesinde, programcı bu tabloya doğrudan erişmek zorunda kalmaz.
- Dezavantajı olarak, bu tablonun ismi ve sütun isimleri programcı tarafından değiştirilemez.
- Çok'a çok ilişki kurulduğunda, her iki tabloda da karşı taraftaki nesnelerin listesi (virtual property) oluşturulur.