BÖLÜM 1. Yapisal Sorgulama Dili (SQL)

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "BÖLÜM 1. Yapisal Sorgulama Dili (SQL)"

Transkript

1 BÖLÜM 1 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 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.

2 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.

3 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 birlikte ROWID yazarak öğrenilebilir. ROWID üç kısımdan oluşmaktadır: BLOK.KAYIT.DOSYA dır.

4 VARCHAR2 (sayı) : Değişken uzunluktaki alfanümerik dataların tutulabildiği alanlar için kullanılır. Maksimum 2000 karakter olabilir. 1.2 SQL in Bölümleri : SQL, temel olarak aşağıdaki bölümlerden oluşmaktadır. SELECT: Seçilecek alanların yazıldığı bölümdür. FROM: Kullanılacak tabloların yazıldığı bölümdür. WHERE: Sorgu şartlarının yazıldığı bölümdür. GROUP BY: Belli alanlara göre kayıtları gruplayıp getirmek için kullanılan bölümdür. HAVING: Group By ın kullanıldığı SQL lerdeki grupla ilgili şart bölümüdür. ORDER BY: Sorgu sonucunda dönen kayıtlar için sıralamanın tanımlandığı bölümdür. 1.3 SQL de aritmatiksel ifadeler ve fonksiyonlar : Aritmatiksel ifadeler: SELECT komutu ile, veri tabanında mevcut tablolardan listeleme yaparken, tabloda ayrı bir sütun olarak yer almamış ve ancak bir hesaplama sonucunda üretilebilecek bilgileri de liste içine katmak mümkündür. Aşağıdaki SELECT komutu ile personelin şu anda geçerli olan maaşı ile bu maaşın %32 zamlı şekli listelenmektedir: SELECT ad, soyad, maaş, maaş*1.32 ; Hesaplanmış alanları elde etmek için oluşturulacak aritmatiksel ifadelerde, aşağıda belirtilen tablodaki sembollerden yararlanılır:

5 Tablo1.1. SQL de Aritmatiksel semboller Operatör İşlevi ** veya ^ Üs alma * Çarpma / Bölme + Toplama - Çıkarma Öncelik sırası matematikte ve diğer bilgisayar dillerinde olduğu gibidir.üs alma hepsinden önceliklidir. Sonra * ve / gelir. * ve / aynı önceliğe sahiptir. + ve en son önceliklidir. Parantezler kullanılarak öncelik sırası değiştirilebilir Kümeleme Fonksiyonları : SQL, tablo içinden çeşitli matematiksel işlemlerin sonucunu otomatik olarak üretmeyi sağlayan fonksiyonlara sahiptir. Bu fonksiyonlar örneklerle birlikte aşağıda verilmiştir. Sum Fonksiyonu : Fonksiyonun argümanı olarak belirtilen sütun ile ilişkili olarak toplama işlemini gerçekleştirir. Örnek : İşletmedeki personelin brüt maaşları toplamı ne kadardır? Çözüm : SELECT SUM (brüt) ; Örnek : Bilgi işlem bölümündekilerin toplam maaşı ne kadardır? Çözüm : Bilgi işlem bölümünün bölüm numarasını 5 olarak kabul edelim;

6 SELECT SUM ( brüt) WHERE bol_no=5; İfadesi ile sonuç elde edilebilir. Sonuç sadece bilgi işlem bölümündekilerin maaşlarının toplamı olacaktır. Örnek : Satış, muhasebe, ve bilgi işlem bölümlerindeki personelin maaşları toplamı nedir? Çözüm : Satış bölümü için, böl_no 1, muhasebe için 2 ve bilgi iþlem için 5 olarak alınırsa ; SELECT SUM (brüt) WHERE böl_no IN (1,2,5); Örnek : Maaşları TL nin altında olan bayan personelin maaşları toplamı nedir? Çözüm : Bayan personeli, daha önceden cins alanına.f. yerleştirerek kodlamış isek ; SELECT SUM(brüt) WHERE cins=.f. AND Brüt < ; İfadesi istenen çözüm verecektir. AVG Fonksiyonu : Aritmatiksel ortalama hesaplamak için kullanılır. SELECT AVG (brüt) ; Komutu, işletmedeki ortalama maaşı hesaplayarak görüntüleyecektir. Bu fonsiyon ile de, koşula bağlı olarak hesaplatma yaptırılabilir. Örnek : Bilgi işlem bölümündekilerin maaş ortalamaları ne kadardır? Çözüm : Bilgi işlem bölümünün böl_nosu 5 ise SELECT AVG (brüt)

7 WHERE böl_no =5 MAX Fonksiyonu : Tablo içinde, belirtilen sütun (alan) içindeki en büyük değeri bulur. Örnek : İşletme içindeki en yüksek maaş ne kadardır? Çözüm : SELECT MAX (brüt) ; Örnek : Bilgi işlem bölümündeki en yüksek maaş ne kadardır? Çözüm : SELECT MAX (brut) WHERE böl_no=5; Örnek : Bayan personel içinde en yüksek maaş ne kadardır? Çözüm : SELECT MAX (brüt) WHERE cins=.f. ; MIN Fonksiyonu : Tablo içinde, belirlenen sütun içindeki en küçük değeri bulur. Örnek : İşletme içinde 4 Mayıs 1970 den önce doğanlar için asgari ücret nedir? Çözüm : SELECT MIN (brüt) WHERE dog_tar < {05/04/70} ;

8 COUNT Fonksiyonu : Tablo içinde herhangi bir sayma işlemi gerçekleştirmek için kullanılır. Örnek : Personel tablosunda kaç satır vardır? (Bu, her satırda farklı bir personel olduğu düşünülürse personel sayısı anlamına da gelmektedir.) Çözüm : SELECT COUNT (*) ; Bu koşula bağlı olarak da saydırma yapmak mümkündür. Örnek : Ücreti dan fazla olan personel sayısı nedir? Çözüm : SELECT COUNT (*) WHERE brüt > ; COUNT fonksiyonu, DISTINCT sözcüğü ile de kullanılabilir. Örneğin personel tablosunda mevcut personelin, işletme içinde kaç tane farklı bölümde çalıştığı bulunmak istenirse aşağıdaki SELECT komutu kullanılabilir. SELECT COUNT ( DISTINC böl_no) ; Count (böl_no) 5 Sonuçta 5 farklı bölüm olduğu listelenmiştir. COUNT komutunda, * argümanının kullanılması, tüm sütunların (alanların) işleme sokulmasını, alan adının belirtilmesi ise (COUNT (böl_no) gibi), sadece belirtilen sütunun işleme sokulmasını sağlar Gruplandırarak işlem yapma : Yukarıda anlatılan fonksiyonları, tablodaki bilgileri, bazı özelliklere göre gruplandırarak bu

9 gruplandırılmış veri üzerinde de uygulama yapmak mümkündür.bu işlem GROUP BY sözcükleri ile gerçekleştirilmektedir. Örnek : Her bölümdeki ortalama maaş nedir? Çözüm : Burada istenen, bölümler bazında ortalama maaş olduğuna göre, personel tablosundaki satırlar, bölüm numaralarına göre (böl_no) gruplandırılarak her bir grubun maaş ortalaması ayrı ayrı hesaplanarak listelenebilir.aşağıda SELECT komutu ile bu işlem gerçekleştirilektedir: SELECT böl_no, AVG (brüt) GROUP BY böl_no ; Sonuç : Böl_no AVG (brüt) Her bölümdeki en yüksek maaşı olan kişiler listelenmek istenirse, aşağıdaki komut kullanılabilir: SELECT böl_no, MAX (brüt), ad, soyad GROUP BY böl_no ; Tablo1.2. Peronel tablosundaki bilgiler : Brüt Ad soyad Böl_no Ali Can Ayşe Okan Akın Oran Rana Şensoy 2 Tablo1.3. Şeklinde ise yukarıdaki SELECT komutunun çıktısı

10 Böl_no Max_brüt Ad Soyad Ali Can Rana Şensoy Şeklinde olacaktır. Gruplandırarak kümeleme fonsiyonlarını uygularken koşul da verilebilir. Bu durumda grup üzerindeki hesaplamalarla ilgili koşul belirtilirken HAVING sözcüğünü kullanmak gerekir. Örnek : En yüksek maaşın dan fazla olduğu bölümlerdeki personele ait ortalama maaşları listeleyiniz. Çözüm : SELECT böl_no, AVG (brüt) GROUP BY böl_no HAVING AVG (brüt) > ; Tablo1.4. Personel tablosunda şu bilgiler mevcut olsun : Böl_no Brüt

11 Yukarıdaki SELECT komutu sonrasında Böl Avg_brüt Tablosu elde edilecektir. HAVING sözcüğü SELECT komutunda GROUP BY sözcükleri bulunmadığı zaman geçersizdir. HAVING sözcüğünü içeren ifade içinde SUM, COUNT, (*), AVG,MAX, MIN gibi diğer kümeleme elemanlarından enaz biri bulunmalıdır. WHERE sözcüğü bir tablonun tek tek satırları üzerinde işlem yapan koşullar için geçerli iken, HAVING sözcüğü sadece gruplanmış veriler üzerindeki işlemlerde geçerlidir.bazı durumlarda HAVING ve WHERE sözcükleri birlikte SELECT komutu içinde kullanılabilir. Örnek :Personel tablosu içinde her bölümde erkek personele ait maaşlar için ortalamanın den fazla olduğu bölümleri listeleyiniz. Çözüm : SELECT böl_no,avg (brüt) WHERE cins =.T. GROUP BY böl_no HAVING AVG (brüt) > ;

12 Tablo1.5. Personel tablosunda aşağıdaki bilgiler olsun : Böl_no brüt Cins T F F F T F T T. Yukarıda uygulanan SELECT komutu, her bölümdeki erkek ppersonele ait ortalama brüt maaşı hesaplayacak (erkek personel.t. ile belirlenmiştir.) ve erkek personel maaş ortalaması den yüksek olan bölümler listelenecektir. Komutun çıktısı aşağıdaki gibidir : Böl_no Avg_brüt Tabloların Yaratılması : SOL de bazı tabloların yaratılması için CREATE TABLE komutunu uygun şekilde kullanmak gerekir.yaratacaağımız tablolar personel, bölüm, yer, proje, çalışma, bağımlı, parca, satıcı olsun ve bunların içinde şunlar yer alsın :

13 Personel tablosu : Sicil no, sos.güv.no,ad, soyad, dogum-tarihi, adres, cinsiyet, brüt maaş, böl_no,yönetici sos.güv.no Bölüm Tablosu : Bölüm adı, bölüm_no, yönetici sos.güv.no Yer Tablosu : Bölüm_no, bulunduğu yer Proje Tablosu : Proje adı, proje no, yer, bölüm_no Çalışma Tablosu : Personel sos.güv.no, proje no, saat Bağımlılık Tablosu : Personel sos.güv.no, bağl.old.isim, cinsiyet, doğum tarihi, ilişki Parça Tablosu : Parça no, parça adı, proje no, fiyat, ağırlık Satıcı Tablosu : Satıcı no, adı, adres Parça Satıcı Tablosu : Satıcı no, parça no, miktar Bu tabloların her sütunu tabloda saklanan verilerle ilişkili bir özelliği belirtmektedir.her tablo satırı birbiri ile ilişkili verileri saklamaktadır.örneğin : İstanbul da yürütülen projelerde çalışan kişileri listeleyiniz: şeklinde bir talep proje, çalışma ve personel tabloları arasında ilişki kurulmasını gerektirecek ve çalışma tablosundan proje noları mukayese edilecek, aynı olanlar için çalışma tablosundan alınacak olan Personel sos.güv.no ları personel tablosunda arama yapılacak, bulunan kişilere ait bilgiler listelenecektir. Şimdi bu tabloları yaratacak SQL komutlarını inceleyelim : CREATE TABLE personel (sicil INTEGER NOT NULL, sos.g.no CHAR (8) NOT NULL, ad CHAR(10) NOT NULL, soyad CHAR (10) NOT NULL, dog_tar DATE, adres CHAR (50), cins LOGICAL, brüt NUMERIC (13,2), böl_no SMALLINT, yon_s_g_n CHAR(8));

