Excel Veritabanı: SQL’e Kontrollü Geçiş
Excel dosyasını SQL veritabanına aktarmak yalnız satırları başka yere kopyalamak değildir. Müşteri, sipariş ve ürün kayıtlarının hangi kimlikle birbirine bağlı olduğunu belirlemek gerekir. Geçişi bu ilişkiler üzerinden hazırlıyorum; kaynakta eksik olan bilgiyi sırf aktarım tamamlandı görünsün diye uydurmuyorum.
SQL, ilişkisel veritabanındaki kayıtları sorgulamak ve yönetmek için kullanılan dildir. Bu hizmette Excel kayıtlarını uygulamanın kullanacağı ilişkisel veritabanına taşıyorum. Kullanıcıların günlük işi SQL komutu yazmak olmaz. Gereken giriş, arama ve yetki ekranlarını ayrıca tasarlarım. Veriyi taşımak ile kullanılabilir bir web uygulaması teslim etmek farklı kapsam parçalarıdır.
Örnek: Üç siparişin biri incelemede
Görseldeki kurgusal örnekte müşteri tablosunda C-01 ve C-02 olmak üzere 2 kayıt var. Sipariş tablosu 3 kayıt içeriyor. S-01, C-01 müşterisine; S-02, C-02 müşterisine bağlanıyor. Diğer siparişin müşteri alanında C-99 yazıyor ancak müşteri tablosunda bu kimlik yok.
Sonuç 2 sipariş aktarıldı, 1 sipariş incelemede olmalı. C-99’u ilk müşteriye bağlamak veya hatalı siparişi sessizce atmak doğru değil. Kaynak dosya ve satır bilgisi korunur; yetkili kişi eksik müşteriyi mi ekleyeceğine, yanlış kodu mu düzelteceğine karar verir. Örnek rakamlar gerçek bir müşteri aktarımını temsil etmez.
Geçişten önce veriyi anlamak
Aynı müşterinin farklı yazılmış adlarını, tekrar kullanılan numaraları ve hücre içinde tutulan birden fazla ürünü incelerim. Müşteri adı değişebilir; ilişkiyi yalnız ada bağlamam. Tarih, tutar ve başında sıfır bulunan kodlar için dönüşüm kuralları yazarım. Birleştirilecek kayıtlar varsa seçim ve gerekçe kayıt altına alınır.
Deneme aktarımını kaynak kopyasıyla yaparım. Kayıt sayısı kadar müşteri-sipariş bağlantısı ve örnek toplamlar da karşılaştırılır. Kullanıcıların son dosya değişiklikleri için kesim zamanı belirlenir. Eski dosya ile yeni uygulama aynı anda bağımsız düzenlenirse hangi kaynağın geçerli olduğunu belirsiz bırakmam.
SQL’e geçmek ne zaman anlamlı?
Düzenli bir Excel tablosu, sabit kayıt kimlikleri, veri doğrulama ve Power Query ile birleştirme ihtiyacı karşılanabilir. Desteklenen Microsoft 365 ortamında ortak düzenleme de vardır; sırf dosyayı birden fazla kişi kullanıyor diye SQL geçişi önermem. Önce mevcut dosya düzenini sadeleştirmek yeterli mi, ona bakarım. Birden fazla kayıt türü, yetkili kullanıcı ve birlikte yürüyen işlemler çoğaldığında veritabanı anlamlı hale gelir. Geçiş tek başına hızlı, güvenli veya hatasız bir sistem garantilemez; yetkiler, yedekleme ve uygulama kuralları ayrıca kurulup denenir.
Kurulumu nasıl somutlaştırıyorum?
Önce mevcut dosyanızın veya ekranınızın kişisel bilgilerden arındırılmış örneğini ve süreci kullanan kişilerin rollerini incelerim. Hangi bilginin nereden geldiğini, kim tarafından değiştirilebildiğini ve sonucun nereye gideceğini yazılı kapsamda belirlerim. C-99 gibi eksik ilişki, başında sıfır olan ürün kodu ve kesim saatinden sonra değişen kayıtla deneme yaparım. Aktarılan, bekletilen ve kapsam dışı bırakılan satırların hesabı kapanmalıdır.
Teslim kapsamına ekranların yanında veri dışa aktarımı, yedekleme yaklaşımı ve sorun olduğunda kimin müdahale edeceği de yazılır. İlk sürümü tek bir gerçek iş akışı üzerinde değerlendirir, sonraki bağlantıları o temel üzerinden planlarım.
Sıkça Sorulan Sorular
Bütün eski dosyalar tek seferde taşınmalı mı?
Hayır. Bağlantılı tabloları koruyarak aşamalı geçiş planlayabiliriz. Her aşamada hangi kaynağın düzenleneceği ve hangisinin yalnız okunacağı belli olur.
Formüller aynen çalışır mı?
Dosyadaki formül ile veritabanındaki hesap aynı şey değildir. Hangi hesabın uygulamada yapılacağını ve geçmiş sonuçların saklanıp saklanmayacağını ayrı değerlendiririm.
Geçişten geri dönülebilir mi?
Kaynak yedeği ve kesim planı bunun için hazırlanır. Yeni sistemde işlem başladıktan sonra dönüş daha fazla karşılaştırma ister; sadece eski dosyayı açmak yeterli sayılmaz.
İhtiyacınızı konuşalım
İlgili ihtiyacınız için XML Tedarikçi Ürün ve Stok Entegrasyonu sayfasına, genel yaklaşım için ekibinize özel web uygulamalarına bakabilirsiniz. Örnek akışınızı iletişim sayfasından paylaşarak kapsamı konuşabiliriz.
Nasıl çalışıyorum?
Çalışma saati paketleri
WhatsApp’tan ya da telefonda sitenizden ve ihtiyacınızdan bahsedin; 5 ile 40 saat arasında bir çalışma paketinde anlaşalım, ben gerekenleri yapmaya başlayayım. Aldığınız şey bir takvim aralığı değil, doğrudan sizin işinize harcanacak net mesai. 40 saati üç gün aralıksız çalışarak da kullanabiliriz, bilerek zamana yayıp bir yılda da bitirebiliriz — işin gerektirdiği neyse o. İşin ne kadar süreceğini tahmin etmeye değil, işi yapmaya vakit harcarım; harcadığım her saatin sitenizde kalıcı bir karşılığı olur. Faydalı olduğunu düşündüğünüz sürece bu şekilde devam ederiz.
Neden aylık değil?
40 saat 1 hafta mı oluyor?
Aylık sabit ücrette iki taraf da yanlış yere bakar: siz sabit gidere, karşı taraf kaç tane daha böyle sözleşme bağlayabileceğine. Saat üzerinden çalışınca ikimizin de baktığı yer aynı olur — yapılan işin gerçek değeri. "Toplamda ne kadar tutar?" sorusunun peşinen net bir cevabı olmaması bu modelin doğal maliyeti, farkındayım. Ama sonuç üretmeyen bir yapıya aylarca sabit ücret ödemek yerine yalnızca işinize ayrılan nitelikli zamanı ödersiniz, o zamanın nereye gittiğini de baştan sona görürsünüz. Müşterilerimin benimle tekrar tekrar çalışmasının sebebi bu.
