Ajuda no entendimento de conceitos básicos

Bom dia,

Iniciei meus estudos de banco de dados com a indicação do livro “Projeto Banco de Dados Vol. 4” do autor Carlos Alberto Heuser por um usuário daqui.

Finalizei o primeiro capítulo onde mostra sucintamente a montagem de um novo banco de dados, os processos envolvidos e tudo mais.

Na hora de fazer os exercícios empaquei numa questão:

Quando é dito arquivos convencionais, seria o uso de “Redundância não controlada”? Ainda existem casos onde a “Redundância não controlada” é indicada?

Abaixo estão as outras perguntas e respostas, caso alguém queira comentar, ajudar. Acho essa parte de fundamentos, de conceitos básicos fundamental pra desenvolver coisas com qualidade.

[quote]Exercício 1.1: Enumere as principais diferenças entre processamento de dados com arquivos convencionais e o processamento de dados com SGBD.

Resposta: O processamento de dados com SGBD 1- favorece a modularização, 2- a expansão futura e 3- a facilidade de manutenção dos códigos responsáveis pela gestão do Banco de Dados.

Exercício 1.3: Defina, sem retornar ao capítulo acima, os seguintes conceitos: banco de dados, SGBD, modelo de dados, modelo conceitual, modelo lógico, modelagem conceitual e projeto lógico.
Verifique a definição que você fez contra a apresentada no capítulo.

Resposta:
Banco de Dados: Conjunto de tabelas ou dados, compartilhados entre vários usuários.
SGBD: Conjunto de ferramentas para a gestão do banco de dados.
Modelo conceitual: Descreve a estrutura do banco de dados, independente do SGBD definido.
Modelo lógico: Descreve a estrutura dos dados contidos no banco de dados, de acordo com o SGBD definido.
Modelagem conceitual: Coletar informações necessárias para a construção do banco de dados.
Projeto lógico: Define os parâmetros necessários para cada entidade, objeto coletados na modelagem conceitual.

Exercício 1.4: A definição de um fator de bloco de um arquivo faz parte de que modelo: do modelo conceitual, do modelo lógico ou do modelo físico?

Resposta: Faz parte do modelo conceitual.

Exercício 1.5: A definição do tipo de um dado (numérico, alfanumérico, …) faz parte de que modelo: do modelo conceitual, do modelo lógico ou do modelo físico?

Resposta: Faz parte do modelo lógico.

Exercício 1.6: Qual a diferença entre a redundância de dados controlada e a redundância de dados não controlada? Dê exemplos de cada uma delas.

Resposta:
Na redundância de dados controlada, o software tem conhecimento dessa redundância e trabalha para manter a sincronia dos dados.
Exemplo: Um sistema onde a mesma informação é armazenada em vários computadores.
Na redundância de dados não controlada, o software não sabe dessa redundância e a sincronia dos dados fica por conta do usuário.
Exemplo: Uma empresa em que cada setor tem um arquivo separado, alimentado manualmente e que a informação de cada um deles é vital para o outro arquivo.[/quote]

Desde já obrigado!

Não. Acho que ele quer dizer um arquivo de textos (seja ele csv, xml) ou arquivos binários, sem estarem controlados por um SGBD. É como os games fazem com seus savegames, por exemplo, ou como o Word faz ao gerar um documento .docx de formato próprio.

A redundância não controlada é indicada nos casos em que:

a) O SGBD irá rodar em uma máquina só.

b) A aplicação exige muita performance;

c) Uma única aplicação escreve no banco, e as demais somente fazem leitura (ou seja, no fundo, não há concorrência). Essa situação é muito comum em aplicações que trabalham com grande volumes de dados como aplicações para bolsas de valores, cálculos meteorológicos, etc.

d) O banco de dados não pode custar uma fortuna - um bom esquema de redundância controlada e clustering pode custar muito caro;

Boa tarde Vini! Muito obrigado pela resposta!

Então para responder a pergunta, é correto dizer, em resumo, que os fatores principais para optar por arquivo convencional ao invés de SGBD são não necessidade de compartilhamento de dados e uso de arquivos especificos para cada computador?!

E quanto as outras respostas? Pelo que eu disse dá pra dizer que compreendi mais ou menos os conceitos?

O começo é sempre difícil hehehe

Se tiver algo a comentar sobre a indicação do livro também, fique a vontade, não sei se o conhece.

Acho que entendeu os conceitos sim.

Uma das coisas que mais motivam você ter um arquivo é dar ao usuário a mobilidade sobre o arquivo. Como no caso de um doc, que você carrega de um lugar para outro.

Outro motivo é você querer reduzir os requisitos mínimos da aplicação. A maioria de APIs para uso direto de arquivos é extremamente leve e simples. Além disso, os arquivos gerados tem pouquíssimo overhead - basicamente o espaço que ocupam é só os dados que armazenam.

Finalmente, você pode querer que o arquivo gravado seja legível. É o caso de arquivos de configuração, por exemplo.

É claro que uma das principais desvantagens de usar arquivos é a dificuldade. Ele não dá suporte a queries, nem outras facilidades do BD.

Vini, mais uma vez muito obrigado, espero que essas visões fiquem cada vez mais automáticas conforme eu for adquirindo experiência hehehe

Acho que estou pronto para partir para Relacionamento e Cardinalidade então.

