SQL Dersine Giris
21/11/2008 ·
1.2. Yapısal Sorgulama Dili (Structured Query language,SQL) |
|
İlişkisel Veritabanı Yönetim Sistemleri (Relational Database Management Systems -RDBMS) 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 modelini kullanmak için geliştirilmiştir. SEQUEL sonraları SQL olmuştur. 1979 yılında,
Relational Software (şu an, Oracle Corporation), SQL'in ilk ticari uygulamasını geliştirmiştir. Bugün,SQL, ilişkisel
veritabanı yönetim sistemleri standardı olarak kabul edilmektedir.
SQL, ilişkisel veritabanlarındaki bilgileri orgulamak için kullanılan dildir. SQL, bütün kullanıcıların ve ygulamaların
veritabanına erişmek için kullandıkları komutlar bütünüdür. Uygulama programları ve veritabanı araçları kullanıcılara
çoğu durumda SQL kullanmadan veritabanına erişim imkanı sunmaktadırlar fakat bu uygulamalar da geri planda
SQL kullanmaktadı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 standardı, SQL-92'dir. SQL-92'de, üç aşamalı uygunluk vardır. Bunlar;
.ilk seviye (Entry Level)
.Orta seviye (Intermediate Level)
.ileri seviye'dir (Full Level)
Oracle7, ilk seviye uygunluğuna sahiptir. SQL, ilişkisel veritabanları ile uygulamaların diyaloğunu sağlamaktadır.
SQL, temelde verilerle mantıksal seviyede çalışmaktadır. Yani, bir tablodan bir kaç kayıt seçebilmek için, o kayıtları
seçebilecek bir şart belirtilir. Şarta uyan bütün kayıtlar bir basamakta gelir ve bunlar kullanıcıya gösterilebildiği gibi,
bir başka SQL'e veya bir uygulamaya da gönderilebilir. Kayıtların tek tek nasıl geldiği ve fiziksel olarak eritabanının
neresinde ve nasıl tutulduğu ile SQL ilgilenmemektedir.
SQL komutları ile
.veri sorgulama
.bir tabloya kayıt ekleme, değiştirme ve silme
.veritabanı nesnelerini (database objects) yaratma, değiştirme ve silme
.veritabanına ve nesnelerine erişimi kontrol etme
.veritabanı bütünlüğünü ve tutarlılığını sağlama işlemleri yapılabilmektedir.
SQL komutları bir veya daha fazla satır olabilmektedir. SQL cümlelerinin sonuna noktalı virgül (;) konmaktadır.
irden fazla satır olan komutlarda en son satırın sonuna ''/'' işareti isteğe bağlı olarak konabilmektedir. PL/SQL, Oracle'ın SQL komutlarına yapısal dillere ait özellikleri (begin, end, ioop, for, if, elsif, vb.) eklediği kendi standardı
olan bir dildir. ORACLE SQL, SQL *PLUS, PL/SQL komutlarının kullanılabildiği Oracle ürünüdür.
ORACLE SQL, SQL *PLUS, PL/SQL ve eklemiş olduğu bir dildir. PUSQL ile, veritabanı ile ilgili çok önemli
işlemler yapılabilmektedir. SQL bilinmeden, PL/SQL ile hiçbir işlem yapılamaz, bu yüzden önce SQL iyi bir şekilde
öğrenilmelidir.
Empno | Ename | Job | Mgr | Sal | Hiredate | Comm | Deptno |
7369 | SMITH | CLERK | 7902 | 800 | 17.12.1980 |
| 20 |
7499 | ALLEN | SALESMAN | 7698 | 1600 | 20.02.1981 | 300 | 30 |
7521 | WARD | SALESMAN | 7698 | 1250 | 22.02.1981 | 500 | 30 |
7566 | JONES | MANAGER | 7839 | 2975 | 02.04.1981 |
| 20 |
7654 | MARTIN | SALESMAN | 7698 | 1250 | 28.09.1981 | 1400 | 30 |
7698 | BLAKE | MANAGER | 7839 | 2850 | 01.05.1981 |
| 30 |
7782 | CLARK | MANAGER | 7839 | 2450 | 09.06.1981 |
| 10 |
7788 | SCOTT | ANALYST | 7566 | 3000 | 19.04.1987 |
| 20 |
7839 | KING | PRESIDENT |
| 5000 | 17.11.1981 |
| 10 |
7844 | TURNER | SALESMAN | 7698 | 1500 | 08.09.1981 | 0 | 30 |
7876 | ADAMS | CLERK | 7788 | 1100 | 23.05.1987 |
| 20 |
7900 | JAMES | CLERK | 7698 | 950 | 03.12.1981 |
| 30 |
7902 | FORD | ANALYST | 7566 | 3000 | 03.12.1981 |
| 20 |
7934 | MILLER | CLERK | 7782 | 1300 | 23.01.1982 |
| 10 |
Deptno | Dname | Loc |
10 | ACCOUNTING | NEW YORK |
20 | RESEARCH | DALLAS |
30 | SALES | CHICAGO |
40 | OPERATIONS | BOSTON |
İÇİNDEKİLER |
|
SQL'e giriş
Fonksiyonlar
Karakter fonksiyonları
Sayısal fonksiyonlar
Tarih fonksiyonları
Dönüştürme (Conversion) fonksiyonları
Değişik türlerde parametre kabul edebilen fonksiyonlar
Grup fonksiyonlarr
Birden fazla tabloyu sorgulama (Join)
Equi-Joins
Non-Equi-Joins
Outher Joins
Tabloyu kendisi ile birleştirme
Sorguda küme işlemleri kullanma (Union, intersect, minus)
İç içe sorgu cümleleri
Nasıl işlenir ?
ANY/ALL işleci
HAVING işleci
Sıralı liste üretme
Dikkat edilmesi gereken noktalar
EXIST işleci
Veri tanımlama Dili (Data Definition Language)
Tablo yaratma komutu (CREATE TABLE)
Tablo kolon türleri
Tablo tanrmlarını değiştirme (ALTER TABLE)
Tablo silme (DROP TABLE)
Tablo ismini degiştirme (RENAME)
Tablo tanımnr görme (DESCRIBE)
| Veri Kullanma Dili |
|
Tabloya yeni kayıt ekleme (INSERT)
Başka bir tablodan kayıt kopyalama
Kayıt değiştirme (UPDATE)
Kayıt silme (DELETE)
İşlemleri bir süreç içerisinde toplama
(Transaction processing and COMMIT/ROLLBACK)
Tutarlı kayıt okuma (Read consistency)
Eşzamanlı işlemler ve kaynakların paylaşımı (LOCK)
Kaynak kilitleme türleri
ROWID yapay kolonunun kullanrmı
INDEX kuilanımı
Index kullanma nedenleri
Index türleri (unique, non-unique, single/concatenated)
Index yaratma (CREATE INDEX)
Index silme (DROP INDEX)
| 1. SQL'E GiRiŞ |
|
Onceleri SEQUEL (Structred English QUEry Language) olarak adlandırılan bu dilin adı, daha sonra ingilizce
söylenişine uygun olarak SQL olarak değiştirildi. SQL, bilgisayar uzmanı olmayan ve yüksek düzeyli, işlemsel
olmayan (non-procedural) bir dil aracılığıyla veri tabanı ile iletişim kurmak isteyen kullanıcı kitlelerine yönelik bir
veri tabanı dilidir.
| SQL Komut Kümesi |
|
Komut Acıklama
SELECT Verileri getirmek için kullanılır.
INSERT Yeni kayıt eklemede kullanılır.
UPDATE Var olan bir kaydı değiştirmek üzere kullanılır.
DELETE Var alan bir kaydı silmek için kullanılır.
CREATE Veri tabanında yeni bir nesne yararmak için kullanılır. (Table, View, Index, Synonym vb.)
ALTER Veri tabanındaki nesne üzerinde değişiklik yapar. (Omeğin yeni bir kolon eklemek gibi)
DROP Veri tabanındaki bir nesneyi siler.
GRANT Kullanıcılara erişim yetkilerinin verilmesinde kulanılır.
REVOKE Verilen erişim yetkilerinin geri alınmasında kullanılır.
SQL komulan nasıl yazılır
.Yazılan SQL cümlesi bir yada daha fazla satır olabilir.
.SQL cümlesi içerisinde yer alan cümlecikler genelde farklı satırlara yazılır.
.Komut kelimeleri bölünerek alt satırdan devam edilemez.
.SQL komutları büyük yada küçük harflarle yazılabilir.
.Her SQL cümlesi noktalı virgül (;) ile bitirilir.
| Basit SELECT ifadeleri |
|
En basit biçimiyle bir SELECT ifadesi
1. Istenilen tablonun kolonlarının belirtildiği bir SELECT cümleciği,
2. Hangi tablodan veri seçileceğini ifade eden bir FROM cümleciği içermelidir.
SELECT DEPTNO,ENAME,MGR FROM EMP;
DEPT NO | ENAME | MNG |
10 | KING | |
20 | JONES | 7839 |
30 | BLAKE | 7839 |
10 | CLARK | 7839 |
20 | SCOTT | 7566 |
20 | FORD | 7566 |
Alıntıdır

