prof. Gustavo Zimmermann | [email protected]
Banco de Dados
Banco de Dados II – Aula 1: MER
BD x SGBD
“Bancos de dados ou Bases de Dados é um conjunto de
arquivos relacionados entre si com registros sobre pessoas,
lugares ou coisas. São coleções organizadas de dados
que se relacionam de forma a criar algum sentido
(Informação) e dar mais eficiência durante uma pesquisa ou
estudo.“
Kenneth C. Laudon e Jane P. Laudon
prof. Gustavo Zimmermann | [email protected]
Sistema Gerenciador de Banco de Dados
Banco de Dados II – Aula 1: MER
BD x SGBD
“Um SGBD é o conjunto de programas de computador
(softwares) responsáveis pelo gerenciamento de um
banco de dados. Seu principal objetivo é retirar da
aplicação cliente a responsabilidade de gerenciar o acesso,
a manipulação e a organização dos dados.“
Microsoft
prof. Gustavo Zimmermann | [email protected]
Funcionamento
Banco de
Dados SGBD
Aplicação 1
Aplicação 2
Aplicação 3
Aplicação N
1. O usuário emite uma solicitação de acesso.
2. O SGBD intercepta a solicitação e a analisa.
3. O SGBD inspeciona os esquemas externos (ou sub esquemas) relacionados àquele usuário, os
mapeamentos entre os três níveis, e a definição da estrutura de armazenamento.
4. O SGBD realiza as operações solicitadas no banco de dados armazenado.
Banco de Dados II – Aula 1: MER
BD x SGBD
prof. Gustavo Zimmermann | [email protected]
Popularidade | Ranking (JAN/2016)
Referência http://db-engines.com/en/ranking
1º 6º
2º 7º
3º 8º
4º 9º
5º 10º
Banco de Dados II – Aula 1: MER
BD x SGBD
prof. Gustavo Zimmermann | [email protected]
Banco de Dados II – Aula 1: MER
Arquitetura SGBD
Arquitetura
01. Arquitetura de um SGBD
02. Esquemas
03. Arquitetura das Camadas de um SGBD
04. Linguagens para Manipulação de Dados
05. Classificação dos SGBDs
prof. Gustavo Zimmermann | [email protected]
Arquitetura de um SGDB MODELAGEM DE DADOS
Alto Nível Estrutura Lógica
Baixo Nível Estrutura Física
MER, o seu principal conceito é uma projeção dos dados que deixa o mais próximo possível da visão que o usuário tem dos dados.
Modelo de Dados Físicos, é o que fornece uma visão mas detalhada do modo como os dados estão armazenados no computador.
Banco de Dados II – Aula 1: MER
Arquitetura SGBD
prof. Gustavo Zimmermann | [email protected]
Esquemas : planejamento
Quando é usado o termo descrição do banco de dados,
entendemos como a chamada de “esquema de uma
banco de dados” que é especificada durante um projeto de
banco de dados.
Banco de Dados II – Aula 1: MER
Arquitetura SGBD
prof. Gustavo Zimmermann | [email protected]
Arquitetura das Camadas
Usuários Finais
Esquema Conceitual
Esquema Interno
DADOS ARMAZENADOS
estrutura humana nível EXTERNO
estrutura lógica nível CONCEITUAL
estrutura física nível INTERNO
Visão Externa
Mapeamento Conceitual Externo
Mapeamento Conceitual Interno
Banco de Dados II – Aula 1: MER
Arquitetura SGBD
prof. Gustavo Zimmermann | [email protected]
Linguagens para Manipulação de Dados
DDL (Data Definition Language - Linguagem de Definição de
Dados) é definido pelo nível conceitual e interno.
Programador Digita a Linguagem DDL
SGBD Compila a Linguagem DDL
E recebe permissão pra executar as instruções
Banco de Dados guarda as novas
informações 01. 02. 03.
Banco de Dados II – Aula 1: MER
Arquitetura SGBD
prof. Gustavo Zimmermann | [email protected]
Linguagens para Manipulação de Dados
Quando o desenvolvedor tem o conhecimento em uma linguagem SQL (Strucuture Query
Language) basta apenas usar a base dos comandos que formam as linguagens DDL, DCL e
a DML.
• DDL (comandos que criam, alteram ou removem objetos):
• CREATE, ALTER, DROP.
• DCL (comandos que ajudam na segurança do banco de dados):
• GRANT, REVOKE.
• DML (comandos responsáveis pela manipulação dos dados):
• SELECT, DELETE, UPDATE, INSERT.
Banco de Dados II – Aula 1: MER
Arquitetura SGBD
prof. Gustavo Zimmermann | [email protected]
• Usuários: monousuários, são usados em estações de trabalho, minicomputadores e
máquinas de grande porte.
• Localização: possuem 2 estados localizado e distribuído. Quando é localizado todos os
dados encontram-se em um único disco, se for distribuído os dados estarão em várias
máquinas.
• Ambiente: possui 2 tipos, os homogêneo que é o ambiente formado por um único
SGBD e o heterogêneo que é o ambiente composto por diferentes SGBDs. Um exemplo
é ter um sistema rodando 2 tipos de banco de dados.
Classificação dos SGBDs
Banco de Dados II – Aula 1: MER
Arquitetura SGBD
prof. Gustavo Zimmermann | [email protected]
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
Banco de Dados Relacionais
Edgar Frank Codd Matemático Britânico em jun/1970 definiu as principais implantações necessárias
para o correto funcionamento de um banco de dados relacional.
Donald Chamberlin e Raymond Boyce Desenvolveram, em 1974, uma linguagem de consulta que facilitava o acesso e a
manutenção de bancos de dados relacionais oferecendo os recursos necessários
para a sua utilização em larga escala o que atendia as necessidades do mercado.
Peter Pin-Shan Chen Em 1976 definiu uma metodologia para a modelagem de projetos de bancos de
dados utilizando os bancos de dados relacionais.
prof. Gustavo Zimmermann | [email protected]
Componentes do MER • Entidades
• Atributos
• Relacionamento
MER
MER (Modelo de Entidade e Relacionamento) é uma ferramenta gráfica usada para projetar
e auxiliar na implementar de bancos de dados cuja a finalidade é identificar as entidades e
os seus relacionamentos.
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
• Entidades: São abstrações do mundo real que contem um conjunto
de informações inter-relacionadas e coerentes, estas informações são
chamadas de atributos.
MER : componentes
Nomeação:
Nome que a identifica,
geralmente formada
por um substantivo no
singular.
Representação Gráfica:
Retângulo com o nome ao centro
Funcionario
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
• Atributo: Cada informação que compõe uma Entidade, possui um
NOME, um TIPO e um TAMANHO (número de caracteres). De modo
genérico o “tipo” pode nominado como “texto”, “número”, “data e
hora”, entre outros.
MER : componentes
Nomeação:
• Começar com uma letra.
• NÃO conter espaço ou acentuação.
• Caracteres especiais apenas “_”.
Representação Gráfica:
Circulo com o nome ao lado
ou uma elipse com o seu nome
dataDemissao
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
MER : atributos
Tipos de Atributo:
• Simples
• Composto
• Multivalorado
• Opcional
• Derivado
• Identificador
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
• Atributo (composto): Representa a estrutura das informações que
serão armazenados no atributo.
nome
primeiroNome sobreNome
endereco
rua
complemento
numero
MER : atributos
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
• Atributo (multivalorado): Pode possuir diversos valores para uma
única entidade.
Funcionario telefones
Representação Gráfica:
Um Circulo dentro do Outro
MER : atributos
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
• Atributo (opcional): Atributo que define opções de escolha.
Funcionario
Exemplo:
sexo
MER : atributos
masculino
feminino
Um Atributo Opcional, ao mesmo
tempo, pode ser um Atributo
Composto ou Multivalorado.
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
• Atributo (derivado): Atributo cujo valor pode ser derivado a partir de
outro atributo
Funcionario idade
Representação Gráfica:
Um Circulo Pontilhado
dataNasc sexo
nome
MER : atributos
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
• Atributo (identificador): Permite identificar univocamente cada
entidade em um conjunto entidades.
Funcionario Representação Gráfica:
Um Circulo Preenchido ou Com o
seu nome Sublinhado
rg sexo
nome
MER : atributos
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
• Relacionamento: Elemento responsável por definir as características
das ligações entre as entidades.
MER : componentes
Nomeação:
Nome expresso por um verbo ou uma
locução verbal.
Representação Gráfica:
Losango com o nome ao centro
Pertence
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
MER : cardinalidade Definição do tipo de Relacionamento entre as Entidades
• 1 para N
• N para 1
• N para N
• 1 para 1
Vencedor Cliente atende 1 N
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
MER : cardinalidade Definição do tipo de Relacionamento entre as Entidades
• 1 para N
• N para 1
• N para N
• 1 para 1
Funcionario Departamento pertence N 1
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
MER : cardinalidade Definição do tipo de Relacionamento entre as Entidades
• 1 para N
• N para 1
• N para N
• 1 para 1
Cliente Produto compra N N
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
MER : cardinalidade Definição do tipo de Relacionamento entre as Entidades
• 1 para N
• N para 1
• N para N
• 1 para 1
Funcionario Departamento gerencia 1 1
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
MER : cardinalidade Definição do tipo de Relacionamento entre as Entidades
codigo
Funcionario Departamento gerencia 1 1
nome codigo nome
Exemplo: Sua implementação exige a inclusão das chaves primárias das
entidades envolvidas e se for necessário outros atributos
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
MER : restrições Melhor entendimento da situação
Funcionario Departamento pertence N 1
Pode haver Funcionário sem Departamento associado?
(1 : N) (0 : 1)
(mínimo : máximo)
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
Dr. Carlos Aberto Heuser Em 2001 propôs o uso da Restrição de Cardinalidade
prof. Gustavo Zimmermann | [email protected]
MER : agregação Definição de relacionamento com um conjunto de entidades
Cliente Produto compra N N
Funcionario
atende
N
1
Banco de Dados II – Aula 1: MER
MER – Modelo Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
É a representação gráfica dos elementos definidos como parte do MER,
após o levantamento das entidades, atributos e relacionamentos.
Funcionario Departamento pertence N 1
(0 : N) (1 : 1)
cod_Depto
codigo nome
dataAdmissao
codigo descricao
DER O Modelo Entidade e Relacionamento gera o Diagrama de Entidade e Relacionamento
Banco de Dados II – Aula 1: MER
DER – Diagrama de Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
EXERCÍCIO
Criar um Diagrama de Entidade e Relacionamento
para um Banco de Dados que armazenará
informações de um Sistema para uma Mecânica. O
Diagrama deverá ter no mínimo 3 entidades.
Banco de Dados II – Aula 1: MER
DER – Diagrama de Entidade e Relacionamento
prof. Gustavo Zimmermann | [email protected]
EXERCÍCIO : resolução possível
Veiculo Cliente pertence 1 1
Recepcionista
atende
N
1
(0 : 1) (0 : 1)
(0 : N)
(1 : 1)
endereco
nome telefones
dataNasc
codCliente cnh
placa marca modelo
ano cor
codAtendimento
problemaVeiculo
km
data
kmEntrada kmRetirada
dataEntrada dataRetirada
rua
bairro
cep cidadeEstado
numero complemento
Banco de Dados II – Aula 1: MER
DER – Diagrama de Entidade e Relacionamento