banco de dados

88
BANCO DE DADOS AULA – 03 – PROF. DAVID FELIPE SANTOS OLIVEIRA

Upload: albert-diego-belchior

Post on 05-Jul-2015

671 views

Category:

Education


47 download

DESCRIPTION

Banco de Dados aula3

TRANSCRIPT

Page 1: Banco de dados

BANCO DE DADOSAULA – 03 – PROF. DAVID FELIPE SANTOS OLIVEIRA

Page 2: Banco de dados

DEFINIÇÃO – BANCO DE DADOS2

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.

Page 3: Banco de dados

DEFINIÇÃO – BANCO DE DADOS3

O banco de dados é uma estrutura logica, isto é , um software que armazena osdados de uma empresa qualquer. Quando o usuário requisita estes dados através nodo sistema, eles são expostos de forma organizada na tela do computador de formaque se tornem informações ou seja, tenham sentido.

Um banco de dados ou base de dados BD é uma coleção de dados ouinformações relacionadas entre si . GUIMARÃES (2012,p.19).

Page 4: Banco de dados

DEFINIÇÃO – BANCO DE DADOS4

Para exemplificar a utilização de um BD, imagine uma concessionaria e a sua coleção decarros que estão a venda no pátio. Poderia se dizer que esta empresa tem um sistema derevendas 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 asinformações a respeito daquele veiculo em seu sistema. Essa consulta utiliza a interface dosistema para acessar o BD e retornar essas informações organizadas em forma de lista(TABELA 1) .

Page 5: Banco de dados

DEFINIÇÃO – BANCO DE DADOS5

Page 6: Banco de dados

DEFINIÇÃO – BANCO DE DADOS6

Page 7: Banco de dados

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

Page 8: Banco de dados

SISTEMA GERENCIADOR DE BANCO DE

DADOS (SGBD).

8

Page 9: Banco de dados

SGBD

Definição: Sistema Gerenciador de Banco de Dados é umacoleção de programas que permitem aos usuários definirem,construírem e manipularem uma base de dados para o uso dasdiversas aplicações.

9

Page 10: Banco de dados

SISTEMA GERENCIADOR DE BANCO DE

DADOS (SGBD).10

Page 11: Banco de dados

SISTEMA GERENCIADOR DE BANCO DE

DADOS (SGBD).11

O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza alinguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language)como interface. É atualmente um dos bancos de dados mais populares , com mais de 10milhões de instalações pelo mundo. Entre os usuários do banco de dados MySQLestã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 eoutros.

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. Nodesenvolvimento 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.

Page 12: Banco de dados

SISTEMA GERENCIADOR DE BANCO DE DADOS

(SGBD).12

O MS SQL Server é um SGBD - sistema gerenciador de Banco de dados relacional desenvolvido pela Microsoft. Foicriado em parceria com a Sybase em 1988 inicialmente para a plataforma OS/2 . Esta parceria durou até 1994, com olançamento da versão para Windows NT e desde então a Microsoft mantém a manutenção do produto. Como um Banco dedados, é um produto de software cuja principal função é a de armazenar e recuperar dados solicitados por outras aplicaçõesde 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õesdo DB2 que rodam desde num simples PDA |computador de mão, até em potentes mainframes e funcionam em servidoresbaseados em sistemas Unix, Windows, ou Linux.

O PostgreSQL é um sistema de gerenciamento de banco de dados objeto-relacional (SGBDOR), baseado no POSTGRESVersão 4.2 desenvolvido pelo Departamento de Ciência da Computação da Universidade da Califórnia em Berkeley. OPOSTGRES foi pioneiro em vários conceitos que somente se tornaram disponíveis muito mais tarde em alguns sistemas debanco de dados comerciais.

Page 13: Banco de dados

SISTEMA GERENCIADOR DE BANCO DE

DADOS (SGBD).13

Page 14: Banco de dados

ESTRUTURA DE UM BANCO DE DADOS

