Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 4: Modelo Relacional Banco de Dados I Prof. Thales • Um modelo é uma representação útil para um dado propósito; • Pode ser: – Conceitual - quando está mais próximo da visão do usuário; – Lógico – quando está mais próximo da visão da máquina, ou seja mais próximo da implementação; – Físico – indica como o computador manipula os dados armazenados. Modelo Relacional 2 • O modelo relacional surgiu na década de 1970 pelo pesquisador Codd, porém a sua implementação aconteceu na década de 1980; Modelo Relacional 3 • O modelo relacional usa um conjunto de tabelas para representar os dados e as relações entre elas; • Cada tabela possui um conjunto de atributos, também chamados de campos; • Os dados armazenados nas tabelas são chamados de registros, ou então de tuplas. Modelo Relacional 4 • Abaixo um diagrama para a representação dos dados no modelo relacional. Modelo Relacional 5 codigo nome cidade 1 João Aquidauana 2 Maria Anastácio 3 Célia Miranda 4 José Aquidauana codigo cod_cliente agencia conta 1 1 1234 3345 2 2 1234 3375 3 1 1235 1261 4 4 1234 3394 • O Modelo de Dados Relacional foi introduzido por Codd; • Entre os modelos de dados de implementação, o modelo relacional é o mais simples, com estrutura de dados uniforme, e também o mais formal; • O modelo de dados relacional representa os dados da base de dados como uma coleção de relações; • Informalmente, cada relação pode ser entendida como uma tabela ou um simples arquivo de registros; • Por exemplo, a base de dados de arquivos representada pela figura da tela seguinte, é considerada estando no modelo relacional. Modelo Relacional 6 Modelo Relacional 7 Modelo Relacional 8 • Quando uma relação é vista como uma tabela de valores, cada linha representa uma coleção de valores relacionados; • Esses valores podem ser interpretados como um fato que descreve uma entidade ou uma instância de relacionamento; • O nome da tabela e os nomes das colunas são usados para ajudar a interpretar o significado dos valores em cada linha da tabela; Modelo Relacional 9 Relações, Domínios, Tuplas, Atributos, Esquemas e Instâncias 10 codigo nome cidade 1 João Aquidauana 2 Maria Anastácio 3 Célia Miranda 4 José Aquidauana cliente Relação Atributos Domínio Esquema Instâncias • Uma relação (no modelo relacional) representa um conjunto de informações relacionadas, é semelhante à entidade no MER; • O esquema de uma relação é definida com seu nome e seus atributos; • Exemplos: Relação 11 codigo nome Montadora 1 Corsa Chevrolet 2 Fiesta Ford 3 Gol Volkswagen 4 Uno Fiat veiculo codigo nome cidade 1 José Aquidauana 2 Maria Anastácio 3 Henrique Miranda 4 Carlos Aquidauana cliente • Os atributos de uma relação são utilizados para descrevê-la; • No modelo relacional, eles representam as colunas da relação; • O conjunto dos dados de um atributo é definido como sendo o domínio e é determinado pelo tipo de dado que ele pode assumir; Atributos e Domínio 12 • As linhas da relação, contendo dados, são as tuplas da relação; • A relação Veículo a seguir possui 4 tuplas. Já a relação Cliente possui apenas 2 tuplas. Tuplas 13 codigo nome montadora 1 Corsa Chevrolet 2 Fiesta Ford 3 Gol Volkswagen 4 Uno Fiat veiculo codigo nome cidade 1 José Aquidauana 2 Maria Anastácio cliente • Uma relação é constituída de um conjunto de tuplas e atributos distintos; • Para uma correta distinção das instâncias de uma relação, o Modelo Relacional adotou o conceito de atributo chave; • O atributo chave pode ser constituído de um ou mais atributos, • e eles são encarregados de identificar e distinguir, de forma única e exclusiva cada tupla de uma relação. • As chaves de uma relação podem ser classificadas das seguintes formas, descritas a seguir. Atributo Chave 14 • A chave primária é composta por um ou mais atributos capazes de identificar, de forma única e exclusiva, cada tupla da relação; • Quando é constituída de mais de um atributo, ela é chamada de chave primária composta • A chave primária no MR é representada colocando-se o(s) atributo(s) chave sublinhado(s) Chave Primária 15 codigo codigo_montadora nome motor 101 1 Corsa 1.4 102 3 Fiesta 1.6 103 4 Gol 1.6 104 2 Uno 1.0 veiculo codigo nome país 1 Chevrolet EUA 2 Fiat Itália 3 Ford EUA 4 Volkswagen Alemanha montadora 15 • Uma chave candidata é formada pelo conjunto de atributos capazes de se tornarem uma chave primária; Chave Candidata 16 • A chave primária é composta por um ou mais atributos capazes de identificar, de forma única e exclusiva, cada tupla da relação; • Quando é constituída de mais de um atributo, ela é chamada de chave primária composta • A chave primária no MR é representada colocando-se o(s) atributo(s) chave sublinhado(s) Chave Primária 17 codigo codigo_montadora nome motor 101 1 Corsa 1.4 102 3 Fiesta 1.6 103 4 Gol 1.6 104 2 Uno 1.0 veiculo codigo nome país 1 Chevrolet EUA 2 Fiat Itália 3 Ford EUA 4 Volkswagen Alemanha montadora 17 • A chave estrangeira é formada pela chave primária de uma outra relação; • Por exemplo, o atributo codigo_montadora da relação Veículo é chave estrangeira, pois representa o atributo codigo da relação Montadora. Chave Estrangeira 18 codigo codigo_montadora nome motor 101 1 Corsa 1.4 102 3 Fiesta 1.6 103 4 Gol 1.6 104 2 Uno 1.0 veiculo codigo nome país 1 Chevrolet EUA 2 Fiat Itália 3 Ford EUA 4 Volkswagen Alemanha montadora 18 • No modelo relacional, existem três tipos de restrições de integridade, sendo elas: – Restrições de Integridade de Chave; – Restrições de Integridade de Valores Nulos (Null); – Restrições de Integridade de Domínio. Restrições de Integridade 19 • Uma restrição de chave primária determina que, ao se definir um atributo como a chave primária de uma relação, os valores dos atributos que correspondem a essa chave não podem ser repetidos para duas entidades distintas; • É o caso das placas dos automóveis. Se definirmos o atributo Placa como sendo a chave primária, não poderá existir nos dados, duas entidades com o mesmo valor para esse atributo; • O exemplo é aplicado ao atributo CPF num cadastro de pessoas físicas, ou seja, não haverá duas tuplas com o mesmo valor para este atributo. Restrição de Integridade de Chave 20 • Essa restrição impede que sejam atribuídos valores nulos para um atributo de uma relação; • Por exemplo, para uma pessoa poder abrir uma conta em um banco é preciso ter um número de inscrição no CPF. Assim, ao modelarmos um sistema desse tipo devemos definir que o atributo Número CPF possui uma restrição de valores nulo, ou seja, ele deve ser informado obrigatoriamente; • Num cadastro de veículos, o atribuo Placa é utilizado para identificar unicamente cada veículo (chave primária). Desta forma, não deve ser permitido valores nulos para este atributo (restrição de valores nulos). Restrições de Integridade de Valores Nulos (Null) 21 • Indica que os dados de um atributo devem pertencer ao domínio deste atributo; • Se o atributo Ano de Fabricação é utilizado para inserir números, não poderá ser inserido letras ou caracteres especiais; • Na relação Matrícula, o atributo Data de Inscrição só aceita valores do tipo data. Restrições de Integridade de Domínio 22 • O MER possui notação em alto nível para descrever o modelo de banco de dados; • O MR possui notação específica e que se aproxima da implementação física do modelo de banco de dados. Mapeamento do MER para o MR 23 Modelo ER para Modelo Relacional• Por que começar com o modelo ER? • mais fácil • mais recursos • mais flexível • existem regras para converter do modelo ER para o modelo Relacional Entidades Fortes • Transforme cada Conjunto de Entidades em uma Relação mantendo os atributos. • O Atributo chave deve estar destacado com sublinhado; Entidades Fracas • Transforme cada Conjunto de Entidades Fracas em uma Relação contendo seus próprios atributos mais a chave primária das entidades determinantes. Atributo Simples • Os atributos simples são representados normalmente na relação, ou seja, sem destaque. Atributos Compostos • Cada atributo do atributo composto, torna-se um atributo da relação, transformado em atributos simples Atributos Multivalorados Atributos Multivalorados • Crie uma nova Relação cuja Chave Primária é o conjunto da: 1.Chave Primária da Relação que possui o atributo multi valorado 2.Cada valor do atributo multivalorado Atributos Multivalorados Relacionamento Muitos-Um ou Um-Para-Muitos • Relacionamento Muitos-Um de A para B: Adicione em A a chave primária de B • Relacionamento Muitos-Um de A para B: Adicione em A a chave primária de B estudio(cnpj, nome) filme(titulo, ano, genero) Relacionamento Muitos-Um • Relacionamento Muitos-Um de A para B: Adicione em A a chave primária de B estudio(cnpj, nome) filme(titulo, ano, genero, cnpj) Relacionamento Muitos-Um Relacionamento Um-Para-Um (1:1) • Adicione em A a chave primária de B OU • Adicione em B a chave primária de A Relacionamento Um-Para-Um (1:1) Carro(Placa, Marca, Montadora, Ano) Motor(NumSerie, Cilindros, Combustivel) Relacionamento Um-Para-Um (1:1) Carro(Placa, Marca, Montadora, Ano) Motor(NumSerie, Cilindros, Combustivel, Placa) Relacionamento Um-Para-Um (1:1) Carro(Placa, Marca, Montadora, Ano, NumSerieMotor) Motor(NumSerie, Cilindros, Combustivel) Relacionamento Muitos-Muitos ou Muitos Para Muitos • Crie uma nova Relação R com as Chaves Primárias de A e B. O Conjunto das chaves de A e B será a Chave Primária de R Relacionamento Muitos-Muitos ator(nome, endereço) Filme(titulo, ano, genero) ator(nome, endereço) Filme(titulo, ano, genero) atua(nome, titulo, ano) Relacionamento Muitos-Muitos Relacionamento Muitos-Um Com Atributos • Relacionamento Muitos-Um de A para B: Adicione em A a chave primária de B e os atributos do relacionamento estudio(cnpj, nome) filme(titulo, ano, genero, cnpj) Relacionamento Muitos-Um Com Atributos estudio(cnpj, nome) filme(titulo, ano, genero, cnpj, data_inicio) Relacionamento Muitos-Um Com Atributos Relacionamento Um-Um Com Atributos • Adicione em A a chave primária de B e os atributos do relacionamento Ou • Adicione em B a chave primária de A e os atributos do relacionamento Carro(Placa, Marca, Montadora, Ano) Motor(NumSerie, Cilindros, Combustivel, Placa) Relacionamento Um-Um Com Atributos Carro(Placa, Marca, Montadora, Ano) Motor(NumSerie, Cilindros, Combustivel, Placa, data_colocacao) Relacionamento Um-Um Com Atributos Carro(Placa, Marca, Montadora, Ano, NumSerieMotor, data_colocacao) Motor(NumSerie, Cilindros, Combustivel) Relacionamento Um-Um Com Atributos Relacionamento Muitos-Muitos Com Atributos • Crie uma nova Relação R com as Chaves Primárias de A e B. O Conjunto das chaves de A e B será a Chave Primária de R, inclua em R os atributos do relacionamento. ator(nome, endereço) Filme(titulo, ano, genero) Relacionamento Muitos-Muitos Com Atributos ator(nome, endereço) Filme(titulo, ano, genero) atua(nome, titulo, ano, personagem) Relacionamento Muitos-Muitos Com Atributos Auto-Relacionamento funcionarios(cpf, endereco, nome, CPFSupervisor) Qual a melhor Chave Primária? Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53
Compartilhar