14 CREATE TABLE bölüm ( bölüm_ad CHAR (15), bölüm_no SMALLINT, y_sos_g_no CHAR (8), y_ıs_b_tar DATE) ; CREATE TABLE yer ( bölüm_no SMALLINT, bul_yer VARCHAR (15)) ; CREATE TABLE proje ( proj_ad CHAR (10), proj_no SMALLINT, yer VARCHAR (15), bl_no SMALLINT) ; CREATE TABLE çalışma ( Per_s_g_no CHAR (8), proje_no SMALLINT, saat SMALLINT) ; CREATE TABLE bağımlı ( Per_s_g_no CHAR (8), baglı_isim CHAR (10), cinsi LOGICAL,

15 dog_t DATE, ilişki VARCHAR (7)) ; CREATE TABLE parca ( par_no SMALLINT, par_ad CHAR (10), pr_no SMALLINT, fiyat FLOAT, agırlık INTEGER) ; CREATE TABLE satıcı ( satıcı_n SMALLINT, adı CHAR (10), adres CHAR (50)) ; CREATE TABLE par_sat ( sat_no SMALLINT, parca_n SMLLINT, miktar INTEGER) ; SQL de Veri Tipleri : Tablo1.6. SQL de veri tipleri Veri tipi SQL komutu Özelliği

16 Sabit uzunluklu karakter CHAR (uzunluk) Sayısal işleme sokulmayacak veriler. Değişken uzunluklu karakter VARCHAR (uzunluk) Buradaki uzunluk max.uzunluktur. Karakter tipindeki veriler gibidir.tek fark uzunluk değişkendir. Nümerik tam sayı INTEGER ile arasındaki tam sayılardır.bellekte 4 Byte lık yer kaplarlar. Ondalık sayı DECIMAL (x,y) REAL(x,y) ya da NUMERIC (x,y) X sayısının max. hanesayısı y ondalık notadan sonraki hane sayısıdır.x en fazla 20, y ise 0-18 arasındadır. Üstel sayı FLOAT (x,y) örnek: 3.1E+17 gibi X sayısının toplam hane sayısıdır.max. değer 20 dir.0.1e-307 ile 0.9E+308 arasındaki değerleri alabilir. Tarih türü veriler DATE Tarih türü veriler için işlem yapmayı sağlar. Mantıksal veri LOGICAL Doğru (true.t.) ya da yanlış (false.f.) şeklinde değer alabilen veriler için kullanılır. Zaman türü veriler TIME Ssddsnsn şeklindeki veriler için kullanılır. Tarih ve zaman türü veriler TIMESTAMP Tarih ve zaman türü verilerin bir karışımı şeklinde kullanılan veriler içindir. Grafik türü veriler GRAPHIC(n) N adet 16 bitlik karakterden

17 oluşan bir sabit uzunluklu bilgi tanımlamak için kullanılır. Değişken uzunluklu grafik türü veri VARGRAPHIC(n) N adet 16 bitlik karakterden oluşan değişken uzunluklu bir bilgi tanımlamak için kullanılır. Tablo yaratılırken NOT NULL ifadesi kullanılmıştı. NOT NULL ifadesi söz konusu olan alan ile ilişkili olarak mutlaka veri yüklemesi gerektiğini, ilgili alanın boş bırakılamayacağını anlatmaktadır. Sicil gibi yada sos.güv.no su gibi sıralamada kullanılabilecek alanlar bu şekilde kullanılmaktadır. NOT NULL ifadesi yoksa o alan NULL anlamındadır yani o alan ile ilişkili olarak tabloya veri yüklenmemesi durumuna da müseade edilmektedir. Bu tür alanlar genellikle veri konusunda belirsizlik olması durumunda tanımlanır. 1.5 Tablolara Veri Yüklenmesi : Bir tabloya veri girişi işlemi için, SQL de mevcut olan komut INSERT INTO/ VALUES komutudur. Bu komut yardımı ile personel adlı tabloya, ilk satır bilgileri,aşağıdaki gibi düzenlenmiş bir INSERT komutu ile girilebilir : INSERT INTO personel VALUES ( 1, , Ahmet, Okan, {01/05/62}, Cum.Cad.47/2 Taksim-İstanbul,.T., , 1, ) ; Komut içindeki değerler incelendiğinde, sayısal değerler olduğu gibi yazılmakta, karakter veriler sembolleri arasına alınmaktadır. Lojik türdeki veriler ise.t. ya da.f. şeklinde belirtilmektedir ve tarih türü bilgiler {} sembolleri ile ayırt edilmektedir. INSERT INTO komutu ile belli bir anda tabloya bir satır yüklenmektedir. Tabloya çok sayıda satır girilmek istenirse peşpeşe satır sayısı kadar INSERT komutu kullanılmalıdır. SQL dilinin tüm ekran üzerinde bilgi girişi için kolaylıksağlayan ve etkileşimli olarak çalışmayı sağlayacak komutları

18 yoktur. 1.6 Tablodaki Sütun İsimleri Ve Tablo İsimleri İle İlişkili Kurallar : SQL dilinde bir tabloya ya da tablo içinde bir sütuna isim vermek için gerekli kurallar, bir SQL uyulamasından ötekine değişebilmektedir. Fakat genellikle, geçerli olan kurallar aşağıda verilmiştir : İsim uzunlukları 18 karaktere kadar olabilir. İlk karakter bir harf olmalıdır.onu izleyen karakterler harf, rakam ya da alt çizgi (_) sembolü olabilir.

19 BÖLÜM 2 Temel SQL Sorgulamaları : SELECT Komutu : Tek tablodan gerekli bilgileri elde edbilmek için sorgulama yapabilecek SQL komutu olan SELECT in en basit hali aşağıdaki gibidir : SELECT * ; Bu komut, personel adlı tablo içindeki tüm bilgileri koşulsuz olarak listeleyecektir. SELECT sözcüğünü izleyen kısımda * sembolünün bulunması ilgili tablodaki tüm sütun isimlerinin ve ilgili bilgilerin listelenmesini sağlayacaktır. SELECT sicil, sos_g_no, ad, soyad, dog_tar, adres, cins, brüt, böl_no, yön_s_g_n ; Şeklinde olacaktır.select sözcüğünden sonra gelen kısımda sütun adları, FROM sözcüğünden sonra gelen kısımda ise tablo ismi yer almaktadır.

20 2.1 Tekrarlı Satırların Ortadan Kaldırılması : SQL de tablşo içinde birbirinin aynı data içeren satırlara müseade edilir. Birbirinin aynı olan satırların listeleme esnasında bir kez yazılması için SELECT komutuna DISTINC sözcüğü eklenir. SELECT DISTINC sat_no FROMpar_sat; Bu komut ile par_sat adlı tablodan satıcı noları tekrarsız olarak listelenecektir. 2.2 Tablo Bilgilerinin Sıralanmış Olarak Listelenmesi : Tablodan listelenecek bilgilerin belirli bir sütun adına göre sıralanmış olarak görüntülenmesi için SELECT komutuna ORDER BY sözcüğü ilave edilir. Örneğin personel tablosundaki bilgilerin sicil, ad, soyad, ve brüt sütunlarını maaşa göre sıralı olarak listeleyiniz: SELECT sicil,ad,brüt ORDER BY brüt asc ; Sonuç : ASC sözcüğü artan anlamındadır.veriler azalan sırada büyükten küçüğe ya da alfabetijk olarak Z den A ya sıralanmak istense idi bu sözcük yerine DESC kullanılacaktı. 2.3 Birden Çok Alana Göre Sıralama : Bir tablo içindeki verileri aynı anda birden çok sütuna göre sıralamak da mümkündür. Örneğin personel tablosundaki personel adı ve MaaŞa göre listelemek isteyelim: SELECT sicil, ad, soyad, brüt

21 ORDER BY ad, brüt ; Burada tablo öncelikle ada göre artan sırada sıralanacak, sadece aynı ada sahip olanlar kendi aralarında BRÜTE göre artan sırada sıralanacaklardır: Tablo2.1. Ada ve maaşa göre sıralama Sicil Ad Soyad Brüt 1215 Ali Can Ali Okan Birol Çelen Birol Akın Burada çok sayıda alana göre sıralama, farklı sıralama kriterlerine göre gerçekleştirilebilir. 2.4 Koşula Bağlı Olarak Listeleme : SELECT komutu ile bir tablonun satırlrı içinden sadece verilen bir koşulu sağlayanlar listelenebilir.örneğin brüt maaşı dan fazla olan personel listelenmek istenirse SELECT komutu aşağıdak gibi yazılmalıdır :

22 SELECT * WHERE brüt > ; Burada WHERE sözcüğünüizleyen kısımda koşul belirtilmektedir. Koşul belirtilirken iki veri birbiri ile karşılaştırlmaktadır. SQL içinde verileri çeşitli açılardan karşılaştırmak için karşılaştırma operatörleri kullanılmaktadır. Karşılaştırma ifadesinde karşılaştırılacak verilerin türleri aynı olmalıdır. Tablo2.2 Karşılaştırma Operatörleri SQL de Karşılaştırma Operatörleri Operatör Anlamı < den küçük > den büyük = Eşit <= Küçük veya eşit >= Büyük veya eşit <> Eşit değil

23 != Eşit değil 2.5 Birden Çok Koşula Dayalı Sorgulamalar : Not, And, Or : Not, And ve Or mantıksal operatörleri yardımı ile birden çok koşulun gerçekleştirilmesine bağlı olarak ifade edilebilecek karmaşık yada bileşik koşulu ile listelemeleri gerçekleştirmek mümkündür. Örnek : Maaşı TL den fazla olan ve cinsiyeti erkek olan personelin listelenmesi gibi bir işlemde söz konusu personel için iki koşul verilmekte ve her ikisinin de gerçekleşmesi istenmektedir. 1.koşul : Maaşın TL den fazla oluşu 2.Koşul : Cinsiyetin ERKEK olması SELECT * WHERE brüt > AND cins =.T. ; Tablo2.3 NOT Operatörü Koşul.T..F. NOT Koşul.F..T.

24 Tablo2.4 AND OPERATÖRÜ 1.Koşul 2.Koşul 1.koşul AND 2.koşul.T..T..T..T..F..F..F..T..F..F.F..F. Tablo2.5 OR OPERATÖRÜ 1.Koşul 2.Koşul 1.Koşul AND 2.koşul.T..T..T..T..F..T..F..T..T..F.F..F. Örnek : Doğum tarihi 1960 dan önce olan ve maaşı arasında olan personel kimlerdir? bayan Cevap : SELECT * WHERE dog_tar <{01/01/1960} AND brüt >= AND brüt <= AND cins =.F. ;

25 Örnek : Satış bölümü ile muhasebe bölümündekiler kimlerdir? Çözüm : Satış bölümünün böl_no sunun 1 ve muhasebe bölümünün böl_no sunun 2 olduğunu varsayarsak ; SELECT * WHERE böl_no=1 OR böl_no=2 ; 2.6 Bir Veri Kümesi İçinde Arama IN Operatörü Aşağıda vereceğim örnek sorunun cevabını şu ana kadar anlattığım SQL komutları ile gerçekleştirebiliriz : Örnek : böl_no su 1,2 yada 3 olan personeli listeleyiniz. SELECT * WHERE böl_no=2 OR böl_no=2 OR böl_no=3 ; Fakat SQL de bu işlemi gerçekleştirmenin daha kısa ve daha şık bir yolu vardır; IN sözccüğü ; SELECT * WHERE böl_no IN (1,2,3) ; Şeklindeki komut. Bu komut OR ile düzenlenen 1. SELECT denktir.fakat belirtildiği gibi daha kısa ve anlaşılır bir ifade oluşmaktadır. IN oparatörü NOT ile birlikte kullanılabilir.

26 2.7 Aralık Sorgulaması Between Sözcüğü : Maaşı 5-10 Milyon arasında olan personel kimlerdir? şelinde bir soruya SELECT WHERE brüt >= AND brüt <= ; Şeklinde birselect komutu ile cevap verilebilir.aynı soruya daha kısa ve daha etkin bir cevap verilecek olursa BETWEEN sözcüğü kullanılır. SELECT * WHERE brüt BETWEEN AND ; 2.8 Karakter Türü Bilgi İçinde Arama Yapma LIKE Sözcüğü : Personel tablosu içinde adres alanı 50 karakter uzunluğunda karakter türü olarak tanımlanmıştı.adres bilgisinin aşağıdaki şekilde verildiğini varsayalım : Cumhuriyet Cad. 46/9 Taksim-İstanbul. Burada adres içinde, semtin de belirtildiğini ve bunun ayrı bir sütun olmadığına dikkat çekelim. Şimdi belirli bir semtte ikamet eden personeli listelemek istersek semt adını, adres alanı içinde aramak gerekecektir.bu işlemi gerçekleştirmek için SQL 2 de LIKE sözcüğü kullanılır. SELECT * WHERE adres LIKE % Taksim % ; Bu komut ile Taksim semtinde ikamet eden personel listelenmek istenmektedir. Bu komut

27 gerçekten de Taksim de oturan personeli listeleyecektir. Ama bu arada Taksim Caddesi 22-7 Kadıköy - İstanbul şeklindeki adresleri de isteleyektir. Adres LIKE % Taksim % İfadesi adres içinde Taksim I arayacaktır. Adres içinde herhangi bir yerde bulduğu taktirde bu satırı listeleyecektir. % sembolü Taksim sözcüğünün öncesinde ve sonrasındaki karakterler ne olursa olsun anlamındadır. Yukarıdaki LIKE ifadesi Taksim Cad.81-Fatih şeklindeki Taksim in en başta ve en sonda olduğu adresleri listeleyecektir. LIKE sözcüğünü, alt çizgi (_) sembolü ile birlikte de kullanmak da mümkündür.

28 BÖLÜM 3 Birden Fazla Tabloyu İlişkilendirerek Sorgulama : 3.1 Birleştirme ( JOIN ) İşlemi : Birleştirme işemini anlayabilmek için konumuzun başında anlattığımız personel ve bölüm tablolarının içinde yer alan bölümleri hatırlayalım : Personel tablosu : Sicil no, sos.güv.no,ad, soyad, dogum-tarihi, adres, cinsiyet, brüt maaş, böl_no,yönetici sos.güv.no Bölüm Tablosu : Bölüm adı, bölüm_no, yönetici sos.güv.no sundan oluşuyordu Bu tablolar ile ilişkili olarak aşağıdaki soruyu soralım : Çalışan her personel ve bu personelin yöneticisi ile ilişkili bilgiler nelerdir? Belirli bir personel ile ilişkili bilgiler personel tablosunun o personele ait satırında mevcuttur. Ancak personelin yöneticisi ile ilişkili bilgilerin bir kısmına ise bölüm tablosundan erişilebilir. Bu durum zorunlu olarak personel ile bölüm tabloları arasında ilişki kurulmasını gerektirir. Bu ilişki ancak müşterek bir alan yardımı ile kurulabilir. Müşterek alan burada bölüm numarasıdır ve personel tablosunda böl_no, bölüm tablosunda ise bölüm_no adı ile yer almaktadır. Müşterek alana göre personel ve bölüm tablolarının birleştirilmesi

29 ( JOIN ) demek, her iki tablodaki tüm sütunları içeren yeni bir tablo oluşturmak demektir. Yalnız bu tabloda sadece her iki tabloda da mevcut olan bölüm numaraları ile ilişkili satırlar yer alacaktır. Birleştirme işlemi ile listeleme aşağıdaki SQL komutu ile gerçekleştirilmektedir : SELECT *, bölüm WHERE personel. böl_no =bölüm.bölüm_no ; İlişkilendirme kolayca görülebileceği gibi WHERE personel. böl_no = bölüm.bölüm_no Tablo adı Kolon adı İfadesi ile sağlanmaktadır. Aşağıdaki örnek veri için bu JOIN işlemi sonucu, aşağıdaki tabloda görülmektedir. Örnek veri : Tablo3.1 Personel sicil Sos_g_no ad Soyad Dog_tar adres cins brüt Böl_no Yo_s_g_n Ali Can 01/05/60 Fatih.T Ayşe Şen 04/07/65 Kadıköy.F Akın Öncel 11/07/64 Üsküdar.T Can Öner 05/08/65 Fatih.T Beril Meral 08/07/62 Pendik.F Ayşe Cansu 07/08/63 Beşiktaş.F Tablo3.2 Bölüm

30 Bölüm_ad Bölüm_no Y_sos_g_n Y_is_b_tar Satış /07/89 Muhasebe /08/91 Üretim /06/92 Eğitim /05/91 Bilgi işlem /02/92 Personel ve bölüm tablolarının müşterek alan olan bölüm numarası üzerinde JOIN birleştirme işlemine tabi tutulması sonucu elde edilen bilgi sadece her iki tabloda da aynı bölüm numaralarına ait satırlar alınarak birleştirilmiş ve her iki tablonun alanlarından oluşan büyük bir tablo halinde listelenecektir. 3.2 UNION Sözcüğü : Unıon sözcüğü küme birleştirme işlemi görür. İki ayrı SELECT komutunun sonucunda elde edilen tabloların birleşimi işlemini görür. Örnek : Adı Ahmet ve soyadı Caner olan kişi ve kişileri işletmenin yürüttüğü projelerde çalışan kişi olarak bulunduran projelerin isimlerini ve projelerin yürütüldüğü yerleri listeleyiniz. ( SELECT proj_ad,yer FROM proje, bölüm, personel WHERE bl_no=bölüm_no AND Y_sos_g_no = sosy_g_no AND ad= Ahmet AND Soyad = Caner ) UNION ( SELECT proj_ad,yer FROM proje, çalışma, personel

31 WHERE proj_no =proje_no AND Per_s_g_no =sosy_g_no AND ad= Ahmet AND soyad = Caner ) UNION sözcüğü ile iki yada daha çok SELECT in sonucu olan tabloların küme birleşimi işlemine tabi tutulması için iki koşul gereklidir : SELECT komutları sonucunda elde edilecek tablolar aynı sayıda kolon içermeleridirler: 1.SELECT sonuç tablosu 2.SELECT sonuç tablosu Sonuç tablolarının karşılıklı olarak kolonları aynı veri tipi ve aynı genişlikte olmalıdır. 3.3 ANY Sözcüğü : Bunu bir örnekle açıklayalım : Örnek : Satış bölümünde çalışan personelin herhangibirinden daha düşük maaş alan ve mühendislik bölümünde çalışan kişileri listeleyiniz : Çözüm : SELECT *

32 WHERE brüt < ANY ( SELECT brüt WHERE böl_no =2) AND böl_no =1 ; Bu çözümün eşdeğer ifadesi şöyledir : SELECT * WHERE brüt <( SELECT MAX (brüt) WHERE böl_no =2) AND böl_no =1 ; Burada satış bölümü kodu 2 ve mühendislik bölümü kodu ise 1 olarak kabul edilmiştir.ikinci çözüm ifadesinden de anlaşılacağı gibi içiçe SELECT ifadesinde içteki SELECT sorgulaması sonucun ; 2. Bölümde çalışan personelin içinde en yüksek maaş alan kişinin maaşı bulunmakta dıştaki SELECT ise mühendislik bölümünde bu maaştan düşük olan maaşa sahip kişiler listelenmektedir. Buradaki düşünce tarzı şöyledir : Mühendislik bölümünde çalışan ve satış bölümündeki en yüksek maaştan düşük maaş alan bir kişi satış bölümündeki herhangi bir maaştan düşük olma koşulunu sağlayacaktır. ANY sözcüğünün yerine tamamen eşdeğeri olan SOME sözcüğü de kullanılabilir. 3.4 ALL Sözcüğü : Hepsi, tamamı anlamındaki bu sözcük SELECT komutu içerisinde belirli bir koşulu sağlayan bir grup datanın tamamınca sağlanan koşullarla ilişkili olarak kullanılır. Örnek : Satış bölümünde çalışan ve mühendislik bölümündeki personelin hepsinden daha fazla maaş alan personeli listeleyiniz. Satış bölümü kodu 2 ve mühendislik bölümü kodu1 olarak alınırsa ; Çözüm : 1. Altenatif SELECT *

33 WHERE brüt > ALL (SELECT brüt WHERE böl_no=1) AND böl_no=2 ; 3.5 EXISTS Operatörü : Var,mevcuttur anamındaki bu sözcük, SQL de bir Boolean ( lojik,mantıksal) operatördür. İçteki SELECT komutunun sorgulaması sonucunda en az bir tablo satırı üretilmişse EXISTS operatörü true değerini, hiçbir tablo satırı üretilmemişse, EXISTS operatörü false değerini üretir. kullanılabilir. EXISTS operatörü, AND,OR ve NOT gibi diğer mantıksal operatörlerle birlikte de Örnek : Numarası 27 olan parçayı satan satıcılarla ilişkili tüm bilgileri listeleyiniz. Çözüm : İlgili SELECT komutlarını yazabilmek için, sistemde satıcı adlı tabloda ve par_sat adlı tabloda aşağıdaki kolon ve verilerin olduğunu vrsayalım : Tablo3.3 Satıcı_n Adı Adres 1 Ali akın İstanbul 2 Ayşe can İstanbul 3 AkınPeker Ankara 4 Can Ozan İzmir 5 Mert Ak Antalya SELECT * FROM satıcı WHERE EXISTS

34 ( SELECT * FROM par_sat WHERE sat_no =satıcı _n AND parca_n=27) ; Aşağıdaki sonuç elde edilir. Tablo3.4 Satıcı_n Adı Adres 1 Ali akın Istanbul 2 Ayşe can Istanbul Yukarıda da belirtildiği gibi, iç SELECT te WHERE I izleyen koşulu sağlayaan satırlar par_sat içinde bulundukça EXISTS operatörü true değerini verecek bu durumda dış SELECT in WHERE kısmı doğru olacağı için o satıcı ile ilişkili bilgiler satıcı tablosundan listelenecektir. BÖLÜM 4 View Oluşturmak : Veri tabanı kavramı içinde teorik olarak mevcut olan view (bakış ) terimi,farklı kullanıcıların veri tabanına nasıl baktıklarını yada bakış açılarını anlatan terimdir. Bu anlamda bir kullanıcı fiziksel olarak mevcut olan tabloların sadece bir kısmı ile ilgilenir.

