Sql Server

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
dramali
Üye
Mesajlar: 41
Kayıt: 15 Eki 2003 11:31
Konum: Izmir
İletişim:

Sql Server

Mesaj gönderen dramali »

SQl Serverda database hazırlıyorum. Şİmdi elimde bir teklif formu var firmalara birden çok teklif veriliyor. Teklif formunun içinde verilen malzemelerin listesi olan bir bölüm var. Yani fatura gibi kalem bilgileri bulunuyor. Benim firmalar olarak bir table ım var. Birde teklif olarak bir table ım var ama takıldığım konu benim yaptığım teklif table ında sadece bir kalem malzeme girebiliyorum 2. bir kalemi girdiğimde yeni bir teklifmiş gibi oluyor. Teklif table ındaki kalem bilgileri olan alanı ayrı bir table olarak ayırmam gerekiyor onuda teklif table ına bağlamam gerekiyor. Tablelarda kullandığım id teklifno alanı otomatik olarak artan bir alan bu alan üzerinden bağlayamıyorum identity kolonları birbirne bağlamıyor sql server kolon identity olmayınca otomatik artmıyor. Kafam karıştı bir yapı kuramadım fikri olan varmı acaba?
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

TEKLIF tablosunun detayinda TEKLIF_DETAY isimli bir tablo olusturun. TEKLIF_DETAY'in primary Key'i teklifno ve buna ilaveten mesela malzeme no olsun. ya da her kalemi birbirinden ayiran ne varsa o alan.

Yok eger boyle bir alan yoksa da yani ayni malzemeden eyni teklif icinde iki farkli teklif soz konusu ise de (pek sanmıyorum ama) o zaman TEKLFI_DEDAY_NO seklinde bir alan tanımlayıp bu alanı da ister otomatik arttirin isterseniz de he bir teklif icin 1 Den baslayarak en buyuk TEKLIF_DETAY_NO'dan 1 fazla olacak şeklide elle arttırın.

Kolay gelsin...
Kullanıcı avatarı
dramali
Üye
Mesajlar: 41
Kayıt: 15 Eki 2003 11:31
Konum: Izmir
İletişim:

Ayrıntılara Gireyim

Mesaj gönderen dramali »

FIRMALAR TEKLIF TEKLIF_DETAY
------------ ------------- -----------------
ID ID ID
FIRMA_KODU TEKLIF_NO TEKLIF_NO
FIRMA_ISMI FIRMA_KODU SIRA_NO
ADRES . CINSI
ILCE . MARKASI
IL . MIKTAR
TEL_1 BIRIM_FIYAT
TEL_2
FAX
YETKILI
VD
VNO
EMAIL

tablolar özetle bu şekilde sql server 1 tabloda 2 tane otomatik artan alana izin vermiyor. otomatik artan alanları relationship yapamıyor çünkü otomatik artan alanlar identity kolon oluyor.bu yapıda tavsiyeniz ne olur
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7586
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

ben de benzer bir yapı kurmuştum.

Her 2 tabloda key alanları otomatik artan yapmayın. Yani TEKLİF_NO ile bağlıyorsanız her iki tabloda da TEKLİF_NO otomatik artan olamaz.

ana tablo

TEKLİF_NO -> otomatik artan yapın

detay tablo

ID -> otomatik artan
TEKLİF_NO -> integer
SIRA_NO -> elle arttır

Kolay gelsin.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Admin'in dedigi gibi makul bence de...
ilişki kurulan alanlar ancak o alanın asıl bulunduğu tabloada otomatik artan olabilir .Diger tablolardaki degeri otomatik artan olamaz tabi ki. Detay tablolara ana tabloadaki degerlerden biri secilerek getirilmek zorunluluğu vardir.
Cevapla