Uygulamanıza Veritabanı Nasıl Eklenir (Veriyi Sonradan Kaybetmeden)
Uygulamanıza veritabanı eklemek için yönetilen bir ilişkisel veritabanı seçin (genellikle Postgres), bağlantı dizesini sunucu tarafı bir gizli bilgi olarak tutun, uygulamanın sakladığı her veri türü için bir tablo oluşturun ve veriyi okuyup yazan şeyin tarayıcı değil, arka ucunuz (backend) olmasını sağlayın. Bir yapay zeka uygulama oluşturucusu kullanıyorsanız genellikle “bunu bir veritabanına kaydet” demeniz yeterlidir; ajan tabloları ve kodu kurar. Sizin göreviniz verinizi net biçimde tarif etmek ve gerçekten kalıcı olduğunu kontrol etmektir.
Bu rehber, ne zaman veritabanına ihtiyaç duyduğunuzu, başlıca seçenekleri, verinizi nasıl tarif edeceğinizi ve veri kaybına ya da sızıntısına yol açan hataları anlatır.
Uygulamanızın ne zaman veritabanına ihtiyacı olur
Uygulamanızın sayfa kapandıktan sonra bir şeyi hatırlaması ya da insanlar arasında veri paylaşması gerektiğinde veritabanına ihtiyacınız olur. Tipik işaretler şunlardır:
- Ziyaretçiler bir şey gönderir: form, kayıt, rezervasyon veya sipariş
- Kullanıcıların kendi kayıtlı içerikleriyle hesapları vardır
- Bir yönetici, başkalarının oluşturduğu şeyleri görmek veya düzenlemek ister
- Zaman içindeki raporlara veya sayılara ihtiyacınız vardır
Herkesin aynı içeriği gördüğü statik bir site için, örneğin bir portfolyo veya basit bir açılış sayfası için veritabanına ihtiyacınız yoktur. Veritabanının ne olduğundan emin değilseniz önce veritabanı nedir rehberini okuyun.
Seçenekleriniz
| Seçenek | Ne işe yarar | Uygun olduğu durum | Dikkat edilecekler |
|---|---|---|---|
| Uygulama oluşturucunuzun sunduğu yerleşik veritabanı | Projeniz için oluşturulan ve bağlanan bir veritabanı | Yapay zeka oluşturucusuyla yapılan çoğu uygulama | Bu platformun barındırmasına bağlıdır; dışa aktarma ve yedekleme platforma bağlıdır |
| Yönetilen Postgres veya MySQL | Ayrıca kaydolduğunuz, barındırılan bir ilişkisel veritabanı | Kendiniz barındırdığınız veya birden fazla servisin paylaştığı uygulamalar | Anahtarları, bağlantı sınırlarını ve planları siz yönetirsiniz |
| Backend-as-a-service | Veritabanı, kimlik doğrulama, depolama ve API’ler tek üründe | Hazır girişe ihtiyaç duyan, ağırlıklı olarak ön yüz uygulamaları | Öğrenilecek daha fazla platforma özgü kavram var |
| Belge (NoSQL) veritabanı | Esnek, JSON benzeri belgeler saklar | Çok düzensiz veri | İlişkiler ve raporlama daha zordur |
| Veritabanı olarak elektronik tablo | Google Sheets veya benzeri, bir API üzerinden | Çok küçük iç araçlar, prototipler | Yavaş, gerçek kısıtlamaları yok, eşzamanlı düzenlemelerde bozulur |
Küçük ve orta ölçekli çoğu web uygulaması için Postgres gibi ilişkisel bir veritabanı doğru varsayılandır. İlişkilerde iyidir (bir müşterinin birçok siparişi olur), veriyi tutarlı tutar ve sorularınızı daha sonra SQL ile yanıtlamanıza olanak tanır. Sade bir açıklama için Postgres nedir rehberine bakın.
Verinizi inşa etmeden önce tarif edin
Yapabileceğiniz en faydalı şey, uygulamanızın sakladığı şeyleri ve bunların nasıl bağlandığını yazmaktır. Veritabanı jargonuna ihtiyacınız yok. Bir rezervasyon uygulaması için:
- Müşteriler: ad, e-posta, telefon
- Hizmetler: ad, süre, fiyat
- Rezervasyonlar: hangi müşteri, hangi hizmet, başlangıç saati, durum (beklemede, onaylandı, iptal edildi)
Bu üç tablodur. “Hangi müşteri” ve “hangi hizmet” alanları, tablolar arasında bağlantılar (yabancı anahtarlar) olur. Bunu erken doğru yapmak, herhangi bir teknoloji seçiminden çok daha önemlidir; çünkü gerçek kayıtları olan verinin yapısını değiştirmek, bir sayfa düzenini değiştirmekten çok daha zordur.
Birkaç pratik kural:
- Her tür şey için bir tablo. Siparişleri müşterinin üzerindeki bir metin sütununa sıkıştırmayın.
- Her satıra bir ID ve oluşturulma zamanı verin. İkisine de daha sonra ihtiyaç duyacaksınız.
- Doğru veri türlerini kullanın. Tarihler tarih olarak, para ise kuruş cinsinden tam sayı veya ondalık tür olarak tutulsun; metin olarak değil.
- Zorunlu alanları zorunlu işaretleyin. Yalnızca formun değil, veritabanının da hatalı veriyi reddetmesini sağlayın.
Örnek promptlar
Tek bir özellikle başlayın; tüm şemayı bir anda yapıştırmayın:
Bu uygulamaya bir veritabanı ekle. Müşteri adı, e-posta, hizmet, başlangıç saati ve durum (beklemede, onaylandı, iptal edildi; varsayılan beklemede) alanlarıyla bir rezervasyonlar tablosu oluştur. Rezervasyon formundan gelen kayıtları buraya kaydet, bir başarı mesajı göster ve en yeni rezervasyonları önce listeleyen bir yönetici sayfası ekle.
Sonra genişletin:
Bir hizmetler tablosu ekle (ad, süre dakika cinsinden, fiyat kuruş cinsinden). Rezervasyonlardaki serbest metin hizmet alanını hizmetler tablosuna bir bağlantıyla değiştir ve mevcut rezervasyonları silmeden taşı.
Ve sıkılaştırın:
Tüm veritabanı okuma ve yazmalarının sunucuda gerçekleştiğinden emin ol. Tarayıcı veritabanı bağlantı dizesini hiçbir zaman almamalı. Kaydetmeden önce e-postayı ve başlangıç saatini sunucuda doğrula.
Adım adım
- Verinizi listeleyin, yukarıdaki gibi: şeyler, alanlar, aralarındaki bağlantılar.
- Veritabanını oluşturun. Bir yapay zeka oluşturucusunda bunu sohbette isteyin. Başka yerlerde yönetilen bir Postgres örneği oluşturun ve bağlantı dizesini kopyalayın.
- Bağlantı dizesini bir gizli bilgi olarak saklayın (sunucudaki bir ortam değişkeni olarak), asla kodun içinde değil. Bkz. ortam değişkenleri ve gizli bilgiler.
- Tabloları oluşturun. Şema değişikliklerini tekrarlanabilir ve geri alınabilir kılan sürümlü betikler olan geçişleri (migrations) kullanın.
- Sunucu rotalarını oluşturun; satırları oluşturan, okuyan, güncelleyen ve silen rotalar (CRUD). Tarayıcı bu rotaları çağırır; veritabanıyla doğrudan konuşmaz.
- Arayüzü bu rotalara bağlayın: kaydeden formlar, yüklenen listeler ve henüz veri yokken gösterilen boş durumlar.
- Kalıcılığı test edin. Bir şey gönderin, sayfayı yenileyin, farklı bir tarayıcıda açın. Veri orada değilse veritabanına kaydedilmemiştir.
- Erişimi kontrol edin. İkinci bir kullanıcıyla giriş yapın ve ilk kullanıcının verisini görüp düzenleyemediğinizi doğrulayın.
- Yayınlayın, sonra tekrar test edin. Yayınlanmış uygulama önizlemenizden farklı bir bağlantı kullanabileceği için canlı URL’de test edin.
Sık yapılan hatalar
- Tarayıcıya kaydedip kaydedildiğini sanmak. localStorage, uygulamayı başka bir cihazda açana kadar çalışıyormuş gibi görünür. Her zaman ikinci bir tarayıcıda test edin.
- Bağlantı dizesini ön yüz koduna koymak. Ön yüz kodunu herkes okuyabilir. Bu, veritabanınızın tamamını onlara vermek demektir.
- Erişim kontrolü olmaması. “Siparişlerimi göster” isteği, oturum açmış kullanıcıya göre sunucuda filtrelenmelidir, arayüzde değil. Yapay zeka ile oluşturulan uygulamalardaki en yaygın güvenlik açığı budur; güvenlik kontrol listemiz bunu kapsar.
- Yıkıcı şema değişiklikleri. “Tabloyu yeniden adlandır” ya da “yapıyı değiştir” gibi istekler tabloyu düşürüp yeniden oluşturabilir. Gerçek veri varken “mevcut satırları taşı, hiçbir şeyi silme” deyin.
- Dosyaları veritabanında saklamak. Görseller ve PDF’ler dosya depolamada tutulmalı; tabloda yalnızca URL veya anahtar bulunmalı. Bkz. dosya yüklemeleri nasıl eklenir.
- Yedekleme yok. Müşteriniz olmadan önce, platformunuzun verileri nasıl yedeklediğini ve nasıl geri yükleyeceğinizi bilin.
Kontrol listesi
- Her tür şeyin kendi tablosu, bir ID ve oluşturulma zamanı var
- Zorunlu alanlar ve türler veritabanı tarafından uygulanıyor
- Bağlantı dizesi yalnızca sunucu tarafı gizli bilgilerde duruyor
- Tüm okuma ve yazmalar sunucu rotalarından geçiyor
- Her kullanıcı yalnızca kendi satırlarını okuyup değiştirebiliyor
- Veri yenilemeden sonra kalıyor ve başka bir tarayıcıda görünüyor
- Şema değişiklikleri geçiş kullanıyor ve mevcut satırları koruyor
- Yedeklemenin ve geri yüklemenin nasıl çalıştığını biliyorsunuz
- Canlı uygulama yayınlandıktan sonra test edildi
Mythex’te veritabanı ekleme
Mythex’te her proje, Free ve Pro planlarda da kendine özel bir Postgres veritabanı alabilir. Genellikle ayrı bir “bağla” düğmesine basmanız gerekmez: sohbette isteyin (“onay verilen e-postaları bir veritabanına kaydet”) ya da /database yazın; bağlantı bilgileri çalışma alanına ve yayınlanmış uygulamanıza eklenir. Proje ayarları, veritabanının etkin olup olmadığını gösterir.
Veritabanı 5 dakika boşta kaldıktan sonra uykuya geçer ve bir sonraki istekte uyanır. Yayınlanmış kullanım, yalnızca veritabanının gerçekten uyanık kaldığı süre için ücretlendirilir ve bu da oluşturma için kullandığınız kredi bakiyesinden düşer. Yayınlamadan sonra bir veritabanı eklerseniz, canlı uygulamanın bunu almasını sağlamak için yeniden yayınlayın.
Ayrıntılar için dokümantasyondaki Veritabanı ve CRUD uygulaması oluşturma tarifine bakın. Kullanıcıya özel verilerin giriş tarafı için uygulamanıza giriş nasıl eklenir rehberine göz atın.
Sorular
Uygulamam için veritabanına ihtiyacım var mı?
Uygulamanızın ziyaretler arasında bir şeyi hatırlaması ya da kullanıcılar arasında veri paylaşması gerektiği anda ihtiyacınız olur: kayıtlar, siparişler, rezervasyonlar, gönderiler veya ayarlar gibi. Herkese aynı içeriği gösteren statik bir web sitesinin veritabanına ihtiyacı yoktur.
Küçük bir web uygulaması için hangi veritabanını kullanmalıyım?
Postgres gibi ilişkisel bir veritabanı, çoğu küçük web uygulaması için güvenli bir varsayılandır. Kullanıcıları, siparişleri, ilişkileri ve raporlamayı iyi yönetir, yaygın olarak desteklenir ve küçük ölçekte nadiren yetersiz kalır.
Veriyi veritabanı yerine tarayıcıda saklayabilir miyim?
localStorage gibi tarayıcı depolama alanı yalnızca bir cihazda, bir tarayıcıda yaşar ve kullanıcı bunu istediği zaman temizleyebilir. Tema tercihi gibi ayarlar için uygundur, ancak sizin veya diğer kullanıcıların daha sonra görmesi gereken hiçbir şey için uygun değildir.
Mythex veritabanı içeriyor mu?
Evet. Bir Mythex projesi, Free ve Pro planlarda kendine özel bir Postgres veritabanı alabilir. Bunu sohbette isteyebilir ya da /database komutunu kullanabilirsiniz; bağlantı bilgileri sizin için otomatik eklenir. Kullanım, oluşturma işlemiyle aynı kredi bakiyesinden ödenir.