Database
 sql >> Base de Dados >  >> RDS >> Database

O Modelo Relacional


O Modelo Relacional é o mais popular dos modelos de dados lógicos e está na base dos bancos de dados SQL.

O Modelo Relacional baseia-se em dois conceitos simples:
  • tabelas
  • relações

O modelo relacional remonta a 1969 e ao trabalho de Edgar F. Codd, um cientista da computação inglês. Embora, como programadores de computador, estejamos acostumados a olhar com curiosidade para coisas novas e brilhantes, vale a pena estudar uma tecnologia que pode ser central em tudo sobre computadores por 50 anos.

O fato de o modelo ser baseado em tabelas o torna muito intuitivo de usar, pois estamos acostumados a usar tabelas para organizar as coisas. Pense em uma planilha do Excel, por exemplo.

Com bancos de dados baseados em SQL, como PostgreSQL, Oracle, MySQL, SQLite e MS SQL Server, e muitos outros, os dados analisados ​​usando o Modelo ER podem ser modelados usando o modelo relacional e serem quase imediatamente transformados em um formato de banco de dados SQL, que pode ser considerado uma implementação real do modelo relacional, mas falaremos sobre isso em outros posts.

Neste post quero falar sobre a teoria e os conceitos em que se baseia o modelo relacional, não expresso em termos matemáticos, mas o que significa na prática.

Se você é um estudante, pode descobrir que o que escrevo aqui não é o que está escrito em seu livro, mas talvez você possa lê-lo com mais facilidade para entender os conceitos mais formais expressos em seu material de aprendizagem.

Tabelas


Em um modelo relacional, uma tabela é uma coleção de itens.

Está organizado em linhas e colunas:
Nome Idade
Flávio 36
Roger 7
Syd 6

Tuplas


Cada entrada na tabela é chamada de tupla . Você também pode usar os termos registrar ou linha .

Uma tupla representa uma linha da tabela, assim:
Flávio 36

Atributos


Um atributo é um único item na tupla.

Neste exemplo:
Flávio 36

“Flavio” é um atributo. 36 é outro atributo.

Tuplas são únicas


Cada tupla na tabela é única.

No modelo relacional, não podemos ter dados duplicados, ou seja, cada linha da tabela deve ser diferente em pelo menos um atributo.

A chave de relação


O que garante que uma tupla seja única é a chave de relação .

A chave é um atributo que deve identificar exclusivamente uma tupla.

Se a chave de relação for um conjunto de atributos, ela deverá ser não redundante . Isso significa que, se removermos um dos atributos da chave, a chave não poderá garantir sua exclusividade.

Se mais de uma chave puder ser determinada, uma dessas chaves será identificada como a chave primária .

Restrição de integridade de chave


Os atributos-chave de qualquer tupla na tabela devem nunca ser nulos , e deve nunca repetir .

Dada uma chave, devemos ser capazes de apontar para uma tupla/linha específica sem ambiguidade.

As restrições de domínio


Cada atributo tem regras sobre o valor que pode ter .

Se decidirmos armazenar números, não podemos armazenar strings, por exemplo. E podemos decidir não armazenar strings com mais de 10 caracteres para nomes.

Também podemos chamar isso de tipo .

A restrição de integridade referencial


Se uma tabela contém referência a uma tabela secundária ou a outras tuplas na mesma tabela, devemos obedecer às regras que impedem a quebra da referência.

Em particular, devemos evitar quebrar a referência por:
  • evitar excluir ou editar a chave primária do registro para o qual apontamos, na outra tabela.
  • evite inserir um novo registro com uma chave inexistente para apontar na outra tabela.
  • evite alterar a chave do registro para o qual apontamos, sem garantir que a nova chave exista na outra tabela.

Um SGBD (Sistema de Gerenciamento de Banco de Dados) implementará medidas para nos ajudar a implementar a integridade referencial.