MySQL Veritabanında Veri Türleri ve Özellikleri

MySQL Veritabanında Veri Türleri ve Özellikleri

MySQL veritabanında kullanılan veri tipleri, temel ve gelişmiş olmak üzere iki farklı grupta incelenebilir Temel veri tipleri arasında INTEGER, CHAR, VARCHAR, DATE ve BOOLEAN yer alır INTEGER tam sayıları temsil ederken, CHAR ve VARCHAR metinsel verileri, DATE tarih verilerini ve BOOLEAN ise True/False değerlerini temsil eder Gelişmiş veri tipleri ise özelleştirilmiş veri tipleri için kullanılır
INTEGER veri tipi, pozitif, negatif veya sıfır değerlerini içerebilir ve farklı boyutlarda tanımlanabilir Bellek kullanımı ve performans etkileri göz önünde bulundurularak boyutları belirlenir
CHAR ve VARCHAR veri tipleri arasındaki fark, depolama alanındaki farklılıktan kaynaklanır CHAR her zaman belirtilen boyutta depolanırken, VARCHAR sadece ihtiyaç duyduğu depolama alanını kullanır VARCHAR daha az depolama alanı gerektirirken, CHAR daha hızlı bir erişim sağlar
DATE veri

MySQL Veritabanında Veri Türleri ve Özellikleri

MySQL veritabanı, genellikle web siteleri ve web uygulamalarında sıklıkla kullanılan açık kaynaklı bir veritabanı yönetim sistemi olarak öne çıkıyor. Bu veritabanında yer alan veriler, farklı veri tiplerine ayrılarak depolanıyor. Bu sayede, verilerin doğru bir şekilde kullanılması ve çağrılması sağlanıyor.

MySQL veritabanında yer alan veri tipleri, temel ve gelişmiş olarak iki gruba ayrılıyor. Temel veri tipleri, genellikle sayısal ve metinsel verileri temsil etmek için kullanılırken, gelişmiş veri tipleri daha özelleştirilmiş veri tipleri için kullanılıyor.


Temel Veri Türleri

MySQL veritabanında kullanılan temel veri tipleri, sayısal verileri temsil eden INTEGER, karakter verilerini temsil eden CHAR ve VARCHAR, tarih verilerini temsil eden DATE ve True/False değerlerini temsil eden BOOLEAN'dur. Bu veri tiplerinin özellikleri ve kullanım amaçları farklıdır.

INTEGER: Tam sayıları temsil eden veri tipidir. Özellikle matematiksel işlemlerde sıkça kullanılır. Örnek olarak, bir ürün fiyatının tam sayı olarak depolanması gösterilebilir.

CHAR ve VARCHAR: Metinsel verileri temsil ederler. CHAR veri tipi sabit uzunluklu karakter dizileri için kullanılırken VARCHAR değişken uzunluklu karakter dizileri için kullanılır. Örneğin, bir kullanıcının adı CHAR veri tipinde, kullanıcının adresi ise VARCHAR veri tipinde depolanabilir.

DATE: Tarih verilerini temsil eden veri tipidir. Özellikle randevu ve doğum tarihi gibi verilerin saklanması için kullanılır.

BOOLEAN: Sadece True veya False değerlerini temsil ederler. Örneğin, bir kullanıcının ödeme durumu gibi veriler BOOLEAN veri tipinde saklanabilir.

Bu temel veri tipleri, MySQL veritabanlarında en sık kullanılan veri tipleridir. İşlemlerin hızlı ve düzgün bir şekilde gerçekleşmesi için hangi veri tipinin ne zaman kullanılacağına karar vermek önemlidir.


INTEGER

MySQL veritabanında kullanılan bir veri tipi olan INTEGER, tam sayıları temsil etmektedir. Bu veri tipi, pozitif, negatif veya sıfır değerlerini içerebilir. INTEGER, farklı boyutlarda tanımlanabilir ve boyutları belirlenirken işletim sistemi, bellek kullanımı ve performans etkileri göz önünde bulundurulur.

  • INTEGER, tam sayıları temsil eder ve pozitif, negatif veya sıfır değerleri içerebilir.
  • Farklı boyutlarda tanımlanabilir.
  • INTEGER(M) formatında tanımlanır, burada M tam sayı olarak tanımlanan sayıların maksimum uzunluğunu belirler.
  • Bellek kullanımı ve performans etkileri göz önünde bulundurularak boyutları belirlenir.
MySQL'de INTEGER tipi, özellikle matematiksel işlemler gerektiren uygulamalarda kullanılır. Örneğin, sıralama, sayısal hesaplamalar ve kimlik numaralarının temsilinde kullanılabilir.
Deger Tür
125 INTEGER(3)
-255 INTEGER(4)
0 INTEGER


CHAR ve VARCHAR

MySQL veritabanında kullanılan veri tipleri arasında metinsel verileri temsil eden CHAR ve VARCHAR veri tipleri önemli bir yere sahiptir. Bu veri tipleri arasında bazı farklılıklar bulunur.

CHAR Veri Tipi

CHAR, sabit boyutlu karakter dizilerini temsil eder. Veri tipi belirlendiği zaman CHAR kolonu, belirtilen boyutun tamamını alır. Örneğin, CHAR(10) ifadesi, her zaman 10 karakterlik bir dize depolar, bu depolama alanı da boş olsa dahi tamamen kullanılır.

VARCHAR Veri Tipi

VARCHAR veri tipi ise, değişken uzunluklu karakter dizilerini temsil eder. Bu veri tipinde, kolon boyutu, depolanan özelliğe göre değişimiş olmalıdır. Örneğin, VARCHAR(10) ifadesi, en fazla 10 karakterlik bir dize depolar. Ancak depolanan özellik 7 karakterlik bir dize olsa, geriye kalan 3 karakterlik alan da kullanılmaz.

CHAR ve VARCHAR veri tipleri arasındaki fark, depolama alanındaki farklılıktan kaynaklanır. CHAR veri tipi, her zaman belirtilen boyutta depolanırken, VARCHAR, yalnızca ihtiyaç duyduğu depolama alanını kullanır. Dolayısıyla VARCHAR, daha az depolama alanı gerektirirken, CHAR daha hızlı bir erişim sağlar.

Örnekler

Aşağıda, CHAR ve VARCHAR veri tiplerinin örnekleri verilmiştir:

CHAR(10) VARCHAR(10)
'hello' 'hello'
'world ' 'world'

Yukarıdaki örnekte görüldüğü gibi, CHAR veri tipi, belirtilen boyuttan daha uzun bir dize veri ile karşılaştığında fazla alanı boşluklarla doldurur. Öte yandan, VARCHAR, veri boyutuna göre depolama alanı ayarlar ve gereksiz boşluklarla vakit kaybetmez.


DATE

MySQL veritabanında kullanılan DATE veri tipi, tarih verilerini depolamak için kullanılır. Bu veri tipi, yıl, ay ve gün gibi tarih değerlerini alabilir. DATE veri tipi, aynı zamanda zaman damgalı tarihleri de saklama özelliğine sahiptir.

DATE veri tipinin özellikleri arasında, saklanan tarih aralığının 1000-01-01'den 9999-12-31'e kadar olması yer alır. DATE veri tipi sadece tarih değerleri kabul ettiğinden, saatler ve dakikalar gibi zaman bileşenleri yoktur. Ancak, DATE veri tipi kullanılarak, tarih ve saat bilgisini birleştiren DATETIME veri tipi de yaratılabilir.

MySQL'de DATE veri tipi için iki farklı format kullanılabilir. İlk olarak, 'YYYY-MM-DD' formatı kullanılarak tarih değeri girilir. Bu format, uluslararası standarttır ve MySQL tarafından desteklenmektedir. İkincisi, 'YYYYMMDD' şeklinde bir format da kullanılabilir. Bu format daha az yaygın olsa da, bazı durumlarda kullanışlı olabilir.

  • '1999-12-31'
  • '2021-07-15'
  • '1969-07-20'

DATE veri tipi, özellikle işletmelerin finansal ve kronolojik verileri saklamak için sıklıkla kullanılmaktadır. Örneğin, bir banka müşterisinin hesap açılış tarihini veya bir e-ticaret sitesinin bir siparişin gönderildiği tarihi saklamak için DATE veri tipi kullanabilir. DATE veri tipi, bu tür verilerin doğru bir şekilde saklanmasını ve aranmasını mümkün kılar.