35 4.1 VIEW Oluşturmanın Yararları : Veri Güvenliği : Veri tabanı içinde bulunan tablolardaki bazı sütunlarda bulunan bilgilerin herkes tarafından görülmesi istenmeyebilir. Örneğin : Personelin brüt maaşlarının herkes tarafından listelenebilir olması mahsurlu olabilir. Bu durumda personel adlı temel tablodan persview adlı bir view oluşturulabilir: CREATE VIEW persview AS SELECT sicil, sosy_g_no, ad, soyad, dog_tar, adres, cins, böl_no, yön_s_g_n ; Persview adlı view, herkesin kullnımına açık, personel adlı tablo ise yetkili kişiler dışındakilere, erişilemez hale getirilirse, maaşların herkes tarafından erişilebilir bilgi olması önlenmiş olur. Bir view den bilgi listelenmesi temel tablodan bilgi listelenmesinden farklı değildir : SELECT * FROM persview ; Persview den maaşlar hariç tüm personel bilgileri listelenecektir. Bir temel tablodaki aynı sütun isimleri kullanılmak zorunda değildir Sorgulamanın Daha Basit Hale Gelmesi : Karmaşık sorgulamalarda, bazı SELECT komutlarının sonuçları diğer SELECT komutlarında kullanıldığında, sorgulanmanın düzenlenmesinde yanlışlıklar yapma olasılığını artar. Karmaşık sorgulamalar, View özelliği kullanılarak daha basit hale getirilebilir. Burada temel fikir şudur: Mademki bir view, bir sorgulama sonucu elde edilen bilgiyi (tabloyu) isimlendirerek elde

36 edilen bir virtüel tablodur; o halde karmaşık SELECT komutu içinde, sonucu kullanacak başka bir SELECT komutu yerine, bu sonucu bir view olarak isimlendirerek, view adını kullanmak. Bazı durumlarda ise, işletmenin veri tabanı uygulamasında çok sık olarak sorulan karmaşık soruları bir view yapısı ile saklayarak, daha sonra aynı tip sorgulamalar için bu view yapısını kullanarak daha basit ifadeler kullanmak da olasıdır. ÖRNEK: Satış bölümünde çalışan personelin herhangi birinden daha düşük maaş alan ve mühendislik bölümünde çalışan kişileri listeleyiniz: ÇÖZÜM: SELECT * WHERE brut < ANY (SELECT brut WHERE bol_no=2) AND Bol_no=1; (Satış bölümü kodu 2 ve mühendislik bölümü kodu ise 1 kabul ediliyor). Şimdi bu sorunun cevabı olan tablo bir view olarak saklanırsa: CREATE VIEW S1view AS SELECT * WHERE brut < ANY (SELECT brut WHERE bol_no=2) AND bol_no=1;

37 Bundan sonra aynı tip sorgulama için sadece SELECT * FROM S1view; yazmak yeterli olacaktır Sadece Vıew Kullanılarak Gerçekleşebilen Sorgulamalar Bir tablodan elde edilecek bilgiler için, iki kademeli işlem gerektiren sorgulamalarda, iki adımda bir view oluşturup ikinci adımda esas sorgulamayı bu view yardımı ile gerçekleştirmek, çoğu kez kaçınılmaz bir durumdur. Aşağıdaki soru ve bunun çözümü olan SQL ifadeleri bu konuda bir fikir verecektir: ÖRNEK: Her bölümde, o bölümdeki ortalama maaştan daha yüksek maaş alanları listeleyiniz. ÇÖZÜM: Bu sorunun cevaplandırılması için önce her bölümdeki ortalama maaşların bulunması gereklidir. CREATE VIEW BOL_OR_VIEW (bol_no, ort_brut) AS SELECT bol_no, AVG (brut) GROUP BY bol_no; Daha sonra, yaratılan BOL_OR_VIEW yardımı ile (bu view, bölüm no ları ve bölüm ortalama maaşlarını saklamaktadır) sorulan sorunun cevabı elde edilebilir: SELECT * WHERE bol_no=bol_or_view. Bol_no.AND. brut > ort_brut;

38 BÖLÜM 5 Tablolarda Değişiklik Yapma 5.1 Tabloya Veri Ekleme SQL de, mevcut bir tabloya veri eklemek için kullanılacak olan komut INSERT komutudur. Standart SQL de, oluşturulan bir tabloya veri yüklemek için tek imkan INSERT komutudur.insert komutu ile, tabloya, belli bir anda, tek bir satır eklemek imkanı vardır. INSERT komutunun yazılış biçimi aşağıdaki gibidir: INSERT INTO Tablo adı (Sütun adı1, sütun adı2,..sütun adı(n)) VALUES (değer1, değer2,...değer(n)); Örneğin, persınel tablosuna, sicil no su 275 olan personel ile ilişkili bilgiler aşağıdaki gibi bir INSERT komutu ile yüklenebilir: INSERT INTO personel (sicil, sosy_g_no, ad, soyad, dog_tar, adres, cins, brüt, bol_no, yon_s_g_n) VALUES ( 275, , ali, caner, {01/05/1962}, Merkez cad. 46-Fatih-Ist,.T., , 2, ); Karakter türü verilen sembolleri arasına yüklendiğine, diğer veriler içinse buna gerek olmadığına dikkat ediniz. Burada, tabloya tüm kolonlarla ilgili veri yüklendiği için, istenirse kolon isimleri ihmal edilebilir.

39 Standart SQL deki INSERT komutunun, belli bir anda, tabloya, tek bir satırı tüklemesine karşılık, birçok SQL gerçekleştiriminde, yığın halinde veri yükleyen hizmet programlarından (utility) faydalanmak imkanı da vardır. Ayrıca, INSERT komutunun bu şekli ile tabloya veri yüklemek pratikte tercih edilebilecek bir şekil değildir. (Her tablo satırı için bir INSERT komutu kullanılıyor) Daha kullanışlı olan yol, verilerin kullanıcın zorlanmayacağı bir ekran düzeni ile klavyeden yüklenmesi daha bunların INSERT ile tabloya yerleştirilmesidir. SQL de ekrandan interactive bilgi girişi ve ekran tasarımı sağlayacak komutlar yoktur. Fakat SQL in bir veri tabanı yönetim yazılımının (dbase, foxpro, ORACLE) ya da bir üst düzey dilinin (C, Pascal, Cobol, vb.) interactive bilgi girişine uygun komutlarını kullanarak bu işlemi arzu edilen kalitede gerçekleştirmesi mümkündür.sql in diğer dillerle etkileşimi daha sonra incelenecektir. 5.2 Tablo Satırlarını Silme Bir tablonun satırlarını silmek için gerekli komut DELETE komutudur. Satır silme koşullu veya koşulsuz olarak gerçekleştirilebilir. DELETE ; 25 Rows Deleted Bu komut ile personel tablosundaki tüm satırlar silinecektir. 25 Rows Deleted mesajı ile, o anda tabloda bulunan 25 satırın silindiği bildirilmektedir. Koşula bağlı bağlı olarak satır silmenin de mümkün olduğunu söylemiştik.bunu gerçekleştirmek için, DELETE komutuna WHERE sözcüğü eklenmeli ve bunu izleyen ifade koşulu göstermelidir. ÖRNEK: DELETE WHERE bol_no=2; 5 Rows Deleted Bu komut ile, 2 numaralı bölümdeki personelin tümü tablodan silinecektir. 4 Rows Deleted

40 Mesajı ile de, o anda 2 numaralı bölümde çalışan 5 personele ait satırların silindiği belirtilmektedir. Aşağıdaki örnekte ise brüt maaş alanı boş olmayan tüm personel silinmektedir: DELETE WHERE brut IS NOT NULL; 25 Rows Deleted 5.3 View ler Üzerinde Değişiklik, Ekleme, Silme işlemleri : View ler üzerinde ekleme, silme, ve değişiklik işlemleri esas itibarı ile tablolar üzerinde yapılan benzer işlemlerden çok farklı değildir. Fakat view ler üzerinde bu tip işlemlerin gerçekleştirilmesinde bazı kısıtlamalar mevcuttur. Aşağıdaki hususlar bilinmelidir : Bir view in güncellenebilir nitelikte olması için bir birleştirme işlemi sonucunda üretilmiş olması gerekir. Başka bir deyişle CREATE VIEW komutunda FROM sözcüğünü.zleyen kısınmda sadece bir tablo adı bulunmaktadır. View içindeki hiçbir kolon bileşik fonksiyonlarca üretilmiş olmamalıdır. ( MAX, SUM vb.) View in üretildiği SELECT komutunda, DISTINC, GROUP BY ya da HAVING sözcüklerini içeren parçaların işlevleri yerine getirilmiş olmamalıdır. Bu koşulları sağlamayan view ler sadece okunabilir özellikteki view lerdir, ve bunlar üzerinde değişiklik yapılamaz View İçine Satır Ekleme : Daha önceden oluşturulmuş px adlı view ad, soyad, ve brüt alanlarını içermiş olsun. Bu view güncellenebilir nitelikte ise aşağıdaki INSERT komutu ile aynen tablolarda olduğu gibi kendisine bir satır eklemek mümkün olacaktır. INSERT INTO Px VALUES ( ali, çakır, ) ; Daha önceden view oluşturulurken CHECK OPTION alternatifi kullanılmamışsa bu durumda ekleme esnasında view I oluşturan koşul ihlal ediliyorsa sistem eklemeye müseade etmeyip hata mesajı verecektir.

41 5.3.2 View İçinden Satır Silme : Güncellenebilir bir view içinden satır silme işlemi, tablodan satır silme işlemi ile aynı şekilde gerçekleştirilebilir. Örnek : DELETE FROM UST_PER_VIEW WHERE brüt< ; View Satırları Üzerinde Güncelleme İşlemi : Güncellenebilir view lerde güncelleme işlemi tablolardakinin aynısıdır. Örneğin UST_PER_VIEW adlı view de sicili olan kişinin maaşını olarak değiştirmek için UPDATE UST_PER_VIEW SET brüt = WHERE sicil =27251 ; Komutu kullanılabilir Bir Viewi Silmek : Tablolarsdan silinmesine benzer şekilde sistemden oluşturulan bir view DROP VIEW komutu ile silinebilir. DROP VIEW UST_PER_VIEW ; Bir viewin silinmesi ile o view e bağlı olarak oluşturulmuş diğer tüm view ler ve bu view le ilişkisiolan önceliklerin hepsi silinmiş olur.

42 BÖLÜM 6 İndeks Oluşturmanın Amacı : Bir indeks, veri tabanı ortamında bir tablo ya da bir view gibi bir nesnedir ve ilişkili olarak kullanıldığı tablo ya da view deki satırların, indeksleme alanı olarak kullanılan kolondaki verilere göre sıralanmış biçimde işlenme sokulmasını sağlar. Bir tablo, indekslenmiş ise, bu tablo içinde gerçekleştirilecek bir arama ya da koşullu listeleme ( SELECT komutu ile ) işlemi çok daha hızlı biçimde gerçekleştirecektir. 6.1 İndeks Yaratma : SQL de bir tablo ile ilişkili olarak bir indeks yaratmak için gerekli komut CREATE INDEKS komutudur.komutun yazılış biçimi aşağıdaki gibidir : CREATE INDEX indeks adı ON tablo adı ( kolon adı1, koon adı2, kolon adı (n)) ; İndeksleme artan ya da azalan şekilde olabilir. A dan Z ye nümerik olarak küçükten büyüğe şeklindedir. Azalan ise bunun tam tersidir. Hiçbir özel sözcük kullnılmazsa indeksleme artan sayılır ya da alan adının yanında ASC sözcüğü kullanılırsa artan sıralama yapılacağı anlaşılır. Herhangi bir DESC sözcüğünün kullanılması ise azalan sıralama yapılacağı anlamına gelmektedir Tek Bir Alana Göre Artan Sırada İndeksleme : İşletmede çalışan personeli brüt maaşlarına göre artan sırada listelemek istersek, brüt alanına göre bir indeks oluşturmalıyız.

43 CREATE INDEX pers_maas ON personel (brüt) ; Index created 127 rows 127 satırlık personel tablosu ile ilişkili olarak brüt kolonuna indeks anahtarı olarak kullanılan pers_maas adlı indeks oluşturuluştur. Bu durumda SELECT * ; Şeklindeki listeleme komutu sonucunda personel tablosundaki tüm personel brüt maaşlarına göre listelenecektir Tek Bir Alana Göre Azalan Sırada İndeksleme : İşletmede çalışan personeli brüt maaşlarına göre azalan sırada listelemek istenirse brüt alanına göre aşağıdaki gibi indeks oluşturmak gerekir : CREATE INDEX pers_maas ON personel (brüt DESC) ; Birden Fazla Alana Göre İndeksleme : İşletmedeki personelin öncelikle adlarına göre aynı adda olanların soyadlarına göre hem adı hem soyadı aynı olanların maaşlarına göre sıralanmış olarak listelenmesi istenirse aşağıdaki komut kullnılmalıdır : CREATE INDEX p_ad_soy_m ON personel ( ad, soyad,brüt ) ; Bu durumda SELECT * ; Komutu sonucunda sıralanmış tablo görülecektir.

44 Unıque Sözcüğü : Bir tablo, seçilen bir sütuna göre indekslenirken indeksleme alanı olarak seçilen sütundaki verilerin tekrarlanmasına izin verilmesi istenmiyorsa indeksleme yapılırken, CREATE INDEX komutu içinde UNIQUE sözcüğü kullanılır. CREATE UNIQUE INDEX pers_sicil ON personel ( sicil ); Mevcut Bir İndeksin Silinmesi : Bir tablo üzerinde tanımlanmış herhangi bir indeks, o tablonun veri tabanından silinmesi ile otomatik olarak silinecektir. Tablo silinmeksizin, o tablo üzerinde oluşturulan indeksin silinmesi içinse DROP INDEX komutu kullnılmalıdır. DROP INDEX pers_in ; komutu ile INDEX DROPPED Mesajı alınacaktır. SQL in Diğer Bilgisayar Dillerine Ve Yazılımlarına Katılımı : SQL in Katılım Amacı : SQL için iki çalışma modu vardır :

45 Etkileşimli SQL modu Katılımlı SQL modu Buraya kadar SQL in etkileşimli modu anlatıldı. Bu modda her komut, sisteme gönderilmekte ve sistem cevabı olarak bir sonuç ya da bir hata mesajı karşılığı alınmaktadır. Etkileşimli modda belirtilen 3 noktada güçlük vardır : Tablolara bilgi girişi : Her tablo satırı girişi için ayrı bir INSERT komutuna gerek vardır. Bu oldukça önemli güçlük oluşur. Ayrıca kullnıcı için kolaylık sağlayan bilgi giriş ekranlarını etkileşimli modda ve SQL komutları ile gerçekleştirmek olanaksızdır. Bilgi İşleme : Belli bir anda tek bir komut icra edebilir ve aynı zamanda bir komut otomatik olarak tekrar tekrar icra edebilme yeteneğine sahip değildir. Bilgi Çıkışı : Gerçekleştirilen bir sorgulama sonucunu kullanıcının arzu edeceği düzen ve esneklikle ekrana aktarma imkanı yoktur. SQL, tanım olarak bir veri tabanı alt dilidir. Yani bilgisayar dilinin gerek gösterdiği tüm yapılara saip değildir. SQL in sahip olduğu özellikler bu noktaya kadar görüldüğü gibi, veri tanımlam,bütünlük kontrolü, veriye erişim ve sorgulama,veriyi güncelleme ile ilişkili komut yapılarıdır. Dolayısıyla eksik olan I/O, ekran tasarımı,loop ili ilişkili program eksiklikleridir. SQL, dili yordamsal bir dil değildir tamtersine küme esaslı bir dildir. Bunun anlamı şudur: SQL dili bir sorgulama esnasında SELECT komutu ile belli bir koşulu sağlayan tablo satırlarının tümü birden elde edilebilir. Kürsör * Kullanımı : SQL deki kürsörün anlamı : SELECT komutu ile seçilmiş tablo satırları arasından belirli bir satırı işaret eden gösterge demektir. Belli bir anda kürsörün işaret ettiği satırın üzerinde güncelleme ya da silme işlemi yapılabilir.bir SELECT işlemi ile ilişkili olarak bir kürsör tanımlama iki aşamalı bir süreçtir : DECLARE CURSOR komutu ile kürsör için bildiride bulunulur. OPEN komutu ile de kürsör açılır. Kürsör açıldığı zaman veriye erişmek için FETCH deyimi kullanılmalıdır. Kürsör ile ilgili işlemler bitince CLOSE deyimi ile ürsör kapatılır. DECLARE komutu bir kürsör ismini SELECT komutu ile ilişkili hale getirir.

46 DECLARE kürsör adı CURSOR FOR SELECT komutu [FOR READ [ONLY]] Kullanım şeklidir. OPEN komutu, DECLARE CURSOR komutundaki SELECT deyiminin icra edilmesi ile elde edilen tablo satırları kümesi içinden erişim yapılabilmesi işlemini başlatır. OPEN kürsör1 Komutu ile küsör1 adlı kürsör açılmaktadır. FETCH komutu ile açılan erişim seti içindeki tablo sütunlarındaki veriler SQL in içinde kullanıldığı program içindeki değişkenlere aktarılabilir. SQL in Access İle Kullanımı : Access 7.0 : Veri tabanı yönetim yazılımı içinde, veri tabanına erişim amacı ile yapılacak işlemler ve sorgulamalar, sistem içinde, SQL e dönüştürülür ve uygulanır. Dolayısı ile Access, sorgulama dili olarak tamamen SQL kullanır. Kullanıcının kendi tasarladığı SQL ifadelerini kullanabilmesi için, Access menüsü içinden View SQL alternatifini seçmesi gerekir.karşısına çıkacak olan SQL penceresi içinde, SQL komutlarını kullanabilir. Ver Tabanı Tasarımı : Access ile gelen sihirbazları kullnarak kendi işimizi kolayca halledebiliriz. Boş bir veri tabanı ile işe başlayalım. Önce Dosya/Yeni Veritabanı seçenekleri ile açılan pencereden Boş Veritabanı seçeneği seçilir. Access veri tabanımıza isim vermemizi isteyecektir. Buraya uygun bir isim

47 verdikten sonra aşağıdaki proje yönetim penceresine erişilecektir. Veri tabanı birçok bileşenden meydana gelir. Ancak her veri tabanında mutlaka tabloların bulunması gerekir. Tablolarda saklanacak bilgilerin özellikleri ve bilgilerin kendisi bulundurulur. Şekil2.1. Veri tabanı tasarımı Yukarıdaki tablolar kısmında iken yeni düğmesi kullanılarak yeni bir tablo oluşturmak isteyelim. Şekil2.2. Açılan pencereden isterseniz sihirbazı kullanarak hazır işimize yarayanları seçerek

48 kullanabiliriz.biz tasarım görünümü seçeneğini kullanarak tabloyu kendimiz tasarlayalım. Şekil2.3. Tablo tasarımı Yukarıdaki tabloyu kullanarak alanları, bu alanların içinde barındıracakları bilginin tiplerini ve bir çok özelliği belirleyeceğiz. Örnek : Küçük bir işletmenin müşteri işlemlerini yapmak isteyelim. Ve müşteri bilgilerini bir tabloda saklayalım. Tablomuzda bulunacak bilgiler şunlar olsun : Müşterinin : adı soyadı, ev adresi, ev telefonu, iş adresi, iş telefonu, ilişki, düşünceler. Bunların her birine bir alan diyoruz. Ve bu alanların içerikleri farklı tiplerde olduklarından bu alanlara ait alan tiplerini belirtmemiz gerekir. Pencerenin Alan Adı sütununa alanların isimlerini yazarız. Diğer veri tabanı programlarından farklı olarak Access de bu ismi herhangi bir sınırlama olmaksızın tanımlayabiliriz. Tanım sütununa o alanla ilgili bir açıklamayı yazacağız. Bu açıklama bilgisini yazmak zorunda değiliz. Buraya yazacağımız bilgi pencerenin en altındaki durum çubuğunda görülecektir.dolayısıyla kullnıcı buraya bakarak ne girmesi gerektiğini görebilir. Penceredeki veri türü sütununa ise bu alana girilecek bilginin türünü belirleyeceğiz. Access de kullanabileceğimiz veri türleri ve özellikleri şöyledir : Metin : Sadece metin içeren, sayı veya metini birlikte içeren veya üzerinde işlem yapılması gerekmeyen alanlarda bu tip belirtilir. ( adı soyadı, kapı numarası,telefon numarası vb.) Ençok 255

49 karaktere kadar bilgiyi içerebilir. Karakter sınırı genel kısmındaki alan boyutu ile belirtilir. Sayı : Üzerinde hesap yapılması gereken ve para olmayan alanlar bu tipten tanımlanır. Bu alana girilebilecek sayıların tipi ve sınırı genel kısmındaki alan boyutu ile belirlenir. Bayt arasındaki tam sayılar bu alanda tutulur. 1 bayt yer işgal eder. Para Birimi : Aslında bu da bir sayı veri tipidir. Ancak para hesapları düşünülerek geliştirilmiş. Para hesaplarında virgülden sonraki basamak sayısı fazla önemli değildir. Önemli olan virgülden önceki basamakların tutulmasıdır. Bu veri tipi tam kısmı 15 basamak ve virgülden sonra ise 4 basamak olan sayılar tutulabilir. Otomatik Sayı : Bazı durumlarda her bir kayda bir numara girilmesini isteyebiliriz. Örneğin müşteri numarası alanı böyle bir alan olabilir. Bu alanı Otomatik sayı tipinden belirleriz.sayının nasıl verileceğini ise genel kısmındaki yeni değerler kutusundan belirleyebiliriz. Bu kutudan artan değerini seçersek sayı otomatik olarak her kayıtta bir artırılacaktır. Tarih / Saat : Doğum tarihi, giriş saati gibi alanları text olarak tanımlarsak bunlar üzerinde işlem yapamayız. Tarih ve saat gibi bilgiler bu tipte belirtilmelidir. OLE Nesnesi : Veri tabanımıza resim, ses, animasyon gibi bir çok şeyler ekleyebiliriz. Windows altında bir çok program OLE (nesne bağlama ve gömme) yi destekler. Örneğin paint brush da çizmiş olduğumuz bir resmi veri tabanımıza ekleyebiliriz. Ole nesnesi olarak tanımlanmış alanlara bilgi girişi için Ekle menüsündeki NESNE seçeneği kullanılır ve eklenmiş nesneleri görmek için de o alanları çift tıklayabiliriz. Örnek : Sınav girişi yapılacak alana not girişini arasına sınırlayalım ve yanlış değer girilmesi halinde de uygun bir mesaj ile uyarılmasını sağlayalım. Geçerlilik kuralı >0 OR 100 Geçerlilik Metni Sınav notu 0 ile 100 arasında olabilir. Alan özelliklerini detaylarıyla gördükten sonra şimdi müşteri listesi için gerekli alanları tanımlayalım. Bunun için aşağıdaki tabloyu şu özelliklerde oluşturalım: Şekil2.4.

50 Her bir alana ait özellikleri ise Genel kutusundan şöyle belirleyelim : Adı soyadı : Alan boyutu : 30 Resim yazısı : Müşterinin adı soyadı Gerekli : Evet Ev adresi ve iş adresi için : Alan boyutu : 50 Ev telefonu ve iş telefonu için : Alan boyutu : 11 Giriş maskesi : \ (009 ) 900\00\\00;;_ İlişki tarihi için : Biçim : Uzun tarih Varsayılan değer : =date$() Artık pencereyi kapatabilirsiniz. Ancak hemen birşeyi hatırlatalım. Eğer birşeyi girmeyi unuttuysanız veya yeni bir alan girmek istiyorsanız farenin sağ tuşu kullanılabilir.

