Katıştırılmış SQL Programı Derleme

Katıştırılmış bir SQL programı SQL ve konak dili deyimlerinin bir karışımını içerdiğinden, konak dili için doğrudan bir derleyiciye gönderilemez. Bunun yerine, çok adımlı bir işlem aracılığıyla derlenmiştir. Bu işlem üründen ürüne farklılık gösterse de, adımlar tüm ürünler için kabaca aynıdır.

Bu çizimde, eklenmiş bir SQL programını derlemek için gereken adımlar gösterilmektedir.

Katıştırılmış SQL programı derleme adımları

Ekli SQL programı derlemede beş adım vardır:

  1. Katıştırılmış SQL programı, bir programlama aracı olan SQL ön bileşenine gönderilir. Ön derleyici programı tarar, eklenmiş SQL deyimlerini bulur ve işler. DBMS tarafından desteklenen her programlama dili için farklı bir ön bileşen gereklidir. DBMS ürünleri genellikle C, Pascal, COBOL, Fortran, Ada, PL/I ve çeşitli derleme dilleri de dahil olmak üzere bir veya daha fazla dil için ön derlemeler sunar.

  2. Ön derleyici iki çıkış dosyası oluşturur. İlk dosya, ekli SQL deyimleri kaldırılmış kaynak dosyadır. Ön hazırlayıcı, yerine program ile DBMS arasında çalışma zamanı bağlantısı sağlayan özel DBMS yordamlarına çağrılar ekler. Genellikle, bu yordamların adları ve çağrı dizileri yalnızca ön derleyici ve DBMS tarafından bilinir; DBMS ile genel bir arabirim oluşturmaz. İkinci dosya, programda kullanılan tüm eklenmiş SQL deyimlerinin bir kopyasıdır. Bu dosya bazen veritabanı isteği modülü veya DBRM olarak adlandırılır.

  3. Ön bileşenden kaynak dosya çıkışı, konak programlama dili (C veya COBOL derleyicisi gibi) için standart derleyiciye gönderilir. Derleyici, kaynak kodu işler ve çıkış olarak nesne kodu üretir. Bu adımın DBMS veya SQL ile hiçbir ilgisi olmadığını unutmayın.

  4. Bağlayıcı, derleyici tarafından oluşturulan nesne modüllerini kabul eder, bunları çeşitli kitaplık yordamlarıyla bağlar ve yürütülebilir bir program oluşturur. Yürütülebilir programa bağlı kitaplık yordamları, 2. adımda açıklanan özel DBMS yordamlarını içerir.

  5. Ön derleyici tarafından oluşturulan veritabanı isteği modülü, özel bir bağlama yardımcı programına gönderilir. Bu yardımcı program SQL deyimlerini inceler, ayrıştırıp doğrular, iyileştirir ve sonra her deyim için bir erişim planı oluşturur. Sonuç, eklenmiş SQL deyimlerinin yürütülebilir sürümünü temsil eden tüm program için birleştirilmiş erişim planıdır. Bağlama yardımcı programı planı veritabanında depolar ve genellikle bunu kullanacak uygulama programının adını atar. Bu adımın derleme zamanında mı yoksa çalışma zamanında mı gerçekleşdiği DBMS'ye bağlıdır.

Eklenmiş bir SQL programını derlemek için kullanılan adımların, daha önce SQL Deyimini İşleme bölümünde açıklanan adımlarla çok yakından ilişkili olduğuna dikkat edin. Özellikle, ön hazırlayıcının SQL deyimlerini konak dil kodundan ayırdığını ve bağlama yardımcı programının SQL deyimlerini ayrıştırıp doğrulayıp erişim planlarını oluşturduğuna dikkat edin. Derleme zamanında 5. adımın gerçekleştiği DBMS'lerde, sql deyimini işlemenin ilk dört adımı derleme zamanında, son adım (yürütme) ise çalışma zamanında gerçekleşir. Bu, bu tür DBMS'lerde sorgu yürütmeyi çok hızlı hale getirmenin etkisine sahiptir.