alexa  Menu

MySQL nedir?

  19.05.2010 ,   21 yorum ,   17.567 kez okundu.

Evet birönceki yazımda kodsuz php site tasarlayacağımızı fakat önce MySQL veritabanı nedir? ne işe yarar  gibi soruları cevaplayacağımı söylemiştim.

MySQL ücretsiz bir veritabanı yönetim sistemidir. MySQL ile iligli bilgileri şuradan alıntı yapacağım. Oradaki bilgiler de zaten Wikipediadan alıntıdır 🙂

UNIX, OS/2 ve Windows platformları için ücretsiz dağıtılmakla birlikte ticari lisans kullanmak isteyenler için de ücretli bir lisans seçeneği de mevcuttur. 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.

Geliştiricileri, 500’den fazlası 7 milyon kayıt içeren 10.000 tablodan oluşan kendi veritabanlarını (100 gigabyte civarında veri) MySQL’de tuttuklarını söylüyorlar.

MySQL, tuttuğu tablolarla çok kullanıcılı sistemlerde söz konusu 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.

Ayrıca “veri tutarlılığını (referential integrity)” sağlama işinin programcıya bırakılması tercih edilmiştir, ancak bu bir dezavantaj olarak görülmeyebilir. çünkü pek çok veritabanı programcısı VTYS’lerdeki veri tutarlılığı’nın esnek olmayan, zorlayıcı bir özellik olduğunu düşünmektedir.

Aşağıdakiler önemlidir.

Aşağıdaki listede mysql içinde kullanabileceğiniz alan tipleri görülmektedir. Alan tiplerinin bir adıda sütün tipidir.

Sayı Alan Tipleri Açıklama
int(size) smallint(size) tinyint(size) mediumint(size) bigint(size) Sadece integer (sayi/numara) tipidir. maksimum alan boyutu parantez içinde belirtilir.
decimal(size,d) double(size,d) float(size,d) Numaraları digitler ile saklamanızı sağlar. Maksimum numara uzunluğu parantez içinde belirtilmelidir. Parentez içindeki tırnaktan sonra olan bölüm virgül uzantılı değerin digit büyüklüğünü göstermektedir.
Metin Bazlı Alan Tipleri Açıklama
char(size) Belirtilmiş boyut kadar bilgi tutar. (harf, numara, veya özel karakter). Parantez içinde uzunluğu belirtilir.
varchar(size) Belirtilmiş boyut kadar bilgi tutar. (harf, numara, veya özel karakter). Parantez içinde uzunluğu belirtilir.
tinytext Maksimum 255 karakter bulundurabilir.
text blob Maksimum 65535 karakter bulundurabilir.
mediumtext mediumblob Maksimum 16777215 karakter bulundurabilir.
longtext longblob Maksimum 4294967295 karakter bulundurabilir.
Tarih Alan Tipleri Açıklama
date(yyyy-mm-dd) datetime(yyyy-mm-dd hh:mm:ss) timestamp(yyyymmddhhmmss) time(hh:mm:ss) Tarih ve zaman bilgisini tutmak için kullanılır.
Çeşitli Alan Tipleri Açıklama
enum(value1,value2,ect) Maksimum 65535 değer alabilir.
set Maksimum 64 liste içeriği alabilir.

MySQL veritabanı oluşturmak için phpMyAdmin yazılımı kullanılmaktadır. Bu yazılım tamamen ücretsiz olup sanal sunucu kurulumu zamanı bilgisayarınıza kurulmaktadır. Genelde Tarayıcınızın adres çubuğuna:

h t t p : / /localhost/phpmyadmin

yazmanız gerekiyor. WampServer kullanıyorsanız

h t t p : / /localhost/phpMyAdmin

yazmanızı isteyebilir. Büyük küçük harf duyarlı olabilir.

Şimdi resimlerle anlatmaya çalışacağım. Bir sonraki yazımda yapacağım uygulamadan önce video kayıt yaparak makaleme ekleyeceğim.

