You are on page 1of 35

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

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.

* = Muitos
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
Diagrama de Entidade Relacionamento (DER)

ID_SETOR COD_FUNCIONARIO

DESCRICAO NOME

SALARIO

1 N
SETOR FUNCIONARIO

SETOR FUNCIONARIO
* ID_SETOR * COD_FUNCIONARIO
DESCRICAO NOME
SALARIO
CPF
SETOR (ID_SETOR, DESCRICAO) ID_SETOR (FK)

FUNCIONARIO (COD_FUNCIONARIO, NOME, SALARIO, CPF, ID_SETOR)


Modelo Relacional
SETOR (ID_SETOR, DESCRICAO)
FUNCIONARIO (COD_FUNCIONARIO, NOME, SALARIO, ID_SETOR)

SETOR
PK (Chave Campo Tipo Tamanho Nulo FK (Chave CK (Regra de Validação)
Primária) Estrangeira)
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
Diagrama de Entidade Relacionamento (DER)
COD_FUNCIONARIO ID_CARGO

NOME DESCRICAO
DATA_INICIO

N M
FUNCIONARIO FUNCAO CARGO

FUNCIONARIO FUNCAO CARGO


* COD_FUNCIONARIO * COD_FUNCIONARIO (FK) * ID_CARGO
NOME * ID_CARGO (FK) DESCRICAO
DATA_INICIO

FUNCIONARIO (COD_FUNCIONARIO, NOME)


CARGO (ID_CARGO, DESCRICAO)
FUNCAO (COD_FUNCIONARIO, ID_CARGO, DATA_INICIO)
Modelo Relacional
FUNCIONARIO (COD_FUNCIONARIO, NOME)
CARGO (ID_CARGO, DESCRICAO)
FUNCAO (COD_FUNCIONARIO, ID_CARGO, DATA_INICIO)
FUNCIONARIO
PK Campo Tipo Tamanho Nulo FK CK
PK_FUNCIONARIO COD_FUNCIONARIO NUMBER (5) N
NOME VARCHAR2 (50) N

CARGO
PK Campo Tipo Tamanho Nulo FK CK
PK_CARGO ID_CARGO NUMBER (3) N
DESCRICAO VARCHAR2 (30) N

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
Diagrama de Entidade Relacionamento (DER)
COD_MULHER ID_HOMEM

NOME NOME

1 1
MULHER CASAMENTO HOMEM

FUNCIONARIO CARGO
* COD_MULHER * ID_HOMEM
NOME NOME
COD_MULHER (FK)
MULHER(COD_ MULHER, NOME)
HOMEM(ID_CARGO, NOME, COD_MULHER)
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

Engenharia Direta (Geração de Esquema)

Entidade_X

Esquema
Físico
Entidade_Y

Modelo Relacional
Administração do Modelo de Dados

Engenharia Reversa

Entidade_X

Esquema
Físico
Entidade_Y

Modelo Relacional
Administração do Modelo de Dados

Comparação Modelo x Esquema (Sincronização)

Entidade_X

Esquema
Físico
Entidade_Y

Modelo Relacional
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.

Cadastro de Pessoa

Nome CEP Email


Endereço CPF Telefone Comercial
Telefone RG Celular
Data Nascimento Ocupação Ramal
Estado Sexo FAX
Cidade Estado civil
Complemento

You might also like