0% acharam este documento útil (0 voto)
11 visualizações17 páginas

Mini-Curso: PHP, Python e SQL Básico

O mini-curso introdutório abrange PHP, Python e SQL, dividido em três módulos de 4 horas cada, totalizando 12 horas. O curso é voltado para iniciantes e inclui exercícios práticos, além de um projeto integrador que envolve a criação de um sistema de gerenciamento de tarefas. Recursos adicionais e sugestões de continuidade também são fornecidos.

Enviado por

Jose silva
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
11 visualizações17 páginas

Mini-Curso: PHP, Python e SQL Básico

O mini-curso introdutório abrange PHP, Python e SQL, dividido em três módulos de 4 horas cada, totalizando 12 horas. O curso é voltado para iniciantes e inclui exercícios práticos, além de um projeto integrador que envolve a criação de um sistema de gerenciamento de tarefas. Recursos adicionais e sugestões de continuidade também são fornecidos.

Enviado por

Jose silva
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Vamos criar um mini-curso introdutório que abrange os três tópicos: PHP, Python e SQL.

O
curso será dividido em três módulos, cada um focado em uma tecnologia, mas com a ideia de
que elas podem trabalhar juntas. Vamos manter o curso prático e objetivo.

Mini-Curso: Introdução a PHP, Python e SQL

Objetivo do Curso:

Fornecer uma base sólida em PHP, Python e SQL, mostrando como essas tecnologias podem
ser usadas para desenvolvimento web e manipulação de dados.

Público-alvo:

Iniciantes em programação ou pessoas que desejam conhecer o básico dessas três tecnologias.

Duração:

Cada módulo tem duração estimada de 4 horas, totalizando 12 horas.

Módulo 1: SQL (Structured Query Language)

Conteúdo:

1. Introdução a Bancos de Dados Relacionais

o O que é um banco de dados?

o Tabelas, linhas (registros) e colunas (campos).

o Chaves primárias e estrangeiras.

2. SQL Básico

o Criando um banco de dados e tabelas (CREATE DATABASE, CREATE TABLE).

o Inserindo dados (INSERT).

o Consultando dados (SELECT).

o Filtros (WHERE).

o Ordenação (ORDER BY).

o Atualizando dados (UPDATE).

o Excluindo dados (DELETE).

3. SQL Intermediário

o Junções (joins): INNER JOIN, LEFT JOIN.

o Agregações: COUNT, SUM, AVG, GROUP BY.

o Subconsultas.

4. Exercício Prático
o Criar um banco de dados para uma loja online (tabelas: clientes, pedidos,
produtos).

o Inserir registros.

o Consultas para obter informações como: total de pedidos por cliente, produtos
mais vendidos, etc.

Módulo 2: PHP (Hypertext Preprocessor)

Conteúdo:

1. Introdução ao PHP

o O que é PHP? (linguagem de script do lado do servidor)

o Configuração do ambiente (XAMPP, WAMP, ou servidor embutido do PHP).

o Sintaxe básica: <?php ... ?>, variáveis, tipos de dados, operadores.

2. Estruturas de Controle

o Condicionais: if, else, switch.

o Loops: for, while, foreach.

3. Funções e Arrays

o Definindo funções.

o Arrays indexados e associativos.

o Funções de array (como array_map, array_filter).

4. PHP e MySQL

o Conexão com banco de dados MySQL usando MySQLi ou PDO.

o Executando consultas SQL a partir do PHP.

o Prevenção de SQL injection.

5. Formulários HTML e PHP

o Processando dados de formulários ($_GET, $_POST).

o Validação de dados.

6. Exercício Prático

o Criar uma página de cadastro de clientes que insere dados no banco de dados.

o Criar uma página de listagem de clientes (dados do banco).

Módulo 3: Python

Conteúdo:
1. Introdução ao Python

o Por que Python? (simplicidade, versatilidade, aplicações em web, dados, IA,


etc.)

o Instalação e configuração.

o Sintaxe básica: variáveis, tipos de dados, operadores.

2. Estruturas de Controle e Funções

o Condicionais: if, elif, else.

o Loops: for, while.

o Definindo funções.

3. Estruturas de Dados em Python

o Listas, tuplas, dicionários, conjuntos.

o Compreensão de listas.

4. Python e Bancos de Dados

o Conexão com banco de dados usando sqlite3 ou mysql-connector-python.

o Executando consultas SQL a partir do Python.

5. Introdução a um Framework Web (Flask)

o Roteamento.

o Templates (Jinja2).

o Integração com banco de dados.

6. Exercício Prático

o Criar uma aplicação web simples com Flask que permita adicionar e listar
produtos (usando o banco de dados da loja online do módulo SQL).

Projeto Integrador:

Ao final dos três módulos, os alunos desenvolverão um sistema simples de gerenciamento de


tarefas (To-Do List) que envolve:

• Banco de dados SQL para armazenar as tarefas.

• Backend em PHP e também em Python (para comparar as abordagens).

• Frontend em HTML, CSS e JavaScript.

Recursos Adicionais:

• Material de apoio: slides, códigos-fonte dos exemplos.

• Links para documentação oficial de PHP, Python e SQL.


• Sugestões de próximos passos (frameworks, ORM, etc.).

Avaliação:

• Participação nos exercícios práticos.

• Projeto final.

Esse mini-curso pode ser adaptado para ser ministrado em um final de semana (sábado e
domingo) ou em três dias (um módulo por dia). A parte prática é essencial, então é importante
que os alunos tenham acesso a computadores com os softwares necessários instalados.

Vamos começar? Vou detalhar cada módulo com exemplos de código, se desejar.

Mini-Curso: Fundamentos de PHP, Python e SQL

Módulo 1: Introdução Geral (2 horas)

1.1 O que são essas tecnologias?

• PHP: Linguagem de script para desenvolvimento web do lado do servidor

• Python: Linguagem de programação versátil para web, dados, automação e IA

• SQL: Linguagem para gerenciamento e consulta de bancos de dados relacionais

1.2 Como elas se relacionam?

text

Front-end (HTML/CSS/JS) ←→ PHP/Python ←→ Banco de Dados (SQL)

Módulo 2: SQL - Banco de Dados (4 horas)

2.1 Conceitos Fundamentais

sql

-- Criar banco de dados

CREATE DATABASE curso;

-- Criar tabela

CREATE TABLE usuarios (

id INT PRIMARY KEY AUTO_INCREMENT,

nome VARCHAR(100) NOT NULL,

email VARCHAR(100) UNIQUE,

idade INT,

data_cadastro TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);
CREATE TABLE pedidos (

id INT PRIMARY KEY AUTO_INCREMENT,

usuario_id INT,

produto VARCHAR(100),

valor DECIMAL(10,2),

FOREIGN KEY (usuario_id) REFERENCES usuarios(id)

);

2.2 Operações CRUD

sql

-- INSERT (Criar)

INSERT INTO usuarios (nome, email, idade)

VALUES ('Maria', 'maria@[Link]', 25);

-- SELECT (Ler)

SELECT * FROM usuarios;

SELECT nome, email FROM usuarios WHERE idade > 18;

SELECT * FROM usuarios ORDER BY nome DESC;

-- UPDATE (Atualizar)

UPDATE usuarios SET idade = 26 WHERE email = 'maria@[Link]';

-- DELETE (Excluir)

DELETE FROM usuarios WHERE id = 5;

2.3 Consultas Avançadas

sql

-- JOIN entre tabelas

SELECT [Link], [Link], [Link]

FROM usuarios u

JOIN pedidos p ON [Link] = p.usuario_id;


-- Agregações

SELECT

COUNT(*) as total_usuarios,

AVG(idade) as media_idade,

MAX(idade) as maior_idade

FROM usuarios;

-- GROUP BY

SELECT idade, COUNT(*) as quantidade

FROM usuarios

GROUP BY idade

HAVING COUNT(*) > 1;

Módulo 3: PHP - Desenvolvimento Web (6 horas)

3.1 Sintaxe Básica

php

<?php

// Variáveis e tipos

$nome = "João";

$idade = 30;

$salario = 2500.50;

$ativo = true;

// Arrays

$frutas = array("Maçã", "Banana", "Laranja");

$pessoa = [

"nome" => "Maria",

"idade" => 25,

"cidade" => "São Paulo"

];

// Estruturas de controle
if ($idade >= 18) {

echo "Maior de idade";

} else {

echo "Menor de idade";

// Loops

for ($i = 1; $i <= 10; $i++) {

echo $i . "<br>";

foreach ($frutas as $fruta) {

echo $fruta . "<br>";

?>

3.2 PHP com Banco de Dados

php

<?php

// Conexão com MySQL

$host = "localhost";

$user = "root";

$pass = "";

$dbname = "curso";

$conn = new mysqli($host, $user, $pass, $dbname);

// Verificar conexão

if ($conn->connect_error) {

die("Falha na conexão: " . $conn->connect_error);

}
// Inserir dados

$sql = "INSERT INTO usuarios (nome, email, idade)

VALUES ('Carlos', 'carlos@[Link]', 30)";

$conn->query($sql);

// Consultar dados

$sql = "SELECT * FROM usuarios";

$result = $conn->query($sql);

while($row = $result->fetch_assoc()) {

echo "Nome: " . $row['nome'] . " - Email: " . $row['email'] . "<br>";

// Fechar conexão

$conn->close();

?>

3.3 PHP com Formulários

php

<!-- [Link] -->

<form action="[Link]" method="POST">

<input type="text" name="nome" placeholder="Nome">

<input type="email" name="email" placeholder="Email">

<input type="number" name="idade" placeholder="Idade">

<button type="submit">Enviar</button>

</form>

<!-- [Link] -->

<?php

if ($_SERVER["REQUEST_METHOD"] == "POST") {

$nome = $_POST['nome'];

$email = $_POST['email'];
$idade = $_POST['idade'];

// Validar e processar dados

if (!empty($nome) && !empty($email)) {

// Conectar ao banco e inserir

echo "Dados recebidos com sucesso!";

?>

Módulo 4: Python - Programação Versátil (6 horas)

4.1 Fundamentos do Python

python

# Variáveis e tipos

nome = "Ana"

idade = 25

salario = 3500.50

ativo = True

# Listas e dicionários

frutas = ["Maçã", "Banana", "Laranja"]

pessoa = {

"nome": "Carlos",

"idade": 30,

"cidade": "Rio de Janeiro"

# Estruturas de controle

if idade >= 18:

print("Maior de idade")

else:

print("Menor de idade")
# Loops

for i in range(1, 11):

print(i)

for fruta in frutas:

print(fruta)

# Funções

def calcular_media(notas):

return sum(notas) / len(notas)

media = calcular_media([7.5, 8.0, 9.0])

print(f"Média: {media}")

4.2 Python com Banco de Dados

python

import [Link]

import sqlite3

# Conexão com MySQL

def conectar_mysql():

conexao = [Link](

host="localhost",

user="root",

password="",

database="curso"

return conexao

# Conexão com SQLite

def conectar_sqlite():
conexao = [Link]('[Link]')

return conexao

# Exemplo de CRUD com SQLite

conexao = conectar_sqlite()

cursor = [Link]()

# Criar tabela

[Link]('''

CREATE TABLE IF NOT EXISTS produtos (

id INTEGER PRIMARY KEY AUTOINCREMENT,

nome TEXT NOT NULL,

preco REAL,

estoque INTEGER

''')

# Inserir dados

[Link]("INSERT INTO produtos (nome, preco, estoque) VALUES (?, ?, ?)",

("Notebook", 3500.00, 10))

# Consultar dados

[Link]("SELECT * FROM produtos")

produtos = [Link]()

for produto in produtos:

print(f"ID: {produto[0]}, Nome: {produto[1]}, Preço: R${produto[2]}")

[Link]()

[Link]()

4.3 Python para Web (Flask)


python

from flask import Flask, render_template, request, jsonify

import [Link]

app = Flask(__name__)

@[Link]('/')

def index():

return render_template('[Link]')

@[Link]('/usuarios', methods=['GET'])

def get_usuarios():

conexao = [Link](

host="localhost",

user="root",

password="",

database="curso"

cursor = [Link](dictionary=True)

[Link]("SELECT * FROM usuarios")

usuarios = [Link]()

[Link]()

return jsonify(usuarios)

@[Link]('/usuario', methods=['POST'])

def add_usuario():

dados = [Link]

conexao = [Link](

host="localhost",

user="root",

password="",
database="curso"

cursor = [Link]()

sql = "INSERT INTO usuarios (nome, email, idade) VALUES (%s, %s, %s)"

valores = (dados['nome'], dados['email'], dados['idade'])

[Link](sql, valores)

[Link]()

[Link]()

return jsonify({"mensagem": "Usuário adicionado com sucesso!"})

if __name__ == '__main__':

[Link](debug=True)

Módulo 5: Integração das Tecnologias (4 horas)

5.1 Sistema Completo de Cadastro

php

<!-- sistema_php/[Link] -->

<?php

// Conexão com banco

$conn = new mysqli("localhost", "root", "", "curso");

// API simples em PHP

header('Content-Type: application/json');

if ($_SERVER['REQUEST_METHOD'] == 'GET') {

$result = $conn->query("SELECT * FROM usuarios");

$usuarios = [];

while($row = $result->fetch_assoc()) {

$usuarios[] = $row;

echo json_encode($usuarios);

}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {

$data = json_decode(file_get_contents('php://input'), true);

$stmt = $conn->prepare("INSERT INTO usuarios (nome, email, idade) VALUES (?, ?, ?)");

$stmt->bind_param("ssi", $data['nome'], $data['email'], $data['idade']);

$stmt->execute();

echo json_encode(["success" => true]);

?>

python

# sistema_python/[Link]

import requests

import [Link]

class SistemaCadastro:

def __init__(self):

[Link] = [Link](

host="localhost",

user="root",

password="",

database="curso"

def importar_dados_php(self):

"""Consumir API PHP e importar dados para Python"""

resposta = [Link]('[Link]

if resposta.status_code == 200:

dados = [Link]()

# Processar dados com Python

for usuario in dados:

print(f"Processando: {usuario['nome']}")
# Análise ou processamento adicional

return dados

return None

def exportar_para_php(self, dados):

"""Enviar dados do Python para PHP"""

resposta = [Link](

'[Link]

json=dados

return [Link]()

def analise_avancada(self):

"""Exemplo: Análise de dados com Python"""

cursor = [Link](dictionary=True)

[Link]("""

SELECT

idade,

COUNT(*) as total,

AVG(idade) as media

FROM usuarios

GROUP BY idade

ORDER BY total DESC

""")

resultado = [Link]()

# Gerar relatório

for linha in resultado:

print(f"Idade {linha['idade']}: {linha['total']} pessoas")


return resultado

Projeto Final: Sistema de Gestão

Objetivo: Criar um sistema completo usando:

1. MySQL: Banco de dados para clientes e produtos

2. PHP: Backend principal e interface administrativa

3. Python: Scripts de análise de dados e relatórios

Estrutura do Projeto:

text

sistema_gestao/

├── database/

│ └── [Link]

├── backend_php/

│ ├── api/

│ ├── admin/

│ └── config/

├── scripts_python/

│ ├── [Link]

│ ├── [Link]

│ └── [Link]

└── frontend/

├── [Link]

└── css/

Recursos para Aprendizado

Livros Recomendados:

1. "PHP and MySQL Web Development" - Luke Welling

2. "Python Crash Course" - Eric Matthes

3. "SQL Cookbook" - Anthony Molinaro

Cursos Online:

• FreeCodeCamp

• W3Schools

• MDN Web Docs


Prática:

1. Crie um blog com PHP + MySQL

2. Desenvolva uma API REST com Python (Flask/FastAPI)

3. Otimize consultas SQL complexas

4. Implemente autenticação e autorização

Dicas Finais

1. Comece com SQL: Entenda bem os dados antes de programar

2. PHP para Web: Ideal para sistemas web tradicionais

3. Python para Tudo: Desde scripts simples até machine learning

4. Integre Gradativamente: Comece separado, depois integre

5. Versionamento: Use Git desde o início

6. Segurança: Sempre valide entradas e use prepared statements

7. Performance: Otimize consultas e use cache quando possível

Exercícios Práticos

Nível Iniciante:

1. Crie um sistema de cadastro de usuários

2. Implemente login com sessões em PHP

3. Gere um relatório em Python com dados do MySQL

Nível Intermediário:

1. Desenvolva uma API RESTful com PHP e Python

2. Crie um dashboard com gráficos baseados em dados SQL

3. Implemente fila de processamento com Python

Nível Avançado:

1. Sistema de e-commerce completo

2. Microserviços com PHP e Python comunicando

3. Análise preditiva com dados históricos

Duração Total Estimada: 22 horas (teoria + prática)

Este mini-curso fornece uma base sólida para começar com essas três tecnologias
fundamentais no desenvolvimento web e análise de dados. Pratique regularmente e construa
projetos reais para consolidar o conhecimento!

Você também pode gostar