51 Artık müşteri tanımları adında yeni bir tablomuz var. Ama yeni bir tablo oluşturmak için yine aynı buradaki yeni düğmesini kullanacağız. Hazırladığımız tabloya giriş yapmak için tasarla düğmesi kullanacağız. Bilgi girişi yapmak için şimdilik Aç düğmesini kullanacağız. Artık bilgi girişi yapabiliriz. Sütun çizgilerini kullanarak sütunları genişletip daraltabiliriz. Şekil2.5. Menüdeki artan sıralama ve azalan sıralama seçeneklerini kullanaraak alanları kolayca sıralayabiliriz. Kayıtların tamamı ekrana sığmadığında kaydırma çubuklarını kullanarak kayıtların ekranda görülmesini sağlayabiliriz. Ancak bazı sütunların ekranda her zaman ekranda görülebilir olmasını sağlamak için sütunları dondur seçeneği kullanılır. Her zaman gerekli olmayan veya gizli olması gereken sütunları sütunları gizle seçeneğini kullanarak gizleyebiliriz. Bul seçeneğini kullandığımızda aşağıdaki pencere açılacaktır. Bu pencerede istediğimiz kaydı kolayca bulabiliriz. Şekil2.6. Kayda erişim Kayıtları bazı ifadeleri başkasıyla değiştirmek için Düzen menüsünden değiştir seçeneği

Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir.

Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir. View Oluşturma Sql komutlarından view oluşturma ve faydaları, myadminde gösterimi VİEW OLUŞTURMANIN YARARLARI 1. Veri güvenliği Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin,

Detaylı

Like Joker Karakterler, Order By, Group By

Like Joker Karakterler, Order By, Group By Like Joker Karakterler, Order, Group Like joker karakterler, order by, group by Karakter Türü Bilgi İçinde Arama Yapma (Like Sözcüğü) Personel tablosu içinde adres adlı 50 karakter uzunluğunda bir alanımız

Detaylı

Yapısal Sorgulama Dili (SQL)

Yapısal Sorgulama Dili (SQL) Öğr. Gör. Namık ĠÇELĠ SQL NOTLARI Sayfa 1 Yapısal 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

Detaylı

Sql Komutlarından Select Sorgusu Ve Myadmin Üzerinden Anlatımı

Sql Komutlarından Select Sorgusu Ve Myadmin Üzerinden Anlatımı Myadmin Üzerinden Anlatımı Bir Tablonun Farklı İsimlerdeki Eşdeğerleri İle Sorgulama Daha önceden tanımlanmış bir tablonun, farklı isimli, bir eşdeğerini oluşturarak sorgulamalarda kullanmak mümkün olabilir.

Detaylı

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler SQL'e Giriş SQL komutları kullanılarak aşağıdaki işlemler yapılabilir: Veritabanı nesnelerinin oluşturulması ve bu nesnelerle ilgili işlemlerin yapılması Bilgilerin istenilen koşullara göre görüntülenmesi

Detaylı

Veritabanı. SQL (Structured Query Language)

Veritabanı. SQL (Structured Query Language) Veritabanı SQL (Structured Query Language) SQL (Structured Query Language) SQL, ilişkisel veritabanlarındaki bilgileri sorgulamak için kullanılan dildir. SQL, bütün kullanıcıların ve uygulamaların veritabanına

Detaylı

Veri Tabanı Tasarım ve Yönetimi

Veri Tabanı Tasarım ve Yönetimi SAKARYA ÜNİVERSİTESİ Veri Tabanı Tasarım ve Yönetimi Hafta 5 Prof. Dr. Ümit KOCABIÇAK Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim" tekniğine uygun

Detaylı

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır. 18 SQL SORGU DİLİ SQL (Structured Query Language) yapısal sorgu dili, veritabanı yönetim sistemlerinin standart programlama dili olarak bilinmektedir. SQL dilinin Access içinde sorgu pencerelerinde veya

Detaylı

VERİTABANI. SQL (Structured Query Language)

VERİTABANI. SQL (Structured Query Language) VERİTABANI SQL (Structured Query Language) SQL'de Gruplama Bir tablonun satırları gruplara ayrılarak fonksiyonların bunlara uygulanması mümkündür. Gruplara ayırmak için SELECT deyimi içerisinde GROUP BY

Detaylı

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Genel Kavramlar Veri Nedir? Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar Veri Tabanı Nedir? Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Veritabanı Yönetim Sistemi (DBMS)Nedir?

Detaylı

SQL Komutları (2) Uzm. Murat YAZICI

SQL Komutları (2) Uzm. Murat YAZICI SQL Komutları (2) Uzm. Murat YAZICI Sıralama Sıralama işlemi için SELECT ifadesinde ORDER BY kullanılır. Bu ifadede ASC kelimesi kullanılırsa sıralama küçükten büyüğe doğru (A-Z), DESC kullanılırsa büyükten

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 8 8. TEMEL SQL KOMUTLARI-II 8.1. SELECT (Seç) Komutu Veri tabanındaki tablo veya tablolardan istenilen özellikteki verileri seçip listeleme için kullanılan komuttur. Genel kullanımı aşağıdaki gibidir.

Detaylı

SQL Kod ile Tablo Oluşturma

SQL Kod ile Tablo Oluşturma SQL Kod ile Tablo Oluşturma Aşağıdaki SQL kodları Veri tabanı hazırlama programında yazılıp çalıştırıldığı zaman PERSONEL adında bir tablo oluşturulur ve bu tablonun sütunları Personel_no, Adı, Soyadı

Detaylı

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER VERİTABANI SORGULARI İÇİNDEKİLER Select İfadesi Insert İfadesi Update İfadesi Delete İfadesi Verileri Sıralamak Verileri Gruplandırmak Veriler Üzerinde Arama Yapmak NESNE TABANLI PROGRAMLAMA I Uzm. Orhan

Detaylı

VERİTABANI ve YÖNETİMİ

VERİTABANI ve YÖNETİMİ VERİTABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -7- VERİLERİ GRUPLAYARAK ANALİZ ETMEK 3 Genel Bakış Grup fonksiyonlarının tanımlanması, Gruplama işlemlerini, Gruplama

Detaylı

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. Bu dersimizde biz Microsoft SQL Server veritabanı sistemini kullanmayı öğreneceğiz. SQL Nedir? SQL Structured Query Language

Detaylı

BÖLÜM 1 BİR VERİ TABANININ OLUŞTURULMASI

BÖLÜM 1 BİR VERİ TABANININ OLUŞTURULMASI YAPISAL SORGULAMA DİLİ SQL BÖLÜM 1 BİR VERİ TABANININ OLUŞTURULMASI SQL Yapısal sorgulama dili (SQL - Structured Query Language) ilişkisel veri tabanı dilidir. SQL veri tabanında yeni tablo oluşturma,

Detaylı

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Basit Sorgulamalar a. Tablodan tüm alanları sorgulama b. Tablodan alanları belirterek sorgulama c. Tekrarlı satırları önleme d. Belirli sayıda veya oranda sorgulama yapma

Detaylı

Sql komutlarından DISTINCT, IN, NOT IN, IN(SELECT...), ANY, ALL, EXISTS, NOT EXISTS, UNION, EXCEPT, BETWEEN kullanımı

Sql komutlarından DISTINCT, IN, NOT IN, IN(SELECT...), ANY, ALL, EXISTS, NOT EXISTS, UNION, EXCEPT, BETWEEN kullanımı Sql Komutları Sql komutlarından DISTINCT, IN, NOT IN, IN(SELECT...), ANY, ALL, EXISTS, NOT EXISTS, UNION, EXCEPT, BETWEEN kullanımı DISTINCT Veritabanımızda oluşturduğumuz tablonun içinde birbirinin aynı

Detaylı

SORGULAR. Öğr.Gör.Volkan Altıntaş

SORGULAR. Öğr.Gör.Volkan Altıntaş SORGULAR Öğr.Gör.Volkan Altıntaş SORGULAR VE ÇEŞİTLERİ Seçme Sorguları: En sık kullanılan sorgu türüdür. Seçme sorguları, bilgileri veri sayfası görünümü nde gösteren veri tabanı nesnesi türüdür. Sorgu,

Detaylı

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Sorgulama Yaparken Gruplama (GROUP BY) 2- Gruplamada Koşul Kullanımı (HAVING) 3- Sorgulama Yaparken Sıralama (ORDER BY) 4- Sorgulamalarda İşlem Yapma 5- Güncellemelerde İşlem

Detaylı

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Genel SQL SQL çok yüksek seviyeli bir dildir. Biraz ingilizce bilgisi gerektirir. Programlama dillerine göre öğrenilmesi çok daha kolaydır. Çünkü programlama dillerindeki

Detaylı

Bölüm 4: DDL Veri Tanımlama Dili

