Query yani sorgu, bilgi talebi anlamına gelir. Bilgisayar programlamada, bilgi bir veritabanından alınmadığı sürece aynı şeyi ifade eder.
Ancak, sorgu yazmak, veritabanının yönergeyi anlamasını sağlamak için önceden tanımlanmış bir kod kümesi gerektirir. Bu kavram sorgu dili olarak da bilinir.
Veritabanı yönetimi için standart dil Yapılandırılmış Sorgu Dili (SQL) olsa da veritabanı iletişimini kolaylaştıran diğer sorgu dilleri arasında AQL, Datalog ve DMX bulunur.
Bu makalede, bir sorgunun nasıl çalıştığı, sorgu örnekleri açıklanacak ve bunları veritabanına yazma adımları ele alınacaktır.
Veritabanı sorgusu, veritabanından veri isteğidir. İstek, bir veritabanı tablosunda veya sorgu dili olarak bilinen bir kod kullanan tabloların bir birleşiminde gelmelidir. Bu şekilde, sistem sorguyu buna göre anlayabilir ve işleyebilir.
Query Nedir?
Query (Sorgu), bilgi veya veri için bir veritabanına yapılan bir istektir. Belirli kriterlere dayalı olarak bir veritabanından belirli verileri almak için kullanılabilir ve SQL (Yapılandırılmış Sorgu Dili) ve XQuery dahil olmak üzere çeşitli dillerde yazılmıştır. Talep edilen verilerin hacmine ve türüne bağlı olarak, sorgular basit veya karmaşık olabilir. Belirli sütunları veya satırları almak, verileri filtrelemek ve sıralamak ve hatta veriler üzerinde hesaplamalar yapmak için kullanılabilirler. Birçok yazılım programı, uygulamanın çalışması için gereken verileri almak için kullanılan sorguların kullanılmasını gerektirir. İşletme, finans, bilim ve araştırma ile ilgili uygulamalarda sıklıkla kullanılırlar.
Veritabanında Query (Sorgu) Nasıl Yapılır?
Diyelim ki bir kafede Americano sipariş etmek istiyorsunuz. “Americano’ya sahip olabilir miyim?” diyerek talepte bulunuyorsunuz. Barista, isteğinizin anlamını anlayacak ve size sipariş edilen ürünü verecektir.
Bir sorgu da aynı şekilde çalışır. Koda anlam katarak sistemin eylemleri buna göre anlamasını ve yürütmesini sağlar. SQL veya başka bir sorgu dili olsun hem kullanıcı hem de veritabanı aynı dili kullandıkları sürece bilgi alışverişinde bulunabilir.
Bu arada iyi tasarlanmış bir veritabanı verileri birden çok tabloda depolar. Bunlar, verilerin özniteliklerini tutan sütunların yanı sıra bilgi satırları veya kayıtlarından oluşur. Sorgu daha sonra farklı tablolardan veri almaya, bunları düzenlemeye ve komutlara göre görüntülemeye yardımcı olur.
Sorgu bir seçim, eylem veya her ikisinin birleşimi olabilir. Seçme sorguları veri kaynaklarından bilgi alabilir ve eylem sorguları veri işleme, örneğin veri eklemek, değiştirmek veya silmek için çalışır.
İleri düzey kullanıcılar, MySQL kullanıcıları oluşturmaktan ve MySQL veritabanlarındaki WordPress URL’lerini değiştirmeye kadar çeşitli programlama görevlerini gerçekleştirmek için sorgu komutlarını da kullanabilir.
Query Komutları Nelerdir?
Aşağıda, işlevleriyle birlikte en yaygın sorgu komutlarından bazıları verilmiştir:
- SELECT: Veritabanından veri getirin. Her istek bir seçme sorgusuyla başladığı için en popüler komutlardan biridir.
- AND: Bir veya daha fazla tablodaki verileri birleştirin.
- CREATE TABLE: Farklı tablolar oluşturun ve içindeki her sütunun adını belirtin.
- ORDER BY: Veri sonuçlarını sayısal veya alfabetik olarak sıralayın.
- SUM: Belirli bir sütundaki verileri özetler.
- UPDATE INSERT: Var olan bir tabloya yeni veriler veya satırlar ekleyin.
- WHERE: Verileri filtreleyin ve ayarlanan bir koşula göre değerini alın.
Daha fazla varyasyon için yukarıdaki komutlardan bazılarını birleştirin. Örneğin, verileri toplamak veya sonuçları birleştirmek için SELECT sorgusunu AND veya SUM gibi diğer komutlarla eşleştirin.
Veritabanında Diğer Sorgu Teknikleri Nelerdir?
Bir veritabanından bilgi istemek için sorgu dilini kullanmanın yanı sıra, diğer yöntemler şunları içerir:
- Kullanılabilir Parametreleri Kullanma
Varsayılan olarak, veritabanı yazılımı, kullanıcıların ihtiyaç duydukları şekilde tanımlayabilecekleri parametre listelerine sahiptir. Bu parametreler, kullanıcı tanımlı işlevler (UDF) ve stored procedures (SP) arasındaki bilgi alışverişiyle ilgilidir.
- Örneğe Göre Sorgula
İlişkisel veritabanları grafik sorgu dili kullanır. Sistem, verilerinizin alanlarını ve değerlerini yazabileceğiniz ve belirtebileceğiniz bir kod şablonu gösterecektir. Bu nedenle, tam SQL deyimleri yazmak yerine, kullanıcı boş alanları doldurabilir.
- Veritabanı Eklentilerini Yükleme
Yeni başlayanlar için ideal bir çözüm olarak eklentiler, kullanıcıların yalnızca birkaç tıklamayla sorgular da dahil olmak üzere çeşitli veritabanı görevlerini gerçekleştirmelerini sağlar. Ek olarak, bazı eklentiler en iyi performansı sağlamak için optimizasyon özellikleriyle birlikte gelir.
Veritabanlarına ek olarak, arama motorları da bilgi sorgulayabilir ve alabilir. Ancak, bu iki teknolojideki sorgu terimi farklıdır.
Web araması sorgusu, kullanıcıların arama motoruna yazdıkları anahtar sözcükleri ifade ederken, veritabanı sorgusu bilgi isteğinde bulunmak için belirli bir eylemdir.
- Web Araması Sorgusu
Web arama sorgusu, kullanıcıların Bing, Google veya Yahoo gibi arama motorlarında bir soru veya kelime yazdıklarında ne aradıklarını açıklar. Arama motoru sorguları, konumsal parametreler veya anahtar kelimeler gerektirmediğinden SQL sorgularından çok farklı bilgiler sağlar. Bir arama motoru sorgusu aslında belirli bir konu hakkında bilgi talebidir.
Arama motorları, isteklerin en doğru sonuçlarını aramak ve bulmak için bir algoritma kullanır. Bunları önemine göre ve ayrıntıları kamuya açıklanmayan belirli arama motoruna göre sıralarlar.
Arama sorgusu türleri gezinme, bilgilendirme ve işlemseldir. Gezinme aramaları, ESPN.com gibi belirli bir web sitesini bulmayı amaçlamaktadır; bilgilendirici aramalar, yeni bir iPhone ve Android cihaz arasında böyle bir karşılaştırma gibi geniş bir konuyu kapsayacak şekilde tasarlanmıştır; ve işlemsel aramalar, Amazon.com yeni bir kazak satın almak gibi bir işlemi tamamlamaya çalışır.
Querry Terimleri Nelerdir?
Bir veritabanını sorgularken karşılaşabileceğiniz birkaç standart terimi inceleyelim:
- Query String: İstekleri web’den veritabanına geçirmek için URL’nin bir bölümü.
- Query Parameters: Veritabanında belirli bir sorguyu belirtmek için URL’nin sonuna eklenen öğeler.
- Query Folding: Power Query’nin sorgu iyileştirme için karmaşık hesaplamaları dönüştürmesinin etkinleştirildiği bir işlemi ifade eder.
- Query Containment: Depolanan veri değerlerinden bağımsızsa, bir sorgu diğerinde bulunduğunda gerçekleşir.
Query Folding Nedir?
Active Directory, OData veya Exchange gibi ilişkisel ve ilişkisel olmayan veritabanları gibi veri kaynakları için karma altyapısı, Power Query’nin veri dönüştürme dili (bir veri karma ve dönüştürme aracı) olan M Dili’nden temel alınan veri kaynağı tarafından anlaşılan bir dile “çevirir”. Çoğu zaman, bu dil SQL olacaktır.
Karmaşık hesaplamalar ve dönüşümler doğrudan kaynağa gönderildiğinde, Power Query büyük hacimli verileri verimli bir şekilde işlemek için geliştirilmiş sağlam ilişkisel veritabanı altyapıları kullanır.
Sorgu katlama, Power Query’nin kaynak verileri almak ve dönüştürmek için tek bir sorgu deyimi oluşturma yeteneğini açıklar. Power Query karma altyapısı, mümkün olduğunda verimliliği artırmak için sorgu katlamayı gerçekleştirmeye çalışır.
Kullanıcılar ayrıca, sorgu katlama ile uğraşmak için Power Query’de oluşturulan Microsoft’un iş zekası platformu Power BI’ı kullanarak yüzlerce farklı veri dönüşümü gerçekleştirebilir. Power BI; verileri toplayan, analiz eden, görselleştiren ve paylaşan araçları içerir.
Sorgu Dilleri
Daha önce de belirtildiği gibi, sorgularla çalışırken veritabanını ve dilini seçmek çok önemlidir. SQL’e ek olarak, NoSQL (Sadece Yapılandırılmış Sorgu Dili Değil) adlı başka bir veritabanı türü daha vardır. İkisi arasındaki temel fark, veri yapısıdır.
SQL veritabanları ilişkiseldir ve veri yapınızı belirtmenizi gerektiren önceden tanımlanmış şemalar kullanır. Öte yandan, NoSQL veritabanları ilişkisel değildir ve yapılandırılmamış veriler için dinamik şemalara sahiptir.
Hem SQL hem de NoSQL uygulanabilir seçenekler sunar. SQL veritabanı, ACID uyumlu bir veri yapısı için mükemmel bir seçimdir. Tersine, yapılandırılmamış belgeleriniz, anahtar/değer çiftleriniz veya grafikleriniz varsa, NoSQL veritabanı ideal bir seçim olabilir.
Sorgu, verileri gözden geçirmek, eklemek, değiştirmek veya silmek, birden çok tablodaki verileri hesaplamak ve birleştirmek gibi daha çeşitli görevleri gerçekleştirmek için her iki eylemin birleşimiyle de çalışabilir.
Veritabanı sorguları, verileri işlemenin karmaşık olması gerekmediğini gösterir. Çoğu sorgu dili sezgiseldir ve bazı temel kuralları anladıktan sonra öğrenmesi kolaydır. Kodlama konusunda rahat hissetmeyenler için, alternatif olarak veritabanı eklentilerini veya Query’yi örnek olarak kullanabilirsiniz.