Veritabanı Yönetim Sistemlerinde SQL Sorgularının Önemi

  • Anasayfa
  • Blog
  • Veritabanı Yönetim Sistemlerinde SQL Sorgularının Önemi
sql-img

Veritabanları, günümüzde bilgi depolamanın temel yapı taşlarından biri haline geldi. Büyük veri hacimlerini düzenli bir şekilde yönetmek ve gerektiğinde hızlı erişim sağlamak, işletmelerin etkinliği için kritik önem taşıyor. Veri tabanlarını yönetmek için kullanılan SQL (Structured Query Language – Yapılandırılmış Sorgu Dili), veri işleme ve yönetme süreçlerinde temel bir role sahip.

SQL sorguları, veritabanları üzerinde çeşitli işlemleri gerçekleştirmek için kullanılır. Veri ekleme, veri güncelleme, veri silme ve veri sorgulama gibi temel veritabanı işlemleri, SQL’in fonksiyonel yapısı sayesinde gerçekleştirilir. Özellikle büyük ölçekli sistemlerde, veri tabanlarını etkin bir şekilde yönetebilmek için optimize edilmiş SQL sorguları kullanmak büyük önem taşır.

SQL sorgularının doğru ve etkin bir şekilde yazılması, performansın yanı sıra veri bütünlüğünü de sağlar. İyi tasarlanmış bir sorgu, veri tabanının hızlı çalışmasını ve gereksiz yere kaynak tüketimini önler. Aynı zamanda, veri tabanı yöneticilerinin ve veri analistlerinin veriye daha kolay ve verimli bir şekilde erişmesini sağlar.

SQL sorguları, farklı veritabanı sistemlerinde de kullanılabilir. Bu da yazılımcıların ve veri uzmanlarının farklı platformlarda aynı dil yapısını kullanarak çalışmasına imkan tanır. Bu da veri yönetimi süreçlerinde esneklik ve standartlaştırma sağlar.

SQL Server’daki sistem tablolarından bazı bilgileri çekmeye yönelik bir içerik hazırladık. Bu SQL sorgusu, SQL Server’daki sistem tablolarından bazı bilgileri çekmeyi hedeflemek amacıyla yazılmıştır. SQL Server’daki kullanıcı tablolarının adını, kayıt sayısını, fiziksel boyutunu, oluşturulma ve son güncelleme tarihlerini ve bu tabloların indeks sayısını gösterecek örnek çalışma yapacağız. Öncelikle kodumuzun tamamını yazıp daha sonra adım adım neler yaptığını açıklayacağız

Kodumuz:

SELECT
t.name AS TABLO_ADI,
SUM(p.rows) AS KAYIT_SAYISI,
SUM(a.total_pages) * 8 AS FIZIKSEL_BOYUT_KB,
t.create_date AS OLUSTURULMA_TARIHI,
t.modify_date AS SON_GUNCELLEME_TARIHI,
COUNT(i.index_id) AS INDEKS_SAYISI

FROM
sys.tables t
INNER JOIN
sys.partitions p ON t.object_id = p.object_id
INNER JOIN
sys.allocation_units a ON p.partition_id = a.container_id
LEFT JOIN
sys.indexes i ON t.object_id = i.object_id
WHERE
t.type_desc = ‘USER_TABLE’
GROUP BY
t.name, t.create_date, t.modify_date
ORDER BY
KAYIT_SAYISI DESC;

 

Şimdi adım adım bu sorgunun ne yaptığına bir göz atalım:

Kodu adım adım inceleyelim:

  1. SELECT: Sorgu sonucunda hangi sütunların gösterileceğini belirtir.
    • t.name AS TABLO_ADI: sys.tables  tablo isimlerini TABLO_ADI olarak adlandırır.
    • SUM(p.rows) AS KAYIT_SAYISI: sys.partitions her bir tablodaki toplam kayıt sayısını KAYIT_SAYISI olarak adlandırır.
    • SUM(a.total_pages) * 8 AS FIZIKSEL_BOYUT_KB: Fiziksel boyutu kilobyte cinsinden hesaplar ve FIZIKSEL_BOYUT_KB olarak adlandırır.
    • t.create_date AS OLUSTURULMA_TARIHI: Her bir tablonun oluşturulma tarihini OLUSTURULMA_TARIHI olarak adlandırır.
    • t.modify_date AS SON_GUNCELLEME_TARIHI: Her bir tablonun son güncellenme tarihini SON_GUNCELLEME_TARIHI olarak adlandırır.
    • COUNT(i.index_id) AS INDEKS_SAYISI: Tablolardaki indeks sayısını INDEKS_SAYISI olarak adlandırır.
  2. FROM: Hangi tabloların kullanılacağını belirtir.
    • sys.tables t: Tablo bilgilerini içeren sys.tables içeriğinit olarak adlandırır.
    • INNER JOIN sys.partitions p ON t.object_id = p.object_id: sys.tables ve sys.partitions arasında object_id ile birleştirme yapar.
    • INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id: sys.partitions ve sys.allocation_units arasında partition_id ile birleştirme yapar.
    • LEFT JOIN sys.indexes i ON t.object_id = i.object_id: sys.tables ve sys.indexes arasında object_id ile birleştirme yapar.
  3. WHERE: Hangi koşulların geçerli olacağını belirtir.
    • t.type_desc = 'USER_TABLE': Sadece USER_TABLE tipindeki tabloları filtreler.
  4. GROUP BY: Hangi sütunların gruplanacağını belirtir.
    • t.name, t.create_date, t.modify_date: TABLO_ADI, OLUSTURULMA_TARIHI ve SON_GUNCELLEME_TARIHI‘ne göre gruplar.
  5. ORDER BY: Sonuçların nasıl sıralanacağını belirtir.
    • KAYIT_SAYISI DESC: KAYIT_SAYISI‘na göre azalan sırada sıralama yapar.

Bu analizde, veritabanları ve SQL sorgularının önemine dair temel bilgileri inceledik. Veritabanları, günümüzde bilgi depolamanın temel yapı taşlarından biri olup, büyük veri hacimlerini etkili bir şekilde yönetmek ve hızlı erişim sağlamak işletmeler için kritik bir unsurdur. İyi tasarlanmış SQL sorguları, performansın yanı sıra veri bütünlüğünü de sağlayarak veritabanlarının etkin bir şekilde çalışmasını sağlar.

SQL Server’daki sistem tablolarından bilgi çekmeye yönelik örnek bir SQL sorgusu üzerinden adım adım bir analiz gerçekleştirdik. Bu analiz, SQL sorgularının nasıl yapılandırıldığını ve hangi verileri çektiğini anlamak açısından faydalı bir örnek sundu.

Veritabanları ve SQL sorguları, günümüz teknolojisinin vazgeçilmez bir parçası olarak iş dünyasında önemli bir rol oynamaya devam ediyor. Bu temel bilgiler, veri yönetimi ve bilgi depolama konularında çalışan profesyonellerin etkili ve verimli çözümler üretmelerine katkı sağlar.

Yorum Yazın..

Your email address will not be published. Required fields are marked *

×