CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255),
email VARCHAR(255),
age INT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO users (name, email, age) VALUES
("山田太郎", "taro@example.com", 32),
("山田太朗", "taro.yamada+test@gmail.com", 32),
("山田タロウ", "fake@example.co", NULL),
("Yamada Taro", "yamada.taro@example.com", -1),
("taro_yamada", "taro_yamada@dummy.com", NULL),
("test user1", "test_user_001@dummy.com", 999),
("dummy", "dummy@example.com", NULL),
("佐藤花子", "hanako@example.com", 27),
("Sato Hanako", "hanako+temp@mailinator.com", NULL),
("中村仁", "jin@example.com", 150),
("no name", "ユーザー無し <no-user>", NULL);
CREATE TABLE sessions (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
session_date DATETIME,
duration_seconds INT,
metadata JSON,
FOREIGN KEY (user_id) REFERENCES users(id)
);
INSERT INTO sessions (user_id, session_date, duration_seconds, metadata) VALUES
(1, "2024-11-20 10:23:12", 360, '{"device":{"type":"esp32","firmware":"1.0.1","battery":92},"ecg":{"avg":82,"peak":[120,140,130],"status":"stable"}}'),
(2, "2030-01-01 00:00:00", 180, '{"device":{"type":"esp32","firmware":"1.0.3-beta","battery":-12},"ecg":{"avg":9999,"peak":[130,4000,215],"status":"unstable"}}'),
(3, "2024-11-21 15:10:00", -300, '{"ecg":{"avg":70,"peak":[100,110],"status":"stable"}}'),
(4, "1999-12-31 23:59:59", 600, '{"device":{"type":"unknown"},"note":"古いセッション"}'),
(5, NULL, 120, '{"error":"missing date"}'),
(6, "2024-02-29 00:00:00", 60, '{"dummy":"value"}');
CREATE TABLE ecg_logs (
id INT AUTO_INCREMENT PRIMARY KEY,
session_id INT,
timestamp DATETIME,
bpm INT,
raw_peak INT,
FOREIGN KEY (session_id) REFERENCES sessions(id)
);
INSERT INTO ecg_logs (session_id, timestamp, bpm, raw_peak) VALUES
(1, "2024-11-20 10:23:13", 82, 130),
(1, "2024-11-20 10:23:14", 85, 140),
(1, "2024-11-20 10:23:15", 80, 130),
(2, "2030-01-01 00:00:01", 9999, 4000),
(2, "2030-01-01 00:00:02", 120, 215),
(3, "2024-11-21 15:10:01", 70, 100),
(4, "1999-12-31 23:59:59", 50, 80);