Nesta aula iniciaremos o estudo sobre a utilização de banco de dados junto a linguagem Python.

SOBRE O CURSO

Neste curso estudaremos o Banco de Dados SQLite e como acessá-lo e utilizá-lo através da linguagem Python. As primeiras aulas abordam em detalhes alguns dos principais conceitos sobre Banco de Dados Relacionais e em seguida, incia-se o estudo da manipulação de dados através do Python.

A LINGUAGEM SQL

A linguagem universal para manipulação de dados relacionais é o SQL. É comum que os programas tenham código SQL internamente, assim, o sistema é desenvolvido, por exemplo, com o Python, porém, o acesso aos dados ocorre com o uso de códigos SQL que estão contidos dentro do código Python na forma de Strings.

Rapidamente entendem-se que trabalhar com a linguagem SQL dentro de outra linguagem é, normalmente, uma maneira pouco eficaz e ineficente. Porém, manter o código SQL num arquivo externo também não é a melhor solução. E, muitas vezes acabamos percebendo que a linguagem SQL se torna um mal necessário. Não que a mesma seja verbosa ou ineficaz - nada disso! O problema é que as linguagens são orientadas a objetos e as informações, quando manipuladas com a linguagem SQL, acabam, não sendo objetos e sim, dados no formato String, numérico ou binário.

Por isso, aprender SQL é supor importante, da mesma forma que aprender a trabalhar com os principais banco de dados, mas, num futuro não muito distante, sentiremos a necessidade de algo mais produtivo e será nesse momento que conheceremos as soluções que tratam tudo como sendo objetos.

DADOS RELACIONAIS

A própria terminologia, que não é oficial, explica bastante do que iremos brevemente comentar - dados que se relacionam.

Banco de Dados Relacionais são, plataformas que permitem armazenar todas as informações de maneira que permita definir internamente a relação entre tabelas através do uso de uma ligação tipo referência referenciado.

Por isso, é comum criarmos em todas as tabelas, uma coluna de nome Chave Primária (CP) e noutra, Chave Estrangeira (CE). Atualmente, é comum utilizar a nomenclatura (id) que, do Inglês significa, identidade.

FAQ

MÁXIMO DE ACESSOS SIMULTÂNEOS

O banco de dados SQLite não determina um limite de conexões, e mesmo que o pessoal do desenvolvimento tentasse, não iriam conseguir. Isso porque, não existe um Sistema Gerenciador de Banco de Dados (SGBD), mas sim, um pequeno programa escrito com a Linguagem C, incorporado por diversas linguagens, tais como Python e PHP, que permite acessar, abrir o arquivo que contém os dados, executar uma pesquisa e no final, encerrar o acesso com o arquivo em disco.

Por isso, é importante deixar claro desde o início que TODAS as bases de dados serão acessadas diretamente, isto é, nosso programa "se conectará" ao arquivo que contém todas as informações. Por isso, existe um limite que os próprios Sistemas Operacionais e o driver de comunicação como o HD acabam estabelecendo indiretamente, até porque, o limite é físico, ou seja, quando muitos computadores estão lendo e escrevendo no mesmo arquivo, num determinado momento, o disco rígido acabará por apresentar "gargalos", seja para a leitura, seja para a escrita.

Por isso, não devemos pensar numa quantidade de acessos diretamente, mas sim, na quantidade de requisições e ações simultâneas ao disco rígido própriamente dito. Ninguém conseguirá responder exatamente qual é a quantidade verdadeira e, quem tentar fazê-lo, terá que levar em conta todos os modelos de HD, drivers de acesso, e a fila de requisições do Sistema Operacional hospedeiro em conta, o que é muito difícil de se fazer.

Se mesmo assim você não se contentar com toda a resposta acima, pense o seguinte: quando a escolha do motor de banco de dados é o SQLite, presume-se que esta base será acessada, principalmente, por um único usuário. Até porque, se o objetivo é disponibilizar um conjunto de informações com vários dispositivos, existem SGBD (Sistema Gerenciador de Banco de Dados) desenhados para esta finalidade, tais como PostgreSQL, MySQL, Oracle, SQL Server e etc.

ACESSO REMOTO

O banco de dados SQLite não pode ser acessado diretamente, até porque, não existe um programa sendo executado num determinado computador para "ser acessado". O acesso ocorre a nível de arquivo, ou seja, se "conectar" a uma base de dados SQLite significa, abrir um determinado arquivo utilizando, normalmente, o driver (programa escrito em C) para então acessar um arquivo que está em um determinado diretório no nosso disco rígido.

QUAL BANCO DE DADOS SUPORTA ACESSO MÚLTIPLO?

Há vários. atualmente, pode-se dizer que, todo Banco de Dados pode ser acessado via rede, como já foi explicado nas respostas acimas. Atualmente, o SQLite é um dos raros bancos que só podem ser acessado diretamente, isto é, cada computador que "está conectado ao banco", ou melhor, "que possui uma conexão com a base de dados", está fazendo-a pelo acesso direto ao arquivo que contém todas as informações da base, algumas vezes o arquivo está no próprio computador, noutras, numa rede que acaba centralizado e sendo utilizado como um servidor.

É importante lembrar que o SQLite não é um banco de dados para ser acessado por vários usuários ao mesmo tempo e sim, uma solução eficaz de armazenamento para um ou alguns pouco mais usuários.

Se você está procurando por banco de dados relacionais que suporte múltiplos acesso simultâneos, o SQLite não é para você!

Banco de dados que suportam 1 ou N conexões: MySQL (free), PostgreSQL (free), Oracle (pago), SQL Server e etc.



Tags python, sqlite, sqlite3, sql, banco de dados, blog

Comentários

comments powered by Disqus