SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Rodrigo Kiyoshi Saito / rodrigok@anchieta.br
BANCO DE DADOS I
Tópicos abordados
• Processamento centralizado;
• Arquitetura Cliente/Servidor;
• Arquitetura em 3 e 4 camadas;
• Processamento distribuído;
• Banco de Dados livres versus proprietários;
• Introdução ao Banco de Dados Relacional;
Tópicos abordados
• Tabelas;
• Introdução ao MER (Modelo Entidade
Relacionamento);
• Vantagens na utilização do Modelo Entidade /
Relacionamento;
• Objetivo da Modelagem de Dados;
• Entidade;
• Entidades Associativas;
Processamento centralizado
• O processamento de dados era feito por uma
única máquina. Na época, quem dominada o
mercado eram os mainframes, onde a aplicação e
os dados ficavam em um único lugar. As estações
não tinham poder de processamento, a qual
ficava somente em um único servidor.
• O grande probema dessa arquitetura era o alto
valor de hardware, principalmente o valor de um
mainframe.
Processamento centralizado
Arquitetura Cliente/Servidor e
Aplicações de Duas Camadas
• O modelo Cliente/Servidor teve como principal
objetivo descentralizar o processamento
centralizado que dominava na época dos
mainframes. Com isso, parte do processamento é
executado no cliente e parte no servidor.
• Para esse modelo, é utilizado aplicações de duas
camadas, permanecendo o código executável do
aplicativo desenvolvido nos clientes e o banco de
dados em um servidor (geralmente dedicado).
Arquitetura Cliente/Servidor e
Aplicações de Duas Camadas
• O Cliente desse modelo é responsável pela
Apresentação e lógica de negócios.
• O servidor de banco de dados (segunda
camada, o servidor) é responsável pela
persistência dos dados que a aplicação cliente
envia.
Arquitetura Cliente/Servidor e
Aplicações de Duas Camadas
• Um grande problema desse modelo é a
atualização dos clientes nas estações. Um bom
exemplo disso seria uma grande empresa que
possui mais de 1000 estações e que precisa
atualizar o aplicativo cliente! (Fazer esse
serviço manualmente não é nada produtivo!)
Arquitetura Cliente/Servidor e
Aplicações de Duas Camadas
http://www.dstakinformatica.com.br/servidores.html
Processamento distribuído
• Processamento distribuído significa que
máquinas diferentes podem estar conectadas
entre si em uma rede de computadores como
a internet, de tal modo que uma única tarefa
de processamento de dados possa se estender
a várias máquinas na rede. A comunicação
entre as várias máquinas é efetuada por
algum tipo de software de gerenciamento de
rede.
Processamento distribuído
http://imasters.com.br/banco-de-dados/o-que-e-banco-de-dados-distribuido/
Aplicações em três
camadas
• A principal idéia desse modelo é a retirada das
regras de negócio do cliente e centralizá-la em
um determinado ponto, o qual é chamado de
servidor de aplicação.
• O acesso ao banco de dados é feito por esse
servidor de aplicação. A grande vantagem desse
modelo em relação ao modelo Cliente/Servidor é
a atualização do servidor de aplicação em um
único ponto, não necessitando trocar os
executáveis de todas as estações.
Aplicações em três
camadas
• Com isso, a camada de apresentação continua
nos clientes, a camada de lógica (regras de
negócio) ficam em um servidor e a camada de
dados (banco de dados) ficam em outro
ponto, facilitando uma boa parte da
manutenção.
Aplicações em três camadas
http://cassioscofield.com.br/projeto_prontuario.php
Aplicações em três camadas
• Com isso, a camada de apresentação continua
nos clientes, a camada de lógica (regras de
negócio) ficam em um servidor e a camada de
dados (banco de dados) ficam em outro
ponto, facilitando uma boa parte da
manutenção.
Aplicações em quatro
camadas
• Esse modelo é uma atualização do modelo de
três camadas, tendo a principal idéia de tirar a
camada de apresentação do cliente e centralizá-la
em um determinado ponto, sendo a grande
maioria dos casos um servidor web (iis, apache,
etc).
• Para isso, o acesso aos programas não são mais
instalados nos clientes e sim acessados através de
browsers, como o internet explorer, o firefox, o
netscape navegator etc.
Aplicações em quatro
camadas
• Com isso, os clientes não precisam ser instalados
maquina a maquina.
• As camadas são: cliente, que são os browsers; a
camada de apresentação, que geralmente está
alocada no servidor web, podendo ser composta
de páginas HTML, ASP, PHP etc; camada lógica,
que são alocadas as regras de negócio e a
camada de dados, onde temos o servidor de
banco de dados.
Aplicações em quatro
camadas
http://www.juliobattisti.com.br/artigos/ti/ncamadas.asp
Questões a considerar nos
modelos de três ou mais
camadas
• Existem muitas vantagens referentes aos modelos
de três ou mais camadas, porém o cuidado que
devemos sempre ter é em relação a desempenho
e dimensionamento dos equipamentos que serão
os servidores.
• Quando estamos centralizando serviços,
processamento e memória são de fundamental
importância para que as aplicações possam ser
executadas de maneira satisfatória.
Banco de dados livres
versus proprietários
https://www.janbasktraining.com/blog/oracle-sql-server-mysql-and-postgresql/
Banco de dados livres
versus proprietários
• Quando estamos implantando um banco de
dados, às vezes, nos deparamos com a
dificuldade de escolher um banco de dados
correto para a nossa empresa.
• É difícil, de uma hora para outra saber qual o
melhor banco a ser adotado.
Banco de dados livres
versus proprietários
• Temos que considerar diretamente o quanto
(valor) a empresa está disposta a investir em
no sistema de informação, qual o número de
usuários que irão se conectar
simultaneamente, a possibilidade de expansão
da empresa para outros sites, quantas filiais a
empresa possui, se o banco de dados vai ser
centralizado ou distribuído, quantidade de
dados armazenado em um determinado
período etc.
Banco de dados livres
versus proprietários
• Não tem como julgar simplesmente que um
banco de dados é melhor que o outro antes
de analisar qual a verdadeira necessidade da
empresa.
• Dentro dos banco de dados comerciais, os
mais conhecidos e utilizados são Oracle, MS
SQL Server, UDB IBM DB2, MS Access, Informix
etc.
Banco de dados livres
versus proprietários
• Já os banco de dados livres encontran-se o MySQL,
Firebird e PostgreSQL.
• Hoje, por causa da grande perda de mercado para os
bancos de dados livres, os fabricantes de banco de
dados comerciais resolveram criar a versão “EXPRESS”
dos seus bancos de dados comerciais, que geralmente
são limitados pelo número de processadores
suportados, pela quantidade de memória suportada e
pelo tamanho em disco do banco de dados, porém,
com custo “ZERO” dessas versões.
Banco de dados livres
versus proprietários
Banco de dados Qtde Mem.
Ram Suportada
Qtde de proc.
suportado
TAM bd em
disco
Oracle 1 GB 1 4 GB
SQL Server 2014 1 GB 1 10 GB
IBM DB2 2 GB 2 Ilimitado
SQL Server 2017 1 GB 1 10 GB
Exemplo de um quadro comparativo
entre as versões expressas:
Banco de dados livres
versus proprietários
• Geralmente, as versões expressas são
totalmente compatíveis com as versões
comerciais, sendo muito fácil sua migração
para a versão comercial.
Banco de dados livres
versus proprietários
• Detalhes e características do SQL Server 2005 Express
podem ser encontradas em:
http://www.microsoft.com/sql/prodinfo/features/compare
-features.mspx
• Detalhes e caracteristicas do DB2 Express podem ser
encontradas em:
http://www.ibm.com/br/businesscenter/catalogo/db2_exp
ress-c.phtml
• Detalhes e características do SQL Servwe 2008 Express
podem ser encontradas em: http://msdn.microsoft.com/pt-
br/library/ms143685(v=sql.100).aspx
Exercícios (Extra-Classe)
• Qual a diferença de dados e informação?
• O que é se de conhecimento e como
adquirimos?
• Para que serve um banco de dados e quais as
suas principais características de um SGDB?
• Quais são os tipos de banco de dados e qual o
tipo mais utilizado?
• Qual o papel do DBA e descreva algumas
tarefas que o mesmo tem responsabilidade.
Exercícios (Extra-Classe)
• Qual foi o principal objetivo do modelo
Cliente/Servidor e qual o seu principal problema?
• Qual a principal diferença entre o modelo
Cliente/Servidor e o modelo em 3 camadas?
• Por que migras as aplicações para 4 camadas?
• Se você fosse escolher um banco de dados, qual
banco de dados escolheria? Pago ou livre?
• Caso você já trabalhe com algum banco de dados,
qual o melhor banco de dados?
Introdução ao Banco de
Dados Relacional
• Dados relacionados entre si, é uma
característica fundamental dos bancos de
dados modernos, ou seja, permite o inter-
relacionamento existente entre os dados e a
aplicação de regras de consistências;
Introdução ao Banco de
Dados Relacional
• Outra característica fundamental é a
atomicidade – requisito de que certas
operações sobre os dados devem ser feitas de
forma conjunta e indivisível a fim de preservar
a consistência da base de dados mesmo na
presença de falhas no equipamento ou na
comunicação com a base de dados
Introdução ao Banco de
Dados Relacional
• Bases de dados usualmente requerem o
acesso simultâneo ou concorrente por vários
usuários, cujas operações podem interagir
gerando inconsistências, como por exemplo, a
aquisição de uma passagem aérea para dois
passageiros distintos.
Tabelas
• Tabelas são depósitos de informações, que
podem ser entendidas como um conjunto de
linhas e colunas.
• As colunas de uma tabela qualificam cada
elemento (no caso, a linha) com informações
relacionadas ao objeto.
• As tabelas são organizadas de modo a receber e
manter as informações de determinadas
entidades. Devemos manter em tabelas todos os
atributos da entidade em questão.
Abordagem Relacional: o modelo
de Entidade X Relacionamento
• A abordagem relacional é a utilização de
conceitos de Entidade e Relacionamento para
criar as estruturas que irão compor o banco de
dados.
• Partindo sempre da necessidade do usuário ou
grupo de usuários do sistema, iniciamos a
pesquisa das necessidades de informações desses
usuários.
• A definição do escopo do sistema é, portanto,
importante para o início do trabalho de análise
de dados.
Abordagem Relacional: o modelo
de Entidade X Relacionamento
• É comum no início do desenvolvimento de um
sistema que não tenhamos a noção exata da
tarefa a ser realizada. O maior erro nessa fase
é admitir que já sabemos o que deve ser feito,
seja por experiência anterior, seja por falta de
tempo para conversar com os usuários do
sistema.
Abordagem Relacional: o modelo
de Entidade X Relacionamento
• Para minimizar esse problema, devemos criar
uma estrutura gráfica que permita identificar
as Entidades de um sistema e como estas se
relacionamento.
• Nessa fase é importante saber quais
informações são importantes para o sistema e
que deve ser armazenado. A esta
representação gráfica dá-se o nome de
Modelo de Dados.
Abordagem Relacional: o modelo
de Entidade X Relacionamento
• Devemos notar que o Modelo de Dados dará
suporte a toda a empresa, incorporando as
informações necessárias para o andamento
dos negócios.
• Ele será composto de Entidades e
Relacionamentos, daí ser conhecido por
Modelo de Entidade x Relacionamento (MER)
Vantagens na utilização do
Modelo de Entidade x
Relacionamento
• Sintaxe mais robusta: o modelo documenta as
necessidades de informação da empresa de
maneira precisa e clara;
• Comunicação com usuário: os usuários
podem, com pouco esforço, entender o
modelo;
• Facilidade de criação: os analistas podem criar
e manter um modelo facilmente;
Vantagens na utilização do
Modelo de Entidade x
Relacionamento
• Integração com várias aplicações: diversos
projetos podem ser inter-relacionados
utilizando-se o modelo de dados de cada um
deles.
• Utilização universal: o modelo não está
vinculado a um banco de dados específico,
mas sim ao modelo da empresa, o que
garante sua independência de
implementação.
Objetivos da Modelagem
de Dados
• O principal objetivo da Modelagem de Dados
é desenvolver um modelo que, contendo
entidades e relacionamentos, seja capaz de
representar os requerimentos das
informações do negócio.
Objetivos da Modelagem
de Dados
COD. NOME DO CD NOME DA MUSICA NOME DO AUTOR
01 Mais do Mesmo Será Renato Russo e ...
01 Mais do Mesmo Ainda é Cedo Renato Russo e ...
01 Mais do Mesmo Tempo Perdido Renato Russo
02 Bate-Boca Meninos, Eu vi Tom Jobim e ...
02 Bate-Boca Eu te amo Tom Jobim e ...
Veja o que poderia ser um exemplo de
catálogo de CDs:
Objetivos da Modelagem
de Dados
• Um dos principais problemas relacionados
com bancos de dados é redundância
(repetição) de informações. Sempre que
houver duas informações, nunca se saberá em
qual delas pode confiar.
Objetivos da Modelagem
de Dados
• Um outro objetivo é a economia de espaço.
Quando se admite a redundância, é muito
comum ter que repetir nomes, descrições,
datas etc.
• Ao isolarmos essas informações em tabelas
distintas e ao relacionarmos as tabelas por um
código comum estamos economizando espaço
de armazenamento.
Entidade
• Entidade é um agrupamento lógico de
informações inter-relacionadas necessárias
para a execução das atividades do sistema.
• Uma entidade normalmente apresenta um
objeto do mundo real ou, quando não é,
contém informações relevantes às operações
da empresa.
Entidade
• Quando transposta ao modelo físico (ao banco
de dados), chamamos a entidade de tabela.
• Uma entidade é entendida como um objeto
concreto ou abstrato do sistema. São
informações necessárias e que, portanto,
devem ser armazenadas.
Entidade
• Ao transpor o Modelo Relacional a um modelo
Orientado a Objeto, a Entidade passa a ser
uma Classe ou categoria do objeto ao qual
agregaremos os respectivos métodos.
Entidade
• Cada entidade deve conter múltiplas
ocorrências ou instâncias do objeto que
representa. Isso não permitirá incorrer no erro
de confundir a Entidade com a Instância. A
entidade é a classe ou categoria (CD), e a
instância é um objeto específico (no exemplo:
Mais do Mesmo ou Bate-Boca).
Entidade
• Em resumo, podemos dizer que uma entidade
é tudo aquilo que pode ser individualizado e
que possui existência própria (física ou
abstrata). As entidades são caracterizadas por
algumas propriedades específicas
denominadas atributos. Cada atributo possui
um nome e um valor específico para a
entidade.
Entidade
• Um conjunto de entidades (CE) é um conjunto
matemático no sentido de que todos os seus
elementos são distintos, e não existe
nenhuma ordem intrínseca entre eles. Isto
implica que valores correspondentes dos
atributos de duas entidades não podem ser
todos iguais. Em outras palavras, a lista de
atributos de um CE deve ser suficiente para
caracterizar completamente qualquer
entidade do conjunto.
Exemplos de Entidade
Físicas ou
Jurídicas
Pessoas, funcionários, clientes,
fornecedores e empresa.
Documentos Ordem de compra, pedido de nota fiscal.
Local Almoxarifado e departamento.
Tabelas Classificação fiscal, centro de custo e UF
Matéria Produto e peça.
Entidade
• As entidades podem ser classificadas em dois
tipos:
CLASSIFICAÇÃO DESCRIÇÃO
Fundamental Contém dados básicos que são resultados ou
alimentadores das operações da empresa.
Associativa É formada pelo Relacionamento de duas
Entidades Fundamentais sempre que estas
se relacionarem de uma vez. Exemplo: autor
x matéria, CD x Autor, pedido x produto etc.
Entidades Associativas
• Há um caso específico para as Entidades
Associativas: sempre que, além do simples
relacionamento entre as duas entidades
fundamentais, houver outras informações
específicas da nova entidade criada (como,
por exemplo, a quantidade e o valor entre
pedido x produto ou bimestre, nota e faltas do
aluno x matéria), ela será chamada de
entidade Associativa Atributiva.
Entidades Associativas
• No catálogo de CD dado como exemplo,
podemos identificar facilmente duas
entidades: CD e Música.