Bölüm 4: DDL Veri Tanımlama Dili Bölüm 4: DDL Veri Tanımlama Dili -43- Dr. Serkan DİŞLİTAŞ DDL (Data Definition Language Veri Tanımlama Dili : Bu kategorideki SQL komutları ile veritabanları, tablo, görünüm ve indekslerin yaratılması,

Detaylı

VERİTABANI Veritabanı Sorgulama

VERİTABANI Veritabanı Sorgulama VERİTABANI Veritabanı Sorgulama VERİ SORGULAMA DİLİ (DATA QUERY LANGUAGE) Veritabanı platformunda veri sorgulamak için geliştirilmiş en temel araç SQL (Structured Query Language)'dir. SQL'in veritabanı

Detaylı

YAPISAL SORGULAMA DİLİ (SQL)

YAPISAL SORGULAMA DİLİ (SQL) YAPISAL SORGULAMA DİLİ (SQL) OGRENCI Tablosu 1234 Zeynep Makina K 23.06.1984 1. Cad 3.4 CREATE TABLE VERİ TANIMLAMA DİLİ (VTD) Veritabanında yeni bir tablonun oluşturulmasını sağlar. Yukarıda tanımlanan

Detaylı

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER VERİTABANI SORGULARI İÇİNDEKİLER Select İfadesi Insert İfadesi Update İfadesi Delete İfadesi Verileri Sıralamak Verileri Gruplandırmak Veriler Üzerinde Arama Yapmak NESNE TABANLI PROGRAMLAMA I Uzm. Orhan

Detaylı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Data Programming SQL Language Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 15 Mar 2016 1 SQL deyimleri veritabanları üzerinde çeşitli işlemleri yerine getirirler. Veritabanından

Detaylı

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir. SQL SELECT CÜMLELERİ Oracle birçok kullanışlı ve güçlü özellikleri olan bir veritabanıdır. Bu özelliklerinin birçoğu SQL ile ilgilidir. VTYS lerinin çoğunluğunda veriler ile çalışmak için SQL kullanılmaktadır.

Detaylı

SQL e Giriş. Uzm. Murat YAZICI

SQL e Giriş. Uzm. Murat YAZICI SQL e Giriş Uzm. Murat YAZICI SQL (Structured Query Language) - SQL Türkçe de Yapısal Sorgulama Dili anlamına gelmektedir ve ilişkisel veritabanlarında çok geniş bir kullanım alanına sahiptir. - SQL ile

Detaylı

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon ORACLE GİRİŞ Oracle ile SQL Server ın karşılaştıralım. 1 Oracleda veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, değiştirme ve silme kodları aynı. 3

Detaylı

Ġşlem tablosu kavramını tanımlamak ve işlem tablolarının işlevlerini öğrenmek. Ġşlem tablolarının temel kavramlarını tanımlamak.

Ġşlem tablosu kavramını tanımlamak ve işlem tablolarının işlevlerini öğrenmek. Ġşlem tablolarının temel kavramlarını tanımlamak. Amaçlarımız 2 Ġşlem tablosu kavramını tanımlamak ve işlem tablolarının işlevlerini öğrenmek. Ġşlem tablolarının temel kavramlarını tanımlamak. Microsoft Excel 2010 da bilgi girişi yapabilmek. Excel de

Detaylı

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. DAO İLE SQL KOMUTLARI Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. SQL-1 SELECT En basit SQL cümleciği oluşturmak için SELECT sözcüğü

Detaylı

SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir.

SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir. SQL'e Giriş SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir. SQL (Structured Query Language) kendisi bir programlama

Detaylı

BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Dersin Planı İlişkisel Cebir SQL e Giriş İlişkisel Cebir (Relational

Detaylı

ACCESS PLATFORMUNDA SQL

ACCESS PLATFORMUNDA SQL ACCESS PLATFORMUNDA SQL (STRUCTURED QUERY LANGUAGE) KODLAMA ÖRNEKLERİ DISTINCT : Bir alanda birbirinin aynı kayıtlar bulunabilir. Öğrenciler tablosundaki aynı isimde öğrencilerin bulunması durumunda aynı

Detaylı

VERİTABANI Veritabanı Yönetimi

VERİTABANI Veritabanı Yönetimi VERİTABANI Veritabanı Yönetimi YAPILANDIRILMIŞ SORGULAMA DİLİ (SQL) Veritabanı yönetimi, veritabanının yapısal özelliklerini belirtmek ve değiştirmek, veritabanına kullanıcı erişimlerini ve yetkilerini

Detaylı

Oracle da kullanılan veri tipleri:

Oracle da kullanılan veri tipleri: ORACLE A GİRİŞ Oracle ile SQL Server ı karşılaştıralım, 1 Oracle da veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, yapısını değiştirme, silme kodları

Detaylı

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili) SQL'e Giriş SQL komutları kullanılarak aşağıdaki işlemler yapılabilir: Veritabanı nesnelerinin oluşturulması ve bu nesnelerle ilgili işlemlerin yapılması Bilgilerin istenilen koşullara göre görüntülenmesi

Detaylı

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu SQL'DE VERİ İŞLEME KOMUTLARI SQL'de verileri işlemek için kullanılan komutlara DML (Data Manipulation Language Veri İşleme Dili) denilmektedir. Bu komutlar ile oluşturulan ifadeler tablolara kayıt eklemek,

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 11 11. SQL de JOIN (BİRLEŞTİRME) İŞLEMİ 11.1. JOIN (Birleştirme) İşlemi Veri tabanı kayıtları oluşturulurken bütün bilgiler bir tabloda değil de, birkaç tablo üzerinde tutulur. Bu dataların daha

Detaylı

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints)

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints) Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri 1.1. Tablo Oluşturma 1.2. Tablo Oluşturmada Kısıtlamalar Constraints 1.3. Tablo Silme a. NULL, NOT NULL b. PRIMARY KEY c. UNIQUE d. FOREIGN KEY e. CHECK f.

Detaylı

Mysql Veritabanı Komutları

Mysql Veritabanı Komutları Mysql Veritabanı Komutları Mysql Veri Tabanı Komutları Hazırlayan : M. Başar ACAROĞLU Kaynaklar: http://www.hrzafer.com/sql-dersleri http://www.w3schools.com/sql/default.asp Veri Tabanı Nedir? Mysql Veritabanı

Detaylı

Veri Tabanı SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299

Veri Tabanı SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299 Veri Tabanı 1 1. SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299 2. SQL Management Studio açılış ekranı: Server Type: reporting, analysis

Detaylı

Veri Tabanı Yönetim Sistemleri Bölüm - 5

Veri Tabanı Yönetim Sistemleri Bölüm - 5 Veri Tabanı Yönetim Sistemleri Bölüm - 5 İçerik SELECT deyimi (devam) Verinin Sınırlandırılması (WHERE) Karşılaştırma İşleçleri (=, >, =,

Detaylı

11TA Veritabanı Organizasyonu Dersi MS ACCESS Ders Notları

11TA Veritabanı Organizasyonu Dersi MS ACCESS Ders Notları 11TA Veritabanı Organizasyonu Dersi 20.11.2018 MS ACCESS Ders Notları Access bir veritabanı programıdır. Veritabanı, bir konuyla ilgili çok sayıda kaydın tutulduğu bir bilgi havuzu olarak nitelendirilebilir.

Detaylı

Lıke Joker Karakterler, Is [not] Null, Order By, Group By, As

Lıke Joker Karakterler, Is [not] Null, Order By, Group By, As LIKE (Joker Karakterler) Joker karakterleri kullanarak bir veri sütunu veya ifadeler içinde desen arayabilirsiniz. Örneğin, soyadları "Ak" ile başlayan veya "kaya" ile biten tüm çalışanları arayabilirsiniz.

Detaylı

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

13 Aralık 2007. Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz 13 Aralık 2007 Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL Đlgili Modül/ler : Raporlar KULLANICI TANIMLI RAPORLAR Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz Kendi isteklerinize özel rapor tasarımları

Detaylı

Bilgisayar Uygulamaları. MySql

Bilgisayar Uygulamaları. MySql MySql MySql,; Oracle, Progress, MsSql, PostgreSql gibi veri tabanı programıdır. Kullanılan dil SQL (Structured Query Language) yapısal sorgulama dilidir. Lisansı GNU General Public License olarak bilinen

Detaylı

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler SQL'de Veri İşleme Komutları SQL'de verileri işlemek için kullanılan komutlara DML (Data Manipulation Language Veri İşleme Dili) denilmektedir. Bu komutlar ile oluşturulan ifadeler tablolara kayıt eklemek,

Detaylı

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur. TEMEL SQL SORGU ÖRNEKLERİ Sorgu İle Veritabanı Oluşturma create database veritabanı_adı Örnek : create database db_okul Yukarıdaki sorguyu çalıştırdığımızda db_okul adında bir veritabanı oluşturulur. Örnek:

Detaylı

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Neden SQL? SQL çok yüksek seviyeli bir dildir. İngilizce bilen herkes bu dili kolayca öğrenebilir. Programlama dillerine göre öğrenilmesi çok daha kolaydır. Çünkü programlama

Detaylı

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır.

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır. 1 Access e Nasıl Ulaşılır Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır. 2 Çeşitli araç çubukları arasında seçim yapılarak pencere üzerine eklenebilir. Bunun

Detaylı

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim' Bu Derste Öğrenecekleriniz: 1- Veri Tabanı Adı Değiştirme 2- Nesnelerin Adını Değiştirme a. Tablo Adı Değiştirme b. Alan Adı Değiştirme c. Constraint (Kısıtlama) Adı Değiştirme 3- Tablo Düzenleme Komutları

Detaylı

KISITLAMALAR (CONSTRAINT)

KISITLAMALAR (CONSTRAINT) KISITLAMALAR (CONSTRAINT) Tablo alanlarına veri girişini kontrol etmeyi amaçlayan düzenlemelerdir. Bir alana girilen değerleri sınırlayan bu düzenlemeler kullanıcı hataları açısından önemlidir. Verilerin

Detaylı

Çok tablolu sorgulamalar

Çok tablolu sorgulamalar Çok tablolu sorgulamalar Eğer birden fazla tabloda yer alan verilerin tek bir sorgu ile görüntülenmesi istenirse FROM kısmında ilgili tablolar araya virgül konularak yazılmalı, WHERE kısmında ise o tabloları

Detaylı

Veri Tabanı Programlamaya Giriş

Veri Tabanı Programlamaya Giriş Veri Tabanı Programlamaya Giriş Kitap özeti Veri Tabanı Programlamaya Giriş SQL insanların veritabanı sistemleri ile konuşmasını sağlayan popüler bir dildir. Bu dil sayesinde, bir veritabanından kayıtları

Detaylı

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

VERĐTABANI YÖNETĐM SĐSTEMLERĐ VERĐTABANI YÖNETĐM SĐSTEMLERĐ Öğr.Gör.Sedat Telçeken ANADOLU ÜNĐVERSĐTESĐ FEN FAKÜLTESĐ MATEMATĐK BÖLÜMÜ 2005 2006 Bahar Dönemi D M L Bilindiği üzere SQL tablolar üzerinde sorgulama yapar. Bu sorgular

Detaylı

Veritabanına Uygulanması

Veritabanına Uygulanması Add, Alter Drop, Alter Change, Alter Sql komutları ve açıklamaları CREATE CREATE TABLE Üzerinde çalışma yapılan veritabanı içerisinde yeni bir tablonun oluşturulmasını sağlar. CREATE TABLE tablo_adı (alan_adı1

Detaylı

VERİ TABANI I. Yrd.Doç.Dr. İlker ÜNAL. Teknik Bilimler Meslek Yüksekokulu

VERİ TABANI I. Yrd.Doç.Dr. İlker ÜNAL. Teknik Bilimler Meslek Yüksekokulu VERİ TABANI I Yrd.Doç.Dr. İlker ÜNAL Teknik Bilimler Meslek Yüksekokulu Veri Tabanı Bileşenleri Tablolar : Veritabanının temel nesnesi tablolardır. Bilgilerin asıl tutulduğu yer tablodur. Diğer veritabanı

Detaylı

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Birden Fazla Tablodan Sorgulama 2- Tablo Birleştirme işlemleri (JOIN) a. INNER JOIN b. OUTER JOIN i. LEFT OUTER JOIN ii. RIGHT OUTER JOIN iii. FULL OUTER JOIN 3- Tablo Ekleme

Detaylı

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU Elbistan Meslek Yüksek Okulu 2015 2016 GÜZ Yarıyılı 28-29 Ara. 2015 Öğr. Gör. Murat KEÇECĠOĞLU Indexler İndeks, tablolardan veri çekmek için gerekli sorgular çalıştırılırken gereken süreyi azaltmak amacıyla

Detaylı

İNTERNET PROGRAMCILIĞI 2 11. HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

İNTERNET PROGRAMCILIĞI 2 11. HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme İNTERNET PROGRAMCILIĞI 2 11. HAFTA İçindekiler Veritabanı Oluşturma, Silme MYSQL ile VERİTABANI İŞLEMLERİ - 1 Tablo Oluşturma, Silme Tabloya Bilgi Girme Veritabanı Sorgulamaları Hedefler Mysql komutları

Detaylı

SQL Query and Table Application

SQL Query and Table Application SQL Query and Table Application Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı Öğr. Gör. Murat KEÇECİOĞLU 24-25 Nis. 2013 Sorgulama İşlemleri SQL de sorgulama işlemleri SELECT deyimi yardımıyla

Detaylı

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Hafta IV. Öğr. Gör. Murat KEÇECĠOĞLU

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Hafta IV. Öğr. Gör. Murat KEÇECĠOĞLU 08221 Veri Tabanı II Elbistan Meslek Yüksek Okulu 2014 2015 GÜZ Yarıyılı Hafta IV Öğr. Gör. Murat KEÇECĠOĞLU T-SQL KOMUTLARI Devamı DISTINCT: Birbirinin ayni olan satirlarin listelenmemesi için bu ifade

Detaylı

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10)); SQL'e Giriş 2 VERİ TANIMLAMA (DDL) İŞLEMLERİ Genel Yazılımı, 1. TABLOLARIN OLUŞTURULMASI (CREATE TABLE): CREATE TABLE tabloadı (kolon isimleri ve veri türleri) Örnek 1: CREATE TABLE BOLUM (BOLUM_NO NUMBER,