Deixo aqui minha resposta para a questão que gerou o tópico, comente se quiser:

[quote]Exercício 1.2: Descreva alguns fatores que levam alguém a preferir o uso de arquivos convencionais ao uso de SGBD. Descreva alguns fatores que levam alguém a preferir o uso de SGBD ao uso de arquivos convencionais.

Resposta:
Alguns fatores que levam alguém a preferir o uso de arquivos convencionais são:

     1- Mobilidade.
	 2- Arquivos legíveis (como por exemplo arquivos de configuração).
	 3- Alto custo para a implementação do SGBD.

	  Alguns fatores que levam alguém a preferir o so de SGBD são:

	 1- Compartilhamento de arquivos com sincronia garantida.
	 2- Possibilidade de expansão do BD.
	 3- Facilidade na manutenção do código da aplicação.[/quote]

Dica de livro com exercícios solucionados e comentados:

Editora Ciência Moderna
Modelagem Lógica de Dados: construção básica e simplificada

ano 2012

Obrigado pela dica edubernardes!

Por enquanto estou seguindo o livro Projeto Banco de Dados e falando nele, existe algum software para desenhar um diagrama de ocorrência (ou instância) de entidade num relacionamento?

Desde já muito obrigado!

ViniGodoy e fggs,
Estou com meus estudos exatamente nessa etapa e esse tópico foi bem útil.
Esse é o verdadeiro poder da Internet: A evolução do conhecimento!

Valeu!

Para desenhar diagrama de ocorrência eu não conheço nenhum software, mas um para desenhar o DER sim. Costumo usar o BRModelo com os meus alunos, pois além de não ter custo, é bem leve e portátil.

Caso venha algum viajante a este tópico, tenho a resolução destes exercícios em meu site.

oi gente
é uma pena que esses softwares de diagramas não sejam assecível a pessoas com deficiência, tou querendo isso pra fazer relacionamento de classes e nada…
abraços

EXERCÍCIOS

Exercício 1.1: Enumere as principais diferenças entre o processamento de dados com arquivos convencionais e o processamento de dados com SGBD.

Arquivos convencionais

  • Problemas com redundância de dados.
  • Os dados não estão interligados.
  • Não existe restrição bem definida de qual informação pode ser alocada.
    SGBD
  • A redundância irá trazer benefícios.
  • As informações estão interligadas, trazendo benefícios.
  • Maior segurança.

Exercício 1.2: Descreva alguns fatores que levam alguém a preferir o uso de arquivos convencionais ao uso de SGBD. Descreva alguns fatores que levam alguém a preferir o uso de SGBD ao uso de arquivos convencionais.
Arquivos convencionais
Um fator relevante para a escolha de arquivos convencionais é o custo, pois se a empresa ter algum, vai ser muito baixo comparado ao SGBD.
SGBD
Um fator relevante para a escolha de um SGBD são os benefícios, pois o sistema trará condições melhores para tratar as informações da empresa.

Exercício 1.3: Defina, sem retornar ao capítulo acima, os seguintes conceitos: banco de dados, sistema de gerência de banco de dados, modelo de dados, modelo conceitual, modelo lógico, modelagem conceitual e projeto lógico. Verifique a definição que você fez contra a apresentada no capítulo.
Banco de dados é um conjunto de informações que alimenta partes interessadas.
Um SGBD é um software (programa) que gerência o banco de dados (Insere dados, altera dados, seleciona dados, deleta dados).
Modelo de dados é uma descrição dos tipos de informações que estão armazenadas em um banco de dados.
Modelo conceitual é um modelo de dados abstrato, que descreve a estrutura de um banco de dados de forma independente de um SGBD particular.
Modelagem conceitual é uma técnica que descreve entidades de um organização e informações do banco de dados.
Modelo lógico é uma descrição de um banco de dados no nível de abstração visto pelo usuário do SGBD.
Projeto lógico Define quais as tabelas que o banco contém e, para cada tabela, quais os nomes das colunas.

Exercício 1.4: A definição do fator de bloco de um arquivo faz parte de que modelo: do modelo conceitual, do modelo lógico ou do modelo físico?
Significado de bloco: Um conjunto de elementos (arquivos), portanto posso afirmar que a definição do fator de bloco de um arquivo faz parte do modelo lógico, pois esse é composto por tabelas onde contém dados.

Exercício 1.5: A definição do tipo de um dado (numérico, alfanumérico,…) faz parte de que modelo: do modelo conceitual, do modelo lógico ou do modelo físico?
Faz parte do modelo físico, pois trata de aspectos de implementação do SGBD, como tipo de dados, tamanho deste dado, se pode ser nulo ou não, etc. Nos modelos conceitual e lógicos não ocorre isto.

Exercício 1.6: Qual a diferença entre a redundância de dados controlada e a redundância de dados não controlada? Dê exemplos de cada uma delas.
Redundância de dados controlada ocorre quando o software (SGBD) tem o controle das múltiplas informações dentro da empresa. Isto traz benefícios para empresa, pois em mais de um local os usuários podem utilizar estas informações.
Redundância de dados não controlada ocorre quando o usuário tem o papel do SGBD, isto traz malefícios para empresa, podendo causar uma série de problemas, como de digitação, perdas de arquivos, etc.