== UseCase002 with SQL - Регистрација на студент === Актери * Нерегистриран корисник === Чекори 1. Корисникот ја пополнува формата за регистрација и кликнува „Регистрирај се“ 2. Системот проверува дали постои корисник со внесената е-пошта 3. Доколку не постои, во една трансакција се креира корисникот и поврзаните податоци === SQL {{{#!sql -- 1. Проверка дали корисникот веќе постои SELECT COUNT(*) FROM users WHERE email = @email; -- 2. Креирање на корисник и поврзани записи во трансакција BEGIN; INSERT INTO users (id, name, embg, surname, "index", bday, email, password, role, created_at) VALUES (@id, @name, @embg, @surname, @index, @bday, @email, @passwordHash, 'student', now()); INSERT INTO contact (user_id, city, municipality, address, number, microsoft_email) VALUES (@id, @city, @municipality, @address, @number, @microsoftEmail); INSERT INTO enrollment_info (id, user_id, quota, major_id, enrollment_year) VALUES (@enrollmentId, @id, @quota, @majorId, @enrollmentYear); INSERT INTO high_school (user_id, gpa, type) VALUES (@id, @gpa, @hsType); COMMIT; }}}