O [processo de] projeto de banco de dados (projeto conceitual, projeto lógico, etc.) emprega modelos de dados para produzir esquemas do banco de dados (esquema conceitual, esquema lógico, etc.). Modelos de dados promovem a percepção abstrata da estrutura, da composição de conteúdo e das restrições de integridade em algum nível de abstração. Nesse sentido, cada modelo de dados se refere a um nível próprio de abstração, para guiar a criação e a evolução de um esquema de banco de dados.
A figura a seguir apresenta níveis de abstração para os vários esquemas de um mesmo banco de dados.
O Modelo Relacional (MR) é comumente aplicado na etapa projeto lógico do banco de dados. O projeto lógico lida com a especificação lógica do banco de dados (esquema lógico), que é uma representação em uma abstração de alto-nível, embora o esquema conceitual seja em nível mais alto do que o esquema lógico.
O modelo relacional representa o banco de dados como uma coleção de relações:
- uma relação se assemelha a uma tabela de valores (mas entre os conceitos relação e tabela há dessemelhanças);
- cada linha da tabela possui valores de dados relacionados:
- uma linha representa um fato, que normalmente corresponde a uma entidade ou relacionamento do mundo real.
A figura a seguir ilustra a noção de relação, conforme em [1]:
Para o Modelo Relacional (MR), um checklist com a maioria dos conceitos deste modelo é apresentado abaixo.
- Modelo relacional
- Relação
- Esquema de relação
- Esquema de banco de dados relacional
- Banco de dados vs. Instância de banco de dados
- Nome de relação
- Atributo
- Tupla
- Domínio de atributo
- Cardinalidade de domínio de atributo
- Produto cartesiano dos domínios de atributos vs. Domínio de relação
- Grau de uma relação
- n-tupla
- Valor NULL
- Ordenação de tuplas no contexto do modelo relacional?
- Restrição de integridade
- Restrição de integridade de entidade
- Restrição de integridade referencial
- Chave primária
- Chave estrangeira
- Chave e superchave
- Chave candidata
- Operações de manipulação de dados: inserir, excluir e alterar
- Restrição de chave
- etc.
Para que que haja melhor fluência no emprego do MR, é pertinente e importante que entendamos todos os conceitos presentes no checklist de conceitos do MR, apresentado acima.
Esses conceitos serão empregados nos próximos tópicos. Contudo, desde já é mandatório que sejam lidos e estudados no Capítulo 3 do livro sugerido[1].
Dentre os conceitos presentes no Checklist sobre o Modelo Relacional acima, alguns deles são apresentados abaixo:
(a) Lista ordenada de n valores: <v1, v2, ..., vn>
(b) Subconjunto do produto Cartesiano dos domínios: r(R) ⊆ ( dom(A1) × dom(A2) × ... × dom(An) )
(c) Número total de distintos valores que um atributo pode ter
(d) Nenhum valor de chave primária pode ser NULL
(e) Garante a consistência entre tuplas que se relacionam
(f) Conjunto de esquemas de relação: { R1, R2, ..., Rm }
(g) Conjunto de relações: { r1(R1), r2(R2), ..., rm(Rm) }
(h) R(A1, A2, ...,An)
(i) Conjunto de n-tuplas: { t1, t2, ..., tm }
Criar uma issue no projeto https://github.com/plinioleitao/bd-2021-1-bia, com o título "Tópico 07", para responder:
- Observe os itens acima de (a) até (i).
Para cada dos itens acima, identifique o conceito correspondente no checklist.
Responda segundo o modelo:
∎ <(letra) texto do item no checklist> , alguns exemplos são:
(a) Chave primária
(b) Chave estrangeira
...
Obs.: evite respostas tais como "(a) 5", pois não serão analisadas pelo professor.
- Issue criada no projeto https://github.com/plinioleitao/bd-2021-1-bia, cujo título é "Tópico 07", para indicar suas reflexões iniciais sobre conceitos do modelo relacional.
[1] ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de Dados. 6. ed. Pearson, 2011.