©Silberschatz, Korth and Sudarshan (Modificado)3.1.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.

Slides:



Advertisements
Apresentações semelhantes
Mapeamento Modelo ER – Modelo Relacional
Advertisements

Base de Dados para a Gestão de Informação de Natureza Pedagógica
Abordagem Entidade Relacionamento
Normalização.
Modelo Relacional.
Evolução dos SGBD’s (2ª Parte).
MODELO RELACIONAL Transparências baseadas no capítulo 3 do livro de KORTH e SILBERCHATZ e capítulo 7 do livro de ELMASRI e NAVATHE Juliana Amaral e Rodrigo.
Diagrama Entidade-Relacionamento – DER
Prof.: Bruno Rafael de Oliveira Rodrigues
Modelo Entidade-Relacionamento
Projeto de Banco de Dados
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Modelo Relacional parte 1
Profa. Aline Vasconcelos
(Dependência Funcional e Normalização)
Ricardo de Oliveira Cavalcanti roc3[at]cin.ufpe.br
Prof. Alfredo Parteli Gomes
SQL Server 2012 Introdução a Modelagem de Dados
Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações
©Silberschatz, Korth and Sudarshan (modificado)5.1.1Database System Concepts Capítulo 5: Outras linguagens Query-by-Example (QBE) Datalog.
Capítulo 3: Modelo Relacional
2.2.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.
INTRODUÇÃO ÁS BASES DE DADOS
Capítulo 7: Design de Bases de Dados
Modelo de Dados Relacional
Capítulo 6: Modelo entidade-relacionamento
Campus de Caraguatatuba Aula 5: Modelo Entidade Relacionamento (2)
Ano letivo CURSO EFA DE TÉCNICO DE INFORMÁTICA E SISTEMAS Docente: Ana Batista EDUCAÇÃO E FORMAÇÃO DE ADULTOS Curso EFA – Sec. Turma C
Projetando uma base de dados
Capítulo 2: Modelo relacional
©Prof. Lineu MialaretAula 8 - 1/33Banco de Dados I Banco de Dados I – BD I Prof. Lineu Mialaret Aula 8: Modelo Relacional Instituto Federal de Educação,
Análise de Sistemas de Informação
©Silberschatz, Korth and Sudarshan (Modificado)3.3.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
A abordagem de banco de dados para gerenciamento de dados
Objetivos Apresentar de forma breve a Metodologia de Modelagem Orientada a Objetos (OMT). A partir de um modelo de objetos de um sistema de informação.
Banco de Dados Aplicado ao Desenvolvimento de Software
BANCO DE DADOS Aula 3 Josino Rodrigues Neto© Fundamentos em Banco de Dados.
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
ANÁLISE DE SISTEMAS 1Trabalho elaborado por Alexandra.
©Silberschatz, Korth and Sudarshan (modificado)7.3.1Database System Concepts Capítulo 7: Design de Bases de Dados 1ª Forma Normal Objectivos com Design.
AULA DE DÚVIDAS 9 de Abril de Especialização  Simplifica-se quando:  especialização é disjunta e  especialização é total e  não há relações.
©Silberschatz, Korth and Sudarshan (modificado)10.1.1Database System Concepts Capítulo 10: XML XML para transferência de dados Estrutura hierárquica do.
©Silberschatz, Korth and Sudarshan (Modificado)1.1Database System Concepts Capítulo 1: Introdução Função dos Sistemas de Bases de Dados Visão dos dados.
©Silberschatz, Korth and Sudarshan (modificado)9.1.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
©Silberschatz, Korth and Sudarshan (modificado)6.1.1Database System Concepts Capítulo 6: Integridade e Segurança Restrições ao Domínio Integridade Referencial.
©Silberschatz, Korth and Sudarshan (modificado)7.3.1Database System Concepts Capítulo 7: Design de Bases de Dados 1ª Forma Normal Objectivos com Design.
Desenvolvimento de uma base de dados
©Silberschatz, Korth and Sudarshan (Modificado)3.4.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
©Silberschatz, Korth and Sudarshan (modificado)7.4.1Database System Concepts Capítulo 7: Design de Bases de Dados 1ª Forma Normal Objectivos com Design.
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.
©Silberschatz, Korth and Sudarshan (modificado)7.1.1Database System Concepts Capítulo 7: Design de Bases de Dados Objectivos com Design de Bases de Dados.
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Objetos em Bancos de Dados Relacionais Alcides Calsavara.
Banco de Dados I Unidade 3: Projeto de BD Relacional
Modelo Relacional Marcelo Mendes Manaus – 2015.
Arnaldo Rocha1995 BANCO DE DADOS Modelo Relacional.
©Silberschatz, Korth and Sudarshan (modificado)6.1.1Database System Concepts Capítulo 6: Integridade e Segurança Restrições ao Domínio Integridade Referencial.
©Silberschatz, Korth and Sudarshan (Modificado)3.2.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Modelo de Entidade-relacionamento
Gestão de Bases de Dados. Conceitos Básicos Necessidade das bases de dados  Permitem guardar dados dos mais variados tipos;  Permitem um rápido e fácil.
Modelo relacional Fundamentos de Banco de Dados
Modelo Relacional Introduzido por Ted Codd, da IBM Research, em Utiliza o conceito de relação matemática. Possui base teórica na teoria dos conjuntos.
 O Modelo E-R (Entidade-Relação)
Professor: reno nooblath
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Modelagem de Dados Aula 3.
Transcrição da apresentação:

©Silberschatz, Korth and Sudarshan (Modificado)3.1.1Database System Concepts Capítulo 3: Modelo Relacional Estrutura das Bases de Dados Relacionais Redução a tabelas de uma Esquema ER Álgebra Relacional Operações Estendidas da Álgebra Relacional Modificação da Base de Dados Vistas

©Silberschatz, Korth and Sudarshan (Modificado)3.1.2Database System Concepts Modelos de registos Os modelos ER ajudam na modelização dos dados Mas não ajudarão como modelo para “tratamento” dos dados armazenados.  Como é que os dados estão armazenados?  Como consultar os dados?  Como alterar os dados? Ajudava mais ver os dados organizados em tabelas... ou, usando nomenclatura matemática, em relações

©Silberschatz, Korth and Sudarshan (Modificado)3.1.3Database System Concepts Exemplo de uma Relação

©Silberschatz, Korth and Sudarshan (Modificado)3.1.4Database System Concepts Estrutura Básica Formalmente, dados os conjuntos D 1, D 2, …. D n,, uma relação r é um subconjunto de D 1 x D 2 x … x D n Portanto, uma relação é um conjunto de tuplos (a 1, a 2, …, a n ) em que a i  D i Exemplo: Se customer-name = {Jones, Smith, Curry, Lindsay} customer-street = {Main, North, Park} customer-city = {Harrison, Rye, Pittsfield} Então r = { (Jones, Main, Harrison), (Smith, North, Rye), (Curry, North, Rye), (Lindsay, Park, Pittsfield)} é uma relação em customer-name x customer-street x customer-city

©Silberschatz, Korth and Sudarshan (Modificado)3.1.5Database System Concepts Atributos Todo o atributo de uma relação tem um nome O conjunto de valores que um atributo pode tomar é chamado de domínio do atributo. Normalmente, obriga-se a que os valores dos atributos sejam atómicos, ou seja, indivisíveis:  E.g. atributos multivalor não são atómicos  E.g. atributos compostos não são atómicos O valor especial null pertence a todos os domínios O valor null causa complicações na definição de muitas operações  Ignoraremos o efeito dos valores nulos em grande parte da apresentação mas consideraremos posteriormente as suas implicações

©Silberschatz, Korth and Sudarshan (Modificado)3.1.6Database System Concepts Esquema de Relação A 1, A 2, …, A n são atributos R = (A 1, A 2, …, A n ) é um esquema de relação E.g. Customer-schema = (customer-name, customer-street, customer-city) r(R) é uma relação no esquema de relação R E.g.customer(Customer-schema)

©Silberschatz, Korth and Sudarshan (Modificado)3.1.7Database System Concepts Instância de Relação Os valores correntes (instância da relação) de uma relação são descritos por uma tabela Um elemento t de r é um tuplo, representado por uma linha da tabela Jones Smith Curry Lindsay customer-name Main North Park customer-street Harrison Rye Pittsfield customer-city customer atributos tuplos

©Silberschatz, Korth and Sudarshan (Modificado)3.1.8Database System Concepts As relação não estão ordenadas A ordem dos tuplos é irrelevante (os tuplos podem ser armazenadas segundo qualquer ordem) E.g. relação account com os tuplos desordenados

©Silberschatz, Korth and Sudarshan (Modificado)3.1.9Database System Concepts Base de Dados Uma base de dados é constituída por diversas relações A informação acerca de uma empresa é dividida em partes, em que cada relação armazena uma parte dessa informação E.g.: account : armazena informação acerca de contas depositor : regista os clientes que podem movimentar as contas customer : guarda informação acerca de clientes O armazenamento da informação numa única relação bank(account-number, balance, customer-name,..) origina  repetição de informação (e.g. dois clientes que detêm uma conta)  A necessidade de valores nulos (e.g. para representar um cliente que não possui uma conta) A teoria da normalização (capítulo 7) especifica como se devem desenhar esquemas de relação

©Silberschatz, Korth and Sudarshan (Modificado)3.1.10Database System Concepts Chaves Seja K  R K é uma super-chave de R se os valores de K são suficientes para identificar um único tuplo de toda a relação r(R) possível. Por “relação possível” entende-se uma instância r que pode existir na empresa que estamos a modelar. Exemplo: {customer-name, customer-street} e {customer-name} são ambas super-chaves de Customer, se não é possível dois clientes terem o mesmo nome. K é uma chave candidata se K é minimal Exemplo: {customer-name} é uma chave candidata para Customer, dado ser uma super-chave (assumindo que dois clientes não podem ter o mesmo nome), e nenhum subconjunto dela é uma super-chave.

©Silberschatz, Korth and Sudarshan (Modificado)3.1.11Database System Concepts A relação customer

©Silberschatz, Korth and Sudarshan (Modificado)3.1.12Database System Concepts A relação depositor

©Silberschatz, Korth and Sudarshan (Modificado)3.1.13Database System Concepts DER para um banco

©Silberschatz, Korth and Sudarshan (Modificado)3.1.14Database System Concepts Derivação de relações a partir de um DER Uma base de dados que seja representável por um DER pode ser também representada por intermédio de um conjunto de relações. Para cada conjunto de entidades e para cada conjunto de associações gera-se uma única relação (ou tabela) com o nome do conjunto de entidades ou conjunto de associações respectivo. A conversão de um DER para um esquema de tabelas constitui a base para a derivação do desenho de uma base de dados relacional a partir de um DER

©Silberschatz, Korth and Sudarshan (Modificado)3.1.15Database System Concepts Conjuntos de Entidades como Tabelas Um conjunto forte de entidades reduz-se a uma relação com os mesmos atributos

©Silberschatz, Korth and Sudarshan (Modificado)3.1.16Database System Concepts Conjuntos de Entidades Fracas Um conjunto de entidades fracas é representado por uma relação que inclui colunas para a chave primária do conjunto de entidades identificador, juntamente com as colunas para os restantes atributos do conjunto de entidades fracas.

©Silberschatz, Korth and Sudarshan (Modificado)3.1.17Database System Concepts Conjuntos de Associações Um conjunto de associações muitos para muitos é representado com uma tabela com colunas para as chaves primárias dos dois conjuntos de entidades participantes, com colunas adicionais para os atributos próprios (ou descritivos) do conjunto de associações. E.g.: tabela para o conjunto de associações borrower

©Silberschatz, Korth and Sudarshan (Modificado)3.1.18Database System Concepts Determinação de Chaves a partir do DER Conjunto de entidades fortes. A chave primária do conjunto de entidades é a chave primária da relação. Conjunto de entidades fracas. A chave primária da relação consiste na união da chave primária do conjunto de entidades forte com o discriminante do conjunto de entidades fracas. Conjunto de relações. A união das chave primárias dos conjuntos de entidades relacionados é uma super-chave da relação.  Para conjuntos de associações binários um-para-muitos, a chave primária do lado “muitos” é a chave primária da relação.  Para conjuntos de associações um-para-um, a chave primária da relação é a chave primária de um dos conjuntos de entidades.  Para conjuntos de associações muitos-para-muitos, a união das chaves primárias é a chave primária da relação.

©Silberschatz, Korth and Sudarshan (Modificado)3.1.19Database System Concepts Tabelas Redundantes Conjuntos de associações muitos-para-um e um-para-muitos, totais no lado muitos podem ser representados adicionando atributos extra ao lado muitos contendo a chave primária do outro conjunto participante. E.g.: Em vez de se criar uma tabela para a associação account- branch, adicionar uma coluna branch à tabela derivada a partir do conjunto de entidades account.

©Silberschatz, Korth and Sudarshan (Modificado)3.1.20Database System Concepts Redundância de Tabelas (Cont.) Para conjuntos de associações um-para-um, qualquer dos lados pode receber a chave primária do outro lado. Se a participação é parcial no lado muitos, a substituição da tabela por uma coluna extra pode levar à ocorrência de valores nulos. É redundante a tabela correspondente ao conjunto de associações relacionando um conjunto de entidades fracas com o seu conjunto identificador.  E.g. A tabela payment já contém a informação que apareceria na tabela loan-payment (i.e., as colunas loan-number e payment- number).

©Silberschatz, Korth and Sudarshan (Modificado)3.1.21Database System Concepts Derivação de Tabelas para a Especialização Método 1:  Formar uma tabela para a entidade de maior nível (mais geral)  Criar uma tabela para cada conjunto de entidades de nível abaixo, incluindo a chave primária da entidade acima e os atributos locais. table table attributes personname, street, city customername, credit-rating employeename, salary  Desvantagem: obter a informação acerca de employee (por exemplo) obriga à consulta de duas tabelas

©Silberschatz, Korth and Sudarshan (Modificado)3.1.22Database System Concepts Derivação de Tabelas para a Especialização Método 2:  Formar uma tabela para cada conjunto de entidades com os atributos locais e herdados table table attributes personname, street, city customername, street, city, credit-rating employee name, street, city, salary Se a especialização é total, não há necessidade de criar uma tabela para a entidade mais geral (person)  Desvantagem: street e city podem ser duplicados para pessoas que são simultaneamente clientes e empregados

©Silberschatz, Korth and Sudarshan (Modificado)3.1.23Database System Concepts Relações Correspondendo à Agregação Para representar agregações, criar uma tabela com a chave primária da associação agregada, a chave primária do conjunto de entidades participante Restantes atributos descritivos

©Silberschatz, Korth and Sudarshan (Modificado)3.1.24Database System Concepts Diagrama do esquema para o banco