Primeiras aulas do curso VB.NET com Windows Forms Parte 11: trabalhando com banco de dados

VB.NET com Windows Forms Parte 11: trabalhando com banco de dados

Entendendo como funciona um banco de dados - Introdução

Como fazemos em todos nossos cursos de visual basic, ou pelo menos na maioria deles, vamos habilitar o projeto inicial que vamos usar para mostrar a vocês os exemplos desse treinamento.

Indo no link inicial dessa aula vocês vão baixar e pegar o arquivo Bytebank.zip, vou copiar ele e dentro do meu computador, na área onde meus projetos de visual basic estão sendo criados vou colar e descompactar o arquivo.

Para saber se está tudo funcionando, vou vir em Bytebank, vou abrir no visual studio 2017 o Bytebank slm. Vou verificar se o projeto padrão está sendo Bytebank sistemas agência, se não for, botão direito do mouse e escolho a opção de definir como projeto de inicialização, e em propriedades desse projeto vou me certificar que pelo menos o formulário frm principal 01 é o formulário de inicialização.

Vou salvar as configurações, clicar em iniciar, ver se a aplicação está funcionando. Tenho várias opções que foram construídas nos cursos anteriores de visual basic. Já tenho meu projeto que vou utilizar para a construção dos exemplos deste curso.

Vamos começar. O objetivo desse treinamento como eu já disse na introdução é ver como pelo visual basic a gente se relaciona com um banco de dados. Se você nunca viu banco de dados, nem sabe como se trabalha com banco de dados, não tem problema. Todas as definições sobre banco de dados que eu for colocar no treinamento eu vou explicar o que estou fazendo. Claro que não vou entrar a fundo nesse assunto.

Aqui na Alura existem vários cursos de banco de dados à disposição para vocês, inclusive utilizando diversos bancos de dados diferentes. Vou abrir meu browser. Esse é um curso de Oracle 1, aprenda SQL usando esse famoso banco de dados. Você vai aprender um pouco sobre manipulação de banco de dados usando o banco de dados que chamamos de Oracle.

Temos também o curso MYSQL 1, iniciando suas consultas. Você aprende a manipular banco de dados usando outro tipo de banco de dados. É um banco de dados chamado MYSQL.

E finalmente temos o curso SQL server, introdução ao SQL com Microsoft SQL server 2017. É o treinamento de outro banco de dados relacional chamado Microsoft SQL server.

Não é requisito deste treinamento vocês fazerem esses aqui, mas se vocês puderem fazer antes ou depois desse curso acho que é legal, para que os conceitos vistos aqui fiquem mais consolidados caso você não conheça nada de banco de dados.

Agora, se você já conhece banco de dados, perfeito. Os conceitos que vou colocar de banco de dados durante o treinamento de vb.net não vai fazer diferença nenhuma e não vai ocupar muito seu tempo se já conhece o trabalho em banco de dados.

Vamos falar de conceitos. Vou falar rapidamente o que é um banco de dados. É uma estrutura que está fora da minha aplicação, salva em disco, pode ser um disco no computador, um disco em rede, um disco físico ou que está em nuvem. E essa estrutura armazena uma coisa chamada tabela. É como se fosse uma grande planilha de Excel, com linhas e colunas.

As colunas das tabelas possuem um cabeçalho, e a coluna chamamos de campo, as linhas de registros. O cabeçalho de colunas é o nome do campo, posso ter uma coluna que seja o código, outra que seja o nome, outra que seja o endereço. Código, nome e endereço são os cabeçalhos das colunas, ou seja, o nome dos campos.

Cada campo vai ser número, ou texto, ou lógico. Não posso ter no mesmo campo duas informações, uma texto e outra lógica, ou número, no mesmo campo. Tudo que estiver no mesmo campo tem que ser do mesmo tipo.

Existe uma coisa chamada chave primária. São marcações que coloco em algumas colunas. Os valores dessas colunas chave primárias não podem se repetir nas linhas subsequentes da tabela. Por exemplo, tenho uma tabela de clientes com chave primária o número do cliente, o CPF dele. Não posso ter na minha tabela de clientes dois clientes diferentes com o mesmo CPF, é impossível, porque o CPF é chave primária da tabela. O banco de dados não vai deixar que a gente crie esse tipo de situação.

Existe outra coisa chamada chave estrangeira. A chave estrangeira é uma relação que a gente coloca entre a coluna de uma tabela e a coluna de outra tabela. Temos uma tabela pai e uma tabela filho. Na tabela filho, onde a chave estrangeira está apontando, não posso colocar ninguém que não esteja já incluído na tabela pai.

Essa chave estrangeira é o que chamamos de relacionamento entre tabelas. Esse relacionamento liga uma tabela à outra. No meu banco de dados, ou database, a gente vai ter várias tabelas se relacionando através disso que chamamos de banco de dados relacionais, porque ele possui tabelas que se relacionam entre si.

O que vamos aprender neste treinamento é pegar informações que estão no banco de dados, salvas, fora da nossa aplicação, e nossa aplicação vai ler informações do banco de dados, trazer em memória, manipular e depois salvar de volta no banco de dados.

Se recordam do curso de visual basic que eu dei anterior a esse, de entradas e saídas? Fizemos uma aplicação no final desse treinamento onde as informações eram salvas em um arquivo csv e depois quando eu abria a aplicação eu recuperava os dados desse arquivo csv e trabalhava com minha aplicação.

O banco de dados vai fazer o papel do arquivo csv, com a diferença que o banco de dados já é uma estrutura feita para esse tipo de coisa. O banco de dados suporta milhões de registros, o relacionamento entre as tabelas pode representar a modelagem do seu dado, e raramente ou dificilmente uma aplicação, seja em visual basic, Csharp, Android, qualquer outro tipo de linguagem de programação que você use para fazer aplicativos não vai se relacionar com algum banco de dados. Por isso esse curso é extremamente importante para você adquirir mais conhecimento com o visual basic .net.

Entendendo como funciona um banco de dados - Entendendo o que é um banco de dados

Como fazemos em todos nossos cursos de visual basic, ou pelo menos na maioria deles, vamos habilitar o projeto inicial que vamos usar para mostrar a vocês os exemplos desse treinamento.

Indo no link inicial dessa aula vocês vão baixar e pegar o arquivo Bytebank.zip, vou copiar ele e dentro do meu computador, na área onde meus projetos de visual basic estão sendo criados vou colar e descompactar o arquivo.

Para saber se está tudo funcionando, vou vir em Bytebank, vou abrir no visual studio 2017 o Bytebank slm. Vou verificar se o projeto padrão está sendo Bytebank sistemas agência, se não for, botão direito do mouse e escolho a opção de definir como projeto de inicialização, e em propriedades desse projeto vou me certificar que pelo menos o formulário frm principal 01 é o formulário de inicialização.

Vou salvar as configurações, clicar em iniciar, ver se a aplicação está funcionando. Tenho várias opções que foram construídas nos cursos anteriores de visual basic. Já tenho meu projeto que vou utilizar para a construção dos exemplos deste curso.

Vamos começar. O objetivo desse treinamento como eu já disse na introdução é ver como pelo visual basic a gente se relaciona com um banco de dados. Se você nunca viu banco de dados, nem sabe como se trabalha com banco de dados, não tem problema. Todas as definições sobre banco de dados que eu for colocar no treinamento eu vou explicar o que estou fazendo. Claro que não vou entrar a fundo nesse assunto.

Aqui na Alura existem vários cursos de banco de dados à disposição para vocês, inclusive utilizando diversos bancos de dados diferentes. Vou abrir meu browser. Esse é um curso de Oracle 1, aprenda SQL usando esse famoso banco de dados. Você vai aprender um pouco sobre manipulação de banco de dados usando o banco de dados que chamamos de Oracle.

Temos também o curso MYSQL 1, iniciando suas consultas. Você aprende a manipular banco de dados usando outro tipo de banco de dados. É um banco de dados chamado MYSQL.

E finalmente temos o curso SQL server, introdução ao SQL com Microsoft SQL server 2017. É o treinamento de outro banco de dados relacional chamado Microsoft SQL server.

