O que é uma Base de Dados
De uma forma genérica,podemos dizer que uma Base de Dados é um conjunto de dados relacionados, acessíveis a uma comunidade de utilizadores.Desde tempos imemoriais o homem guardou em armários, gavetas(...) os dados importantes relativos às suas diversas actividades - as primeiras Bases de Dados.
A partir de meados do século XX, verificou-se um grande crescimento das organizações o que provocou um grande aumento no volume dos dados nelas utilizados.Ao mesmo tempo verificou-se um grande desenvolvimento dos computadores,que se tornaram mais acessíveis.Surge assim, de forma natural, a introdução dos computadores nas organizações com o objectivo de servir de suporte às bases de dados nelas existentes.Numa primeira fase, surgem os chamados Sistemas de Ficheiros e só posteriormente são desenvolvidos os Sistemas de Bases de Dados.Com ambos se pretende obter acesso rápido aos dados gerando a informação necessária às diversas actividades.Os dados sâo guardados em ficheiros e a partir deles são gerados relatórios com a informação pretendida.Actualmente,quando nos referimos a Base de Dados, queremos referir-nos às Bases de Dados em suporte informático.
O que é uma Base de Dados Relacional
No modelo relacional, os dados são representados como um conjunto de tabelas,com linhas e colunas.Para simplificar, a cada coluna chamamosCampo e a cada linha Registo.Uma Base de Dados Relacional consiste num conjunto de tabelas apropriadamente estruturadas, ou seja , um conjunto de tabelas normalizadas.Na imagem abaixo pode ver uma tabela do modelo relacional.
Cada tabela pode representar-se indicando o seu nome e o conjunto de características sobre as quais se pretende guardar informação - os campos.Na imagem seguinte mostra-se um conjunto de tabelas do modelo relacional.Este conjunto de tabelas constitui a base de dados Editora,que irá servir de base a todos os exemplos apresentados.
Quando se inicia a utilização de bases de dados, existe tendência para considerar apenas uma tabela.No nosso exemplo poderíamos considerar apenas uma tabela com todas as vendas dos vários livros, incluíndo toda a informação restante.Na verdade, isso obriga à repetição desnecessária de informação (redundância): a informação sobre um livro que apresenta várias vendas repete-se em cada venda.É importante criar tabelas que mantenham o mínimo de informação, ao mesmo tempo que mantemos uma base de dados fácil de usar e flexível.Para o conseguir,é necessário utilizar várias tabelas,que torna a base de dados mais eficiente.
Para obtenção das várias tabelas do modelo relacional podemos começar por identificar tudo aquilo sobre o que queremos guardar informação na nosso base de dados - as entidades.No exemplo da editora identificamos:Vendas, Livros, Colecções, Revendedoras, Autores eNacionalidades.Seguidamente,identificamos as várias características de cada uma das entidades:Nome, Telefone, DataEdição,etc.(consulte a imagem seguinte).Em alternativa, pode-se partir de uma tabela inicial, dividindo-a em várias tabelas através de um processo que se chama Normalização.Para uma informação mais pormenorizada sobre estes assuntos consulte o livroDesenho e Implementação de Base de Dados com Ms Acess Xp (Centro Atlântico),nos capítulos 4 e 5, da parte I.
Não é suficiente termos identificadas as tabelas necessárias.As tabelas do moodelo relacional relacionam-se através da existência de atributos comuns.É necessário a identificação de todos os relacionamentos existentes.Na imagem acima (e no Access), estes relacionamentos indicam-se através das linhas que ligam os campos das tabelas que se relacionam,Por exemplo,CodRevendedor da tabelaVendas relaciona-se comCodRevendedor da tabelaRevendedores.
Existem Três tipos de relacionamentos, considerando o número de registos de uma tabela que se relacionam com registos de outras tabelas:
. 1 para 1 (designam-se por 1:1)
.1 para muitos (designam-se por 1:M ou1:INFINITO)
.muitos para muitos (designam-se porN:M ou infinito:infinito)
Os relacionamentos de 1:1 são raros e não existe nenhum exemplo donosso caso da base de dados Editora. Este tipo de relacionamentos acontece quando cada registo de uma tabela está relacionado com um registo da outra tabela e vice-versa.
Os relacionamentos 1:M são os mais comuns.Este tipo de relacionamento acontece quando um registo de umatabela1 se relaciona com muitos registos numa outra tabela2, mas cada registo da tabela2 se relaciona apenas com um registo da tabela1.No exemploEditora, existem vários relacionamentos deste tipo.Por exemplo ,CodColecçãoda tabela Livros e CodColecção da tabela Colecção ->cada livro pertence a uma só colecção mas cada colecçãocontém vários livros.
Em praticamente todas as bases de dados existem relacionamentos de tipoN:M.Isto acontece quando um registo de uma tabela1 se relaciona com muitos registos numa outra tabela2, e cada registo da tabela2 se relaciona com muitos registos da tabela1.Nesta situação temos de criar uma nova tabela, intermédia, a que chamamosTabela de ligação, transformando este relacionamento em dois relacionamentos de tipo 1:M, pois o Access apenas permite a existência de relacionamentos de tipo 1:1 e 1:M. No exemplo Editora, uma Venda pode conter vários Livros e cada Livro pode estar presente em várias Vendas.Criou-se assim a tabela de ligação Venda/Livro.
Existem alguns conceitos fundamentais, associados às Bases de Dados Relacionais, que apresentaremos de seguida.
Chave Primária
Para todas as tabelas do modelo relacional de bases de dados terão de ser identificadas as chaves primárias. Uma chave primária é composta por um ou mais atributos que identificam de forma unívoca cada registo de uma tabela. Por exemplo, na tabela Autor da base de dados Editora podemos identificar CodAutor como a chave primária da tabela,visto que, atribuindo um valor a esse atributo, obtemos um único registo (linha da tabela) ou, neste caso específico , um Autor. Existem situações em que é necessário considerar um conjunto de atributos em vez de um só atributo.Como exemplo vemos a tabela Autores/Livro, cuja chave primária é constituída pelos dois atributos CodAutor + CodLivro, dado que só conseguimos identificar univocamente uma linha da tabela atribuindo valores aos dois atributos em simultâneo.
Chave Estrangeira
Como já vimos, as tabelas do modelos relacional relacionam-se através da existência de campos comuns.Nesta situação, um campoo de uma tabela,que se relaciona com um campo que é Chave Primária de outra tabela, diz-se uma Chave Estrangeira. Na base de dados Editora, por exemplo, o campoCodRevendedor da tabela Vendas é uma Chave Estrangeira. pois relaciona-se com o atributoCodRevendedor da tabelaRevendedores.
Regras de Integridade
Em qualquer base de dados é importante definir um conjunto de regras que garantam a adequação dos dados - regras de integridade.Além das regras de integridade que podem ser definidas pelo utilizador da base de dados (como,por exemplo, "o salário de um funcionário não pode ser inferior ao salário mínimo nacional" ou " a idade de um cliente tem de ser um número positivo"),existem regras de integridade inerentes ao próprio modelo relacional.Existem duas regras de integridade inerentes ao modelo relacional que são a regra deIntegridade de Entidade e a regra deIntegridade Referencial.
Integridade de Entidade
Esta regra diz-nos que numa tabela nenhum dos campos da chave primária pode ser nulo, isto é, terá de lhe ser atribuído algum valor.
Integridade Referencial
Esta regra diz-nos que, existindo uma chave estrangeira numa tabela, ou o seu valor existe num registo da tabela onde é chave primária ou o(s) campo(s) que constitui(em) é(são) nulo(s).
A linguagem SQL
A maioria dos SGBD´s comerciais fornece uma linguagem declarativa de alto nível. A mais conhecida é a SQL,do inglês Structured Query Language. Esta linguagem permite fazer a definição de dados, a inserção e actualização de dados e também a definição de consultas. O Acess permite realizar estas operações através de formas mais amigáveis, que irão sendo explicadas ao longo dos capítulos seguintes.
