Yapisal Sorgulama Dili (SQL)

İlişkisel veri tabanı yönetim sistemleri (RDBS) modeli ilk önce 1970 yılında Dr.E.F. Codd tarafından tarif edilmiştir. SQL veya Structured English Query Language (SEQUEL), IBM firması tarafından Codd’un modeli kullanılmak için geliştirilmiştir. SEQUEL sonraları SQL olmuştur. 1979 yılında, Relational Software ,SQL’in ilk ticari uygulamasını geliştirmiştir. Bugün SQL, ilişkisel veri tabanı yönetim sistemleri standartı olarak kabul edilmektedir.


SQL, ilişkisel veri tabanlarındaki bilgileri sorgulamak için kullanılan bir dildir. SQL, tüm kullanıcıların ve uygulamaların veri tabanına erişmek için kullandıkları komutlar bütünüdür. Uygulama programları ve veri tabanı araçları kullanıcılara çoğu durumda SQL kullanmadan veri tabanına erişim imkanını sunmaktadırlar fakat bu uygulamalarda geri planda SQL kullnmaktadırlar.

Oracle SQL’I, standartlara uygundur. Daha da ötesinde, Oracle,SQL standartlarının gelişmesinde motor güç olan bir kurumdur. American National Standarts Institue (ANSI) ve International Standarts Organization (ISO) tarafından belirlenen son SQL standartı, SQL-92’dir. SQL-92’de üç aşamalı uygunluk vardır,

·        İlk seviye (Entry Level)

.        Orta seviye (Intermediate Level)

·        İleri seviyedir (Full Level)

SQL, ilişkisel veri tabanları ile uygulamaların diyaloğunu sağlamaktadır. SQL temelde verilerle mantıksal seviyede çalışmaktadır. Yani, bir tablodan birkaç kayıt seçebilmek için, o kayıtları seçebilecek bir koşul belirtilir. Koşula uyan tüm kayıtlar bir basamakta gelir ve bunlar kullnıcıya gösterilebildiği gibi, bir başka SQL’e veya uygulamaya da gönderilebilir. Kayıtların tek tek nasıl geldiği ve fiziksel olarak veri tabanının neresinde ve nasıl tutulduğu ile SQL ilgilenmektedir.

SQL komutları ile ,

·        Veri sorgulama

·        Bir tabloya kayıt ekleme, değiştirme ve silme

·        Veri tabanı nesneleri (database objects) yaratma, değiştirme ve silme

·        Veri tabanına ve nesnelerine erişimi kontrol etme

·        Veri tabanı bütünlüğünü ve tutarlılığını sağlama işlemleri yapılabilmektedir.

SQL komutları bir veya daha fazla satır olbilmektedir. SQL cümlelerinin sonuna noktalı virgül (;) konmaktadır. Birden fazla satır olan komutlarda en son satırın sonuna “ / ” işareti isteğe bağlı olarak konabilmektedir. PL/SQL , Oracle’in SQL komutlarına yapısal dillere AİT özellikleri (begin, end, loop, for, if, elsif, vb.) eklediği kendi standardı olan bir dildir. SQL*Plus, SQL ve PL/SQL komutlarının kullanılabildiği Oracle ürünüdür.

1.1 Veri Tipleri (Data Types)
 

Bir tablo oluştururken her sütunun; bir yordam veya fonksiyon oluştururken de her argümanın veri tipi olmak zorundadır. Bu veri tipleri o alana girilecek veriyi veya o yordamda kullanılacak argümanı sınırlandırır. Bu veri tipleri şunlardır:

·        CHAR(sayı)

·        DATE

·        MSLABEL

·        NUMBER (tam,ondalık)

·        VARCHAR2 (sayı)

·        LONG

·        LONG RAW

·        RAW (sayı)

·        ROWID

Şimdi bu tanımları açıklayalım.
 CHAR (sayı): Sabit uzunluktaki alfanümerik (karakter) verilerin tutulabildiği alanlar için kullanılır. Maksimum 255 karakter olabilir. Eğer sayı ile ifade edilen numaralardan daha kısa uzunlukta veriler girilirse Oracle kaydın sonuna boşluk ekleyerek sabit uzunuğa jadar getirir.
 DATE: Tarih tutan alanlar için kullanılır. Bu tip alanlarda, tarih bilgileri ve saat bilgileri tutulabilir. Tarih formatları, ülkelere göre değişmektedir. Tarih alanları ile aritmatik işlemleri yapılabilmektedir. Standart olanı, DD-MON-YY’dir fakat bu amerikalıların kullandıkları şekildir, bu formatta MON yerine JAN, FEB, MAR gibi ayların ingilizce karşılıklarının ilk üç karakteri yazılmaktadır.
 MLSLABEL: Trusted Oracle’ da ( Oracle’ nın güvenlik açısından biraz daha gelişmiş versiyonu) kullanılan işletim sistemine ait binary dosyadır.
 NUMBER (tam, ondalık): Nümerik verilerin tutulduğu alanlar için kullanılır. Tam kısım maksimum  38 basamak olabilir. Ondalık kısmın basamak sayısı da –84 ile 127 arasındadır.
 LONG: 2 GB’ a kadar karakter bilgi tutabilen alanlar için kullanılır.Bir tabloda birden fazla long veri tipine sahip olamaz. LONG veri tipine sahip olan alanlar üzerinde indeks oluşturulamaz. LONG alanlar aşağıdaki tip SQL cümlelerinde kullanılamazlar:
*WHERE *GROUP BY * ORDER BY * DISTINC * CREATE CLUSTER *CREATE TABLE AS SELECT *SUBSTR, INSTR gibi …
 LONG RAW: 2 GB’ a kadar binary bilgi tutabilen alanlar için kullanılır.
 RAW (sayı): Maksimum 255 byte’a kadar bilgi tutabilen binary alanlar için kullnılır.
 RAWID: Bir Kaydın tekil adresini tutan alanlar için kullanılır. Veri tabanındaki her kaydın bir adresi vardır. Bu değer , SQL cümlesi içinde diğer sütunlar ile birlikteROWID yazarak öğRenilebilir. ROWID üç kısımdan oluşmaktadır: BLOK.KAYIT.DOSYA ‘dır.
 VARCHAR2 (sayı) : Değişken uzunluktaki alfanümerik dataların tutulabildiği alanlar için kullanılır. Maksimum 2000 karakter olabilir.

Pin It on Pinterest