Dicas de Estudos, Carreira e Vida Profissional no Blog da FASPEC

Confira dicas e artigos sobre Educação, Rotinas de Trabalho e Estudo, Carreiras Profissionais e Mais no Blog da FASPEC. Acesse agora!

Modelagem de dados: conceitual, lógico e físico

A modelagem de dados é uma técnica que visa representar as estruturas, relacionamentos e restrições dos dados de um sistema ou domínio de forma abstrata e padronizada. A modelagem de dados facilita o entendimento, a comunicação, a integração e a manipulação dos dados, além de auxiliar no projeto, na implementação e na manutenção de sistemas de informação.

Existem três níveis principais de modelagem de dados: conceitual, lógico e físico. Cada nível tem um objetivo, uma notação e um grau de detalhamento diferentes. Neste post, vamos explicar o que são e como se relacionam esses níveis de modelagem de dados.

A modelagem de dados conceitual é o nível mais alto e mais abstrato de modelagem de dados. O objetivo da modelagem de dados conceitual é capturar os conceitos, as entidades, os atributos e os relacionamentos mais relevantes do domínio de forma independente de qualquer tecnologia ou implementação. A modelagem de dados conceitual é útil para entender o escopo, o propósito e os requisitos de um sistema ou domínio, bem como para facilitar a comunicação entre as partes interessadas, como usuários, analistas, desenvolvedores e gerentes.

A notação mais comum para a modelagem de dados conceitual é o diagrama entidade-relacionamento (DER), que usa símbolos gráficos para representar as entidades, os atributos e os relacionamentos do domínio. Um exemplo de DER é mostrado na figura abaixo, que representa um modelo conceitual simplificado de um sistema de biblioteca.

Diagrama entidade-relacionamento de um sistema de biblioteca

O grau de detalhamento da modelagem de dados conceitual é baixo, pois não se preocupa com aspectos como tipos de dados, chaves, índices, normalização, integridade referencial, etc. Esses aspectos são tratados nos níveis inferiores de modelagem de dados.

A modelagem de dados lógico é o nível intermediário de modelagem de dados. O objetivo da modelagem de dados lógico é definir a estrutura lógica dos dados de um sistema ou domínio, especificando os tipos de dados, as chaves, as restrições e as regras de negócio que devem ser seguidas pelos dados. A modelagem de dados lógico é útil para projetar e validar o esquema de um banco de dados relacional, bem como para garantir a qualidade, a consistência e a normalização dos dados.

A notação mais comum para a modelagem de dados lógico é o modelo relacional, que usa tabelas, colunas, chaves e restrições para representar as entidades, os atributos e os relacionamentos do domínio. Um exemplo de modelo relacional é mostrado na tabela abaixo, que representa um modelo lógico simplificado de um sistema de biblioteca.

O grau de detalhamento da modelagem de dados lógico é médio, pois se preocupa com aspectos como tipos de dados, chaves, restrições e regras de negócio, mas não se preocupa com aspectos como índices, armazenamento, desempenho, etc. Esses aspectos são tratados no nível inferior de modelagem de dados.

A modelagem de dados físico é o nível mais baixo e mais concreto de modelagem de dados. O objetivo da modelagem de dados físico é implementar a estrutura física dos dados de um sistema ou domínio, considerando os aspectos técnicos e operacionais da tecnologia escolhida para armazenar e manipular os dados. A modelagem de dados físico é útil para otimizar o desempenho, a segurança e a disponibilidade dos dados, bem como para definir os procedimentos de backup, recuperação e manutenção dos dados.

A notação mais comum para a modelagem de dados físico é o script SQL (Structured Query Language), que usa comandos, funções e operadores para criar, alterar, consultar e manipular os dados em um banco de dados relacional. Um exemplo de script SQL é mostrado abaixo, que representa um modelo físico simplificado de um sistema de biblioteca.

SQL

— Criar a tabela Livro
CREATE TABLE Livro (
id INT PRIMARY KEY,
titulo VARCHAR(100) NOT NULL,
autor VARCHAR(100) NOT NULL,
editora VARCHAR(50) NOT NULL,
ano INT CHECK (ano > 0),
isbn VARCHAR(13) UNIQUE
);

— Criar a tabela Exemplar
CREATE TABLE Exemplar (
id INT PRIMARY KEY,
livro_id INT NOT NULL,
status VARCHAR(10) CHECK (status IN (‘disponível’, ‘emprestado’, ‘reservado’)),
FOREIGN KEY (livro_id) REFERENCES Livro (id) ON DELETE CASCADE
);

— Criar a tabela Usuario
CREATE TABLE Usuario (
id INT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(50) UNIQUE,
telefone VARCHAR(15) UNIQUE
);

— Criar a tabela Emprestimo
CREATE TABLE Emprestimo (
id INT PRIMARY KEY,
exemplar_id INT NOT NULL,
usuario_id INT NOT NULL,
data_emprestimo DATE NOT NULL,
data_devolucao DATE NOT NULL CHECK (data_emprestimo < data_devolucao),
FOREIGN KEY (exemplar_id) REFERENCES Exemplar (id) ON DELETE CASCADE,
FOREIGN KEY (usuario_id) REFERENCES Usuario (id) ON DELETE CASCADE
);

— Criar um índice para a coluna status da tabela Exemplar
CREATE INDEX idx_status ON Exemplar (status);

O grau de detalhamento da modelagem de dados físico é alto, pois se preocupa com aspectos como índices, armazenamento, desempenho, segurança, disponibilidade, backup, recuperação, manutenção, etc. Esses aspectos são dependentes da tecnologia escolhida e podem variar de acordo com as características e necessidades de cada sistema ou domínio.

Conclusão

A modelagem de dados é uma técnica essencial para o desenvolvimento e a gestão de sistemas de informação. A modelagem de dados pode ser realizada em três níveis: conceitual, lógico e físico. Cada nível tem um objetivo, uma notação e um grau de detalhamento diferentes. A modelagem de dados conceitual visa capturar os conceitos, as entidades, os atributos e os relacionamentos mais relevantes do domínio de forma independente de qualquer tecnologia ou implementação. A modelagem de dados lógico visa definir a estrutura lógica dos dados de um sistema ou domínio, especificando os tipos de dados, as chaves, as restrições e as regras de negócio que devem ser seguidas pelos dados. A modelagem de dados físico visa implementar a estrutura física dos dados de um sistema ou domínio, considerando os aspectos técnicos e operacionais da tecnologia escolhida para armazenar e manipular os dados.

Esperamos que este post tenha sido útil para você entender o que é e como se faz a modelagem de dados. Se você gostou deste post, compartilhe com seus amigos e deixe seu comentário. Obrigado por ler!

Se você quer saber mais sobre esse assunto, clique aqui e conheça agora os nossos cursos da FASPEC, ou matricule-se agora e descubra um mundo de oportunidades

Contact Form Blog Faspec