A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

BANCO DE DADOS Aula 3 Josino Rodrigues Neto© Fundamentos em Banco de Dados.

Apresentações semelhantes


Apresentação em tema: "BANCO DE DADOS Aula 3 Josino Rodrigues Neto© Fundamentos em Banco de Dados."— Transcrição da apresentação:

1 BANCO DE DADOS Aula 3 Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 1

2 Revisão

3 (Entidade-Relacionamento)
PARTE – I Modelo E-R (Entidade-Relacionamento) Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 3

4 MODELAGEM DE DADOS Atividade de definição de um esquema de dados em um certo nível de abstração modelagem conceitual abstração de mais alto nível objetivo: representação dos requisitos de dados do domínio independente de modelo de BD modelagem lógica representação da modelagem conceitual em um modelo de BD ênfase na eficiência de armazenamento evitar: muitas tabelas (e junções); tabelas sub-utilizadas, ... modelagem física ou implementação esquema SQL para a modelagem lógica dependente de SGBD ênfase na eficiência de acesso implementação de consultas, índices, ... Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 4

5 Independente de detalhes de implementação em um SGBD
MODELAGEM CONCEITUAL Vantagens Independente de detalhes de implementação em um SGBD Facilita a compreensão da semântica dos dados de um domínio Melhor compreendido por usuários leigos Pode ser mapeado para qualquer modelo de BD Facilita a manutenção do modelo lógico Propicia a engenharia reversa Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 5

6 INTRODUÇÃO AO MODELO E-R
Modelo desenvolvido por Chen em 1976; Diversas extensões e notações foram definidasao longo do tempo Provê ao usuário um alto nível de abstração, e por conseguinte facilita a construção de um esquema de BD; A estrutura lógica do BD pode ser expressa graficamente pelo diagrama E-R Um banco de dados representado por um modelo E-R, pode ser representado por uma coleção de tabelas. O mapeamento entre os modelos E-R e Relacional é relativamente simples. Existem várias ferramentas destinadas a mapear o Modelo E-R para Relacional; É também chamado de esquema E-R ou diagrama E-R Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 6

7 Entidade – representação abstrata de um objeto do mundo real.
COMPONENTES DO MODELO Entidade – representação abstrata de um objeto do mundo real. Relacionamento – abstração de uma associação entre (ocorrências de) entidades Atributos – características de uma entidade atende Funcionário Departamento NOME MATRI ENDERECO DTA_NASC Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 7

8 Simples- Não há sub-atributo (Ex. salário)
TIPOS DE ATRIBUTOS Simples- Não há sub-atributo (Ex. salário) Composto – múltiplos sub-atributos (Ex. endereço) Multivalorados – podem assumir um conjunto de valores Funcionário TELEFONES NOME MATRI ENDERECO DTA_NASC RUA NUM CIDADE Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 8

9 obrigatórios X opcionais monovalorados X multivalorados
TIPOS DE ATRIBUTOS obrigatórios X opcionais monovalorados X multivalorados simples X compostos Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 9

10 Toda entidade deve ter uma identificação
TIPOS DE ATRIBUTOS Atributos identificadores distinguem unicamente ocorrências de entidade Toda entidade deve ter uma identificação Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 10

11 Quantidade máxima de ocorrências de entidades
CARDINALIDADE MÁXIMA Quantidade máxima de ocorrências de entidades que podem estar associadas a uma ocorrência de outra entidade (1 ou N) “um empregado está lotado no máximo em 1 departamento. Um departamento tem até N empregados lotados nele.” Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 11

12 CARDINALIDADE MÁXIMA Exemplos:
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 12

13 CARDINALIDADE MÍNIMA E MÁXIMA
indica se a participação das ocorrências de entidades no relacionamento é obrigatória ou opcional “um empregado pode estar lotado no máximo em 1 departamento. Um departamento obrigatoriamente tem até N empregados lotados nele.” Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 13

14 CARDINALIDADE MÍNIMA E MÁXIMA
Exemplos: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 14