Önce phpmyadmin sayfasını açıyoruz.

Karşımıza aşağıdaki gibi bir sayfa çıkacaktır.

il açılış sayfası

1 ile gösterdiğim alan sayfamızın adresi oluyor.( Ben xampp kullanıyorum buarada 🙂 ).

2 ile gösterdiğim alan ise daha önceden oluşturduğum veritabanlarının adlarını içeriyor. Veritabanı adına tıklayarak o veritabanındaki tabloları görebiliyoruz.

3 ile gösterdiğim alan ise yeni veritabanı oluşturma alanıdır. Boş alana veritabanı adını giriyoruz. Karşılaştırma alanında ise latin5_turkish_ci seçeneğini seçiyoruz. Bu veritabanımızda türkçe karakter sorunu olmaması için önemlidir.

ben ornekveritabani adlı bir veritabanı oluşturacağım. Girilen bilgiler aşağıdaki şekilde olacaktır.

Oluştur düğmesine tıklayarak devam ediyoruz. Veri tabanı oluşturulduktan sonra aşağıdaki sayfa ile karşılaşıyoruz.

Tablo oluşturma

Burada artık veri tabanımız için tablolar oluşturacağız. Ben web sayfamda duyurular kısmının veritabanından gelmesini istiyorum ve duyurular diye bir tablo oluşturuyorum. Tablom ayrıca kendi içinde alanlardan oluşuyor. Dolayısıyla burada alan sayısını belli etmem gerekiyor. Peki hangi alanlar olacak? Duyuruları bir birinden ayırt etmem için önce bir ID gerekiyor benim için. Ardından duyuru başlıklarını tutacak bir alan ve en son duyuru içeriğini tutacak bir alana ihtiyacım olacaktır. Dolayısıyla 3 alan gerekecek. 3 değerini girdikten sonra GİT düğmesine tıklayarak bir sonraki adıma geçiyoruz.

alanlarımızı oluşturuyoruz

Karşımıza 3 boş sütün çıkıyor. Buraya bilgileri girmemiz gerekiyor.

1 ile gösterdiğim alanda alan adlarını giriyoruz.

2 ile gösterilen alanlarda veri türlerini giriyoruz. Örneğin duyuru_id kısmında INT girdik. bu nedir? INT ingilizce integer kelimesinin kısaltılmış halidir. Tamsayı anlamına gelir. Duyuru_id tamsayı olacağı için (1,2,3) veri türünü INT olarak girdik.

Duyuru başlığı kısmında ise veri türünü VARCHAR olarak girdik.(Variable Character). Ve uzunluğunu 255 karakter olarak yarladık. 255 karakterden fazla duyuru başlığı girilemeyecek yani.( INT girdiğimizde karakter saysını belirtmediğimiz için otomatik olarak 11 karakter olacaktır.)

Duyuru içeriği alanında ise veri türünü TEXT olarak girdik ve karakter sayısı belirlemedik. Yani bu durumda duyuru içeriği için bir sınır belirtmemiş oluyoruz. İstenilen kadar yazı girilebilir.

3 ile gösterdiğim alanda Not Null seçeneğini seçtim iki alanda. Bu alanların boş bırakılamayacağını belirtmiş oldum. Diğerinde ise Null seçeneğini seçerek bu alanın boş bırakılabileceğini belirttim.

4 ile gösterdiğim alanda ID ‘nin otomatik olarak artabilmesi için AUTO INCREMENT seçeneğini seçtim.

5 ile gösterilen alanda ise PRIMARY KEY yani birincil anahtar seçeneğini seçtim. Birincil anahtar nedir?  Birincil anahtar iki veriyi bir birinden ayırt etmek için kullanılır. Örneğin herkesin TC numarası farklıdır fakat ismi aynı olabilir. İki Ahmet olsun onları bir birinden ayırt etmek için TC nuamaralarına bakılır bankalarda mesela. Onun gibi iki yanı başlıklı duyuruda ID birincil anahtar seçildiğinde ID numaları ile ayırt edebiliriz.

