Você está na página 1de 47

BANCO DE DADOS AVANÇADO - AULA 01

PROF. ME. WILLIAN DUARTE | FLC21188ADS


Introdução
2

 O que é um Banco de Dados ?


🞑 Conjunto de dados relacionados
que contém informações de
interesse de determinada
empresa.

 Eum SGBD ???


🞑 SistemaGerenciador deBanco
dedados - banco de dados
associado a um conjunto de
programas para gerenciar esse
banco de dados.
Introdução
3

Armazenar de forma
organizada as Informações
 Ajuda a garantir:
🞑 Controle de inconsistências e redundância
🞑 Integridade
🞑 Isolamento
🞑 Atomicidade
🞑 Segurança
🞑 Abstração dosdados
Introdução
4

 DadosX Informação

🞑 Dado é registro de alguma entidade.


◼ Ex: nome, idade, “1234”, “abc”, etc.
🞑 Informação é umdado depois de processado e
contextualizado.

“João” - “João é aluno da UNIASSELVI.”


SGBD
5

 É o sistema que gerência os dados e incorpora


funções para a manutenção de um BD.
 Porém, o SGBD sozinho não vai servir para os
usuários.
 Os Sistemas de BD são sistemas desenvolvidos com
funções específicas desenvolvidas nos SGBDs, que
utilizamos BDs.
SGBD
6
Vantagens e desvantagens
7

VANTAGENS DESVANTAGENS
• Segurança (restrição de acesso) • Elevado custo com os softwares
• Mecanismo de backup • Equipe altamente capacitada
• Garante a consistência dos dados • Elevado overhead.
• Evita redundância
• Maior flexibilidade para mudanças
•Compartilhamento entre
múltiplos usuários
Principais SGBDs
8
Classificação dos BD
9

 Existem vários tipos de BD:


🞑 Relacional
🞑 Orientado a Objetos
🞑 Multimídia
🞑 Geográfico
BD Relacional
10

 Possui seus dados armazenados em tabelas


(relações ou entidades) devidamente relacionadas
e identificadas.
 Cada tabela possui suas linhas (tuplas) e colunas
(atributos).
 Toma como base o Modelo Relacional.
Projeto de BD
11

 Para a criação de um projeto de BD é necessário a


realização de alguns passos, que são:
🞑 Levantamento de Requisitos
🞑 Projeto Conceitual

🞑 Projeto Lógico

🞑 Projeto Físico
Projeto de BD
12

•BASEADO EM ENTREVISTAS COM O


REQUISITOS CLIENTE CRIAMOS A DOCUMENTAÇÃO
DO PROJETO.

•CRIAÇÃO DO MODELO
CONCEITUAL CONCEITUAL (PARA CLIENTE).

•CRIAÇÃO DO MODELO LÓGICO (MAIS


LÓGICO TÉCNICO).

• CRIAÇÃO DOS SCRIPTS, MODELO FÍSICO,


FÍSICO ESTRATÉGIAS DE SEGURANÇA E
ARMAZENAMENTO...
Passos de um projeto de BD
2

•BASEADO EM ENTREVISTAS COM O


REQUISITOS CLIENTE CRIAMOS A DOCUMENTAÇÃO
DO PROJETO.

•CRIAÇÃO DO MODELO
CONCEITUAL CONCEITUAL (PARA CLIENTE).

•CRIAÇÃO DO MODELO LÓGICO (MAIS


LÓGICO TÉCNICO).

• CRIAÇÃO DOS SCRIPTS, MODELO FÍSICO,


FÍSICO ESTRATÉGIAS DE SEGURANÇA E
ARMAZENAMENTO...
Modelo Entidade-Relacionamento
3

 O modelo de dados ER (MER) não possui ligação


nenhuma com SGBD.
 Preocupa-se apenas coma utilização dos dados e
não na estrutura lógica de tabelas.
 Modelo de alto nível, utilizado para apresentar o
que foi informado no levantamento de requisitos.
 Deve ser de fácil entendimento, pois o seuprincipal
objetivo é a validação dos requisitos com o cliente.
Modelo Entidade-Relacionamento
4

 Considere um BD com o nome CLINICA e


seus requisitos.
 O BD deve armazenar o registro dos médicos:
🞑 CRM (código único);
🞑 Nome;

🞑 Endereço;

🞑 Telefone;

🞑 Especialidade;
Modelo Entidade-Relacionamento
5

 O registro dos pacientes:


🞑 CPF (código único);
🞑 Nome;
🞑 Endereço;
🞑 Telefone;

 As consultas:
🞑 Cada consulta é realizada por ummédico e para um
paciente;
🞑 Deve possuir umcódigo identificador;
🞑 A data da consulta;
🞑 Observações
Modelo Entidade-Relacionamento
6

 Os exames passados nas consultas:


🞑 Código identificador;
🞑 Nome do exame;

🞑 Resultado.
Modelo Entidade-Relacionamento
7
Modelo Entidade-Relacionamento
8

 O MER possui 3 elementos principais:


🞑 Entidades
🞑 Atributos ATRIBUTOS

🞑 Relacionamentos

RELACIONAMENTO
ENTIDADE
MER (Cardinalidade)
13

 Tipos de cardinalidade:
🞑 Um para muitos
🞑 Um para um

🞑 Muitos para Muitos

🞑 Muitospara um
Abordagem Relacional
14

 Tem a finalidade de representar os dados


organizados como um conjunto de tabelas.
 Tabela é o conceito forte no modelo
mais relacional.
 Cada tabela é composta por:
 Linhas

 Colunas

 Chaves

 Primária

 Estrangeira
Tabela
15 Nome da Tabela

Tabela: Funcionário

CodFunc NomeFunc Endereco E-mail


01 João Rua 123... joao@teste.com
Linha ou
02 Pedro Avenida ABC pedro@teste.com
Tupla
03 Maria Rua etc... maria@teste.com
04 José Rua Teste... jose@teste.com

Coluna ou
Atributo
Tabela
16

Tabela: Funcionário
Nome da
Coluna

CodFunc NomeFunc Endereco E-mail


01 João Rua 123... joao@teste.com
02 Pedro Avenida ABC pedro@teste.com
03 Maria Rua etc... maria@teste.com
04 José Rua Teste... jose@teste.com

Valor do campo
Chave Primária
18

 É um atributo ou conjunto de atributos que


identificam unicamente uma tupla, dentro de uma
tabela.
Chave Primária

CodFunc NomeFunc Endereco E-mail


01 João Rua 123... joao@teste.com
02 Pedro Avenida ABC pedro@teste.com
03 Maria Rua etc... maria@teste.com
04 José Rua Teste... jose@teste.com
Chave Estrangeira
19

 É um atributo ou conjunto de atributos que


permitem o relacionamento entre tabelas.
 Seus valores aparecem necessariamente na chave
primária de uma outra tabela.

CodFunc NomeFunc CodDep


01 João D1
Chave Estrangeira
02 Pedro D3
03 Maria D1
CodDep Descricao
04 José D2
D1 Vendas
D2 Compras
D3 Manutenção
Chave Alternativa ou candidata
20

 Determinadas vezes, mais de um atributo ou grupo


de atributos servem para distinguir uma linha
(tupla) das demais.

CodFunc NomeFunc CPFFunc CodDep


01 João 123.456.789-00 D1
02 Pedro 123.456.789-01 D3
03 Maria 123.456.789-02 D1
04 José 123.456.789-03 D2

Chave Candidata
Passos de um projeto de BD
2

1. Preciso saber o que o sistema precisa guardar


🞑 LEVANTAMENTO DOS REQUISITOS
2. Criar uma modelo conceitual
🞑 Modelo Entidade-Relacionamento
3. Organizar e descrever a estrutura do BD
🞑 Modelo lógico de dados (abordagem relacional)
4. Criar o BD utilizando um SGBD específico
🞑 Modelo Físico
Passos de um projeto de BD
3

1. Preciso saber o que o sistema precisa guardar


🞑 LEVANTAMENTO DOS REQUISITOS
2. Criar uma modelo conceitual
🞑 Modelo Entidade-Relacionamento
3. Organizar e descrever a estrutura do BD
🞑 Modelo lógico de dados (abordagem relacional)
4. Criar o BD utilizando um SGBD específico
🞑 Modelo Físico
Objetivos da Transformação
4

 Melhorar a performance do BD
🞑 Evitar Junções
🞑 Diminuir número de chaves

🞑 Evitar camposopcionais

 Simplificar o desenvolvimento do Software


Passos da Transformação
5

 Passo 1:
🞑 Tradução das entidadese seus atributos
 Passo 2:
🞑 Tradução dos relacionamentos e seus atributos
 Passo 3:
🞑 Tradução da especialização/generalização
Passo 1
6

 Cada entidade irá se transformar em uma tabela


 Cada atributo da entidade se transformará
em uma coluna da respectiva tabela
 Atributos identificadores irão corresponder à chave
primária da tabela
Passo 1
7

Data de admissão Código


PESSOA Nome
Data de nascimento Endereço

Pessoa (CodPessoa,Nome,Endereço,DataNasc,DataAdm)
Dicas de nomenclatura
8

 Manter nomes CURTOS nas colunas


 Nome de coluna não pode conter espaços
em branco
 Nomesde colunas que podem serepetir emoutras
tabelas colocar o sufixo com o nome da tabela.
 Ex: NomePessoa, CodPessoa, etc.
Transformando Relacionamentos
9

 Existem diferentes estratégias para a


transformação de relacionamentos em modelo
lógico
 As estratégias são:
 Tabela própria

 Adição de coluna

 Fusão de tabelas

 A decisão de qual estratégia utilizar vai depender


da cardinalidade (máxima e mínima)
Estratégias
10

 Tabela própria:

(0,n) (0,n)
ENGENHEIRO ATUAÇÃO PROJETO

Código Nome Função Código Título

Engenheiro (CodEng, Nome) Projeto (CodProj, Título)

Atuação (CodEng,CodProj,Função)
CodEng referencia Engenheiro
CodProj referencia Projeto
Estratégias
11

 Adição de coluna:

(1,1) (1,n)
DEPARTAMENTO LOTAÇÃO EMPREGADO

Data da
lotação
Código Nome Código Nome

Departamento (CodDept,Nome) Empregado (CodEmp,Empregado


Nome, CodDept, DataLota)
(CodEmp,Nome)
CodDept referencia Departamento
Estratégias
12

 Fusão de Tabelas:

(1,1) (1,1) COMISSÃO


CONFERÊNCIA ORGANIZAÇÃO
ORGANIZADORA

Data
Código Nome Instalação Endereço

Conferência (CodConf, Nome, DtInstOrg, EnderComOrg)


Relacionamento 1:1
13

Tipo de Regra de implementação


relacionamento Tabela própria Adição de coluna Fusão de tabelas

(0,1) (0,1)
2ª Opção ✓ 
(0,1) (1,1)
3ª Opção 2ª Opção ✓
(1,1) (1,1)
3ª Opção 2ª Opção ✓
Relacionamento 1:1 (0,1) (0,1)

14

(0,1) (0,1)
HOMEM CASAMENTO MULHER

Identidade Nome Data Regime Identidade Nome


Adição de Coluna
Homem (IdentH,Nome) Mulher (IdentM, Nome, IdentH, Data, Regime)
IdentH referencia Homem

Tabela Própria
Homem (IdentH,Nome) Mulher (IdentM,Nome)

Casamento (IdentM, IdentH, Data, Regime)


IdentM referencia Mulher
IdentH referencia Homem
Relacionamento 1:1 (0,1) (1,1)

15

(1,1) (0,1) CARTÃO


CORRENTISTA POSSUI MAGNÉTICO

Código Nome Código Data Exp.


Tabela Própria
Correntista (CodCorrent,Nome) Cartão(CodCartão,DataExp)

CartãoCorrentista(CodCartão,CodCorrent)
CodCorrent referencia Correntista
CodCartão referencia Cartão

Fusão de Tabelas
Correntista (CodCorrent, Nome, CodCartão, DataExp)

Adição de Coluna
Cartão(CodCartão,DataExp,CodCorrent)
Correntista (CodCorrent,Nome) CodCorrent referencia Correntista
Relacionamento 1:1 (1,1) (1,1)

16

(1,1) (1,1) COMISSÃO


CONFERÊNCIA ORGANIZAÇÃO
ORGANIZADORA

Data Instalação
Código Nome Endereço

Fusão de Tabelas

Conferência (CodConf, Nome, DataInstComOrg, EnderComOrg)


Relacionamento 1:N
17

Tipo de Regra de implementação


relacionamento Tabela própria Adição de coluna Fusão de tabelas

(0,1) (_,n)
2ª Opção ✓ 
(1,1) (_,n)
 ✓ 
Relacionamento 1:N (0,1) (_,n)

18

nº de parcelas
(0,1) (_,n)
FINANCEIRA FINACIAM VENDA

taxa de juros
Código Nome Id Data
Tabela Própria
Financeira (CodFin, Nome) Venda (IdVend, Data)

Fianciam (IdVend,CodFin,NoParc,TxJuros)
IdVend referencia Venda
CodFin referencia Financeira

Adição de Coluna

Financeira (CodFin, Nome) Venda (IdVend,Data,CodFin,NoParc,TxJuros)


CodFin referencia Financeira
Relacionamento 1:N (1,1) (_,n)

19

(1,1) (_,n)
DEPARTAMENTO LOTAÇÃO EMPREGADO

Data
lotação
Código Nome Código Nome

Departamento (CodDept, Nome) Empregado (CodEmp,Nome,CodDept,DataLota)


CodDept referencia Departamento
Entidades Fracas
20

(1,1) (0,n)

Conta (NumConta, Saldo) Transação (NumConta,NumTransacao,data,quantia)


NumConta referencia Conta
Relacionamento N:N
21

Tipo de Regra de implementação


relacionamento Tabela própria Adição de coluna Fusão de tabelas

(_n) (_,n)
✓  

(0,n) (0,n)
ENGENHEIRO ATUAÇÃO PROJETO

Código Nome Função Código Título

Engenheiro (CodEng, Nome) Projeto (CodProj, Título)

Atuação (CodEng, CodProj, Função)


CodEng referencia Engenheiro
CodProj referencia Projeto
MODELAGEM
21

NORMALIZAÇÃO

BIG DATA
ATUAÇÃO

MACHINE LEARNING

Você também pode gostar