SlideShare uma empresa Scribd logo
1 de 88
Baixar para ler offline
BANCO DE DADOS
AULA – 03 – PROF. DAVID FELIPE SANTOSOLIVEIRA
DEFINIÇÃO – BANCO DE DADOS
2
Um banco de dados é uma estrutura logica que armazena um conjunto de dados.
O que é um dado ?
“ Definimos dados como uma representação simbólica ( isto é, feita por um meio de
símbolos) quantificada ou quantificável.” (SETZER;SILVA,2012,p.2)
Um dado pode assumir varias formas, se alguém disser “dois”,, “azul”, “avião ” e “IV”.
Todos estes são representações de textos ou símbolos, portanto eles são dados. Uma
letra, um texto ou um gráfico também são dados.
DEFINIÇÃO – BANCO DE DADOS
3
O banco de dados é uma estrutura logica, isto é , um software que armazena os
dados de uma empresa qualquer. Quando o usuário requisita estes dados através no
do sistema, eles são expostos de forma organizada na tela do computador de forma
que se tornem informações ou seja, tenham sentido.
Um banco de dados ou base de dados BD é uma coleção de dados ou
informações relacionadas entre si . GUIMARÃES (2012,p.19).
DEFINIÇÃO – BANCO DE DADOS
4
Para exemplificar a utilização de um BD, imagine uma concessionaria e a sua coleção de
carros que estão a venda no pátio. Poderia se dizer que esta empresa tem um sistema de
revendas de veículos e naturalmente seu BD vai ter os registros de cada um deles.
Quando um cliente entrar na loja para comprar um carro, o vendedor consulta as
informações a respeito daquele veiculo em seu sistema. Essa consulta utiliza a interface do
sistema para acessar o BD e retornar essas informações organizadas em forma de lista
(TABELA 1) .
DEFINIÇÃO – BANCO DE DADOS
5
DEFINIÇÃO – BANCO DE DADOS
6
DEFINIÇÃO BANCO DE DADOS
 De acordo com DATE (2004,p.9) existem três classes gerais de usuários.
1. Primeiro, a os programadores de aplicações, responsáveis pela escrita de programas de
aplicações de banco de dados em alguma linguagem de programação.
2. Em seguida os usuários finais, que acessam o banco de dados interativamente.
3. O administrador de Banco de Dados, ou DBA (de DATA BASE ADMINISTRATOR).
7
SISTEMA GERENCIADOR DE BANCO DE
DADOS (SGBD).
8
SGBD
Definição: Sistema Gerenciador de Banco de Dados é uma
coleção de programas que permitem aos usuários definirem,
construírem e manipularem uma base de dados para o uso das
diversas aplicações.
9
SISTEMA GERENCIADOR DE BANCO DE
DADOS (SGBD).
10
SISTEMA GERENCIADOR DE BANCO DE
DADOS (SGBD).
11
O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a
linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language)
como interface. É atualmente um dos bancos de dados mais populares , com mais de 10
milhões de instalações pelo mundo. Entre os usuários do banco de dados MySQL
estão: NASA, Friendster, Banco Bradesco, Dataprev, HP, Nokia,Sony, Lufthansa, U.S. Army,
U.S. Federal Reserve Bank, Associated Press, Alcatel, Slashdot, Cisco Systems,Google e
outros.
O Oracle é basicamente uma ferramenta cliente/servidor para a gestão de Bases de Dados. É
um produto vendido a nível mundial, embora a grande potência que tem e seu elevado preço,
faz com que só se veja em empresas muito grandes e multinacionais, por norma geral. No
desenvolvimento de páginas web acontece o mesmo: como é um sistema muito caro não está
tão espalhado como outras bases de dados, por exemplo, Access, MySQL, SQL Server, etc.
SISTEMA GERENCIADOR DE BANCO DE DADOS
(SGBD).
12
O MS SQL Server é um SGBD - sistema gerenciador de Banco de dados relacional desenvolvido pela Microsoft. Foi
criado em parceria com a Sybase em 1988 inicialmente para a plataforma OS/2 . Esta parceria durou até 1994, com o
lançamento da versão para Windows NT e desde então a Microsoft mantém a manutenção do produto. Como um Banco de
dados, é um produto de software cuja principal função é a de armazenar e recuperar dados solicitados por outras aplicações
de software, seja aqueles no mesmo computador ou aqueles em execução em outro computador através de uma rede
(incluindo a Internet).
O DB2 é um Sistema Gerenciador de Banco de Dados Relacionais (SGDBR) produzido pela IBM. Existem diferentes versões
do DB2 que rodam desde num simples PDA |computador de mão, até em potentes mainframes e funcionam em servidores
baseados em sistemas Unix,Windows, ou Linux.
O PostgreSQL é um sistema de gerenciamento de banco de dados objeto-relacional (SGBDOR), baseado no POSTGRES
Versão 4.2 desenvolvido pelo Departamento de Ciência da Computação da Universidade da Califórnia em Berkeley. O
POSTGRES foi pioneiro em vários conceitos que somente se tornaram disponíveis muito mais tarde em alguns sistemas de
banco de dados comerciais.
SISTEMA GERENCIADOR DE BANCO DE
DADOS (SGBD).
13
ESTRUTURA DE UM BANCO DE DADOS
Em termos de armazenamento de dados, um banco de dados é composto de Tabelas, Colunas e Linhas. Vamos
verificar o conceito de cada um.
 Tabelas (ou entidades ou relação)
Nos modelos de base de dados relacionais, uma tabela é um conjunto de dados com um número determinado de
colunas (ou campos) e um número infinito de linhas (ou registros ou tuplas).
Um banco de dados é composto de uma ou mais tabelas (podemos chamar também de entidades), que uma
forma comum de armazenagem de dados na empresa. O correto é que, através de um processo de modelagem de
dados bem feito, todos os dados necessários ao negócio fiquem organizados nestas tabelas. A criação de cada tabela de
um banco de dados, deverá ser feita com coerência e verificando o “assunto” que cada tabela irá armazenar. Cada
tabela deve armazenar dados relacionados com apenas um assunto ou conceito do negócio.
14
ESTRUTURA DE UM BANCO DE DADOS
 Colunas (ou atributos)
Cada tabela possui colunas (ou podemos chamar campos), que são os nomes dos dados que serão armazenados.
coluna representa uma informação ou atributo da linha.
Cada campo (ou atributo) possuem propriedades, como por exemplo o tipo de dados a ser armazenado (caracter,
numérico, data), se é de preenchimento obrigatório e o tamanho.
15
ESTRUTURA DE UM BANCO DE DADOS
Linhas (ou tuplas ou ocorrência de entidade)
As tabelas (ou entidades) também possuem linhas (ou tuplas) que são os registros contendo dados que estão
armazenados em cada campo da tabela.
Então podemos dizer que tabela (ou entidade) é:
– Um objeto criado para armazenar os dados fisicamente
– Os dados são armazenados em linhas (tuplas) e colunas (atributos)
– Os dados de uma tabela normalmente descrevem um único assunto tal como clientes, vendas, produtos, curso,
disciplina, bilhete, filme, cinema, sessão, viagem, hotel, voo, etc.
16
MODELAGEM DE DADOS
17
Para quem não sabe, a modelagem de dados é um processo no qual você projeta ou
planeja o modelo a ser utilizado para a construção da sua base de dados (BANCO DE
DADOS), de forma que reflita os conceitos do negócio a ser atendido. É muito importante
que haja um perfeito entendimento e compreensão das necessidades de informação do
negócio que está sendo atendido pelo projeto do banco de dados. Para isso, é necessário um
bom levantamento de requisitos, atividade que é feita pelo analista de requisitos que atua
junto ao analista de negócios a fim de descobrir os requisitos de informação que devem ser
atendidos no projeto do banco de dados.
MODELAGEM DE DADOS
Qual o objetivo da modelagem de dados? Por que modelar os dados do ambiente de
negócios?
- Representar os conceitos do ambiente de negócios observado
- Documentar e normalizar os dados no modelo de dados
- Fornecer processos de validação
- Observar fatos no ambiente de negócios e identificar relacionamentos entre os
objetos do ambiente de negócios.
- Representar as regras de negócio que regulam os processos no ambiente de negócios
18
MODELAGEM DE DADOS
Modelagem de dados – Funciona como receita, isto é, uma preparação para criação de um
banco de dados propriamente dito. A modelagem precede a criação do BD. É
imprescindível conhecer e entender seu funcionamento . A mesma dividida em três partes.
 A parte inicial é independente do SGBD , ou seja, o modelo é mais teórico a ponto de não
interferir na escolha da tecnologia a ser aplicada.
A partir do modelo logico o quadro muda pois a tecnologia passa a ditar as regras do
desenvolvimento, tornando o modelo mais especificamente voltado para o SGBD. Figura a
seguir retrata essa separação.
19
MODELAGEM DE DADOS
20
MODELAGEM DE DADOS
 Modelo conceitual – levantamento de requisitos é o nome dado à tarefa de analisar o
ambiente, aplicar a abstração e transformar o resultado da analise em um modelo
chamado de conceitual. Esse modelo cria o conceito, isto é, as definições principais da
empresa em relação a necessidade. É como se fosse um espelho da empresa, detalhando
cada objeto importante dentro do ambiente observado.
 Os modelos de dados conceituais utilizam conceitos como entidades, atributos e
relacionamentos. Uma entidade representa um objeto do mundo real ou um conceito,
como um funcionário ou um projeto, que são descritos no banco de dados. Um atributo
corresponde a alguma propriedade de interesse que ajuda a descrever uma entidade,
como o nome do funcionário ou seu salário. O relacionamento entre duas ou mais
entidades mostra uma associação entre estas: por exemplo, um relacionamento trabalha-
em de um funcionário com um projeto.
21
MODELAGEM DE DADOS
 Modelo Conceitual
 • usados na descrição do banco de dados.
 • Independente de implementação e SGBD.
 • Descrição mais abstrata do banco de dados.
 • É o ponto de partida para o projeto
 • Ex.: MER
22
MODELO E-R
Modelo baseado na percepção do mundo real, que consiste em um
conjunto de objetos básicos chamados entidades e nos
relacionamentos entre esses objetos
Facilitar o projeto de banco de dados, possibilitando a especificação da
estrutura lógica geral do banco de dados
dfelipe.developer@gmail.com
23
MODELO E-R
Imagine o funcionamento de interno de uma agencia bancaria. Existem os clientes e as contas bancarias. Ambos são
Entidades desse Ambiente, pois ambos são dados importantes que precisam ser armazenados para o uso posterior. Ficam
então as duas ENTIDADES : CLIENTES e CONTAS.Veja o modelo abaixo exposto na figura 10 .
24
 Nesse exemplo da agência bancária, o que o modelo conceitual acima está indicando é que :
 No ambiente existem Clientes e Contas Corrente.
 Um cliente pode ter várias Contas Corrente.
Já o modelo logico é mais especifico para cada metodologia o modelo relacional foi escolhido para
este caso. Para representar o modelo relacional são utilizadas as tabelas. O modelo logico reflete a
estrutura real do SGBD.
25 MODELO E-R
ENTIDADES - DEFINIÇÃO
São objetos do “mundo real” sobre os quais deseja-se manter informações no banco de dados. Conjunto de objetos
(coisas, tudo que é perceptível, manipulável) da realidade modelada sobre os quais deseja-se manter informações no
banco de dados.
Uma entidade tem um
conjunto de propriedades, e
os valores para alguns
conjuntos dessas
propriedades devem ser
únicos. Uma entidade pode
ser completa, como uma
pessoa ou um livro, ou pode
ser abstrata como um
empréstimo, uma viagem de
férias ou um conceito.
26
 As entidades no modelo ER são representadas por um retângulo e dentro do retângulo encontra-se o nome da
entidade. Como em uma empresa podem existir várias entidades, vários retângulos podem aparecer em um mesmo
modelo ER.Veja a figura 12 que retrata entidades de um ambiente escolar.
 Nessa figura apenas algumas entidades do ambiente estão sendo destacadas. A depender da necessidade, outras entidades
poderão surgir. Contudo o modelo ER não se define apenas em exibir as entidades no diagrama. Estas entidades possuem outras
propriedades que são deveras importantes.
27 ENTIDADES - DEFINIÇÃO
ESTRATÉGIAS PARA RECONHECER ENTIDADES
As coisas tangíveis: aquilo que pode ser tocado.
– avião, carro, cachorro, gato, livro, caderno....
Funções: todo o tipo de papel, atribuição, classificação, ou outra característica qualquer que para
um dado elemento, especifique não sua existência mas sua atuação no ambiente em que está
inserido.
– Departamento de uma empresa, oautor de um livro, um médico
Eventos ou ocorrências: são ações ou fatos que uma vez ocorrendo possuem características
próprias sobre as quais podemos fazer alguma referência.
– um vôo comercial, um acidente de trânsito, um jogo de futebol...
28
ATRIBUTOS
Uma entidade é representada por um conjunto de atributos Para cada
atributo há um conjunto de valores permissíveis (domínio).
– Um atributo é um dado que é associado a cada ocorrência de uma
entidade ou de um relacionamento Atributos e valores, juntos, descrevem as
instâncias/ocorrências de uma entidade
29
ENTIDADES E ATRIBUTOS
Entidades e Seus Atributos. O objeto básico que o modelo ER representa
é uma entidade, 'algo' do mundo real, com uma existência independente.
Uma entidade pode ser um objeto com uma existência física (por exemplo,
uma pessoa, um carro, uma casa ou um funcionário) ou um objeto com
uma existência conceitual (por exemplo, uma empresa, um trabalho ou um
curso universitário).
Cada entidade tem atributos — propriedades particulares que a
escrevem. Por exemplo, uma entidade empregado pode ser descrita pelo
nome do empregado, idade, endereço, salário e trabalho (função). Uma
dada entidade terá um valor para cada um de seus atributos. Os valores dos
atributos que descrevem cada entidade se tornarão a maior parte dos dados
armazenados no banco de dados.
30
ENTIDADES E ATRIBUTOS
A Figura mostra duas entidades e os valores de seus atributos. A
entidade empregado ej tem quatro atributos: Nome, Endereço, Idade e
FoneResidencial; seus valores são 'John Smith', '2311 Kirby, Houston, Texas
77001', '55' e '713-749-2630', respectivamente. A entidade empresa que
possui três atributos: Nome, Sede e Presidente. Seus valores são 'Sunco Oil',
'Houston' e 'John Smith', respectivamente.
31
ENTIDADES E ATRIBUTOS
32
ATRIBUTOS
Todos atributos representados por um circulo com o nome do atributo
dentro e uma seta indicando para qual entidade ele serve. As entidades
podem ter inúmeros atributos que a representem. Um atributo é algo
especifico da entidade. Basicamente atributos são características que
identificam e representam o próprio objeto (entidade). Toda entidade do
ambiente possuí suas características e essa é uma das provas de que
realmente o elemento abstraído do ambiente seja de fato uma entidade,
ou seja, significa que tais informações, isto é, seus atributos, precisam ser
armazenados.
33
ATRIBUTOS
Propriedades que descrevem entidades.
Exemplo de atributos para entidade escritor:
• Nome
• Nacionalidade
• Data de nascimento
• Local de nascimento
• Data de morte
• Heterônimo
Todo objeto para ser uma entidade possui atributos e seus valores.
–Vamos imaginar um funcionário de uma empresa. O que caracteriza o funcionário?
34
ATRIBUTOS
Valores de atributos para entidade escritor:
Nome: Fernando Pessoa
Nacionalidade: portuguesa
Data de nascimento: 13 de Junho de 1888
Local de nascimento: Lisboa
Data de morte: 30 de Novembro de 1935
Heterônimo: Álvaro de Campos, Ricardo
Reis, Alberto Caeiro
35
ATRIBUTOS
36
ATRIBUTOS
Dado que é associado a cada ocorrência de uma entidade ou de um
relacionamento. Os atributos são as propriedades das entidades ou de um
relacionamento.
37
ATRIBUTOS - RELACIONAMENTO
38
Observe abaixo a figura para um exemplo de RELACIONAMENTO com atributos.
O que pode ser conferido na figura acima é que o prazo , o preço e a quantidade
dependem diretamente das outras duas entidades. Ou seja, para estabelecer um prazo,
um preço ou a quantidade, depende do material e também do fornecedor. Um
fornecedor pode dar 30 dias de prazo para o pagamento, já outro pode oferecer 60 dias
sobre o mesmo produto. Nesse caso mudou o fornecedor e alterou o prazo , porém o
material permaneceu o mesmo.
ATRIBUTO SIMPLES
–Ocorre quando uma característica da entidade é representada por um único
atributo.
Exemplo: Matricula, Nome, Sexo, Salário.
39
ATRIBUTO COMPOSTO
É Composto de outros atributos (endereço composto de (rua, cidade, CEP); Os atributos compostos
podem ser divididos em subpartes menores, que representam a maioria dos atributos básicos com
significados independentes. Por exemplo, o atributo Endereço da entidade empregado, mostrado na
Figura 3.3, pode ser subdividido em Endereco Rua, Cidade, Estado e CEP, com os valores '2311 Kirby',
'Houston', 'Texas' e '77001'.
40
ATRIBUTO COMPOSTO
Os atributos compostos são úteis para modelar as situações nas quais o usuário algumas vezes se
refere ao atributo como um grupo e, em outras ocasiões, se refere especificamente a um de seus
componentes. Se o atributo composto é referenciado apenas como um todo, não há necessidade de
subdividi-lo em atributos componentes. Por exemplo, se não é necessário referir-se a um componente
individual de um endereço (CEP, rua, e assim por diante), então o endereço pode ser definido como um
atributo simples. Outro exemplo é data de nascimento.
41
ATRIBUTO MULTIVALORADO
Os atributos multivalorados são tratados pelos seus detalhes, seu conteúdo é formado por mais de um valor.
Exemplo: Telefone. Um empregado poderá ter mais de um número de telefone. Um atributo multivalorado deve ter
limite inferior e superior para restringir o número de valores permitidos a cada entidade individual. Por exemplo, o
atributo Cor de um carro pode ter entre um e três valores, se presumirmos que um carro possa ter, no máximo, três
cores.
42
OUTROS TIPOS DE ATRIBUTOS
Atributos Armazenados versus Derivados.
Em alguns casos, dois (ou mais) valores de atributos estão relacionados — por
exemplo, os atributos Idade e DataNascimento de uma pessoa. Para uma entidade
pessoa em particular, o valor de Idade pode ser determinado pela data corrente (hoje) e o
valor de DataNascimento da pessoa. Portanto, o atributo Idade é chamado atributo
derivado, e é dito derivado do atributo DataNascimento, que, por sua vez, é chamado
atributo armazenado. Alguns valores de atributos podem ser derivados de entidades
relacionadas; por exemplo, um atributo NumerodeEmpregados, de uma entidade
departamento, pode ser derivado da contagem do número de empregados relacionados
(que trabalham) nesse departamento.
43
OUTROS TIPOS DE ATRIBUTOS
Atributo null: por exemplo, uma entidade professor pode não ter telefone celular. Em alguns casos,
determinada entidade pode não ter um valor aplicável a um atributo. Por exemplo, o atributo
Apartamento de um endereço se aplica apenas a endereços que estão em edifícios de apartamentos,
e não a outros tipos de residência, como as casas. Por analogia, um atributo Titulação só se aplica a
pessoas com titulação acadêmica.
Para essas situações é criado um valor especial chamado null (nulo). Um endereço de uma casa
teria valor null para seu atributo Apartamento, e uma pessoa sem titulação acadêmica teria valor null
para Titulação. O valor null pode ser usado também quando não conhecemos o valor de um atributo
para uma entidade em particular; por exemplo, se não soubermos o telefone residencial de 'John
Smith', na Figura 3.3. O sentido do primeiro tipo de null corresponde a não aplicável, ao passo que o
sentido do último se refere a desconhecido. A categoria 'desconhecido' de null pode ser, ainda,
classificada em dois casos. O primeiro aparece quando se sabe que o valor do atributo existe mas está
faltando — por exemplo, se o atributo Altura de uma pessoa é dado como null. O segundo caso surge
quando não se sabe se o valor do atributo existe — por exemplo, se o atributo FoneResidencial de uma
pessoa é null.
44
OUTROS TIPOS DE ATRIBUTOS
Atributo Identificador (Chave) - Atributo (ou combinação de atributos) que identifica univocamente
uma instância de Entidade uma entidade pode tem mais de uma
45
RELACIONAMENTOS
Relacionamento é uma associação entre entidades Cada tipo entidade que participa de
um tipo relacionamento executa um papel no relacionamento.
Papéis não são necessários em relacionamentos cujas entidades associadas sejam
distintas.
Exemplos de Relacionamento :
46
Relacionamento:
É uma associação entre entidades
Representado através de um losângulo e linhas que ligam as
entidades relacionadas
47
nomeDoRelacionamento
A B
RELACIONAMENTOS
 Como expressamos que João trabalha no Departamento de Contabilidade?
48
Empregado Departamento
Lotação
João
Pedro
Paulo
Maria
Contabilidade
Financeiro
Jurídico
Pessoal
Diagrama de Ocorrências (instâncias)
RELACIONAMENTOS
Relacionamentos
 Exemplos de Relacionamentos
49
Cliente Conta
ContaCliente
Medico Paciente
Consulta
Cidade
Residência
Relacionamentos com Atributos
 Exemplo I
50
Médico’ Paciente
Consulta
dataDaConsulta
nome celular nome endereço
Dr. Paulo
Dr. Flora
Vania
José
22/10/2007
05/02/2009
20/03/2009
esquema
instâncias
RELACIONAMENTOS
51
CARDINALIDADES
A cardinalidade é um conceito importante para ajudar a definir o relacionamento,
ela define o número de ocorrências em um relacionamento. Para determinarmos a
cardinalidade, deve-se fazer algumas perguntas relativa ao relacionamento em
ambas às direções.
Especifica o número máximo de instâncias de relacionamento em que uma entidade
pode participar:
• um-para-um (1:1)
• um-para-muitos (1:N)
• ou muitos-para-um(N:1)
• muitos-para-muitos (N:M)
52
Cardinalidade Máxima
Relacionamento Um para Um – 1:1
54
 Uma ocorrência de A está associada a no máximo uma ocorrência de B, e uma ocorrência
em B está associada a no máximo uma ocorrência em A.
João
Pedro
Paulo
Maria
Jurídico
Contabilidade
Financeiro
Conjunto A
(Empregado)
Conjunto B
(Departamento)
Empregado Departamento
Gerencia 1
1
Relacionamento Um para Muitos – 1:N
55
 Uma ocorrência de A está associada a várias ocorrências de B, porém uma ocorrência de B
deve estar associada a no máximo uma ocorrência em A
Conjunto A
(Departamento)
Empregado
Departamento Lotação
N
1
Contabilidade
Financeiro
Ana
Pedro
João
Sandro
Conjunto B
(Empregado)
Relacionamento Muitos para Muitos – M:N ou N:N
56
 Uma ocorrência de A está associada a qualquer número de ocorrências de B, e uma ocorrência em B
está associada a qualquer número de ocorrências em A
Sigmoda
MM-TOM
Sinpli
AATOM
Conjunto A
(Empregado)
Conjunto B
(Projeto)
Empregado Projeto
Atua N
N
João
Pedro
Paulo
Maria
Cardinalidade Mínima
O modelo ER permite expressar cardinalidades mínimas e máximas em
cada relacionamento
Cardinalidade Mínima:
número mínimo de ocorrências de uma entidade A com relação a uma outra entidade B
Representação:
(cardinalidade mínima, cardinalidade máxima)
Cardinalidades Possíveis: (1,1); (1,N); (0,1);(0,N);(N,N)
Cardinalidade mínima = 1 (relacionamento obrigatório)
Cardinalidade mínima = 0 (relacionamento opcional)
57
Cardinalidade Mínima e Máxima
58
Cliente Conta
ContaCliente
(1,1) (1,N)
 Exemplo de Relacionamento Obrigatório:
 cada ocorrência de cliente está relacionado a no mínimo quantas
contas e no máximo quantas contas?
 Cada ocorrência de conta está relacionada a no mínimo quantos
clientes e no máximo quantos clientes?
 Exemplo de Relacionamento Opcional:
Empregado Departamento
Gerencia
(1,1) (0,1)
Atributos também podem ter Cardinalidade
 Monovalorado: possui um valor único em uma entidade
 Exemplo: nome
 Multivalorado: possui mais de um valor para cada ocorrência da entidade
 Exemplo: telefone
59
Empregado
telefone (0,N)
nome
Endereço
Salário
Empregado
nome
Endereço
Salário
Atributos também podem ter Cardinalidade
60
RELACIONAMENTOS 1:1
61
RELACIONAMENTOS N:1
62
RELACIONAMENTOS N:M
63
EXERCICIO - CARDINALIDADES
 Identifique a cardinalidade dos relacionamentos através do diagrama de ocorrências.

64
65
66
NOTAÇÃO
67
• O Supermercado possui vários funcionários. Esses funcionários são
identificados por um código. Ainda serão registrados nesses funcionários o nome
de cada um, o cargo que eles ocupam, o salário e o telefone.
• O Supermercado ainda deseja guardar as informações de seus fornecedores. Eles devem
possuir um código para identificá-los, o nome da empresa fornecedora, o endereço e os
telefones disponíveis da mesma empresa para contato.
• O Supermercado também exige que o sistema em questão guarde as vendas ocorridas
entre os fornecedores e o próprio supermercado.Tal venda deve conter um código de
identificação, qual funcionário participou dessa venda, qual a empresa que vendeu o
vendeu o produto, o valor total da venda e a data que a mesma ocorreu.
Estudo de Caso: Um Supermercado
68
Relembrando:
– O Supermercado possui vários funcionários. Esses funcionários são
identificados por um código. Ainda serão registrado nesses funcionários o nome de
cada um, o cargo que eles ocupam, o salário e o telefone.
69
O Supermercado ainda deseja guardar as informações de seus fornecedores.
Eles devem possuir um código para identificá-los, o nome da empresa fornecedora, o
endereço e os telefones disponíveis da mesma empresa para contato.
70
O Supermercado também exige que o sistema em questão guarde as vendas ocorridas entre os fornecedores
e o próprio supermercado. Tal venda deve conter um código de identificação, qual funcionário participou dessa
venda, qual a empresa que vendeu o produto, o valor total da venda e a data que a mesma ocorreu.
71
CARDINALIDADE
 Cardinalidades
 A cardinalidade é um conceito importante para ajudar a definir o relacionamento, ela
define o número de ocorrências em um relacionamento.
 Para determinarmos a cardinalidade, deve-se fazer algumas perguntas relativa ao
relacionamento em ambas às direções.
72
Exercicio-01
EXERCÍCIOS
1 ) Faça a análise dos problemas abaixo e identifique as cardinalidades
máximas e mínimas. Faça a representação gráfica(modelagem) . Não
esqueça das perguntas, para identificar as cardinalidades.
a) FUNCIONÁRIO TRABALHA EM UM DEPARTAMENTO
b) FORNECEDOR FORNECE PRODUTO
c) UM GERENTE CHEFIA UMA SEÇÃO
d) UM ALUNO SE MATRICULA EM UM CURSO
73
1. Elabore um modelo de entidade única para cada caso abaixo. Identifique o nome da entidade,
cada atributo (campo) das entidades, o tipo e o tamanho de cada. Faça a representação gráfica da
entidade e seu dicionário de dados.
a) Navio: um navio tem um nome, um código de registro, uma capacidade de transporte e um ano
de construção.
b) Carro: um carro tem um fabricante, um nome de série e um modelo (exemplo: Honda Accord DX,
no qual Honda é o fabricante, Accord é o nome de série e DX é o modelo). Um carro também
possui um código de identificação do veículo, a placa e a cor.
c) Restaurante: um restaurante tem um endereço, uma capacidade, um número de telefone e um
estilo de comida (por exemplo: francesa, russa, chinesa).
EXERCÍCIOS- 01
74
Exercício I
 Considere como exemplo um sistema acadêmico. A partir das seguintes
Entidades, identifique os atributos e os relacionamentos entre elas.
Aluno
Disciplina
Professor
Turma
EXERCICIO 02
 Questão 1 - Sistema de Conferências. Deseja-se construir um banco de dados de um sistema de informação para
controlar a execução de conferências. Após a entrevista inicial foram obtidas as seguintes informações:
 Um congresso, que tem como informações nome, data e local é composto de diversas sessões;
 Cada sessão é identificada por um número. Registra-se ainda o local da sessão, horário de início e término da
sessão. Dentro de cada sessão são apresentados diversos artigos;
 Cada artigo tem como informações ao título, número de páginas. Um artigo pode ser escrito por um ou mais
autores;
 Para os autores é necessário armazenar o nome, data de nascimento, e-mail e instituição a qual o mesmo está
vinculada. Um autor pode escrever vários artigos;
 Ainda registram-se os participantes do congresso. Para os participantes deve-se registrar o número de
identificação, nome, telefone e e-mail. Os participantes podem ser de 3
 tipos: estudantes, profissionais associados e profissionais não associados. Para cada tipo temos um valor de
inscrição diferenciado;
 Para o participante estudante é emitido um diploma especial de participação, que tem uma numeração
específica, data de impressão e deve ser registrado no sistema para fins de controle.
76
Exercicio-02
Questão 2 – Uma farmácia possui várias filiais. Os dados de cada filial são o código
da filial, endereço, telefone e nome do gerente responsável. A farmácia comercializa,
em cada filial, dois tipos de produtos: medicamentos e produtos de perfumaria. Todos
os produtos possuem um código, nome e preço. No caso dos medicamentos, os
mesmos possuem o nome do labotatorio, farmeceutico responsavel, data de validade
e uma classificação como o tipo de faixa (preta, vermelha, etc) em que se enquadra o
remédio. Os perfumes por sua vez são categorizados em Masculino, Feminino e Intantil. Toda
venda de produto para um cliente deve ter data, nome do cliente, valor da venda e forma de
pagamento que pode ser feita com cartao de credito, cartao de debito ou dinheiro. Uma venda
de medicamento pode ser feita a um cliente, com ou sem receita médica, sendo que os
medicamentos que são vendidos somente com receita médica precisam ter tipo de faixa
preta. Os dados da receita são data da receita, nome do paciente e CRM do médico. Todos os
medicamentos são fornecidos por um determinado fabricante, que pode fornecer muitos
medicamentos. Os dados do fabricante são: CNPJ, nome do fabricante, endereço, telefone e
email.
77
Exercicio-02
Pede-se:
– Identifique as entidades
– Identifique os relacionamentos entre as
entidades
– Identifique os atributos das entidades e
relacionamentos, se houver.
– Identifique as Regras de Negócio
- Elabore o diagrama de entidade e
relacionamentos para o mini-mundo
78
Exercicio-02
Dado o Mini Mundo abaixo sobre uma Consulta Médica:
 Cada Receita pode conter muitos Remédios
 Cada Remédio pode estar em inúmeras Receitas
 A Receita é cadastrado por: Número, Data, Tipo e
Controle
O campo Controle indica se a receita é controlada ou
não
 Não existem 2 Receitas com o mesmo Número
79
Exercicio-02
O Remédio é registrado por: Código, Nome, Fabricante, Preço e Obs
O campo Observação registra bastantes dados sobre o Remédio
 Não existem 2 Remédios com o mesmo Código
 Em cada Receita pode existir um Prazo e uma Dosagem diferente
para cada Remédio
 Cada Médico pode fazer várias Receitas
 Cada Receita pode ser feita por apenas um Médico
 O Médico é armazenado por: Crm, Nome, Email, Fone de contato e
Endereço completo
 Não existem 2 Médicos com o mesmo Crm
80
81
EXERCICIO-03-1
Elabore um diagrama de entidade e relacionamentos para atender as
necessidades de informação de uma biblioteca universitária. São elas:
· O cadastro dos usuários com endereço completo, inclusive com a informação
do curso do usuário e data de início e de término previsto;
· Cada usuário poderá fazer empréstimo de uma ou mais obras. Cada obra
poderá ser emprestada mais de uma vez ao mesmo usuário.
· O cadastro das obras que constam no acervo da biblioteca, com o titulo,
codigo ISBN, ano de publicacao, edição, editora, autor e a devida classificação.
As obras são clasificadas como: livros científicos, coleções, matemarica,
historia, filosofia, economia, administracao e negocios, engenharia, sociologia,
literatura, artes, periódicos científicos, periódicos informativos,
entretenimento, etc.;
82
83 EXERCICIO-03-1
A língua em que encontra-se a obra. Exemplo: inglês, espanhol, português, etc.;
· O(s) autor(es) da obra, ou seja, cada obra poderá possuir um ou mais autores e cada
autor poderá ter escrito uma ou mais obras. Para o cadastro de autores deverão constar o
nome e a nacionalidade do mesmo;
· As editoras das obras com a respectiva cidade. Cada editora poderá estar ligado a uma
ou mais obras porém cada obra está associada a somente uma editora.
EXERCICIO-03-1
Para resolver o caso acima, siga os passos:
1 - Identifique as entidades que deverão ser criadas.
2 - Efetue os relacionamentos entre as entidades
identificadas
3 - Identifique para cada entidade e relacionamento os
atributos;
4 - Identifique para cada entidade o atributo que será
o identificador das ocorrencias da entidade;
84
EXERCICIO – 03-02
 Faça um Diagrama Entidade-Relacionamento que represente o mini-mundo abaixo:
 Uma companhia de transporte é responsável pela entrega de remessas de armazéns para depósitos de uma
empresa de varejo.
Os armazéns e os depósitos são identificados por números e atualmente existem 6 localizações de armazéns e
45 de depósitos.
 Um caminhão pode carregar várias remessas durante uma viagem e levar remessas para múltiplos depósitos
(saindo de um armazém origem e chegando a vários depósitos destinos).
 Uma viagem é identificada por um número e é necessário manter informações sobre peso (massa) e volume
da viagem.
 Cada remessa é identificada pelo número da remessa e inclui dado sobre volume, peso (massa) e destino da
remessa.
 O caminhão é identificado pelo código da licença e tem diferentes capacidades para volume e peso (massa)
que eles podem carregar.
 A companhia possui atualmente 150 caminhões e cada caminhão faz em média 3 a 4 viagens por semana.
85
EXERCICIO – 03
 Considere a seguinte informação sobre a base de dados de uma universidade:
 Os professores têm um número de contribuinte, um nome, uma idade, um posto, e
uma especialidade de investigação.
 Existem projectos que têm um número, um organismo financiador, uma data de início,
uma data de final, e um orçamento.
 Os estudantes de pós-graduação têm um número de contribuinte, um nome, uma
idade, e um plano de curso (ex. mestrado, doutoramento).
 Cada projecto é gerido por um professor (o investigador principal do projecto).
 Cada projecto tem a participação de um ou mais professores.
 Os professores podem gerir e/ou trabalhar em vários projectos.
 Cada projecto tem um ou mais estudantes de pós-graduação (conhecidos como os
assistentes de investigação).
86
EXERCICIO – 03
 Sempre que um estudante de pós-graduação trabalha num projeto, terá que existir um
professor a supervisionar esse trabalho. Os estudantes podem trabalhar em vários
projetos com supervisores eventualmente diferentes.
 Os departamentos têm um número, um nome, e um escritório principal.
 Os departamentos são liderados por um professor.
 Os professores podem trabalhar num ou mais departamentos. Associada a cada uma
destas funções está uma percentagem do seu tempo.
 Os estudantes de pós-graduação estão associados a um departamento no qual fazem o
seu curso.
 Cada estudante de pós-graduação tem um outro estudante mais velho que é o seu
aconselhador.
 Desenhe o diagrama de entidades e relacionamentos para este problema.
87
88
Modelo logico – Diferentemente do modelo conceitual, que
contempla o ambiente da empresa e as Entidades desse ambiente, o
modelo lógico tem sua definição baseada no SGBD escolhido. Nesse
caso, o modelo escolhido será o modelo Relacional. De acordo com
Cougo (1997,p 29) :
Define-se como modelo logico de dados (MLD) aquele em que os
objetivos, suas características tem e relacionamentos tem têm a
representação de acordo com as regras de implementação e limites
impostos por algum tipo de tecnologia.
MODELAGEM DE DADOS

Mais conteúdo relacionado

Mais procurados

Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Caderno de info(banco de dados).
Caderno de info(banco de dados).Caderno de info(banco de dados).
Caderno de info(banco de dados).Ajudar Pessoas
 
Aula tecnologia da informacao 6 banco de dados
Aula tecnologia da informacao 6 banco de dadosAula tecnologia da informacao 6 banco de dados
Aula tecnologia da informacao 6 banco de dadoswapiva
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel Brandão
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosdiogocbj
 
Access diapositivos aula nº 1 e 2
Access diapositivos aula nº 1 e 2Access diapositivos aula nº 1 e 2
Access diapositivos aula nº 1 e 2Filipa Cordeiro
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dadosmgoberto
 
BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS Antonio Pedro
 
Livro banco de_dados_volume_02
Livro banco de_dados_volume_02Livro banco de_dados_volume_02
Livro banco de_dados_volume_02CLEAN LOURENÇO
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dadosessa
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados ConceitosCleber Ramos
 

Mais procurados (20)

Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Aula 1
Aula 1Aula 1
Aula 1
 
Introdução a Bancos de Dados
Introdução a Bancos de DadosIntrodução a Bancos de Dados
Introdução a Bancos de Dados
 
Caderno de info(banco de dados).
Caderno de info(banco de dados).Caderno de info(banco de dados).
Caderno de info(banco de dados).
 
Apostila banco de dados
Apostila banco de dadosApostila banco de dados
Apostila banco de dados
 
Aula tecnologia da informacao 6 banco de dados
Aula tecnologia da informacao 6 banco de dadosAula tecnologia da informacao 6 banco de dados
Aula tecnologia da informacao 6 banco de dados
 
Aula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de DadosAula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de Dados
 
Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel Brandão
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Banco de dados aula1
Banco de dados aula1Banco de dados aula1
Banco de dados aula1
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
Access diapositivos aula nº 1 e 2
Access diapositivos aula nº 1 e 2Access diapositivos aula nº 1 e 2
Access diapositivos aula nº 1 e 2
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Apostila modelagem de banco de dados
Apostila modelagem de banco de dadosApostila modelagem de banco de dados
Apostila modelagem de banco de dados
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dados
 
BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS BANCO DE DADOS RELACIONAIS
BANCO DE DADOS RELACIONAIS
 
Livro banco de_dados_volume_02
Livro banco de_dados_volume_02Livro banco de_dados_volume_02
Livro banco de_dados_volume_02
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dados
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
 

Semelhante a Aula banco de dados

Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
SLIDE 1 PARTE 01 - BANCO DE DADOS.pptx
SLIDE 1 PARTE 01 - BANCO DE DADOS.pptxSLIDE 1 PARTE 01 - BANCO DE DADOS.pptx
SLIDE 1 PARTE 01 - BANCO DE DADOS.pptxCesarDias26
 
Conceitos Base_de_Dados.pdf
Conceitos Base_de_Dados.pdfConceitos Base_de_Dados.pdf
Conceitos Base_de_Dados.pdfticepcCapelas
 
