Veritabanı tablo ilişkileri oluşturma ve kullanma işlemleri konusunda bilgi sahibi olmak ister misiniz? Burada tablolar arasında nasıl ilişki kurulur, veri ekleme ve güncelleme işlemleri nasıl yapılır detaylıca anlatılıyor Hemen okuyun!
Bu makalede, veritabanı tasarımı sürecinde en önemli kısımlardan olan tablo ilişkileri oluşturma ve kullanma işlemleri ele alınacaktır. Birbirleriyle ilişkili tablolar sayesinde veri bütünlüğü sağlanırken, veri tekrarının azaltılması da hedeflenmektedir. Tablo ilişkileri oluşturma ve kullanma işlemlerinin doğru bir şekilde yapılması, veritabanı tasarımının sağlıklı bir şekilde yapılmasına yardımcı olacaktır.
Tablo ilişkileri, One-to-One, One-to-Many ve Many-to-Many olmak üzere üç farklı türde olabilir. Bu ilişkilerin nasıl oluşturulabileceği, hangi durumlarda tercih edilmesi gerektiği ve kullanım alanları hakkında bilgi verilecektir. Ayrıca, uygulamalı örnek senaryolar üzerinden tablo ilişkilerinin nasıl uygulanabileceği anlatılacaktır.
Tablo İlişkilerinin Önemi
Veritabanı tasarımında tablo ilişkilerinin doğru kullanımı veri bütünlüğüne olanak sağlar ve veri tekrarının önüne geçer. Veri bütünlüğü, bir tablodaki kayıtların diğer tablolarda tutulan kayıtlarla uyumluluğu ve doğruluğu anlamına gelir. Tablo ilişkileri, veriler arasında doğru bağlantı kurarak orantısız veri tekrarının önlenmesine ve veri işleme hızının artırılmasına katkı sağlar.
Bir tablo içinde aynı verilerin tekrarlanması, veri bütünlüğünü sağlamaz ve gereksiz yere hafıza kullanımına neden olabilir. Tablo ilişkilerinin doğru kullanımıyla, tekrarlanan veriler azaltılır ve veritabanı alanı kullanımı optimize edilir. Tablo ilişkileri sayesinde, veri güncelleme işlemleri daha kolay hale gelir ve veri bütünlüğü sağlanır.
Tablo İlişkileri Türleri
Bir veritabanında birden fazla tablo bir arada kullanıldığında bu tablolar arasında bir ilişki vardır. Bu ilişki, tablolardaki verilerin bütünlüğünü koruyarak tarama ve işleme işlevini kolaylaştırır. Bu nedenle, tablo ilişkilerinin oluşturulması ve kullanımı veritabanı tasarımında oldukça önemlidir.
Tablo ilişkileri, veriler arasındaki bağlantıların türüne göre üç kategoriye ayrılır: One-to-One, One-to-Many ve Many-to-Many. Tablolar arasındaki bağlantı, tablolarda tutulan verilerin türüne göre farklılık gösterir.
- One-to-One İlişki: Tablolar arasındaki verilerin tek bir kayıta sahip olduğu durumlarda kullanılır. Birbirleriyle doğrudan ilişkili olan iki tablonun ortak bir sütunu, örneğin bir kişinin kimlik numarası olabilir. Bu bağlantı türünde tablolar arasında birincil anahtar (primary key) ve yabancı anahtar (foreign key) kullanılır.
- One-to-Many İlişki: Bu ilişki türü, bir tablodaki her kaydın bir veya daha fazla diğer tablodaki kayıtlara sahip olduğu durumlarda kullanılır. Örneğin, bir müşteri, birden fazla siparişe sahip olabilir. Bu bağlantı türünde sadece birincil anahtar kullanılır. Diğer tabloda yabancı anahtar olarak kaydedilen veriler, kaynak tablodaki anahtara referans olarak toplanır.
- Many-to-Many İlişki: Bu İlişki türü, bir tablodaki kaydın birden fazla diğer tablodaki kayıtlara bağlı olduğu durumlarda kullanılır. Bir öğrencinin birden fazla ders alması gibi. Bu bağlantı türünde birleştirme (joining) tablosu kullanılarak birincil ve yabancı anahtarlar arasında bir bağlantı kurulur.
Tablo ilişkileri veri bütünlüğünü sağlar ve veri tekrarının azaltılmasına olanak sağlar. Bir veritabanı tasarımı, bir projedeki ve veri ihtiyacındaki değişikliklere rağmen, dayanıklı ve esnek kalması için doğru tablo ilişkilerine sahip olmalıdır. İlişki tiplerinin doğru kullanımı, veri akışındaki hataları azaltır ve hızlı erişim sağlar.
One-to-One İlişki
Öncelikle, One-to-One ilişki yapısının ne olduğunu anlamak gerekir. Bu ilişki türü, iki farklı tablodaki kayıtların sadece bir kez eşleştirilmesine izin verir. Yani bir ana tablosu ve buna bağlı bir detay tablosu kullanarak, her kaydın sadece bir kayıtla eşleştiği bir ilişki kurulur.
Tablo ilişkilerinde One-to-One ilişkisi oluşturmak için şu adımlar takip edilir:
- İlk olarak, her bir tablo için birincil anahtar tanımlanmalıdır. Bu anahtarlar, diğer tablolarla ilişkilerin kurulmasını sağlayan benzersiz bir kimlik numarası olarak düşünülebilir.
- Ardından, ilgili tablolar bağlantı anahtarları kullanılarak ilişkilendirilir. Bu ilişki, herhangi bir tablodaki kaydın diğer tablodaki sadece bir kayıtla eşleşmesine olanak sağlar.
Örnek vermek gerekirse, bir şirket çalışanlarına ait ayrıntılı bilgilerin tutulduğu bir tablosu olsun. Bu tablonun yanı sıra, çalışanların eğitim geçmişi veya belirli sertifikalar için geçtiği bir diğer tablo da olabilir. Bu durumda, her iki tablo arasında bir One-to-One ilişkisi kurulabilir. Her çalışanın eğitim geçmişi veya sertifikaları sadece bir kez kaydedilir ve çalışanın kimlik numarası üzerinden ana tabloyla eşleştirilir. Bu şekilde, her bir çalışan için ayrı bir kayıt yerine, var olan kaynaklar daha verimli kullanılmış olur.
One-to-One ilişkisi ayrıca, bir tablodaki verilerin iyileştirilmesi için de kullanılabilir. Örneğin, bir veritabanında müşteri bilgileri tutuluyorsa, telefon numarası veya e-posta adresi gibi belirli alanları ayrı bir tabloda depolamak daha verimli olabilir. Bu şekilde, aynı telefon numarasının birden fazla kaydedilmesi önlenerek, verilerin bütünlüğü korunur.
Sonuç olarak, One-to-One ilişki yapısını kullanarak, veritabanında kaynağın daha verimli kullanımını sağlayacak ve verilerin bütünlüğünü koruyacaksınız.
Örnek Senaryo: Bir Şahıs ile İlgili Bilgilerin Tutulduğu İki Farklı Tablo
One-to-One ilişki yapısının anlaşılabilmesi için örnek bir senaryo kullanılabilir. Diyelim ki bir şirket çalışanlarının bilgilerini tutmak istiyor. Ancak bazı çalışanların özel bilgileri, diğerlerinden farklı olarak ayrı bir tabloda saklanmalı. Örneğin, şirketin CEO'su olan John Doe'nun hem genel hem de özel bilgileri bulunmalıdır.
Bu senaryoda, "Employee" ve "Private_Info" olarak adlandırılan iki tablo oluşturulabilir. "Employee" tablosu, çalışanların adını, soyadını, telefon numarasını, e-posta adresini ve diğer genel bilgilerini içerirken, "Private_Info" tablosu, yalnızca şirket CEO'su John Doe gibi belirli çalışanların özel bilgilerini içerir. "Private_Info" tablosunun anahtar sütunu ise "Employee_ID" olmalıdır. Bu, iki tablo arasında One-to-One ilişkisi kurulmasına olanak tanır.
Column Name | Data Type |
---|---|
Employee_ID | Integer |
First_Name | Text |
Last_Name | Text |
Phone_Number | Text |
Text |
Column Name | Data Type |
---|---|
Employee_ID | Integer |
SSN | Text |
Birthday | Date |
Salary | Number |
Gördüğünüz gibi, "Private_Info" tablosundaki her kayıt, bir "Employee" tablosundaki tek bir kayıtla ilgilidir, bu da One-to-One ilişkisini açıklar. Bu yapı, sadece CEO gibi özel birkaç çalışanın özel bilgilerini saklamak için kullanılabilir.
One-to-One İlişkisi Kullanım Alanları
One-to-One ilişkisi, iki farklı tablo arasında birbirine bağlantı kurulması için kullanılır. Bu ilişki tipinde, her iki tablodan sadece birinde kayıt bulunur. Bu nedenle, One-to-One ilişkisi, birbirleriyle yakından ilişkili iki özellik veya bilgi arasındaki tek tek ilişkiyi göstermek için tercih edilir.
Bu ilişki tipi özellikle şu durumlarda kullanılabilir:
- Bir işletmede çalışan bir kişinin, kişisel bilgilerinin tutulduğu ayrı bir tablo
- Bir müşterinin faturalarının tutulduğu bir tablo, kişisel bilgilerinin tutulduğu ayrı bir tablo
- Bir ana ürünle ilişkili, ekstra bilgilerin tutulduğu ayrı bir tablo
One-to-One ilişkisi, veritabanı tasarımında veri bütünlüğünün korunması ve verinin tekrar etmesinin önlenmesi için oldukça önemlidir. Bu nedenle, daha önce belirtilen senaryolar gibi tek tip bilgi olması durumunda, One-to-One ilişkisi tercih edilmelidir.
One-to-Many İlişki
Birbirleriyle ilişkili tablolar arasında en sık kullanılan ilişki türlerinden biri olan One-to-Many ilişkisi, birden fazla farklı değere sahip bir tabloyla, yalnızca tek bir değeri barındıran başka bir tablo arasındaki ilişkiyi ifade eder. Bu tür bir ilişki, bir müşterinin çeşitli siparişlerinin olduğu bir senaryoda kullanılabilir.
One-to-Many ilişkisi oluşturmak için öncelikle ana tablo, yani birincil (primary) tablo oluşturulmalıdır. Bu tablo içerisinde, her bir satıra birbirinden farklı olacak şekilde benzersiz bir numara tanımlanmalıdır. Daha sonra, ikincil (secondary) tablo oluşturulmalıdır. Bu tablo içerisinde ise birincil tablodaki numaralara işaret eden bir sütun oluşturulmalıdır. One-to-One ilişkideki "foreign key" kavramı burada da kullanılmaktadır.
Bu yapı oluşturulduktan sonra, ikincil tablo içerisinde bir değer eklendiğinde birincil tablo içerisindeki numara ile eşleştirilir. Böylece, bir müşteriye ait birden fazla siparişin tutulduğu bir senaryoda, tüm siparişlerin birincil tablodaki müşteri numarası ile eşleştirilmesi sağlanır.
Örnek Senaryo: Bir Müşteriye Ait Birden Çok Siparişin Tutulduğu İki Farklı Tablo
One-to-Many ilişki yapısının örnek bir senaryo üzerinden anlatılması oldukça önemlidir. Bir müşteriye ait birden çok siparişin tutulduğu iki farklı tablo örneğini ele alalım. Birincisi, müşteri bilgilerinin tutulduğu müşteri tablosu, ikincisi ise sipariş bilgilerinin tutulduğu sipariş tablosu.
Müşteri tablosunda her müşteriye özel bir müşteri numarası ve diğer bilgiler (ad, soyad, adres vb.) tutulur. Sipariş tablosunda ise her siparişe özel bir sipariş numarası, sipariş tarihi ve diğer bilgiler (ürün adı, fiyatı, adedi vb.) tutulur. Ancak her siparişin hangi müşteriye ait olduğu bilgisi yoktur.
Bu durumda One-to-Many ilişki kullanılabilir. Sipariş tablosuna bir "müşteri numarası" sütunu eklenir ve her siparişin hangi müşteriye ait olduğu bilgisi bu sütuna kaydedilir. Böylece, her müşteriye ait birçok siparişin "müşteri numarası" değeri aynı olacaktır. Bu sayede, müşteriye özel tüm siparişleri görüntülemek istendiğinde, müşteri numarasına göre sipariş tablosundaki tüm kayıtlar seçilebilir.
Tablo ilişkilerinin doğru bir şekilde kurulması, veri bütünlüğünü ve veri tekrarının azaltılmasını sağlar. Bu nedenle One-to-Many ilişki yapısının öğrenilmesi ve doğru bir şekilde uygulanması oldukça önemlidir.
One-to-Many İlişkisi Kullanım Alanları
One-to-Many ilişkisi, veritabanı tasarımında sıklıkla kullanılan bir ilişki türüdür. Bu ilişki türü, bir tablodaki bir kaydın, diğer tabloda bir ya da birden fazla kayıtla ilişkili olduğu durumlarda kullanılır.
Örneğin, bir üniversitenin öğrenci kayıt sisteminde, bir öğrencinin farklı derslere kaydolması için kullanılan öğrenci tablosu ve bir dersin farklı öğrenciler tarafından alındığı dersler tablosu vardır. Bu durumda, öğrenci tablosundaki her kayıt, dersler tablosundaki birden fazla kayıtla ilişkili olabilir. Bu ilişki türü, sistemin daha düzenli ve verimli bir şekilde çalışmasına yardımcı olabilir.
Bir diğer örnek ise, bir şirketin müşteri yönetim sistemindeki müşteri tablosu ve siparişler tablosudur. Bir müşteri, birden fazla sipariş verebilir. Bu nedenle, müşteri tablosundaki bir kayıt, siparişler tablosundaki birden fazla kayıtla ilişkili olabilir. Bu ilişki türü, müşterilerin siparişlerini daha kolay ve hızlı bir şekilde yönetmeye yardımcı olabilir.
Many-to-Many İlişki
Many-to-Many ilişki yapısı, her iki tabloda da birden çok kayıt bulunduğunda ve bu kayıtların karşılıklı ilişkisi aynı ölçekte iki tablo arasında söz konusu olduğunda kullanılmaktadır. Bu yapının oluşturulması için, bu iki tablo arasında üçüncü bir tablo gerekmektedir. Bu üçüncü tablo, iki tablonun özelliklerini barındırır ve iki tablo arasındaki ilişkiyi temsil eder.
Many-to-Many ilişkisi kullanmanın bir örneği, öğrencilerin derslere kaydolmasıdır. Bir öğrencinin birçok dersi olabilir ve bir dersin birçok öğrencisi olabilir. Dolayısıyla, öğrenci tablosu ile ders tablosu arasında Many-to-Many ilişkisi kurmak gereklidir.
Bu ilişkinin oluşturulması, sadece yeni bir tablo eklemekle olur. Bu tablonun, iki ilişkili tablodan her birinin birincil anahtarını içermesi gereklidir. Bu anahtar, bu iki tablo arasındaki bağı sağlar. Bu anahtarlar aynı zamanda üçüncü tablonun birincil anahtarlarıdır. Bu tablo, her iki tablodan gelen anahtarlar arasındaki ilişkiyi korumak için kullanılır.
Örnek Senaryo: Bir Öğrencinin Birden Fazla Dönemde Aldığı Derslerin Tutulduğu İki Farklı Tablo
Bir öğrencinin birden fazla dönemde aldığı derslerin tutulacağı iki ayrı tablo oluşturulması gerekmektedir. İlk tabloda öğrenci numarası ve öğrenci adı gibi bilgiler yer alır, ikinci tabloda ise dersin adı, dönem kodu ve dersi veren öğretmen gibi dersle ilgili bilgiler bulunur. Dersleri alan öğrencilerin bilgileri ise her iki tablo arasındaki bağlantı ile yapılacaktır.
Many-to-Many ilişki yapısı kullanıldığında dersi alan öğrencilerin sayısı veya derslerin sayısı arttıkça, her öğrenci ve ders için yeni bir kayıt eklenmesi gerekmektedir. Bu da veritabanı boyutunu arttırarak performans sorunlarına neden olabilecektir. Bu nedenle, dersleri alan öğrenciler için ayrı bir tablo oluşturarak Many-to-Many ilişkisi kullanmak doğru bir tercih olacaktır.
- Öğrenci tablosunda öğrenci numarası ve öğrenci adı bilgileri yer alır.
- Ders tablosunda dersin adı, dönem kodu ve dersi veren öğretmen gibi bilgiler yer alır.
- Daha sonra bir bağlantı tablosu oluşturulur ve her kayıtta bir öğrenci numarası ve bir ders numarası bulunur.
- Bu bağlantı tablosu, Many-to-Many ilişkisi oluşturarak bir öğrencinin birden fazla ders almasına ve bir dersin birden fazla öğrenci tarafından alınmasına olanak tanır.
Bu yapının öğrenci ve ders bilgilerinin ayrı tablolarda tutulmasına olanak sağlarken, aynı zamanda veritabanı performansında da bir düzelme sağlar. Ders bilgileri değiştirilmek istendiği zaman, sadece ilgili tabloda değişiklik yapmak mümkündür. Öğrenci bilgileri değiştirilmek istendiği zaman da sadece öğrenci tablosunda değişiklik yapmak yeterli olacaktır.
Many-to-Many İlişkisi Kullanım Alanları
Many-to-Many ilişki yapısı, bir tablodaki birçok kaydın diğer tablodaki birçok kaydı referans alması anlamına gelmektedir. Bu ilişki türü, birçok farklı senaryoda kullanılabilir. Örneğin, bir kitaplık yönetim sistemi tasarlanırken; birçok öğrencinin birçok kitabı ödünç alması durumunda Many-to-Many ilişkisi kullanılabilir. Benzer şekilde, bir görev yönetim yazılımında birçok kullanıcının birçok görevi paylaşabilmesi için Many-to-Many ilişkisi kullanılabilir.
Many-to-Many ilişkisi, birçok durumda One-to-Many ilişkisinden daha uygun olabilir. Örneğin, bir şirketin birden fazla departmanı olsun ve bir çalışan birden fazla departmanda çalışsın. One-to-Many ilişkisi burada farklı departmanlar için birden fazla satır oluştururken, Many-to-Many ilişkisi bu bilgiyi tek bir satırda tutabilir. Bu, veritabanındaki tutarsızlık olasılığını azaltarak veri bütünlüğünü sağlar.
Tablo ilişkileri oluşturmada Many-to-Many ilişkisi şüphesiz en karmaşık yapıdır. Bu yapıda, bir ara tablo kullanılır ve bu tablo iki ana tablo arasındaki ilişkiyi tanımlar. Bu ara tablo, ilgili ana tablolardaki kayıtların id numaralarını içeren iki sütuna sahiptir. Böylece, iki ana tablo arasında 'many-to-many(çoktan-çoka)' ilişki oluşturulur ve kayıtlar sağlıklı bir şekilde ilişkilendirilir.
Sonuç olarak, Many-to-Many ilişkisi, birçok farklı senaryoda kullanılabilen, faydalı bir ilişki türüdür. Ancak, bu yapının oluşturulması diğer ilişki yapılarına göre daha zordur. Bu nedenle, özellikle büyük veritabanlarında Many-to-Many ilişkisini kullanmadan önce iyi bir planlama yapmak ve veri bütünlüğü kaygılarını göz önünde bulundurmak önemlidir.
Tablo İlişkilerinin Uygulanması
Tablo ilişkilerinin nasıl uygulanacağına dair açıklamalar için örnek senaryolara bakabiliriz. Bunlardan ilki, bir sinema salonu yönetim sistemi tasarımıdır. Bu sistemin tabloları arasındaki ilişkilere bakacak olursak;
Film Tablosu | Sinema Salonu Tablosu | Seans Tablosu |
---|---|---|
FilmID | SalonID | SeansID |
FilmAdi | SalonAdi | SeansTarihi |
FilmSuresi | Kapasite | SeansSaati |
Burada Film tablosu ve Seans tablosu arasında Many-to-Many ilişkisi var. Ayrıca Seans tablosu ve Sinema Salonu tablosu arasında One-to-Many ilişkisi mevcut. Bu ilişkiler sayesinde, bir filmle ilgili tüm seanslar kolaylıkla bulunabilir ve bir seansi hangi sinema salonunda oynayacağı bulunabilir.
Bir diğer örnek de bir kitaplık yönetim sistemi tasarımıdır. Bu sistemin tabloları arasındaki ilişkilere bakacak olursak;
Kategori Tablosu | Kitap Tablosu | Yazar Tablosu |
---|---|---|
KategoriID | KitapID | YazarID |
KategoriAdi | KitapAdi | YazarAdi |
Burada Kitap tablosu ve Kategori tablosu arasında Many-to-One ilişkisi var. Yani bir Kitap nesnesinin kategorisi sadece bir adet olabilir ancak bir kategoriye ait birden çok kitap olabilir. Kitap tablosu ve Yazar tablosu arasında da Many-to-One ilişkisi var. Yani bir kitap sadece bir yazarının olabilir ancak bir yazarın birden fazla kitabı olabilir.
Tablo ilişkilerinin tasarımı ve kullanımı, veri bütünlüğünü sağlamak ve gereksiz veri tekrarını azaltmak için oldukça önemlidir. Örnek senaryolar üzerinden yapılan açıklamalarla ilişkilerin daha iyi anlaşılması sağlanabilir.
Örnek Senaryo: Sinema Salonu Yönetim Sistemi Tasarımı
Sinema salonu yönetim sistemi, birbiriyle ilişkili birkaç tablo kullanarak verilerin tutulmasını gerektiren bir uygulamadır. Bu uygulama için 3 adet tablo oluşturulacak; "filmler", "salonlar" ve "seanslar". Bu üç tablo arasında One-to-Many ilişkisi kurulacak.
"Filmler" tablosu, film adı, yönetmen adı, oyuncular ve film süresi gibi bilgileri içerecektir. "Salonlar" tablosunda salon adı, koltuk sayısı, salon tipi gibi bilgiler yer alacaktır. "Seanslar" tablosu ise filmin hangi salonda hangi tarih ve saatte oynayacağı bilgilerini tutacak. Bu tablo, "Filmler" ve "Salonlar" tablolarıyla One-to-Many ilişkisi kuracak.
Filmler | Salonlar | Seanslar |
---|---|---|
Film Adı | Salon Adı | Film Adı |
Yönetmen Adı | Koltuk Sayısı | Salon Adı |
Oyuncular | Salon Tipi | Tarih |
Film Süresi | Saat |
Bu senaryoda, "Filmler" ve "Seanslar" tabloları arasında One-to-Many ilişkisi kurulmuştur. Her film birden fazla seans için kullanılabilir. "Salonlar" tablosu ise, "Seanslar" tablosu ile çaprazlama (cross-reference) ilişki kuracak. Bir salon birçok seans için kullanılabilir.
Bu tasarımda, veri bütünlüğü, veri tekrarının azaltılması ve tutarlılık sağlanmış olacak. Ayrıca, çoklu salonlu çoklu seanslı filmler için tasarlandığından, gelecekteki geliştirmelere olanak sağlayacak bir yapı sunmaktadır.
Örnek Senaryo: Kitaplık Yönetim Sistemi Tasarımı
Örnek Senaryo: Kitaplık Yönetim Sistemi Tasarımı
Kitaplık yönetim sistemi, kullanıcıların kitapları arayabilecekleri, ödünç alabilecekleri, iade edebilecekleri ve kitap durumları hakkında bilgi alabilecekleri bir sistemdir. Bu sistemi tasarlamak için ilk adım, veritabanı tablolarının düzenlenmesidir.
Kitaplık yönetim sistemi veritabanında birkaç ana tablo kullanabiliriz. Tüm kitapların bilgilerini içeren "Kitaplar" tablosunu kullanarak, kullanıcıların ödünç aldıkları kitapları ve iade edilen kitapları tutmak için iki ayrı tablo tutabiliriz. Ödünç alınan kitapların tutulacağı "Ödünç Alınan Kitaplar" tablosu ve iade edilen kitapların tutulacağı "İade Edilen Kitaplar" tablosu.
Kitaplar tablosu aşağıdaki sütunlardan oluşmaktadır:
- Kitap ID: Her kitap için benzersiz bir kimlik numarası
- Kitap Adı: Kitabın adı
- Yazar: Kitabın yazarı
- Yayınevi: Kitabın yayınevi
- Basım Tarihi: Kitabın basım tarihi
- Stok Durumu: Kitabın stok durumu
Ödünç Alınan Kitaplar tablosu aşağıdaki sütunlardan oluşmaktadır:
- Kitap ID: Ödünç alınan kitabın ID'si
- Ödünç Alan: Kitabı ödünç alan kullanıcının ID'si
- Ödünç Alma Tarihi: Kitabın ödünç alındığı tarih
- Ödünç Verme Tarihi: Kitabın ödünç verilmesi gereken tarih
İade Edilen Kitaplar tablosu aşağıdaki sütunlardan oluşmaktadır:
- Kitap ID: İade edilen kitabın ID'si
- İade Eden: Kitabı iade eden kullanıcının ID'si
- İade Tarihi: Kitabın iade edilme tarihi
Bu tablolar arasındaki ilişkiler, "Kitaplar" tablosundaki "Kitap ID" sütunu ve "Ödünç Alınan Kitaplar" tablosundaki "Kitap ID" sütunu arasındaki One-to-Many ilişkisi ve "Kitaplar" tablosundaki "Kitap ID" sütunu ve "İade Edilen Kitaplar" tablosundaki "Kitap ID" sütunu arasındaki One-to-Many ilişkisi ile tanımlanır.
Ödünç Alınan Kitaplar tablosundaki "Ödünç Alan" sütunu, kullanıcılar tablosundaki "Kullanıcı ID" sütunuyla One-to-Many ilişkisine sahiptir. Bu ilişki, her kullanıcının ödünç aldığı birden çok kitap olabileceği ve aynı anda bir kitabın birçok kullanıcı arasında ödünç alınabileceği anlamına gelir.
İade Edilen Kitaplar tablosundaki "İade Eden" sütunu da kullanıcılar tablosundaki "Kullanıcı ID" sütunu ile One-to-Many ilişkisine sahiptir.
Bu düzenleme, kitaplık yönetim sisteminin verilerinin doğruluğunu ve tutarlılığını sağlar. Kullanıcılar tarafından yapılan tüm işlemler, bu tablolar arasındaki ilişkiler sayesinde takip edilebilir ve yönetilebilir.