Em termos de armazenamento de dados, um banco de dados é composto de Tabelas, Colunas e Linhas. Vamosverificar 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 decolunas (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 umaforma comum de armazenagem de dados na empresa. O correto é que, através de um processo de modelagem dedados bem feito, todos os dados necessários ao negócio fiquem organizados nestas tabelas. A criação de cada tabela deum banco de dados, deverá ser feita com coerência e verificando o “assunto” que cada tabela irá armazenar. Cadatabela deve armazenar dados relacionados com apenas um assunto ou conceito do negócio.

14

Page 15: Banco de dados

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

Page 16: Banco de dados

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

Page 17: Banco de dados

MODELAGEM DE DADOS 17

Para quem não sabe, a modelagem de dados é um processo no qual você projeta ouplaneja o modelo a ser utilizado para a construção da sua base de dados (BANCO DEDADOS), de forma que reflita os conceitos do negócio a ser atendido. É muito importanteque haja um perfeito entendimento e compreensão das necessidades de informação donegócio que está sendo atendido pelo projeto do banco de dados. Para isso, é necessário umbom levantamento de requisitos, atividade que é feita pelo analista de requisitos que atuajunto ao analista de negócios a fim de descobrir os requisitos de informação que devem seratendidos no projeto do banco de dados.

Page 18: 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

Page 19: Banco de dados

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

Page 20: Banco de dados

MODELAGEM DE DADOS20

Page 21: Banco de dados

MODELAGEM DE DADOS

Modelo conceitual – levantamento de requisitos é o nome dado à tarefa de analisar oambiente, aplicar a abstração e transformar o resultado da analise em um modelochamado de conceitual. Esse modelo cria o conceito, isto é, as definições principais daempresa em relação a necessidade. É como se fosse um espelho da empresa, detalhandocada objeto importante dentro do ambiente observado.

Os modelos de dados conceituais utilizam conceitos como entidades, atributos erelacionamentos. 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 atributocorresponde 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 maisentidades mostra uma associação entre estas: por exemplo, um relacionamento trabalha-em de um funcionário com um projeto.

21

Page 22: Banco de dados

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

Page 23: Banco de dados

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

[email protected]

23

Page 24: Banco de dados

MODELO E-R

Imagine o funcionamento de interno de uma agencia bancaria. Existem os clientes e as contas bancarias. Ambos sãoEntidades desse Ambiente, pois ambos são dados importantes que precisam ser armazenados para o uso posterior. Ficamentão as duas ENTIDADES : CLIENTES e CONTAS. Veja o modelo abaixo exposto na figura 10 .

24

Page 25: Banco de dados

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

Page 26: Banco de dados

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 deférias ou um conceito.

26

Page 27: Banco de dados

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

Page 28: Banco de dados

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, o autor 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

Page 29: Banco de dados

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

Page 30: Banco de dados

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

Page 31: Banco de dados

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

Page 32: Banco de dados

ENTIDADES E ATRIBUTOS 32

Page 33: Banco de dados

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

Page 34: Banco de dados

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

Page 35: Banco de dados

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

Page 36: Banco de dados

ATRIBUTOS36

Page 37: Banco de dados

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

Page 38: Banco de dados

ATRIBUTOS - RELACIONAMENTO38

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.

Page 39: Banco de dados

ATRIBUTO SIMPLES

–Ocorre quando uma característica da entidade é representada por um único

atributo.

Exemplo: Matricula, Nome, Sexo, Salário.

39

Page 40: Banco de dados

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

Page 41: Banco de dados

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

Page 42: Banco de dados

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

Page 43: Banco de dados

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

Page 44: Banco de dados

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

Page 45: Banco de dados

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

Page 46: Banco de dados

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

Page 47: Banco de dados

Relacionamento:

É uma associação entre entidades

Representado através de um losângulo e linhas que ligam as

entidades relacionadas

47

nomeDoRelacionamentoA B

RELACIONAMENTOS

Page 48: Banco de dados

Como expressamos que João trabalha no Departamento de Contabilidade?

48

Empregado DepartamentoLotação

JoãoPedroPauloMaria

ContabilidadeFinanceiroJurídicoPessoal

Diagrama de Ocorrências (instâncias)

RELACIONAMENTOS

Page 49: Banco de dados

Relacionamentos

Exemplos de Relacionamentos

49

Cliente ContaContaCliente

Medico PacienteConsulta

Cidade

Residência

Page 50: Banco de dados

Relacionamentos com Atributos

Exemplo I

50

Médico’ PacienteConsulta

dataDaConsultanome celular nome endereço

Dr. PauloDr. Flora

Vania

José

22/10/200705/02/200920/03/2009

esquema

instâncias

Page 51: Banco de dados

RELACIONAMENTOS51

Page 52: Banco de dados

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

Page 53: Banco de dados

Cardinalidade Máxima

Page 54: Banco de dados

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ênciaem B está associada a no máximo uma ocorrência em A.

João

Pedro

Paulo

Maria

Jurídico

Contabilidade

FinanceiroConjunto A(Empregado)

Conjunto B(Departamento)

Empregado DepartamentoGerencia11

Page 55: Banco de dados

Relacionamento Um para Muitos – 1:N55

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)

EmpregadoDepartamento LotaçãoN1

Contabilidade

Financeiro

Ana

Pedro

João

Sandro

Conjunto B(Empregado)

Page 56: Banco de dados

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 Bestá associada a qualquer número de ocorrências em A

Sigmoda

MM-TOM

Sinpli

AATOMConjunto A(Empregado)

Conjunto B(Projeto)

Empregado ProjetoAtuaNN

João

Pedro

Paulo

Maria

Page 57: Banco de dados

Cardinalidade Mínima

O modelo ER permite expressar cardinalidades mínimas e máximas emcada 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

Page 58: Banco de dados

Cardinalidade Mínima e Máxima58

Cliente ContaContaCliente(1,1) (1,N)

Exemplo de Relacionamento Obrigatório: cada ocorrência de cliente está relacionado a no mínimo quantascontas e no máximo quantas contas?

Cada ocorrência de conta está relacionada a no mínimo quantosclientes e no máximo quantos clientes?

Exemplo de Relacionamento Opcional:

Empregado DepartamentoGerencia (1,1) (0,1)

Page 59: Banco de dados

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

Page 60: Banco de dados

Atributos também podem ter Cardinalidade60

Page 61: Banco de dados

RELACIONAMENTOS 1:161

Page 62: Banco de dados

RELACIONAMENTOS N:162

Page 63: Banco de dados

RELACIONAMENTOS N:M63

Page 64: Banco de dados

EXERCICIO - CARDINALIDADES

Identifique a cardinalidade dos relacionamentos através do diagrama de ocorrências.

64

Page 65: Banco de dados

65

Page 66: Banco de dados

66

Page 67: Banco de dados

NOTAÇÃO67

Page 68: Banco de dados

• 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

Page 69: Banco de dados

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

Page 70: Banco de dados

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

Page 71: Banco de dados

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

Page 72: Banco de dados

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

Page 73: Banco de dados

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

Page 74: Banco de dados

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- 0174

Page 75: Banco de dados

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

Page 76: Banco de dados

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

Page 77: Banco de dados

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

Page 78: Banco de dados

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

Page 79: Banco de dados

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

Page 80: Banco de dados

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

Page 81: Banco de dados

81

Page 82: Banco de dados

EXERCICIO-03-1

Elabore um diagrama de entidade e relacionamentos para atender asnecessidades de informação de uma biblioteca universitária. São elas:

· O cadastro dos usuários com endereço completo, inclusive com a informaçãodo 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 obrapoderá 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

Page 83: Banco de dados

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 cadaautor poderá ter escrito uma ou mais obras. Para o cadastro de autores deverão constar onome e a nacionalidade do mesmo;

· As editoras das obras com a respectiva cidade. Cada editora poderá estar ligado a umaou mais obras porém cada obra está associada a somente uma editora.

Page 84: Banco de dados

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

Page 85: Banco de dados

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

Page 86: Banco de dados

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

Page 87: Banco de dados

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

Page 88: Banco de dados

88

Modelo logico – Diferentemente do modelo conceitual, quecontempla o ambiente da empresa e as Entidades desse ambiente, omodelo lógico tem sua definição baseada no SGBD escolhido. Nessecaso, o modelo escolhido será o modelo Relacional. De acordo comCougo (1997,p 29) :

Define-se como modelo logico de dados (MLD) aquele em que osobjetivos, suas características tem e relacionamentos tem têm arepresentação de acordo com as regras de implementação e limitesimpostos por algum tipo de tecnologia.

MODELAGEM DE DADOS