Não é requisito deste treinamento vocês fazerem esses aqui, mas se vocês puderem fazer antes ou depois desse curso acho que é legal, para que os conceitos vistos aqui fiquem mais consolidados caso você não conheça nada de banco de dados.

Agora, se você já conhece banco de dados, perfeito. Os conceitos que vou colocar de banco de dados durante o treinamento de vb.net não vai fazer diferença nenhuma e não vai ocupar muito seu tempo se já conhece o trabalho em banco de dados.

Vamos falar de conceitos. Vou falar rapidamente o que é um banco de dados. É uma estrutura que está fora da minha aplicação, salva em disco, pode ser um disco no computador, um disco em rede, um disco físico ou que está em nuvem. E essa estrutura armazena uma coisa chamada tabela. É como se fosse uma grande planilha de Excel, com linhas e colunas.

As colunas das tabelas possuem um cabeçalho, e a coluna chamamos de campo, as linhas de registros. O cabeçalho de colunas é o nome do campo, posso ter uma coluna que seja o código, outra que seja o nome, outra que seja o endereço. Código, nome e endereço são os cabeçalhos das colunas, ou seja, o nome dos campos.

Cada campo vai ser número, ou texto, ou lógico. Não posso ter no mesmo campo duas informações, uma texto e outra lógica, ou número, no mesmo campo. Tudo que estiver no mesmo campo tem que ser do mesmo tipo.

Existe uma coisa chamada chave primária. São marcações que coloco em algumas colunas. Os valores dessas colunas chave primárias não podem se repetir nas linhas subsequentes da tabela. Por exemplo, tenho uma tabela de clientes com chave primária o número do cliente, o CPF dele. Não posso ter na minha tabela de clientes dois clientes diferentes com o mesmo CPF, é impossível, porque o CPF é chave primária da tabela. O banco de dados não vai deixar que a gente crie esse tipo de situação.

Existe outra coisa chamada chave estrangeira. A chave estrangeira é uma relação que a gente coloca entre a coluna de uma tabela e a coluna de outra tabela. Temos uma tabela pai e uma tabela filho. Na tabela filho, onde a chave estrangeira está apontando, não posso colocar ninguém que não esteja já incluído na tabela pai.

Essa chave estrangeira é o que chamamos de relacionamento entre tabelas. Esse relacionamento liga uma tabela à outra. No meu banco de dados, ou database, a gente vai ter várias tabelas se relacionando através disso que chamamos de banco de dados relacionais, porque ele possui tabelas que se relacionam entre si.

O que vamos aprender neste treinamento é pegar informações que estão no banco de dados, salvas, fora da nossa aplicação, e nossa aplicação vai ler informações do banco de dados, trazer em memória, manipular e depois salvar de volta no banco de dados.

Se recordam do curso de visual basic que eu dei anterior a esse, de entradas e saídas? Fizemos uma aplicação no final desse treinamento onde as informações eram salvas em um arquivo csv e depois quando eu abria a aplicação eu recuperava os dados desse arquivo csv e trabalhava com minha aplicação.

O banco de dados vai fazer o papel do arquivo csv, com a diferença que o banco de dados já é uma estrutura feita para esse tipo de coisa. O banco de dados suporta milhões de registros, o relacionamento entre as tabelas pode representar a modelagem do seu dado, e raramente ou dificilmente uma aplicação, seja em visual basic, Csharp, Android, qualquer outro tipo de linguagem de programação que você use para fazer aplicativos não vai se relacionar com algum banco de dados. Por isso esse curso é extremamente importante para você adquirir mais conhecimento com o visual basic .net.

Entendendo como funciona um banco de dados - Banco da dados ByteBank

No visual studio, no nosso projeto em VB .net que baixamos no início desse curso vamos executar o projeto. Temos na opção manutenção CC uma opção chamada manutenção list view dt. Clicando aqui, podemos observar uma lista de contas correntes com os nomes dos correntistas e saldo atual. Essas contas correntes são inicializadas quando minha aplicação abre, ou seja, a lista de correntistas está previamente definida dentro do código da aplicação.

E aí posso, claro, selecionar duas contas correntes, exclui-las, ou clicar no botão para incluir uma nova conta corrente, e aí vou colocar o código da agência, número da conta, e o correntista, mas não digito o nome nem o CPF. Tenho um combo box com todos os correntistas definidos na tabela, seleciono o CPF, salvo e esse CPF é adicionado na lista de contas correntes.

Vamos ver o código dessa aplicação. Botão direito do mouse sobre formulário e seleciono exibir código. Temos nosso código. Em determinado ponto criamos o data table, que é uma tabela em memória, uma estrutura interna do visual basic, onde tenho a agência, conta, esses dois campos são inteiros, CPF, do tipo string, e saldo, que é um valor.

Embaixo defino a chave primária para essa data table, que é agência e conta, e depois defino o nome da tabela que chamei de contas correntes. Depois a gente cria uma segunda tabela, que é a tabela de correntistas, onde tenho CPF, nome e profissão do correntista. Todos os três campos são do tipo string, texto.

Aqui embaixo criamos a chave primária, que é o CPF, e coloco o nome da tabela, que é clientes. As duas tabelas adiciono em um dataset, que seria o banco de dados em memória, e depois crio a minha chave estrangeira entre a tabela de clientes e a tabela de correntistas através do CPF.

Quem fez o curso de data table e data set viu já como se faz isso, mas essa estrutura é uma estrutura em memória do visual basic. Toda vez que minha aplicação acaba e inicializo novamente, esse data table tem que ser criado. Ele não armazena os dados em disco.

Vamos trabalhar com essa aplicação de diversas formas. Sendo que esse data table e data set serão substituídos pelo meu banco de dados externo. E esse banco de dados então vai ter a seguinte estrutura.

Temos duas tabelas, a de clientes, que vai ter CPF, nome e profissão, o nome do campo vai ser também CPF, nome e profissão, sendo que um asterisco significa quem vai ser chave primária. Todos os três vão ser tipo string. E quando falamos de banco de dados é importante determinar o tamanho do campo. No data table a gente não precisa especificar isso, mas no banco de dados externo sim. Vou ter CPF com 20 caracteres e nome e profissão com 50.

Depois tenho uma tabela chamada conta, que vai ter quatro campos. Agência, conta, CPF e saldo. O nome do campo vai ser agência, conta, CPF e saldo, sendo que agência e conta são chaves primárias da tabela. Os dois campos de chave primária serão inteiros e CPF será uma string com 20 caracteres. Saldo será um double, um número decimal.

Tem esses dois asteriscos mostrando que haverá uma chave estrangeira ligando o CPF da tabela cliente com o CPF da tabela conta. O que vamos fazer em todos os exemplos é criar esses bancos de dados em diferentes estruturas. Vamos fazer isso com localDB, que é um banco de dados local do visual studio. Vamos fazer isso em SQL server, em Oracle e em MYSQL. Vamos criar duas tabelas com chaves primárias, chaves estrangeiras nesses quatro tipos de bancos e vamos fazer quatro aplicações semelhantes à que mostrei a vocês no visual studio, no nosso projeto em VB .net, sendo que essas aplicações farão as mesmas coisas, porém acessando cada uma um desses quatro bancos.

No final vou falar um pouco sobre ODBC, que é uma conexão que posso fazer com bancos de dados genéricos, e vou mostrar como a gente também com visual basic .net consegue acessar o banco de dados por ODBC.

É isso que vamos fazer. Daqui para frente cada banco de dados será dedicado em uma aula específica desse treinamento.

Sobre o curso VB.NET com Windows Forms Parte 11: trabalhando com banco de dados

O curso VB.NET com Windows Forms Parte 11: trabalhando com banco de dados possui 506 minutos de vídeos, em um total de 82 atividades. Gostou? Conheça nossos outros cursos de .NET em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda .NET acessando integralmente esse e outros cursos, comece hoje!

Plus

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$85
à vista R$1.020
Matricule-se

Pro

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$120
à vista R$1.440
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas