En iyi yanıtlayıcılar
Kategori ve alt kategori hk. yardım lütfen.

Soru
-
Arkadaşlar Merhabalar,
Kategoriler ve alt kategoriler mantığını tam anlayamadım desteğinizi rica ediyorum.
Normalde aşağıdaki gibi iki tablo hazırlayıp yapabiliyorum fakat alt kategori seçeneği çoğalınca ( Kategori-->xAltKategori-->xxAltKategori gibi...) aşağıdaki tablolar yetersiz kalabiliyor.
Tbl_Kategoriler ( KategoriID, KategoriAdı )
Tbl_AltKategoriler ( AltKategoriID, AltKategoriAdı, KatID )
Biraz araştırdım, bu işlemler tek tablo halinde sınırsız kategori mantığı ile daha profesyonel olarak yapılabiliyor sanırım fakat ben yapamadım.
Gerekirse id verebilirim, bana bir örnek uygulama yaparak bu mantığı anlamamda yardımcı olmanızı rica ediyorum.
Syg.
C# MsSql Server
Yanıtlar
-
Iki degil tek tablo kullanırsaniz olur.
CREATE TABLE [kategoriler]( [KategoriId] [int] IDENTITY(1,1) NOT NULL primary key, [KategoriAd] [nvarchar](100) NULL, [UstKategoriId] [int] NULL foreign key references [kategoriler] ([KategoriId])
Buna "self referencing" deniyor. Northwind ornek veritabanına bakarsanız orada da Employees tablosunda bu sekilde, personelin bağlı olduğu kisi ManagerId ile belirtiliyor (ayni tablonun ID'si).
Bu tip baglantiyi yönetmek her zaman kolay olmayabilir. Bu sekilde tutmak yerine, tum üstüne kategorilerini bir hiyerarşi seklinde tutmak da kullanılan yöntemlerden.
postgreSQL olsa, ustKategoriler, altkategoriler array olabilirdi.
Blog
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.- Yanıt Olarak İşaretleyen Levent_01 3 Temmuz 2020 Cuma 21:13
-
Internetde "self referencing tables" diye aratabilirsin.
Blog
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.- Yanıt Olarak İşaretleyen Levent_01 3 Temmuz 2020 Cuma 21:13
Tüm Yanıtlar
-
Iki degil tek tablo kullanırsaniz olur.
CREATE TABLE [kategoriler]( [KategoriId] [int] IDENTITY(1,1) NOT NULL primary key, [KategoriAd] [nvarchar](100) NULL, [UstKategoriId] [int] NULL foreign key references [kategoriler] ([KategoriId])
Buna "self referencing" deniyor. Northwind ornek veritabanına bakarsanız orada da Employees tablosunda bu sekilde, personelin bağlı olduğu kisi ManagerId ile belirtiliyor (ayni tablonun ID'si).
Bu tip baglantiyi yönetmek her zaman kolay olmayabilir. Bu sekilde tutmak yerine, tum üstüne kategorilerini bir hiyerarşi seklinde tutmak da kullanılan yöntemlerden.
postgreSQL olsa, ustKategoriler, altkategoriler array olabilirdi.
Blog
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.- Yanıt Olarak İşaretleyen Levent_01 3 Temmuz 2020 Cuma 21:13
-
Bu tip baglantiyi yönetmek her zaman kolay olmayabilir. Bu sekilde tutmak yerine, tum üstüne kategorilerini bir hiyerarşi seklinde tutmak da kullanılan yöntemlerden.
Çetin Bey Merhaba,
Öncelikle teşekkür ederim yardımcı olmaya çalıştığınız için.
Geç dönüşüm için kusura bakmayınız, iş yerimde net olmadığı için henüz yeni girebildim net e.
Yukarıda belirttiğiniz yöntem ile nasıl yapabilirim, destek olabilir misiniz?
anydesk id versem bağlanıp bi göz atmanız mümkün olur mu?
Syg.
-
Internetde "self referencing tables" diye aratabilirsin.
Blog
How to create a Minimal, Reproducible Example
The way to Go.
World's most advanced open source (object-) relational Database.
Flutter (for mobile, for web & desktop.
Not: Temelin geri zekali arkadasi Idris bu mesaja da atlayip ne kadar aptal oldugunu bir kez daha belgeleyebilir. Kendisinin tek marifeti beni takip edip, neden her soruya cevap verdigimi, yardim etmeye calistigimi sorgulamaktir. Bu beyinsiz zavalliya, aptal oldugunu hatirlatmayi unutmayiniz.- Yanıt Olarak İşaretleyen Levent_01 3 Temmuz 2020 Cuma 21:13
-