-- Inserir categorias de exercícios WITH inserted_categories AS ( INSERT INTO phonics_categories (name, description, level, order_index) VALUES ('Rimas', 'Exercícios para praticar rimas', 1, 1), ('Sons Iniciais', 'Exercícios com sons iniciais', 1, 2), ('Sons Finais', 'Exercícios com sons finais', 2, 3), ('Sílabas', 'Exercícios de contagem de sílabas', 2, 4) RETURNING id, name, level -- Include level in the RETURNING clause ), -- Inserir tipos de exercícios inserted_types AS ( INSERT INTO phonics_exercise_types (name, description) VALUES ('rhyme', 'Exercícios de rima'), ('initial_sound', 'Exercícios de som inicial'), ('final_sound', 'Exercícios de som final'), ('syllables', 'Exercícios de sílabas') RETURNING id, name ), -- Inserir palavras para os exercícios inserted_words AS ( INSERT INTO phonics_words (word, phonetic_transcription, syllables_count) VALUES -- Palavras para rimas ('bola', 'bɔ.la', 2), ('cola', 'kɔ.la', 2), ('mola', 'mɔ.la', 2), ('sala', 'sa.la', 2), -- Palavras para sons iniciais ('pato', 'pa.to', 2), ('pera', 'pe.ɾa', 2), ('gato', 'ga.to', 2), ('mesa', 'me.za', 2), -- Palavras para sons finais ('casa', 'ka.za', 2), ('rosa', 'ʁo.za', 2), ('rato', 'ʁa.to', 2), ('mato', 'ma.to', 2), -- Palavras para sílabas ('borboleta', 'boʁ.bo.le.ta', 4), ('sol', 'sɔw', 1), ('cachorro', 'ka.ʃo.ʁo', 3), ('pé', 'pɛ', 1) RETURNING id, word ) -- Inserir exercícios , inserted_exercises AS ( INSERT INTO phonics_exercises ( category_id, type_id, title, description, difficulty_level, estimated_time_seconds, instructions, points, is_active, required_score ) SELECT c.id, t.id, CASE t.name WHEN 'rhyme' THEN 'Encontre a Rima: Bola' WHEN 'initial_sound' THEN 'Som Inicial: Pato' WHEN 'final_sound' THEN 'Som Final: Casa' WHEN 'syllables' THEN 'Conte as Sílabas: Borboleta' END, CASE t.name WHEN 'rhyme' THEN 'Encontre a palavra que rima com BOLA' WHEN 'initial_sound' THEN 'Encontre a palavra que começa com o mesmo som de PATO' WHEN 'final_sound' THEN 'Encontre a palavra que termina com o mesmo som de CASA' WHEN 'syllables' THEN 'Quantas sílabas tem a palavra BORBOLETA?' END, CASE WHEN c.level = 1 THEN 1 ELSE 2 END, 60, CASE t.name WHEN 'rhyme' THEN 'Clique na palavra que rima com BOLA' WHEN 'initial_sound' THEN 'Clique na palavra que começa com o mesmo som de PATO' WHEN 'final_sound' THEN 'Clique na palavra que termina com o mesmo som de CASA' WHEN 'syllables' THEN 'Clique no número que representa a quantidade de sílabas da palavra BORBOLETA' END, 10, true, 0.7 FROM inserted_categories c JOIN inserted_types t ON (c.name = 'Rimas' AND t.name = 'rhyme') OR (c.name = 'Sons Iniciais' AND t.name = 'initial_sound') OR (c.name = 'Sons Finais' AND t.name = 'final_sound') OR (c.name = 'Sílabas' AND t.name = 'syllables') RETURNING id, type_id ) -- Relacionar exercícios com palavras INSERT INTO phonics_exercise_words (exercise_id, word_id, is_correct_answer, order_index) SELECT e.id, w.id, CASE -- Exercício de rima (bola) WHEN t.name = 'rhyme' AND w.word IN ('bola', 'cola') THEN true WHEN t.name = 'rhyme' AND w.word IN ('gato', 'mesa') THEN false -- Exercício de som inicial (pato) WHEN t.name = 'initial_sound' AND w.word IN ('pato', 'pera') THEN true WHEN t.name = 'initial_sound' AND w.word IN ('gato', 'mesa') THEN false -- Exercício de som final (casa) WHEN t.name = 'final_sound' AND w.word IN ('casa', 'rosa') THEN true WHEN t.name = 'final_sound' AND w.word IN ('rato', 'mato') THEN false -- Exercício de sílabas (borboleta) WHEN t.name = 'syllables' AND w.word = 'borboleta' THEN true WHEN t.name = 'syllables' AND w.word IN ('sol', 'cachorro', 'pé') THEN false END, CASE -- Ordem para exercício de rima WHEN t.name = 'rhyme' AND w.word = 'bola' THEN 1 WHEN t.name = 'rhyme' AND w.word = 'cola' THEN 2 WHEN t.name = 'rhyme' AND w.word = 'gato' THEN 3 WHEN t.name = 'rhyme' AND w.word = 'mesa' THEN 4 -- Ordem para exercício de som inicial WHEN t.name = 'initial_sound' AND w.word = 'pato' THEN 1 WHEN t.name = 'initial_sound' AND w.word = 'pera' THEN 2 WHEN t.name = 'initial_sound' AND w.word = 'gato' THEN 3 WHEN t.name = 'initial_sound' AND w.word = 'mesa' THEN 4 -- Ordem para exercício de som final WHEN t.name = 'final_sound' AND w.word = 'casa' THEN 1 WHEN t.name = 'final_sound' AND w.word = 'rosa' THEN 2 WHEN t.name = 'final_sound' AND w.word = 'rato' THEN 3 WHEN t.name = 'final_sound' AND w.word = 'mato' THEN 4 -- Ordem para exercício de sílabas WHEN t.name = 'syllables' AND w.word = 'borboleta' THEN 1 WHEN t.name = 'syllables' AND w.word = 'sol' THEN 2 WHEN t.name = 'syllables' AND w.word = 'cachorro' THEN 3 WHEN t.name = 'syllables' AND w.word = 'pé' THEN 4 END FROM inserted_exercises e JOIN inserted_types t ON t.id = e.type_id JOIN inserted_words w ON (t.name = 'rhyme' AND w.word IN ('bola', 'cola', 'gato', 'mesa')) OR (t.name = 'initial_sound' AND w.word IN ('pato', 'pera', 'gato', 'mesa')) OR (t.name = 'final_sound' AND w.word IN ('casa', 'rosa', 'rato', 'mato')) OR (t.name = 'syllables' AND w.word IN ('borboleta', 'sol', 'cachorro', 'pé'));