![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 05/2008
Mesaj: 3
|
İletişim adında bir tablomuz var ve bu tabloda sadece iletişim bilgileri saklanıyor. Şimdi bu iletişim tablosunu diğer tablolara bağlamak istiyoruz. Örneğin bir Kişiler tablosu ve Firmalar tablosu var ve ben herhangi bir kişiye veya firmaya istediğim zaman iletişim bilgisi ekleyebilmek istiyorum. Ben şu şekilde çözmeye çalıştım fakat doğruluğundan emin olamadım. İletişim tablosundaki her iletişim kaydı için otomatik numara verdiriyorum. Kişiler ve Firmalar tablolarında da iletişim no adında bir sütun barındırıyorum. Bu şekilde iken programın arayüzünde kod yazarak istediğim bilgileri alabiliyorum fakat araya relationship eklemek istiyorum bu tarz bir durumda nasıl bir relationship kullanılmalı veya böyle bir senaryoda veritabanı yapısı nasıl olmalı? Şimdiden Teşekkürler, |
| | |
| | #2 (permalink) |
| Üye Üyelik Tarihi: 05/2007
Mesaj: 147
|
Bahsettiğin olay "foreign key" ile yapılır. MySQL kullanıyorsan tabloların innoDB tipinde olmalıdır, myisam tipi tablolarda foreign key desteği yok. Örneğin iletişim tablosundaki iletişim no'su primary key'dir mesela. Bu kolonu firma ve kişiler tablolarında foreign key olarak tanımlarsan (firma tablosunda kolon adı iletisim_bilgisi olsun mesela, bu kolonu da iletisim tablosundaki iletisim_no kolonuna referans vererek foreign key tanımlarsın).
|
| | |
| | #3 (permalink) |
| Üye Üyelik Tarihi: 05/2008
Mesaj: 3
|
Veritabanı SQL Server SQL server ile foreign key tanımlamasını relationship ile yapıyorum fakat benim merak ettiğim nasıl bir relationship olmalı? Örneğin iletişim tablosunun primary key'ini tutup Kişi tablosunun foreign key'ine bıraktığımda bana one-to-many tarzında bir relationship oluşturuyor fakat böyle bir relationship benim yapmak istediğime uymuyor. Sorun şurda DotNet ile bu şekilde oluşturulmuş bir relationship'i bir formda görüntülemek istediğimde İletişim tablosunu ana tablo kişi tablosunu da alt tablo olarak görüyor çünkü primary key iletişim tablosunda. Fakat ben ana tablo olarak kişi tablosunu göstermek istiyorum ve alt tablo olarakta iletişim tablosunu göstermek istiyorum. Yani istediğim kişiye tıklarım eğer iletişim bilgisi varsa ekstradan o bilgide gelsin istiyorum. Fakat şu anda iletişim tablosunu ana tablo aldığı için bana sadece iletişim bilgileri olan kişileri gösteriyor diğer kişileri göstermiyor. |
| | |
| | #4 (permalink) | |
| Üye Üyelik Tarihi: 05/2007
Mesaj: 147
| Alıntı:
Peki one-to-one relationship yapabiliyor musun? Ya da mantığı ters kursan, yani kişiler/firmalar tablolarından iletişim tablosuna one-to-many ya da one-to-one ilişkisini kursan? | |
| | |
| | #5 (permalink) |
| Üye Üyelik Tarihi: 05/2008
Mesaj: 3
|
one-to-one hiç uymuyor çünkü one-to-one bildiğim kadarıyla iki tablodada primary key'lerin eşit olmasını gerektiriyor. Kişi tablosunda primary key KisiID firma tablosunda da FirmaID. İki adet primary key yapmayıda denedim fakat gene başaramadım. Öyle geliyor ki benim bilmediğim bu durumlar için kullanılabilecek bir yöntem olmalı. Böyle bir durumun çözümü mutlaka olmalı diyorm fakat ne SQL Server kılavuzunda ne de internette bununla ilgili bilgi bulamadım. Benim kafamı karıştıran şu: DotNet'in sürükle bırak yöntemi ve iki üç seçenek ile veri yazmak okumak için form hazırlayabildiğimiz özellikleri var. Bu özellikler standart one-to-many tarzı tablolarla çalışmak çok rahat ve sorunsuz. Fakat benim yukarıda bahsettiğim durum için DotNet'te bir çözüm yolu bulamadım. Tek çözüm kod yazarak herşeyi kendim okuyup yazdırırsam sonuca ulaşabiliyorum. Bir yandan da DotNet'in ve database designer'ların böyle bir durumu gözden kaçıracaklarını zannetmiyorum. En basitinden Kişi ve İller tablosunu örnek alırsak bir kişiye bir il atamak istediğim zaman bile bu sorunu yaşıyorum. Kişi tablosundaki ilno alanına seçilen il numarasını otomatik attıramıyorum. Fakat İller ve İlçeler tablolarını ele aldığımızda herhangi bir ili seçip ardından onun ilçelerini rahatlıkla seçebiliyorum. Çünkü Kişi - İller arasındaki relationship many-to-one, İller ile ilçeler arasındaki relationship ise one-to-many ve bunu bir türlü çözemedim. |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| Access'de relationship kullanarak aspye bi katki saglanir mi? | efet | Veritabanları & SQL | 0 | 29/01/2008 03:29 |
| Foreign Key ve Relationship Problemi | chaostician | Visual Basic | 1 | 10/11/2006 21:38 |
| Sınav Sorusu2 | Guybrush | Pascal / Delphi / Delphi.NET | 5 | 13/05/2006 00:14 |
| Tablolar arasi iliskilendirmenin (relationship) amaci/mantigi nedir? | DotNetKid | Veritabanları & SQL | 4 | 20/04/2004 18:42 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |