BANCO DE DADOS Modelo Relacional Arnaldo Rocha 1995
BANCO DE DADOS Modelo Relacional Arnaldo Rocha 1995
Conceitos Gerais: Relação Definição 1: Dados os conjuntos S 1, S 2, . . , Sn, não necessariamente distintos, diz-se que R é uma relação sobre esses n conjuntos se R é um conjunto de m tuplas, nas quais o primeiro elemento assume valores em S 1, o segundo em S 2, e assim por diante. EXEMPLO: nome da relação S 1 S 3 S 2 S 4 Aluno tupla 1 tupla m Arnaldo Rocha 1995
Conceitos Gerais: Atributos Definição 2: Dada uma relação R, define-se como seus atributos os nomes das funções que mapeiam os valores de cada um de seus elementos nos respectivos conjuntos S 1, S 2, . . , Sn. EXEMPLO: S 1 S 3 S 2 Nome ATRIBUTOS S 4 Idade Sexo Matrícula Aluno relação Arnaldo Rocha 1995
Conceitos Gerais: Domínios. . . Definição 3: Dada uma relação R, o domínio do atributo Aj , dom(Aj ), é o conjunto Sj no qual o atributo assume valores. S 3 S 1 DOMÍNIOS dom(Nome) dom(Sexo) S 2 dom(Idade) atributos Nome Idade S 4 dom(Matrícula) Sexo Matrícula tupla Arnaldo Rocha 1995
Conceitos Gerais: Domínios. . . • Todo domínio possui uma descrição física e outra semântica. • a descrição física serve para identificar o tipo e o formato dos valores que compõem o domínio. exemplo: char(13), “(ddd)ddd-dddd” • a descrição semântica serve para ajudar na interpretação de seus valores. exemplo: Arnaldo Rocha “Nomes de Departamentos da UERJ” 1995
Conceitos Gerais: Domínios EXEMPLOS domínio descrição física Arnaldo Rocha descrição semântica 1995
Conceitos Gerais: Domínios. . . n n O mesmo domínio pode se aplicar a vários atributos. Os atributos de uma relação podem ser vistos como diferentes interpretações para o mesmo domínio. ESTUDANTE Números Locais de Telefones Telefone Residencial de um Estudante Arnaldo Rocha Telefone Comercial de um Estudante 1995
Conceitos Gerais: Esquema de uma Relação. . . n n n usado para descrever uma relação através da especificação de seus atributos e domínios. formado pelo nome da relação e uma lista de atributos A 1, A 2, . . . , An, onde Aj é o nome do papel desempenhado pelo domínio Dj no esquema da relação R. também chamado de intensão da relação R. Arnaldo Rocha 1995
Conceitos Gerais: Esquema de uma Relação Definição 4: O esquema de uma relação R, denotado por R (A 1: D 1, A 2: D 2, . . . , Am: Dm) , é formado pelo nome da relação e pela lista de seus atributos e respectivos domínios. EXEMPLO: ALUNO (Nome: Nome. Pessoas, Idade: Idade. Pessoas, Sexo: Sexo. Pessoas, Matrícula: Códigos. Matrícula) esquema da relação ALUNO intensão da relação R extensão ou instância da relação R Arnaldo Rocha 1995
Conceitos Gerais: Intensão x Extensão n Para uma mesma intensão pode existir mais de uma extensão. alunos do campus central Arnaldo Rocha alunos do campus de Resende 1995
Revisitando o Conceito de Relação. . . Definição 5: Uma relação ou instância de relação r do esquema R (A 1: D 1 , A 2: D 2 , . . , An: Dn), também denotada por r(R), é um conjunto de m-tuplas r = {t 1, t 2, . . . , tm}, onde cada tupla t = < v 1, v 2, . . . , vn> é uma lista ordenada de n valores, em que cada valor vi, 1<= i <= n, ou é nulo ou pertence ao domínio Di = dom(Ai). dom(A 1) . . . dom(An) A 1 . . . An esquema R t 1. . . relação r(R) tm Arnaldo Rocha 1995
Revisitando o Conceito de Relação Definição 6: Uma relação ou instância de relação do esquema R (A 1: D 1 , A 2: D 2 , . . , An: Dn), r(R), é um subconjunto do Produto Cartesiano dos domínios que definem R, isto é: r(R) (dom(A 1) x dom(A 2) x. . . x dom(An)) • O Produto cartesiano especifica todas as possíveis combinações de valores domínios subjacentes, isto é: |dom(A 1)| * |dom(A 2)| *. . . * |dom(An)| • Dessas possíveis combinações, a instância r(R) de uma relação, num dado instante, reflete apenas as tuplas que representam um estado particular do mundo real. Arnaldo Rocha 1995
Banco de Dados Relacional. . . • o universo de um banco de dados relacional é um conjunto finito, não vazio, de relações. • o esquema de um banco de dados relacional é o conjunto dos esquemas das relações que o formam, isto é: R 1 R 2. . Rm (A 11, A 12, . . , A 1 n) (A 21, A 22, . . , A 2 n) (Am 1, Am 2, . . . . , Amn) • uma instância de um banco de dados relacional, num certo instante, é o conjunto das instâncias de suas relações, no mesmo instante. • o mesmo esquema pode se aplicar a diferentes instâncias de um banco de dados. Arnaldo Rocha 1995
Características das Relações. . . n Não existe ordem entre as tuplas de uma relação. Do ponto de vista conceitual, não há diferença entre essas duas relações. Arnaldo Rocha 1995
Características das Relações. . . n Desde que seja mantida a correspondência entre atributos e valores, não existe ordem entre os atributos de uma relação. Do ponto de vista conceitual, não há diferença entre essas duas relações. Arnaldo Rocha 1995
Características das Relações. . . n Todos os atributos de uma relação devem ser atômicos, isto é, indivisíveis em termos de valores e componentes. Relação Inválida! Arnaldo Rocha atributo multivalorado atributo composto 1995
Características das Relações. . . n n O esquema de uma relação pode ser interpretado como uma declaração ou um tipo de assertiva. Cada tupla da relação pode ser interpretada como um fato ou uma instância particular dessa assertiva. ASSERTIVA: Uma entidade do tipo ALUNO possui Nome, Idade, Sexo e Matrícula. FATO: Arnaldo Rocha Existe um ALUNO de Nome “Antonio”, com “ 19” anos de Idade, do Sexo “M”, cuja Matrícula é “ 111111”. 1995
Características das Relações. . . n n O esquema de uma relação também pode ser interpretado como um predicado lógico. Nesse caso, as tuplas de uma relação são interpretadas como valores que satisfazem o predicado. PROBLEMA l Dado um esquema de relação, o conjunto verdade do predicado subjacente é formado apenas pelo conjunto de tuplas de suas instâncias !!! Arnaldo Rocha 1995
Características das Relações n Numa relação, todos os atributos devem ter nomes distintos. Conceitualmente, não existe nada que impeça dois atributos de terem o mesmo nome. A restrição é apenas de ordem prática, para facilitar a consulta ao banco de dados. n Nenhuma relação possui atributos duplicatas. Essa restrição decorre não apenas do fato de uma relação ser um conjunto, no sentido matemático do termo, como também do fato de suas tuplas representarem uma assertiva sobre o mundo real. Não faz sentido representar a mesma assertiva duas vezes no mesmo banco de dados. Arnaldo Rocha 1995
Restrições do Modelo Relacional n n Restrições de Domínio - especificadas através do tipo de dados de cada atributo do esquema de uma relação. Restrições de Chave - especificadas através da definição de uma chave de acesso em cada relação. Restrições de Integridade - especificadas através de regras específicas sobre o esquema do banco de dados. Restrições Semânticas - especificadas através de regras sobre os esquema do banco de dados. Arnaldo Rocha 1995
Restrições de Domínio n n n Especifica que o valor de cada atributo A deve ser um elemento atômico do domínio de A. Em geral, é especificado através de tipos primitivos de dados, tais como integer, float, char, date, time, money, etc. Também podem ser descritos através da definição de subconjuntos de tipos primitivos ou de listas enumeradas. Arnaldo Rocha 1995
Restrições de Chave: O Conceito de Superchave Definição 7: Define-se como SUPERCHAVE do esquema de uma relação R, todo subconjunto de atributos, tal que não existem duas tuplas em qualquer de suas instâncias, com a mesma combinação de valores para esses atributos. Toda relação possui pelo menos uma SUPERCHAVE: “o conjunto de todos os seus atributos” Arnaldo Rocha 1995
Restrições de Chave: O Conceito de Chave. . . Definição 8: Uma chave K do esquema de uma relação R, é uma superchave de R, tal que a remoção de qualquer atributo de K resulta em um subconjunto de atributos K’, que não é uma superchave de R. Uma CHAVE é uma SUPERCHAVE mínima: uma superchave da qual não se pode remover qualquer atributo sem violar a restrição de unicidade de tuplas. Arnaldo Rocha 1995
Restrições de Chave: O Conceito de Chave. . . EXEMPLO: O atributo [Matrícula] é uma chave nesta relação, uma vez que nenhum par de tuplas de ALUNO pode ter o mesmo valor de “Matrícula“. Assim sendo, qualquer subconjunto de atributos que inclua o atributo [Matrícula] constitui uma SUPERCHAVE de ALUNO. No entanto, a superchave {Matrícula, Nome, Idade} não é uma chave de ALUNO, uma vez que a remoção dos atributos Nome e/ou Idade ainda resulta numa superchave de ALUNO. Arnaldo Rocha 1995
n n n Restrições de Chave: O Conceito de Chave. . . utilizado para identificar O valor de um atributo-chave pode ser uma tupla específica numa relação. Uma chave é uma propriedade do esquema de uma relação, isto é, uma propriedade que deve ser respeitada por todas as instâncias da relação. Atributos cujos valores no mundo real podem ser duplicados, não devem ser definidos como chaves de uma relação (Nome, por exemplo). Em geral, uma relação pode ter mais de uma chave. Nesse caso, cada chave da relação é chamada de CHAVE CANDIDATA. A chave candidata escolhida para identificar as tuplas de uma relação é chamada de CHAVE PRIMÁRIA. Em geral, entre todas as chaves candidatas, escolhe-se para chave primária aquela com o menor número de atributos Arnaldo Rocha 1995
Restrições de Integridade. . . n Integridade de Entidade: estabelece que nenhum dos atributos pertencentes a chave-primária de uma relação pode ter valor nulo. Isso é para garantir a identidade individual das tuplas de uma relação, uma vez que a chave-primária é utilizada para identificar cada uma de suas tuplas. Arnaldo Rocha 1995
Restrições de Integridade. . . n Integridade Referencial: estabelece qualquer tupla pertencente a uma relação R 1 que referencie uma outra relação R 2, tem de necessariamente referenciar uma tupla existente em R 2. chave-estrangeira EXEMPLO: chave-primária Arnaldo Rocha 1995
Conceitos Gerais: Chave-Estrangeira. . . Definição 9: Seja FK um conjunto de atributos de um esquema de relação R 1. Diz-se que FK é uma chave-estrangeira de R 1 se FK satisfizer as seguintes condições: 1. Os atributos pertencentes a FK possuirem os mesmos domínios correspondentes aos atributos PK da chaveprimária de um outro esquema de relação R 2 ; e 2. O valor de FK , em qualquer tupla de R 1, for nulo ou igual ao valor de PK , em alguma tupla de R 2. • Utilizadas para manter a consistência entre as tuplas de duas relações distintas e relacionadas entre si. • Decorrem tipicamente dos relacionamentos entre entidades definidos no modelo conceitual do banco de dados. Arnaldo Rocha 1995
Chave-Estrangeira: Exemplo EMPREGADO DEPARTAMENTO PROJETO DEPTO_LOCAL TRABALHA_EM DEPENDENTE Arnaldo Rocha 1995
Chave-Estrangeira: Observações. . . n n o valor de uma chave-estrangeira deve necessariamente aparecer como valor da chave-primária a que ela se refere. o conjunto de restrições referenciais de um banco de dados pode ser representado através de um diagrama referencial. Super. Matrícula. Emp DEPENDENTE Depto EMPREGADO DEPARTAMENTO Matrícula. Gerente Matrícula. Emp TRABALHA_EM PROJETO Depto DEPTO_LOCAL PCódigo Arnaldo Rocha 1995
Chave-Estrangeira: Observações n Diz-se que existe um caminho referencial entre a relação Rn e a relação R 1, quando: Rn n . . . R 3 R 2 R 1 Diz-se que o conjunto de relações Rn, Rn-1, . . . , R 2, R 1 forma um ciclo referencial se existe um caminho referencial de Rn a ela mesma, isto é: Rn n Rn-1 . . . R 2 R 1 R 2 . . . Rn-1 Rn Como tratar as atualizações que violam as restrições referenciais? Arnaldo Rocha 1995
Restrições Semânticas n Especificadas através de regras sobre o esquema do banco de dados. EXEMPLO l l o salário de um empregado tem de ser menor ou igual ao salário de seu supervisor. o número de horas semanais que um empregado pode trabalhar em projetos tem de ser menor ou igual a 56. Arnaldo Rocha 1995
Linguagens de Consulta n Linguagens Formais l l n álgebra relacional cálculo relacional u cálculo de tuplas u cálculo de domínios Linguagens Comerciais l l l SQL QUEL QBE Arnaldo Rocha 1995
- Slides: 33