Banco de dados
INTRODUÇÃO A
HISTÓRICO
Décadas 50 e 60
–
Dados armazenados em fitas magnéCcas e cartões
perfurados.
Histórico
•
Década de 70
–
Armazenamento em discos rígidos
–
Nascimento do banco de dados hierárquico
Hospital Dr João Paciente 1 Paciente 2 Dr Antônio Dr Luis
histórico
Década de 80
•
Surgimento do banco de dados relacional
•
IBM System R e IBM SQL/DS
histórico
Década de 90
•
Explosão da WEB
–
Banco de dados voltados para consultas rápidas
–
Funcionamento 24/7
Histórico
Anos 2000
•
XQUERY, um novo conceito em banco de
dados
•
Banco de dados mais confiáveis
•
Expansão do Open Source
COMPATIBILIDADE
•
O banco de dados serve para armazenar os dados
de um programa;
•
Uma linguagem de programação é compajvel
com vários bancos de dados.
•
Um banco de dados é compajvel com várias
linguagens de programação.
•
Um banco de dados pode servir a mais de um
programa
•
Um programa pode ter mais de um banco de
dados.
Conceitos básicos
•
Banco de dados
–
Armazenamento ksico dos arquivos
Conceitos Básicos
•
Sistema gerenciador de Banco de Dados
(SGBD)
–
Sooware responsável pelo armazenamento e
recuperação de dados no banco de dados
Conceitos básicos
•
Banco de Dados
–
É o armazenamento estruturado de um conjunto
de fatos que possibilitam produção de informação.
–
Na práCca, é um ‘módulo acoplado’ à linguagem
de programação que ‘apenas’ armazena as
informações.
•
Pode ser considerado um banco de dados
–
Agenda telefônica
–
Lista de Pedidos
–
Catálogo de Produtos
•
Não pode ser considerado um banco de dados
–
Calculadora
–
Gerador de cartelas de bingo
Conceitos básicos
•
Banco de Dados
–
Principalmente guarda as informações
–
Operações: Inserir novas informações, Apagar
informações já armazenadas, coletar informações
armazenadas, atualizar informações armazenadas.
Conceitos básicos
•
Dado
–
Valor atômico
–
Registro de um fato isolado
–
Não tem significado claro
–
Importante para o usuário
–
Menor unidade de informação
–
Conteúdo do campo
VANTAGENS DO BANCO DE
DADOS
•
Sistema tradicional de armazenamento:
–
Armazena diversos arquivos sem lógica padrão
–
Inseguro e lento
–
Sem padronização
–
Redundância (dados repeCdos)
–
Somente um acesso simultâneo
•
Banco de Dados
–
Armazena arquivos indexados (ordenados)
–
Seguro (Senha, permissões, níveis) e mais rápido
–
Dados padronizados
–
RepeCções controladas
•
Dado é uma informação abstrata, você
consegue ler, mas não sabe onde e como
se aplica.
–
40 kg
–
Leite desnatado
–
20 dias
•
Informação é algo que você compreende e
sabe seu significado e uClidade.
–
João pesa 40 kg
–
Pedi para comprar leite desnatado.
–
A promoção dura 20 diasa
Atributos
•
CaracterísCcas comuns aos objetos ou
conceitos definidos pela EnCdade. É qualquer
propriedade de uma EnCdade. Corresponde
aos campos de uma tabela.
ATRIBUTOS – ESTUDO DE CASO f1
•
Um portal de fãs de esportes gostaria de
registrar as novas informações sobre a
temporada 2011 de fórmula 1. Os fãs
gostariam de saber as informações sobre os
novos carros e seus pilotos.
•
Sabendo que Piloto e Carro são enCdades,
quais os atributos?
Atributos -‐ ESTUDO DE CASO -‐ carros
•
Nome: MVR-‐02
•
Motor: Consworth CA2011
•
Pneus: Pirelli
•
Rodas: BBS
Nome: R31
Motor: Renault RS272011
Pneus: Pirelli
Rodas: OZ
Atributos -‐ ESTUDO DE CASO -‐ pilotos
•
Nome: Timo Glock
•
País: Alemanha
•
Idade: 28
•
Estréia na F1: 2008
Nome: Jerome D’Ambrosio
País: Bélgica
Idade: 25
Atributos -‐ EXERCÍCIO
•
Uma revendedora de veículos gostaria de um
sistema para registrar os carros de seu
estoque. Você como analista contratado, deve
encontrar as enCdades para montar o banco
de dados.
•
Sabendo que Carro é uma enCdade, quais
seus atributos?
ABSTRAÇÃO
•
Ao analisar um caso e a parCr dele montar um
modelo de banco de dados, devemos
observar:
–
EnCdades
–
Atributos
–
Relacionamentos
–
Cardinalidade
ENTIDADES
•
Objetos ou conceitos que possuem um
conjunto de caracterísCcas comuns,
compostas ou caracterizadas por um conjunto
de atributos. Corresponde a uma tabela de
ENTIDADES -‐ EXEMPLO
•
Nome
•
Idade
•
RG
•
CPF
•
Peso
•
Altura
•
Cor do Cabelo
ENTIDADES -‐ ESTUDO DE CASO f1
•
Um portal de fãs de esportes gostaria de
registrar as novas informações sobre a
temporada 2011 de fórmula 1. Os fãs
gostariam de saber as informações sobre os
novos carros e seus pilotos.
•
Quais enCdades podemos encontrar nesse
modelo?
ENTIDADES -‐ EXERCÍCIO
•
Uma revendedora de veículos gostaria de um
sistema para registrar os carros de seu
estoque. Você como analista contratado, deve
encontrar as enCdades para montar o banco
de dados.
Tipos de En7dade
• Uma en7dade é representada por um conjunto de atributos Ex: Cliente -‐>Nome_cliente, cpf, rua, cidade.
• É uma “coisa” ou “objeto” no mundo real que pode ser idenCficada de forma unívoca em relação a todos os outros objetos.Cada pessoa numa empresa é uma EnCdade
• Um conjunto de en7dades abrange en7dades do mesmo 7po.
Classificação das En7dades
Fortes: EnCdade com existência própria recebida por um conjunto de atributos, um dos quais assume valores capazes de idenCficar cada ocorrência da enCdade de forma unívoca. Exemplos: Cliente, Fornecedor, Aluno
Fracas: enCdade percebida por um conjunto de atributos mas, que dependem para sua idenCficação, da existência de outra enCdade.
Exemplo: Agência (depende da enCdade Banco para exisCr)
Propriedades de en7dades
• EnCdade isoladamente não informa nada
• É necessário atribuir propriedades às enCdades • Propriedades especificadas na forma de
– Relacionamentos – Atributos
Atributos
Atributo é o conjunto de itens que um registro pode conter.
Exemplo: Cada item de uma ficha ou registro, corresponde a um item, campo ou
atributo em um cadastro de clientes de uma empresa, podemos encontrar os seguintes campos: cpf, nome, endereço, cidade, bairro, estado, cep, ...
Importante
:
A definição dos atributos geralmente acontece durante várias discussões com o cliente. Todo atributo que pode vir a ser necessário em alguma tomada de decisão, no presente ou no futuro, deve ser incluído. Mas cuidado...evite armazenar dados desnecessários.Atributos(Campos)
Funcionário RG CPF Nome Dependentes* Endereço Cidade EstadoChave Primária e Chave
Estrangeira
Chave primária
Atributo ou combinação de atributos que possuem a propriedade de idenCficar de forma única uma linha da tabela. Corresponde a um atributo determinante.
Cada tabela deve incluir um campo ou conjunto de campos que idenCfique de forma exclusiva, cada registro armazenado na tabela. Essas informações são chamadas de chave primária da tabela.
Desta forma, com a chave primária cria-‐se uma idenCficação única, o que dá total segurança para que aplicações possam acessar, alterar e excluir dados sem correr o risco de apagar ou alterar dois campos da tabela ao mesmo tempo.
Chave primária é um importante objeto quando se aplica regras de
normalização de dados, muitas das formas normais são baseadas nas relações dos demais atributos com a chave primária da tabela.
Chave estrangeira
A chave estrangeira ocorre quando um atributo de uma relação for chave primária em outra relação.
Vamos ver um
exemplo:
Tabela Produtos
-‐ Codigo_produto
-‐ Produto
-‐ Categoria
-‐ Preço Data
-‐ QuanCdade
-‐ Descricao
Tabela Itens do Pedido
-‐ Numero_pedido
-‐ Codigo_produto
-‐ QuanCdade
ATIVIDADE EM SALA
Uma Escola deseja criar um sistema para controle de notas dos alunos, baseado nisso, elabore um modelo de como poderia ser o banco de dados desta aplicação, lembrando que na escola temos professores, alunos, notas e todos eles estão relacionados.Depois de encontrar as enCdades e os atributos monte as tabelas. Se esCverem corretamente relacionadas você ganha 1(hum) ponto na próxima prova.
1FN – Primeira Forma Normal
Uma enCdade estará na 1FN, se e somente se, todos seus atributos
(colunas) forem atômicos, ou seja não conter grupos repeCCvos ou
colunas que tenham mais de um valor.
Passos a serem aplicados para consolidação da 1FN:
-‐ IdenCficação da chave primária da tabela.
-‐ IdenCficação da coluna que contem dados repeCdos e removê-‐las.
-‐ Criação de uma nova tabela com chave primária para
armazenamento do dado repeCdo.
-‐ Criar uma relação entre a tabela principal e a tabela secundária
FORMAS NORMAIS
SEPARANDO O JÔIO DO TRIGOEXEMPLO
Na tabela acima, podemos idenCficar que o campo Telefones, contém informações de mais de 1 telefone do cliente. Nesse caso, teremos que criar uma outra tabela, para que possamos armazenar corretamente os telefones dos clientes. Abaixo como as tabelas devem ficar após a normalização.
2FN – Segunda Forma Normal
Uma enCdade está na 2FN, se e somente se, esCver na 1FN e todos seus
atributos (colunas) não chaves, dependam unicamente da chave primária. Se algum atributo depende de apenas uma parte da chave primária, isso é
considerada uma violação da 2FN.
Passos a serem aplicados para consolidação da 2FN:
-‐ IdenCficar colunas que não são funcionalmente dependentes da chave primária da tabela
-‐ Remover a coluna da tabela e criar uma nova tabela com esses dados Ex.
Nesse exemplo, temos uma tabela que armazena dados de vendas de produtos. Para aplicar a 2FN, temos que separar os dados dos produtos, em uma enCdade que
contenham somente dados dos produtos, e nessa tabela de pedidos apenas dados referentes aos pedidos. Segue exemplo abaixo após aplicação da 2FN.