15 Representa uma associação entre ocorrências de uma mesma entidade
AUTO-RELACIONAMENTO Representa uma associação entre ocorrências de uma mesma entidade Requer a identificação de papéis “um empregado pode ser supervisionado por no máximo 1 empregado. Um empregado pode supervisionar no máximo N empregados.” Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 15

16 Abstração de uma associação entre três (ocorrências de) entidades
RELACIONAMENTO TERNÁRIO Abstração de uma associação entre três (ocorrências de) entidades Requer a identificação de papéis “um produto em uma cidade pode ser entregue por no máximo 1 distribuidor.” Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 16

17 ENTIDADE FRACA A identificação de suas ocorrências depende da identificação de outra(s) entidade(s) Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 17

18 PARTE - II Extensões do Modelo E-R
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 18

19 EXTENSÕES DO MODELO E-R
Possuem o objetivo de aumentar o poder de expressão do modelo provendo novos meios de representações. As principais extensões são: Especialização Generalização Herança de Atributos Agregação Existem muitas outras extensões. Como por exemplo, as relacionadas com aplicações para BD Distribuídos e BD Geográficos. Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 19

20 Definição de uma entidade que é um subconjunto de uma outra entidade
Especialização Definição de uma entidade que é um subconjunto de uma outra entidade Generalização Definição de uma entidade que é um superconjunto de uma outra entidade Na prática, uma Fundamentos ou uma generalização produzem o mesmo conjunto de entidades. O que as diferem é a ordem que as entidades são geradas Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 20

21 Tipo de Generalização/Especialização
- Total ou Parcial - No tipo total, toda ocorrência de uma entidade genérica tem que possuir uma ocorrência de uma entidade especializada - Exclusiva e não- exclusiva - No tipo exclusiva, uma ocorrência da entidade genérica só pode ter uma especialização Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 21

22 Agregação - Ocorre quando um conjunto de entidades e relacionamentos comportam-se como se fosse uma entidade. Podendo desta forma associar-com com outras entidades. Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 22

23 Outra Representação para Agregação
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 23

24 Uma Extensão do Modelo E-R para Modelos Distribuídos
PEDIDO CLIENTE VENDEDOR CTA_SALD O CTA_MOVT O REGIÃO CIDADE PRODUTO FAZ AT UA SITUA-SE EM POS SUI ATE ND E PERTENC E A ATU ALIZ A COD_CIDADE NOME UF CEP AREA PERC_VENDA COD_PED DATA_PED VL_PED SITUACAO IDENT MATRICULA CPF MATRÍCULA VL_SALDO DATA_ATU HORA_ATU CGC NOME_FANT ENDEREÇO COD_MOVTO HORA_MOVTO VL_MOVTO DATA_MOVTO IND_DEB_CRED COD_PRODD PREÇO COD_PRODOD QUANT 1 N M COD_REGIAO GER A Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 24

25 Uma Extensão do Modelo E-R para Modelos Distribuídos
(Continuação) VENDEDOR 1 CTA_SALD O1 IDENT NOME MATRICULA CPF MATRÍCULA VL_SALDO DATA_ATU HORA_ATU 1 N REGIÃO1 CIDADE1 AT UA SITUA-SE EM COD_CIDADE UF CEP AREA PERC_VENDA COD_REGIAO PERTEN CE A VENDEDOR 2 CTA_SALD O2 REGIÃO2 CIDADE2 [COD_REGIÃO = 1] [ATUA.COD_REGIÃO = 1] [PERTENCEA.ATUA.COD_REGIÃO = 1] [SITUA-SEEM. COD_REGIÃO = 1] [COD_REGIÃO = 2] [ATUA.COD_REGIÃO = 2] [PERTENCEA.ATUA.COD_REGIÃO = 2] [SITUA-SEEM. COD_REGIÃO = 2] Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 25

26 PARTE - III O Modelo Relacional
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 26

27 • Foi introduzido por Codd (1970)
BREVE HISTÓRICO • Foi introduzido por Codd (1970) • Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. Padrão este que ainda persiste até hoje. • É um modelo formal, baseado na teoria matemática das relações. Fortemente fundamentada na Álgebra Relacional e no Cálculo Relacional. • Um dos SGBD's precursores que implementaram este modelo foi o System R (IBM). Baseado em seus conceitos surgiram: DB2 (IBM), SQL-DS (IBM), Oracle, Informix, Ingres, Sybase entre outros. Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 27