Novo microsoft office power point presentation
Novo microsoft office power point presentationNovo microsoft office power point presentation
Novo microsoft office power point presentationmachadocarla
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Carlos Melo
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Januário Neto
 
Apostila Modelagem e Desenvolvimento de Banco de Dados.pdf
Apostila Modelagem e Desenvolvimento de Banco de Dados.pdfApostila Modelagem e Desenvolvimento de Banco de Dados.pdf
Apostila Modelagem e Desenvolvimento de Banco de Dados.pdfFlvioMachadoLobo
 
FLTK Summer Course - Part VII - Seventh Impact
FLTK Summer Course - Part VII  - Seventh ImpactFLTK Summer Course - Part VII  - Seventh Impact
FLTK Summer Course - Part VII - Seventh ImpactMichel Alves
 
Universidade federal do amazonas Banco de Dados - Apresentação final
Universidade federal do amazonas   Banco de Dados - Apresentação finalUniversidade federal do amazonas   Banco de Dados - Apresentação final
Universidade federal do amazonas Banco de Dados - Apresentação finalRenan Levy
 
Sistema de Base de Dados1.ppt
Sistema de Base de Dados1.pptSistema de Base de Dados1.ppt
Sistema de Base de Dados1.ppthhuu6
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)Andre Sidou
 
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdfAPOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdfLinaKelly2
 
Apostila Access 2000.pdf
Apostila Access 2000.pdfApostila Access 2000.pdf
Apostila Access 2000.pdfssuser382e50
 
Apostila de Sql Server 2005
Apostila de Sql Server 2005Apostila de Sql Server 2005
Apostila de Sql Server 2005Andre Nascimento
 

Semelhante a Aula banco de dados (20)

Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Sistema de banco_de_dados
Sistema de banco_de_dadosSistema de banco_de_dados
Sistema de banco_de_dados
 
SLIDE 1 PARTE 01 - BANCO DE DADOS.pptx
SLIDE 1 PARTE 01 - BANCO DE DADOS.pptxSLIDE 1 PARTE 01 - BANCO DE DADOS.pptx
SLIDE 1 PARTE 01 - BANCO DE DADOS.pptx
 
Conceitos Base_de_Dados.pdf
Conceitos Base_de_Dados.pdfConceitos Base_de_Dados.pdf
Conceitos Base_de_Dados.pdf
 
Sql - introdução
Sql -  introduçãoSql -  introdução
Sql - introdução
 
Novo microsoft office power point presentation
Novo microsoft office power point presentationNovo microsoft office power point presentation
Novo microsoft office power point presentation
 
Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1Concepcao de banco_de_dados-aula_1
Concepcao de banco_de_dados-aula_1
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
eduardo teste ubc
eduardo teste ubceduardo teste ubc
eduardo teste ubc
 
Ara7129 unidade-1-v1
Ara7129 unidade-1-v1Ara7129 unidade-1-v1
Ara7129 unidade-1-v1
 
Apostila Modelagem e Desenvolvimento de Banco de Dados.pdf
Apostila Modelagem e Desenvolvimento de Banco de Dados.pdfApostila Modelagem e Desenvolvimento de Banco de Dados.pdf
Apostila Modelagem e Desenvolvimento de Banco de Dados.pdf
 
Bancodedados
BancodedadosBancodedados
Bancodedados
 
FLTK Summer Course - Part VII - Seventh Impact
FLTK Summer Course - Part VII  - Seventh ImpactFLTK Summer Course - Part VII  - Seventh Impact
FLTK Summer Course - Part VII - Seventh Impact
 
Universidade federal do amazonas Banco de Dados - Apresentação final
Universidade federal do amazonas   Banco de Dados - Apresentação finalUniversidade federal do amazonas   Banco de Dados - Apresentação final
Universidade federal do amazonas Banco de Dados - Apresentação final
 
Sistema de Base de Dados1.ppt
Sistema de Base de Dados1.pptSistema de Base de Dados1.ppt
Sistema de Base de Dados1.ppt
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
 
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdfAPOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
APOSTILA 1 _ ADMINISTRADOR DE BANCO DE DADOS (1).pdf
 
Apostila Access 2000.pdf
Apostila Access 2000.pdfApostila Access 2000.pdf
Apostila Access 2000.pdf
 
Apostila de Sql Server 2005
Apostila de Sql Server 2005Apostila de Sql Server 2005
Apostila de Sql Server 2005
 

Aula banco de dados

  • 1. BANCO DE DADOS AULA – 03 – PROF. DAVID FELIPE SANTOSOLIVEIRA
  • 2. DEFINIÇÃO – BANCO DE DADOS 2 Um banco de dados é uma estrutura logica que armazena um conjunto de dados. O que é um dado ? “ Definimos dados como uma representação simbólica ( isto é, feita por um meio de símbolos) quantificada ou quantificável.” (SETZER;SILVA,2012,p.2) Um dado pode assumir varias formas, se alguém disser “dois”,, “azul”, “avião ” e “IV”. Todos estes são representações de textos ou símbolos, portanto eles são dados. Uma letra, um texto ou um gráfico também são dados.
  • 3. DEFINIÇÃO – BANCO DE DADOS 3 O banco de dados é uma estrutura logica, isto é , um software que armazena os dados de uma empresa qualquer. Quando o usuário requisita estes dados através no do sistema, eles são expostos de forma organizada na tela do computador de forma que se tornem informações ou seja, tenham sentido. Um banco de dados ou base de dados BD é uma coleção de dados ou informações relacionadas entre si . GUIMARÃES (2012,p.19).
  • 4. DEFINIÇÃO – BANCO DE DADOS 4 Para exemplificar a utilização de um BD, imagine uma concessionaria e a sua coleção de carros que estão a venda no pátio. Poderia se dizer que esta empresa tem um sistema de revendas de veículos e naturalmente seu BD vai ter os registros de cada um deles. Quando um cliente entrar na loja para comprar um carro, o vendedor consulta as informações a respeito daquele veiculo em seu sistema. Essa consulta utiliza a interface do sistema para acessar o BD e retornar essas informações organizadas em forma de lista (TABELA 1) .
  • 7. DEFINIÇÃO BANCO DE DADOS  De acordo com DATE (2004,p.9) existem três classes gerais de usuários. 1. Primeiro, a os programadores de aplicações, responsáveis pela escrita de programas de aplicações de banco de dados em alguma linguagem de programação. 2. Em seguida os usuários finais, que acessam o banco de dados interativamente. 3. O administrador de Banco de Dados, ou DBA (de DATA BASE ADMINISTRATOR). 7
  • 8. SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD). 8
  • 9. SGBD Definição: Sistema Gerenciador de Banco de Dados é uma coleção de programas que permitem aos usuários definirem, construírem e manipularem uma base de dados para o uso das diversas aplicações. 9
  • 10. SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD). 10
  • 11. SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD). 11 O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. É atualmente um dos bancos de dados mais populares , com mais de 10 milhões de instalações pelo mundo. Entre os usuários do banco de dados MySQL estão: NASA, Friendster, Banco Bradesco, Dataprev, HP, Nokia,Sony, Lufthansa, U.S. Army, U.S. Federal Reserve Bank, Associated Press, Alcatel, Slashdot, Cisco Systems,Google e outros. O Oracle é basicamente uma ferramenta cliente/servidor para a gestão de Bases de Dados. É um produto vendido a nível mundial, embora a grande potência que tem e seu elevado preço, faz com que só se veja em empresas muito grandes e multinacionais, por norma geral. No desenvolvimento de páginas web acontece o mesmo: como é um sistema muito caro não está tão espalhado como outras bases de dados, por exemplo, Access, MySQL, SQL Server, etc.
  • 12. SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD). 12 O MS SQL Server é um SGBD - sistema gerenciador de Banco de dados relacional desenvolvido pela Microsoft. Foi criado em parceria com a Sybase em 1988 inicialmente para a plataforma OS/2 . Esta parceria durou até 1994, com o lançamento da versão para Windows NT e desde então a Microsoft mantém a manutenção do produto. Como um Banco de dados, é um produto de software cuja principal função é a de armazenar e recuperar dados solicitados por outras aplicações de software, seja aqueles no mesmo computador ou aqueles em execução em outro computador através de uma rede (incluindo a Internet). O DB2 é um Sistema Gerenciador de Banco de Dados Relacionais (SGDBR) produzido pela IBM. Existem diferentes versões do DB2 que rodam desde num simples PDA |computador de mão, até em potentes mainframes e funcionam em servidores baseados em sistemas Unix,Windows, ou Linux. O PostgreSQL é um sistema de gerenciamento de banco de dados objeto-relacional (SGBDOR), baseado no POSTGRES Versão 4.2 desenvolvido pelo Departamento de Ciência da Computação da Universidade da Califórnia em Berkeley. O POSTGRES foi pioneiro em vários conceitos que somente se tornaram disponíveis muito mais tarde em alguns sistemas de banco de dados comerciais.
  • 13. SISTEMA GERENCIADOR DE BANCO DE DADOS (SGBD). 13
  • 14. ESTRUTURA DE UM BANCO DE DADOS Em termos de armazenamento de dados, um banco de dados é composto de Tabelas, Colunas e Linhas. Vamos verificar o conceito de cada um.  Tabelas (ou entidades ou relação) Nos modelos de base de dados relacionais, uma tabela é um conjunto de dados com um número determinado de colunas (ou campos) e um número infinito de linhas (ou registros ou tuplas). Um banco de dados é composto de uma ou mais tabelas (podemos chamar também de entidades), que uma forma comum de armazenagem de dados na empresa. O correto é que, através de um processo de modelagem de dados bem feito, todos os dados necessários ao negócio fiquem organizados nestas tabelas. A criação de cada tabela de um banco de dados, deverá ser feita com coerência e verificando o “assunto” que cada tabela irá armazenar. Cada tabela deve armazenar dados relacionados com apenas um assunto ou conceito do negócio. 14
  • 15. ESTRUTURA DE UM BANCO DE DADOS  Colunas (ou atributos) Cada tabela possui colunas (ou podemos chamar campos), que são os nomes dos dados que serão armazenados. coluna representa uma informação ou atributo da linha. Cada campo (ou atributo) possuem propriedades, como por exemplo o tipo de dados a ser armazenado (caracter, numérico, data), se é de preenchimento obrigatório e o tamanho. 15
  • 16. ESTRUTURA DE UM BANCO DE DADOS Linhas (ou tuplas ou ocorrência de entidade) As tabelas (ou entidades) também possuem linhas (ou tuplas) que são os registros contendo dados que estão armazenados em cada campo da tabela. Então podemos dizer que tabela (ou entidade) é: – Um objeto criado para armazenar os dados fisicamente – Os dados são armazenados em linhas (tuplas) e colunas (atributos) – Os dados de uma tabela normalmente descrevem um único assunto tal como clientes, vendas, produtos, curso, disciplina, bilhete, filme, cinema, sessão, viagem, hotel, voo, etc. 16
  • 17. MODELAGEM DE DADOS 17 Para quem não sabe, a modelagem de dados é um processo no qual você projeta ou planeja o modelo a ser utilizado para a construção da sua base de dados (BANCO DE DADOS), de forma que reflita os conceitos do negócio a ser atendido. É muito importante que haja um perfeito entendimento e compreensão das necessidades de informação do negócio que está sendo atendido pelo projeto do banco de dados. Para isso, é necessário um bom levantamento de requisitos, atividade que é feita pelo analista de requisitos que atua junto ao analista de negócios a fim de descobrir os requisitos de informação que devem ser atendidos no projeto do banco de dados.
  • 18. MODELAGEM DE DADOS Qual o objetivo da modelagem de dados? Por que modelar os dados do ambiente de negócios? - Representar os conceitos do ambiente de negócios observado - Documentar e normalizar os dados no modelo de dados - Fornecer processos de validação - Observar fatos no ambiente de negócios e identificar relacionamentos entre os objetos do ambiente de negócios. - Representar as regras de negócio que regulam os processos no ambiente de negócios 18
  • 19. MODELAGEM DE DADOS Modelagem de dados – Funciona como receita, isto é, uma preparação para criação de um banco de dados propriamente dito. A modelagem precede a criação do BD. É imprescindível conhecer e entender seu funcionamento . A mesma dividida em três partes.  A parte inicial é independente do SGBD , ou seja, o modelo é mais teórico a ponto de não interferir na escolha da tecnologia a ser aplicada. A partir do modelo logico o quadro muda pois a tecnologia passa a ditar as regras do desenvolvimento, tornando o modelo mais especificamente voltado para o SGBD. Figura a seguir retrata essa separação. 19
  • 21. MODELAGEM DE DADOS  Modelo conceitual – levantamento de requisitos é o nome dado à tarefa de analisar o ambiente, aplicar a abstração e transformar o resultado da analise em um modelo chamado de conceitual. Esse modelo cria o conceito, isto é, as definições principais da empresa em relação a necessidade. É como se fosse um espelho da empresa, detalhando cada objeto importante dentro do ambiente observado.  Os modelos de dados conceituais utilizam conceitos como entidades, atributos e relacionamentos. Uma entidade representa um objeto do mundo real ou um conceito, como um funcionário ou um projeto, que são descritos no banco de dados. Um atributo corresponde a alguma propriedade de interesse que ajuda a descrever uma entidade, como o nome do funcionário ou seu salário. O relacionamento entre duas ou mais entidades mostra uma associação entre estas: por exemplo, um relacionamento trabalha- em de um funcionário com um projeto. 21
  • 22. MODELAGEM DE DADOS  Modelo Conceitual  • usados na descrição do banco de dados.  • Independente de implementação e SGBD.  • Descrição mais abstrata do banco de dados.  • É o ponto de partida para o projeto  • Ex.: MER 22
  • 23. MODELO E-R Modelo baseado na percepção do mundo real, que consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos entre esses objetos Facilitar o projeto de banco de dados, possibilitando a especificação da estrutura lógica geral do banco de dados dfelipe.developer@gmail.com 23
  • 24. MODELO E-R Imagine o funcionamento de interno de uma agencia bancaria. Existem os clientes e as contas bancarias. Ambos são Entidades desse Ambiente, pois ambos são dados importantes que precisam ser armazenados para o uso posterior. Ficam então as duas ENTIDADES : CLIENTES e CONTAS.Veja o modelo abaixo exposto na figura 10 . 24
  • 25.  Nesse exemplo da agência bancária, o que o modelo conceitual acima está indicando é que :  No ambiente existem Clientes e Contas Corrente.  Um cliente pode ter várias Contas Corrente. Já o modelo logico é mais especifico para cada metodologia o modelo relacional foi escolhido para este caso. Para representar o modelo relacional são utilizadas as tabelas. O modelo logico reflete a estrutura real do SGBD. 25 MODELO E-R
  • 26. ENTIDADES - DEFINIÇÃO São objetos do “mundo real” sobre os quais deseja-se manter informações no banco de dados. Conjunto de objetos (coisas, tudo que é perceptível, manipulável) da realidade modelada sobre os quais deseja-se manter informações no banco de dados. Uma entidade tem um conjunto de propriedades, e os valores para alguns conjuntos dessas propriedades devem ser únicos. Uma entidade pode ser completa, como uma pessoa ou um livro, ou pode ser abstrata como um empréstimo, uma viagem de férias ou um conceito. 26
  • 27.  As entidades no modelo ER são representadas por um retângulo e dentro do retângulo encontra-se o nome da entidade. Como em uma empresa podem existir várias entidades, vários retângulos podem aparecer em um mesmo modelo ER.Veja a figura 12 que retrata entidades de um ambiente escolar.  Nessa figura apenas algumas entidades do ambiente estão sendo destacadas. A depender da necessidade, outras entidades poderão surgir. Contudo o modelo ER não se define apenas em exibir as entidades no diagrama. Estas entidades possuem outras propriedades que são deveras importantes. 27 ENTIDADES - DEFINIÇÃO
  • 28. ESTRATÉGIAS PARA RECONHECER ENTIDADES As coisas tangíveis: aquilo que pode ser tocado. – avião, carro, cachorro, gato, livro, caderno.... Funções: todo o tipo de papel, atribuição, classificação, ou outra característica qualquer que para um dado elemento, especifique não sua existência mas sua atuação no ambiente em que está inserido. – Departamento de uma empresa, oautor de um livro, um médico Eventos ou ocorrências: são ações ou fatos que uma vez ocorrendo possuem características próprias sobre as quais podemos fazer alguma referência. – um vôo comercial, um acidente de trânsito, um jogo de futebol... 28
  • 29. ATRIBUTOS Uma entidade é representada por um conjunto de atributos Para cada atributo há um conjunto de valores permissíveis (domínio). – Um atributo é um dado que é associado a cada ocorrência de uma entidade ou de um relacionamento Atributos e valores, juntos, descrevem as instâncias/ocorrências de uma entidade 29
  • 30. ENTIDADES E ATRIBUTOS Entidades e Seus Atributos. O objeto básico que o modelo ER representa é uma entidade, 'algo' do mundo real, com uma existência independente. Uma entidade pode ser um objeto com uma existência física (por exemplo, uma pessoa, um carro, uma casa ou um funcionário) ou um objeto com uma existência conceitual (por exemplo, uma empresa, um trabalho ou um curso universitário). Cada entidade tem atributos — propriedades particulares que a escrevem. Por exemplo, uma entidade empregado pode ser descrita pelo nome do empregado, idade, endereço, salário e trabalho (função). Uma dada entidade terá um valor para cada um de seus atributos. Os valores dos atributos que descrevem cada entidade se tornarão a maior parte dos dados armazenados no banco de dados. 30
  • 31. ENTIDADES E ATRIBUTOS A Figura mostra duas entidades e os valores de seus atributos. A entidade empregado ej tem quatro atributos: Nome, Endereço, Idade e FoneResidencial; seus valores são 'John Smith', '2311 Kirby, Houston, Texas 77001', '55' e '713-749-2630', respectivamente. A entidade empresa que possui três atributos: Nome, Sede e Presidente. Seus valores são 'Sunco Oil', 'Houston' e 'John Smith', respectivamente. 31
  • 33. ATRIBUTOS Todos atributos representados por um circulo com o nome do atributo dentro e uma seta indicando para qual entidade ele serve. As entidades podem ter inúmeros atributos que a representem. Um atributo é algo especifico da entidade. Basicamente atributos são características que identificam e representam o próprio objeto (entidade). Toda entidade do ambiente possuí suas características e essa é uma das provas de que realmente o elemento abstraído do ambiente seja de fato uma entidade, ou seja, significa que tais informações, isto é, seus atributos, precisam ser armazenados. 33
  • 34. ATRIBUTOS Propriedades que descrevem entidades. Exemplo de atributos para entidade escritor: • Nome • Nacionalidade • Data de nascimento • Local de nascimento • Data de morte • Heterônimo Todo objeto para ser uma entidade possui atributos e seus valores. –Vamos imaginar um funcionário de uma empresa. O que caracteriza o funcionário? 34
  • 35. ATRIBUTOS Valores de atributos para entidade escritor: Nome: Fernando Pessoa Nacionalidade: portuguesa Data de nascimento: 13 de Junho de 1888 Local de nascimento: Lisboa Data de morte: 30 de Novembro de 1935 Heterônimo: Álvaro de Campos, Ricardo Reis, Alberto Caeiro 35
  • 37. ATRIBUTOS Dado que é associado a cada ocorrência de uma entidade ou de um relacionamento. Os atributos são as propriedades das entidades ou de um relacionamento. 37
  • 38. ATRIBUTOS - RELACIONAMENTO 38 Observe abaixo a figura para um exemplo de RELACIONAMENTO com atributos. O que pode ser conferido na figura acima é que o prazo , o preço e a quantidade dependem diretamente das outras duas entidades. Ou seja, para estabelecer um prazo, um preço ou a quantidade, depende do material e também do fornecedor. Um fornecedor pode dar 30 dias de prazo para o pagamento, já outro pode oferecer 60 dias sobre o mesmo produto. Nesse caso mudou o fornecedor e alterou o prazo , porém o material permaneceu o mesmo.
  • 39. ATRIBUTO SIMPLES –Ocorre quando uma característica da entidade é representada por um único atributo. Exemplo: Matricula, Nome, Sexo, Salário. 39
  • 40. ATRIBUTO COMPOSTO É Composto de outros atributos (endereço composto de (rua, cidade, CEP); Os atributos compostos podem ser divididos em subpartes menores, que representam a maioria dos atributos básicos com significados independentes. Por exemplo, o atributo Endereço da entidade empregado, mostrado na Figura 3.3, pode ser subdividido em Endereco Rua, Cidade, Estado e CEP, com os valores '2311 Kirby', 'Houston', 'Texas' e '77001'. 40
  • 41. ATRIBUTO COMPOSTO Os atributos compostos são úteis para modelar as situações nas quais o usuário algumas vezes se refere ao atributo como um grupo e, em outras ocasiões, se refere especificamente a um de seus componentes. Se o atributo composto é referenciado apenas como um todo, não há necessidade de subdividi-lo em atributos componentes. Por exemplo, se não é necessário referir-se a um componente individual de um endereço (CEP, rua, e assim por diante), então o endereço pode ser definido como um atributo simples. Outro exemplo é data de nascimento. 41
  • 42. ATRIBUTO MULTIVALORADO Os atributos multivalorados são tratados pelos seus detalhes, seu conteúdo é formado por mais de um valor. Exemplo: Telefone. Um empregado poderá ter mais de um número de telefone. Um atributo multivalorado deve ter limite inferior e superior para restringir o número de valores permitidos a cada entidade individual. Por exemplo, o atributo Cor de um carro pode ter entre um e três valores, se presumirmos que um carro possa ter, no máximo, três cores. 42
  • 43. OUTROS TIPOS DE ATRIBUTOS Atributos Armazenados versus Derivados. Em alguns casos, dois (ou mais) valores de atributos estão relacionados — por exemplo, os atributos Idade e DataNascimento de uma pessoa. Para uma entidade pessoa em particular, o valor de Idade pode ser determinado pela data corrente (hoje) e o valor de DataNascimento da pessoa. Portanto, o atributo Idade é chamado atributo derivado, e é dito derivado do atributo DataNascimento, que, por sua vez, é chamado atributo armazenado. Alguns valores de atributos podem ser derivados de entidades relacionadas; por exemplo, um atributo NumerodeEmpregados, de uma entidade departamento, pode ser derivado da contagem do número de empregados relacionados (que trabalham) nesse departamento. 43
  • 44. OUTROS TIPOS DE ATRIBUTOS Atributo null: por exemplo, uma entidade professor pode não ter telefone celular. Em alguns casos, determinada entidade pode não ter um valor aplicável a um atributo. Por exemplo, o atributo Apartamento de um endereço se aplica apenas a endereços que estão em edifícios de apartamentos, e não a outros tipos de residência, como as casas. Por analogia, um atributo Titulação só se aplica a pessoas com titulação acadêmica. Para essas situações é criado um valor especial chamado null (nulo). Um endereço de uma casa teria valor null para seu atributo Apartamento, e uma pessoa sem titulação acadêmica teria valor null para Titulação. O valor null pode ser usado também quando não conhecemos o valor de um atributo para uma entidade em particular; por exemplo, se não soubermos o telefone residencial de 'John Smith', na Figura 3.3. O sentido do primeiro tipo de null corresponde a não aplicável, ao passo que o sentido do último se refere a desconhecido. A categoria 'desconhecido' de null pode ser, ainda, classificada em dois casos. O primeiro aparece quando se sabe que o valor do atributo existe mas está faltando — por exemplo, se o atributo Altura de uma pessoa é dado como null. O segundo caso surge quando não se sabe se o valor do atributo existe — por exemplo, se o atributo FoneResidencial de uma pessoa é null. 44
  • 45. OUTROS TIPOS DE ATRIBUTOS Atributo Identificador (Chave) - Atributo (ou combinação de atributos) que identifica univocamente uma instância de Entidade uma entidade pode tem mais de uma 45
  • 46. RELACIONAMENTOS Relacionamento é uma associação entre entidades Cada tipo entidade que participa de um tipo relacionamento executa um papel no relacionamento. Papéis não são necessários em relacionamentos cujas entidades associadas sejam distintas. Exemplos de Relacionamento : 46
  • 47. Relacionamento: É uma associação entre entidades Representado através de um losângulo e linhas que ligam as entidades relacionadas 47 nomeDoRelacionamento A B RELACIONAMENTOS
  • 48.  Como expressamos que João trabalha no Departamento de Contabilidade? 48 Empregado Departamento Lotação João Pedro Paulo Maria Contabilidade Financeiro Jurídico Pessoal Diagrama de Ocorrências (instâncias) RELACIONAMENTOS
  • 49. Relacionamentos  Exemplos de Relacionamentos 49 Cliente Conta ContaCliente Medico Paciente Consulta Cidade Residência
  • 50. Relacionamentos com Atributos  Exemplo I 50 Médico’ Paciente Consulta dataDaConsulta nome celular nome endereço Dr. Paulo Dr. Flora Vania José 22/10/2007 05/02/2009 20/03/2009 esquema instâncias
  • 52. CARDINALIDADES A cardinalidade é um conceito importante para ajudar a definir o relacionamento, ela define o número de ocorrências em um relacionamento. Para determinarmos a cardinalidade, deve-se fazer algumas perguntas relativa ao relacionamento em ambas às direções. Especifica o número máximo de instâncias de relacionamento em que uma entidade pode participar: • um-para-um (1:1) • um-para-muitos (1:N) • ou muitos-para-um(N:1) • muitos-para-muitos (N:M) 52
  • 54. Relacionamento Um para Um – 1:1 54  Uma ocorrência de A está associada a no máximo uma ocorrência de B, e uma ocorrência em B está associada a no máximo uma ocorrência em A. João Pedro Paulo Maria Jurídico Contabilidade Financeiro Conjunto A (Empregado) Conjunto B (Departamento) Empregado Departamento Gerencia 1 1
  • 55. Relacionamento Um para Muitos – 1:N 55  Uma ocorrência de A está associada a várias ocorrências de B, porém uma ocorrência de B deve estar associada a no máximo uma ocorrência em A Conjunto A (Departamento) Empregado Departamento Lotação N 1 Contabilidade Financeiro Ana Pedro João Sandro Conjunto B (Empregado)
  • 56. Relacionamento Muitos para Muitos – M:N ou N:N 56  Uma ocorrência de A está associada a qualquer número de ocorrências de B, e uma ocorrência em B está associada a qualquer número de ocorrências em A Sigmoda MM-TOM Sinpli AATOM Conjunto A (Empregado) Conjunto B (Projeto) Empregado Projeto Atua N N João Pedro Paulo Maria
  • 57. Cardinalidade Mínima O modelo ER permite expressar cardinalidades mínimas e máximas em cada relacionamento Cardinalidade Mínima: número mínimo de ocorrências de uma entidade A com relação a uma outra entidade B Representação: (cardinalidade mínima, cardinalidade máxima) Cardinalidades Possíveis: (1,1); (1,N); (0,1);(0,N);(N,N) Cardinalidade mínima = 1 (relacionamento obrigatório) Cardinalidade mínima = 0 (relacionamento opcional) 57
  • 58. Cardinalidade Mínima e Máxima 58 Cliente Conta ContaCliente (1,1) (1,N)  Exemplo de Relacionamento Obrigatório:  cada ocorrência de cliente está relacionado a no mínimo quantas contas e no máximo quantas contas?  Cada ocorrência de conta está relacionada a no mínimo quantos clientes e no máximo quantos clientes?  Exemplo de Relacionamento Opcional: Empregado Departamento Gerencia (1,1) (0,1)
  • 59. Atributos também podem ter Cardinalidade  Monovalorado: possui um valor único em uma entidade  Exemplo: nome  Multivalorado: possui mais de um valor para cada ocorrência da entidade  Exemplo: telefone 59 Empregado telefone (0,N) nome Endereço Salário Empregado nome Endereço Salário
  • 60. Atributos também podem ter Cardinalidade 60
  • 64. EXERCICIO - CARDINALIDADES  Identifique a cardinalidade dos relacionamentos através do diagrama de ocorrências.  64
  • 65. 65
  • 66. 66
  • 68. • O Supermercado possui vários funcionários. Esses funcionários são identificados por um código. Ainda serão registrados nesses funcionários o nome de cada um, o cargo que eles ocupam, o salário e o telefone. • O Supermercado ainda deseja guardar as informações de seus fornecedores. Eles devem possuir um código para identificá-los, o nome da empresa fornecedora, o endereço e os telefones disponíveis da mesma empresa para contato. • O Supermercado também exige que o sistema em questão guarde as vendas ocorridas entre os fornecedores e o próprio supermercado.Tal venda deve conter um código de identificação, qual funcionário participou dessa venda, qual a empresa que vendeu o vendeu o produto, o valor total da venda e a data que a mesma ocorreu. Estudo de Caso: Um Supermercado 68
  • 69. Relembrando: – O Supermercado possui vários funcionários. Esses funcionários são identificados por um código. Ainda serão registrado nesses funcionários o nome de cada um, o cargo que eles ocupam, o salário e o telefone. 69
  • 70. O Supermercado ainda deseja guardar as informações de seus fornecedores. Eles devem possuir um código para identificá-los, o nome da empresa fornecedora, o endereço e os telefones disponíveis da mesma empresa para contato. 70
  • 71. O Supermercado também exige que o sistema em questão guarde as vendas ocorridas entre os fornecedores e o próprio supermercado. Tal venda deve conter um código de identificação, qual funcionário participou dessa venda, qual a empresa que vendeu o produto, o valor total da venda e a data que a mesma ocorreu. 71
  • 72. CARDINALIDADE  Cardinalidades  A cardinalidade é um conceito importante para ajudar a definir o relacionamento, ela define o número de ocorrências em um relacionamento.  Para determinarmos a cardinalidade, deve-se fazer algumas perguntas relativa ao relacionamento em ambas às direções. 72
  • 73. Exercicio-01 EXERCÍCIOS 1 ) Faça a análise dos problemas abaixo e identifique as cardinalidades máximas e mínimas. Faça a representação gráfica(modelagem) . Não esqueça das perguntas, para identificar as cardinalidades. a) FUNCIONÁRIO TRABALHA EM UM DEPARTAMENTO b) FORNECEDOR FORNECE PRODUTO c) UM GERENTE CHEFIA UMA SEÇÃO d) UM ALUNO SE MATRICULA EM UM CURSO 73
  • 74. 1. Elabore um modelo de entidade única para cada caso abaixo. Identifique o nome da entidade, cada atributo (campo) das entidades, o tipo e o tamanho de cada. Faça a representação gráfica da entidade e seu dicionário de dados. a) Navio: um navio tem um nome, um código de registro, uma capacidade de transporte e um ano de construção. b) Carro: um carro tem um fabricante, um nome de série e um modelo (exemplo: Honda Accord DX, no qual Honda é o fabricante, Accord é o nome de série e DX é o modelo). Um carro também possui um código de identificação do veículo, a placa e a cor. c) Restaurante: um restaurante tem um endereço, uma capacidade, um número de telefone e um estilo de comida (por exemplo: francesa, russa, chinesa). EXERCÍCIOS- 01 74
  • 75. Exercício I  Considere como exemplo um sistema acadêmico. A partir das seguintes Entidades, identifique os atributos e os relacionamentos entre elas. Aluno Disciplina Professor Turma
  • 76. EXERCICIO 02  Questão 1 - Sistema de Conferências. Deseja-se construir um banco de dados de um sistema de informação para controlar a execução de conferências. Após a entrevista inicial foram obtidas as seguintes informações:  Um congresso, que tem como informações nome, data e local é composto de diversas sessões;  Cada sessão é identificada por um número. Registra-se ainda o local da sessão, horário de início e término da sessão. Dentro de cada sessão são apresentados diversos artigos;  Cada artigo tem como informações ao título, número de páginas. Um artigo pode ser escrito por um ou mais autores;  Para os autores é necessário armazenar o nome, data de nascimento, e-mail e instituição a qual o mesmo está vinculada. Um autor pode escrever vários artigos;  Ainda registram-se os participantes do congresso. Para os participantes deve-se registrar o número de identificação, nome, telefone e e-mail. Os participantes podem ser de 3  tipos: estudantes, profissionais associados e profissionais não associados. Para cada tipo temos um valor de inscrição diferenciado;  Para o participante estudante é emitido um diploma especial de participação, que tem uma numeração específica, data de impressão e deve ser registrado no sistema para fins de controle. 76
  • 77. Exercicio-02 Questão 2 – Uma farmácia possui várias filiais. Os dados de cada filial são o código da filial, endereço, telefone e nome do gerente responsável. A farmácia comercializa, em cada filial, dois tipos de produtos: medicamentos e produtos de perfumaria. Todos os produtos possuem um código, nome e preço. No caso dos medicamentos, os mesmos possuem o nome do labotatorio, farmeceutico responsavel, data de validade e uma classificação como o tipo de faixa (preta, vermelha, etc) em que se enquadra o remédio. Os perfumes por sua vez são categorizados em Masculino, Feminino e Intantil. Toda venda de produto para um cliente deve ter data, nome do cliente, valor da venda e forma de pagamento que pode ser feita com cartao de credito, cartao de debito ou dinheiro. Uma venda de medicamento pode ser feita a um cliente, com ou sem receita médica, sendo que os medicamentos que são vendidos somente com receita médica precisam ter tipo de faixa preta. Os dados da receita são data da receita, nome do paciente e CRM do médico. Todos os medicamentos são fornecidos por um determinado fabricante, que pode fornecer muitos medicamentos. Os dados do fabricante são: CNPJ, nome do fabricante, endereço, telefone e email. 77
  • 78. Exercicio-02 Pede-se: – Identifique as entidades – Identifique os relacionamentos entre as entidades – Identifique os atributos das entidades e relacionamentos, se houver. – Identifique as Regras de Negócio - Elabore o diagrama de entidade e relacionamentos para o mini-mundo 78
  • 79. Exercicio-02 Dado o Mini Mundo abaixo sobre uma Consulta Médica:  Cada Receita pode conter muitos Remédios  Cada Remédio pode estar em inúmeras Receitas  A Receita é cadastrado por: Número, Data, Tipo e Controle O campo Controle indica se a receita é controlada ou não  Não existem 2 Receitas com o mesmo Número 79
  • 80. Exercicio-02 O Remédio é registrado por: Código, Nome, Fabricante, Preço e Obs O campo Observação registra bastantes dados sobre o Remédio  Não existem 2 Remédios com o mesmo Código  Em cada Receita pode existir um Prazo e uma Dosagem diferente para cada Remédio  Cada Médico pode fazer várias Receitas  Cada Receita pode ser feita por apenas um Médico  O Médico é armazenado por: Crm, Nome, Email, Fone de contato e Endereço completo  Não existem 2 Médicos com o mesmo Crm 80
  • 81. 81
  • 82. EXERCICIO-03-1 Elabore um diagrama de entidade e relacionamentos para atender as necessidades de informação de uma biblioteca universitária. São elas: · O cadastro dos usuários com endereço completo, inclusive com a informação do curso do usuário e data de início e de término previsto; · Cada usuário poderá fazer empréstimo de uma ou mais obras. Cada obra poderá ser emprestada mais de uma vez ao mesmo usuário. · O cadastro das obras que constam no acervo da biblioteca, com o titulo, codigo ISBN, ano de publicacao, edição, editora, autor e a devida classificação. As obras são clasificadas como: livros científicos, coleções, matemarica, historia, filosofia, economia, administracao e negocios, engenharia, sociologia, literatura, artes, periódicos científicos, periódicos informativos, entretenimento, etc.; 82
  • 83. 83 EXERCICIO-03-1 A língua em que encontra-se a obra. Exemplo: inglês, espanhol, português, etc.; · O(s) autor(es) da obra, ou seja, cada obra poderá possuir um ou mais autores e cada autor poderá ter escrito uma ou mais obras. Para o cadastro de autores deverão constar o nome e a nacionalidade do mesmo; · As editoras das obras com a respectiva cidade. Cada editora poderá estar ligado a uma ou mais obras porém cada obra está associada a somente uma editora.
  • 84. EXERCICIO-03-1 Para resolver o caso acima, siga os passos: 1 - Identifique as entidades que deverão ser criadas. 2 - Efetue os relacionamentos entre as entidades identificadas 3 - Identifique para cada entidade e relacionamento os atributos; 4 - Identifique para cada entidade o atributo que será o identificador das ocorrencias da entidade; 84
  • 85. EXERCICIO – 03-02  Faça um Diagrama Entidade-Relacionamento que represente o mini-mundo abaixo:  Uma companhia de transporte é responsável pela entrega de remessas de armazéns para depósitos de uma empresa de varejo. Os armazéns e os depósitos são identificados por números e atualmente existem 6 localizações de armazéns e 45 de depósitos.  Um caminhão pode carregar várias remessas durante uma viagem e levar remessas para múltiplos depósitos (saindo de um armazém origem e chegando a vários depósitos destinos).  Uma viagem é identificada por um número e é necessário manter informações sobre peso (massa) e volume da viagem.  Cada remessa é identificada pelo número da remessa e inclui dado sobre volume, peso (massa) e destino da remessa.  O caminhão é identificado pelo código da licença e tem diferentes capacidades para volume e peso (massa) que eles podem carregar.  A companhia possui atualmente 150 caminhões e cada caminhão faz em média 3 a 4 viagens por semana. 85
  • 86. EXERCICIO – 03  Considere a seguinte informação sobre a base de dados de uma universidade:  Os professores têm um número de contribuinte, um nome, uma idade, um posto, e uma especialidade de investigação.  Existem projectos que têm um número, um organismo financiador, uma data de início, uma data de final, e um orçamento.  Os estudantes de pós-graduação têm um número de contribuinte, um nome, uma idade, e um plano de curso (ex. mestrado, doutoramento).  Cada projecto é gerido por um professor (o investigador principal do projecto).  Cada projecto tem a participação de um ou mais professores.  Os professores podem gerir e/ou trabalhar em vários projectos.  Cada projecto tem um ou mais estudantes de pós-graduação (conhecidos como os assistentes de investigação). 86
  • 87. EXERCICIO – 03  Sempre que um estudante de pós-graduação trabalha num projeto, terá que existir um professor a supervisionar esse trabalho. Os estudantes podem trabalhar em vários projetos com supervisores eventualmente diferentes.  Os departamentos têm um número, um nome, e um escritório principal.  Os departamentos são liderados por um professor.  Os professores podem trabalhar num ou mais departamentos. Associada a cada uma destas funções está uma percentagem do seu tempo.  Os estudantes de pós-graduação estão associados a um departamento no qual fazem o seu curso.  Cada estudante de pós-graduação tem um outro estudante mais velho que é o seu aconselhador.  Desenhe o diagrama de entidades e relacionamentos para este problema. 87
  • 88. 88 Modelo logico – Diferentemente do modelo conceitual, que contempla o ambiente da empresa e as Entidades desse ambiente, o modelo lógico tem sua definição baseada no SGBD escolhido. Nesse caso, o modelo escolhido será o modelo Relacional. De acordo com Cougo (1997,p 29) : Define-se como modelo logico de dados (MLD) aquele em que os objetivos, suas características tem e relacionamentos tem têm a representação de acordo com as regras de implementação e limites impostos por algum tipo de tecnologia. MODELAGEM DE DADOS