Title: Banco de Dados
1Banco de Dados
2O que é Banco de Dados?
3Definições - Banco de Dados
- Sistema computadorizado, cujo objetivo é
armazenar informações estruturadamente e permitir
ao usuário localizar e manipular essas
informações quando solicitado
4Conceitos Básicos - BD
- Um CAMPO é a menor divisão de uma tabela permite
armazenar um tipo específico de informação Ex.
Jose, - 3341-1555,
- ze_at_ig.com
Nome
Fone
E-mail
5Conceitos Básicos - BD
- Registro
- coleção de itens de dados
- ex. um registro de Cliente
- um registro é dividido em vários campos
- - um campo pode ser um nome, um numero ou uma
combinação de caracteres
Nome
Fone
E-mail
Zé
3346-5555
ze2008_at_ig.com
6Conceitos Básicos - BD
Arquivo/Tabela/Entidade Estrutura bidimensional
formada por linhas e colunas para armazenar dados.
L2 C2 9926-6633 L5 C3 rita_at_ig.com
Nome
Fone
E-mail
Zé
3346-5555
ze_at_ig.com
Ana
9926-6633
ana_at_ig.com
Paulo
3346-5555
ppr_at_ig.com
Chico
3399-5522
chico_at_ig.com
Rita
1234-5678
rita_at_ig.com
7Conceitos Básicos - BD
Banco de Dados Formado por várias tabelas
8Conceitos Básicos - BD
- Um Banco de Dados representará sempre aspectos do
Mundo Real. - A forma mais comum de interação Usuário e Banco
de Dados, é através de sistemas específicos que
acessam as informações através da linguagem SQL.
9Conceitos Básicos - BD
- Os Administradores de Banco de Dados (DBA) são
responsáveis pelo controle ao acesso aos dados e
pela coordenação da utilização do BD. - Os Analistas e Programadores de desenvolvimento,
criam sistemas que acessam os dados da forma
necessária ao Usuário Final, que é aquele que
interage diretamente com o Banco de Dados.
10Conceitos Básicos - BD
- Tipos de Bancos de Dados
- Não Relacional
- ou banco de dados de arquivos, todos os dados
armazenados em uma só tabela gravada em um
arquivo único
Banco de Dados
11Conceitos Básicos - BD
- Tipos de Bancos de Dados
- Relacional
- Estruturado com várias tabelas cujos campos
exercem uma relação com campos de outras tabelas - Atualmente é o mais utilizado
Banco de Dados
12Conceitos Básicos - BD
- Tipos de Bancos de Dados
- Distribuído
- Usa uma rede de computadores para armazenar
arquivos relacionando-os para manter sincronismo
entre os dados.
Banco de Dados
13Sistemas de Arquivos
Credito/Debito
Arquivo 1
Inclusão de Conta
Arquivo 2
Saldo
Arquivo 3
14Sistemas de Arquivos
- Exemplo
- programas escritos em respostas às necessidades
- novos programas são adicionados na medida em que
as necessidades aparecem - podem ser criados novos arquivos permanentes
- como podem ser programadores diferentes
- arquivos podem ser de formatos diferentes
- linguagens de programação podem ser diferentes
- isto é um sistema de processamento de arquivos
15Sistemas de Arquivos Desvantagens
- Redundância de dados e inconsistência
- uma vez que os arquivos e programas são criados
por diferentes programadores - mesma informação pode estar duplicada em diversos
arquivos (ex. endereço do cliente) - maior custo de armazenamento
- potencial inconsistência de dados
16Sistemas de Arquivos - Desvantagens
- Dificuldade do acesso a dados
- usualmente não há um programa específico
- não permite retirar dados de maneira eficaz e
conveniente
17Sistemas de Arquivos - Desvantagens
- Isolamento dos dados
- dados são espalhados em vários arquivos de
diferentes formatos - é difícil escrever novos programas para retirada
conveniente dos dados - Múltiplos usuários
- pode resultar em dados inconsistente
- supervisão deve ser mantida no sistema
18Sistemas de Arquivos - Desvantagens
- Problemas de segurança
- nem todo usuário deve ser autorizado a acessar
todos os dados - caixa deveria acessar dados dos correntistas
- departamento pessoal deveria acessar os dados dos
funcionários - como os programas são adicionados ao sistema de
forma aleatória - é difícil garantir segurança
19Sistemas de Arquivos - Desvantagens
- Problemas de integridade
- valores armazenados devem satisfazer certos tipos
de restrições de consistência - exemplo saldo de uma conta nunca deve estar
abaixo de um valor pré-especificado - restrições devem ser garantidas pelo sistema
- pode ser conseguida colocando código apropriado
nos diversos programas - mas quando novas restrições são inseridas
- fica difícil alterar os programas para garanti-la
- mais complicado se restrições envolvem diversos
dados de diferentes arquivos
20Sistemas de Arquivos - Desvantagens
- Conduziu ao desenvolvimento de sistemas
gerenciadores de banco de dados
21Sistema Gerenciador de Banco de Dados
- Projetado para gerenciar grandes quantidades de
informação - Aplicativos que permitem criar, alterar e excluir
componentes da estrutura dos Bancos de Dados, bem
como inserir, alterar e excluir os dados.
Banco de Dados
22Sistema Gerenciador de Banco de Dados
- Os mais utilizados são
- ACCESS (Microsoft) usado em banco de dados
pessoais. Menos robusto. - SQL Server, ORACLE que são usados em projetos
mais volumosos banco de dados corporativos -
SGBDR(Relacionais).
Banco de Dados
23Sistema Gerenciador de Banco de Dados
Aplicação 1
SGBD
Banco de Dados
Aplicação 2
Aplicação 3
24Definições - SGBD
- É o software responsável pelo gerenciamento
criar, manter, armazenar, recuperar - os dados no Banco de Dados.
- Faz a integração entre BD físico e os usuários
25Sistema Gerenciador de Banco de Dados
- Gerenciamento de banco de dados envolve
- definição de estruturas para o armazenamento da
informação - provisão de mecanismos para a manipulação da
informação - Segurança das informações armazenadas
- Garantia da integridade e Controle de concorrência
26Exemplos de operações que podem ser realizadas
pelos usuários do sistema de banco de dados
- Acrescentar novos arquivos, vazios
- Inserir novos dados em arquivos existentes
- Buscar dados de arquivos existentes
- Alterar dados em arquivos existentes
- Eliminar dados de arquivos existentes
- Remover arquivos existentes no banco de dados.
27Sistema Gerenciador de Banco de Dados
- Bancos de Dados Relacionais
- Bancos com várias tabelas relacionadas entre si.
- Ex. Locadora de Vídeo tabela de Clientes,
Fornecedores, Locação, Fitas/DVDs
Clinica Veterinária tabela de Clientes,
Animais, Consultas,
Medicamentos, Financeiro.
Em cada tabela será definido um campo para ser
indexador da tabela, a CHAVE PRIMÁRIA ( a
informação deste campo não pode ser repetida nem
nula, pode haver mais de um campo com chave
primária na tabela.
28Sistema Gerenciador de Banco de Dados
- Relacionamentos
- são as ligações entre campos, de tabelas
diferentes, em um BD Relacional. - São usados para evitar redundância, e para haver
integridade.
29Exemplo de Banco de Dados Veterinário
N
1
1
N
1
1
N
N
- Na tabela TabAnimal não tem o nome do dono, mas
no campo Dono tem um número (o código do
cliente). - Este código permite que vc tenha acesso a todas
as informações do cliente sem ter que armazenar
tudo novamente.
30Sistema Gerenciador de Banco de Dados
- Relacionamentos
- Um para muitos (1-N) é a relação entre a chave
primaria da tabela e um campo comum em outra. - Um registro na Tabela TabCliente pode ter muitos
registro coincidentes na TabAnimal. - Um registro na TabAnimal só tem um registro
coincidente na TabCliente
1
N
31Sistema Gerenciador de Banco de Dados
- Relacionamentos
- Um para Um (1-1)
- Cada registro na Tabela A só pode ter um
registro coincidente na Tabela B. - Um registro na TabCliente só tem um registro
coincidente na TabCPF.
1
TabCPF
CPF
1
32Sistema Gerenciador de Banco de Dados
- Relacionamentos
- Muitos para Muitos (N-N)
- Um registro na Tabela TabAnimal pode ter muitos
registro coincidentes na TabMedicamento. - Um registro na Tabela TabMedicamento pode ter
varios registros coincidentes na TabAnimal.
N
N
- Para este relacionamento é necessária a criação
de uma terceira tabela (tabela União).
33Sistema Gerenciador de Banco de Dados
CHAVE PRIMÁRIA Campo indexador da tabela (a
informação deste campo não pode ser repetida nem
nula, pode haver mais de um campo com chave
primária na tabela).
CHAVE Estrangeira Campo da tabela B com quem a
Chave primaria se relaciona.
?
?
?
?
?
34Sistema Gerenciador de Banco de Dados
- Integridade Referencial
- Conjunto de regras impostas pelo BD para que se
mantenha a integridade entre os dados que serão
inseridos ou apagados. - Ex. Cadastrar um animal comum código de Dono que
não existe na tabela TabCliente. - Quando um registro for apagado da Chave Primária,
deverão ser apagados todos os registros da Chave
Estrangeira coincidentes. - Ex. Se um cliente for excluído da tabela
TabCliente, todos os animais pertencentes aquele
cliente deverão ser excluídos também.
35Sistema Gerenciador de Banco de Dados
- Linguagem de Consulta SQL
- Usamos a linguagem de consulta para selecionar e
manipular dados específicos do Banco, aumentando
sua utilidade e flexibilidade (funções do SGBD).
36Sistema Gerenciador de Banco de Dados
- Linguagem de Consulta SQL
- Usamos a linguagem de consulta para selecionar e
manipular dados específicos do Banco, aumentando
sua utilidade e flexibilidade (funções do SGBD). - É um conjunto de instruções que permitem ao
usuário manipular os dados armazenados nas
tabelas e a própria estrutura do banco.
37Sistema Gerenciador de Banco de Dados
- Linguagem de Consulta SQL
- A linguagem de consulta mais usada atualmente em
qualquer que seja o SGBD é o SQL. - Existem 2 tipos de instruções no SQL
- DDL Linguagem de Definição de Dados.
- Consulta, Inserção, Alteração e Exclusão na
estrutura do Banco - (criação de tabelas e campos)
- DML Linguagem de Manipulação de Dados.
- Criação, Alteração e Exclusão de Registros.
38Sistema Gerenciador de Banco de Dados
- DDL
- CREATE
- Cria tabelas.
- CREATE TABLE TabAnimal (Nome text(20), Sexo
text(5),Dono number(5))
39Sistema Gerenciador de Banco de Dados
- DDL
- ALTER
- Altera a estrutura de uma tabela criada a partir
da instrução CREATE TABLE. Com esta instrução
podemos criar, modificar e excluir. - ALTER TABLE TabAnimal ADD COLUMN Especie
text(20) - ALTER TABLE TabAnimal ALTER COLUMN Sexo text(1)
- ALTER TABLE TabAnimal DROP COLUMN Sexo
40Sistema Gerenciador de Banco de Dados
- DML
- DROP
- EXCLUIR uma tabela do Banco de Dados
- DROP TabAnimal
41Sistema Gerenciador de Banco de Dados
- DML
- Select
- Seleciona registro e campos específicos de uma
tabela - SELECT FROM TabAnimal WHERE Sexo macho.
- O sinal indica que todos os campos do registro
serão mostrados. - SELECT Nome FROM TabAnimal WHERE Idade gt 5.
42Sistema Gerenciador de Banco de Dados
- DML
- Select
- SELECT FROM TabAnimal WHERE Sexo macho
ORDER BY Nome. - FROM- indica de que tabela(s) os campos serão
selecionados. - WHERE- critério de seleção (filtro)
- ORDER BY- ordenação para resultado da consulta.
- Ex. ORDER BY DESC Nome
43Sistema Gerenciador de Banco de Dados
- DML
- Select
- SELECT Nome, DataNasc, Especie
- FROM TabAnimal
- WHERE Sexo macho AND Idade lt 2
- ORDER BY Nome.
44Sistema Gerenciador de Banco de Dados
- DML
- Insert Into
- Permite inserir dados nas tabelas do BD
- INSERT INTO TabAnimal (Nome, Idade, Dono, Sexo)
VALUES (Rex, 1, 0123, macho. - O comando INSERT INTO insere um novo registro no
final da Tabela.
45Sistema Gerenciador de Banco de Dados
- DML
- UPDATE
- Permite alterar os valores em um ou vários
registros da tabela. - UPDATE TabAnimal SET Espécie felino WHERE
Dono 0123.
46Sistema Gerenciador de Banco de Dados
- DML
- DELETE
- Permite excluir um ou vários registros da tabela.
- DELETE FROM TabAnimal WHERE Espécie
felino.
Esta opção exclui o registro inteiro da Tabela.
47- Exemplo de busca
- Select NOME, RAÇA, IDADE
- From TabAnimal
- Where Dono 00150
- Resultado
- Nome Raça Idade
- Rex Pit Bull 2
- Apolo Poodle 1
- Kaos Labrador 5