Detaylı

Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access)

Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access) Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access) İstanbul Teknik Üniversitesi, İnşaat Fakültesi, Geomatik Mühendisliği Bölümü Prof. Dr. Nebiye MUSAOĞLU Doç. Dr. Elif SERTEL Y. Doç. Dr. Şinasi

Detaylı

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir? 1) I. Tablo Oluşturma II. Veri Güncelleme III. Veri Silme IV. Veri Ekleme V. Tablo Silme Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir? a) I, IV ve V b) II, III ve IV

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa

Detaylı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN VERITABANI-I SQL Tek Tablo İçinde Sorgulamalar Tekrarlı Satırların Engellenmesi Aynı değerlere sahip satırlar

Detaylı

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi -- www.tdmsoft.com. devrim@gunduz.org

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi -- www.tdmsoft.com. devrim@gunduz.org Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Teknoloji Destek Merkezi -- www.tdmsoft.com devrim@gunduz.org http://seminer.linux.org.tr http://www.gunduz.org Giriş Bu seminerde, aşağıdaki konular anlatılacaktır:

Detaylı

MICROSOFT ACCESS 2007-2010 DERS NOTLARI

MICROSOFT ACCESS 2007-2010 DERS NOTLARI MICROSOFT ACCESS 2007-2010 DERS NOTLARI İÇİNDEKİLER 1.VERİTABANI NEDİR?... 2 2.MICROSOFT ACCESS... 2 3. TABLOLAR... 3 3.2 Tablolara Kayıt Girmek... 5 4. FORMLAR... 7 4.1 Form Sihirbazı ile form oluşturma...

Detaylı

Veri Tabanı Yönetim Sistemleri Bölüm - 4

Veri Tabanı Yönetim Sistemleri Bölüm - 4 Veri Tabanı Yönetim Sistemleri Bölüm - 4 İçerik SQL e Giriş. SQL Yapısal Sorgulama Dili. Temel SQL Komutları: Sorgulama İşlemleri SELECT deyiminin temel yapısı Seçme İşlemi Atma İşlemi Aritmetik İfadelerin

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 7 7. TEMEL SQL KOMUTLARI-I SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri tabanı ortamında

Detaylı

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com SQL Deyimleri Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com SQL NEDİR? SQL bir veri tabanıyla iletişim kurmak için kullanılır. ANSI standardına göre ilişkisel veri tabanı yönetim sistemlerinin standart dilidir.

Detaylı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN VERITABANI-I SQL (Structured Query Language) SQL (Structured Query Language) SQL, ilişkisel veritabanlarındaki

Detaylı

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

Veritabanı Tasarımı. DML İşlemleri ve Görünümler Veritabanı Tasarımı DML İşlemleri ve Görünümler Konular Basit bir görünümde DML işlemlerini gerçekleştiren bir sorgu yazma ve çalıştırma DML işlemleri kullanarak bir görünümü değiştirme yeteneğini kısıtlayan

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language) Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language) Konular Yapısal SQL Komutları Gruplama İşlemi SQL Fonksiyonları Kaynaklar 2 SQL (Structured Query Language) SQL Carlos

Detaylı

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) GENEL DERS BİLGİLERİ Öğretim Elemanı : Öğr. Gör. Erdal GÜVENOĞLU Ofis : MUH 313 Ofis Saatleri : Pazartesi: 10.00-12.00,

Detaylı

Oracle Database 11g: Introduction to SQL

Oracle Database 11g: Introduction to SQL Oracle Database 11g: Introduction to SQL Mehmet Salih DEVECI GTECH-Kıdemli Veritabanı Yöneticisi Mehmetsalih.deveci@gtech.com.tr BÖLÜM- 1: SQL E GİRİŞ SELECT ifadesinin kabiliyetlerinin ortaya çıkarılması

Detaylı

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri ORACLE DA KÜRSÖRLER Gerekli sistem değişkenleri SQL%ISOPEN : kürsör açıksa değeri true, kapalı ise değeri false SQL%ROWCOUNT : sql ile işlem gören kayıt sayısı bulunur. SQL%FOUND : sql işlemi sonucu, en

Detaylı

BİL 101 - Bilişim Teknolojileri. Access 2007. http://bil.etu.edu.tr/bil101

BİL 101 - Bilişim Teknolojileri. Access 2007. http://bil.etu.edu.tr/bil101 BİL 101 - Bilişim Teknolojileri Access 2007 http://bil.etu.edu.tr/bil101 Veritabanı Sistemleri Veritabanı Sistemleri Bilgi çağında veriyi düzenli-planlı saklamak, veriye hızlı ulaşmak, değişik veriler

Detaylı

BİR İNŞAAT ŞİRKETİNİN DEPO İŞLERİ TAKİP PROGRAMININ ACCESS İLE OLUŞTURULMASI

BİR İNŞAAT ŞİRKETİNİN DEPO İŞLERİ TAKİP PROGRAMININ ACCESS İLE OLUŞTURULMASI BİR İNŞAAT ŞİRKETİNİN DEPO İŞLERİ TAKİP PROGRAMININ ACCESS İLE OLUŞTURULMASI TABLOLARIN OLUŞTURULMASI Programda beş temel dosya üzerinde çalışılmiştır. Bunlar aşağıdaki resimde görülen Malzeme, Personel,

Detaylı

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1 5 SQL- Yapısal Sorgulama Dili Veritabanı 1 SQL- Yapısal Sorgulama Dili SQL ifadeleri yapısal olarak üç gruba ayrılır. Veri Tanımlama Dili (DDL - Data Definition Language) Veri İşleme Dili (DML - Data Manipulation

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ II. 2. SQL PROGRAMLAMA, VERİ TİPLERİ ve DEĞİŞKENLER

VERİ TABANI YÖNETİM SİSTEMLERİ II. 2. SQL PROGRAMLAMA, VERİ TİPLERİ ve DEĞİŞKENLER BÖLÜM 2 2. SQL PROGRAMLAMA, VERİ TİPLERİ ve DEĞİŞKENLER 2.1. SQL PROGRAMLAMANIN AVANTAJLARI SQL de kullanılamayan procedür, fonksiyon, şartlı ifadeler, döngüler ve karşılaştırmaların eksikliğini giderebilmek

Detaylı

ACCESS DERS 2. 1. Tablolarda Düzenleme

ACCESS DERS 2. 1. Tablolarda Düzenleme ACCESS DERS 2 1. Tablolarda Düzenleme Geçen notlarda en durumda Musteri, iller ve ilçeler isminde 3 tane tablomuz olmuştu. Şimdi bu tablolar üzerinde düzenlemeler yapacağız. İlk düzenlemeyi tablo ve tablo

Detaylı

İNTERNET TABANLI PROGRAMLAMA- 12.ders

İNTERNET TABANLI PROGRAMLAMA- 12.ders İNTERNET TABANLI PROGRAMLAMA- 12.ders TEMEL SQL KULLANIMLARI Örnekleri uygulamak için aşağıdaki gibi bir altyapı hazırlayalım. using System.Data.OleDb; *************** protected void Button1_Click(object

Detaylı

Sihirbaz Kullanarak Sorgu Oluştur : Sihirbaz sorguyu hazırlayan kişiye sorular sorar ve yanıtlarına göre sorgu oluşturur.

Sihirbaz Kullanarak Sorgu Oluştur : Sihirbaz sorguyu hazırlayan kişiye sorular sorar ve yanıtlarına göre sorgu oluşturur. BÖLÜM17 3. SORGULAR Access Veritabanında sorgu; tablolara yazılan bilgilerin hepsinin veya istenilen (belirlenen) şarta uyanlarının bulunmasıdır. Örneğin Tıp Fakültesinde okuyan öğrenciler gibi. Sorguları

Detaylı

UZAKTAN EĞİTİM MERKEZİ

UZAKTAN EĞİTİM MERKEZİ ÜNİTE 2 VERİ TABANI İÇİNDEKİLER Veri Tabanı Veri Tabanı İle İlgili Temel Kavramlar Tablo Alan Sorgu Veri Tabanı Yapısı BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ BİLGİSAYAR II HEDEFLER Veri tabanı kavramını

Detaylı

DESTEK DOKÜMANI RAPOR ÜRETĐCĐSĐ

DESTEK DOKÜMANI RAPOR ÜRETĐCĐSĐ RAPOR ÜRETĐCĐSĐ Rapor Üreticisi, kullanıcı tarafından hazırlanmış querylerle programda raporlama yapılabilmesini sağlayan bir raporlama aracıdır. Kullanıcı, listeleme için hazırlamış olduğu query ile programda

Detaylı

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011 Veritabanına Giriş Oğuzhan Ceylan 19 Eylül 2011 Outline Veritabanı MYSQL Mysql Sorgu Komutları Bir veritabanı yaratmak ve kullanmak Veritabanı Veritabanı Verittabanı hangi alanlarda kullanılıyor. Web sitesi

Detaylı

SPSS-Tarihsel Gelişimi

SPSS-Tarihsel Gelişimi SPSS -Giriş SPSS-Tarihsel Gelişimi ilk sürümü Norman H. Nie, C. Hadlai Hull ve Dale H. Bent tarafından geliştirilmiş ve 1968 yılında piyasaya çıkmış istatistiksel analize yönelik bir bilgisayar programıdır.

Detaylı

VERİ TABANI UYGULAMALARI

VERİ TABANI UYGULAMALARI V. Ünite VERİ TABANI UYGULAMALARI A. BAŞLANGIÇ B. BİR VERİ TABANI YARATMA C. FORMLARIN KULLANIMI D. BİLGİYE ERİŞİM E. RAPORLAMA 127 A BAŞLANGIÇ Konuya Hazırlık 1. Veri tabanı programları hangi amaç için

Detaylı

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme Veritabanı Tasarımı Kullanıcı Erişimini Kontrol Etme Konular Nesne ayrıcalıkları ve sistem ayrıcalıkları arasındaki farkı karşılaştırma Bir kullanıcının bir veritabanınaerişimini etkinleştirmek için gerekli

Detaylı

Veritabanı ve Yönetim Sistemleri

Veritabanı ve Yönetim Sistemleri Veritabanı ve Yönetim Sistemleri Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Öğr. Gör. M. Mutlu YAPICI Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta Temel Kavramlar

Detaylı

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com YAPISAL SORGULAMA DİLİ BARIŞ ARIBURNU barisariburnu.com barisariburnu.@gmail.com SQL, insanların veritabanı sistemleri ile konuşmasını sağlayan popüler bir dildir. SQL, tüm veritabanı programlarında kullanılabilir.

Detaylı

MS Access. üzerinde. defa çalıştırıldığında

MS Access. üzerinde. defa çalıştırıldığında 5.2. Veritabanı İşlemleri MS Access MS Access ilişkisel veritabanıdır. Yani verileri, birbirleriyle ilişkili tablolar t içerisinde saklar. Birçok veritabanı yönetim sistemi uygulama programlarının aksine,

Detaylı

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama Veritabanı Tasarımı NOT NULL ve UNIQUE Kısıtlamaları Tanımlama NOT NULL ve UNIQUE Kısıtlamaları Tanımlama Konular Kısıtlama terimini veri bütünlüğü ile ilişkilendirerek tanımlama Sütun seviyesinde ve tablo

Detaylı

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek. Ms SQL Veritabanı Nesneleri Bölüm Veritabanı Yönetimi Yazar Öznur KARAKUŞOĞLU Yayın Tarihi 15.04.2004 Okunma Sayısı 1110 Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek. Hedefler Veritabanı

Detaylı

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum:

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum: Bu Derste Öğrenecekleriniz: 1- MS SQL Server 2008 Kurulumu ve Tanıtımı 2- Komut Kullanarak Veritabanı Oluşturma ve Silme 3- SQL Yazım Kuralları Kurulum: Sistem gereksinimleri: Desteklenen işletim sistemleri:

Detaylı