Ramon de Souza – 2657992 (Unigranrio) POLO MEIER
Trabalho de Banco de Dados: Conceitos e Conhecimentos Fundamentais
Professor(a): Oswaldo Peres
Duque de Caxias 2025
Sumário
1. Introdução
2. Desenvolvimento dos Exercícios
1. Estrutura de Arquivo de Dados: Mapeamento de Posições
2. Definição de Conceitos Fundamentais de Banco de Dados
▪ Índices
▪ Chave Primária (Primary Key)
▪ Chave Estrangeira (Foreign Key)
▪ Chave Candidata (Candidate Key)
▪ Domínios
3. Estudo Comparativo de Métodos de Ordenação
▪ Método da Bolha (Bubble Sort)
▪ QuickSort
▪ Método de Inserção (Insertion Sort)
4. Características do Modelo Relacional de Dados
5. A Propriedade ACID e sua Importância
3. Conclusão
4. Referências Bibliográficas
1. Introdução
No cenário tecnológico atual, o processamento e armazenamento de dados são pilares para o
funcionamento de qualquer organização. Informações sobre clientes, notas fiscais, fornecedores e
operações internas constituem uma base de conhecimento de valor inestimável. Quando bem
gerenciados, esses dados não apenas suportam as operações administrativas e fiscais, mas também
revelam insights estratégicos sobre o comportamento de mercados e populações, impulsionando o
desenvolvimento de novos produtos e estratégias de marketing.
Contudo, a eficácia na utilização desses dados depende diretamente de sua estruturação. Dados
desorganizados ou armazenados de maneira inadequada geram um alto custo de manipulação,
tornando a extração de informações valiosas uma tarefa complexa e ineficiente. A evolução dos
estudos em ciência da computação e sistemas de informação trouxe formalizações e modelos que
permitem hoje a existência de sistemas complexos, como o comércio eletrônico e vastas bibliotecas
digitais.
Este trabalho tem como objetivo explorar os conceitos basilares que permitem a construção de
sistemas de dados organizados e eficientes. Através da resolução de uma série de exercícios
propostos, abordaremos desde a estruturação física de arquivos até os modelos lógicos e as
garantias de transação que sustentam os modernos sistemas de gerenciamento de banco de dados.
2. Desenvolvimento dos Exercícios
2.1. Estrutura de Arquivo de Dados: Mapeamento de Posições
Considerando um sistema que manipula arquivos de dados com uma estrutura de registros de
tamanho fixo, é crucial definir um layout preciso para cada campo. Este layout determina onde cada
informação começa e termina dentro do registro, garantindo que o sistema possa ler e escrever os
dados de forma consistente. A seguir, apresenta-se um quadro que especifica as posições iniciais e
finais para cada um dos dados informados.
Campo Tipo de Dado Tamanho Posição Posição
(Bytes) Inicial Final
Código Numérico 6 1 6
Nome Alfanumérico 40 7 46
Endereço Alfanumérico 50 47 96
Bairro Alfanumérico 20 97 116
CEP Alfanumérico 9 117 125
Cidade Alfanumérico 30 126 155
UF Alfanumérico 2 156 157
Telefone Alfanumérico 15 158 172
Limite de Crédito Numérico 10 173 182
(Decimal)
Data de Nascimento Data (DDMMAAAA) 8 183 190
Tamanho Total do 190
Registro
2.2. Definição de Conceitos Fundamentais de Banco de Dados
• Índices: São estruturas de dados auxiliares, semelhantes ao índice de um livro, que visam
otimizar a velocidade de recuperação de registros em uma tabela. Ao invés de percorrer a
tabela inteira para encontrar um dado (processo conhecido como full table scan), o sistema
de gerenciamento de banco de dados (SGBD) consulta o índice, que mapeia os valores de
uma ou mais colunas para a localização física dos registros correspondentes, agilizando
drasticamente as operações de busca (SELECT).
• Chave Primária (Primary Key): É uma coluna (ou um conjunto de colunas) que identifica de
forma única e inequívoca cada registro em uma tabela. Uma chave primária possui duas
regras fundamentais: seus valores não podem ser nulos e não podem se repetir na tabela. Ela
é o principal meio de identificação de um registro.
• Chave Estrangeira (Foreign Key): É uma coluna (ou conjunto de colunas) em uma tabela que
estabelece um vínculo com a chave primária de outra tabela (ou, em casos mais raros, da
mesma tabela). Sua principal função é garantir a integridade referencial, ou seja, assegurar
que um registro em uma tabela só possa se referir a um registro que realmente existe na
tabela referenciada, mantendo a consistência do relacionamento entre os dados.
• Chave Candidata (Candidate Key): É qualquer coluna ou combinação de colunas que atenda
aos requisitos para ser uma chave primária (valores únicos e não nulos). Uma tabela pode ter
várias chaves candidatas. Dentre elas, o projetista do banco de dados escolhe uma para ser a
chave primária oficial. As demais são chamadas de chaves alternativas.
• Domínios: O domínio de um atributo define o conjunto de todos os valores possíveis que ele
pode assumir. Isso inclui o tipo de dado (ex: inteiro, texto, data), o formato e quaisquer
restrições ou regras. Por exemplo, o domínio do atributo UF seria o conjunto das 27 siglas
dos estados brasileiros. A definição de domínios é essencial para garantir a validade e a
consistência dos dados inseridos no banco.
2.3. Estudo Comparativo de Métodos de Ordenação
A ordenação de dados é uma operação fundamental em computação. A escolha do método correto
impacta diretamente o desempenho da aplicação, especialmente ao lidar com grandes volumes de
dados.
• Método da Bolha (Bubble Sort): É um dos algoritmos mais simples. Ele percorre a lista
repetidamente, comparando cada par de elementos adjacentes e trocando-os de posição se
estiverem na ordem errada. Os elementos maiores "borbulham" para o final da lista a cada
passagem. Apesar de sua simplicidade de implementação, é muito ineficiente para conjuntos
de dados de médio a grande porte, com uma complexidade de tempo média e de pior caso
de O(n2).
• QuickSort: É um algoritmo de ordenação eficiente que utiliza a estratégia de "dividir para
conquistar". Ele seleciona um elemento como "pivô" e particiona a lista em duas sub-listas:
uma com elementos menores que o pivô e outra com elementos maiores. O processo é
então aplicado recursivamente às sub-listas. Sua complexidade de tempo média é de
O(nlogn), o que o torna um dos algoritmos de ordenação mais rápidos na prática.
• Método de Inserção (Insertion Sort): Este método constrói a lista ordenada final um
elemento de cada vez. Ele percorre a lista e, para cada elemento, o insere em sua posição
correta na sub-lista já ordenada à esquerda. É um algoritmo eficiente para listas pequenas ou
para conjuntos de dados que já estão parcialmente ordenados. Sua complexidade de tempo
no pior caso é de O(n2), tornando-o inadequado para grandes listas desordenadas.
2.4. Características do Modelo Relacional de Dados
O Modelo Relacional, proposto por Edgar F. Codd, é o modelo de banco de dados mais difundido no
mundo. Suas principais características são:
1. Estrutura em Tabelas (Relações): Todos os dados são representados em tabelas
bidimensionais, compostas por linhas (tuplas ou registros) e colunas (atributos ou campos).
2. Base Matemática Sólida: É fundamentado na teoria dos conjuntos e na lógica de predicados,
o que lhe confere consistência e previsibilidade.
3. Relacionamentos Baseados em Dados: As conexões entre as tabelas são estabelecidas por
meio de valores comuns, utilizando chaves primárias e estrangeiras, e não por ponteiros ou
ligações físicas.
4. Integridade dos Dados: O modelo impõe regras para garantir a precisão e a consistência dos
dados, como a integridade de entidade (garantida pela chave primária) e a integridade
referencial (pela chave estrangeira).
5. Linguagem de Acesso Padrão (SQL): A manipulação dos dados é realizada através da SQL
(Structured Query Language), uma linguagem declarativa que se tornou o padrão da
indústria para consultar e gerenciar bancos de dados relacionais.
2.5. A Propriedade ACID e sua Importância
ACID é um acrônimo que descreve um conjunto de quatro propriedades essenciais que garantem a
confiabilidade das transações em um sistema de banco de dados. Uma transação é uma única
unidade lógica de trabalho, que pode ser composta por múltiplas operações.
• A - Atomicidade (Atomicity): Garante que a transação seja uma operação do tipo "tudo ou
nada". Ou todas as suas operações são concluídas com sucesso, ou nenhuma delas é
efetivada. Se ocorrer uma falha, o sistema reverte para o estado anterior à transação,
evitando dados em estado inconsistente.
• C - Consistência (Consistency): Assegura que uma transação levará o banco de dados de um
estado válido para outro. Qualquer transação que viole as regras de integridade do banco
(restrições, chaves, etc.) será abortada e desfeita.
• I - Isolamento (Isolation): Garante que transações concorrentes não interfiram umas nas
outras. Do ponto de vista de uma transação individual, parece que ela está sendo executada
sozinha no sistema, mesmo que outras estejam ocorrendo simultaneamente.
• D - Durabilidade (Durability): Assegura que, uma vez que uma transação tenha sido
confirmada (commit), suas alterações se tornam permanentes e sobreviverão a qualquer
falha subsequente, como quedas de energia ou falhas de hardware.
Importância: A conformidade com as propriedades ACID é vital para a integridade de sistemas
críticos, como aplicações financeiras, sistemas de e-commerce e controle de estoque. Ela garante
que, mesmo diante de falhas e acesso concorrente, os dados permaneçam corretos, consistentes e
confiáveis, sustentando a confiança nas operações do sistema.
3. Conclusão
Ao longo deste trabalho, exploramos conceitos fundamentais que formam a base da estruturação e
gerenciamento de dados. Iniciamos com a organização física de um arquivo, passamos pela definição
de elementos lógicos cruciais como chaves e índices, analisamos a importância dos algoritmos de
ordenação para o desempenho, e culminamos no robusto Modelo Relacional e nas garantias
transacionais da propriedade ACID.
Ficou evidente que a simples coleta de dados não gera valor por si só; é a sua correta estruturação,
organização e a garantia de sua integridade que os transformam em ativos estratégicos para as
organizações. O conhecimento desses pilares é indispensável para qualquer profissional que almeje
construir aplicações seguras, eficientes e confiáveis, capazes de manipular informações de forma
consistente no complexo ecossistema digital contemporâneo.
4. Referências Bibliográficas
ALVES, William Pereira. Banco de Dados: teoria e desenvolvimento. São Paulo: Érica, 2010.
ELMASRI, R.; NAVATHE, S. B. Sistemas de Banco de Dados. 6. ed. São Paulo: Pearson Addison-
Wesley, 2011.
DATE, C. J. Introdução a Sistemas de Bancos de Dados. 8. ed. Rio de Janeiro: Elsevier, 2004.