📘 CodingMarble Learn

Conceitos de Banco de Dados: SGBD, Relações e Chaves

Guardar dados em arquivos separados causa repetição, inconsistência e pouca segurança. Um banco de dados guarda dados relacionados num só lugar organizado, e um SGBD (como o MySQL) é o programa que cuida dele. No modelo relacional, os dados ficam em tabelas (relações) formadas por colunas (atributos) e linhas (tuplas); o domínio é o conjunto de valores permitidos de uma coluna. Uma chave candidata identifica cada linha de forma única; uma delas é escolhida como chave primária e as outras são chaves alternativas.

🎬 História passo a passo

  1. Arquivos separados repetem dados e ficam desencontrados. O banco de dados guarda uma só cópia.
  2. Um SGBD fica entre as pessoas e os dados e organiza tudo.
  3. Uma tabela é uma relação: as colunas são atributos e as linhas são tuplas.
  4. O domínio é o conjunto de valores que uma coluna pode ter.
  5. As chaves candidatas identificam cada linha. Uma vira a chave primária; as outras são chaves alternativas.
  6. Sua vez: teste cada coluna para ver se ela pode ser uma chave.

Dica: arraste a cena 3D para girar. Use dois dedos para dar zoom.

🤔 Dúvidas comuns, esclarecidas

Uma planilha já não é um banco de dados?

Uma planilha pode guardar uma tabela, mas um SGBD acrescenta uso por muitas pessoas ao mesmo tempo, regras (chaves, domínios), segurança e consultas poderosas.

Por que as linhas se chamam tuplas?

Em matemática, um conjunto ordenado de valores é uma tupla. Cada linha é um conjunto ordenado de valores, um para cada atributo.

Quem decide o domínio?

Quem projeta o banco de dados, com base em regras reais (série 9 a 12, notas de 0 a 100). Depois o SGBD recusa valores fora do domínio.

Se Matrícula e Email são únicos, por que escolher Matrícula?

Ela é curta, nunca muda e todo aluno tem uma. O email pode mudar ou faltar.

Uma chave pode ser formada por duas colunas?

Pode. Quando nenhuma coluna sozinha é única, um conjunto como (Série, Chamada) pode ser a chave. Isso é uma chave composta.

Por que precisamos de um banco de dados?

Num sistema de arquivos, cada setor guarda os seus próprios arquivos. Isso traz problemas:

Um banco de dados é uma coleção organizada de dados relacionados, guardada num só lugar, para que possa ser compartilhada, mantida consistente e protegida.

Sistema Gerenciador de Banco de Dados (SGBD)

Um SGBD é um programa para criar, guardar, atualizar, buscar e gerenciar um banco de dados, e para controlar quem pode usá-lo. Exemplos: MySQL, Oracle, PostgreSQL, SQLite, Microsoft Access.

Vantagens: menos redundância, consistência, uso por muitas pessoas ao mesmo tempo, segurança com senhas e permissões, backup e recuperação, e busca fácil com uma linguagem de consulta (SQL).

Usos do dia a dia: bancos, reserva de passagens, registros escolares, compras online, hospitais.

Modelo relacional: relação, atributo, tupla, domínio

No modelo relacional de dados, os dados ficam em tabelas.

Regras: cada coluna tem um nome único; a ordem das linhas ou colunas não importa; não existem duas linhas exatamente iguais; cada célula guarda um único valor (ou NULL, que significa desconhecido).

Chaves: candidata, primária e alternativa

Exemplo: ALUNO(Matricula, Nome, Serie, Email). Nome se repete e Serie se repete, então não são chaves. Matricula e (se estiver sempre preenchido e for diferente) Email são chaves candidatas. Escolha Matricula como chave primária; Email vira a chave alternativa.

Também é útil saber: uma chave composta usa duas ou mais colunas juntas (como Serie + Chamada); uma chave estrangeira é uma coluna de uma tabela que se refere à chave primária de outra tabela, ligando as duas.

Experimente: ache a chave na sua carteirinha

Olhe a carteirinha da escola ou o passe do ônibus. Liste todos os campos (nome, série, número de chamada, matrícula, telefone). Para cada um, faça duas perguntas: dois alunos podem ter o mesmo valor? Ele pode ficar vazio? Anote quais são chaves candidatas e qual você escolheria como chave primária. Depois teste a mesma ideia no passo 6 do 3D.

Fórmulas e definições principais

Exemplos resolvidos

1. Uma tabela tem 5 colunas e 30 linhas. Dê o seu grau e a sua cardinalidade.

Grau = 5, cardinalidade = 30.

2. Depois de acrescentar 2 linhas e 1 coluna a uma tabela 4 × 10 (grau 4, cardinalidade 10), quais são os novos valores?

Grau = 5, cardinalidade = 12.

3. FUNCIONARIO(IdFunc, Nome, CPF, Setor). Identifique as chaves candidatas, primária e alternativa.

IdFunc e CPF são únicos → chaves candidatas. Escolha IdFunc como chave primária; CPF é a chave alternativa. Nome e Setor podem se repetir.

4. Por que Nome não pode ser chave primária em ALUNO?

Dois alunos podem ter o mesmo nome, então ele não identifica uma linha de forma única.

5. Dê o domínio de um atributo Sexo guardado com uma letra.

{"M", "F", "O"} (ou os códigos que a escola permitir).

Erros comuns

Quiz de prática

1. Uma linha de uma relação chama-se:
2. O número de colunas de uma relação é o seu:
3. Uma chave candidata que não foi escolhida como chave primária é uma chave:
4. Qual destes é um SGBD?
5. O mesmo dado guardado em muitos arquivos chama-se:

Prática: responda você mesmo

Digite ou escolha sua resposta e aperte Conferir. Use a dica se travar; a solução completa aparece depois que você responder.

Perguntas frequentes

Para que serve um banco de dados?

Para evitar dados repetidos e contraditórios em arquivos separados, e para compartilhar, proteger e buscar dados com facilidade.

Qual a diferença entre chave candidata, primária e alternativa?

Cada chave candidata pode identificar as linhas de forma única; a escolhida é a chave primária; as outras são chaves alternativas.

O que são grau e cardinalidade?

Grau é o número de colunas (atributos); cardinalidade é o número de linhas (tuplas) de uma relação.

Onde isso é ensinado

ItalySecondaria di secondo grado – classe 3ªTools and foundations
ItalySecondaria di secondo grado – classe 4ªTools and foundations
NetherlandsHAVO 5 (eindexamenjaar)Elective theme: Databases
NetherlandsVWO 6 (eindexamenjaar)Elective theme: Databases
PolandLiceum ogólnokształcące, klasa IIProgramming and solving problems with computers
RomaniaClasa a X-aDatabases
RomaniaClasa a XII-aModule 1: Databases (compulsory)
RomaniaClasa a XII-aModule 2: Database management systems (optional)
RomaniaClasa a XII-aModern user skills
RomaniaClasa a XII-aWorking with a database application
Ukraine9 класInformation systems and data management
Ukraine10 класBase module: database systems
CBSE (India)Class 11Database Concepts and SQL
CBSE (India)Class 11RDBMS
England (GCSE, A level)Year 113.7 Relational databases and SQL
Japan高校1年Networks and data
Japan高校(専門学科)1〜3年Using Software
Japan高校(専門学科)1〜3年Computer Systems Technology
Japan高校(専門学科)1〜3年Databases
South Korea고등학교 2학년Understanding data science
South Korea고등학교 3학년Data and information
Germany (Bavaria)Jahrgangsstufe 10Data modelling and relational databases
FranceSecondeThemes
FrancePremièreTabular data
FranceTerminaleSpecific option — management information systems
Russia9 классTheoretical foundations
Russia11 классInformation technologies

Aprenda antes

Aprenda depois