Bu makale, NET Core'un SQLite veri tabanı kullanarak veri tabanı yönetimi sağlama seçeneğini ele almaktadır SQLite, sunucu ihtiyacı olmayan bir yerleşik veri tabanıdır ve platform bağımsızlığı, performans avantajları ve versiyon kontrolü gibi avantajlar sunar Sürüm kontrolü, veritabanı işlemlerini izlenebilir yapar ve geri alma ve geri yükleme işlemlerini kolaylaştırır Platform bağımsızlığı, farklı sistemlerde çalışmayı sağlar ve performans avantajları, yüksek performanslı bir veri tabanı sunar Bu makale, NET Core Veri Tabanı Yönetimi: SQLite Nedir ve Nasıl Kullanılır? Hakkında bilgi vermektedir
.NET Core'un en önemli bileşenlerinden biri, veri tabanı yönetimi için gereklidir. .NET Core, SQLite veri tabanı kullanarak kolay ve güvenilir bir veri tabanı oluşturma seçeneği sunmaktadır. SQLite, sunucu ihtiyacı olmayan yerleşik bir veri tabanı motorudur. Bu nedenle, küçük ölçekli projeler için uygun bir seçenek olabilir. SQLite'in sunduğu avantajlar arasında, sürüm kontrolü, platform bağımsızlığı ve performans avantajları bulunmaktadır. Bu makale, SQLite veri tabanı nedir ve nasıl kullanılır gibi konuları ele alacaktır.
SQLite Nedir?
SQLite, sunucu ihtiyacı olmayan yerleşik bir veri tabanı motorudur. Sunucu ihtiyacı olmadığından, uygulamaların yerel olarak veri tabanı kullanmasına izin verir ve bu nedenle verileri herhangi bir sunucu olmadan saklayabilirsiniz. SQLite, birkaç dosyadan oluşan bir veri tabanıdır ve bu nedenle verileri yerel olarak saklar.
SQLite, nesne ilişkisel haritalama (ORM) kullanmadan da çalışabilir. Bunun avantajı, verileri daha hızlı işleyebilmesi ve daha küçük veritabanlarının kullanıcıların ihtiyaçlarını karşılayabilmesidir. SQLite, basit kullanımı ve küçük boyutu nedeniyle mobil cihazlarda da sıklıkla tercih edilir. Üstelik versiyon kontrolü, platform bağımsızlığı ve performansı da avantajları arasındadır.
SQLite'in Avantajları
SQLite, sunucu ihtiyacı olmayan yerleşik bir veri tabanı motoru olarak öne çıkar. Bununla birlikte, SQLite'in avantajları sadece bu kadarla sınırlı değildir. SQLite'in Sürüm Kontrolü, Platform Bağımsızlığı ve Performans Avantajları gibi diğer avantajları da vardır.
Sürüm Kontrolü: SQLite, doğal olarak sürüm kontrolü sağlar. Veritabanındaki her bir işlem, düzenli bir şekilde yedeklenir ve bir sonraki değişiklik işlemi sırasında kullanılır. Bu, veritabanındaki tüm değişikliklerin izlenebilir olmasını ve herhangi bir zamanda geri alınabilmesini sağlar.
Platform Bağımsızlığı: SQLite, platform bağımsız bir veri tabanıdır. Hemen hemen tüm işletim sistemleriyle uyumludur. Bu, veri tabanını farklı cihazlar veya işletim sistemleri arasında sorunsuz bir şekilde taşıyabilmenizi sağlar.
Performans Avantajları: SQLite yüksek performans sağlayan bir veri tabanıdır. SQLite, veri tabanınızın boyutuna bağlı olarak yüzlerce GB'lık verileri işleyebilir. Bununla birlikte, bu performans artışı hiçbir zaman veri bütünlüğü veya güvenliği kaybetmeden gerçekleşir.
Sürüm Kontrolü
SQLite, sürüm kontrolü sağlamak için gereken üst düzey özellikleri içerir. SQLite sayesinde, veritabanınızın bir sürümünden diğerine geçiş yapmak kolaylaşır. SQLite, her sorgu için otomatik olarak sürüm numarasını güncelleyerek veritabanınızın güncel kalmasını sağlar. Ayrıca, geri alma ve geri yükleme işlemlerini kolayca yapabilmenize olanak tanır. Bu nedenle, SQLite, birden fazla kullanıcının çalıştığı uygulamalarda özellikle faydalıdır.
SQLite sürüm kontrolü, kolay bir yönetim için birçok yerleşik özelliğe sahiptir. SQLite, veritabanınızın her sürümü için yazım geçmişini saklar. Bu, olası bir veri kaybı durumunda önceki sürümlere geri dönebileceğiniz anlamına gelir. SQLite, sürüm geçmişini saklamak için ayrı bir tablo oluşturur. Bu sayede, sürüm numaralarının yanı sıra, her bir sürümün oluşturulma tarihini ve hangi kullanıcıların sürümü oluşturduğunu da görebilirsiniz.
Bir başka avantajı da sürüm kontrolü için kolay görselleştirme sağlamasıdır. Her sürümde yapılan değişiklikleri seçerek, herhangi bir iki sürüm arasındaki farklılıkları kolayca fark edebilirsiniz. Bu özellik, uygulamaları hatalardan korumak için önemlidir ve geliştiricilerin skriptleri takip etmelerini gerektirmez. Bu nedenle, SQLite, uygun sürüm kontrolü olan uygulamalarda sık sık kullanılır.
Platform Bağımsızlığı
SQLite'in en büyük avantajlarından biri de platform bağımsızlığıdır. SQLite, işletim sistemi veya platformdan bağımsız olarak çalışabilir. Bu, SQLite veri tabanı kullanıcılarının, daha az sorun yaşayarak farklı sistemler üzerinde çalışmasına olanak tanır.
SQLite, Windows, MacOS, Linux, Android ve hatta iOS dahil olmak üzere hemen hemen tüm işletim sistemleriyle uyumludur. Bu uyumluluk, SQLite'nin birçok farklı uygulama ve hizmette kullanılmasına olanak tanır.
SQLite'in platform bağımsızlığı ile, bir web uygulamasının birçok farklı sistemde çalışabilmesi sağlanır. Bu, geliştirme ekibinize ve kullanıcıların deneyimine katkıda bulunabilir.
Yani, SQLite kullanmak işletim sistemi veya platform bakımından kaygıları ortadan kaldırır. Böylece, sağlaması gereken işlevleri yerine getirmek, uyumluluk sorunları yerine müşteri memnuniyetine odaklanmak için daha fazla zaman harcayabilirsiniz.
Performans Avantajları
SQLite, performans açısından oldukça avantajlı bir veri tabanıdır. Veritabanının boyutuna bağlı olarak, SQLite yüzlerce GB'lık verileri işleyebilir. Ayrıca, SQLite'in yüksek performans sağladığı söylenebilir çünkü SQL motorunun tüm işlemleri C kütüphanesi kullanarak gerçekleştirilir. Bu da, hızlı, güvenli ve stabil bir performans sunar.
SQLite, aynı zamanda birçok büyük şirketin ve yazılım geliştiricilerinin tercih ettiği bir veri tabanıdır. Özellikle, web ve mobil uygulama geliştiricileri, SQLite'in performansı dolayısıyla tercih etmektedirler.
Bununla birlikte, SQLite'in performans avantajları, veritabanının boyutuna bağlı olarak değişebilir. Eğer veritabanınız yüzlerce GB'dan fazlaysa, performans sorunları yaşayabilirsiniz. Bu gibi durumlarda, veri tabanı optimizasyonu gibi ileri düzey teknikler kullanarak, performans sorunları çözülebilir.
SQLite Nasıl Yüklenir?
.NET Core, SQLite kullanarak veri tabanı yönetimi konusunda oldukça esnek bir platformdur. SQLite'in avantajlarından yararlanarak, .NET Core ile kolayca veritabanı işlemleri yapabilirsiniz. SQLite'in .NET Core ile birlikte yüklü olduğunu bilmek, kullanımını oldukça kolaylaştırmaktadır. SQLite veritabanı oluşturma ve işlemler için herhangi bir yükleyici veya özel bir ayar yapmak gerekmez. Bu nedenle, .NET Core kullanarak SQLite'i kullanarak veri tabanı yönetimi yapmak oldukça kararlı ve pratiktir.
SQLite Veritabanı Oluşturma
SQLite, .NET Core'da varsayılan bir veri tabanı yönetim sistemi olarak kullanılabilir. Bu nedenle, özel bir kurulum yapmak veya yükleyici indirmek gerekmez. SQLite veritabanı oluşturmak için birkaç seçenek vardır.
Visual Studio'da SQLite Veritabanı Oluşturma
Visual Studio'da SQLite veritabanı oluşturmak için, NuGet paket yöneticisi kullanılabilir. Projeye sağ tıklayarak "Manage NuGet Packages" seçeneği seçilir ve SQLite paketi aranarak indirilir. İndirme işlemi tamamlandıktan sonra, projede "Add New Item" seçeneğine tıklanarak "SQLite Database File" seçilir ve veritabanının adı belirlenir. Oluşturulan veritabanı, projeye eklenecektir.
.NET Core Konsol Uygulamasında SQLite Veritabanı Oluşturma
.NET Core konsol uygulamasında SQLite veritabanı oluşturmak için, öncelikle System.Data.SQLite.Core paketi projeye eklenmelidir. Daha sonra, SQLite veritabanı oluşturulurken kullanılacak olan SQLiteConnection nesnesi oluşturulur ve veritabanı adı belirlenir. SQLiteCommand nesnesi ile CREATE TABLE sorgusu yazarak tablo oluşturulabilir. Veritabanı işlemleri tamamlandıktan sonra, SQLiteConnection nesnesi kapatılmalıdır.
- Öncelikle, System.Data.SQLite.Core paketi projeye eklenir.
- Veritabanı oluşturmak için SQLiteConnection nesnesi oluşturulur.
- CreateCommand() metodu kullanılarak SQLiteCommand nesnesi oluşturulur.
- Oluşturulan SQLiteCommand nesnesine CREATE TABLE sorgusu yazılır.
- ExecuteNonQuery() metodu kullanılarak sorgu yürütülür.
- SQLiteConnection nesnesi kapatılır.
Visual Studio'da SQLite Veritabanı Oluşturma
Visual Studio kullanarak SQLite veritabanını oluşturmak oldukça kolaydır. İlk adım olarak, Visual Studio açın ve bir proje oluşturun. Projenizin türü, kullanacağınız .NET Core sürümüne bağlı olarak değişebilir.
Ardından, Proje Gezgini'nde Solution Explorer seçeneğine tıklayın ve ardından sağ tıklayarak Add > New Item seçeneğine gidin. Bu, yeni bir öğe eklemek için kullanılan bir menüdür.
Yeni öğe ekleme penceresinde, sol taraftaki menüde SQLite Database seçeneğine gidin ve ardından Database adını ve konumunu belirleyerek veritabanı oluşturun.
Ayrıca, SQLite veritabanı yönetimi için kullanabileceğiniz birçok araç ve eklenti de vardır. Bunlar, Visual Studio Marketplace'te bulunabilir. Bu araçlar sayesinde, SQLite veritabanlarınızı görselleştirebilir, yönetebilir ve güncelleyebilirsiniz.
Bir sonraki adım olarak, veritabanınıza tablolar ekleyebilirsiniz. Bunun için, Visual Studio’da View > Server Explorer özelliğini kullanın ve burada SQLite veritabanınızı bulun. Ardından, Create New Table seçeneğine tıklayarak yeni bir tablo oluşturun.
- Tablo sütun isimlerini ve veri tiplerini belirleyin.
- Aynı zamanda, sütunlar arasındaki ilişkileri ve verilerin benzersiz olup olmadığını da belirleyebilirsiniz.
Tüm bu ayarlamalar yapıldıktan sonra, sorgularınızı kullanarak veritabanınızda işlem yapabilirsiniz. Visual Studio ile sorgu oluşturmak kolaydır. İlk olarak, View > Server Explorer alanındaki veritabanınızı seçin ve ardından sağ tıklayarak New Query seçeneğine gidin.
Sorgu oluşturmak için SQL dili kullanabilirsiniz. SQL dili, veritabanı sorguları ve işlemleri için özel olarak tasarlanmış bir dil türüdür.
Visual Studio, SQLite veritabanlarına erişmenizi ve yönetmenizi kolaylaştıran birçok araç sunar. Bu araçları kullanarak, SQLite veritabanlarınızı gereksinimlerinize uygun şekilde özelleştirebilir ve yönetebilirsiniz.
.NET Core Konsol Uygulamasında SQLite Veritabanı Oluşturma
.NET Core konsol uygulamaları, CLI (Command Line Interface) kullanarak oluşturulan ve çalıştırılan uygulamalardır. Bu tip uygulamalar genellikle arka planda çalışan görevleri yerine getirir ve sonuçları kullanıcıya döndürür. Bu uygulamalar, SQLite veritabanını kullanarak veri yönetimi yapabilirler.
.NET Core konsol uygulamasında, SQLite veritabanı oluşturmak için öncelikle SQLite nuget paketinin yüklenmesi gerekmektedir. Bunun için, Visual Studio Package Manager Console kullanılarak aşağıdaki komut yazılabilir:
Install-Package Microsoft.EntityFrameworkCore.Sqlite
Bu sayede, SQLite nuget paketi projeye eklenir ve SQLite veritabanı oluşturmak için gerekli olan sınıflar kullanılabilir hale gelir.
SQLite veritabanı oluşturma işlemi aşağıdaki adımlarla gerçekleştirilebilir:
- Proje klasöründe bir klasör oluşturun ve ismini "Data" olarak adlandırın
- Bu klasör içinde "DataSource.db" adında bir dosya oluşturun
- .NET Core konsol uygulamasındaki "Program.cs" dosyasını açın
- Aşağıdaki kodu "Main" metodu içine yazın:
using Microsoft.EntityFrameworkCore; |
---|
namespace MyNamespace |
{ |
public class MyDbContext : DbContext |
{ |
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) |
{ |
optionsBuilder.UseSqlite("Filename=./Data/DataSource.db"); |
} |
} |
} |
- Bu kod, DbContext sınıfınızı oluşturur ve veritabanıyla olan bağlantıyı yapılandırır. Bu kodda "Data" klasörü içinde "DataSource.db" dosyası oluşturduğumuzu varsayıyoruz.
- Ardından, veritabanınızı oluşturmak için "Main" metodunun içerisine aşağıdaki satırı ekleyin:
using (var db = new MyDbContext()) { db.Database.EnsureCreated(); }
Bu kod, veritabanınızı oluşturur veya mevcut bir veritabanını kullanır. Veritabanı oluşturma işlemi tamamlandıktan sonra, SQLite veritabanına erişim için kullanabileceğiniz DbContext sınıfınıza sahip olacaksınız.
SQLite Veritabanı İşlemleri
SQLite veritabanı işlemleri, veri tabanı yönetimi için oldukça önemlidir. SQLite veritabanı, sadece veritabanı oluşturma veya bağlantıya geçme işlemleriyle sınırlı değildir. Verilerin işlenmesi, güncellenmesi veya silinmesi gibi işlemler de yapılabilir. Bu bölümde, SQLite veritabanı işlemleri hakkında bilgi verilecektir.
Veritabanına bağlanmadan önce, veritabanı yolunu (path) bilmeniz gereklidir. Bağlantı dizisi (connection string) 'Data Source' parametresi ile belirtilir. Aşağıdaki örnek, "example.db" denilen bir veritabanı oluşturacaktır:
string connectionString = "Data Source=example.db";
SQLite veritabanına veri eklemek için INSERT INTO ifadesi kullanılır. Aşağıdaki örnek, "Person" adında bir tabloya veri ekler:
using (SQLiteConnection conn = new SQLiteConnection(connectionString)){ conn.Open(); using (SQLiteCommand cmd = new SQLiteCommand(conn)) { cmd.CommandText = "INSERT INTO Person (Name, Age) VALUES ('John Doe', 30)"; cmd.ExecuteNonQuery(); }}
SQLite veritabanında veri güncelleme, UPDATE ifadesi kullanılarak yapılır. Aşağıdaki örnek, "Person" adındaki tabloda yaşını 30'dan 35'e günceller:
using (SQLiteConnection conn = new SQLiteConnection(connectionString)){ conn.Open(); using (SQLiteCommand cmd = new SQLiteCommand(conn)) { cmd.CommandText = "UPDATE Person SET Age = 35 WHERE Name = 'John Doe'"; cmd.ExecuteNonQuery(); }}
SQLite veritabanından veri silmek için, DELETE FROM ifadesi kullanılır. Aşağıdaki örnek, "Person" adındaki tablodan "John Doe" adındaki kişiyi siler:
using (SQLiteConnection conn = new SQLiteConnection(connectionString)){ conn.Open(); using (SQLiteCommand cmd = new SQLiteCommand(conn)) { cmd.CommandText = "DELETE FROM Person WHERE Name = 'John Doe'"; cmd.ExecuteNonQuery(); }}
Bu şekilde, SQLite veritabanı işlemlerini kullanarak verileri düzenleyebilir ve yönetebilirsiniz.
Veritabanı Bağlantısı
SQLite veritabanı, kullanıcıların uygulama ile veritabanı arasında bir bağlantı kurma işlemini yapmalarına izin verir. Bağlantı oluşturmak için ihtiyacınız olan tek şey, bağlantı dizgisine sahip bir SQLiteConnection nesnesidir.
Aşağıdaki örnek kod bloğu, SQLite veritabanına bağlanmak için gerekli olan temel işlevleri göstermektedir.
Açıklama | Kod |
SQLiteConnection nesnesi oluşturma | using SQLite; SQLiteConnection con = new SQLiteConnection("Data Source=veritabanı.db;"); |
Bağlantıyı açma | con.Open(); |
Bağlantıyı kapama | con.Close(); |
Yukarıdaki kod bloğunda, SQLiteConnection nesnesi oluşturulur ve veritabanı dosyasının konumu belirtilir. Daha sonra, Open () fonksiyonu kullanılarak veritabanıyla bağlantı kurulur. Bağlantıyı kapatmak istediğinizde, sadece Close () fonksiyonunu kullanmanız yeterlidir.
Başka bir deyişle, yukarıdaki kod bloğunu çalıştırdığınızda, SQLite veritabanınıza başarılı bir şekilde bağlanmış olacaksınız ve verilere erişebileceksiniz.
Veri Ekleme
Veri ekleme işlemi, veritabanı yönetiminde en önemli işlemlerden biridir. SQLite de bu işlemi kolayca yapabileceğiniz bir veritabanı motorudur.
Veri ekleme işlemini gerçekleştirmek için öncelikle bir INSERT INTO sorgusu kullanmak gerekir. Bu sorgu, veritabanındaki bir tabloya yeni bir kayıt eklemek için kullanılır.
Örnek olarak, öncelikle eklemek istediğiniz tabloyu belirtmeniz gerekiyor. Daha sonra eklenecek verileri ve verilerin tablodaki sıralarını belirtmeniz gerekiyor. Örnek INSERT INTO sorgusu aşağıdaki gibi olabilir:
INSERT INTO | personel (isim, soyisim, yaş) | VALUES | ('Ahmet', 'Yılmaz', 30) |
Bu sorgu, "personel" adlı tabloya yeni bir kayıt ekleyecektir. Kaydın "isim", "soyisim" ve "yaş" sıralarına sırasıyla "Ahmet", "Yılmaz" ve "30" değerleri girilecektir.
INSERT INTO sorgusunun her sırası için bir örnek ekleyerek, veritabanınızdaki kayıtları kolayca yönetebilirsiniz.
Veri Güncelleme
SQLite, hem veri tabanı oluşturma hem de mevcut bir veri tabanı üzerinde görüntüleme, ekleme veya silme gibi işlemler yapma olanağı sunar. Veri güncelleme de bu işlemlerden biridir. SQLite veri tabanında güncelleme yapmak, diğer düzenlemelerle benzer şekilde yapılır. Güncelleme yapılmadan önce, hedeflenen tablo seçilir ve belirli bir satır seçilir.
Veri güncelleme için “Update” ifadesi kullanılır ve “Set” ile veri güncellenir. Bir satırdaki verileri güncellemek için belirli bir sütundaki değeri değiştirmek gerekir. Gereksinimler, SET şartıyla tanımlanmalıdır ve “Where” ifadesi kullanılarak belirli bir satır veya satırlar seçilir. Yukarıdaki adımların ardından veri güncellenir.
Örneğin, “Customers” adlı bir tablonuz var ve bir müşterinin adını “John” olarak güncellemek istiyorsunuz, aşağıdaki SQL ifadesini kullanabilirsiniz:
ID | Ad | Soyadı | Şehir |
---|---|---|---|
1 | John | Doe | İstanbul |
2 | Jane | Smith | Ankara |
3 | Emma | Wilson | İzmir |
UPDATE Customers SET Ad = ‘John' WHERE ID=1;
Bu komut, “Customers” tablosundaki “ID” sütununda “1” olarak belirtilen satırda “Ad” sütununa "John" değerini atar. Bu şekilde, belirli bir satırdaki verileri başarılı bir şekilde güncelleyebilirsiniz.
Veri Silme
SQLite veritabanından veri silmek oldukça basittir. Veri tabanınıza bağlanmanız ve silmek istediğiniz verilerin SQL sorgusunu yazmanız yeterlidir.
Öncelikle, SQLite veritabanına bağlanmak için şu kodu kullanın:
using Microsoft.Data.Sqlite; var connectionStringBuilder = new SqliteConnectionStringBuilder();connectionStringBuilder.DataSource = "./myDatabase.db"; using (var connection = new SqliteConnection(connectionStringBuilder.ConnectionString)){ connection.Open(); // İşlemler burada gerçekleştirilir connection.Close();}
Veri silme işlemi için örnek bir SQL sorgusu şu şekilde olabilir:
using (var command = connection.CreateCommand()){ command.CommandText = @" DELETE FROM MyTable WHERE Id = @id "; command.Parameters.AddWithValue("@id", 1); var rowsAffected = command.ExecuteNonQuery();}
Bu örnekte, 'MyTable' adlı tablodan, 'Id' sütunu 1 olan kayıt silinir. Bu sorguyu kendinize göre düzenleyerek istediğiniz şekilde kullanabilirsiniz.
Bir başka yöntem de, Entity Framework Core kullanarak veri silme işlemi yapmaktır. Entity Framework Core, SQLite veritabanı işlemlerini kolaylaştırmak için kullanışlı bir araçtır.
Yukarıdaki örnekler kullanarak, SQLite veritabanından veri silmek oldukça kolaydır.