Database Terimleri

Database Terimleri,

Sql Server:(Bu Mysql Server da olabilir,Mssql Server da,Oracle Server da vs vs.):
Üzerinde yukarıda saydığım veritabanlarından herhangibirinin kurulu olduğu
server’a veya normal pc ye sql server denir.

Veritabanı: Verilerin mantıklı bir şekilde, belirli bir düzenle ilişkisel olarak tutulduğu ve
Veritabanı->Tablolar->Kolonlar hiyerarşisine sahip veriler topluluğudur.

Tablo: Verilerin satır ve sutunlar şeklinde tutulduğu yapıya denir.

Kolon,Sutun: Tablonun iÇindeki dikeyliklere sutun denir,

Satır:Tablonun iÇindeki yataylıklara satır denir.

İndex:Tablo iÇindeki dataların hızlı erişim iÇin belli algoritmalarla sıralanmasına index denir.

İnsert:Tablolara veri eklenmesine denir.

Delete:Tablodaki verinin silinmesine denir.

Truncate : Tablodaki tüm verilerin silinmesine denir. Bir farkıda truncate edilmiş bir tabloda auto incremant bir kolon varsa
bu kolon tekrar 1 den saymaya başlar.

Update :
Tablodaki verilerin değiştirilmesine denir. Aslında update işlemi bir verinin silinip yerine yenisinin konması işlemidir.
Yani update = delete + insert

Unique:

Bir alani Unique yaptiginizda onu essiz yapmis olursunuz. Mesela email alanini unique yaptiginizda ikinci kez ayni emaili eklemek istediginizde vt hata verecekdir. Her eklenen email bir kez eklene bilir ve veritabaninda böylelikle tekdir.

Primary Key:

PR ide unique gibidir bir alani essiz yapar ama farki bir tabloda sadece birtane primary key olmasidir. Pr olarak secilen alanlar otomatikmen not null olarak secilir.Genelde id alanlarinda kullanilir.

View: Sanal tabloda denilebilir. Bildiğiniz gibi veritabanı tablolardan oluşur.Tabloların kesişimi ve
birleşiminden oluşan yapıya denir.View lar veri tutmaz sadece tabloların görümünü tutar.

Ürnek Vererek AÇıklarsak:

Personel Tablosu

id adi soyadi
1 tayfur böler
2 ahmet taş


Adres Tablosu

id adres telefon
1 maslak 2223233
2 tuzla 3454355

şimdi bu iki tabloyu aşağıdaki sorgu ile birleştirerek adı ,soyadı ,adres bilgilerini Çekelim.

select personel.adi,personel.soyadi,adres.adres from personel
inner join adres on adres.id=personel.id;


Gelen Data:

adi soyadi adres
tayfur böler maslak
ahmet taş tuzla

şimdi bu sorguyu view haline getirelim.Viewımızın adıda iletişim olsun.

create view iletisim as
select personel.adi,personel.soyadi,adres.adres from personel
inner join adres on adres.id=personel.id;

şimdi de adı,soyadi,adres bilgisini viewımızdan Çekelim.

select * from iletisim;

Gelen Data:

adi soyadi adres
tayfur böler maslak
ahmet taş tuzla

Gördüğünüz gibi view kullanımı oldukÇa basit ve pratiktir.Bir nevi sanal bir tablo oluşturmuş olduk.
(Sonraki makalelerimde view konusunu detaylı anlatacağım)

Procedure: Database serverlarda saklanan sql ifadeleri denilebilir. Dışarıdan belli parametreler alabilen
ve sanki bir programlama dili gibiymiş if,case,while gibi deyimleri kullanabildiğimiz oldukÇa hızlı Çalışan
sql programcıklarıdır.
(Sonraki makalelerimde Procedure konusunu detaylı anlatacağım)

Trigger:
Kelime anlamı tetikleyici demektir. Tablolar üzerinde gerÇeklerşen bir işlemin başka bir işlemi
tetiklemesini sağlayan sql ifadeleri topluluğuna trigger denir.Kesinlikle kullanılması gerekir.
(Sonraki makalelerimde Trigger konusunu detaylı anlatacağım. )

Bir sonraki makaleler de görüşmek dileğiyle,

Tayfur BÖLER
Database Administrator

Mysql ile Tanışma


MySQL
,dünyanın en yaygın kullanılan aÇık kaynaklı ,Çoklu iş parÇacıklı, Çoklu kullanıcılı ,
hızlı ve kullanışlı bir veritabanı yönetim sistemidir. UNIX, OS/2 ve Windows platformlarında Çalışmaktadır.
Kaynak kodu aÇık olan MySQL’in pek Çok platform iÇin Çalıştırılabilir ikilik kod halindeki indirilebilir
sürümleri de mevcuttur.
Ayrıca ODBC sürücüleri de bulunduğu iÇin birÇok geliştirme platformunda rahatlıkla kullanılabilir.
MySQL, tuttuğu tablolarla Çok kullanıcılı sistemlerde olan erişim hakları sorununu başarılı bir şekilde Çözmektedir.
MySQL’in 4.0 sürümü ile birlikte “transaction” desteği, 4.1 sürümüyle birlikte de alt sorgu desteği eklenmiştir.
www.mysql.com adresinden hem windows platformu iÇin hem de linux platformu kurulum dosyalarını indirebisiniz.

Mysql’in Çalıştığı İşletim Sistemleri:

* Windows
* Windows x64
* Linux (non RPM packages)
* Linux (non RPM, Intel C/C++ compiled, glibc-2.3)
* Red Hat Enterprise Linux 3 RPM (x86)
* Red Hat Enterprise Linux 3 RPM (AMD64 / Intel EM64T)
* Red Hat Enterprise Linux 3 RPM (Intel IA64)
* Red Hat Enterprise Linux 4 RPM (x86)
* Red Hat Enterprise Linux 4 RPM (AMD64 / Intel EM64T)
* Red Hat Enterprise Linux 4 RPM (Intel IA64)
* Red Hat Enterprise Linux 5 RPM (x86)
* Red Hat Enterprise Linux 5 RPM (AMD64 / Intel EM64T)
* Red Hat Enterprise Linux 5 RPM (Intel IA64)
* SuSE Linux Enterprise Server 9 RPM (x86)
* SuSE Linux Enterprise Server 9 RPM (AMD64 / Intel EM64T)
* SuSE Linux Enterprise Server 9 RPM (Intel IA64)
* SuSE Linux Enterprise Server 10 RPM (x86)
* SuSE Linux Enterprise Server 10 RPM (AMD64 / Intel EM64T)
* SuSE Linux Enterprise Server 10 RPM (Intel IA64)
* Linux x86 generic RPM (dynamically linked)
* Linux AMD64 / Intel EM64T generic RPM
* Linux Intel IA64 generic RPM
* Solaris (pkgadd packages)
* Solaris (TAR packages)
* FreeBSD (TAR packages)
* Mac OS X (package format)
* Mac OS X (TAR packages)
* HP-UX (depot packages)
* HP-UX (TAR packages)
* IBM AIX
* IBM i5/OS (SAVF packages)
* IBM i5/OS (TAR packages)
* Source

şu an Mysql 4.1 ,5.0 , 5.1 ,6.0 versiyonları mevcuttur.

Mysql 6.0 versiyonu; şu an Alpha durumundadır. Fakat yaptığım testler de birkaÇ küÇük bug haricinde herhangi bir probleme rastlamadım.
Denemenizde fayda vardır derim.
Mysql 5.1 ; release edilmiş en son sürümdür.Tamamen gönül rahatlığıyla kullanabilirsiniz.
Mysql 5.0 ; şu an iÇin en yaygın sürümdür.Üoğu linux serverların stable depolarında hala 5.0 mevcuttur.
Mysql 4.1 ; hala kullanan bir Çok firma ve web masterın olduğu bir sürümdür.Bu sürümde diğer sürümlere göre bayağı kısıtlıdır..

Not:
Daha sonraki makalelerimde Mysql sürüm farklılıklarını detaylı şekilde anlatacağım.

Sun, MySQL AB “yi tam 1 milyar dolar ( 1,000,000,000 $ ) karşılığında satın aldı. Bundan sonrası iÇin Mysql’e
yarı aÇık kaynaklı veritabanı diyebiliriz.

DB engine olarak Mysql,

Transaction Tablolar
Innodb,
Berkeley DB
Atomik Tablolar
Myisam,
Heap,
Merge’ı kullanır. En yaygın olarak Innodb ve Myisam kullanılır. Engine leri de ilerideki makalelerde detaylı olarak anlatacağım.

Mysql’in tutabileceği data büyükleri aklın sınırlarını cidden zorlayabilir.şöyle anlatayım sınır yok.
Yani serverınız kapasitesi ne ise tek bir tablonuzun büyüklüğüde o kadar olabilir. şu an iÇin bildiğim
kadarıyla tek dosya büyüklüğüne 16 TB ‘a ulaşabilen tek işletim sistemi solaris. Yani böyle bir makinanız var ise
Mysql de tek tablonuzun büyüklüğü 16 TB’a kadar Çıkabilir. Ama Mysql bunu da aşıyor tek tablo büyüklüğü
65,536 TB büyüklüğe Çıkabiliyor.:)
Biraz daha aklın sınırlarını zorlayalım linux da ext4 dosya sistemi 1 EB (Eksa Byte) ulaşabiliyorsa Mysql in
gücünün ne kadar ürkütücü olduğunu düşünün.

1024 GB = 1 TB (terabayt)
1024 TB = 1 PB (petabayt)
1024 PB = 1 EB (eksabayt)

Mysql 5.0 ile birlikte stored procedure,trigger desteği gelmiştir. View desteğide mevcuttur. Mysql Proxy ,
cluster ve memcache özellikleri mevcuttur.Tüm bu özellikleri detaylı bir şekilde anlatacağım. Tabi Proxy,
cluster ve memcache linux serverlar üzerinde kullanılabilir.

Indexleme, foreing key, full text search, optimize table, repair table, check table ve yetkilendirme özellikleri mevcuttur.
Veri tipleri olarak mssql, oracle ve pgsql den eksik kalan herhangi bir tarafı yoktur.ODBC driverlara sahip olduğu
iÇin hemen hemen bütün programlama dilleriyle rahatlıkla kullanılabilir. Ama tabiki php ve mysql arasında ki
müthiştir. Buna birde linux’u eklersek linux-php-mysql üÇlüsü Çok yüksek performans sağlamaktadır.

Diğer makaleler de görüşmek dileğiyle,

Tayfur BÖLER
Database Administrator