diff --git a/exercicios/para-casa/maria-gomes/desafio2.png b/exercicios/para-casa/maria-gomes/desafio2.png new file mode 100644 index 0000000..57f6c33 Binary files /dev/null and b/exercicios/para-casa/maria-gomes/desafio2.png differ diff --git a/exercicios/para-casa/maria-gomes/desafios1.md b/exercicios/para-casa/maria-gomes/desafios1.md new file mode 100644 index 0000000..631315a --- /dev/null +++ b/exercicios/para-casa/maria-gomes/desafios1.md @@ -0,0 +1,9 @@ +DESAFIO 1 + +Gosto de ler e tenho vários livros que iniciei e parei no meio do caminho, seria legal ter noção de quanto falta para terminar cada livro. + +Gerenciar livros lidos e livros a serem lidos. + +Quais são os livros que já li e quais ainda estão na lista de espera? +Quantas páginas e capítulos de cada livro eu já li, e quantos ainda faltam? +Qual é o autor que eu mais leio? diff --git a/exercicios/para-casa/maria-gomes/sql.py b/exercicios/para-casa/maria-gomes/sql.py new file mode 100644 index 0000000..a97301d --- /dev/null +++ b/exercicios/para-casa/maria-gomes/sql.py @@ -0,0 +1,78 @@ +import sqlite3 + +conn = sqlite3.connect("livros_progresso.db") + +cur = conn.cursor() + +cur.execute(""" +CREATE TABLE Livros( + Id INTEGER NOT NULL PRIMARY KEY, + Nome TEXT NOT NULL, + Autor TEXT NOT NULL, + Quantidade_de_Paginas TEXT NOT NULL, + Quantidade_de_Capitulos TEXT NOT NULL, + Genero TEXT NOT NULL +) +""") + +cur.execute(""" +CREATE TABLE Pessoas( + Id INTEGER NOT NULL PRIMARY KEY, + Nome TEXT NOT NULL, + Sobrenome TEXT NOT NULL +) +""") + +cur.execute(""" +CREATE TABLE Progresso_Livro_Pessoa( + Id INTEGER NOT NULL PRIMARY KEY, + Livro_Id INTEGER NOT NULL, + Pessoa_Id INTEGER NOT NULL, + Paginas_Lidas INTEGER NOT NULL, + Capitulos_Lidos INTEGER NOT NULL, + Percentual_Lido INTEGER NOT NULL + FOREIGN KEY (Livro_Id) + REFERENCES Livros (Id) + ON DELETE CASCADE + ON UPDATE NO ACTION, + FOREIGN KEY (Pessoa_Id) + REFERENCES Pessoas (Id) + ON DELETE CASCADE + ON UPDATE NO ACTION, +) +""") + +cur.execute(""" +INSERT INTO Livros VALUES + ('Sherlock - 1','Árthur Conan Doyle', 250, 10,'Romance'), + ('Sherlock - 2','Árthur Conan Doyle', 250, 10,'Romance'), + ('Sherlock - 3','Árthur Conan Doyle', 250, 10,'Romance'), + ('Sherock - 4','Árthur Conan Doyle', 250, 10,'Romance') +""") + +cur.execute(""" +INSERT INTO Pessoas VALUES + ('Maria', 'Janovicci'), + ('Rafael', 'Gomes') +""") + +cur.execute(""" +INSERT INTO Progresso_Livro_Pessoa VALUES + (1,1,50,2,20), + (2,1,100,4,40), + (1,2,25,1,10) +""") + +conn.commit() + +cur.execute(""" +UPDATE Livros +SET Nome = 'Sherock - 4' WHERE Id = 4 +""") + +res = cur.execute("SELECT * FROM Progresso_Livro_Pessoa WHERE Pessoa_Id = 1 AND Livro_Id = 1") +res = cur.execute("SELECT * FROM Progresso_Livro_Pessoa WHERE Pessoa_Id = 1 AND Pessoa = 1") +res = cur.execute("SELECT * FROM Progresso_Livro_Pessoa WHERE Pessoa_Id = 1 AND Percentual_Lido < 100") +res.fetchall() + +conn.close()