O modelo relacional de Bases de Dados é um dos modelos mais utilizados atualmente pois é adotado pela maioria dos SGBD, como MySQL, PostgreSQL, Oracle Database e SQL Server, entre outros.
- Desenvolvido por Edgar F. Codd, na década de 1970
📌 Definição
Modelo Relacional de Bases de Dados armazena e organiza os dados em tabelas (relações), que se relacionam entre si através de chaves primárias (PK) e estrangeiras (FK).
Tabela ALUNOS da entidade ALUNO
- os dados são armazenados em tabelas (linhas e colunas)
- Cada tabela representa uma entidade do mundo real (por exemplo: Aluno, Produto, Consulta)
- Cada linha corresponde a um registo (tuplo).
- Cada coluna/campo corresponde a um atributo.
- utiliza chaves primárias para identificar de forma única cada registo da tabela
- utiliza chaves estrangeiras para criar relações entre as tabelas
- Permite a manipulação dos dados através da linguagem SQL.
Relacionamento da Tabela ALUNOS com a Tabela CURSOS
📌 Vantagens do modelo relacional
-
Boa organização dos dados - Os dados são estruturados em tabelas (ou relações), facilitando o entendimento e a gestão das informações.
-
Redução da redundância de dados - Evita a duplicação de informações, economizando espaço e prevenindo inconsistências.
-
Garante a integridade e consistência dos dados – Regras como chaves primárias e estrangeiras garantem que os dados permaneçam corretos e confiáveis.
-
Facilita a pesquisa e atualização da informação - A linguagem SQL permite consultas complexas, além de inserções, alterações e exclusões de dados de forma eficiente.
Permite segurança e controlo de acessos – É possível definir quem pode ler, inserir ou alterar informações, garantindo proteção e privacidade dos dados.
-
Amplamente utilização - É o modelo mais adotado em sistemas atuais, com grande suporte de ferramentas e profissionais especializados.
🧠 Nome da tabela: deve refletir os dados que ela guarda
LINHA ou REGISTO: Representa uma ocorrência específica de uma entidade (linha de dados)
CAMPO ou COLUNA: representa as características/ propriedades (atributo) da entidade.
DOMÍNIO: Define os valores permitidos para um atributo.
(ex: no campoIdCurso, os domínios são os valores: 290 , 122 ,etc )✔️ Características
- Não pode repetir valores
- Não pode ser nula (vazia)
- Existe apenas uma PK por tabela
🔗 Chave Estrangeira (Foreign Key – FK)
✅ Definição
Campo que liga uma tabela a outra, referenciando a chave primária de outra tabela.
✔️ Serve para:
- criar relações entre tabelas
- manter integridade dos dados
🔑 Chave Candidata (Candidate Key)
✅ Definição:
É qualquer campo (ou conjunto de campos) que identificar de forma única cada registo de uma tabela e que pode ser selecionado para ser a chave primária.
👉 EXEMPLO:
Na tabela Alunos podemos ter vários campos podem ser candidatos a PK: NProcesso, NIF, CC
Deve escolher a que melhor representa a respetiva tabela para ser a chave primária
🔑 Chave Composta (Composite Key)
✅ Definição:
👉 É uma chave primária formada por dois ou mais campos, cuja combinação identifica de forma única cada registo de uma tabela.
Exemplo:
É o caso mais comum.
Tabela Inscrições
| NProcesso | IdDisciplina | |
|---|---|---|
| 123 123 | SI OEAG |
- NORMALIZAÇÃO
Normalização é o processo de organizar os dados em uma Base de Dados Relacional para:
evitar redundância (repetição de dados)
evitar inconsistências
facilitar manutenção e integridade
Deve ser aplicado um conjunto de Regras para atingir esses objetivos
- 📊 As Formas Normais
- 🔹 1ª Forma Normal (1FN)
Regra:
Não pode haver multivalores dentro de uma célula.
Cada campo/coluna deve ter apenas um único valor (atómico).
Se houver atributos com valores compostos (ex: Endereço) devem dividir atributos em valores atómicos
Se houver atributos com valores multivalores devem colocá-los em nova tabela e relacioná-la com a anterior.
- 🔹 2ª Forma Normal (2FN)
- Regra:
-Deve estar na 1FN
- todos os campos não-chave devem depender da chave primária.
A 2FN só é um problema quando a tabela tem chave primária composta
- 🔹 3ª Forma Normal (3FN)
Regra:
-Deve estar na 2FN
- não existem dependências transitivas
(atributo não pode depender de outro atributo que não seja chave)
Sem comentários:
Enviar um comentário