KAFA KAFAYA
7 Ekim 2017
TÜRKİYE ‘DE DEVLET, TOPLUM VE POLİS
7 Ekim 2017

VERİ TABANI MANTIĞI

Veritabanı bir kuruma ait verileri bir
yapı çerçevesinde  saklandığı yazılım
olarak nitelendirebilir.Veritabanı kelimesinin İngilizce karşılığı
“DATABASE”.Bir okul,öğretmen ve öğrencilere ait kimlik bilgilerin veritabanında
saklayabilir bununla ilgili birçok örnek verilebilir.
Veritabanın
Avantajları
:Bilgileri kağıt ve kalem gibi  araçlar ile saklanabilseydi  şuan  veritabanı
diye bir şey olmazdı.Veritabanları,bize son derece güvenilir ortamlar
sunmaktadır veritabanları ile saklanan bilgileri kaybetme riskini SQL Server ve
Oracle gibi büyük yedekleme çözümleri ile bu sorunlar büyük ölçüde azaltır.
Veritabanındaki
Bilgileri sadece yetkili kişilerin
girmesini sağlamak mümkündür.
Popüler
Veritabanları
Acces:Microsoft’un Office paketi içerisinde
sunduğu veritabanı yazılımıdır.Dosyalarını son derece taşınabilir olması ve
Office lisansı dışında hiçbir lisans ücreti olmaması,Access’i küçük ve orta
çaplı projelerde oldukça cazip hale getiriyor. Buna karşılık,büyük ölçekli
kurumsal projelerde ihtiyaç duyulacak özelliklerin büyük bir kısmına sahip
değildi;Bu yüzden şirketler tarafından pek tercih edilmemektedir.
Mysql: Linux’un sahip olduğu ve Access’e
rakip olduğu kabul edilen Mysql gittikçe gelişen özellikleriyle
birlikte,Access’den daha güçlü olduğu söylemek mümkündür.
Kaynak kodunun açık olması ve kişisel
kullanım için herhangi bir lisans ya da ücrete tabii olmaması veritabanı
kullanıcıları için cazip hale gelmektedir.
SQL
Server:
2000 yılında
piyasaya sürülen versiyonunda hertürlü özelliğe yer verilmiştir.SQL Server
piyasada oldukça yaygın olarak kullanılmaktadır.Express Edition, Enterprise
Edition ,Personal Edition gibi farklı lisanslara sahip olduğu için herkes ve
her keseye uygun SQL Server bulmak mümkündür.
Oracle: “En büyükler tarafından tercih edilen
en büyük veritabanı” diye tanımlayabiliriz .Oracle; Linux,Windows,Unix gibi
farklı platformlarda çalışabilmektedir.yalnız Oracle kullanabilmek için
konusunda uzman ve ne yaptığını bilen bir veritabanı yöneticisiyle çalışmak
gerekmektedir.kullanımı SQL Server katar kolay değildir bunun ciddi teknik
tecrübe gerekmektedir.
Bir
Veritabanı Yapısı:
TABLO:Tablolar,ihtiyaçlar doğrultusunda
kullanıcılar veya programcılar tarafından kullanabilir.
Şimdide ürünlere ait  örnek bir tablo görelim
                     Ad
                 Görsel
Boş CD
Cd jpg
A4 Kağıdı
Kagit jpg
Boş DVD
Cd jpg
HP Laptop
Hp jpg
Toshiba Laptop
Toshiba jpg
Programcılık Mantığı
Program.jpg
Nokia 6260
6260.jpg
Siemens SX1
Sx1.jpg
Veritabanı mantığı çerçevesinde ;tablo
en önemli fonksiyonu,verileri birbirinden ayırmasıdır.Örneğimizde ürün
tablosuna bakarak ihtiyacım olan bilgilere ulaşabiliriz.yani “Hangi Cep
Telefonları Satıyoruz” sorusunun cevabını alabiliriz.
ALAN
(Sütün):
Tabloların en
önemli fonksiyonun nesne tiplerini birbirinden ayırmak ve standarizide etmek
olduğunu açıklamıştık.alanların en önemli fonksiyonu ise,belli bir tablodaki
bilgileri birbirinden ayırmak ve standardize etmektedir.
Allanların ikinci faydası ise, belli
bir sütuna girilecek verilerin standardizasyonunu sağlamasıdır.Benzer bir
mantıkla,alanların bize sağladığı diğer fayda;şirket çalışanlarına ait
ad,soyad,doğum günü maaş gibi bilgilere ulaşabiliriz.
KAYIT(Satır):Bir tablo içerisinde bulunan her bir
kayıt adı verilmektedir PERSONEL tablosunda Mehmet Çelik,Selçuk Çalışkan,Mehmet
Özkan gibi kişilere ait birer kayıt bulunmaktadır.
           Ad
Soyad
Selçuk 
Çalışkan
Mehmet
Özkan
Ahmet
Çelik
Bir veri tablosunda sonsuz kayıt
yapılabilir Pratikte kayıt sayısı, veritabanını çalıştığı bilgisayarların disk
alanı ile sınırlıdır.
GELİŞMİŞ
KAVRAMLAR
Primary
Key:
Herhangi bir
kurumda  çalışan ad ve soyadları aynı
olan iki kişiyi veya birbirine benzeyen verileri ayırmak için numara verilir
böylece herhangi bir işlem sırasında zorluk çekilmez bu verilen numaraya
Primary Key denir.
İLİŞKİ
(Relation):
İlişki
Veritabanı adında başlı başına bir teori vardır.büyük bir kurumda kayıt sayısı
oldukça fazladır ve ayrıntılar üzerinde yanlış bir işlem yapmak büyük sorunlar
çıkarabilir bu yüzden doğru model kurmayı yapmalıyız.
Veritabanı mantığı şöyle der:”Her bir
nesne tipi için ayrı tablo yapmayı doğru bulur ve uygular.
1
Mehmet
Özkan
grafiker@mynet.com
01.11.1965
2
Ahmet
Altın
ameta@yahoo.com
03.04.1983
3
Ercan
İyi
eiyi@mynet.com
04.05.1960
4
Ayhan
Eser
aeser@mynet.com
07.08.1975
5
Selçuk
Çalışkan
Scaliskan83@mynet.com
19.12.1983
6
Mehmet
Durmaz
mdrmz@mynet.com
12.18.1978
7
Mahmut
Başel
mbşel@mynet.com
02.03.1963
PERSONEL Tablosuna bakarak istenilen
bilgilere ulaşabilir. İki farklı tablo arasındaki bağlantı; tablolardan
birine,diğerinin Primary Key’i eklenerek sağlanır.
Foreign
Key
PERSONEL tablosundaki DEPARTMAN_ID
sütunu,bir başka tablonun Primary Key’ine referans olduğu için Foreign Key diye
adlandırabiliriz.
Normalizasyon
Bir veritabanın derli toplu bir hale
getirme sürecine normalizasyon denir.normalizasyon çalışmaları çerçevesinde
;bir veritabanı,genel veritabanı prensiplerine uygun hale getirilir.
Veritabanı
Tasarımı
Haberler: Web sitemizde haberleri
yayınlamak istiyoruz böyle bir durumda ilk yapmamız gereken şey gereken
bilgilerin bir listesini çıkarmalıyız. Bu bilgileri saklayacak bir tablo
yapmamız gerekir. Şunu da unutmadan belirtmek isterim ki böyle büyük tablolarda
ilk yapmamız gereken Primary Key oluşturmak.

İd
             baslik
                             metin
1
Web Sitemiz Açıldı
Yeni web sitemiz açıldı.Ziyaretiniz
için tessekürler
2
Cd de indirim
Cd reyonunda %50 indirim var.
$
Önceki bölümü incelendiği zaman
kişileri karıştırmamak için Primary Key vermiştik Haber başlığında ise ID adlı
bir Primary Key verdik bu şekilde istenilen haber karıştırılmadan girilmiş
oldu.şimdi de bizden haberlerin hangi tarihe ait olduğu ve haberin kısa bir
özeti istediğinde eski tablomuza yeni iki tablo eklemek gerekir.  
İd

baslik

tarih

metin
görüntü
özet
1
Websitemiz açıldı
06.06.2005
Yeni web sitemiz
1
Yeni web si
2
Yeni indirim
12.02.2005
Bütün ürünlerde in
 2
Bütün ürünl
3
Yine zam yaptık
04.03.2006
Bütün ürünlere za
3
Bütün ürünl
Bütün istekler ve sorunlar çözüldü
sanırım Veritabanı mantığı için uygun bir iş oldu.
Müşteri  Bilgileri
Bizden alışveriş yapan müşterilerin
ad,soyad,doğum tarihi,yaş,şifre ve kullanıcı adı gibi bilgileri
saklayabileceğimiz bir yapı oluşturmamızı istiyorlar.ilk adım olarak müşteri
gibi bir tablo oluşturalım daha sonra müşteri bilgilerin girelim bizden
istenilmese de mutlaka Primary Keyi oluşturmak zorundayız ileride
karşılaşacağımız sorunları önleyeceğiz.daha sonra her grup için bir tablo
oluşturmak ve sonuçta büyük bilgi tablosu oluşacak.
İd

e-mail

ad
soyad

Doğum
k.adı
Şifre
1
Selcuk
Çalıskan
19.12.1983
Ameta
2dor789yl
2
Ayhan
Eser
14.06.1971
Aeser
1eat76890
3
Mehmet
Özkan
08.07.1960
Mozkan
115ığdt87
4
ali@hotmail.com
Ali
Gönen
16.11.1985
Kaz
Atı56e709+
5
Merve
Çağ
15.12.1984
Dilber
Mrve1984o
6
Tuğçe
Deniz
01.03.1984
Çağla
Tğçe657rn
                  
Kurumsal
Adres Defteri
Yaptığımız tabloyla ilgili başımızdaki
müdürümüz bize kayıtlarla ilgili bir soru sordu mesela 8 numaralı kaydın
adı,soyadı ve çalıştığı birimi ve telefon numarasını  istiyorum dedi bu durumda yaptığımız tablodan
8 numaraya bakarak bulabiliriz.Ama müdürümüz çalışan firmaların ve başka illere
gidenlerin de kayıtlarının da bulunmasını istiyor Veritabanı mantığı
prensiplerinden biride “Farklı nesne tiplerini farklı tablolara yerleştir
”der.Simdi de bir firma tablosu yapmamız gerekecek ama bu tabloda bitiş ve başlangıç
tarihi olacak çünkü bunlarda tarih tipinde alanlarıdır. 
İd
Firma id

Adres
Baslangic
Bitis
Telefon
Faks
1
             1       
Dikmen/ANKARA
01.02.2004
31.12.2004
03124824878
03128764321
2
              2
Tuzla/İSTANBUL
01.02.2004
31.12.2004
02164671458
02122223344
3
              3
Çallı/ANTALYA
01.02.2004
31.12.2004
02423454117
024243651321
4
              4
Sincan/ANKARA
01.02.2004
31.12.2004
03124846721
03124786594
5
              1
Meltem/ANTALYA
01.02.2004
31.12.2004
0242465789
02424356753
3 numaralı firma 1 Haziran 2005
tarihinde başka bir yere taşınmış şimdi adres değişikliği yapmamız gerekiyor. Bu
işlem iki basamakta yapacağız ilk önce firmanın geçerli olan adresinin 31 Mayıs
2005 tarihi ile sınırlı tutacağız,daha sonra bu firma için 1 Haziran 2005
itibariyle geçerli olan yeni bir kayıt yaratmak bu şekilde firmanın adresi
değiştirilmiş oldu.
Kullanıcı
Ayarları
Yapmış olduğumuz veritabanı
çalışmalarında bir yanlışlık oldu ve ziyaretçilerimiz bunu giderilmesini istedi
mesela örnek olarak ziyaretçilerimizin arka plan rengi bazıları ile uyumsuzluk
yaratmış o halde her ziyaretçimizin kendi arka plan rengini seçip
saklayabileceğimiz bir yapı hazırlamamız gerekiyor.  Elimizdeki tablo zaten var bu tabloya BGCOLOR
diye bir alan eklememiz lazım.
İd
Ülke
id
Ad
Soyad
     Email
Dogum
Kullanıcı
Sifre
Bgcolor
 1
TR
Ali
Çınar
01.02.1985
Sap
190rph
00cccc
 2
TR
İsa
Pak
12.10.1986
Peace
435odı
C00cc
 3
TR
Ayşe
Şeker
03.09.1964
Egsoz
Tak876
Cooff0
 4
TR
Yılmaz
Tek
06.08.1976
Ameta
Ate87i
Ffffff00
 5
TR
Didem
Parlak
09.06.1987
Yavru
Mln981
Cc00ff
 6
TR
Veysel
Savaş
14.11.1983
Volki
Lyk906
Fffc00
 7
TR
Tuna
Çalış
tuna@hotmail.com
15.08.1942
lider
Fb1907
Ffccc0
                               
Özlü
Sözler
                      
              İd               
  metin         
                 1
Kişi kendinden bilir işi
                 2
Kargaya yavrusu şahan gibi gözükür
                 3
Kirpi yavrusunu pamuğum diye sever
                 4
Öldürmeyen darbe güçlendirir
Anket
Siteye bazı anketler eklemek
istiyoruz,bu anketlere verilen cevaplarında düzenli bir şekilde saklanmasını
istiyorum.İlk önce yapmamız gereken işleri iki başlık altında
toplamalıyız.Anket soruları ve cevap seçenekleri ve müşterilerin verdiği
cevaplar.Sitede ilk önce sorular,soru bazında cevaplar,müşteri bazında cevaplar
şeklinde daha ayrıntılı olarak toplayabiliriz.Sorular için ilk önce  id numaralı soru tablosu yapılır.şimdi ikinci
basamakta ise soru bazında belirsiz sayıda cevap tablosu yapılır eğer 3 cevap
seçenekli sorular olacak denilse 3 tane yeni alan eklemek gerekecek ama bu
çözüm olmayacak bu yüzden ANKET CEVAP diye bir tablo oluşturarak bu sorunu
halledebiliriz.Bir tabloda zaten yer alan bir bilgiyi bir diğer tabloda
tekrarlamak ,veri tutarsızlığına yol açabilir.
Satış
Kataloğu
İşyerimizin sattığı ürünlerin
isimlerini ve fotoğraflarını merkezi sunucuda ttmak istiyorum bunun yanı sıra
ürünün fiyatını,hangi tarihte satıldığını ve son olarak ürünün hangi gruba
girdiğini de görmek güzel olacak.İlk iş olarak liste yapmak yani ürünün adı,fotoğrafı,fiyatı,ürün
grubu ve grup bazında adı.Şimdi içinde AD&ID numaralı id’ye iki alan ve
fotoğrafı ekleyeceğiz ama direk fotoğraf gösterme olmayacağı ihtimalini
değerlendirirsek isim olarak tabloya ekleyeceğiz ve bütün yükü programcıya
yükleyeceğiz.

İd

baslangic
Bitis
ürün_id

fiyat
1
01.03.2004
28.02.2005
                    1
                     1
2
01.03.2004
28.02.2005
                    2
                   50
3
01.03.2004
28.02.2005
                    3
                  100
4
01.03.2004
28.02.2005
                   4 
                 1200
5        
01.03.2004
28.02.2005
                    5
                   896
6
01.03.2004
28.02.2005
                    6
                   450
Şimdide her bir ürünü bir ürün grubuna
bağlamam görevi var.URUN tablosuna GRUP_ID şeklinde bir alan eklemektedir şimdi
de URUNGRUP ve URUN hiyeraşik bir şekilde görmek gerekir.Bilgisayarlar:HP
Laptop,Toshiba Laptop,Casper Masaüstü Bilgisayarlar,Cep Telefonları:Nokia
6260,siemens SX1,Sarf Malzemeleri:Boş Cd,A4 Kağıt,Boş DVD vb.Bir ağaç yapısını
düz bir veritabanı tablosunda saklamanın yolu,ilgili tabloda UST_ ID şeklinde
bir  alan yaratıp,bu alanda her bir
kaydın bağlı bulunduğu kaydın ID’sini yazmaktan geçer.  
Sipariş
Bir siparişi hangi müşteri hangi
tarihte vermiş ve kaç adet istediğini veritabanında saklamak gerekecek.bu gibi
durumlarda ilk önce süzgeci elimize alarak liste yaparız daha sonra
SIPARIS_BASLIK adı altında bir tablo yapmak gerekir.Her bir siparişe ID
numarası vermek yeterli olacak.Şimdi ise, bir siparişte kaç çeşit ürün olduğunu
bilmek imkansız bu sorunu tablomuza sütün eklemekle çözemeyeceğimize göre
SIPARIS_KALEM adı altında yeni bir tablo yaparak sorunu halletmiş olacağız ve böylece
sipariş bazında hangi üründen kaç tane sipariş edilmiş olduğuna ait
bilgiler  elde edilir.
Teslimatlar
Müşterilerimizin siparişlerini
biriktirilen bir yapı ve her bir teslimatın hangi müşteriye hangi tarih de ve
bu teslimatın hangi sipariş kalemiyle yapıldığını veritabanında
saklamak.Buradaki önemli nokta :Bir müşterinin farklı tarihlerde verdiği farklı
siparişler,tek bir teslimat içerisinde postanabiliyor Şimdi ilk olarak yapmamız
gereken şey bir liste oluşturmak:teslimat tarihi,müşteri,notları ve sipariş
kalemi ilk olarak TESLIMAT_BASLIK adı altında bir tablo oluşturmak bu tablonun
MUSTERI ID alanın MUSTERI tablosunun ID alanına refere edildiğini söylemek
gerekir.
Çoklu
Dil Desteği
        
Web sitemize Dünyanın dört bir
yanından ziyaretçi gelmekte bu yüzden sitemizdeki ifadeleri
Türkçe,İngilizce, Almanca ve Rusça olarak yayınlanmasını sağlamalıyız. ilk önce
yapılacak iş olarak elimizdeki ürünleri listelemeliyiz. Bunlar: Diller,Metinler
daha öncesinde ülke diye bir tablomuz vardı bu tabloda ülke kodları ve isimleri
yer alıyordu buna ek olarak yeni bir tablo ile dil kodu yaparak karışıklığı
önleyebiliriz.metin bazında iilk iş olarak WEBICERIK_TANIM şeklinde bir tablo
yapmak içine ID ve ACIKLAMA şeklinde iki alan eklemek.Şimdi sırada ;hoş
geldiniz mesajı,kullanıcı adı,şifre gibi içerikleri oluşturduğumuz dört dilde
de  saklanacağı bir yapı oluşturmak.
WEBICERIK_TANIM tablosuna TR,EN,DE,RUS isimlerinde dört yeni alan
oluşturmak.İleride yeni diller eklemek istersek eğer tablomuzu şisirmek yerine
yeni bir Metin tablosu yapmak olacak.
İd
Tanım_id

Ülke_id
Metin
 1
             1
                     TR
Sitemize hoş geldiniz!
 2
             2 
                     UK
Welcome to our Website
 3
             3 
                     DE
Benutzamme
 4
             4
                     TR
Yapım sürecindedir
 5
             5
                     UK
Our profile
 
Organizasyon
Ağacı
Şimdiye kadar yapmış olduğumuz web
sitesinde birde ilk olarak yönetici kadrosunu tepeden en alt seviyeye kadar bir
Organizasyon Ağacı oluşturmak ve sitemizde yayınlamak.Burada
PERSONAL,DEPARTMAN_ID tablolarından yardım alacağız.İlk iş olarak süzgecimiz
elimizi alarak bir liste oluşturmak ve Organizasyon birimlerini ağaç yapısı
şeklinde saklamak daha sonra Personel bazında organizasyon birim ataması
yapmak.her personel tek bir ıd numarasına sahip olacağı için PERSONEL
tablosunun içine POZİSYON_ID alanını ekleyerek bu sorun da halledilebilir.
SQL
Açılımı Structured Query Language olan SQL;temelde tablolarımızda yatan
verdileri düzgün bir şekilde çekip görüntülemek için kullanılır ve tablo
yaratmak veya tablo alanlarını modifiye etmek
amacıyla da kullanılır.SQL dilini
doğru kullandıkları takdirde ,bir dolu karışık ve tehlikeli algoritma yazmak
yerine işin zor kısmını veritabanına yıkabilir ve gelen verileri diledikleri
gibi kullanırlar.Bu dilin tanımı yerine veritabanında yatan bilgilere ulaşma ve
bilgileri modifiye etmek amacıyla kullanılan bir komut kümesi denilebilir.
Veri
Okuma Örnekleri
Veri okuma da elbette bir yol vardır
yapılacak ilk iş yaptığımız tablodaki bütün kayıtları bakarak istediğimiz
işleri yapabiliriz ,.Mesela çalıştığımız yerdeki müdürümüz personel listesini
istediği zaman PERSONEL tablosundaki bütün kayıtları listelemektir SQL dilinde
bir tablodan kayıt çekmek için
SELECT
komutudur. Personelin
ad,soyad,maaş bilgilerin gerektiğinde yine
SELECT komutunu kullanarak yaparız.bütün
personelin listesin isim sırasına göre istenildiğinde ilk iş olarak listeyi
isim sırasına göre dizmek SQL sorgularında sıralama işlemleri
ORDER  komutu
ile yapılır
SELECT
FROM PERSONEL
ORDER BY ad;
Bu komutla bütün personel sıralanır. ORDER komutu listeleri herhangi bir alan bazında artan ve
azalan şekilde sıralayabiliriz. Bu seferde ad, soyadı ve maaş listesini ters
olarak istenildiğinde ilk olarak komutları yazarız
SELECT ad; soyad,maas
FROM personel
ORDER BY ad DESC ,maas 
Burada listeyi birden fazla alanı baz
alanı sıralayabiliriz, bazı alanları artan ve azalan olarak sıralarız son
olarak bir sorgu içerisinde bir yandan alan isimlerini diğer yandan da sıralama
ölçütlerini belirtmek mümkündür.
SQL
sorgularında ,bütün metin değerleri tırnak içerisinde yazılır.
Bir sorgu içerisinde koşul eklemenin WHERE komutuyla yapılabilir.
Personelde ismi Mehmet veya Dilek
olanların listesini çıkarılması istenildiğinde ilk iş olarak PERSONEL tablosunu
AD alanını Mehmet ve Dilek kayıtları çekmek
SELECT
FROM personel
WHERE ad = ‘Mehmet’ OR ad =
‘DİLEK’
OR komutuyla farklı alanların değerlerini
bir arada ifade edebiliriz.
AND ve OR komutları .tek bir sorgu
içerisinde bir arada kullanabilir.
Sorgu koşulları,parantezler
yardımıyla  mantık gruplarına
ayrılabilir.
LIKE komutu da gibi anlamına gelir.
“1 Kasım 1978 tarihinde doğmuş bütün
çalışanların ad,soyad ve dogum günü bilgileri istendiğinde
SELECT
FROM personel
WHERE dogum =11/01/1978;
Bir SQL sorgusunda tarih ifade etmek
gerekirse Tarih formatı aa/gg/yyyy formatında uygun bir biçimde yazılır,Tarih
alanları arasındaki ayraç olarak /karakteri kullanılır.
SQL sorgusunda arasındaki değerleri
göstermek için
BETWEEN komutunu kullanırız.
Bir sorgu içerisinde ,alanlarındaki
değerleri matematik işlemleri yapılabilir ve işlem sonuçlarını ayrı bir sütun
olarak görebiliriz.Mesela birden fazla örnek olduğu zaman birden çok  örnek olduğu zaman birden çok
OR kullanmaktansa IN(……….) kullanarak bitirilir.çalıştığımız kurumda kaç kişinin
çalıştığını öğrenmek istenildiğinde tek tek saymak yerine
COUNT komutunu kullanarak hepsini birden listeleyebiliriz.
SELECT
count’(*) AS toplam
FROM
personel
Bu sorguyu  çalıştırdığımızda birçok işi biranda
yapabiliriz.
GROUP
BY
  komutu kayıt sayma  işlemini dilediğimiz alan bazında
yapabiliriz.Kurumumuzda çalışan personele gelecek ay kaç YTL maaş vereceğimizi
öğrenmek için
SUM komutunu yazarak toplayabiliriz.Belli
bir alandaki değerleri toplamak için
SUM
komutu
kullanılır.Veritabanından dönecek kayıtları filtrelemek için
WHERE komutu kullanılır.Ayrıca bu komut hazır tabloların hazır
alanlarında bulunan değerleri filtrelemek içinde kullanılır.Her bir departmana
ortalama kaç YTL ödeyeceğiz hesaplamak için her zamankinden farklı bir komutu
yazarak bulabiliriz AVG komutu ortalama işine yarayacak.
SELECT departman_id ,AVG(maaş) AS ortalama
FROM personel
GROUP BY
departman_id;
ROUND komutu hesaplardaki küsuratları yuvarlamaya
yarayacak.Bir tablodaki en büyük ve en küçük değerler
MAX ve MIN komutlarıyla elde edilebilir.bir soru
içerisinde;alanlar arasında matematik işlemi yaptırmak mümkündür.18 id’li
personelimizin  özlük bilgilerini görmek
istenildiğinde iki ayrı sorgu kullanılacaktır ama SQL bunu tek bir komut da
yapma imkanı veriyor.Birden fazla ID’ si olan ve birden fazla kaydı eklenmiş
olan kişileri tek bir liste haline dönüştürmek için
DISTINCT
komutu ile yapılır.
SELECT
DISTINCT musteri_id
FROM
siparis_baslik
İN ve EXISTS komutları genelde birbirinin yerini
alabilir; dolayısıyla,
NOT IN
ve
NOT EXISTS komutları da birbirinin yerini
alabilir.
Mesela iki farklı sorgu işlemi
elimizde bunu tek sorgu halinde dönüştürmemiz isteniyor aslında çok uzun gibi
görünen bu işlemi
UNION komutun
kullanarak tek bir liste haline
dönüştürebiliriz.
Bu komutun dikkat edilecek yanı komut içeriklerinin aynı olması gerekir.

 

Hesaplanarak üretilen bir komuta karşı
koymak için
HAVING komutudur. Ayrıca bu komut listelerde
GROUP BY
komutundan sonra gelir. Veritabanında
bir komutu silmek için
DROP
TABLE
 komutunu kullanabiliriz.
Tugberk
Tugberk
Azıcık okur yazar, çok dinleyen az konuşan, içindeki çocuğu öldürmeyen, ama polyannalarla pek anlaşamayan sıradan yurdum insanı ... Yaşamak adına insanca adamca, kavgadan gürültüden uzak tüm çeşitliliklerimizle bir olabilmek ...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: