Firebird yeni öğreniyorum.
ilk defa tablo oluşturacağım ve sütunlardan biri aynı Ms_Sql serverdaki gibi "bit" bi alandan oluşacak yani sadece "0-1" yada "true false" olarak.
ama Field Type olarak MsSql deki gibi Bit alanını göremedim firebird de bu yok mu eğer yoksa onun yerine "char" mı kullanmalıyım default alan değeri olarak "0" girmem "false" anlamına gelirmi?
yardımlarınızı bekliyorum
Field Type olarak MsSql deki gibi Bit alanı nasıl seçebiliri
-
- Üye
- Mesajlar: 360
- Kayıt: 10 Nis 2006 09:07
Bildiğim kadarıyla Firebird de bit alan tanımı henüz yok. char(1) değip '0' veya '1' ataması yapıp kullanabilirsiniz. Veritabanları sayısal alanlarda daha hızlı işlem yapabildiğinden 2 bayt lık smallint bi alan tanımlayıp kullanabilirsin. Hatta bu alanı boolean alan olarak da kullanabilirsin. Aşağıdaki şekilde oluşturacağın domain i bu iş için kullanabilirsin. 0 false, 1 true
Kod: Tümünü seç
CREATE DOMAIN DM_BOOLEAN AS SMALLINT
DEFAULT 0
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
-
- Üye
- Mesajlar: 360
- Kayıt: 10 Nis 2006 09:07
özür dilerim yeni öğreniyorum o yüzden size komik gelebilir ama "domain" nedir ve ne için kullanılır firebird'de.
ben mssql de gayet iyi veritabanı hazırlayabiliyorum firebird'dü yeni öğrenmeye başladığım için biraz garipsiyorum.domain dediğiniz stored procedure mü?
yazdığınız kod gene generators'un içinde gözükecek mi? olayı biraz daha açarsanız çok yardımcı olacaksınız
teşekkürler...
ben mssql de gayet iyi veritabanı hazırlayabiliyorum firebird'dü yeni öğrenmeye başladığım için biraz garipsiyorum.domain dediğiniz stored procedure mü?
yazdığınız kod gene generators'un içinde gözükecek mi? olayı biraz daha açarsanız çok yardımcı olacaksınız
teşekkürler...
DOMAIN şu ki; veritabanında oluşturacağınız tablolarda büyük ihtimal birbiri ile ilişkili alanlar olacaktır. Mesela INTEGER alanlar (4 bayt) . veya SMALLINT alanlar (2 bayt) veya BOOLEAN alanlar yada VARCHAR(30) diye başka bir alan/alanlar. VARCHAR(30) u bir çok tabloda ve alanda kullanmışsan bir tane DM_VARCHAR_ADI diye domain tanımlar o alanlara atayabilirsin. Ya da smallint alanlar için DM_MIKTAR adında SMALLINT tipinde bir alan oluşturup tüm tablolardaki smallint alanlara bunu atayabilirsin. Şimdi ortak bir yapı olmasının yanında önemli bir faydası da; yarın bir gün varchar(30) luk alanları varchar(50) yapmaya kaltığında hangi tabloda var diye aramadan sadece DM_VARCHAR_ADI domain inin VARCHAR(50) yapman yeterli olur. Aynı şekilde smallint den büyük sayılar oluşmaya başladığında da DM_MIKTAR domain ini INTEGER/NUMERIC(x, y)/DOUBLE PRECISION yapman yeterli olur. Doğal olarak veritabanını tasarım aşamasında bu ileriye dönük olabilecek gereksinimleri iyi tasarlamak da işin bir başka boyutukahraman1285 yazdı:özür dilerim yeni öğreniyorum o yüzden size komik gelebilir ama "domain" nedir ve ne için kullanılır firebird'de.
...
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
-
- Üye
- Mesajlar: 360
- Kayıt: 10 Nis 2006 09:07
Hocam teşekkürler soruma bu kadar hızlı bi cevap alabileceğimi zannetmiyordum beni şaşırttınız...
anlattığınız domain' aslında mssql server da ben kullanmıştım orda da adı "user defined data types" diye geçiyor şimdi eski yaptığıma da baktım. siz anlattığınız sebepden dolayı gerçekten "domain" kullanmak büyük kolaylık.
zaman ayırıp cevapladığınız için teşekkür ederim ...
anlattığınız domain' aslında mssql server da ben kullanmıştım orda da adı "user defined data types" diye geçiyor şimdi eski yaptığıma da baktım. siz anlattığınız sebepden dolayı gerçekten "domain" kullanmak büyük kolaylık.
zaman ayırıp cevapladığınız için teşekkür ederim ...