Banco de Dados - Básico

Bancos de dados (ou bases de dados), são conjuntos de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. Um banco de dados normalmente agrupa registros utilizáveis para um mesmo fim.
O termo “Aplicativo de Banco de dados” se refere a softwares que oferecem uma interface para o gerenciamento do banco de dados. O software que gerencia os dados é geralmente chamado de sistema gerenciador de banco de dados (SGBD) ou (se for embarcado) de “database engine”.
O modelo de dados mais adotado hoje em dia é o modelo relacional, onde as estruturas têm a forma de tabelas, compostas por tuplas (linhas) e colunas.
Um Aplicativo de Banco de dados é um tipo de software exclusivo para gerenciar um banco de dados. Aplicativos de banco de dados abrangem uma vasta variedade de necessidades e objetivos.
Em 1985, Edgar Frank Codd, criador do modelo relacional, publicou um artigo onde definia 12 regras para que um Sistema Gerenciador de Banco de Dados (SGBD) fosse considerado relacional:

Regra Fundamental:
Um SGBD relacional deve gerenciar seus dados usando apenas suas capacidades relacionais
Regra da informação:
Toda informação deve ser representada de uma única forma, como dados em uma tabela
Regra da garantia de acesso:
Todo dado (valor atômico) pode ser acessado logicamente (e unicamente) usando o nome da tabela, o valor da chave primária da linha e o nome da coluna.
Tratamento sistemático de valores nulos:
Os valores nulos (diferente do zero, da string vazia, da string de caracteres em brancos e outros valores não nulos) existem para representar dados não existentes de forma sistemática e independente do tipo de dado.
Catálogo dinâmico on-line baseado no modelo relacional:
A descrição do banco de dados é representada no nível lógico como dados ordinários (isso é, em tabelas), permitindo que usuários autorizados apliquem as mesmas formas de manipular dados aplicada aos dados comuns ao consultá-las.
Regra da sub-linguagem compreensiva:
Um sistema relacional pode suportar várias linguagens e formas de uso, porém deve possuir ao menos uma linguagem com sintaxe bem definida e expressa por cadeia de caracteres e com habilidade de apoiar a definição de dados, a definição de visões, a manipulação de dados, as restrições de integridade, a autorização e a fronteira de transações.
Regra da atualização de visões:
Toda visão que for teoricamente atualizável será também atualizável pelo sistema.
Inserção, atualização e eliminação de alto nível:
A capacidade de manipular a relação base ou relações derivadas como um operador único não se aplica apenas a recuperação de dados, mas também a inserção, alteração e eliminação de dados.
Independência dos dados físicos:
Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as modificações na representação de armazenagem ou métodos de acesso internos.
Independência lógica de dados:
Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as mudanças de informação que permitam teoricamente a não alteração das tabelas base.
Independência de integridade:
As relações de integridade específicas de um banco de dados relacional devem ser definidas em uma sub-linguagem de dados e armazenadas no catálogo (e não em programas).
Independência de distribuição:
A linguagem de manipulação de dados deve possibilitar que as aplicações permaneçam inalteradas estejam os dados centralizados ou distribuídos fisicamente.
Regra da Não-subversão:
Se o sistema relacional possui uma linguagem de baixo nível (um registro por vez), não deve ser possível subverter ou ignorar as regras de integridade e restrições definidas no alto nível (muitos registros por vez).

Tipos de Chaves: (as mais usadas).

* Candidata – Identifica as possíveis chaves primárias.

* Primária – Identifica o registro uma única vez.

* Estrangeira – Chave da segunda ou demais tabelas que referencia a chave primária da primeira tabela.

* Composta – Quando mais de um campo compõe a chave primária de uma tabela.

Formas Normais:

1ª Forma Normal: Consiste em retirar da estrutura os elementos repetitivos. Uma estrutura está normalizada na 1FN (1ª Forma Normal) senão possuir elementos repetitivos.

2ª Forma Normal: Consiste em retirar das estruturas que possuem chaves compostas os elementos que são funcionalmente dependentes de parte da chave.

3ª Forma Normal: Consiste em retirar da estrutura os campos que são funcionalmente dependentes de outros campos e não são chave.

Tirado de: wwww.gilvanritter.blogspot.com