ANTES DOS COMPUTADORESONDE SE
ARMAZENAVAM OS DADOS????
Década de 50
Dados armazenados em papel
4.
ANTES DOS COMPUTADORESONDE SE
ARMAZENAVAM OS DADOS????
1. Dados em fichas de papel
2. Fichas em pastas
3. Pastas em arquivos
5.
Década de 60
Surgea primeira idea de Sistema Gerenciador de
Banco de Dados
Evento que reuniu o Departamento de Defesa Americano
empresa de tecnologias e universidades com intuito de
fomentar a pesquisa, para armazenamento e
tratamento de DADOS.
Publicou-se as
primeiras
Teorias, de como
Estruturar um
banco de dados
6.
Com base narealidade SURGE A TEORIA DE
MODELOS RELACIONAIS
Edgar Frank Codd, Em junho de 1970 publicou um artigo chamado "Relational Model of Data for
Large Shared Data Banks" ("Modelo de dados relacional para grandes bancos de dados
compartilhados") , demonstrou os fundamentos da teoria dos bancos de dados relacionais, usando
tabelas ("linhas" e "colunas")
7.
A Revolução doModelo Relacional defendido por
Codd, foi permitir que os registros se interligassem
Edgar F
. Codd
8.
Modelo Relacional
Por meiode um registro é possível:
1. Localizar endereço;
2. Conhecer perfil de Compra;
3. Datas de compra
4. Produtos em estoque
5. Fornecedores
9.
Como criar arelações???
• Por meio de uma linguagem de controle, inicialmente denominada
de SEQUEL e após denominada de SQL.
SQL – STRUCTURED
QUERY LANGUAGE
Linguagem de Consulta
Estruturada
10.
INTRODUÇÃO:
• Um BANCODE DADOS informatizado permite organizar os dados e efetuar a
manutenção dos registros por computador, geralmente depende de um SGBD –
Sistema Gerenciador de Banco de Dados
• O objetivo de criar Banco de Dados e incorporá-los à Sistemas Informatizados é
criar uma estrutura regular visando a reorganização, manutenção e produção de
informação.
• Um BANCO DE DADOS deve ser modelado objetivando a integridade,
segurança e agilidade dos dados.
INTRODUÇÃO:
Até 1960: Sistemade Arquivos integrados
ISAM, VSAM
Final da década de 60: Modelo Hierárquico
IMS(IBM)
Década de 70: Modelo de Redes (CODASYL)
IDMS, DMS-II(Unisys)
Meados da década de 80: Modelo Relacional (Codd)
DB-2, SQL-DS (IBM), Oracle, Ingres
Final da década de 80: Modelo Orientado a Objetos e Relacional Estendido (Objeto-Relacional)
BDOO: Vbase, O2, Orion, Gemstone, Jasmine, ObjectStore
BDRE: Postgres, Illustra/Informix Universal Server, Oracle 8i,
IBM DB2 Universal Server
Década de 90: BD Inteligentes
Século XXI : Tecnologias distribuídas. Oracle 1
13.
MODELAGEM CONCEITUAL
• Primeiraetapa na modelagem de banco de dados, objetiva a compreensão do modelo de
negócio.
1. Analisa a realidade
2. Cria-se o minimundo ou Escopo do Negócio
3. Identifica as Entidades e atributos do Banco
Exemplo: Modelo Conceitual
ENTIDADE:
Personagem,objeto ou coisa que possua características ou requisitos que são
NECESSÁRIOS AO SISTEMA e que DEVEM ficar armazenados em um banco de Dados.
Entidade é qualquer coisa cujo os requisitos sejam relevantes de armazenamento em
banco de dados.
UMA ENTIDADE SÓ EXISTE EM UM BANCO DE DADOS, SE POSSUIR ATRIBUTOS.
16.
Exemplo: Modelo Conceitual
ENTIDADE:
Asentidades devem ser identificadas e catalogadas por meio de conjuntos de dados com
características SEMELHANTES e também quanto ao papel que interpretam dentro do Sistema.
Exemplo:
Em uma escola os professores são cadastrados pelo Nome e formação, já os alunos fornecem
seus nomes, endereços e documento de identidade.
1. Deve-se analisar se todos os professores que participarão desse negócio, irão fornecer os
mesmos dados. Se positivo, considera-se que Professor é um CONJUNTO COM ELEMENTOS
EM COMUM. A mesma análise deve ser aplicada para aluno.
2. Verificar se os conjuntos identificados realmente são NECESSÁRIOS ao modelo de negócio.
17.
Exemplo: Modelo Conceitual
ENTIDADE:
3.Identificar o papel de cada conjunto no Negócio:
Professores ministram aula;
Alunos assistem aula;
Apesar de se comunicarem, os CONJUNTOS professores e alunos POSSUEM papeis DIFERENTES
no modelo de negócio, portanto são distintos entre si, E DEVEM SER AGRUPADOS EM DUAS
ENTIDADES:
PROFESSOR
ALUNO
18.
Exemplo: Modelo Conceitual
ENTIDADE:
Arepresentação de uma Entidade em um modelo Conceitual, deve seguir um padrão:
1. Nomear com um substantivo ou substantivo adjetivado
2. Sempre no SINGULAR
3. Não utilizar acentuação, caracteres especiais ou palavras compostas com espaço entre elas
4. Para substantivos adjetivados as duas primeiras letras devem ser escritas em maiúsculo
Exemplo:
NOMES DE ENTIDADES
SUBSTANTIVO SUBSTANTIVO ADJETIVADO
Professor ProfessorInformatica
Aluno AlunoTecnico
Veiculo VeiculoPesado
19.
Exemplo: Modelo Conceitual
ENTIDADE:
RepresentaçãoGráfica:
Uma entidade é representada em um MER – Modelo Entidade Relacionamento, como um retângulo:
Professor
Aluno
ProfessorInformatica
AlunoTecnico
Veiculo
VeiculoPesado
20.
Exemplo: Modelo Conceitual
ATRIBUTO:
Sãoas características que definem a entidade.
Um atributo sempre vai estar associado a uma Entidade.
Da mesma forma que entidades são definidas a partir da identificação de atributos em comum, cada
atributo listado no modelo de negócio deve estar associado a uma UMA ENTIDADE.
Uma entidade pode ser composta por UM ou MAIS ATRIBUTOS
21.
Exemplo: Modelo Conceitual
ATRIBUTO:
Paracatalogar um atributo, deve-se analisar o modelo de negócio, verificando seus
objetos e os dados necessário para identificação do mesmo.
Exemplo:
Um professor leciona na escola, e é necessário saber seu nome, endereço, telefone e
formação.
O professor faz parte do modelo de negócio, pois leciona na escola e para identifica-lo
anotamos seu nome, endereço, telefone e formação.
Esses dados que IDENTIFICAM o professor SÃO SEUS ATRIBUTOS.
22.
Exemplo: Modelo Conceitual
ATRIBUTO:
Damesma forma da Entidade, atributos devem seguir um padrão de escrita
1. Estar sempre associado a uma Entidade.
2. Nomear com um substantivo ou substantivo adjetivado
3. Sempre no SINGULAR
4. Não utilizar acentuação, caracteres especiais ou palavras compostas com espaço entre elas
5. Para substantivos adjetivados as duas primeiras letras devem ser escritas em maiúsculo
23.
Exemplo: Modelo Conceitual
ATRIBUTO:
Arepresentação gráfica de um atributo, pode ser de forma textual no Modelo Entidade Relacionamento ou
por meio de elipses no Diagrama Entidade Relacionamento.
Exemplo:
MODELO ENTIDADE RELACIONAMENTO
Entidade Atributo
Professor
Nome
Formacao
Aluno
Nome
Endereco
Telefone
DIAGRAMA ENTIDADE RELACIONAMENTO
Professor Aluno
Nome
Formaçao
Nome
Endereco
Telefone
24.
Exemplo: Modelo Conceitual
ATRIBUTO:
Propriedadesde Atributos:
Compostos. Os atributos compostos podem ser divididos em partes menores, ou subpartes, os quais
representariam atributos básicos mais simples com significados independentes. Por exemplo, um
atributo endereço pode ser subdividido em rua, cidade, estado e cep.
Simples. São chamados também por atributos atômicos. Eles não são divisíveis
Monovalorados. São atributos que possuem apenas um valor para uma entidade em particular. Por
exemplo, o ano de nascimento é um atributo monovalorado para uma entidade pessoa.
Multivalorado. São atributos que possuem um ou mais valores para o mesmo. Por exemplo,
o atributo idioma de uma entidade aluno pode conter os valores inglês e francês. Para um outro
aluno poderia conter apenas um valor - espanhol. Para um terceiro aluno, poderíamos ter 3 valores
para este atributo.
25.
Exemplo: Modelo Conceitual
ATRIBUTO:
Propriedadesde Atributos:
Derivado. Alguns atributos podem ter uma relação entre si. Por exemplo, idade e data-
nascimento de uma pessoa. Para uma pessoa em particular, podemos determinar o valor atual
de idade através do atributo data-nascimento.
Nulo. Em alguns casos, uma entidade pode não necessitar de um valor aplicável a um de seus
atributos. Por exemplo, no atributo número-apartamento, apenas definiremos valores para este
campo quando a entidade pessoa em particular morar em um prédio.
26.
Exemplo: Modelo Conceitual
Registro(OU TUPLA):
Para receber dados uma entidade assume a forma de uma tabela, ou seja, Seus atributos como colunas
e CADA LINHA DA TABELA denominada de REGISTRO OU TUPLA.
Um registro é uma INSTÂNCIA de uma tabela, ou entidade.
PROFESSOR
Nome Formacao
Paulo da Silva Bacharel em Administração
Carlos Andrade Doutor em Logistica
Nome Entidade/Tabela
Atributos
Registros
Dados: O que alimenta o banco, são os dados que devem ser alocados cada um de acordo com seu
Atributo, e a junção de uma LINHA de dados forma o registro
27.
Exemplo: Modelo Conceitual
ModeloEntidade Relacionamento - MER:
O Modelo Entidade Relacionamento (também chamado Modelo ER, ou simplesmente MER),
como o nome sugere, é um modelo conceitual utilizado para descrever os objetos (entidades)
envolvidos em um domínio de negócios, com suas características (atributos) e como elas se
relacionam entre si (relacionamentos).
Em geral, este modelo representa de forma abstrata a estrutura que possuirá o BANCO DE
DADOS da aplicação.
A representação gráfica de um Diagrama Entidade Relacionamento pode ser adotada de forma
diferentes, de acordo com as ferramentas Case utilizadas e também as notações apresentadas
por alguns autores.
Exemplo: Modelo Conceitual
ModeloEntidade Relacionamento - MER:
Professor Aluno
Nome
Formaçao
Nome
Endereco
Telefone
Notação Peter Chen
Notação James Martin
30.
Exemplo: Empresa
• MINIMUNDO
Umaempresa iniciou suas atividades e precisa informatizar seus dados para
controlar os funcionários, cargos e departamentos.
Os funcionários ao serem admitidos informam seus nomes, endereço, telefone,
rg, cpf e nome da mãe.
Os cargos têm um salário específico, além da nomenclatura do cargo.
Os Departamento são diferenciados pelos seus nome e siglas.
Foco do projeto
31.
Exemplo: Modelo Conceitual
ENTIDADEATRIBUTO
Funcionario
Nome
Endereco
Telefone
RG
CPF
NomeMae
Cargo Salario
NomenclaturaCargo
Departamento
Nome
Sigla
32.
Modelo Conceitual
Dicionário deDados ou Requisitos de Dados
Após a criação e verificação do modelo Conceitual, deve-se analisar as propriedades dos
atributos, para detalhamento do Dicionário de Dados.
Permite que os analistas obtenham informações sobre todos os objetos do modelo de forma textual,
contendo explicações por vezes difíceis de incluir no diagrama. É válido lembrar que o objetivo do
documento é ser claro e consistente.
33.
Modelo Conceitual –Dicionário de Dados
ENTIDADE: Funcionario
ATRIBUTO TIPO TAMANHO OBRIGATÓRIO DESCRIÇÃO
Nome Alfanumérico Até 70 SIM
Endereco Alfanumérico Até 120 SIM
Telefone Alfanumérico Exatos 11 NÃO Formato: (DD)00000-0000
RG Alfanumérico Exatos 9 SIM Formato: 00.000.000-0
CPF Alfanumérico Exatos 11 SIM Formato: 000.000.000-0
NomeMae Alfanumérico Até 70 NÃO
O que ousuário vê
• CHAVE PRIMARIA: atributo que identifica unicamente uma tupla (registro) em uma
Entidade(Centro Paula Souza – Informática 3).
• CHAVES PRIMÁRIAS: referem-se às tuplas cujos valores nunca se repetem e que podem
ser usadas como um índice para os demais campos da tabela do banco de dados. Em
chaves primárias, não pode haver valores nulos nem repetição de tuplas (Wikipedia).
38.
• Para umcampo ser definido como chave primária, primeiro precisa atender a
regra de IDENTIDADE:
“UM ATRIBUTO PARA SER CANDIDATO A CHAVE PRIMÁRIA NÃO PODE PERMITIR A
INSERÇÃO EM SUA COLUNA DE DADOS REPETIDOS OU NULOS”
CHAVE PRIMÁRIA:
39.
REGRA DE IDENTIDADE
•Determina um campo como sendo identificador ÚNICO do registro.
• A regra de Identidade para ser aplicada deve verificar duas propriedades para definir um
campo como identificador
• se o campo NÃO PERMITE valores nulos (preenchimento deve ser obrigatório por
parte do usuário
• se o campo NÃO PERMITE o preenchimento de valores repetidos
40.
• Identificando umachave primária:
1. Identificar na tabela todos os campos que atendem a regra de Identidade.
2. Marcar os campos encontrados como CHAVES CANDIDATAS.
3. Priorizar os campos:
Totalmente numéricos.
Menor tamanho.
Quando nenhum atributo atender as exigências acima devemos criar um atributo
artificial ( que não é nativo da Entidade)
CHAVE PRIMÁRIA:
41.
CHAVE PRIMÁRIA:
ENTIDADE ATRIBUTORELACIONAMENTO
ALUNO NOME
ENDERECO
CPF #
NOMEMAE
RA *
CURSO CODCURSO *
NOMECURSO #
CHCURSO
AREA
DISCIPLINA CODDISCIPLINA *
NOMEDISCIPLINA #
CONTEUDO
CHDISCIPLINA
HUMANA CODESTAGIO *
CHESTAGIO
LOCAL_ESTAGIO
TURMA CODTURMA *
DTINICIO
DTTERMINO
PERIODO
* - Campo chave primária
#- Campo apto a ser primária
(chave candidata)
42.
3. Chaves Estrangeiras:
•O conceito de Chave estrangeira em uso de banco de dados se refere ao tipo de
relacionamento entre as tabelas de dados do banco. Uma chave estrangeira é
chamada quando há o relacionamento entre duas tabelas (Wikipedia).
• Chaves Estrangeiras: atributo que implementa o relacionamento entre Entidades
(Centro Paula Souza – Informática 3).
• Chave Estrangeira: atributo que permite o relacionamento entre Entidades
(Angela)
43.
Cardinalidade e condicionalidade:
• CARDINALDIADE: serve para definir o tipo de relacionamento entre as entidades e pode
ser:
• 1 para 1 (um para um)
• 1 para N (um para muitos)
• N para N (muitos para muitos)
• CONDICIONALIDADE: serve para definir se um relacionamento entre entidades é
obrigatório para todos os dados armazenados ou opcional.
44.
Exemplos:
Relacionamento 1 para1
Lê-se: um veículo pode ser um e somente um caminhão e um caminhão
deve ser um e somente um veículo.
VEICULO CAMINHÃO
E
1 1
1 1
1
45.
• Relacionamento 1para Muitos:
Lê-se: uma fabrica pode ter um ou mais veículos, um veículo deve
pertencer a uma e somente uma fábrica.
FABRICA VEICULO
TEM
1 N
1 N
1
1
46.
• Relacionamento muitospara muitos:
Lê-se: uma fabrica pode ter uma ou várias lojas e uma loja deve credenciar
uma ou mais fabricas.
FABRICA LOJA
TEM
1 N
N N
1
N
47.
CONDICIONALIDADE
• A condiçãode um relacionamento é expressa por meio das expressões de:
• CONDIÇÃO TOTAL - DEVE EXISTIR :
Para um registro ser armazenado na Entidade QUE ESTIVER SENDO VERIFICADA primeiramente
deve ser armazenado na entidade Relacionada.
• CONDIÇÃO PARCIAL – PODE EXISTIR:
um registro PODE ser armazenado na ENTIDADE QUE ESTIVER SENDO ANALISADA sem
obrigatoriamente ser armazenado na Entidade Relacionada
48.
• A cardinalidadepermite definir o grau de relacionamento entre as Entidades.
• RELACIONAMENTO 1:1
CARDINALIDADE
VEICULO CAMINHÃO
E
1 1
1 1
1
No modelo ao lado as Entidades assumem o papel:
• de um lado Entidade GENERALISTA, possui atributos que
Identificam a Entidade como um todo, ENTIDADE MÃE.
• Do outro lado ESPECIALISTA, Entidade que deriva da
Primeira e que possui atributos de caracterização,
Definem uma categoria ou particularidade da Entidade mãe
Nesses casos a CHAVE PRIMÁRIA da entidade mãe, deve ser criada na Entidade Filha como Primária e também
Estrangeira, o mesmo ATRIBUTO deve receber as duas chaves.
Entidade
Generalista
Entidade
Especialista
49.
CARDINALIDADE
FABRICA VEICULO
TEM
1 N
1N
1
1
Relacionamento 1:N
As Entidades devem ser analisadas de um lado:
ENTIDADE FORTE – não depende de atributos da outra Entidade
ENTIDADE FRACA – depende de atributos da outra tabela
envolvida no relacionamento.
O lado N do relacionamento, sempre deve ser considerado como
a Entidade Fraca, e recebe a chave estrangeira, que referencia
a entidade Forte
Entidade Fraca
Entidade Forte
50.
FABRICA LOJA
TEM
1 N
NN
1
N
CARDINALIDADE
Relacionamento N:N
Todo relacionamento do tipo MUITOS PARA MUITOS
Gera uma terceira tabela entre as entidades envolvidas.
A nova tabela que deve receber as chaves estrangeiras.
• Uma Fabrica pode distribuir para uma ou mais lojas
• Uma Loja pode receber itens de uma ou mais fabricas
FABRICA_LOJA
3º Tabela
1 1
N N
51.
Referências Bibliográficas:
• MACHADO,F
.N.R. & ABREU, M. Projeto de Banco de Dados: Uma Visão Prática. São
Paulo: Editora Érica, 1.995.
• MANZANO, José Augusto N.G. Microsoft SQL Server : Interativo: Guia Prático. São
Paulo: Editora Érica, 2.007.
Este material foi construído a partir de slides de aulas, apostilas, tutoriais, anotações, e também tem
como referência a seguinte bibliografia: