A informação constitui o conteúdo da base de dados. Para que possa ser armazenada e gerida, essa
informação necessita de uma estrutura. Essa estrutura é criada e mantida pelo software do sistema
de gestão de base de dados (SGBD).
O banco de dados é parte integrante dos chamados Sistemas de Informação, onde os dados são
colectados, processados, organizados e armazenados. A parte de colecta, tratamento e
processamento dos dados é feito por programas específicos como: ERP, CRM, Web service, sites,
etc. Porém, o armazenamento e organização desses dados são feitos em um banco de dados,
podendo ser ele Oracle, SQL Servidor, MySQL ou outro.
Atualmente os bancos de dados são chamados de relacionais, pois suas estruturas são formadas
por tabelas e relacionamento entre as tabelas. Tanto um banco robusto como o Oracle ou um
desktop como o Access adota este mesmo padrão, tornando assim fácil e possível a integração de
dados entre bancos
1
Informática 2018
Finalidade geral: Armazenar informações e permitir que os usuários busquem e actualizem estas
informações de forma eficiente e rápida quando necessário
Os usuários podem:
– Inserir,
– Buscar,
– Actualizar e
– Remover dados.
Vantagens
Organização dos dados: a estrutura dos dados é muito complicada para ser armazenada em tabelas
• Volume de dados: o volume dos dados é muito grande para ser armazenado em uma tabela
• Velocidade/Eficiência: Os dados são obtidos e actualizados rapidamente no BD
• Concorrência: diferentes aplicações/usuários podem compartilhar os mesmos dados
• Redundância controlada: dados compartilhados não precisam ser replicados
• Aplicabilidade: Diminuição no tempo de desenvolvimento da aplicação
2
Informática 2018
Os sistemas de gestão de base de dados são programas que permitem criar e manipular bases
de dados, em que dados estão estruturados com independência relativamente aos programas
de aplicação que os manipulam.
Características do SGBD
· Nível físico:
3
Informática 2018
· Nível Conceptual
· Nível de visualização
Corresponde à forma como os dados são apresentados aos utilizadores finais, através de interfaces
gráficos proporcionados pelo SGBD.
O software causa um overhead (degradação de recursos) adicional, pois é mais lento na execução
e necessita de mais espaço em disco.
4
Informática 2018
Os modelos que são utilizados para a criação de bases de dados podem ser classificados em
dois agrupamentos prin.cipais:
۵ Modelo hierárquico
۵ Modelo de rede
۵ Modelo relacional
5
Informática 2018
Microsoft Access
FileMaker
Microsoft SQL
Oracle
Informix
DB2
Etc.
Estes são alguns dos produtos que permitem criar, utilizar e manter bases de dados.
Para construir uma base de dados temos que reflectir sobre alguns aspectos:
6
Informática 2018
Até certo ponto podemos traduzir para as tabelas quase todo o tipo de entidades, situações,
acontecimentos, etc… Para tal basta que possamos definir algumas das características dessas
entidades como CAMPOS.
Noção de tabela
Parte integrante de uma B.D., é utilizada para guardar informação relativa a um assunto
específico, como, por exemplo, alunos, livros, autores, países, códigos de postal, etc…
A informação guardada numa tabela deve ser coerente com os critérios utilizados para a
sua criação – conter apenas os dados que digam respeito ao assunto, a que se dá o
nome de entidade.
Noção de campo
Noção de registo
Noção de relação
Associação estabelecida entre campos comuns (colunas) de duas tabelas, permitindo que
a consciência da informação seja garantida
7
Informática 2018
o relacionamento entre os campos comuns das tabelas permite garantir que a consciência
da informação não seja colocada em causa e também associar os dados de duas ou
mais tabelas para a visualização, edição ou impressão da informação.
Noção de associação
Noção de chave
A chave de uma tabela é constituída por um ou mais campos que possam ser utilizados como
identificadores de cada registo.
O campo ou conjunto de campos seleccionados para chave de uma tabela não pode conter
informação repetida.
O TIPO DE CAMPO…
…deve ser escolhido de acordo com as características dos dados que queremos que ele guarde.
1. Se quisermos comparar datas, convém que o campo esteja definido como data/hora,
2. Se quisermos fazer cálculos, temos que o definir como numérico. Existir 2 registos com
o mesmo conteúdo para a chave primária.
3. Não Nulo: Não podem existir nenhum atributo chave primária que contenha campo nulo.
8
Informática 2018
Modelo relacional
Modelo Relacional
• Os dados são percebidos como tabelas (relações);
• Atributos (campos da tabela);
• Chaves:
– Primárias: atributo que identifica a entidade.
Deve ser único para cada registo;
– Estrangeiras: atributo para referenciar entidades em outras tabelas.
Vantagens
- Pouco espaço físico ocupado
- Eliminação da redundância de utilização
- Facilidade e rapidez de manipulação da informação armazenada
- Menor deterioração do suporte utilizado (micro-ficha, magnético, óptico)
- Mais verdade na combinação dos dados, mais informação
9
Informática 2018
CONCEITO DE CHAVES
Uma chave é um atributo ou um conjunto de atributos que permite identificar de modo unívoco os
registos (entidades ou ocorrências) de uma tabela. Todas as chaves possíveis de uma tabela ou
entidade – simples ou composta – são designadas chaves candidatas. Entre as chaves candidatas
existentes numa tabela, uma delas será a mais indicada ou escolhida para desempenhar o papel de
chave – essa será designada por chave primária. Uma chave primária é, por conseguinte, um
atributo ou conjunto de atributos que assume a função de identificar de modo unívoco as entidades
ou registos de uma tabela.
10
Informática 2018
tabela, então, do ponto de vista desta última tabela, disse que se trata de chave externa
(secundaria). Portanto, uma chave externa (secundaria) é um atributo que é chave primária de
uma tabela e que vai aparecer como atributo de uma outra tabela. É fundamentalmente através da
inclusão de atributos que são chaves primárias (nas suas tabelas de origem) em outras tabelas (onde
são chaves secundarias) que são estabelecidos os relacionamentos entre as diferentes entidades de
uma base de dados relacional.
Com o advento do Modelo de Entidades e Relacionamentos foi causada uma confusão entre os
termos relação e relacionamento
O Modelo Relacional, quando descrito de forma matemática, é definido como um modelo formado
por relações (no sentido matemático) entre os domínios. Cada tupla é um elemento do conjunto
relação.
Por meio das chaves estrangeiras, é possível implementar restrições nos SGBDR.
Um para um (1 para 1) - indica que as tabelas têm relação unívoca entre si. Você escolhe
qual tabela vai receber a chave estrangeira;
Um para muitos (1 para N) - a chave primária da tabela que tem o lado 1 vai para a tabela
do lado N. No lado N ela é chamada de chave estrangeira;
Muitos para muitos (N para N) - quando tabelas têm entre si relação n.n, é necessário criar
uma nova tabela com as chaves primárias das tabelas envolvidas, ficando assim uma chave
11
Informática 2018
composta, ou seja, formada por diversos campos-chave de outras tabelas. A relação então
se reduz para uma relação 1.n, sendo que o lado n ficará com a nova tabela criada.
1FN - 1ª Forma Normal:todos os atributos de uma tabela devem ser atômicos, ou seja, a
tabela não deve conter grupos repetidos e nem atributos com mais de um valor. Para deixar
nesta forma normal, é preciso identificar a chave primária da tabela, identificar a(s)
coluna(s) que tem(êm) dados repetidos e removê-la(s), criar uma nova tabela com a chave
primária para armazenar o dado repetido e, por fim, criar uma relação entre a tabela
principal e a tabela secundária. Por exemplo, considere a tabela Pessoas a seguir.
12
Informática 2018
2FN - 2ª Forma Normal:antes de mais nada, para estar na 2FN é preciso estar na 1FN.
Além disso, todos os atributos não chaves da tabela devem depender unicamente da chave
primária (não podendo depender apenas de parte dela). Para deixar na segunda forma
normal, é preciso identificar as colunas que não são funcionalmente dependentes da chave
primária da tabela e, em seguida, remover essa coluna da tabela principal e criar uma nova
tabela com esses dados. Por exemplo, considere a tabela ALUNOS_CURSOS a seguir.
3FN - 3ª Forma Normal:para estar na 3FN, é preciso estar na 2FN. Além disso, os
atributos não chave de uma tabela devem ser mutuamente independentes e dependentes
unicamente e exclusivamente da chave primária (um atributo B é funcionalmente
dependente de A se, e somente se, para cada valor de A só existe um valor de B). Para
atingir essa forma normal, é preciso identificar as colunas que são funcionalmente
13
Informática 2018
dependentes das outras colunas não chave e extraí-las para outra tabela. Considere, como
exemplo, a tabela FUNCIONARIOS a seguir.
Exemplo 2
1ª Forma Normal
Uma relação está na 1ª Forma Normal se e só se cada linha contém exactamente um valor para
cada atributo Exemplo (dados referentes a uma encomenda de livros - estrutura não normalizada):
Na 1ª Forma Normal:
2ª Forma Normal
Uma relação está na 2ª Forma Normal se está na primeira e se todos os atributos descritores
dependerem da totalidade das chaves candidatas.
14
Informática 2018
3ª Forma Normal
Uma relação está na 3ª Forma Normal se está na 2ª Forma Normal e se não existirem atributos
descritores a dependerem funcionalmente de outros atributos descritores (que não pertencem a
nenhuma chave candidata).
Este esquema relacional está na 3ª Forma Normal porque, em nenhuma das relações existem
dependências funcionais transitivas e está na FNBC porque cada relação tem uma única chave
candidata
Exemplo 3
Segundo a 1FN, todas as ocorrências de um registro devem conter os mesmos números de campos.
A 1FN não admite repetições, ou campos que contém mais de um valor. Observe o exemplo:
15
Informática 2018
Neste caso, para realizar a completa normalização, seguindo a 1FN, teríamos as seguintes tabelas:
Neste exemplo, os telefones ficaram separados, por haver a possibilidade de um dos registros
possuír mais de um telefone, o que, se cadastrado na mesma tabela, ocasionaria a
“desnormalização” dos dados. Quanto ao CEP, encontra-se em um campo separado do Endereço,
bem como o Bairro e os registros estão, assim, de forma aninhada.
Podemos dizer que uma tabela está na 2FN se ela estiver na 1FN e todos os atributos não
chave forem totalmente dependentes da chave primária (dependente de toda a chave e não apenas
de parte dela – em caso de chaves compostas).
Entenda: se o nome do cliente já existe na tabela Clientes, então, ele não é necessário na
tabela Atendimentos. É disso que a 2FN trata, dessas anomalias, redundâncias no banco de dados.
16
Informática 2018
De fato, isto está errado, uma vez, que os produtos são cadastrados em outra tabela (a tabela de
produtos) onde, no ato do cadastro, já informamos seu nome. O correto seria assim:
Observe que só é necessário fazer referência a chave primária (ao código) do produto, e nada mais!
Sabemos que uma tabela está na 3FN se ela estiver na 2FN e se nenhuma coluna não-
chave depender de outra coluna não-chave.
Basicamente, o objetivo é eliminar os campos que podem ser obtidos pela equação (cálculo
matemático ou lógico) de outros campos da mesma tabela.
A chave primária da nova entidade será o atributo do qual os atributos removidos são
funcionalmente dependentes.
17
Informática 2018
Observe que o valor da coluna “Subtotal” pode (e deve), tranquilamente ser obtido através do
cálculo do valor da coluna “Quant” multiplicado pelo valor da coluna “Valor_unit”. Isso eliminaria
da nossa tabela (da tabela acima) a coluna “Subtotal”, deixando-a assim:
18