Buscar

Tecnicas e Linguagens para Banco de Dados I

Prévia do material em texto

Técnicas e Linguagens para Banco de 
Dados I
Prof. Eduardo Ribeiro
www.eduardo.trisolution.com.br
eduardo@ trisolution.com.br
Introdução – Banco de Dados
Dados x Informações
 Dados = É um elemento que mantém a sua forma
bruta (texto, imagens, sons, vídeos, etc.)
 Informações = Significado dos dados para um
determinado usuário! (Dados compilados e
processados)
Conceitos
 Sistema de Bancos de Dados: É um software com
recursos específicos para facilitar a manipulação
das informações dos bancos de dados e o
desenvolvimento de programas aplicativos (Oracle,
SQLServer, Paradox, Access, DBase).
 Possui quatro componentes principais:
o Dados
o Hardware
o Software
o Usuários
Componentes de um Sistema de BD
Linguagem de Banco de Dados
 SQL (Structured Query Language – Linguagem de
consulta estruturada) é uma linguagem usada para a
consulta, atualização, criação e gerenciamento de
banco de dados relacionais. É um método para
selecionar determinados registros de um banco de
dados, seguindo um critério especificado a sua
escolha. O SQL é considerado uma linguagem
padrão para o gerenciamento de banco de dados
relacionais.
Linguagem de Banco de Dados
 Alguns Tipos de Dados
o Char;
o VarChar;
o Integer;
o Float;
o Decimais;
o Datas;
Linguagens de Definição e Manipulação 
de Dados
Exemplo de SQL:
CREATE TABLE cliente (
nome VARCHAR(50),
cidade VARCHAR(35),
rua VARCHAR(30)
)
TABLE cliente
João Curitiba Albino Sartori
Maria Marília Av Republica
Segurança em Banco de Dados
 Os bancos de dados são utilizados para armazenar
diversos tipos de informações, desde dados sobre
uma conta de e-mail até dados importantes da
Receita Federal. Para tal existem diversos tipos, os
quais variam em complexidade e sobretudo em
segurança.
Fonte: http://pt.wikipedia.org
Meios de Proteger as Informações 
Armazenadas num Banco de Dados
 Criptografia
o São técnicas pelas quais a informação pode ser
transformada da sua forma original para outra ilegível, de
forma que possa ser conhecida apenas por seu
destinatário, o que a torna difícil de ser lida por alguém
não autorizado. Assim sendo, só o receptor da
mensagem pode ler a informação com facilidade.
MD5
o Foi desenvolvido em 1991 por Ronald Rivest para
suceder ao MD4 que tinha alguns problemas de
segurança. Por ser um algoritmo unidirecional, uma
hash md5 não pode ser transformada novamente no
texto que lhe deu origem. O método de verificação
é, então, feito pela comparação das duas hash (uma
da base de dados, e a outra da tentativa de login).
Eduardo = MD5( 364a440226e1b575411a0e324e712d17 )
eduardo = MD5( 6d6354ece40846bf7fca65dfabd5d9d4 )
Meios de Proteger as Informações 
Armazenadas num Banco de Dados
 Senhas
o É uma palavra ou uma ação secreta previamente
convencionada entre duas partes como forma de
reconhecimento.
 Backup
o Em informática, cópia de segurança é a cópia de dados
dum dispositivo de armazenamento a outro para que
possam ser restaurados em caso da perda dos dados
originais, o que pode envolver apagamentos acidentais
ou corrupção de dados.
Modelo Relacional
 O modelo de dados relacional apresenta o
banco de dados como uma coleção de tabelas.
 O conceito de tabela, embora seja simples e
intuitivo, apresenta uma forte correspondência
com o conceito matemático de uma relação.
 Um banco de dados relacional consiste de uma
coleção de relações, cada uma das quais
associada a um nome único.
Modelo Relacional
 Chave Primária: a chave primária de uma
relação é o atributo ou coleção de atributos que
identifica univocamente uma dada tupla (linha).
Por exemplo, um dado código identifica uma
única linha (um vendedor específico). Assim,
COD-VEND é a chave primária da relação
VENDEDOR.
Modelo Relacional
 Chave primária simples, é formada por um único campo
da tabela, esse campo não pode ter dois ou mais
registros de mesmo valor, e também não pode conter
nenhum registro nulo.
 Chave primária composta, formada por mais de um
campo, os valores de cada campo podem se repetir, mas
não a combinação desses valores. Exemplo: a tabela
'Livros_Autores' tem como chave primária (cod_livro,
cod_autor). Podem existir nessa tabela os registros:
(5, 9), (5, 10), (4, 9), (9, 5)
Mas não podem existir dois registros (5, 9).
Fonte: http://pt.wikipedia.org
Modelo Relacional
 Chave Estrangeira: a noção de chave
estrangeira oferece um mecanismo para
especificar explicitamente relacionamentos entre
duas relações diferentes. Consiste em incluir a
chave primária de uma relação como atributo da
outra.
Entidades / Atributos
 Entidades: têm existência própria.
 Exemplo: Aluno, Cliente, Produto.
 Atributos: os atributos da entidade Aluno são:
 Número da matrícula
 Nome
 Endereço
 Data nascimento
Tipos de Relacionamentos Possíveis no 
MER
 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 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.
 Os relacionamento 1 para 1 e 1 para N podem ser mapeados diretamente em
chaves estrangeiras nas tabelas originais. Já o relacionamento N para N
exige o uso de uma tabela auxiliar.
Fonte: http://pt.wikipedia.org/wiki/Banco_de_dados_relacional
Tipos de Relacionamentos Possíveis no 
MER
Modelagem de dados
 Modelagem de dados ou modelagem de banco de dados envolve uma
série de aplicações teóricas e práticas, visando construir um modelo de
dados consistente, não redundante e perfeitamente aplicável em
qualquer SGBD moderno.
 A modelagem de dados está dividida em:
 Modelo conceitual
 Modelo lógico
 Modelo físico
Modelo conceitual
A modelagem conceitual é a forma mais natural dos fatos e estão mais
próximas da realidade do ambiente do cliente. No modelo conceitual o cliente
deverá ser envolvido a fim de obter o levantamento de dados que darão
suporte à construção de todo o modelo.
Modelo Físico / Modelo Lógico
* = Muitos
O modelo lógico já leva
em conta algumas
limitações e implementa
recursos como
adequação de padrão e
nomenclatura. Define as
chaves primárias e
estrangeiras. deve ser
criado levando em conta
os exemplos de
modelagem de dados
criados no modelo
conceitual.
Modelo Físico / Modelo Lógico
No modelo físico fazemos
a modelagem física do
modelo de banco de
dados. Leva-se em conta
as limitações impostas
pelo SGBD escolhido e
deve ser criado sempre
com base nos exemplos
de modelagem de dados
produzidos no item
anterior, modelo lógico.
Modelo Relacional
 Representação Simplificada: uma estrutura de tabela
pode ter a seguinte representação simplificada:
 NOME-DA-TABELA=(LISTA-DE-ATRIBUTOS)
 Nessa representação grifa-se a chave primária da relação para
destacá-la.
 Exemplo:
 CLIENTE(COD-CLI, NOME-CLI, ENDEREÇO, LIM-CRED, COD-
VEND)
 VENDEDOR(COD-VEND, NOME-VEND, COMISSAO, CPF_VEND)
