CREATE TABLE ÜYEKAYIT 
(
ÜyeTC  CHAR (11)  PRIMARY KEY,
ÜyeAd  NVARCHAR (50) NOT NULL,
ÜyeSoyad  NVARCHAR(50)  NOT NULL,
ÜyeKayıtTarihi  DATETAME DEFAULT GETDATE(),
ÜyeEğitimDurumu  NVARCHAR (100), 
ÜyeOkulAdı  NVARCHAR (100), 
ÜyeBölüm  NVARCHAR (100),
ÜyeMezuniyetSeviyesi  NVARCHAR (50), 
ÜyeTelNo  VARCHAR (10)UNIQUE,
ÜyeMailAdresi  NVARCHAR (100) UNIQUE,
ÜyeDoğumTarihi  DATE 
) ;

CREATE TABLE PERSONELKAYIT 
(
    PersonelTC CHAR(11) PRIMARY KEY,
    PersonelAd NVARCHAR(50) NOT NULL,
    PersonelSoyad NVARCHAR(50) NOT NULL,
    PersonelDogumTarihi DATE NOT NULL,
    İşeBaslamaTarihi DATE NOT NULL,
    İştenCikisTarihi DATE NULL
    PersonelTelNo VARCHAR(10) UNIQUE
);


CREATE TABLE KITAP 
(
    ISBN CHAR(13) PRIMARY KEY,
    KitapAdi NVARCHAR(50) NOT NULL,
    YazarAdi NVARCHAR(50) NOT NULL,
    YayineviID INT,                   
    KategoriID INT,                  
    TurID INT,                       
    BasimYili INT CHECK (BasimYili BETWEEN 1500 AND YEAR(GETDATE())) NOT            NULL,
    StokDurumu INT CHECK (StokDurumu >= 0) NOT NULL,
    BaskiSayisi INT CHECK (BaskiSayisi >= 1) NOT NULL,

FOREIGN KEY (YayineviID) REFERENCES YAYINEVI(YayineviID),
FOREIGN KEY (KategoriID) REFERENCES KATEGORI(KategoriID),
FOREIGN KEY (TurID) REFERENCES TUR(TurID)
);

CREATE TABLE ÖDUNÇ (
    ÖduncID INT PRIMARY KEY IDENTITY(1,1),
    UyeTC CHAR(11) NOT NULL,
    ISBN CHAR(13) NOT NULL,
    AlisTarihi DATE NOT NULL,
    TeslimTarihi DATE NOT NULL,
    GercekTeslimTarihi DATE,
    TeslimDurumu BIT DEFAULT 0, -- 0: Teslim edilmedi, 1: Teslim edildi

FOREIGN KEY (ÜyeTC) REFERENCES UYEKAYIT(ÜyeTC),
FOREIGN KEY (ISBN) REFERENCES KITAP(ISBN));
CREATE TABLE ÜYEKAYIT 
(
ÜyeTC  CHAR (11)  PRIMARY KEY,
ÜyeAd  NVARCHAR (50) NOT NULL,
ÜyeSoyad  NVARCHAR(50)  NOT NULL,
ÜyeKayıtTarihi  DATETAME DEFAULT GETDATE(),
ÜyeEğitimDurumu  NVARCHAR (100), 
ÜyeOkulAdı  NVARCHAR (100), 
ÜyeBölüm  NVARCHAR (100),
ÜyeMezuniyetSeviyesi  NVARCHAR (50), 
ÜyeTelNo  VARCHAR (10)UNIQUE,
ÜyeMailAdresi  NVARCHAR (100) UNIQUE,
ÜyeDoğumTarihi  DATE 
) ;

CREATE TABLE PERSONELKAYIT 
(
    PersonelTC CHAR(11) PRIMARY KEY,
    PersonelAd NVARCHAR(50) NOT NULL,
    PersonelSoyad NVARCHAR(50) NOT NULL,
    PersonelDogumTarihi DATE NOT NULL,
    İşeBaslamaTarihi DATE NOT NULL,
    İştenCikisTarihi DATE NULL
    PersonelTelNo VARCHAR(10) UNIQUE
);


CREATE TABLE KITAP 
(
    KİTAPID INT PRIMARY KEY IDENTITIY(1,1)
    ISBN CHAR(13) NOT NULL UNIQUE,
    KitapAdi NVARCHAR(50) NOT NULL,
    YazarAdi NVARCHAR(50) NOT NULL,
    YayineviID INT,                   
    KategoriID INT,                  
    TurID INT,                       
    BasimYili INT CHECK (BasimYili BETWEEN 1500 AND YEAR(GETDATE())) NOT            NULL,
    StokDurumu INT CHECK (StokDurumu >= 0) NOT NULL,
    BaskiSayisi INT CHECK (BaskiSayisi >= 1) NOT NULL,

FOREIGN KEY (YayineviID) REFERENCES YAYINEVI(YayineviID),
FOREIGN KEY (KategoriID) REFERENCES KATEGORI(KategoriID),
FOREIGN KEY (TurID) REFERENCES TUR(TurID)
);

CREATE TABLE ÖDUNÇ 
(
    ÖdunçID INT PRIMARY KEY IDENTITY(1,1),
    UyeTC CHAR(11) NOT NULL,
    KitapID NOT NULL,
    AlisTarihi DATE NOT NULL,
    TeslimTarihi DATE NOT NULL,
    GercekTeslimTarihi DATE,
    İadeKontrol BIT DEFAULT 0,

   FOREIGN KEY (ÜyeTC) REFERENCES UYEKAYIT(ÜyeTC),
FOREIGN KEY (KitapID) REFERENCES KITAP(KitapID)
);

CREATE TABLE YAYINEVİ 
(
    YayıneviID INT PRIMARY KEY IDENTITY(1,1),
    YayıneviAdı NVARCHAR(100) NOT NULL,
    YayıneviÜlke NVARCHAR(50),
    YayıneviTelefon NVARCHAR(10) NOT NULL UNIQUE,
    YayıneviAdres NVARCHAR(500)NOT NULL,
    YayıneviMailAdresi  NVARCHAR (100) NOT NULL UNIQUE
);

CREATE TABLE KATEGORI 
(
    KategoriID INT PRIMARY KEY IDENTITY(1,1),
    KategoriAdı NVARCHAR(50) NOT NULL,
    MinYaş INT,
    MaxYaş INT
);

CREATE TABLE TÜR 
(
    TürID INT PRIMARY KEY IDENTITY(1,1),
    TürAdı NVARCHAR(50) NOT NULL,
);
bunlar tablolar bu sorgu nasıl olur