Guia Completo de Bancos de Dados e Modelagem
Classificado em Computação
Escrito em em
português com um tamanho de 3,74 KB
Modelos de Dados
O modelo hierárquico foi o primeiro a ser reconhecido como um modelo de dados. Seu desenvolvimento somente foi possível devido à consolidação dos discos de armazenamento endereçáveis.
O modelo em redes surgiu como uma extensão ao modelo hierárquico, eliminando o conceito de hierarquia e permitindo que um mesmo registro estivesse envolvido em várias associações.
O modelo relacional apareceu devido à necessidade de aumentar a independência de dados nos Sistemas Gerenciadores de Banco de Dados (SGBD).
Definições Fundamentais
Banco de Dados (BD)
Uma definição simples e genérica seria a de que se trata de uma coleção de dados inter-relacionados, representando informações sobre um domínio específico.
SGBD
Um Sistema Gerenciador de Base de Dados (SGBD) é uma coleção de programas que permitem aos usuários criarem e manipularem uma base de dados. É um software de propósito geral que facilita o processo de definir, construir e manipular bases de dados de diversas aplicações.
Linguagens de Banco de Dados
- DDL (Data Definition Language): Utilizada pelo DBA e projetistas para definir esquemas.
- DML (Data Manipulation Language): Utilizada pelos usuários para manipular os dados após o esquema ser compilado.
Arquitetura de 3 Esquemas
- Nível interno: Descreve a estrutura de armazenamento físico.
- Nível conceitual: Descreve a estrutura do banco de dados como um todo.
- Nível externo (visão): Descreve as visões do banco de dados para grupos de usuários específicos.
Chaves e Atributos
- Atributo Identificador (Chave Primária/PK): Capaz de identificar exclusivamente cada ocorrência de uma entidade. Não pode ser nulo e nunca se repete.
- Chave Candidata: Atributo ou grupo de atributos que identifica unicamente uma ocorrência.
- Chave Estrangeira (FK): Formada pelo relacionamento com a chave primária de outra tabela.
- Atributo Obrigatório (NOT NULL): Deve possuir um valor.
- Atributo Opcional (NULL): Pode não possuir um valor.
Álgebra Relacional
É uma linguagem de consulta formal e procedimental baseada em conjuntos. Operações principais:
- Seleção (Select): Filtra subconjunto de tuplas.
- Projeção (Project): Seleciona colunas específicas.
- União (Union): Combina tuplas de duas relações.
- Intersecção (Intersection): Retorna tuplas comuns a ambas as relações.
- JOIN: Combina tuplas relacionadas de diferentes tabelas.
Projeto de Banco de Dados
- Modelo Conceitual: Independente do SGBD, focado na realidade modelada.
- Modelo Lógico: Estrutura dependente do tipo de SGBD.
- Modelo Físico: Dependente do SGBD específico, próximo à implementação.
Modelo Entidade-Relacionamento (MER)
Modelo de alto nível para representar entidades, atributos e relacionamentos.
Cardinalidade
- 1:1 (Um-para-um)
- 1:n (Um-para-muitos)
- n:1 (Muitos-para-um)
- n:n (Muitos-para-muitos)
Notações
Existem a notação tradicional (retângulos e losangos) e a notação Crow's Foot (Pé de galinha), amplamente utilizada por arquitetos de dados.