Modelo Relacional
CLIENTE(COD-CLI, NOME-CLI, ENDEREÇO, LIM-CRED, COD-VEND)
VENDEDOR(COD-VEND, NOME-VEND, COMISSAO, CPF_VEND)
COD-VEND NOME-VEND COMISSAO CPF_VEND
45852 SERGIO 10 254.425.658-58
57658 MARCOS 15 156.426.810-15
74253 JOAO 10 104.081.741-62
COD-CLI NOME-CLI ENDERECO LIM-CRED COD-VEND
2584 BAR X R. DAS BROMELIAS, 45 5600 45852
3245 RESTAURANTE Y R. DAS ROSAS, 94 4200 57658
1256 BAR Z R. DAS ORQUIDEAS, 2 9800 45852
5740 CANTINA W R. DAS VIOLETAS, 34 7500 74253
SETOR FUNCIONARIO
ID_SETOR
DESCRICAO
COD_FUNCIONARIO
NOME
SALARIO
1 N
SETOR
* ID_SETOR
DESCRICAOFUNCIONARIO
* COD_FUNCIONARIO
NOME
SALARIO
CPF
ID_SETOR (FK)SETOR (ID_SETOR, DESCRICAO)
FUNCIONARIO (COD_FUNCIONARIO, NOME, SALARIO, CPF, ID_SETOR)
Diagrama de Entidade Relacionamento (DER)
Modelo Relacional
SETOR (ID_SETOR, DESCRICAO)
FUNCIONARIO (COD_FUNCIONARIO, NOME, SALARIO, ID_SETOR)
SETOR
PK (Chave 
Primária)
Campo Tipo Tamanho Nulo FK (Chave 
Estrangeira)
CK (Regra de Validação)
PK_SETOR ID_SETOR NUMBER (3) N
DESCRICAO VARCHAR2 (30) N CK_SETOR_DESCRICAO
(DESCRICAO <> ‘’)
FUNCIONARIO
PK Campo Tipo Tamanho Nulo FK CK
PK_FUNCIONARIO COD_FUNCIONARIO NUMBER (5) N
NOME VARCHAR2 (50) N
SALARIO NUMBER (8,2) S CK_FUNC_SALARIO
(SALARIO > 0)
AK_FUNC_CPF CPF CHAR (11) N
ID_SETOR NUMBER (3) S FK_FUNC_SETOR
COD_FUNCIONARIO
NOME
ID_CARGO
DESCRICAO
FUNCIONARIO
* COD_FUNCIONARIO
NOME
CARGO
* ID_CARGO
DESCRICAO
FUNCIONARIO CARGO
N M
FUNCAO
DATA_INICIO
FUNCAO
* COD_FUNCIONARIO (FK)
* ID_CARGO (FK)
DATA_INICIO
CARGO (ID_CARGO, DESCRICAO)
FUNCIONARIO (COD_FUNCIONARIO, NOME)
FUNCAO (COD_FUNCIONARIO, ID_CARGO, DATA_INICIO)
Diagrama de Entidade Relacionamento (DER)
FUNCAO
PK Campo Tipo Tamanho Nulo FK CK
PK_FUNCAO COD_FUNCIONARIO NUMBER (5) N FK_FUNCAO_FUNCIONARIO
PK_FUNCAO ID_CARGO NUMBER (3) N FK_FUNCAO_CARGO
DATA_INICIO DATE N
CARGO
PK Campo Tipo Tamanho Nulo FK CK
PK_CARGO ID_CARGO NUMBER (3) N
DESCRICAO VARCHAR2 (30) N
FUNCIONARIO
PK Campo Tipo Tamanho Nulo FK CK
PK_FUNCIONARIO COD_FUNCIONARIO NUMBER (5) N
NOME VARCHAR2 (50) N
CARGO (ID_CARGO, DESCRICAO)
FUNCIONARIO (COD_FUNCIONARIO, NOME)
FUNCAO (COD_FUNCIONARIO, ID_CARGO, DATA_INICIO)
Modelo Relacional
COD_MULHER
NOME
ID_HOMEM
FUNCIONARIO
* COD_MULHER
NOME
CARGO
* ID_HOMEM
NOME
COD_MULHER (FK)
MULHER HOMEM
1 1
CASAMENTO
HOMEM(ID_CARGO, NOME, COD_MULHER)
MULHER(COD_ MULHER, NOME)
NOME
Diagrama de Entidade Relacionamento (DER)
Administração do Modelo de Dados
Manutenção da Documentação do Projeto Lógico (Modelo) 
e Físico (Esquema) do Banco de dados
Métodos de Atualização:
Engenharia Direta (Geração do Esquema)
Engenharia Reversa
Comparação Modelo x Esquema (Sincronização)
Utilização de Ferramentas Case
Administração do Modelo de Dados
Entidade_X
Entidade_Y
Modelo Relacional
Engenharia Direta (Geração de Esquema)
Esquema
Físico
Administração do Modelo de Dados
Entidade_X
Entidade_Y
Esquema
Físico
Modelo Relacional
Engenharia Reversa
Administração do Modelo de Dados
Entidade_X
Entidade_Y
Esquema
Físico
Modelo Relacional
Comparação Modelo x Esquema (Sincronização)
Administração do Modelo de Dados
Ferramentas Case
Dr. Case (www.squadra.com.br)
ER/Studio (www.embarcadero.com)
DB-MAIN (www.db-main.be)
DBDesigner (www.fabforce.net/dbdesigner4)
ER-WIN (www.ca.com/us/products/product.aspx?id=260)
Exercício: Modelo conceitual, Modelo 
Lógico e Modelo Físico.
CEP
CPF
RG
Ocupação
Sexo
Estado civil
Complemento
Nome
Endereço
Telefone
Data Nascimento
Estado
Cidade
Cadastro de Pessoa
Email
Telefone Comercial
Celular
Ramal
FAX

Mais conteúdos dessa disciplina