Verileri sınıflandırmak için bu aracı yapıyorum. örneğin,veritabanı yapısı hakkındaki görüşler ve öneriler
a:b:c:d:e
a:b:c:d:e
a:b:c:d:e
a:b:c:d:e
Ve içine bu satırları kırmaya kategori listesi vardır: Temelde ben düzenli şuna benzer bir düz dosya veri satırlarını alınacak
Original Cat1 Cat2 Cat3 Cat4 Cat5
---------------------------------------
a:b:c:d:e a b c d e
Şu an itibariyle, kategori isimlerinin yanı sıra veriyi kırmak için kategori sayısı da biliniyor. Ancak bu zaman içinde değişebilir (örneğin, eklenen/kaldırılan kategoriler ... değiştirilen toplam kategori sayısı).
Tamam, bu yüzden satırların nasıl ayrıştırılacağı veya bir db'ye veya başka bir şeye nasıl veri getirileceği konusunda yardım istemiyorum ... Tüm bunları nasıl yapacağımı biliyorum ve çekirdek betiğin daha önce yazıldığını biliyorum. Değer sıralarını ayrıştırmak ve değişken miktarda kategoriye ayırmak.
Çoğunlukla bu şeyleri saklamak için benim veritabanını yapısı konusunda tavsiye arıyorum. Bu yüzden bu konuda düşünüyordum ve bu ile geldi budur:Table: Generated
generated_id int - unique id for each row generated
generated_timestamp datetime - timestamp of when row was generated
last_updated datetime - timestamp of when row last updated
generated_method varchar(6) - method in which row was generated (manual or auto)
original_string varchar (255) - the original string
Table: Categories
category_id int - unique id for category
category_name varchar(20) - name of category
Table: Category_Values
category_map_id int - unique id for each value (not sure if I actually need this)
category_id int - id value to link to table Categories
generated_id int - id value to link to table Generated
category_value varchar (255) - value for the category
Temelde fikir ben bir satır ayrıştırmak, ben yeni bir tabloya Generated
girişi, hem de X girdilerini eklemek olacaktır Category_Values
numaralı tabloda, X'in şu anda birçok kategorisi vardır. Ve kategori adları Categories
başka bir tabloda saklanır. Benim komut dosyasını ne yapacak
yeni bir dosyaya oluşturulan kategori değerleri bir yere gönderilmek üzere ham değerler ve çıkış süreci satırlar olduğunu. Ama sonra bu db'ye sahip olduğum veriyi saklamak için veriyorum, böylece daha önce üretilen değerleri arayabilir ve listeleyebilir veya daha önce üretilen girdileri yeni değerler veya herhangi bir şeyle güncelleyebilirim.
bu iyi bir veritabanı yapısı benziyor mu? Eksik olduğum veya potansiyel olarak kendimi taklit ettiğim bir şey var mı? Örneğin, bu yapıyla ... iyi ... Bir sql uzman değilim, ama benselect * from Generated where original_string = '$string'
// id is put into $id
gibi yapmak mümkün olmalıdır düşünmek ve sonra
select * from Category_Values where generated_id = '$id'
... ve sonra da veri için arama sonuçları veya veri değiştirmek için çalışmak için çalışacağım ... iyi Ben kesinlikle bir sorgu veya bir şey ile bir sorgu içine bir araya gelebilir ama ben sql ile bu harika değilim Bu yüzden aslında bunu nasıl yapılacağını bilmiyorum ... ama bu noktada, bu db yapısından ihtiyacım olanı yapabilirim, ama olması gerekenden daha zor mu yapıyorum? Bariz noob hatası mı yapıyorsun?
stackoverflow'a hoş geldiniz, çok güzel bir soru, iyi düzen ve çok sayıda arka plan. – Johan
FWIW: Category_Values öğesinden select_id (select created_id öğesinin orjinal_string = '$ string' öğesinden selected_id öğesini seçin) öğesinden seçin. – Jeremiah
Teşekkürler Jeremiah, bunu yazacaktır :) – slinkhi