Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Para desenvolver um código em Python que interaja com um banco de dados para gerenciar lugares ocupados e não ocupados em um cinema, é essencial entender os principais componentes que compõem a solução: a estrutura do banco de dados, a conexão com o banco de dados, e as operações CRUD (Create, Read, Update, Delete) para gerenciar as informações das cadeiras. Vamos detalhar cada uma dessas partes e fornecer um código exemplo que implementa essas funcionalidades.
### Estrutura do Banco de Dados
Vamos considerar que estamos utilizando um banco de dados SQLite para simplificar a configuração. A tabela que armazena as informações das cadeiras pode ser chamada de `cadeiras` e pode ter a seguinte estrutura:
```sql
CREATE TABLE cadeiras (
 id INTEGER PRIMARY KEY AUTOINCREMENT,
 numero INTEGER NOT NULL,
 ocupada BOOLEAN NOT NULL DEFAULT 0
);
```
### Conexão com o Banco de Dados
Primeiro, precisamos configurar a conexão com o banco de dados SQLite em Python. Para isso, utilizamos o módulo `sqlite3`, que é parte da biblioteca padrão do Python.
```python
import sqlite3
def conectar_banco():
 conn = sqlite3.connect('cinema.db')
 return conn
```
### Operações CRUD
#### Criação da Tabela
Antes de realizar qualquer operação, precisamos garantir que a tabela `cadeiras` exista. Para isso, podemos criar uma função que cria a tabela se ela não existir:
```python
def criar_tabela():
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('''
 CREATE TABLE IF NOT EXISTS cadeiras (
 id INTEGER PRIMARY KEY AUTOINCREMENT,
 numero INTEGER NOT NULL,
 ocupada BOOLEAN NOT NULL DEFAULT 0
 )
 ''')
 conn.commit()
 conn.close()
```
#### Inserção de Dados
Para inserir informações sobre as cadeiras, podemos criar uma função que adiciona novas cadeiras ao banco de dados:
```python
def adicionar_cadeira(numero, ocupada=False):
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('''
 INSERT INTO cadeiras (numero, ocupada)
 VALUES (?, ?)
 ''', (numero, ocupada))
 conn.commit()
 conn.close()
```
#### Leitura de Dados
Para ler os dados do banco de dados e verificar quais cadeiras estão ocupadas ou livres, podemos criar funções que retornam essas informações:
```python
def listar_cadeiras():
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('SELECT * FROM cadeiras')
 cadeiras = cursor.fetchall()
 conn.close()
 return cadeiras
def listar_cadeiras_ocupadas():
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('SELECT * FROM cadeiras WHERE ocupada = 1')
 cadeiras = cursor.fetchall()
 conn.close()
 return cadeiras
def listar_cadeiras_livres():
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('SELECT * FROM cadeiras WHERE ocupada = 0')
 cadeiras = cursor.fetchall()
 conn.close()
 return cadeiras
```
#### Atualização de Dados
Para atualizar o estado de uma cadeira (por exemplo, marcar como ocupada ou livre), podemos usar a seguinte função:
```python
def atualizar_cadeira(numero, ocupada):
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('''
 UPDATE cadeiras
 SET ocupada = ?
 WHERE numero = ?
 ''', (ocupada, numero))
 conn.commit()
 conn.close()
```
#### Exclusão de Dados
Para remover cadeiras do banco de dados, podemos utilizar a seguinte função:
```python
def remover_cadeira(numero):
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('''
 DELETE FROM cadeiras
 WHERE numero = ?
 ''', (numero,))
 conn.commit()
 conn.close()
```
### Exemplo Completo
Agora, vamos integrar todas essas partes em um exemplo completo:
```python
import sqlite3
def conectar_banco():
 return sqlite3.connect('cinema.db')
def criar_tabela():
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('''
 CREATE TABLE IF NOT EXISTS cadeiras (
 id INTEGER PRIMARY KEY AUTOINCREMENT,
 numero INTEGER NOT NULL,
 ocupada BOOLEAN NOT NULL DEFAULT 0
 )
 ''')
 conn.commit()
 conn.close()
def adicionar_cadeira(numero, ocupada=False):
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('''
 INSERT INTO cadeiras (numero, ocupada)
 VALUES (?, ?)
 ''', (numero, ocupada))
 conn.commit()
 conn.close()
def listar_cadeiras():
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('SELECT * FROM cadeiras')
 cadeiras = cursor.fetchall()
 conn.close()
 return cadeiras
def listar_cadeiras_ocupadas():
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('SELECT * FROM cadeiras WHERE ocupada = 1')
 cadeiras = cursor.fetchall()
 conn.close()
 return cadeiras
def listar_cadeiras_livres():
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('SELECT * FROM cadeiras WHERE ocupada = 0')
 cadeiras = cursor.fetchall()
 conn.close()
 return cadeiras
def atualizar_cadeira(numero, ocupada):
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('''
 UPDATE cadeiras
 SET ocupada = ?
 WHERE numero = ?
 ''', (ocupada, numero))
 conn.commit()
 conn.close()
def remover_cadeira(numero):
 conn = conectar_banco()
 cursor = conn.cursor()
 cursor.execute('''
 DELETE FROM cadeiras
 WHERE numero = ?
 ''', (numero,))
 conn.commit()
 conn.close()
# Exemplo de uso
if __name__ == "__main__":
 criar_tabela()
 adicionar_cadeira(1)
 adicionar_cadeira(2, True)
 adicionar_cadeira(3)
 print("Todas as cadeiras:")
 print(listar_cadeiras())
 print("Cadeiras ocupadas:")
 print(listar_cadeiras_ocupadas())
 print("Cadeiras livres:")
 print(listar_cadeiras_livres())
 atualizar_cadeira(1, True)
 print("Após atualizar a cadeira 1 para ocupada:")
 print(listar_cadeiras())
 remover_cadeira(3)
 print("Após remover a cadeira 3:")
 print(listar_cadeiras())
```
### Considerações Finais
Este exemplo demonstra como criar um sistema básico de gerenciamento de cadeiras de cinema usando Python e SQLite. As operações CRUD são fundamentais para a interação com o banco de dados e permitem adicionar, listar, atualizar e remover cadeiras. Este código pode ser expandido para incluir mais funcionalidades, como a gestão de sessões de cinema, preços de ingressos, entre outros. Além disso, pode ser integrado a uma interface gráfica ou uma API para fornecer uma experiência de usuário mais rica e interativa.

Mais conteúdos dessa disciplina