28 • Todos os valores de uma coluna são do mesmo tipo de dados.
CONCEITOS BÁSICOS • O modelo relacional representa os dados num BD como uma coleção de tabelas (relações). • Cada tabela terá um nome, que será único, e um conjunto de atributos com seus respectivos nomes e domínios. • Todos os valores de uma coluna são do mesmo tipo de dados. Exemplo de uma tabela: Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 28

29 CONCEITOS BÁSICOS (continuação) Terminologia do modelo:
Tabela é chamada de Relação Linha é chamada de Tupla Coluna é chamada de atributo Associado a um tipo de dados há um domínio. Um domínio D é um conjunto de valores atômicos. Exemplo: IdadeAluno: inteiro entre 16 e 70. Um esquema de relação R é denotado por R(A1,A2,...,An), onde é R representa um conjunto de atributos: R = {A1,A2,...,An}. O grau de uma relação é o número de atributos que seu esquema contém. Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 29

30 CONCEITOS BÁSICOS (continuação)
Um instante (snapshot) de relação r, do esquema R(A1, A2, ...,An), denotado por r(R), é o conjunto de n-tuplas r = {t1,t2,...,tn}. Cada tupla t é uma lista ordenada de valores t = <v1,v2,...,vn> Uma instância r(R) é um subconjunto do produto cartesiano dos domínios de R. r(R) C (dom(A1) X dom(A2) X ... X dom(An)) Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 30

31 ASPECTOS IMPORTANTES DAS RELAÇÕES
A ordem das tuplas e dos atributos não tem importância. Todo atributo possui valor atômico. Cada atributo numa relação tem um nome que é único dentro da relação. Todas as tuplas devem ser únicas (conjunto). A fundamentação matemática está sempre presente. Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 31

32 CONCEITO DE CHAVE Superchave -Conjunto de um ou mais atributos que, tomados coletivamente nos permite identificar de maneira unívoca uma tupla em um conjunto de tuplas. Chave candidata - É uma superchave para qual nenhum subconjunto possa ser uma superchave. Chave primária é a chave candidata que é escolhida pelo projetista para identificar tuplas dentro de um conjunto de tuplas. Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 32

33 Atributos que representam diferentes conceitos podem ter o mesmo nome.
CHAVES DE UMA RELAÇÃO Convenciona-se sublinhar os atributos que compõem a chave primária. Ex.:Empregado (Matrícula, Nome, Endereço, Função,Salário) Um mesmo atributo pode ter nomes diferentes nas diversas relações em que participa. Ex.: Empregado (Matrícula, Nome, Endereço, Função, Salário, Dep) e Departamento(CodDepart, Nome, Endereço) Atributos que representam diferentes conceitos podem ter o mesmo nome. Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 33

34 RESTRIÇÕES DE INTEGRIDADE
Integridade de Chave: Toda tupla tem um conjunto de atributos que a identifica de maneira única na relação. Integridade de Entidade: Nenhum valor de chave primária poderá ser NULO. Integridade Referencial: Uma relação pode ter um conjunto de atributos que contém valores com mesmo domínio de um conjunto de atributos que forma a chave primária de uma outra relação. Este conjunto é chamado chave estrangeira. Integridade Semântica: Define aspectos comportamentais do BD. Exemplo: Nenhum aluno que não cursou ICC poderá cursar Ling. de Programação. Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 34

35 PARTE - IV Mapeamento Modelo E-R para Modelo Relacional
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 35

36 MAPEAMENTO E-R -> RELACIONAL
Para cada modelo conceitual E-R pode existir vários modelos Relacionais. A maioria das ferramentas de modelagem conceitual automatizam o mapeamento. Porém é importante conhecer as etapas deste mapeamento. A definição equivocada do modelo Relacional afeta a estrutura de todo o projeto. Muitas vezes a maneira como implementar as tabelas no modelo relacional dependem de decisões de projeto e não de regras pré-estabelecidas. Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 36

37 Um simples exemplos de mapeamento
Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 37

38 ETAPAS DO MAPEAMENTO ETAPA 1
Mapear todos os conjuntos de entidades não fracas. Caso exista atributo composto, inclua todos os atributos elementares Escolha um dos atributos chave de E como chave primária para a relação Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, DNome} Projeto = {PNúmero, PNome} Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 38

39 ETAPA 2 Para cada conjunto de entidade fraca F no esquema ER cria-se uma relação R formada por todos os atributos do conjunto de entidade fraca, mais os atributos que são chave das entidades regulares com as quais a entidade se relaciona. Dependente = {DependNome, FNúmero, DataNiver, Parentesco} Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 39

40 ETAPA 3 Relacionamentos de cardinalidade 1 para 1 devem ser identificados e escolhida a entidade que receberá os atributos do relacionamento, assim como qual a entidade que receberá a chave estrangeira. Funcionário = {FNúmero, FNome, Endereço, Salário} Departamento = {DNúmero, Dnome, FNúmero, DataIni} Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 40

41 ETAPA 4 Para cada conjunto relacionamento de cardinalidade 1 para N, a chave primária da entidade que participa com cardinalidade N terá a chave primária da outra entidade como chave estrangeira. Departamento = {DNúmero, Dnome, FNúmero, DataIni} Projeto = {PNúmero, Pnome, DNro} Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 41

42 Para cada relacionamento binário M:N cria-se uma nova relação
ETAPA 5 Para cada relacionamento binário M:N cria-se uma nova relação Participar = {FNum, PNum, horas} Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 42

43 Um relacionamento ternário produzirá uma relação
ETAPA 6 Um relacionamento ternário produzirá uma relação Oferecer = {OCod, CCod, FNum, Horário} Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 43

44 ETAPA 7 Existem duas maneiras de tratar atributos multivalorados no mapeamento: 1) Sabendo uma estimativa do número de ocorrências do atributo. Assim, pode-se adicionar à relação quantos atributos forem necessários. 2) Caso do número de ocorrências do atributo seja indefinido, cria-se uma nova relação. LocalDep = {DNúmero, Localização} Departamento = {DNúmero, Dnome, FNúmero, DataIni, local1, local2, local3} Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 44

45 Três alternativas para mapeamento
MAPEAMENTO DE ESPECIALIZAÇÕES Três alternativas para mapeamento 1. tabela única para entidade genérica e suas especializações 2. tabelas para a entidade genérica e as entidades especializadas 3. tabelas apenas para as entidades especializadas Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 45

46 Tabela única para entidade genérica e suas especializações
Alternativa 1 Tabela única para entidade genérica e suas especializações Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 46

47 Tabelas para a entidade genérica e as entidades especializadas
Alternativa 2 Tabelas para a entidade genérica e as entidades especializadas Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 47

48 Tabelas apenas para as entidades especializadas
Alternativa 3 Tabelas apenas para as entidades especializadas Não deve ser aplicado para especializações parciais Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 48

49 EXERCÍCIO Baseado no modelo E-R, abordado em sala, para a Fórmula 1. Aplique todos os passos para o mapeamento E-R -> Relacional. Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 49

50 Comentários sobre Exercício
Esquema muito simples de ser gerado; Aplicação da etapa 1, abordada na aula passada, define praticamente todas as tabelas; O fato do modelo E-R ter sido representado através de uma ferramenta, facilita consideravelmente o processo de mapeamento; Exemplos de Relações do Modelo PILOTO(COD_PILOTO, NOME, DATA_NASC, COD_EQUIPE, COD_PAIS) EQUIPE(COD_EQUIPE, NOME, NOME, COD_PAIS) PAIS(COD_PAIS, NOME, POPULACAO) CIRCUITO(COD_CIRCUITO, NOME, EXTENSAO, COD_PAIS) Josino Rodrigues Neto© Fundamentos em Banco de Dados Página 50


Carregar ppt "BANCO DE DADOS Aula 3 Josino Rodrigues Neto© Fundamentos em Banco de Dados."

Apresentações semelhantes


Anúncios Google