Sentetik Veri — MySQL
MySQL için hazırlanan Demo Fabrika veri seti, Pirivision'da MySQL bağlantısını denemek için tek bir tablo içerir. MySQL'de generate_series olmadığından tarih dizisi geçici bir tablo yöntemiyle üretilir.
Oluşturulan Tablo
Tablo mevcut veritabanınızda demo_ önekiyle açılır; uygulama tablolarınızla çakışmaz.
CREATE TABLE demo_vardiya_uretim (
ts DATE NOT NULL,
hat_id VARCHAR(20) NOT NULL,
makine_id VARCHAR(20) NOT NULL,
vardiya VARCHAR(10) NOT NULL,
urun_ailesi VARCHAR(20) NOT NULL,
uretim_adet INT NOT NULL,
hedef INT NOT NULL,
INDEX idx_demo_vardiya_ts (ts),
INDEX idx_demo_vardiya_hat (hat_id, ts)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Verinin Üretim Mantığı
1. Geçici Tarih Tablosu
MySQL'de generate_series bulunmadığından 0–30 arasındaki sayılar çapraz birleştirilerek 31 günlük bir tarih listesi oluşturulur:
CREATE TEMPORARY TABLE _seed_gunler (gun DATE);
INSERT INTO _seed_gunler (gun)
SELECT DATE_SUB(CURDATE(), INTERVAL t.n DAY)
FROM (
SELECT a.N + b.N * 10 AS n
FROM (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
UNION ALL SELECT 8 UNION ALL SELECT 9) a
CROSS JOIN (SELECT 0 AS N UNION ALL SELECT 1 UNION ALL SELECT 2) b
WHERE (a.N + b.N * 10) <= 30
) t;
2. Veri Üretimi
Tarih listesi makine ve vardiya listeleriyle CROSS JOIN yapılarak her kombinasyon için bir satır üretilir:
INSERT INTO demo_vardiya_uretim
(ts, hat_id, makine_id, vardiya, urun_ailesi, uretim_adet, hedef)
SELECT
g.gun,
CASE WHEN m.idx <= 3 THEN 'HAT-1' ELSE 'HAT-2' END,
CONCAT('M0', m.idx),
v.vardiya,
ELT(1 + FLOOR(RAND() * 4), 'Ürün-A','Ürün-B','Ürün-C','Ürün-D'),
250 + FLOOR(RAND() * 200), -- 250–449 arası üretim adedi
400 -- sabit hedef
FROM _seed_gunler g
CROSS JOIN (
SELECT 1 AS idx UNION ALL SELECT 2 UNION ALL SELECT 3
UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6
) m
CROSS JOIN (
SELECT 'V1' AS vardiya UNION ALL SELECT 'V2' UNION ALL SELECT 'V3'
) v;
Sonuç: 31 gün × 6 makine × 3 vardiya = 558 satır
Script tamamlandığında otomatik bir doğrulama sorgusu çalışır:
Veritabanına Yükleme
SQL scriptini veritabanınıza çalıştırın:
Scripti tekrar çalıştırmak güvenlidir — başında mevcut tablo varsa önce silinir.
Pirivision'a Ekleme
- Port → Yeni Veri Kaynağı → MySQL yolunu izleyin.
- Sunucu, veritabanı ve kimlik bilgilerini girin.
- Test and Save ile kaynağı kaydedin.
Kayıt tamamlandıktan sonra Compass'ta yazabileceğiniz örnek sorgu: