Son Haberler
Anasayfa / Yazılım / SQL / SQL’de Verilerin Saklanması

SQL’de Verilerin Saklanması

SQL’de bir veritabanı temelde bir çok farklı tipde verilerin bir arada bulunduğu bir ortamdır. Yani bir veritabanı içinde sayısal bir veri, grafiksel bir veri, string türde bir veri gibi çok veri tipi bir arada yer alabilir. Masaüstü uygulamalarının, günümüz WEB uygulamalarının büyük çoğunluğu veritabanı kullanmaktadır. Yani aslında şöyle diyebiliriz, her uygulamanın ardında bir veritabanı kullanılması muhtemeldir, hatta birden fazla veri tabanı kullanılması muhtemeldir.

Şimdi bir veritabanının yapısı nasıldır buna değinelim. SQL Server Management Studio ortamımı açıyorum. Ve benim sistemimde yüklü olan Adventureworks veri tabanı üzerinde işlem yapıyorum. Bu veritabanı üzerinde object explorerda yanındaki artı işaretine tıklayarak içeriğini görüyorum.

Üstteki resimde gördüğünüz üzere Veritabı içeriğinde birçok obje mevcut. Çeşitli tipte verilerimizin tutulduğu tablolar, indexler, stored procedure’ler, kullanıcı tanımlı fonksiyonlar ve kullanıcı tanımlı diğer objeler. İşte tüm bu objeler bizim veritabanımızı oluştururlar. Veritabanlarımız aslında birer dosyadırlar.

SQL Server üzerinde bu dosyalar yönetilebilirler. Bir SQL veri tabanı temelde en az iki dosyadan oluşmaktadır. Bunlardan bir tanesi bizim verilerimizin ve diğer objelerimizin yer aldığı asıl veritabanı dosyasıdır ve bu dosyanın uzantısı .mdf’dir. Diğer dosya ise bir kayıt dosyasıdır ve ilgili veri tabanı üzerinde yapılan işlemlerin kayıtlarının tutulduğu dosyadır, bu dosyanın uzantısı da .ldf’dir.Eğer kullanılıyor ise ek dosyalar varsa bunların uzantısı da .ndf olacaktır. .ndf, .mdf ve .ldf uzantıları server tarafından otomatik olarak verilen uzantılardır ve bu uzantıların hiç bir şekilde değiştirilmesi önerilmez. (Bazı durumlarda, değişim yapanlar vardır, o yüzden önerilmez dedim, biz değiştirmiyoruz)

Veri dosyaları birden fazla veri grupları halinde düzenlenebilirler. Veri dosyalarını veri gruplarına bölmek performans açısından ve yedekleme yapma açısından avantajlıdır.

Kayıt dosyası dediğimiz log file, veritabanı üzerinde yapılan değişiklikleri, transaction işlemleri gibi kayıtları tutmak için kullanılırlar. Kayıt dosyaları veri tabanı yöneticileri için çok önemlidir, genel olarka günlük olarak bu dosyanın yedekleri alınır ve herhangi bir acil durumda bu dosyalar yardımı ile geri dönüş yapılabilir.

Tablolar içinde verilerin saklanması :

Veritabanında en önemli objeler tablolardır. Çünkü tablolar aslında veri tabanımız içinde bize ait olan verileri saklayan objelerdir. Bir tablo tıpkı bir excel dosyası gibi satır ve sütunlardan oluşur. Örneğin aşağıdaki, resimde bir SQL tablosunu görebilirsiniz.

Üstte normalize edilmiş, yani normalleştirilmiş bir veritabanına ait bir tabloyu görmektesiniz. Bu normalleştirme nedir bir sonraki yazımda bahsedeceğim. Şimdi burada görüldüğü üzere departmanlar ve bu departmanların hangi grupta olduğu ve en son ne zaman düzenlendiği gibi veriler saklanıyor. Tıpkı bir excel tablosu gibi, satır ve sütunlardan oluşan bir tablomuz mevcut. Burada her türlü veri olabilir, bir müşteri bilgisi, bir çalışan bilgisi, bir ürün bilgisi vb bir çok şey. Yani tablodaki her satır aslında bir varlığa dair bir bilgi içermektedir. Burada bölümlere dair her satır bilgi içermektedir. Her kolonda burada her varlığa ait bir parça bilgi içermektedir diyebiliriz. Örneğin burada bölümler hakkında bilgi alıyoruz ama kolonların birisi bölüm adını, bir diğeri bölümün hangi grupta olduğunu bir diğeri ise ne zaman düzenlendiği hakkında bilgi veriyor. Mesela bu tablomuzun bir ürünler tablosu olduğunu düşünün. Bu tablomuz da Gömlek ürünümüz olsun, bir kolon rengini, bir diğer kolon bedenini, bir kolon stokdaki adedini bir diğer kolon fiyatını bize yansıtan bilgileri içerebilir. Örnekleri çok rahat çoğaltabiliriz. Umarım veri tabanı içinde yer alan tabloların mantığı anlaşılmıştır.

Her sütunda saklanan verilerin birde veri tipi söz konusudur. Her verinin belli bir veri tipinde olması gerekir, çünkü bunlar üzerinde işlem yapabilmemiz için bu önemli bir noktadır. Gerektiği durumlarda her bir sütunda constraintler yani kısıtlayıcılar yer alır. Bunlarda veriler üzerinde işlem yaparken bize avantajlar sağlayacaktır, bunlar sayesinde ilgili alana yanlış veri girilmesinin önüne geçme gibi bir çok durum söz konusudur. Bununla birlikte normalize edilmiş bir veritabanında her tablonun mutlaka bir de birincil anahtar dediğimiz primary key denilen bir kolonu bulunur. Örneğin üstteki yer alan tabloda birincil anahtar dediğimiz kısım DepartmentID kolonudur.

Bir sonraki yazıda görüşmek dileği ile..

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir