FAQ

Envie suas dúvidas sobre Modelagem de Dados!
Basta clicar aqui.
- Identifique suas dúvidas por meio das perguntas;
- Leia o texto; e
- Assista ao vídeo.

Sistemas de Informação e Banco de Dados Relacional

O que é um Sistema de Informação?

Sistema de informação pode ser definido como uma entidade complexa, e organizada, que capta, armazena, processa, fornece, usa e distribui a informação. Nele inclui-se os recursos organizacionais relacionados, tais como recursos humanos, tecnológicos e financeiros. Os recursos tecnológicos compreendem software, hardware e toda a infraestrutura de comunicação necessária. Esses recursos são utilizados para automatizar determinados elementos do sistema, ou seja, nem sempre todo o sistema pode ser totalmente automatizado.

O que é um Banco de Dados?

Conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários.

O que é um Sistema Gerenciador de Banco de Dados?

Software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados.

O que é um Banco de Dados Relacional?

Bancos de dados relacionais são baseados no modelo relacional, ou seja, é um tipo de banco de dados que organiza os dados em estruturas bidimensionais, compostas por linhas e colunas, denominadas relações ou tabelas. Em um banco de dados relacional, cada linha na tabela é um registro com um identificador único denominado chave. Sendo assim, uma tabela pode ser entendida como um conjunto de desordenado de registros (tuplas) exclusivos, ou seja, os registros de uma tabela por default não possuem uma ordem em seu armazenamento e são únicos devido a sua chave.

Qual é o papel do Banco de Dados em um Sistema de Informação?

O banco de dados é responsável pela persistência (armazenamento permanente) dos dados em um sistema de informação.

Modelagem de Dados

Quais são as Fases do Projeto de Banco de Dados?

Um projeto de banco de dados é organizado em três fases ou etapas, são elas: projeto conceitual, projeto lógico e projeto físico. Cada fase do projeto gera um conjunto de modelos de acordo com o nível de abstração. O projeto é desenvolvido a partir do nível mais alto de abstração para o mais baixo. Quanto mais alto for o nível de abstração do modelo, mais próximo ele se encontra do mundo real ou da linguagem natural. O modelo conceitual possui o mais alto nível de abstração e pode ser representado pelo diagrama entidade relacionamento proposto por Peter Chen. Por outro lado, o modelo físico possui o mais baixo nível de abstração, pois foca estruturas computacionais particulares de sistemas gerenciadores de banco de dados.

O que é um Modelo de Dados?

É a descrição formal da estrutura de um banco de dados.

O que é Modelo Conceitual de Dados?

É o modelo de dados abstrato, que descreve a estrutura de um banco de dados de forma independente de um SGBD particular. O modelo conceitual normalmente é representado pelo modelo entidade relacionamento proposto por Peter Chen.

O que á Modelo Lógico de Dados

É modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo usuário do SGBD. O modelo relacional, por exemplo, é um modelo lógico no qual os usuárias enxergam os dados organizados em tabelas.

O que é Modelo Físico de Dados?

É uma representação gráfica do detalhamento físico das estruturas dos dados que o banco de dados irá armazenar. Este modelo é dependente do SGBD em que será implementado.

Modelo Conceitual de Dados

O que é o Modelo Entidade Relacionamento (MER)?

Técnica de modelagem de dados mais difundida e utilizada para construir modelos conceituais de base de dados. Foi criada em 1976 por Peter Chen. O Modelo Entidade Relacionamento (MER) é representado graficamente pelo Diagrama Entidade Relacionamento (DER).

Quais são os principais componente s de um Diagrama Entidade Relacionamento (DER)?

Os principais componentes de um DER são:
  • Entidade: conjunto de objetos da realidade modelada, sobre os quais deseja se manter informações na base de dados.
  • Atributo: dados ou informação que são associados a cada ocorrência de uma entidade ou de um relacionamento.
  • Relacionamento: conjunto de associações entre entidades, sobre as quais deseja se manter informações na base de dados.
  • Generalização/Especialização ou Herança: permite atribuir propriedades particulares a um subconjunto das ocorrências ( de uma entidade genérica. 
  • Entidade Associativa: Entidade que pode representar uma associação.

Cardinalidade de Relacionamentos Binários

O que é Cardinalidade de Relacionamento?

A cardinalidade de uma entidade em um relacionamento é o número de ocorrências de entidade associadas à uma ocorrência da
entidade em questão por meio do relacionamento. Normalmente, no DER são representadas as cardinalidades mínima e máxima.

O que é Cardinalidade Mínima?

A cardinalidade mínima de uma entidade em um relacionamento é o número mínimo de ocorrências de entidade associadas à uma ocorrência da entidade em questão através do relacionamento. As cardinalidades mínimas mais comuns são: 
  • 0 -> relacionamento opcional. 
  • 1 -> relacionamento obrigatória.

O que é Cardinalidade Máxima?

A cardinalidade máxima de uma entidade em um relacionamento é o número máximo de ocorrências de entidade associadas à uma ocorrência da entidade em questão através do relacionamento. As cardinalidades máximas mais comuns são: 1 e n. A cardinalidade máxima é usada para classificar os relacionamentos binários, aqueles nos quais os relacionamentos se dão entre duas entidades.

Quais são os tipos de Relacionamento Binários?

Os tipos de relacionamentos binários são: 
  • 1:1 
  • 1:n 
  • n:n

Engenharia da Informação

Existem outras notações para representar o Modelo Conceitual de Dados?

Sim, na verdade, existem várias outras notações, dentre elas pode-se citar o diagrama de classes da UML e a notação da engenharia da informação, popularmente denominada notação "Pé de Galinha". Nessa notação, as cardinalidades são representadas graficamente por barras e círculos em vez de números.

Modelo Lógico de Dados

Qual é o objetivo do Projeto Lógico de Banco de Dados?

Como resultado do projeto conceitual, teremos o modelo entidade relacionamento que representa o domínio observado. Então, o objetivo do projeto lógico de banco de dados é mapear esse modelo para um paradigma específico, no nosso caso mapearemos para o modelo relacional, mas poderíamos mapear para o modelo Orientado a Objetos (OO), caso usássemos um banco de dados OO. Esse mapeamento do modelo conceitual deve realizado sem perda semântica, ou seja, todos os recursos representados no nível conceitual devem ter equivalência no nível lógico. Uma regra geral desse mapeamento é transformar as entidades em tabelas e os relacionamentos em chaves estrangeiras. Como eu afirmei, essa é uma regra geral que nem sempre vai funcionar corretamente.

O que é uma Tabela?

Tabela pode ser definida como um conjunto desordenado de tuplas (registros) exclusivas. São compostas de linhas, colunas e chaves primárias. As tabelas podem se relacionar por meio de chaves estrangeiras. Cabe ressaltar que por default as linhas de uma tabela não estão ordenadas. O valor dos campos devem ser atômicos, ou seja, simples (não é divisível) e monovalorados (só possui um valor).

O que é Chave Candidata?

Chave candidata é uma coluna ou combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela. Possui as seguintes propriedades:
  • Única: não pode haver duas chaves candidatas idênticas em uma tabela.
  • Todos os seus campos são obrigatórios: se for formada por um ou mais campos, nenhum deles poderá ser NULL.
  • Irredutível: caso seja formada por mais de um campo, se retirarmos um campo , ela perde a sua unicidade, ou seja, deixa de ser única. 

O que é Chave Primária?

Uma tabela pode ter várias chaves candidatas, porém apenas uma chave primária. Então, a chave primária é a chave candidata escolhida para ser chave primária. 

O que é Chave Alternativa ou Alternada?

Uma tabela pode ter várias chaves candidatas, porém apenas uma chave primária. Então, a chave alternada ou chaves alternadas, pois podem haver várias, são as chaves candidatas que não foram escolhidas para ser chave primária. Por exemplo, imagine uma tabela pessoa com os campos "CPF", "Matricula", "Codigo", "Nome" e "Sexo". Nesse caso teremos as seguintes chaves candidatas: "CPF", "Matricula" e "Codigo". Se escolhermos "Matricula" para ser a chave primária, os campos "CPF " e "Codigo" serão chaves alternativas ou alternadas.

O que é Chave Estrangeira?

Chave estrangeira pode ser entendida como coluna ou combinação de colunas, pois pode ser composta, cujos valores aparecem na chave primária da tabela referenciada. Mecanismo que permite a implementação de relacionamentos em um banco de dados relacional.

O que é uma Restrição de Integridade (constraint)?

Restrição de integridade pode ser entendida como uma regra de consistência de dados que é garantida pelo próprio sistema gerenciador de banco de dados.

Quais são as Restrições de Integridade em banco de dados relacionais?

Restrições de Integridade Básicas:
  • Integridade de Domínio; 
  • Integridade de Vazio; 
  • Integridade de Chave; 
  • Integridade Referencial; 
  • Integridade de Unicidade; 
  • Integridade de Entidade.

O que é Restrição de Integridade de Domínio?

Define os valores que podem ser assumidos pelos campos de uma coluna em uma tabela. Por exemplo, podemos ter uma coluna "Sexo" em uma tabela que só poderá receber os valores "M" para masculino e "F" para feminino.

O que é Restrição de Integridade de Vazio?

Especifica se os campos de uma coluna em uma tabela podem ou não ser vazios, ou seja, conter NULL.

O que é Restrição de Integridade de Unicidade?

Define que o valor do campo ou campos em uma tabela são únicos, ou seja, não pode haver repetição.

O que é Restrição de Integridade de Chave?

Define que os valores da chave primária e alternativa devem ser únicos.

O que é Restrição de Integridade de Entidade?

Define que nenhum valor da chave primária pode ser nulo.

O que é Restrição de Integridade Referencial?

Define que os valores dos campos que aparecem numa chave estrangeira devem aparecer na chave primária da tabela referenciada.

Mapeamento do Modelo Conceitual para o Lógico

Quais são as regras de mapeamento de cardinalidade do modelo conceitual para lógico em banco de dados?

Na verdade, existem várias regras para o mapeamento das cardinalidades quando passamos do projeto conceitual para o lógico. Podemos organizar essa regras nas seguintes categorias:
  • Mapeamento de relacionamentos com cardinalidade 1:1; 
  • Mapeamento de relacionamentos com cardinalidade 1:n;
  • Mapeamento de relacionamentos com cardinalidade n:n; 
  • Mapeamento de auto relacionamentos; 
  • Mapeamento relacionamentos ternários; e
  • Mapeamento de Generalização/Especialização ou Herança.

O que é Entidade Fraca?

Entidade fraca é aquela resultante de um relacionamento identificador. Nesse caso essa entidade terá a chave primária composta pela sua chave, denominada chave parcial, mais a chave estrangeira que é resultante do relacionamento de cardinalidade 1:n. 
Ela recebe essa denominação por só poder ter instâncias que se relacionam com a entidade forte, denominação dada à entidade que cede a chave estrangeira para compor a chave primária da entidade fraca. 
Apesar da definição não ser muito amigável, a explicação por meio de vídeo facilitará bastante o entendimento desse conceito. Então, sugiro assistir ao vídeo "Mapeamento de Relacionamento com Cardinalidade 1:n" a partir do  minuto 09:00 para tirar qualquer dúvida sobre esse conceito.

Normalização de Banco de Dados

O que é Normalização de Banco de Dados?

Normalização de dados ou de banco de dados consiste da decomposição de tabelas para evitar anomalias de inserção, atualização e deleção. Essas anomalias surgem devido à redundância não controlada de dados. Normalmente, um “Bom design” evita redundância não controlada de dados e essas anomalias. Trata-se de um mecanismo formal para analisar esquemas de relações baseado nas suas chaves e nas dependências funcionais entre seus atributos. Projeto conceitual bem feito resulta naturalmente em esquemas normalizados. Cabe ressaltar que o principal objetivo da normalização é evitar anomalias, não é melhorar performance de consultas, pois algumas vezes desnormalizamos o banco de dados para obtermos respostas mais rápidas às consultas. Porém o ato de desnormalizar uma base de dados deve ser atribuído a pessoas experientes, normalmente a administradores de banco de dados para evitar efeitos colaterais, como por exemplo, anomalias que possam comprometer a consistência do banco de dados. 

Qual é o objetivo da primeira forma normal (1fn)?

A primeira forma normal é parte da definição formal de uma tabela (relação). Foi definida para não permitir atributos multivalorados, atributos compostos e suas combinações. Uma relação está em 1fn se e somente se todos os seus atributos contêm apenas valores atômicos (simples, indivisíveis).

Qual é o objetivo da segunda forma normal (2fn)?

Uma relação (tabela) encontra-se na 2fn se e somente se estiver em 1fn e não contém dependências parciais. A dependência parcial ocorre quando uma coluna depende apenas de uma parte de uma chave primária composta.

Qual é o objetivo da terceira forma normal (3fn)?

Uma relação (tabela) está em 3fn se e somente se estiver em 2fn e nenhum atributo não-primo (isto é, que não seja membro de uma chave) for transitivamente dependente da chave primária. A dependência transitiva ocorre quando uma coluna, além de depender da chave primária de uma tabela, depende de outra coluna ou conjunto de colunas da tabela. Assim, uma tabela na 3fn não deve ter um atributo não-chave funcionalmente determinado por um outro atributo não-chave (ou por um conjunto de atributos não-chave).
Escreva-se aqui e não perca nenhuma novidade!
Cadastre-se