Weitere ähnliche Inhalte

Was ist angesagt?

Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicação
Helen Picoli
 
Comunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTPComunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTP
Willian Watanabe
 
Introdução à Arquitetura Web
Introdução à Arquitetura WebIntrodução à Arquitetura Web
Introdução à Arquitetura Web
Breno Vitorino
 

Was ist angesagt? (14)

Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-Servidor
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
03 arquitetura-cliente-servidor
03   arquitetura-cliente-servidor03   arquitetura-cliente-servidor
03 arquitetura-cliente-servidor
 
CMS
CMSCMS
CMS
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicação
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - Modelos
 
Comunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTPComunicação Cliente/Servidor - HTTP
Comunicação Cliente/Servidor - HTTP
 
Redes de computador
Redes de computadorRedes de computador
Redes de computador
 
Servidor web
Servidor webServidor web
Servidor web
 
Tópico 2
Tópico 2Tópico 2
Tópico 2
 
Introdução à Arquitetura Web
Introdução à Arquitetura WebIntrodução à Arquitetura Web
Introdução à Arquitetura Web
 
Uso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento VarejoUso de Aplicações em Camadas no segmento Varejo
Uso de Aplicações em Camadas no segmento Varejo
 
Arquitetura 3 camadas - RM
Arquitetura 3 camadas - RMArquitetura 3 camadas - RM
Arquitetura 3 camadas - RM
 
MySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQLMySQL do ISAM ao NoSQL
MySQL do ISAM ao NoSQL
 

Ähnlich wie 2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER

Introducao banco de dados
Introducao banco de dadosIntroducao banco de dados
Introducao banco de dados
vaniakenob
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
pichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
pichiliani
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Hélio Martins
 

Ähnlich wie 2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER (20)

C # banco de dados
C # banco de dadosC # banco de dados
C # banco de dados
 
Virus de boot e Time Bomb
Virus de boot e Time BombVirus de boot e Time Bomb
Virus de boot e Time Bomb
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados
 
Bancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemBancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagem
 
Iniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSIniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWS
 
Banco de dados parte 01
Banco de dados parte 01Banco de dados parte 01
Banco de dados parte 01
 
Servidor
ServidorServidor
Servidor
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Introducao banco de dados
Introducao banco de dadosIntroducao banco de dados
Introducao banco de dados
 
PHP Conference 2015: Construindo e mantendo aplicações multi-tenant (multi-c...
PHP Conference 2015:  Construindo e mantendo aplicações multi-tenant (multi-c...PHP Conference 2015:  Construindo e mantendo aplicações multi-tenant (multi-c...
PHP Conference 2015: Construindo e mantendo aplicações multi-tenant (multi-c...
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Integração de software solucao e estilo
Integração de software   solucao e estiloIntegração de software   solucao e estilo
Integração de software solucao e estilo
 
Integração de software 2
Integração de software 2Integração de software 2
Integração de software 2
 
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dadosAula2 caracteristicas da_tecnologia_de_banco_de_dados
Aula2 caracteristicas da_tecnologia_de_banco_de_dados
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfis
 
Think Cloud! - Hands On @ ESTCB 24 Mar 2012
Think Cloud!  - Hands On @ ESTCB 24 Mar 2012Think Cloud!  - Hands On @ ESTCB 24 Mar 2012
Think Cloud! - Hands On @ ESTCB 24 Mar 2012
 
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
Laraconf 2016: Construindo e mantendo aplicações multi-tenant (multi-cliente)
 
Sistemas operacionais de redes II
Sistemas operacionais de redes IISistemas operacionais de redes II
Sistemas operacionais de redes II
 
Net framework
 Net framework Net framework
Net framework
 

Mehr von Rodrigo Kiyoshi Saito

Mehr von Rodrigo Kiyoshi Saito (20)

Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
 
Algoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - ExerciciosAlgoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - Exercicios
 
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio EnunciadoAlgoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
 
Algoritmos - Aula 16 - Registros
Algoritmos - Aula 16 - RegistrosAlgoritmos - Aula 16 - Registros
Algoritmos - Aula 16 - Registros
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelas
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelas
 
BD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DMLBD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DML
 
BD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - EnunciadoBD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - Enunciado
 
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub SelectsBD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisAlgoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
 
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
 
BD I - Aula 13 B - Agrupando Dados - Parte 04
BD I - Aula 13 B - Agrupando Dados  - Parte 04BD I - Aula 13 B - Agrupando Dados  - Parte 04
BD I - Aula 13 B - Agrupando Dados - Parte 04
 
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
 
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
 
Algoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em CAlgoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em C
 
Algoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em CAlgoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em C
 
Algoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em CAlgoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em C
 
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - CondicoesAlgoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
 
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc SaidaAlgoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
 

Kürzlich hochgeladen

O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
lenapinto
 

Kürzlich hochgeladen (20)

Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)Sopa de letras | Dia da Europa 2024 (nível 1)
Sopa de letras | Dia da Europa 2024 (nível 1)
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 

2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER

  • 1. Rodrigo Kiyoshi Saito / rodrigok@anchieta.br BANCO DE DADOS I
  • 2. Tópicos abordados • Processamento centralizado; • Arquitetura Cliente/Servidor; • Arquitetura em 3 e 4 camadas; • Processamento distribuído; • Banco de Dados livres versus proprietários; • Introdução ao Banco de Dados Relacional;
  • 3. Tópicos abordados • Tabelas; • Introdução ao MER (Modelo Entidade Relacionamento); • Vantagens na utilização do Modelo Entidade / Relacionamento; • Objetivo da Modelagem de Dados; • Entidade; • Entidades Associativas;
  • 4. Processamento centralizado • O processamento de dados era feito por uma única máquina. Na época, quem dominada o mercado eram os mainframes, onde a aplicação e os dados ficavam em um único lugar. As estações não tinham poder de processamento, a qual ficava somente em um único servidor. • O grande probema dessa arquitetura era o alto valor de hardware, principalmente o valor de um mainframe.
  • 6. Arquitetura Cliente/Servidor e Aplicações de Duas Camadas • O modelo Cliente/Servidor teve como principal objetivo descentralizar o processamento centralizado que dominava na época dos mainframes. Com isso, parte do processamento é executado no cliente e parte no servidor. • Para esse modelo, é utilizado aplicações de duas camadas, permanecendo o código executável do aplicativo desenvolvido nos clientes e o banco de dados em um servidor (geralmente dedicado).
  • 7. Arquitetura Cliente/Servidor e Aplicações de Duas Camadas • O Cliente desse modelo é responsável pela Apresentação e lógica de negócios. • O servidor de banco de dados (segunda camada, o servidor) é responsável pela persistência dos dados que a aplicação cliente envia.
  • 8. Arquitetura Cliente/Servidor e Aplicações de Duas Camadas • Um grande problema desse modelo é a atualização dos clientes nas estações. Um bom exemplo disso seria uma grande empresa que possui mais de 1000 estações e que precisa atualizar o aplicativo cliente! (Fazer esse serviço manualmente não é nada produtivo!)
  • 9. Arquitetura Cliente/Servidor e Aplicações de Duas Camadas http://www.dstakinformatica.com.br/servidores.html
  • 10. Processamento distribuído • Processamento distribuído significa que máquinas diferentes podem estar conectadas entre si em uma rede de computadores como a internet, de tal modo que uma única tarefa de processamento de dados possa se estender a várias máquinas na rede. A comunicação entre as várias máquinas é efetuada por algum tipo de software de gerenciamento de rede.
  • 12. Aplicações em três camadas • A principal idéia desse modelo é a retirada das regras de negócio do cliente e centralizá-la em um determinado ponto, o qual é chamado de servidor de aplicação. • O acesso ao banco de dados é feito por esse servidor de aplicação. A grande vantagem desse modelo em relação ao modelo Cliente/Servidor é a atualização do servidor de aplicação em um único ponto, não necessitando trocar os executáveis de todas as estações.
  • 13. Aplicações em três camadas • Com isso, a camada de apresentação continua nos clientes, a camada de lógica (regras de negócio) ficam em um servidor e a camada de dados (banco de dados) ficam em outro ponto, facilitando uma boa parte da manutenção.
  • 14. Aplicações em três camadas http://cassioscofield.com.br/projeto_prontuario.php
  • 15. Aplicações em três camadas • Com isso, a camada de apresentação continua nos clientes, a camada de lógica (regras de negócio) ficam em um servidor e a camada de dados (banco de dados) ficam em outro ponto, facilitando uma boa parte da manutenção.
  • 16. Aplicações em quatro camadas • Esse modelo é uma atualização do modelo de três camadas, tendo a principal idéia de tirar a camada de apresentação do cliente e centralizá-la em um determinado ponto, sendo a grande maioria dos casos um servidor web (iis, apache, etc). • Para isso, o acesso aos programas não são mais instalados nos clientes e sim acessados através de browsers, como o internet explorer, o firefox, o netscape navegator etc.
  • 17. Aplicações em quatro camadas • Com isso, os clientes não precisam ser instalados maquina a maquina. • As camadas são: cliente, que são os browsers; a camada de apresentação, que geralmente está alocada no servidor web, podendo ser composta de páginas HTML, ASP, PHP etc; camada lógica, que são alocadas as regras de negócio e a camada de dados, onde temos o servidor de banco de dados.
  • 19. Questões a considerar nos modelos de três ou mais camadas • Existem muitas vantagens referentes aos modelos de três ou mais camadas, porém o cuidado que devemos sempre ter é em relação a desempenho e dimensionamento dos equipamentos que serão os servidores. • Quando estamos centralizando serviços, processamento e memória são de fundamental importância para que as aplicações possam ser executadas de maneira satisfatória.
  • 20. Banco de dados livres versus proprietários https://www.janbasktraining.com/blog/oracle-sql-server-mysql-and-postgresql/
  • 21. Banco de dados livres versus proprietários • Quando estamos implantando um banco de dados, às vezes, nos deparamos com a dificuldade de escolher um banco de dados correto para a nossa empresa. • É difícil, de uma hora para outra saber qual o melhor banco a ser adotado.
  • 22. Banco de dados livres versus proprietários • Temos que considerar diretamente o quanto (valor) a empresa está disposta a investir em no sistema de informação, qual o número de usuários que irão se conectar simultaneamente, a possibilidade de expansão da empresa para outros sites, quantas filiais a empresa possui, se o banco de dados vai ser centralizado ou distribuído, quantidade de dados armazenado em um determinado período etc.
  • 23. Banco de dados livres versus proprietários • Não tem como julgar simplesmente que um banco de dados é melhor que o outro antes de analisar qual a verdadeira necessidade da empresa. • Dentro dos banco de dados comerciais, os mais conhecidos e utilizados são Oracle, MS SQL Server, UDB IBM DB2, MS Access, Informix etc.
  • 24. Banco de dados livres versus proprietários • Já os banco de dados livres encontran-se o MySQL, Firebird e PostgreSQL. • Hoje, por causa da grande perda de mercado para os bancos de dados livres, os fabricantes de banco de dados comerciais resolveram criar a versão “EXPRESS” dos seus bancos de dados comerciais, que geralmente são limitados pelo número de processadores suportados, pela quantidade de memória suportada e pelo tamanho em disco do banco de dados, porém, com custo “ZERO” dessas versões.
  • 25. Banco de dados livres versus proprietários Banco de dados Qtde Mem. Ram Suportada Qtde de proc. suportado TAM bd em disco Oracle 1 GB 1 4 GB SQL Server 2014 1 GB 1 10 GB IBM DB2 2 GB 2 Ilimitado SQL Server 2017 1 GB 1 10 GB Exemplo de um quadro comparativo entre as versões expressas:
  • 26. Banco de dados livres versus proprietários • Geralmente, as versões expressas são totalmente compatíveis com as versões comerciais, sendo muito fácil sua migração para a versão comercial.
  • 27. Banco de dados livres versus proprietários • Detalhes e características do SQL Server 2005 Express podem ser encontradas em: http://www.microsoft.com/sql/prodinfo/features/compare -features.mspx • Detalhes e caracteristicas do DB2 Express podem ser encontradas em: http://www.ibm.com/br/businesscenter/catalogo/db2_exp ress-c.phtml • Detalhes e características do SQL Servwe 2008 Express podem ser encontradas em: http://msdn.microsoft.com/pt- br/library/ms143685(v=sql.100).aspx
  • 28. Exercícios (Extra-Classe) • Qual a diferença de dados e informação? • O que é se de conhecimento e como adquirimos? • Para que serve um banco de dados e quais as suas principais características de um SGDB? • Quais são os tipos de banco de dados e qual o tipo mais utilizado? • Qual o papel do DBA e descreva algumas tarefas que o mesmo tem responsabilidade.
  • 29. Exercícios (Extra-Classe) • Qual foi o principal objetivo do modelo Cliente/Servidor e qual o seu principal problema? • Qual a principal diferença entre o modelo Cliente/Servidor e o modelo em 3 camadas? • Por que migras as aplicações para 4 camadas? • Se você fosse escolher um banco de dados, qual banco de dados escolheria? Pago ou livre? • Caso você já trabalhe com algum banco de dados, qual o melhor banco de dados?
  • 30. Introdução ao Banco de Dados Relacional • Dados relacionados entre si, é uma característica fundamental dos bancos de dados modernos, ou seja, permite o inter- relacionamento existente entre os dados e a aplicação de regras de consistências;
  • 31. Introdução ao Banco de Dados Relacional • Outra característica fundamental é a atomicidade – requisito de que certas operações sobre os dados devem ser feitas de forma conjunta e indivisível a fim de preservar a consistência da base de dados mesmo na presença de falhas no equipamento ou na comunicação com a base de dados
  • 32. Introdução ao Banco de Dados Relacional • Bases de dados usualmente requerem o acesso simultâneo ou concorrente por vários usuários, cujas operações podem interagir gerando inconsistências, como por exemplo, a aquisição de uma passagem aérea para dois passageiros distintos.
  • 33. Tabelas • Tabelas são depósitos de informações, que podem ser entendidas como um conjunto de linhas e colunas. • As colunas de uma tabela qualificam cada elemento (no caso, a linha) com informações relacionadas ao objeto. • As tabelas são organizadas de modo a receber e manter as informações de determinadas entidades. Devemos manter em tabelas todos os atributos da entidade em questão.
  • 34. Abordagem Relacional: o modelo de Entidade X Relacionamento • A abordagem relacional é a utilização de conceitos de Entidade e Relacionamento para criar as estruturas que irão compor o banco de dados. • Partindo sempre da necessidade do usuário ou grupo de usuários do sistema, iniciamos a pesquisa das necessidades de informações desses usuários. • A definição do escopo do sistema é, portanto, importante para o início do trabalho de análise de dados.
  • 35. Abordagem Relacional: o modelo de Entidade X Relacionamento • É comum no início do desenvolvimento de um sistema que não tenhamos a noção exata da tarefa a ser realizada. O maior erro nessa fase é admitir que já sabemos o que deve ser feito, seja por experiência anterior, seja por falta de tempo para conversar com os usuários do sistema.
  • 36. Abordagem Relacional: o modelo de Entidade X Relacionamento • Para minimizar esse problema, devemos criar uma estrutura gráfica que permita identificar as Entidades de um sistema e como estas se relacionamento. • Nessa fase é importante saber quais informações são importantes para o sistema e que deve ser armazenado. A esta representação gráfica dá-se o nome de Modelo de Dados.
  • 37. Abordagem Relacional: o modelo de Entidade X Relacionamento • Devemos notar que o Modelo de Dados dará suporte a toda a empresa, incorporando as informações necessárias para o andamento dos negócios. • Ele será composto de Entidades e Relacionamentos, daí ser conhecido por Modelo de Entidade x Relacionamento (MER)
  • 38. Vantagens na utilização do Modelo de Entidade x Relacionamento • Sintaxe mais robusta: o modelo documenta as necessidades de informação da empresa de maneira precisa e clara; • Comunicação com usuário: os usuários podem, com pouco esforço, entender o modelo; • Facilidade de criação: os analistas podem criar e manter um modelo facilmente;
  • 39. Vantagens na utilização do Modelo de Entidade x Relacionamento • Integração com várias aplicações: diversos projetos podem ser inter-relacionados utilizando-se o modelo de dados de cada um deles. • Utilização universal: o modelo não está vinculado a um banco de dados específico, mas sim ao modelo da empresa, o que garante sua independência de implementação.
  • 40. Objetivos da Modelagem de Dados • O principal objetivo da Modelagem de Dados é desenvolver um modelo que, contendo entidades e relacionamentos, seja capaz de representar os requerimentos das informações do negócio.
  • 41. Objetivos da Modelagem de Dados COD. NOME DO CD NOME DA MUSICA NOME DO AUTOR 01 Mais do Mesmo Será Renato Russo e ... 01 Mais do Mesmo Ainda é Cedo Renato Russo e ... 01 Mais do Mesmo Tempo Perdido Renato Russo 02 Bate-Boca Meninos, Eu vi Tom Jobim e ... 02 Bate-Boca Eu te amo Tom Jobim e ... Veja o que poderia ser um exemplo de catálogo de CDs:
  • 42. Objetivos da Modelagem de Dados • Um dos principais problemas relacionados com bancos de dados é redundância (repetição) de informações. Sempre que houver duas informações, nunca se saberá em qual delas pode confiar.
  • 43. Objetivos da Modelagem de Dados • Um outro objetivo é a economia de espaço. Quando se admite a redundância, é muito comum ter que repetir nomes, descrições, datas etc. • Ao isolarmos essas informações em tabelas distintas e ao relacionarmos as tabelas por um código comum estamos economizando espaço de armazenamento.
  • 44. Entidade • Entidade é um agrupamento lógico de informações inter-relacionadas necessárias para a execução das atividades do sistema. • Uma entidade normalmente apresenta um objeto do mundo real ou, quando não é, contém informações relevantes às operações da empresa.
  • 45. Entidade • Quando transposta ao modelo físico (ao banco de dados), chamamos a entidade de tabela. • Uma entidade é entendida como um objeto concreto ou abstrato do sistema. São informações necessárias e que, portanto, devem ser armazenadas.
  • 46. Entidade • Ao transpor o Modelo Relacional a um modelo Orientado a Objeto, a Entidade passa a ser uma Classe ou categoria do objeto ao qual agregaremos os respectivos métodos.
  • 47. Entidade • Cada entidade deve conter múltiplas ocorrências ou instâncias do objeto que representa. Isso não permitirá incorrer no erro de confundir a Entidade com a Instância. A entidade é a classe ou categoria (CD), e a instância é um objeto específico (no exemplo: Mais do Mesmo ou Bate-Boca).
  • 48. Entidade • Em resumo, podemos dizer que uma entidade é tudo aquilo que pode ser individualizado e que possui existência própria (física ou abstrata). As entidades são caracterizadas por algumas propriedades específicas denominadas atributos. Cada atributo possui um nome e um valor específico para a entidade.
  • 49. Entidade • Um conjunto de entidades (CE) é um conjunto matemático no sentido de que todos os seus elementos são distintos, e não existe nenhuma ordem intrínseca entre eles. Isto implica que valores correspondentes dos atributos de duas entidades não podem ser todos iguais. Em outras palavras, a lista de atributos de um CE deve ser suficiente para caracterizar completamente qualquer entidade do conjunto.
  • 50. Exemplos de Entidade Físicas ou Jurídicas Pessoas, funcionários, clientes, fornecedores e empresa. Documentos Ordem de compra, pedido de nota fiscal. Local Almoxarifado e departamento. Tabelas Classificação fiscal, centro de custo e UF Matéria Produto e peça.
  • 51. Entidade • As entidades podem ser classificadas em dois tipos: CLASSIFICAÇÃO DESCRIÇÃO Fundamental Contém dados básicos que são resultados ou alimentadores das operações da empresa. Associativa É formada pelo Relacionamento de duas Entidades Fundamentais sempre que estas se relacionarem de uma vez. Exemplo: autor x matéria, CD x Autor, pedido x produto etc.
  • 52. Entidades Associativas • Há um caso específico para as Entidades Associativas: sempre que, além do simples relacionamento entre as duas entidades fundamentais, houver outras informações específicas da nova entidade criada (como, por exemplo, a quantidade e o valor entre pedido x produto ou bimestre, nota e faltas do aluno x matéria), ela será chamada de entidade Associativa Atributiva.
  • 53. Entidades Associativas • No catálogo de CD dado como exemplo, podemos identificar facilmente duas entidades: CD e Música.

Hinweis der Redaktion

  1. Um dos principais problemas relacionados com bancos de dados é redundância (repetição) de informações. Sempre que houver duas informações, nunca se saberá em qual delas pode confiar.   Imagine que na tabela exemplo alguém altere o nome do CD apenas na linha 2 para “Mais ou Menos”. Qual dos nomes estaria correto? É por isso que devemos criar um banco de dados com um mínimo de redundância, evitando esse problema.   Exatamente para evitar a redundância é que se cria uma série de tabelas no banco de dados, e não apenas uma. Naturalmente isso aumenta a complexidade da operação, mas traz uma enorme vantagem ao evitar a redundância.
  2. Um outro objetivo é a economia de espaço. Quando se admite a redudância, é muito comum ter que repetir nomes, descrições, datas etc. Ao isolarmos essas informações em tabelas distintas e ao relacionarmos as tabelas por um código comum estamos economizando espaço de armazenamento.   No exemplo anterior, identificamos que há diversos dados redundantes: Código do CD, Nome do CD, Nome da Gravadora, preço, autor. Além do mais, a simples repetição desses campos representa um espaço gasto sem necessidade. Podemos separar as informações em mais de uma tabela, armazenando apenas uma vez cada informação distinta e relacionando as tabelas.   Exemplo: podemos criar uma tabela para armazenar os dados dos CDs (Codigo do CD, Nome do CD, Nome da gravadora e preço) e outra para armazenar as Musicas (Número da faixa, Nome, Autor e Tempo). Basta acrescentar o código do CD em Músicas e teríamos uma relação entre Música e CD. Contudo, somente isso não é suficiente.
  3. Um conjunto de entidades (CE) é um conjunto matemático no sentido de que todos os seus elementos são distintos, e não existe nenhuma ordem intrínseca entre eles. Isto implica que valores correspondentes dos atributos de duas entidades não podem ser todos iguais. Em outras palavras, a lista de atributos de um CE deve ser suficiente para caracterizar completamente qualquer entidade do conjunto. Exemplo: Suponhamos que queremos registrar para um conjunto de pérolas as seguintes informações: cor, diâmetro, peso, lote; elas podem não ser suficiente para distinguir duas pérolas que podem ter os mesmos valores para cor, diâmetro, peso e lote. Se quisermos que essas pérolas façam parte de um conjunto de entidades, algumas propriedades teriam que ser incluídas, como local da extração, empresa, pescador etc. Um exemplo mais realista é o caso de itens fabricados em série cujos atributos mensuráveis são idênticos; nessa caso é comum distingui-los através de um número de série impresso no item – um atributo chave (chave primária)
  4. Observando com mais cuidado, vê-se que Gravadora e Autor também possuem uma estrutura independente. Isso porque há outras informações que, apesar de não estarem descritas na planilha, são de fato apenas da Gravadora e do Autor. Exemplo: endereço, data de nascimento, telefone etc. Para isso é importante entender o que são os atributos (características) de uma Entidade.