tecnicas e linguagens para banco de dados i
TRANSCRIPT
![Page 1: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/1.jpg)
Técnicas e Linguagens para Banco de
Dados I
Prof. Eduardo Ribeiro
www.eduardo.trisolution.com.br
eduardo@ trisolution.com.br
![Page 2: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/2.jpg)
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)
![Page 3: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/3.jpg)
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
![Page 4: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/4.jpg)
Componentes de um Sistema de BD
![Page 5: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/5.jpg)
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.
![Page 6: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/6.jpg)
Linguagem de Banco de Dados
Alguns Tipos de Dados
o Char;
o VarChar;
o Integer;
o Float;
o Decimais;
o Datas;
![Page 7: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/7.jpg)
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
![Page 8: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/8.jpg)
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
![Page 9: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/9.jpg)
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.
![Page 10: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/10.jpg)
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 )
![Page 11: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/11.jpg)
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.
![Page 12: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/12.jpg)
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.
![Page 13: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/13.jpg)
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.
![Page 14: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/14.jpg)
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
![Page 15: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/15.jpg)
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.
![Page 16: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/16.jpg)
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
![Page 17: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/17.jpg)
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
![Page 18: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/18.jpg)
Tipos de Relacionamentos Possíveis no
MER
![Page 19: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/19.jpg)
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
![Page 20: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/20.jpg)
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.
![Page 21: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/21.jpg)
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.
![Page 22: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/22.jpg)
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.
![Page 23: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/23.jpg)
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)
![Page 24: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/24.jpg)
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
![Page 25: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/25.jpg)
SETOR FUNCIONARIO
ID_SETOR
DESCRICAO
COD_FUNCIONARIO
NOME
SALARIO
1 N
SETOR
* ID_SETOR
DESCRICAO
FUNCIONARIO
* 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)
![Page 26: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/26.jpg)
Modelo Relacional
SETOR (ID_SETOR, DESCRICAO)
FUNCIONARIO (COD_FUNCIONARIO, NOME, SALARIO, ID_SETOR)
SETORPK (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 <> ‘’)
FUNCIONARIOPK 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
![Page 27: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/27.jpg)
COD_FUNCIONARIO
NOME
ID_CARGO
DESCRICAO
FUNCIONARIO
* COD_FUNCIONARIO
NOME
CARGO
* ID_CARGO
DESCRICAO
FUNCIONARIO CARGON 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)
![Page 28: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/28.jpg)
FUNCAOPK 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
CARGOPK Campo Tipo Tamanho Nulo FK CK
PK_CARGO ID_CARGO NUMBER (3) N
DESCRICAO VARCHAR2 (30) N
FUNCIONARIOPK 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
![Page 29: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/29.jpg)
COD_MULHER
NOME
ID_HOMEM
FUNCIONARIO
* COD_MULHER
NOME
CARGO
* ID_HOMEM
NOME
COD_MULHER (FK)
MULHER HOMEM1 1
CASAMENTO
HOMEM(ID_CARGO, NOME, COD_MULHER)
MULHER(COD_ MULHER, NOME)
NOME
Diagrama de Entidade Relacionamento (DER)
![Page 30: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/30.jpg)
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
![Page 31: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/31.jpg)
Administração do Modelo de Dados
Entidade_X
Entidade_Y
Modelo Relacional
Engenharia Direta (Geração de Esquema)
Esquema
Físico
![Page 32: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/32.jpg)
Administração do Modelo de Dados
Entidade_X
Entidade_Y
Esquema
Físico
Modelo Relacional
Engenharia Reversa
![Page 33: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/33.jpg)
Administração do Modelo de Dados
Entidade_X
Entidade_Y
Esquema
Físico
Modelo Relacional
Comparação Modelo x Esquema (Sincronização)
![Page 34: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/34.jpg)
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)
![Page 35: Tecnicas e Linguagens para Banco de Dados I](https://reader033.vdocuments.site/reader033/viewer/2022052506/5571f9ff497959916990fa98/html5/thumbnails/35.jpg)
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
Telefone Comercial
Celular
Ramal
FAX