Hoje vamos falar sobre algo complexo, mas indispensável: os Bancos de Dados.
Primeiramente, a função principal deles é armazenar dados, não importando como. Pode ser em um arquivo de texto, ou até mesmo em um sistema complexo, como um SGBD (Sistema de Gerenciamento de Bancos de Dados).
Os dados usualmente têm sua forma de organização, que pode ser hierárquica, relacional, em rede, entre outras. Enquanto um simples banco de dados em arquivo texto pode ser organizado de qualquer forma, no SGDB depende do modelo de dados adotado. Vale lembrar que, por ser em text archive, os databases desse tipo são inseguros, susceptàveis a falhas e requerem "gambiarras" na hora de programar, seja para filtrar um dado, até mesmo para editar/substituir. Esse modelo está sendo obsoleto, embora alguns programadores, em especial os iniciantes, ainda utilizem-o.
Não vamos nos aprofundar muito em teoria e vamos direto para os BD's que usam SGBD.
Assim como uma linguagem de programação, os bancos de dados também variam de acordo com a necessidade. Por exemplo, alguns programas necessitam de sistemas complexos e pagos, como o Oracle, enquanto outros utilizam sistemas simples e até gratuitos, como o MySQL, o PostgreSQL, entre outros.
Vou falar sobre o modelo relacional, que é bastante utilizado, sobretudo no MySQL, um dos SGDB mais utilizados na web.
Esse modelo consiste basicamente em uma tabela, com linhas e colunas, como pode ser observado na figura 1.

Figura 1: Tabela em modelo relacional, o qual relaciona os torneios, os anos e seus respectivos jogadores vencedores.

Figura 2: Tabela em modelo relacional, com os jogadores e suas respectivas datas de nascimento.
Podemos ainda, relacionar as duas tabelas, através de uma ferramenta chamada chave estrangeira, a qual procura pegar um atributo da tabela X (1) e procurar um valor correspondente na tabela Y (2). Por exemplo, podemos pegar o vencedor "Al Fredrickson" da tabela 1 e procurar sua data de nascimento na tabela 2.
Podemos também juncionar tudo isso em uma tabela só:

Figura 3: duas tabelas juncionadas.
Os Bancos de Dados tem normas para organizar seus dados, bem como, formar dependências entre tabelas diferentes, assuntos que irei falar em um próximo tutorial.
Notem que, em um banco de dados no formato texto, tudo isso dependeria do programador para ser feito, ou seja, ele teria que escrever funções para cada uma dessas atividades, ao contrário de um SGDB, o qual já tem funções prontas para serem utilizadas.
Acho que por ora é isso. Qualquer coisa, é só falar. ^^''

Ajuda










