Modelos de Dados
Visão dos Dados
Um sistema de banco de dados é uma coleção de dados inter-relacionados e um conjunto de programas que permitem aos usuários acessar e modificar esses dados. Um dos principais objetivos de um sistema de banco de dados é fornecer aos usuários uma visão abstrata dos dados.
Modelo de dados é uma coleção de ferramentas conceituais para descrever:
- Os dados
- Os relacionamentos entre os dados
- A semântica dos dados
- As restrições sobre os dados
Abstração de dados oculta a complexidade das estruturas internas de representação por meio de diferentes níveis de abstração.
Principais Modelos de Dados
- Modelo Relacional
- Modelo Entidade-Relacionamento (ER) — principalmente para projeto de banco de dados
- Modelos Baseados em Objetos (orientado a objetos e objeto-relacional)
- Modelo Semiestruturado (XML)
- Modelos mais antigos (legados): Modelo em Rede e Modelo Hierárquico
Modelo Relacional
Todos os dados são armazenados em diversas tabelas. Abaixo, um exemplo de dados tabulares no modelo relacional:
| id_prof | nome | id_escola | ch_semanal | salario |
|---|---|---|---|---|
| 21200001 | Eduarda Souza | 21 | 20 | 3200 |
| 21400002 | Felipe Araujo | 21 | 40 | 6400 |
| 31200001 | Gustavo Costa | 31 | 20 | 3300 |
| 31400002 | Helena Carvalho | 31 | 40 | 6700 |
| 31200003 | Igor Melo | 31 | 20 | 3100 |
| 11400001 | Bruno Teixeira | 11 | 40 | 6500 |
| 11400002 | Carla Pinto | 11 | 40 | 6600 |
O modelo relacional foi proposto por Ted Codd (Prêmio Turing ACM, 1981).
Um Banco de Dados Relacional de Exemplo
O banco de dados universitário utilizado ao longo deste material é composto pelas seguintes tabelas:
Tabela centro
| id_centro | sigla | nome_centro |
|---|---|---|
| 1 | COCHCMA | Ciências Humanas, Cidadania e Meio Ambiente |
| 2 | COEMAG | Centro de Educação, Magistério e Artes |
| 3 | COETI | Centro de Engenharias, Tecnologia e Inovação |
Tabela escola
| id_escola | sigla | nome_escola | id_centro |
|---|---|---|---|
| 11 | ESG | Escola Superior de Gestão | 1 |
| 21 | EEMA | Escola de Educação, Magistério e Arte | 2 |
| 31 | ESETI | Escola Superior de Engenharias, Tecnologia e Inovação | 3 |
Tabela curso
| id_curso | sigla_curso | nome_curso | id_escola | n_semestres | carga_horaria | tipo_curso |
|---|---|---|---|---|---|---|
| 111 | ECO | Ciências Econômicas | 11 | 8 | 3000 | bacharelado |
| 311 | ENS | Engenharia de Software | 31 | 8 | 3200 | bacharelado |
| 211 | PED | Pedagogia | 21 | 8 | 3410 | licenciatura |
Tabela aluno (amostra)
| id_aluno | nome | id_curso | ano_ingresso |
|---|---|---|---|
| 2023311001 | Matheus Silva | 311 | 2023 |
| 2023311002 | Larissa Araújo | 311 | 2023 |
| 2024311001 | Pedro Carvalho | 311 | 2024 |
| 2023111001 | Beatriz Carvalho | 111 | 2023 |
| 2023211001 | Amanda Moreira | 211 | 2023 |
Tabela disciplina (amostra)
| id_disciplina | nome_disciplina | id_curso | semestre | carga_horaria |
|---|---|---|---|---|
| 3110201 | Bases da Eng. de Software 2 | 311 | 2 | 150 |
| 3110202 | Projeto Aplicado 2 - site WEB | 311 | 2 | 120 |
| 1110201 | História Econômica Geral | 111 | 2 | 75 |
| 2110201 | Desenvolvimento Humano | 211 | 2 | 60 |