Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Enum Type
#1
Selamlar,
Projenizde MySQL Enum tipini hiç kullandınız mı ?
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#2
Merhaba.
Ben kullanmadım Smile
There's no place like 127.0.0.1
WWW
Cevapla
#3
Kullananlar neden kullanıyor merak ettim Smile
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#4
Evet bende kullanıyorum

Birinci nedenim çok fazla kayıt bulunan tablolarda (ör: Logların tutulduğu) enum olarak ifade edilebilecek fieldlerde kullanırsanız veri/db boyutunu azaltabilirsiniz.

Diğer bir neden ise Navicat ile Mysql tablolarını açınca, enum değerleri gride getiriyor değiştirme işleminde karşınıza seçenek olarak getiriyor.

Başka bir neden de madem böyle bir özellik var kullanalımda boşuna gitmesin Smile
Cevapla
#5
Ama Enum sahaya yeni bir değer eklenmesi gerektiğinde işiniz zora giriyor ?
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#6
MySQL'de enum kullanılmasının temel sebebi veriyi saklama biçimidir. Yani siz bir Create Table direktifi sırasında enum tanımı yaptığınız bir field'da ('Evli','Bekar','Dul') gibi bir tanım yaptığınızda bu veriler tabloda 'Evli','Bekar','Dul' olarak değil, 1,2,3 şeklinde tutulur. Fakat size bu durum kullanım sırasında veritabanı motoru tarafından yansıtılmaz. Yani siz bir SELECT ifadesi ile veri çektiğinizde sonuç kümesinde 1,2,3 yerine 'Evli','Bekar','Dul' bilgisini görmüş olursunuz.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol,Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol,Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol,Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#7
Yani sadece id ve value değerlerinden oluşacak çok ilkel lookup tabloları yerine bu şekilde bir özellik kazandırlmış anladığım kadarıyla. Gayet güzel ve mantıklı geldi, doğru anladıysam  Rolleyes
Cevapla
#8
Doğru anladınız.

Bununla birlikte enum parametrelerini kendi combobox'larınızda Item olarak kullanmak istiyorsanız veritabanındaki değer ve Item sıralamasını aşağıdaki SQL cümlesiyle çekebilirsiniz;

SELECT REPLACE(REPLACE(COLUMN_TYPE, 'enum(', ''), ')', '') as ComboData
FROM   information_schema.`COLUMNS`
WHERE  COLUMN_NAME  = 'AlanAdiniYazin'
  AND  TABLE_NAME   = 'TablonunAdiniYazin'
  AND  DATA_TYPE    = 'enum'
  AND  TABLE_SCHEMA = 'VeritabanininAdiniYazin'

String olarak dönen sonuç virgülle ayrılmış şekilde size sunulacaktır.

'a','b','c','d','e','f'

gibi...
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol,Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol,Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol,Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla

Konuyu Paylaş : facebook gplus twitter





Konuyu Okuyanlar: 1 Ziyaretçi