Değerleri girdikten sonra KAYDET düğmesine tıklayarak bir sonraki adıma geçebiliriz. Bir sonraki adımda veritabanı oluşturulurken kullanılan dil yani SQL ile kod karşınıza çıkıyor. PhpMyAdmin sadece bir arayüz , bu arayüz ile MySQL veritabanı oluşturuluyor MySQL ise SQL dilini kullanıyor. Dolayısıyla bizim girdiğimiz değerler aslında SQL ile elle yazılması gerekir. Elle yazılacak kod phpmyadminin de gösterdiği gibi şöyle olacaktır:

CREATE TABLE `ornekveritabani`.`duyurular` (
`duyuru_id` INT NOT NULL AUTO_INCREMENT ,
`duyuru_baslik` VARCHAR( 255 ) NOT NULL ,
`duyuru_icerik` TEXT NULL ,
PRIMARY KEY ( `duyuru_id` )
) ENGINE = MYISAM

Gördüğünüz gibi PhpMyAdmin aslında bize çok büyük bir kolaylık sağlamaktadır.

Karşımıza çıkacak olan bir sonraki sayfa aşağıdaki sayfa olacaktır.

tablomuz hazır

1 ile yukarıda yazılacak kodları gösterdim. 2 ile gösterilen kısım ise tablomuzun içerisindeki alanlardır. 3 ile gösterilen alanda ise duyuru_id alanımızın birincil anahtar olarak işaretlendiği gösterilmektedir.

Evet bu şekilde ornekveritabani ve onun içerisinde duyurular tablosu ve tablonun içerisinde de duyuru_id, duyuru_baslik, duyuru_icerik diye 3 alan oluşturmuş olduk.

Bir sonraki yazımda bunları video derste anlatmaya çalışacağım.

Bir sonraki yazıda görüşmek üzere 🙂

21 yorum yapılmış

    PhpMyAdmin ile veritabanı kopyalama

    […] da blog sayfama ekleyeyim istedim. PHP ile çalışıyorsanız phpmyadmin kullanmışsınızdır. MySQL veritabanınızı yönetmek için PhpMyAdmin olmazsa […]

    19.09.2016, 8:19:45

    Windows 7 MySQL 5.7 kurulumu | Online Öğren

    […] MySQL kurulumuna. Öncelikle buradan MySQL nedir ne değildir okuyabilirsiniz. Kısaca açıklamak gerekirse MySQL veritabanı yönetim […]

    25.01.2017, 21:25:40

    Mertcan

    merhaba sanalkurs ta sizi gördüğüm den beri hep takip ediyorum kod php çok işime yarıyacak php tasarımına devam ederken ziyaretci defteri,üyelik işlemleri vb şeylerede değinceksiniz değilmi

    20.05.2010, 22:12:22

      admin

      ilginiz için teşekkür ederim. tam olarak ziyaretçi defteri yapmayacağım belki ama gösterdiklerimi iyi uygularsanız ziyaretçi defteri yapmanız çok kolay olacak diyebilirim.

      21.05.2010, 0:01:19

    üçkol

    iyi bir başlangıç olmuş ben bile anladım valla hiç bilmem php yi oysaki

    20.05.2010, 22:38:00

    ibrahim

    İyi çalışmalar Anar Hocam ilgi ile dersleri takip ediyoruz.ancak sizden bir isteğimiz olacak biz verdiğiniz linklerden —xampp-win32-1.7.3—indirip kurduk sanki anlattığınız ** *http://www.anarsamadov.net/wp-content/uploads/2010/05/1d.jpg*** bölümü bizimkinde farklı… bu konularla çok haşir neşir olmadığımız için sizinde xamppı 1.7.3 sürümünden anlatırmısınız?çok teşekkürler..

    21.05.2010, 2:19:47

    üçkol

    Anar hocam biraz hızlı olalım lütfen sınavlar yaklaşıyor da sınavlardan önce bakalım biraz derslere.

    23.05.2010, 14:55:46

      admin

      🙂 arkadaşlar blog'a boş zamanlarımda hazırlıyorum dersleri o yüzden boş zamanım olmasını bekliyorum. sabredin biraz. 🙂

      23.05.2010, 16:18:24

    üçkol

    Anar hocam bir sorum olacak sizin bu blog daki başlıklar ve bazı yazılar çok hoşuma gitti daha doğrusu yazı şekilleri ben sizin siteyi farklı kaydetten kaydedip inceledim acaba css den mi diye düşündüm ve resimde gösterdiğim yerlerdeki css'i başka bir sayfa için uygulamaya çalıştım ama olmadı zannerdersem bu iş sadece css işi değil. anlayacağınız ben yapamadım bu başlıkları acaba bu konu hakkinda bir açıklama yaparmısnız.

    25.05.2010, 17:52:41

    üçkol

    pardon resim linkini atmayı unutmuşsum
    http://img10.imageshack.us/img10/2679/adszmt.jpg

    25.05.2010, 17:53:21

    üçkol

    tamamdır cufon işini hallettim teşekkürler

    27.05.2010, 4:02:39

    Ahmet KANDİŞ

    Sayın Anar Samadov derste kullandığınız xampp programını nerden indirebileceğimiz konusunda yardımcı olabilir misiniz?Aksi halde derslere devam edemeyiceğim. 🙁

    21.08.2010, 16:48:48

    YagmurPrensi

    Merhabalar Anar Hocam.

    Bende diger arkadaslar gibi sizi bayadir takip ediyorum.

    Çalişmalariniz gercekten çok hoş ve işe yarar.

    Elinize sagliq.

    Benim rica biraz daha fazla admin paneli hazirlanimi ve yayimlanimina deginirseniz daha iyi olur.Bana lazim oldugundan diyorum 😉

    Başarilar.

    22.03.2011, 0:06:45

    Can IRMAK

    Anar hocam öncelikle selamlar blog unu ve derslerini yeni takip etmeye basladim tesekkur etmek isterim.

    Benim sorum su sekilde :derslerde local host uzerindeki veri tabanina baglaniyoruz yani kendi bilgisayarimizda .Peki biz kiraladiğimiz host uzerinde oluşturduğumuz veri tabanina nasil bağlanacağiz?

    14.06.2011, 9:00:03

    Marlboro Man

    merhabalar yazıda hatalı bir kısım var. int alanı 11 olursa bu o alanın 11 karakter alacağı anlamına gelmez. int alan tipi eğer signed olarak ayarlanmışsa alabileceği değerler -2147483648 ile 2147483647 dahil+arasında eğer unsigned olarak ayarlanmışsa alabileceği değerler 0 ile 4294967295 dahil+arasında olabilir. yani 11 tane 99999999999 yazılamaz. bigint ve tinyint içinde max ve min değerleri signed ve unsigned için mysql manuelde bulunmaktadır.

    16.08.2011, 18:35:31

      Anar Samadov

      verdiğiniz bilgiden dolayı teşekkür ederim. daha işin temelindeyken 11 hane girilecek bilgisini vermem yeterli diye düşünüyorum. o yüzden fazla detayına inip yeni başlayanların kafasını karıştırmak istemedim.

      16.08.2011, 18:42:11

    cnr

    Anar ben daha yeniyimde bunları yaptım bundan sonra ne yapıcam yani yazdıklarım o başlik ve içeriğe gelicek

    18.09.2011, 19:34:37

Yorum yapın..

isim yerine gerçek isim ve soyisim yazılmadan yapılan yorumlar kesinlikle onaylanmıyor bilginiz olsun.


%d blogcu bunu beğendi: