Banco de dados relacional
Keywords: Banco de dados relacional, 1980, 1 para 1 (relacionamentos), 1 para N (relacionamentos), Banco de dados, Ciência da Computação, DB2, Dados, Data warehouse, Firebird
Um Banco de Dados Relacional ou Base de Dados Relacional é um sistema de armazenamento de dados baseado nos relacionamentos entre elementos de dados buscando uma normalização (não redundância) dos dados.
| Conteúdo |
Histórico
Os BDR surgiram no ínicio da década de 1980 quando as empresas passaram a substituir arquivos planos (do inglês flat file) e bancos de dados hierárquicos por BDR.
Os BDR foram então desenvolvidos para prover acesso facilitado aos dados, possibilitando que os usuários abordassem os dados através de uma variedade de pontos de vista. Com um banco de dados hierárquico, os usuários precisam definir as questões de negócios de uma maneira distinta, iniciando pela raiz do banco de dados. Nos bancos de dados relacionais, os usuários podem fazer perguntas relacionadas aos negócios através de vários pontos.
A linguagem padrão dos BDR é o SQL - Structure Query Linguage.
Arquitetura
Tabelas
Todos os dados de um banco de dados relacional são armazenados em tabelas. Uma tabela é uma simples estrutura de linhas e colunas. Cada linha contém um mesmo conjunto de colunas mas as linhas não seguem qualquer tipo de ordem. Em um banco/base de dados podem existir uma ou centenas de tabelas. O limitador é imposto exclusivamente pela ferramenta de software utilizada.
Registros (ou tupla)
Cada linha, formada por um conjunto de colunas, representa uma coluna (ou colunas). Os registros não precisam necessariamente conter dados em todas as colunas, os seus valores podem ser nulos.
Campos
As colunas de uma tabela, são também chamadas de linhas. As linhas possuem características que definem o dado que será armazenado. Por exemplo. Em um campo do tipo numérico, serão somente armazenados números. Os sistemas de banco de dados possuem regras para consistir os dados que são armazenados
Chave
As tabelas relacionam-se umas as outras através de chaves. Uma chave é um conjunto de um ou mais campos que determinam a unicidade de cada regitro.
Por exemplo, se um banco (base) de dados tem como chave Código do Produto + ID Sistema, sempre que acontecer uma inserção de dados, o sistema de gerenciamento de banco (base) de dados irá fazer uma consulta para identificar se o registro não se encontra gravado na tabela. Caso exista um novo registro não será criado, sendo que apenas a alteração do registro existente será possível. A unicidade dos registros, determinada por sua chave, também é fundamental para a criação dos índices.
Temos dois tipos de chaves: Chave Primária: (PK - Primary Key) é a chave que identifica cada registro dando-lhe unicidade. A chave primária nunca se repetirá.
Chave Estrangeira: (FK - Foreign Key) é uma chave formada pela chave primária de outra tabela e a chave de um campo da tabela que recebe o relacionamento. Define um relacionamento entre as tabelas e pode ocorrer repetidas vezes.
Índices
Os dados são armazenados nas tabelas de forma não organizada. Sendo assim, para a recuperação dos dados é necessário a existência de mecanismos que facilitem a consulta, proporcionando uma perfomance aceitável para a mesma. Para isso os sistemas de bancos de dados relacionais, criam índices das tabelas, sendo que esses índices são atualizados constantemente.
Caso o índice se corrompa por algum motivo, é possível que pesquisas possam retornar resultados não desejados ou que inserções de chaves duplicadas aconteçam. Nesse caso o banco de dados será corrompido também. Os sistemas de bancos (bases) de dados possuem mecanismos de evitar que esses eventos ocorram como também possibilitam a recuperação dos índices e consistência da tabela caso eles ocorram.
Relacionamentos
Como o próprio nome sugere, um(a) BDR possui diversos relacionamentos entre as tabelas existentes. Os relacionamentos são feitos para impossibilitar a normalização dos dados.
Um relacionamento é feito ligando-se um campo de uma tabela X com um campo de uma tabela Y ou tabela estrangeira.
Existem alguns tipos de relacionamentos possíveis:
Modelagem
Normalização
Os bancos de dados relacionais utilizam a normalização de dados para evitar redundâncias e possibilitar uma maior perfomance nas pesquisas.
Normalização
É o processo de organização eficiente dos dados dentro de um banco de dados cujos objetivos
principais são:
1- Eliminar dados redundantes(por exemplo, armazenando os mesmos dados em mais de uma tabela).
2- Garantir que as dependências entre os dados façam sentido(armazenando apenas dados
logicamente relacionados em uma tabela). Existem cinco estágios de normalização, 1º, o 2º, o 3º,
o 4º e o 5º. Para um banco de dados se encontrar em cada um desses estágios ou formas(denominadas
formas normais), cada uma de suas tabelas deve atender a alguns pré-requisitos. Os pré-requisitos
são cumulativos, isto é, para alcançar a 3ª forma normal(3NF), um banco de dados precisa atender
aos pré-requisitos das 1ª e 2ª formas normais.
