devrim gÜndÜz - linux...03.02.2005 perşembe veritabanlarına giriş akademik bilişim konferansı...
TRANSCRIPT
![Page 1: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/1.jpg)
Veritabanlarına ve SQL'e Giriş
Devrim GÜNDÜZTeknoloji Destek Merkezi -- www.tdmsoft.com
http://seminer.linux.org.tr
http://www.gunduz.org
![Page 2: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/2.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Giriş
• Bu seminerde, aşağıdaki konular anlatılacaktır:
• Veritabanı tanımı• Veritabanı türleri• Veritabanlarının kullanım alanları• İlişkisel (Relational) veritabanlarının açıklanması• SQL nedir?• SQL Örnekleri• E-posta listeleri
![Page 3: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/3.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanı Nedir?
www.m-w.com :www.m-w.com :
““a usually large collection of data organized a usually large collection of data organized especially for rapid search and retrieval (as especially for rapid search and retrieval (as by a computerby a computer.”.”
![Page 4: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/4.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanı Nedir?
• Belirli bir tarzda organize edilmiş bilgi “koleksiyon”udur.
• En az bir tablodan oluşmak zorundadır.
• Veritabanı programını oluşturan tablolar ise veri alanlarından oluşur (data field).
![Page 5: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/5.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanı Nedir?
• Kitaplıklar, uygulamalar ve yardımcı programların birleşmesinden oluşur.
• Verilerin saklanması ve yönetilmesi ile ilgili konulardaki ayrıntılardan veritabanı yöneticilerini kurtarır.
• Kayıtların güncellenmesi ve kayıtlar üzerinde araştırma yapılması da mümkündür.
![Page 6: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/6.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanı Tipleri
• Hiyerarşik Veritabanı
• İlişkisel Veritabanı (Relational Type)
• Nesnesel Veritabanı
![Page 7: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/7.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Hiyerarşik Veritabanı
VTP
Tablo 1 Tablo 2
Adı
Soyadı
Adı Malzeme
Tutar
![Page 8: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/8.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Veritabanı
• 1970: “A Relational Model of Data for Large Shared Data Banks”
• E. F. Codd• Relation mantığı• Tablolar -> Gerçek dünyadaki nesneler
![Page 9: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/9.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Veritabanı
• Birden fazla tablodan Birden fazla tablodan oluşabilir.oluşabilir.
• Birbirlerinin yerine Birbirlerinin yerine kullanılabilir.kullanılabilir.
• Tablolar satır ve Tablolar satır ve sütundan oluşur.sütundan oluşur.
![Page 10: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/10.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Model
• - Bilgi Kuralı: bütün veriler tablolarda tutulmalı
• Erişim Garantisi: Tablolardaki her kayıda bir şekilde ulaşılabilmeli
• Sistematik boş (null) değer desteği: bütün değerlerden farklı bir boş değer işlenebilmeli
• Aktif ilişkisel katalog: Veritabanı tanımı veritabanı dili kullanılarak sorgulanabilmeli.
» Koray Toksöz'e teşekkürler.
![Page 11: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/11.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Model
• Ayrıntılı veri dili: En az bir dil tanımlı olmalı– View güncelleme kuralı: Güncellenebilen tüm
viewler sistem tarafından güncellenebilmeli– Küme düzeyi kayıt girme, silme ve güncelleme:
Sadece seçmek yetmez– Fiziksel Veri Bağımsızlığı: Uygulama programları,
fiziksel erişim değişikliklerinden etkilenmemeli.» Koray Toksöz'e teşekkürler.
![Page 12: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/12.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Model
• Mantıksal veri bağımsızlığı: Tablo yapılarındaki değişikliklerden uygulama programları etkilenmemeli.– Bütünlük Bağımsızlığı: Bütünlük kuralları
tanımlanabilmeli ve atlatılamamalı– Dağıtım Bağımsızlığı: Uygulamalar verinin
dağılımından ekilenmemeli– “Yıkılmama”: Bütünlük kuralları atlatılamamalı.
» Koray Toksöz'e teşekkürler.
![Page 13: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/13.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Veritabanı
• Kullanıcının programı kullanırken ona sık sık soracağı soruların neler olacağı tespit edilir.
• “Gerçekleştirilecek olan veritabanı programından beklenilen neler ve bu veritabanında hangi bilgilerin olması gerekli?” sorusunun yanıtı bulunur.
![Page 14: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/14.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Veritabanı
• Tablolardaki kayıtlar matematiksel açıdan tuple olarak tanımlanırlar.
• Bir tuple, tanımlanmış bir veri tipi olan bileşenlerden oluşan sıralı grup olarak tanımlanır.
• Tüm tuplelar aynı sayıda ve tipte bileşenlerden oluşur.
• {“10”, “Veritabanlarına Giriş”, “2002-06-12”}• {“11”, “PostgreSQL Veritabanı Sunucusu”, “2002-06-
26”}
![Page 15: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/15.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Veritabanı
• Örnekteki her bir tuple da 3 bileşen bulunmaktadır:
• Ankara’daki 2002 yılındaki kaçıncı seminer olduğu (integer)
• Seminerin konusu (char)• Seminerin tarihi (timestamp)
• İlişkisel veritabanlarında bu “kümeye” ya da tabloya eklenen tüm kayıtlar aynı yapıda olmalıdırlar.
![Page 16: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/16.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Veritabanı
• { “Veritabanlarına Giriş”, “2002-06-12”}
• eksik bileşen
• {“10”, “Veritabanlarına Giriş”, “2002-06-12” , “Devrim GÜNDÜZ”}
• fazla bileşen
• {“2002-06-12”, “Veritabanlarına Giriş”, “10”} • yanlış bileşen tipleri (yanlış sırada)
![Page 17: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/17.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Veritabanı
• tuple lardan oluşan bir tabloda aynı veriler bulunmaz.(No duplicate record).
• İlişkisel veritabanlarındaki herhangi bir tabloda birbiriyle tamamen aynı iki kayıt (row or record) bulunamaz.
• Gereksiz sınırlama?
• Sorun : İki kez aynı ürünün siparişi• Çözüm : Tabloya eklenecek bir fazla bileşen
![Page 18: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/18.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Veritabanı
• Bir kayBir kayııttaki her bir bilettaki her bir bileşşen “atomik”, yani bir veri en “atomik”, yani bir veri olmalolmalııddıırr
• BBaaşşka bir kayka bir kayııt ya da dit ya da diğğer bileer bileşşenlerin listesi olamaz.enlerin listesi olamaz.
• TTablodaki bileablodaki bileşşenlerin veri tipleri de üsttekilerle ve enlerin veri tipleri de üsttekilerle ve dolaydolayııssııyla tablo tanyla tablo tanıımlarmlarıındakilerle aynndakilerle aynıı olmal olmalııddıırr..
• VVeritabaneritabanıı taraf tarafıından desteklenen veri tiplerinden biri ndan desteklenen veri tiplerinden biri olmalolmalııddırır..
![Page 19: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/19.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
İlişkisel Veritabanı - Anahtarlar
• key: Birbiriyle eş kayıtları ayırmak için kullanılan bileşenlerdir.
• primary key :Tablodaki bir kaydı diğer tüm kayıtlardan ayırmak için kullanılan bileşendir.
• “unique” yapar. • Tüm ilişkisel veritabanlarında her bir tablo ya da relationda
mutlaka primary key olmalıdır.
![Page 20: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/20.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tablolar
• Aynı konu ile ilgili olan bilgiler belirlenmelidir.
• Index olarak kullanılacak alanlar, zaman icinde değiştirilebilecek şekilde belirlenir.
• Olası olan en yüksek seviyede yapısal bir şekilde tabloların oluşturulması sağlanmalıdır.
![Page 21: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/21.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veri alanları
• Aynı konu ile ilgili alanların kendi tablolarında toplanması sağlanmalı
• Veri tekrarı olmamalı
• Gereksiz alanlar kullanılmamalı
• Alanlar basite indirgenmelidir.
![Page 22: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/22.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanından beklenenler
• Her düzeyde rapor alınabilme özelliğiHer düzeyde rapor alınabilme özelliği
• Doğru ve hızlı sonuç verebilme özelliğiDoğru ve hızlı sonuç verebilme özelliği
• Sorulabilecek bütün sorulara yanıt verebilecek Sorulabilecek bütün sorulara yanıt verebilecek sorgulama dilisorgulama dili
• Bilgilerin ve sonuçların tutarlılığıBilgilerin ve sonuçların tutarlılığı
![Page 23: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/23.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Neden Veritabanı?
• Gerçekten veritabanına gereksinmeniz var mı?
• Veritabanları, verilerin saklanması ve yönetilmesi için kullanılmalıdır.
• Küçük bilgiler için metin dosyaları yeterli olabilir.
• Amacınızın iyi belirlenmesi gerekir.
![Page 24: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/24.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Neden Veritabanı?
• Veri sadece bir konuyu içeren bir listenin içinde mi?
• Sorun karmaşık mı?
• İstatiksel bir analiz mi yapmak istiyorsunuz?
![Page 25: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/25.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Neden Veritabanı?
• Bir yönetim mi yapacaksBir yönetim mi yapacaksıınnıız?z?
• Metinsel veritabanlarMetinsel veritabanları ı
• KullanKullanıım kolaylm kolaylığıığı
![Page 26: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/26.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Neden Veritabanı?
• Bilimsel formüllere gereksinmeniz olacak mBilimsel formüllere gereksinmeniz olacak mıı??
• Veriyi paylaVeriyi paylaşşma gereksinmeniz olacak mma gereksinmeniz olacak mıı??
• Veriyi webde sunacak mVeriyi webde sunacak mısınıısınız?z?
![Page 27: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/27.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanı Çeşitleri
• Öncelikle ne yapılacağına karar verilmelidir:
1 Bu veritabanı ile neler yapacaksınız? Küçük bir şirket çalışanlarının özel bilgileri mi tutulacak, yoksa büyük bir şirketin binlerce müşterilerinin bilgileri mi?
2 Sitenizi günde kaç kişi ziyaret edecek?
![Page 28: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/28.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanı Çeşitleri
1 Aynı anda kaç işlem yapılacak?
1. Güvenlik ne ölçüde olacak?
2. Verilerinizin güvenliği ne ölçüde olacak?
![Page 29: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/29.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
SQL Nedir?
• SQL: Structured Query Language• Veritabanı dilidir. • Veri eklerken, silerken, güncellerken veya
sorgularken kullanılır. • ANSI ve ISO standardıdır. • Select, Delete, Update, Insert
![Page 30: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/30.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanı Yaratma
• CREATE DATABASE veritabanı_adı;•
• veritabanı_adı adıyla boş bir veritabanı oluşturur.
•
• Örnek:• Test1=# CREATE DATABASE lkd;• CREATE DATABASE
![Page 31: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/31.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanı kaldırma (silme)
• DROP DATABASE• test1=# DROP DATABASE lkd;• DROP DATABASE
•
![Page 32: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/32.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tablo yaratma
• Tablo yaratmak için, CREATE TABLE kullanılır.
• Tablo yaratırken, tablonun içindeki kolonlar da yaratılır. Yaratılan kolonların veri tipleri, veritabanı sunucusunda tanımlı veritipleri olmalıdır.
• Bu alanlar, daha sonra değiştirilebilir.
![Page 33: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/33.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tablo yaratma
● PostgreSQL:CREATE TABLE bolumler(
sira_no SERIAL UNIQUE,bolum_no int2 PRIMARY KEY,bolum_adi varchar(30)
);
![Page 34: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/34.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tablo yaratma
• NOTICE: CREATE TABLE will create implicit sequence 'bolumler_sira_no_seq' for SERIAL column 'bolumler.sira_no'
• NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'bolumler_pkey' for table 'bolumler'
• NOTICE: CREATE TABLE / UNIQUE will create implicit index 'bolumler_sira_no_key' for table 'bolumler'
• CREATE TABLE
![Page 35: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/35.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tablo yaratma
● MySQL:CREATE TABLE ‘bolumler’( sira_no auto_increment,
bolum_no smallint PRIMARY KEY,bolum_adi varchar(30)
);
![Page 36: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/36.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tabloya veri girme
• INSERT INTO <tablo> VALUES (<değerler>)
<tablo> ile verilen tabloya <değerler> i girer.
• INSERT INTO <tablo> <alanlar>VALUES (<değerler>)<tablo> ile verilen tablonun <alanlar> ile belirtilen alanlarına <degerler> i girer.
![Page 37: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/37.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tabloya veri girme
• INSERT INTO bolumler VALUES (1, '12', 'Matematik');
• INSERT INTO bolumler (bolum_no, bolum_adi)
VALUES ('13', 'Matematik');• sira_no alanına, daha önceden yaratılmış sequence
içindeki değer girilir, ardından değer 1 arttırılır.
![Page 38: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/38.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veri Sorgulama
● SELECT <kolonlar> from <tablo>;
● <tablo> adındaki tablodan belirtilen <kolonlar> ı seçer.
● Kolonlar yerine, * konursa, o tablodaki tüm alanlar seçilir.
![Page 39: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/39.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veri Sorgulama
• SELECT * FROM bolumler;bolumler tablosundaki tüm kolonları seçer:test=# SELECT * FROM bolumler ;
• sira_no | bolum_no | bolum_adi• ---------+-------------+--------------------------• 1 | 12 | Matematik• 2 | 13 | Fizik Mühendisliği• 3 | 14 | Bilgisayar Programcılığı• (3 rows)
![Page 40: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/40.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veri Sorgulama
• test=# SELECT bolum_no, bolum_adi FROM bolumler ; bolum_no | bolum_adi-------------+-------------------------- 12 | Matematik 13 | Fizik Mühendisliği 14 | Bilgisayar Programcılığı(3 rows)test=#
![Page 41: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/41.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tekrarsız veri sorgulama
• SELECT DISTINCT <kolon> FROM <tablo>;<tablo> tablosundaki <kolon> kolonunun tekil değerlerini seçer.
• test=# CREATE TABLE dersler2 (test(# ders_no int2test(# ders_adi varchar(40)test(# );
• CREATE TABLE
![Page 42: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/42.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tekrarsız veri sorgulama
• test=# SELECT * from dersler ;ders_no | ders_adi---------+----------- 1 | Fizik 1 | Fizik 3 | Matematik(3 rows)
![Page 43: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/43.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tekrarsız veri sorgulama
• test=# SELECT DISTINCT(ders_adi) FROM dersler;
ders_adi----------- Fizik Matematik(2 rows)
![Page 44: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/44.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tekrarsız veri sorgulama
• test=# SELECT DISTINCT(ders_adi),ders_no FROM dersler2; ders_adi | ders_no--------------+--------- Fizik | 1 Matematik | 1(2 rows)
![Page 45: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/45.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Sıralamalı Sorgulama
● SELECT <kolonlar> FROM <tablo>ORDER BY <alan> [ASC|DESC]
● <alan>’a göre artan/azalan sıralamada seçim yapar
![Page 46: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/46.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Sıralamalı Sorgulama
• test=# SELECT * from bolumler ORDER BY bolum_no ASC; sira_no | bolum_no | bolum_adi----------+-------------+---------------------- 1 | 12 | Matematik 2 | 13 | Fizik Mühendisliği 3 | 14 | Bilgisayar Programcılığı(3 rows)
![Page 47: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/47.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Sıralamalı Sorgulama
• test=# SELECT * from bolumler ORDER BY bolum_no DESC; sira_no | bolum_no | bolum_adi----------+-------------+-------------------------- 3 | 14 | Bilgisayar Programcılığı 2 | 13 | Fizik Mühendisliği 1 | 12 | Matematik(3 rows)
![Page 48: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/48.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Koşula Bağlı Sorgulama
● SELECT <kolonlar> FROM <tablo>WHERE <alan> <operatör> <değer>
● <tablo> ile belirtilen tablodaki <kolonlar> ı, <alan> alanın <operatör> ve <değer> ile belirtilen koşullara uyan değer(ler)e göre seçer.Eğer uyan bir kayıt yoksa, sonucu boş döndürür.
![Page 49: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/49.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Koşula bağlı sorgulama
• test=# SELECT * FROM bolumler WHERE bolum_adi = 'Fizik Mühendisliği'; sira_no | bolum_no | bolum_adi----------+------------+----------------------- 2 | 13 | Fizik Mühendisliği(1 row)
• test=# SELECT * FROM dersler WHERE ders_adi = 'Fizik'; ders_no | ders_adi----------+---------- 1 | Fizik 2 | Fizik(2 rows)
![Page 50: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/50.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Koşula bağlı sorgulama
• Operatörler– < Küçük– > Büyük– = Eşit– <= Küçük Eşit– >= Büyük Eşit– <> Eşit Değil
![Page 51: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/51.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Aralık Sorgulaması
● SELECT <kolonlar> FROM <tablo>WHERE<alan> BETWEEN <deger1> AND <deger2>;
<tablo> tablosundaki kolonları, <alan> alanının <deger1> ve <deger2> arasındaki değerlerini seçer.
● Eğer uyan bir kayıt yoksa, sonucu boş döndürür.
![Page 52: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/52.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Aralık Sorgulaması
• test=# SELECT * FROM dersler WHERE ders_no BETWEEN 2 AND 3; ders_no | ders_adi----------+----------- 2 | Fizik 3 | Matematik(2 rows)
![Page 53: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/53.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Benzerli sorgulama – LIKE
• SELECT <kolonlar> FROM <tablo> WHERE <kolon> LIKE '<deger>%';
• <tablo> tablosundaki <kolon> kolonundan, değeri <deger> e benzeyen satırları seçer.
• Burada % işaretinin yeri önemlidir.• '<deger>%' : <deger> ile başlayıp belirsiz devam eden• '%<deger>' : sonu <deger> ile biten
![Page 54: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/54.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Benzerli Sorgulama – LIKE
• test=# SELECT * FROM dersler WHERE ders_adi LIKE 'F%'; ders_no | ders_adi----------+--------------------- 1 | Fizik 2 | Fizik 4 | Fortran Programlama(3 rows)
![Page 55: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/55.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Benzerli Sorgulama – ILIKE
• SELECT <kolonlar> FROM <tablo> WHERE <kolon> ILIKE '<deger>%';
• <tablo> tablosundaki <kolon> kolonundan, değeri <deger> e benzeyen satırları seçer. LIKE' tan farkı, büyük-küçük harf ayrımı yapmamasıdır.
● Eğer uyan bir kayıt yoksa, sonucu boş döndürür.
![Page 56: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/56.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Benzerli Sorgulama – ILIKE
• test=# SELECT * FROM dersler WHERE ders_adi ILIKE 'F%';• ders_no | ders_adi• ---------+---------------------• 1 | Fizik• 2 | Fizik• 4 | Fortran Programlama• (3 rows)
![Page 57: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/57.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Benzerli Sorgulama – ILIKE
• test=# SELECT * FROM dersler WHERE ders_adi ILIKE 'f%';• ders_no | ders_adi• ---------+---------------------• 1 | Fizik• 2 | Fizik• 4 | Fortran Programlama• (3 rows
![Page 58: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/58.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veri Güncelleme
• UPDATE <tablo> SET <kolon1>=<deger> ...;
<tablo> tablosundaki kolon1 kolonunun “TÜM” değerlerini <deger> yapar.
• UPDATE <tablo> ET <kolon1>=<deger> WHERE ...• WHERE ile belirtilen kısıma uyan alanlardaki <kolon1>
kolonunun değer(ler)ini <deger> yapar.
![Page 59: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/59.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veri Güncelleme
• UPDATE dersler SET ders_adi='Fizik';• UPDATE dersler SET ders_adi='Fizik 2'
WHERE ders_adi='Fizik';• UPDATE dersler SET ders_adi='Fizik 2'
WHERE ders_adi LIKE 'Fi%';• ...
![Page 60: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/60.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veri Silme
• DELETE FROM <tablo>;
<tablo> tablosundaki TÜM kayıtları siler.
DELETE FROM <tablo> WHERE <koşul>;
<tablo> tablosundan <koşul> koşuluna uyan kayıtları siler.
![Page 61: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/61.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veri Silme
• test=# DELETE FROM dersler;• DELETE 4• test=# SELECT * from dersler;• ders_no | ders_adi• ---------+----------• (0 rows)•
![Page 62: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/62.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veri Silme
• test=# DELETE from dersler WHERE ders_adi LIKE 'F%';
• DELETE 3• test=# SELECT * from dersler;• ders_no | ders_adi• ---------+-----------• 3 | Matematik• (1 row)
![Page 63: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/63.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Aritmetiksel İfadeler
• SUM select sum(brut) from personel• AVG select avg(net) from personel• MAX select max(brut) from personel• MIN select min(brut) from personel• COUNT select count(*) from personel
![Page 64: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/64.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Index Oluşturmak
● CREATE INDEX <index adı> ON <tablo> (<kolon>,..)
<tablo> tablosunda <kolon(lar) ile belirtilen kolonlar üzerinde index oluşturur.
CREATE INDEX bolum_adi_idx ON bolumler (bolum_no,bolum_adi);
![Page 65: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/65.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Birden fazla tabloda sorgu
• SELECT kolonlar> FROM <tablo1> ,<tablo2> where <tablo1.alan1>=<tablo2.alan2>
![Page 66: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/66.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tablo içinde veri harici değişim
• ALTER TABLE <tablo> ...• ALTER TABLE [ ONLY ] table [ * ]
• ADD [ COLUMN ] column type [ column_constraint [ ... ] ]
• ALTER TABLE [ ONLY ] table [ * ]
• DROP [ COLUMN ] column [ RESTRICT | CASCADE ]
• ALTER TABLE [ ONLY ] table [ * ]
• ALTER [ COLUMN ] column { SET DEFAULT value | DROP DEFAULT }
• ALTER TABLE [ ONLY ] table [ * ]
• ALTER [ COLUMN ] column { SET | DROP } NOT NULL
•
![Page 67: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/67.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Tablo içinde veri harici değişim
• ALTER TABLE [ ONLY ] table [ * ] RENAME [ COLUMN ] column TO new_column
• ALTER TABLE table RENAME TO new_table
• ALTER TABLE [ ONLY ] table [ * ] ADD table_constraint
• ALTER TABLE [ ONLY ] table [ * ] DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
• ALTER TABLE table OWNER TO new_own
![Page 68: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/68.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanı Çeşitleri
• Yanlış bir kanı : “Paralı ürünler iyidir, ücretsiz ürünler iyi değildir!” • Linux!
• Bir veritabanının ücretsiz olup olmamasından çok işinizi görüp görmeyeceği önemlidir.
![Page 69: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/69.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Veritabanı Çeşitleri
1 MySQL2 IBM DB23 Interbase4 Informix
5 Progress6 PostgreSQL7 Oracle
![Page 70: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/70.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
E-posta listeleri
• [email protected] Veritabanları için tartışma listesi (üye olmak için, http://liste.linux.org.tr web arayüzünü kullanabilirsiniz.)
• [email protected] (PostgreSQL Türkiye E-Posta Listesi . PostgreSQL üzerinde her türlü konu.)
![Page 71: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/71.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Web sayfaları
• http://foundries.sourceforge.net/databases• http://www.PostgreSQL.org• http://www.mysql.com• http://www.oracle.com• http://otn.oracle.com
![Page 72: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/72.jpg)
03.02.2005 PerşembeVeritabanlarına Giriş
Akademik Bilişim Konferansı[email protected]
Belgenin güncel hali
• http://www.gunduz.org
• http://seminer.linux.org.tr
• http://www.linux.org.tr/belgeler.php
![Page 73: Devrim GÜNDÜZ - Linux...03.02.2005 Perşembe Veritabanlarına Giriş Akademik Bilişim Konferansı devrim.gunduz@linux.org.tr İlişkisel Veritabanı • tuple lardan oluşan bir](https://reader030.vdocuments.pub/reader030/viewer/2022040816/5e5efd57021d4162c923c559/html5/thumbnails/73.jpg)
Veritabanlarına ve SQL'e Giriş
Devrim GÜNDÜZTDM Teknoloji Destek Merkezi -- www.tdmsoft.com
http://seminer.linux.org.tr
http://www.gunduz.org