Tasarım için fikir istiyorum.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Tasarım için fikir istiyorum.

Mesaj gönderen bobasturk »

Merhaba,

Çalışma bayağı ilerledi fakat beynimi meşgul edip duruyor.

FB ve Delphi7 kullanıyorum. Otomasyon programı olacak ve üç terminalde kullanılacak. Yapılan iş ilk önce işi yapan ekip tarafından verisi girilip raporu alınacak. bu ana tablo olacak ve üç adet pk si var ALAN1, ALAN2, ALAN3. Bu pk alanlar anahtar alanlar olmazsa olmaz alanlar yani veriyi tanımlayıcı ve kayıtlarda geçen alanlar. şimdi ilk veri işi yapan tarafından girildiğinde birde detail olarak ve bu üç alana bağlı olarak madde madde veriler girecek. bu detail tablo üç alan ile fk olarak ana tabloya bağlı. diğer iki terminal bu detail tabloda bulunan maddeler halinde sıralı verilerde işlem yapacak ve bu terminallerde maddeler halinde yaptığı işleri sıralayacak.

yani ilk işi yapan ağacın ilk dallarını çıkaracak sonra diğer iki terminal kendi işine göre bu dallardan dallar çıkaracak.

uygulamam şöyle ilk terminal için dalları bu üç alan ile pk+fk ilişkisi ile yaptım gayet güzel çalışıyor. diğer terminallere terminali anlatan ana tablo yaptım ve id verdim ama üç alan bu tablodada geçti ve fk ile bağladım. sonra dallar oluşturacağı tabloya bu ana tablosunun idini bağladım ve bu ide bağlı olarak kendi idi ile dallar oluşmaya başladı. diğer terminal içinde böyle bir uygulama yapmayı düşünüyorum ve işe başladım.

şimdi ana birleşim noktası bu olayyılı, olayno, ekraporno alanları. asıl iş bu alanlar içinde dönüyor ama ikinci ve üçüncü terminal (yani ayrı bir çalışma alanı) ana tablolarında bu üç alanla bağlı diğer dalları için kendi içinde bağlı.

aslında tabloları bir görüntüleme formunda döktüğümde birbirine bağlı olarak sadece o işi ilgilendiren verileri dökebiliyorm. yani sorun yok gibi ama sanki kafam karışır gibi oluyor.

acaba her şeyi bu üç alanlamı yapsam yoksa yoluma devam edip ana tablolarda üç alanı kullanıp dalları oluşturacak tablolarda ana tablolara bağlantımı çeksem. yani iki ayrı pk+fk olayı ana tabl. birbirine pk+fk-dalları oluşturacak tablolar ana tabloya pk+fk.

sanırım derdimi anlatamadım ama dilim bu kadar döndü. öneri verirseniz sevinirim.

teşekkür ve saygılarımla kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Mesaj gönderen serkan »

Hocam soruyu anlamak için soruyorum..Bu bahsettiğiniz meşhur sonsuz mamul ağacı döngüsü gibi bişeymi..Yani Bilgisayarın mamul ağacı Anakart,İşlemci,Harddisk V.S Sonra başka bir kullanıcı gidip Anakart için mamul ağacı açıyor 20 transistör,10 kondansatör v.s sonra başka kullanıcı gidip kondansatöre mamul ağacı açıyor..Bu böyle sonsuz şekilde gidiyo suyunun suyu yani..senin yapmak istediğin şeyde buna benzer bişeyde nasıl bir database tasarımı yaparım diye soruyorsun gibi anladım?
Kullanıcı avatarı
kara_kule06
Üye
Mesajlar: 150
Kayıt: 18 Nis 2006 02:15
Konum: ankara/polatlı
İletişim:

Mesaj gönderen kara_kule06 »

Hocam Galiba Yapmak istediğiniz proje çok karışık.Bu yüzden önce projenizin genel amacını, sonrada izlediğiniz yöntemi anlatırsanız belki bi faydamız dokunabilir. Siz burda sadece yöntemi anlatmışınız(Ayrıca çok karışık) ve yöntem hakkında fikir istiyorsunuz. Amaç bilinmeden yöntem çıkarılamaz. :idea: Saygılar.


Kolay Gelsin.
İlim öğrenmek akıntıya karşı yüzmek gibidir. Ara verildiği zaman gerilenir...
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

@bobasturk
bu ana tablo olacak ve üç adet pk si var ALAN1, ALAN2, ALAN3.
hocam bir tabloda 3 adet pk mı tanımladınız yoksa bir fikir mi? daha öncede konuşulmuştu bu konu PK Primary Key birincil anahtar değeri taşır...
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

haklısınız baya bir karışık yazdım.

OLAYYILI, OLAYNO, EKRAPOR_NO adlı üç alanım var ana tabloda. bu tablo projenin anası. bu tabloya bağlı olarak inceleyen uzman(lar) detail tablosu, olaya karışan(lar) detail tablosu ve elde edilen delil(ler) detail tablosu var. bu üç tablo fk olarak yukarıdaki üç pk alana bağlı yani ana tabloda bir kayıt gösterildiğinde bu üç tabloda ana tabloya bağlı olanlar görünüyor sadece.

şimdi bu yukarıdaki anlattığım tablo inceleme bürosuna ait.

laboratuvar bürosu var ekspertiz hazırlayan ve delil(ler) tablosunda kendini ilgilendiren her bir delil için işlem yapıyor. labekspertiz diye bir ana tablosu var bu ana tablo yukarıdaki üç alan ile baş ana tabloya bağlı. sonra kendisinin labinceleme detail tablosu var bu da labekspertiz tablosunun id ine bağlı yukarıdaki üç alan yok. yani zincirleme reaksiyon ile bir birine bağlı tablolar. baş ana tablodan bir kayıt gösterildiğinde diğer bağlı tablolardaki ilgili kayıtlar gösteriliyor sadece.

afis bürosu var yine ekspertiz ve tablo hazırlayan. parmakizleri üzerinde işlem yapıyor yani delil(ler) tablosundan parmakizi olan delillere işlem yapıyor. bu büronunda afisekspertiz diye bir tablosu var ve yukarıda belirtilen üç alan ile baş ana tabloya bağlı. sonra kendisinin afisinceleme diye bir detail tablosu var bu tablo afisekspertiz id ine bağlı yukarıdaki üç alan yok içinde.

bu şekilde üç ayrı büro aynı olay üzerinde işlem yapıyor. haliyle dallar ortaya çıkıyor. burada öğrenmek isteğim bu üç alan ilemi işlem yapmak bağlantı kurmak yoksa üç büronun ana tablolarını bu üç alanla ilişkilendirmek detail tablolarını ana tablonun id si ilemi ilişkilendirmek.
amaç baş ana tabloda bir rapor silindimi tüm bağlı işlemleri silmek pk+fk ile bunu amaçladım. rapor yoksa yani olay yoksa detail leri yani incelenecek bir şeyleride yoktur.

üç pk alanı sorusuna gelince aynı rapor dan ikinci bir kez girilememesi için ve alanların integer değeri alması için bu uygulamayı yaptım. zira her yıl olayno lar sıfırlanıyor. ayrıca aynı olayın ikinci bir incelemesinde ek rapor tutuluyor. bu üç alanı pk yapmakla ikinci aynı kayıdın girilememesini sağlamak oldu. 2006 birden fazla olabilir ama 2006 ya 1 bir tane olur sonra 2007 ye 1 verilebilir.

bilmem anlatabildim mi inşeallah anlatmışımdır. suç bende bunları grafik halinde hazırlayabilseydim gayet anlaşılır olurdu ama çalakalem hazırladık işi.

saygısızlık olmayacak ve yük getirmeyecekse çalışmamı gönderebilirim. çünki sanırım kendini anlatamayanlardanım.

saygı ile kolay gelsin.
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

@babasturk
OLAYYILI, OLAYNO, EKRAPOR_NO adlı üç alanım var ana tabloda. bu tablo projenin anası. bu tabloya bağlı olarak inceleyen uzman(lar) detail tablosu, olaya karışan(lar) detail tablosu ve elde edilen delil(ler) detail tablosu var. bu üç tablo fk olarak yukarıdaki üç pk alana bağlı yani ana tabloda bir kayıt gösterildiğinde bu üç tabloda ana tabloya bağlı olanlar görünüyor sadece.
bu yanlış gibi geldi bana

ben bu yapıyı şöle tasarlardım

MASTER TABLOSU

MASTERID INTEGER PK AUTOINC
...

DETAİLLER

UZMAN
UZMANID INETEGR PK AUTOINC
MASTERID INTEGER SECONDARYINDEX (veya FK)
....

KARISAN
KARISANID INTEGER PK AUTOINC
MASTERID INETEGER SECONDARYINDEX (veya FK)
....

DELIL
DELILID INTEGER PK AUTOINC
MASTERID INTEGER SECONDARYINDEX (veya FK)
....
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba,

ustam bu konuda muhakkak ki haklısınızdır. böyle bir proje olarak bizden tecrübelisinizdir ki sizlere danışıyorum.

diğer bahsettiğim tabloların yapısı belirttiğiniz gibi auto inc alanlar ile bir birine pk+fk olarak bağlı. yanlız bu üç alanlı tablolarda belirttiğim gibi aynı kaydı girmemesini sağlamak. editin exit olayında sorgu çalıştırmadan pk nin unique özelliğinden faydalanmak. üç alan pk olunca program üçünün aynı olmasına göre haraket ediyor aynı değilse kayda devam ediyor.

sizin fikrinize gelince auto inc vererek exit olayında kontrol ettirmek. olabilir fakat üç alanın pk olmasının sakınca veya yararlarını biraz daha açarsanız sevineceğim.

teşekkür ve yagılarımla kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

hocam yukarda bahsettiğim yapıyı siz ilişkisel yapı için kullanacaksınız. alanları kullanıcı görmeyecek.

+
yanlız bu üç alanlı tablolarda belirttiğim gibi aynı kaydı girmemesini sağlamak. editin exit olayında sorgu çalıştırmadan pk nin unique özelliğinden faydalanmak.
bu olayı nasıl çözeceğini anlamadım desem. yani kullanıcı bu alanlara değer girdiğinde english bir hata mesajı alacak. apışıp kalacak. türkçe mesaj için ise kontrol kodlarını yazmanız kaçınılmaz gibi görünüyor...
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

Merhaba,

mesaj olayı sorun değil ama bir alan bağlantıları ile uğraşma fikri hoşuma gitmeye başladı. üç alan karmaşasından kurtulmak iyi olur. tabloları sil baştan yeniden yazmalı (burası keyfimi kaçırdı). neyse teşekkür ediyorm sayenizde karmaşadan kurtulacağım gibi.

saygı ile kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Cevapla