Hayvanların gebelik listesini oluşturmak için, SQL'de Foreign Key kullanarak iki tabloyu ilişkilendirebilirsiniz.
1. Tabloları Oluşturma
Öncelikle iki tablo oluşturacağız: Hayvanlar ve Gebelikler. Hayvanlar tablosu her hayvanın bilgilerini tutacak, Gebelikler tablosu ise her hayvanın gebelik geçmişini tutacak.
sql:Kodu
CREATE TABLE Hayvanlar (
HayvanID INT PRIMARY KEY,
HayvanAdi VARCHAR(50),
Tur VARCHAR(50),
Yas INT
);
CREATE TABLE Gebelikler (
GebelikID INT PRIMARY KEY,
HayvanID INT,
BaslangicTarihi DATE,
BitisTarihi DATE,
YavruSayisi INT,
FOREIGN KEY (HayvanID) REFERENCES Hayvanlar(HayvanID)
);
2. Örnek Veriler Ekleme
Tablolara örnek veriler ekleyelim.
INSERT INTO Hayvanlar (HayvanID, HayvanAdi, Tur, Yas)
VALUES
(1, 'Kara', 'İnek', 5),
(2, 'Beyaz', 'İnek', 4),
(3, 'Alaca', 'Koyun', 3);
INSERT INTO Gebelikler (GebelikID, HayvanID, BaslangicTarihi, BitisTarihi, YavruSayisi)
VALUES
(1, 1, '2023-01-01', '2023-04-01', 2),
(2, 2, '2023-02-01', '2023-05-01', 1),
(3, 1, '2024-01-01', '2024-04-01', 3);
3. Hayvanlar İçin Görünüm Oluşturma
Her hayvanın bilgilerini ve gebelik geçmişini görüntülemek için bir VIEW oluşturabiliriz.
CREATE VIEW HayvanGebelikGorunumu AS
SELECT
h.HayvanID,
h.HayvanAdi,
h.Tur,
h.Yas,
g.GebelikID,
g.BaslangicTarihi,
g.BitisTarihi,
g.YavruSayisi
FROM
Hayvanlar h
LEFT JOIN
Gebelikler g ON h.HayvanID = g.HayvanID;
4. Belirli Bir Hayvanın Gebelik Geçmişini Görüntüleme
Bir hayvanın gebelik geçmişini görüntülemek için hayvanın ID'sini kullanarak sorgu yapabilirsiniz. Örneğin, ID'si 1 olan hayvanın gebelik geçmişini görmek için:
SELECT
HayvanID,
HayvanAdi,
Tur,
Yas,
GebelikID,
BaslangicTarihi,
BitisTarihi,
YavruSayisi
FROM
HayvanGebelikGorunumu
WHERE
HayvanID = 1;
Bu sorgu, belirli bir hayvana ait tüm gebelik geçmişini getirecektir.
5. Uygulama Entegrasyonu
Eğer bir uygulama kullanıyorsanız (örneğin, bir masaüstü veya web uygulaması), hayvanlar listesini görüntülediğinizde bir hayvana çift tıkladığınızda yukarıdaki sorguyu çalıştırarak ilgili hayvanın gebelik geçmişini gösterebilirsiniz.
Bu adımlarla, hayvanların gebelik listesini SQL'de Foreign Key kullanarak ve uygun sorgularla nasıl oluşturabileceğinizi ve görüntüleyebileceğinizi göstermiş olduk.
Alıntı bir kaynaktır