SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Modelo Relacional
Carlos J. Costa
Modelo Relacional
• Proposto em 1970 por Edgar F. Codd da IBM
(Codd, E. 1982)
Apesar de algumas polémicas iniciais é dos
modelos mais utilizados
• É o modelo mais recente de entre os modelos
“tradicionais” (hierárquico, rede e relacional)
• Resulta de um desenvolvimento teórico
suportado na teoria dos conjuntos.
Conceitos
• Relação (ou tabela)
– É a estrutura fundamental do modelo relacional
– Estrutura bidimencional
– Tem um determinado esquema
• Esquema da relação
– Constituida por um ou mais atributos
– Cada instância de esquema de relação designa-se tuplo
(ou registo)
• Esquema relacional
– Conjunto de esquemas de relação de uma base de dados
Cliente(NC,Firma,Morada,CPostal)
NC Firma Morada CPostal
Conceitos
• Atributo
– traduzem o tipo de dados a armazenar
– para cada atributo é desingado um domínio
• Domínio de atributo
– é a gama de valores possíveis que um atributo pode
tomar
• Grau da relação
– Número de atributos da relação
• Cardinalidade da relação
– Número de tuplos (ou registos) da relação
NC Firma Morada CPostal
Características das Relações (ou
Tabelas)
• cruzamento linha (tuplo) com coluna (atributo) - >
apenas um valor
• identificadores únicos para atributos de uma relação
• todos os valores de um dado atributo provêm do mesmo
domínio
• tuplos de uma relação devem ser distintos
• a ordem de tuplos numa relação é irrelevante
• a ordem de atributos num esquema de relação é
irrelevante
• o valor de alguns atributos poderá ser desconhecido
(null)
Tipos de Relações (ou Tabelas)
• Relação base
– constituem o esquema da base de dados,
onde estão realmente armazenados os dados
• Relações Virtuais (Views)
– Não têm existência própria
– São derivadas a partir de tabelas base
– Proporcionam vistas parciais sobre o esquema
da base de dados
Chaves
• Superchaves
– associação de um ou mais atributos cujos valores,
em conjunto, identificam univocamente cada tuplo
• Chave candidata
– Subconjunto dos atributos de uma superchave que,
sendo ainda superchave, não pode ser reduzido sem
perder essa qualidade
Chaves
• Chave primária
– Ou chave principal, é seleccionada de entre as
chaves candadatas
• Chave estrangeira
– Ou chave importada, conjunto de um ou mais
atributos que é chave primária em outra relação
Restrições de Integridade
• Integridade do Domínio
– Trata-se da forma mais elementar de restrição de
integridade
– Podem ser garantidas pelo SGBD
– Ex: um atributo só podem assumir como valores possíveis
números
• Integridade da Entidade
– Em todas as relações existe uma chave primária
– Não pode haver nenhum tuplo cuja chave tenha valor nulo
• Integridade Referencial
– Valor de uma chave estrageira pode ser Null, ou
– Valor de uma chave estrangeira é o valor de uma chave
primária na relação de onde foi importada a chave.
As Doze Regas de Codd
• Numa base de dados relacional, todos
os dados, incluindo o próprio dicionário
de dados, são representados de uma
só forma, em tabelas bidimensionais.
• Cada elemento de dados fica bem
determinado pela combinação do
nome da tabela onde está
armazenado, valor da chave primária e
respectiva coluna (atributo)
As Doze Regas de Codd
3. Valores nulos (nulls) são suportados
para representar informação não
disponível ou não aplicável,
independentemente do domínio dos
respectivos atributos.
4. Os metadados são representados e
acedidos da mesma forma que os
próprios dados.
As Doze Regas de Codd
5. Apesar de um Sistema relacional poder
suportar várias linguagens, deverá
existiu pelo menos uma linguagem
com as seguintes características:
• Manipulação de dados
• Definição de dados
• Definição de views
• Definição de restrições de integridade
• Definição de acessos
• Manipulação de transacções
As Doze Regas de Codd
6. Num View, todos os dados actualizáveis
que forem modificados devem ver essas
modificações traduzidas nas tabelas
base
7. Capacidade de tratar uma tabela (base
ou virtual) como se fosse um simples
operando tanto em operações de
consulta como de actualização.
8. Alterações na organização física dos
ficheiros da base de dados ou nos
métodos de acesso a esses ficheiros
não devem afectar o nível conceptual
As Doze Regas de Codd
9. Alterações no esquema da base de
dados, que não envolvam remoção de
elementos, não devem afectar o nível
externo.
10.As restrições de integridade devem
poder ser especificadas numa
linguagem relacional,
independentemente dos programas de
aplicação e armazenadas no dicionário
de dados.
As Doze Regas de Codd
11. O facto de uma base de dados estar
centralizada numa máquina ou
distribuída por várias máquinas, não
deve repercutir-se ao nível da
manipulação de dados
12. Se existir no sistema uma linguagem
de mais baixo nível, ela não deverá
permitir ultrapassar as restrições de
integridade e segurança.
Bibliografia
• Codd, E. (1982) “Relational Database: A practical
Foundation for Produtivity”; Communications of the
ACM; February; pp-109-117.
• Pereira, J. L. Tecnologias de Base de Dados, 3ª Edição,
FCA 1998 (cap. 2).

Mais conteúdo relacionado

Semelhante a Modelo Relacional - Conceitos e Características Chaves

Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J Daniel San Martin
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPAricelio Souza
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosMozart Dornelles Claret
 
Acessando Dados com ADO .NET
Acessando Dados com ADO .NETAcessando Dados com ADO .NET
Acessando Dados com ADO .NETOrlando Junior
 
Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dadosinfo_cimol
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
Banco de Dados 01 - Semana 01
Banco de Dados 01 - Semana 01Banco de Dados 01 - Semana 01
Banco de Dados 01 - Semana 01Eder Samaniego
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dadosessa
 
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
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 

Semelhante a Modelo Relacional - Conceitos e Características Chaves (20)

Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
 
NOSQL - Uma real alternativa
NOSQL - Uma real alternativaNOSQL - Uma real alternativa
NOSQL - Uma real alternativa
 
Banco de dados parte 01
Banco de dados parte 01Banco de dados parte 01
Banco de dados parte 01
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
 
Data WareHOuse
Data WareHOuseData WareHOuse
Data WareHOuse
 
Acessando Dados com ADO .NET
Acessando Dados com ADO .NETAcessando Dados com ADO .NET
Acessando Dados com ADO .NET
 
Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dados
 
2006 - ADONET.ppt
2006 - ADONET.ppt2006 - ADONET.ppt
2006 - ADONET.ppt
 
No sql std
No sql stdNo sql std
No sql std
 
Banco dedados aula001
Banco dedados aula001Banco dedados aula001
Banco dedados aula001
 
Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Banco de Dados 01 - Semana 01
Banco de Dados 01 - Semana 01Banco de Dados 01 - Semana 01
Banco de Dados 01 - Semana 01
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dados
 
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
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 

Mais de Carlos J. Costa

Mais de Carlos J. Costa (20)

Generative AI
Generative AIGenerative AI
Generative AI
 
IA Generativa
IA GenerativaIA Generativa
IA Generativa
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Power BI Computing Languages
Power BI Computing LanguagesPower BI Computing Languages
Power BI Computing Languages
 
Python Scikit-Learn
Python Scikit-LearnPython Scikit-Learn
Python Scikit-Learn
 
Python Pandas
Python PandasPython Pandas
Python Pandas
 
Python Numpy
Python NumpyPython Numpy
Python Numpy
 
Open Source Robotics as Booster to Creativity
Open Source Robotics as  Booster to CreativityOpen Source Robotics as  Booster to Creativity
Open Source Robotics as Booster to Creativity
 
Introdução à Gestão de Projetos - Conceitos
Introdução à Gestão de Projetos - ConceitosIntrodução à Gestão de Projetos - Conceitos
Introdução à Gestão de Projetos - Conceitos
 
Pós-Graduação em Gestão de Projetos
Pós-Graduação em Gestão de ProjetosPós-Graduação em Gestão de Projetos
Pós-Graduação em Gestão de Projetos
 
Introdução à Gestão de Projeto
Introdução à Gestão de ProjetoIntrodução à Gestão de Projeto
Introdução à Gestão de Projeto
 
Usability
UsabilityUsability
Usability
 
Wordpress
WordpressWordpress
Wordpress
 
Client-Side Web Development - An Overview
Client-Side Web Development - An OverviewClient-Side Web Development - An Overview
Client-Side Web Development - An Overview
 
HTML
HTMLHTML
HTML
 
Web Page Development - An Overview
Web Page Development - An OverviewWeb Page Development - An Overview
Web Page Development - An Overview
 
ERP
ERPERP
ERP
 
Weka
WekaWeka
Weka
 
Globalization
GlobalizationGlobalization
Globalization
 
Information systems organization
Information systems organizationInformation systems organization
Information systems organization
 

Modelo Relacional - Conceitos e Características Chaves

  • 2. Modelo Relacional • Proposto em 1970 por Edgar F. Codd da IBM (Codd, E. 1982) Apesar de algumas polémicas iniciais é dos modelos mais utilizados • É o modelo mais recente de entre os modelos “tradicionais” (hierárquico, rede e relacional) • Resulta de um desenvolvimento teórico suportado na teoria dos conjuntos.
  • 3. Conceitos • Relação (ou tabela) – É a estrutura fundamental do modelo relacional – Estrutura bidimencional – Tem um determinado esquema • Esquema da relação – Constituida por um ou mais atributos – Cada instância de esquema de relação designa-se tuplo (ou registo) • Esquema relacional – Conjunto de esquemas de relação de uma base de dados Cliente(NC,Firma,Morada,CPostal) NC Firma Morada CPostal
  • 4. Conceitos • Atributo – traduzem o tipo de dados a armazenar – para cada atributo é desingado um domínio • Domínio de atributo – é a gama de valores possíveis que um atributo pode tomar • Grau da relação – Número de atributos da relação • Cardinalidade da relação – Número de tuplos (ou registos) da relação NC Firma Morada CPostal
  • 5. Características das Relações (ou Tabelas) • cruzamento linha (tuplo) com coluna (atributo) - > apenas um valor • identificadores únicos para atributos de uma relação • todos os valores de um dado atributo provêm do mesmo domínio • tuplos de uma relação devem ser distintos • a ordem de tuplos numa relação é irrelevante • a ordem de atributos num esquema de relação é irrelevante • o valor de alguns atributos poderá ser desconhecido (null)
  • 6. Tipos de Relações (ou Tabelas) • Relação base – constituem o esquema da base de dados, onde estão realmente armazenados os dados • Relações Virtuais (Views) – Não têm existência própria – São derivadas a partir de tabelas base – Proporcionam vistas parciais sobre o esquema da base de dados
  • 7. Chaves • Superchaves – associação de um ou mais atributos cujos valores, em conjunto, identificam univocamente cada tuplo • Chave candidata – Subconjunto dos atributos de uma superchave que, sendo ainda superchave, não pode ser reduzido sem perder essa qualidade
  • 8. Chaves • Chave primária – Ou chave principal, é seleccionada de entre as chaves candadatas • Chave estrangeira – Ou chave importada, conjunto de um ou mais atributos que é chave primária em outra relação
  • 9. Restrições de Integridade • Integridade do Domínio – Trata-se da forma mais elementar de restrição de integridade – Podem ser garantidas pelo SGBD – Ex: um atributo só podem assumir como valores possíveis números • Integridade da Entidade – Em todas as relações existe uma chave primária – Não pode haver nenhum tuplo cuja chave tenha valor nulo • Integridade Referencial – Valor de uma chave estrageira pode ser Null, ou – Valor de uma chave estrangeira é o valor de uma chave primária na relação de onde foi importada a chave.
  • 10. As Doze Regas de Codd • Numa base de dados relacional, todos os dados, incluindo o próprio dicionário de dados, são representados de uma só forma, em tabelas bidimensionais. • Cada elemento de dados fica bem determinado pela combinação do nome da tabela onde está armazenado, valor da chave primária e respectiva coluna (atributo)
  • 11. As Doze Regas de Codd 3. Valores nulos (nulls) são suportados para representar informação não disponível ou não aplicável, independentemente do domínio dos respectivos atributos. 4. Os metadados são representados e acedidos da mesma forma que os próprios dados.
  • 12. As Doze Regas de Codd 5. Apesar de um Sistema relacional poder suportar várias linguagens, deverá existiu pelo menos uma linguagem com as seguintes características: • Manipulação de dados • Definição de dados • Definição de views • Definição de restrições de integridade • Definição de acessos • Manipulação de transacções
  • 13. As Doze Regas de Codd 6. Num View, todos os dados actualizáveis que forem modificados devem ver essas modificações traduzidas nas tabelas base 7. Capacidade de tratar uma tabela (base ou virtual) como se fosse um simples operando tanto em operações de consulta como de actualização. 8. Alterações na organização física dos ficheiros da base de dados ou nos métodos de acesso a esses ficheiros não devem afectar o nível conceptual
  • 14. As Doze Regas de Codd 9. Alterações no esquema da base de dados, que não envolvam remoção de elementos, não devem afectar o nível externo. 10.As restrições de integridade devem poder ser especificadas numa linguagem relacional, independentemente dos programas de aplicação e armazenadas no dicionário de dados.
  • 15. As Doze Regas de Codd 11. O facto de uma base de dados estar centralizada numa máquina ou distribuída por várias máquinas, não deve repercutir-se ao nível da manipulação de dados 12. Se existir no sistema uma linguagem de mais baixo nível, ela não deverá permitir ultrapassar as restrições de integridade e segurança.
  • 16. Bibliografia • Codd, E. (1982) “Relational Database: A practical Foundation for Produtivity”; Communications of the ACM; February; pp-109-117. • Pereira, J. L. Tecnologias de Base de Dados, 3ª Edição, FCA 1998 (cap. 2).