Aula 2: Banco de dados

Propaganda
Banco de Dados
O que é Banco de Dados?
Definiçõ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;
Conceitos 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,
[email protected]
Nome
Fone
E-mail
Conceitos 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
[email protected]
Conceitos Básicos - BD
Arquivo/Tabela/Entidade:
Estrutura bidimensional
formada por linhas e colunas
para armazenar dados.
L2 C2 = 9926-6633
L5 C3 = [email protected]
Nome
Fone
E-mail
Zé
3346-5555 [email protected]
Ana
9926-6633 [email protected]
Paulo
3346-5555 [email protected]
Chico
Rita
3399-5522 [email protected]
1234-5678 [email protected]
Conceitos Básicos - BD
Banco de Dados
Formado por várias tabelas
Dependentes
Idade
Sexo
Zé
3346- 5555 - Salário
[email protected]
Matricula
Função
Data Zé
Nasc
CPF
[email protected]
Ana End 334699266633
[email protected]
5555
Nome
Fone3346- 5555
E-mail
Zé AnaPaulo
[email protected]
[email protected]
[email protected]
99266633
Zé Ana
3346-5555
[email protected]
99266633
[email protected]
Chico
[email protected]
[email protected]
Paulo
3346- 5555
Ana Paulo Rita
9926-66335555
[email protected]
12345678 [email protected]
[email protected]
Chico 3346-33995522
[email protected]
PauloChicoRita3346-5555
[email protected]
5678
[email protected]
3399-12345522
[email protected]
Chico
3399-5522
[email protected]
Rita
1234- 5678
[email protected]
Rita
1234-5678 [email protected]
Conceitos 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.
Conceitos 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.
Conceitos 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
Conceitos 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
Conceitos 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
Sistemas de Arquivos
Credito/Debito
Arquivo 1
Inclusão de Conta
Arquivo 2
Saldo
Arquivo 3
Sistemas 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
Sistemas 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
Sistemas 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
Sistemas 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
Sistemas 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
Sistemas 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
Sistemas de Arquivos Desvantagens
Conduziu ao
desenvolvimento de
sistemas gerenciadores
de banco de dados
Sistema Gerenciador de Banco de Dados
Projetado para gerenciar grandes
quantidades de informação
Banco de
Dados
Aplicativos que permitem criar,
alterar e excluir componentes da
estrutura dos Bancos de Dados,
bem como inserir, alterar e excluir
os dados.
Sistema Gerenciador de Banco de Dados
Os mais utilizados são
Banco de
Dados
– 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).
Sistema Gerenciador de Banco de Dados
Aplicação 1
SGBD
Aplicação 2
Aplicação 3
Banco de
Dados
Definiçõ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
Sistema 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
Exemplos 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.
Sistema 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.
Sistema 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.
Exemplo de Banco de Dados
Veterinário
1
1
N
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.
Sistema Gerenciador de Banco
de Dados
Relacionamentos:
1
N
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
Sistema Gerenciador de Banco
de Dados
Relacionamentos:
Nome
CPF
RG
End
Fone
1
TabC
TabCPF
CPF
1
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.
Sistema Gerenciador de Banco
de Dados
Relacionamentos:
N
N
•Para este relacionamento é
necessária a criação de uma terceira
tabela (tabela União).
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.
Sistema 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.




Sistema 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.
Sistema 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).
Sistema 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.
Sistema 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.
Sistema Gerenciador de Banco
de Dados
DDL:
CREATE
Cria tabelas.
CREATE TABLE TabAnimal (Nome text(20),
Sexo text(5),Dono number(5))
DDL:
ALTER
Sistema Gerenciador de Banco
de Dados
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
Sistema Gerenciador de Banco
de Dados
DML:
DROP
EXCLUIR uma tabela do Banco de Dados
DROP TabAnimal
Sistema 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 > 5.
Sistema 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
Sistema Gerenciador de Banco
de Dados
DML:
Select
SELECT Nome, DataNasc, Especie
FROM TabAnimal
WHERE Sexo = “macho” AND Idade < 2
ORDER BY Nome.
Sistema 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.
Sistema 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.
Sistema 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.
Exemplo de busca:
Select NOME, RAÇA, IDADE
From TabAnimal
Where Dono = 00150;
Resultado:
Nome
Raça
Rex
Apolo
Kaos
Pit Bull
Poodle
Labrador
Idade
2
1
5
Download