-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsample-data.sql
More file actions
104 lines (95 loc) · 5.6 KB
/
Copy pathsample-data.sql
File metadata and controls
104 lines (95 loc) · 5.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
USE ITAssetManagementDB;
GO
-- ====================================================================
-- 1. USERS TABLOSU İÇİN ÖRNEK VERİLER
-- ====================================================================
INSERT INTO Users (username, email, password_hash, status, role)
VALUES
('ahmet.yilmaz', 'ahmet@firma.com', '$2a$12$LwY7K...', 'DEACTIVATED', 'USER'), -- Senaryomuzdaki deaktif Ahmet
('mehmet.demir', 'mehmet@firma.com', '$2a$12$KjH8M...', 'ACTIVE', 'USER'), -- Yeni personel Mehmet
('kerem.admin', 'kerem@firma.com', '$2a$12$PqR9X...', 'ACTIVE', 'ADMIN'), -- Altyapıyı kuran Admin Kerem
('can.teknik', 'can@firma.com', '$2a$12$ZzY1A...', 'ACTIVE', 'TECHNICIAN');
-- ====================================================================
-- 2. LICENSES TABLOSU İÇİN ÖRNEK VERİLER
-- ====================================================================
INSERT INTO licenses (software_name, license_key, expiration_date, total_slots)
VALUES
('Windows Server 2022 Datacenter', 'W269N-WFGWX-YVC9B-4J6C9-T83GX', '2028-12-31', 10),
('IntelliJ IDEA Ultimate Edition', 'LIC-INTEL-8892-XF92-MM12', '2027-05-15', 50),
('MS SQL Server 2022 Standard', 'SQL22-KK921-MMO92-LLP12-QW921', NULL, 5); -- Süresiz Lisans
-- ====================================================================
-- DİNAMİK İLİŞKİLER İÇİN DEĞİŞKEN TANIMLAMALARI
-- (GUID yapısında Foreign Key eşleştirmelerini dinamik yapmak için)
-- ====================================================================
DECLARE @AhmetID UNIQUEIDENTIFIER, @MehmetID UNIQUEIDENTIFIER, @AdminID UNIQUEIDENTIFIER;
DECLARE @ServerID UNIQUEIDENTIFIER, @LaptopID UNIQUEIDENTIFIER, @SwitchID UNIQUEIDENTIFIER;
DECLARE @WinLicID UNIQUEIDENTIFIER, @IntelliJLicID UNIQUEIDENTIFIER, @SqlLicID UNIQUEIDENTIFIER;
-- Oluşan Kullanıcı ID'lerini değişkenlere alalım
SELECT @AhmetID = id FROM Users WHERE username = 'ahmet.yilmaz';
SELECT @MehmetID = id FROM Users WHERE username = 'mehmet.demir';
SELECT @AdminID = id FROM Users WHERE username = 'kerem.admin';
-- Oluşan Lisans ID'lerini değişkenlere alalım
SELECT @WinLicID = id FROM licenses WHERE software_name LIKE 'Windows Server%';
SELECT @IntelliJLicID = id FROM licenses WHERE software_name LIKE 'IntelliJ IDEA%';
SELECT @SqlLicID = id FROM licenses WHERE software_name LIKE 'MS SQL Server%';
-- ====================================================================
-- 3. ASSETS TABLOSU İÇİN ÖRNEK VERİLER
-- ====================================================================
-- Not: Ahmet'in eski laptopu artık Mehmet'e zimmetli (Senaryomuz gereği)
INSERT INTO Assets (asset_name, asset_type, ip_address, mac_address, status, location, assigned_user_id)
VALUES
('SRV-APP-01', 'SERVER', '10.0.0.10', '00:1A:2B:3C:4D:5E', 'ACTIVE', 'Veri Merkezi - Kabin A3', NULL),
('LT-KEREM-01', 'LAPTOP', '10.0.0.85', 'AA:BB:CC:DD:EE:FF', 'ACTIVE', 'Merkez Ofis - Kat 2', @MehmetID), -- Ahmet'ten boşa çıkıp Mehmet'e geçen Laptop
('SW-FLOOR1-01', 'SWITCH', '192.168.1.10', '11:22:33:44:55:66', 'ACTIVE', 'Merkez Ofis - Sistem Odası', NULL),
('LT-YEDEK-05', 'LAPTOP', NULL, '99:88:77:66:55:44', 'SPARE', 'BT Depo', NULL);
-- Oluşan Asset ID'lerini ara tablolar için değişkenlere alalım
SELECT @ServerID = id FROM Assets WHERE asset_name = 'SRV-APP-01';
SELECT @LaptopID = id FROM Assets WHERE asset_name = 'LT-KEREM-01';
SELECT @SwitchID = id FROM Assets WHERE asset_name = 'SW-FLOOR1-01';
-- ====================================================================
-- 4. ASSET_LICENSES (N:M ARA TABLO) İÇİN ÖRNEK VERİLER
-- ====================================================================
INSERT INTO asset_licenses (asset_id, license_id, assigned_at)
VALUES
(@ServerID, @WinLicID, GETDATE()), -- Sunucuya Windows Server lisansı tanımlandı
(@ServerID, @SqlLicID, GETDATE()), -- Sunucuya SQL Server lisansı tanımlandı (Bir cihazda birden fazla lisans)
(@LaptopID, @IntelliJLicID, GETDATE());-- Mehmet'in laptopuna IntelliJ lisansı tanımlandı
-- ====================================================================
-- 5. AUDIT_LOGS TABLOSU İÇİN ÖRNEK VERİLER (Zaman Tüneli Kaydı)
-- ====================================================================
-- Ahmet ve Mehmet senaryosunu canlandıran tarihsel JSON logları
INSERT INTO audit_logs (asset_id, action_by_id, action_type, old_value, new_value, logged_at)
VALUES
(
@LaptopID,
@AdminID,
'ZİMMET_DEĞİŞİKLİĞİ',
'{"assigned_user_id": null, "ip_address": null, "status": "SPARE"}',
'{"assigned_user_id": "' + CAST(@AhmetID AS VARCHAR(50)) + '", "ip_address": "192.168.1.50", "status": "ACTIVE"}',
DATEADD(day, -30, GETDATE()) -- 30 gün önce cihaz ilk olarak Ahmet'e verildi
),
(
@LaptopID,
@AdminID,
'IP_GÜNCELLEME',
'{"ip_address": "192.168.1.45"}',
'{"ip_address": "192.168.1.50"}',
DATEADD(day, -2, GETDATE()) -- Ahmet işten çıkmadan 2 gün önce (Konuştuğumuz senaryo)
),
(
@LaptopID,
@AdminID,
'PERSONEL_AYRILISI_BOŞA_ALMA',
'{"assigned_user_id": "' + CAST(@AhmetID AS VARCHAR(50)) + '", "ip_address": "192.168.1.50", "status": "ACTIVE"}',
'{"assigned_user_id": null, "ip_address": null, "status": "SPARE"}',
DATEADD(hour, -5, GETDATE()) -- Bugün 5 saat önce Ahmet deaktif oldu, cihaz sıfırlandı ve depoya çekildi
),
(
@LaptopID,
@AdminID,
'YENİ_ZİMMET_ATAMA',
'{"assigned_user_id": null, "ip_address": null, "status": "SPARE"}',
'{"assigned_user_id": "' + CAST(@MehmetID AS VARCHAR(50)) + '", "ip_address": "10.0.0.85", "status": "ACTIVE"}',
DATEADD(hour, -1, GETDATE()) -- Bugün 1 saat önce cihaz temizlenip Mehmet'e atandı ve yeni IP aldı
);
GO