BOOLEAN

MySQL veritabanında kullanılan veri tipleri arasında BOOLEAN veri tipi de yer almaktadır. BOOLEAN veri tipi, yalnızca iki farklı değere sahip olan verileri temsil eder: True veya False. Bu veri tipi, koşulların incelenmesi ve sorgularda kullanılması için oldukça yararlıdır.

BOOLEAN veri tipinin önemli özelliklerinden biri, yalnızca iki farklı değer alabilmesidir. Aynı zamanda, MySQL bu veri tipini BOOLEAN yerine TINYINT(1) ile de temsil edebilir. BOOLEAN veri tipini kullanarak oluşturulacak olan sütunlar farklı yönlerde koşullandırılabildiği için, sorguların ve işlemlerin hızlı bir şekilde gerçekleştirilmesine olanak sağlar.

Değer Aralığı Açıklama
1 True
0 False

BOOLEAN veri tipi, koşullu ifadeler kullanılarak sorguların geliştirilmesinde de sıklıkla kullanılır. Örneğin, bir kullanıcının üyelik durumu aşağıdaki sorgu ile sorgulanabilir:

SELECT * FROM uyeler WHERE uye_aktif = true;

Burada, uyeler tablosunda yer alan uye_aktif sütununda true değerleri olan kullanıcılar filtrelenir ve ilgili sonuçlar döner.

BOOLEAN veri tipi, sadece iki farklı değer taşıdığı için oldukça basit bir veri tipidir. Ancak, işlemler ve sorguların daha hızlı ve doğru bir şekilde gerçekleştirilmesine olanak sağlaması nedeniyle, MySQL veritabanı işlemlerinde oldukça kullanışlıdır.


Gelişmiş Veri Türleri

MySQL veritabanı, kullanıcıların verileri nasıl sakladığını ve sorguladığını kontrol etmek için temel ve gelişmiş veri tipleri sunar. Temel veri tipleri INTEGER, CHAR, VARCHAR, DATE ve BOOLEAN'dır. Ancak gelişmiş veri tipleri de mevcuttur. Bu makalede, MySQL'de kullanılan gelişmiş veri tipleri olan BLOB, TEXT, ENUM ve SET hakkında bilgi edineceksiniz.

BLOB (Binary Large Object), zaman zaman büyük veri öğelerini depolamak için kullanılır. Binary verilerin depolanması için kullanılabilen BLOB veri tipi, veri öğelerini herhangi bir sıralama olmaksızın depolamak için kullanılabilir. Örneğin, resimler, belgeler veya müzik dosyaları gibi türden bağımsız veriler için kullanılabilir.

TEXT veri tipi, genellikle gelişmiş veri analitiği, büyük veri öğeleri ve tam metin arama için kullanılır. Metinsel verilerin depolanması için kullanılan TEXT, BLOB veri tipi gibi herhangi bir sınırlandırma olmaksızın depolanabilir. Örneğin, blog yazıları, haber makaleleri veya sosyal medya gönderileri gibi her tür metinsel veri için kullanılabilir.

ENUM veri tipi, belirli sınırlı sayıda seçenek sunar. Tek bir değerle temsil edilen ENUM, örneğin bir cinsiyet seçeneği gibi belirli bir sayıda seçenek sunar. Kullanıcının belirli bir sayıda seçeneği seçmesine izin vermek için ENUM veri tipi kullanılabilir.

SET veri tipi, birden fazla seçeneği bir arada tutarak kullanılabilir. ENUM'dan farklı olarak, SET veri tipi, çeşitli seçenekleri seçmenizi sağlar. Örneğin, bir müşterinin ilgilendiği belirli ürün kategorilerini seçebilirsiniz.

Sonuç olarak, MySQL'de kullanılan gelişmiş veri tipleri olan BLOB, TEXT, ENUM ve SET, veritabanlarının çok yönlü kullanımını sağlar. Bu veri tipleri, verilerin daha kolay ve etkili bir şekilde depolanmasını ve sorgulanmasını sağlar.


BLOB ve TEXT

BLOB ve TEXT, büyük miktarda binary veya metinsel verilerin depolanması için kullanılan gelişmiş veri tipleridir. BLOB'un tam karşılığı "Binary Large Object" olduğu halde, TEXT tamamen metinsel verileri tutmak amacıyla kullanılır.

BLOB, verileri binary olarak saklamak istediğiniz zaman kullanılabilir. Örneğin, bir işletmenin logosunu veya bir kullanıcının profil resmini depolamak için BLOB kullanılabilir. BLOB, en fazla 4 GB'lık veri depolayabilir.

TEXT, genellikle büyük miktarda metin verisi tutmak için kullanılır. Bir web sitesindeki tüm sayfaların HTML kodlarını, blog gönderilerini veya bir haber sitesindeki makalelerin tamamını depolamak için TEXT kullanabilirsiniz. TEXT'in en büyük kullanım özelliği, verileri gerektiğinde "okunabilir" kılmaktır. MySQL, en fazla 4 GB'lık metinsel veriler depolayabilir.

BLOB ve TEXT'le çalışırken, bir alanın boyutunu doğru şekilde belirlemek çok önemlidir. Çünkü verilerin büyüklüğü, veritabanınızın performansını etkileyebilir. Ayrıca BLOB ve TEXT'i diğer veri tipleriyle birleştirerek kullanmak mümkün değildir.


ENUM

ENUM, belirli sınırlı sayıda seçenek sunan bir veri tipidir. Bu veri tipi, önceden belirlenmiş seçeneklerden birini içerecek şekilde tanımlanır ve yalnızca bu seçeneklerin ifade edilebileceği alanlarda kullanılır. Örneğin, bir kullanıcının hesap durumunu tutan bir veri tabanında ENUM kullanabiliriz. Bu durumlar 'Aktif', 'Pasif' veya 'Beklemede' olabilir. Bu şekilde, müşteri desteği ekibi, müşteri hesapları hakkında hızlı ve kolay bir şekilde bilgi alabilir.

ENUM veri tipi, veri saklamada büyük miktarda alan tasarrufuna da olanak tanır. Ayrıca, veritabanından veri almak için ENUM kullanmak, işlem hızını da artırabilir. Bununla birlikte, ENUM kullanırken dikkatli olunması gerekir. Çünkü ENUM'da tanımlanmamış bir seçenek kullanılması durumunda, veritabanı sistemleri hata verebilir. Bu nedenle, ENUM'da kullanılacak seçeneklerin önceden belirlenmesi çok önemlidir.


SET

SET veri tipi, birden fazla seçenek sunan verilerin tek bir alanda tutulması için kullanılır. Bu veri tipi, ENUM ile benzerdir ancak ENUM'dan farklı olarak bir SET alanında birden çok seçenek seçilebilir. SET, ayrık verilerin gruplandırılmasını kolaylaştırır ve daha az depolama alanı kullanır.

SET veri tipi, kullanımı kolay ve esnektir. SET alanında saklanan veriler, virgülle ayrılmaktadır. Bu nedenle, her seçenek tek bir değer olarak atanır. SET'in uzunluğu, saklanan seçenek sayısına bağlı olarak ayarlanabilir. Ancak, çok fazla seçeneği olan bir SET, daha fazla depolama alanı gerektirir.

SET veri tipi, çeşitli yerlerde kullanılabilir. Örneğin, bir kullanıcının tercihlerini kaydetmek veya işletmelerin ödeme seçeneklerini tanımlamak için kullanılabilir. Aşağıdaki örnekler, SET veri tipinin kullanımını daha iyi anlamanıza yardımcı olacaktır:

SET Alanı Seçenekler
Ödemeler EFT, Kredi Kartı, Havale, PayPal
Tercihler Kahve, Çay, Süt, Şeker, Krema

Yukarıdaki örnekte, ödeme ve tercihler SET alanlarında tutulabilir. Ödeme SET alanının seçenekleri EFT, Kredi Kartı, Havale ve PayPal'dır. Bir kullanıcı, ödemeyi bu seçeneklerden herhangi biriyle yapabilir. Tercihler alanının seçenekleri ise Kahve, Çay, Süt, Şeker and Krema'dır. Bir kullanıcının tercihleri de bu seçeneklerle sınırlıdır.