Introdução a Banco de Dados
Com sql/mysql/php
Uma Abordagem Prática
Márcio Fantini
fantini@coltec.ufmg.br
2026
Apresentação do Curso
Essas notas de aula apresentam conceitos básicos e intermediários sobre banco de dados e sistemas de gerenciamento de banco de dados.
As notas aqui apresentadas foram baseadas (tradução, adaptação e acréscimo de exemplos/exercícios) principalmente nas seguintes referências
- SQL, Guia Prático - Rogério Luís de C. Costa
- Projeto de Banco de Dados, Carlos Alberto Heuser, Editora : Bookman; 6ª edição (4 abril 2017)
- Basic MySQL Tutorial
- MYSQL.COM
- SQL Tutorial-w3schools
- Sql exercises
- Canal do Professor André Santanchè, Unicamp
Ferramentas e Ambientes do Curso
O curso está preparado para usarmos o mysql (servidor e cliente) no Ubuntu. Usaremos também o MysqlWorkBench. E como ferramentas para acesso ao banco via web, veremos o PHP e a ferramenta phpmyadmin. Para termos o PHP rodando usamos o servidor web Apache.
SQL e Mysql
Por ser essencialmente prático, o curso aborda a linguagem SQL juntamente com o "ambiente" Mysql. Ou seja, não estudaremos a SQL de forma abstrada, mas ao contrário, veremos a linguagem de forma prática, trabalhando com exemplos reais dentro do mysql.
Introdução ao Banco de Dados
O que é um banco de dados?
Banco de dados é uma coleção de dados que estão relacionados entre si de alguma maneira.
O que é um Sistema de Gerenciamento de Banco de Dados (SGBD)?
É um conjunto de programas que pode ser usado para gerenciar um banco de dados.
Modelos de SGBD
Os SGBDs podem ser de diferentes tipos:
SGBD Hierárquico
Nesse modelo os dados são organizados e classificados segundo uma hierárquia descendente (vide figura abaixo). O sistema faz uso de apontadores entre os diversos dados para identificá-los e ordená-los.
SGBD de Rede
Nesse modelo os dados são organizados numa hierárquia não necessariamente numa forma descendente (vide figura). Assim como no modelo anterior, o modelo em rede é criado a partir de apontadores entre as entidades.
SGBD Relacional
É o mais usado, mesmo hoje em dia, com o crescimento dos modelos não relacionais. O modelo relacional define uma organização baseada em tabelas que se relacionam.
SGBD Orientado a Objetos
É um modelo que faz uso do paradigma da POO. Os dados são organizados em objetos e as relações definidas a partir de métodos e propriedades.
Existem no mercado dezenas de SGBDs. A maioria é do tipo relacional.
SGBD Relacional
Exemplos de SGBD relacionais
Existem no mercado vários sistemas de gerenciamento de banco de dados relacionais, alguns pagos outros gratuito. Veja alguns deles na lista a seguir.
Outra opção de Ferramenta
Além dos sistemas de gerenciamentos (como os listados acima), existe a opção de se trabalhar com banco de dados a partir de bibliotecas específicas de acesso a arquivos.
É o caso do SQLite.
SQLite é uma biblioteca em linguagem C e é um dos bancos de dados relacionais mais conhecidos do mundo
Funciona basicamente como um servidor próprio e independente pois a biblioteca SQLite é gerada e armazenada diretamente no arquivo do banco de dados.
Veja mais em:
Mysql
No nosso curso veremos o modelo relacional. Mais especificamente veremos O SGBD relacional denominado Mysql.
Arquitetura cliente-servidor
Para trabalhar com o Mysql precisamos do servidor (Mysql-Server) e do cliente.
Mysql opera em um ambiente de rede usando uma arquitetura cliente / servidor. Um programa central atua como um servidor e vários programas clientes se conectam ao servidor para a busca/manipulação dos dados.
Mysql Server ou mysqld é o programa servidor de banco de dados. Ele gerencia o acesso aos bancos de dados reais no disco ou na memória.
Os clientes Mysql são programas de comunicação com o servidor para manipular as informações dos bancos de dados que o servidor gerencia.
Por exemplo, mysql é o programa de linha de comando que atua como uma interface baseada em texto para o servidor.
Podemos usar também o phpMyAdmin para acessarmos o servidor.
Veja o site oficial do Mysql programa clicando aqui
Uma forma para aprender sobre o Mysql é via seu site oficial, ou mais especificamente, estudando seu manual de referência.
Veja o manual de referência clicando aqui
Versões Mysql
Repare que o Mysql mais novo (até a data de hoje, Novembro de 2020) está na versão 8.0.
Nesse curso estamos usando a versão 8.0.22 do mysql-server.
mysql Ver 8.0.26-0ubuntu0.20.04.2 for Linux on x86_64 ((Ubuntu))
Instalação
Como dito anteriormente, uma forma de se instalar o Mysql é a partir do XAMPP. Caso deseje instalá-lo separadamente, pode-se obter o pacote no site oficial, ou no caso do Ubuntu, via apt-get.
Nas próximas seções veremos o Mysql mais detalhadamente. Nas próximas Unidades, voltaremos com conceitos teóricos sobre banco de dados.
É importante lembrar que toda a documentação necessária para trabalhar com Mysql está no site oficial do programa.