O Modelo Relacional Introduo Este modelo considerado o













- Slides: 13
O Modelo Relacional
Introdução • Este modelo é considerado o primeiro modelo de dados efetivamente usado em aplicações comerciais. • Foi introduzido por Codd em 1970. • É o modelo que possui a base mais formal entre os modelos de dados, entretanto é o mais simples e com estrutura de dados mais uniforme.
Estrutura básica O Modelo relacional trabalho sobre 5 pilares • – Relação – também chamada tabela • – Atributo – são as colunas da tabela – servem para relacionar uma tabela com outra • – Domínio – Valores permitidos para cada atributo • – Tupla – uma linha inteira • – Chave – define a unicidade de uma tupla na tabela
Domínio • Um domínio D é um conjunto de valores atômicos. • Por atômico entende-se que cada valor no domínio é indivisível no que diz respeito ao modelo relacional. • Exemplo de especificação de domínio: – O tipo de dados para o domínio “Número_fone_EUA” é uma cadeia de caracteres no formato (ddd)ddddddd, em que d é um dígito numérico, e os três primeiros dígitos formam um código de área de telefone válido.
Relação • Suponha que D 1 denote o domínio do atributo A 1, D 2 denote o domínio do atributo A 2 e. . . Dn denote o domínio do atributo N da tabela T 1. Qualquer linha da tabela que possui estes atributos é denotada pela tupla (d 1, d 2, . . . , dn) em que d 1, d 2 e dn estão, respectivamente em D 1, D 2 e Dn. Em geral, uma instância de T 1 é um subconjunto de D 1 X D 2 X. . . X Dn. • Matematicamente, define-se uma relação como um subconjunto de um produto cartesiano de uma lista de domínios. • O grau de uma relação é o número de atributos que a compõe.
Definindo uma relação • Esquema Aluno: – Aluno (Nome, SSn, Fone, End, Fone. Comercial, Idade, Média) • Especificando os domínios: – Aluno (Nome: string, SSn: string, Fone: string, End: string, Fone. Comercial: string, Idade: string, Média: real) • Outra forma: – Aluno (Nome: Nomes, SSn: SSN, Fone: Tp_fone, End: string, Fone. Comercial: Tp_fone, Idade: string, Média: real)
Convenções • A definição de esquemas deve ser nomeada com o uso de letras maiúsculas. • A relação definida pelo esquema deve ter o mesmo nome de seu esquema mas, com o uso de letras minúsculas. – Esquema: Conta = (nome_agência: tp_agência, número_agência: tp_nagência, saldo: tp_saldo) – Relação: conta(Conta) – Instância da relação conta: Exemplo (próx página)
Conceitos • Considere a relação conta: nome_agência número_conta saldo Downtown A-101 500 Mianus A-215 700 Perryridge A-102 400 Round Hill A-305 350 Brighton A-201 900 Redwood A-222 700 Brighton A-217 750 • A relação conta possui sete tuplas. • Uma variável tupla se refere a uma linha da tabela. • t[nome_agência] denota o valor da tupla t no atributo nome_agência;
Formalizando. . • Uma instância r do esquema de relação R(A 1, A 2, . . . , An), indicado por r(R), é um conjunto de m-tuplas r = {t 1, t 2, . . . , tm}. Cada m-tupla t é uma lista ordenada de m valores t = <v 1, v 2, . . . , vn> em que cada valor vi, 1<=i<=m, é um elemento do dom(Ai) ou um valor null especial. O i_ésimo valor na tupla t, que corresponde ao atributo Ai, é referido como t[Ai].
Particularidades • Não existe qualquer tipo de ordenação ou de definição de ordenação da definição de uma relação. • As duas relações abaixo são ditas idênticas: nome_agência número_conta saldo Downtown A-101 500 Mianus A-215 700 Perryridge A-102 400 Downtown A-101 500 Round Hill A-305 350 Brighton A-201 900 Redwood A-222 700 Brighton A-201 900 Brighton A-217 750
Particularidades • A ordem dos atributos não indica tuplas diferentes • Atomicidade de atributo = primeira forma normal. • O valor null. • As relações interpretam/representam fatos sobre entidades e fatos sobre relacionamentos.
Chaves • Chave primária – define a unicidade do registro na tabela • Chave estrangeira – Serve de ligação entre as tabelas • Ex. número_conta é estrang em depositante e prímária em conta Depositante
Trabalho • Apresente as 12 regas de Codd em forma de tabela da seguinte forma/exemplo: Nº Regra Minha interpretaçãp 3 Tratamento sistemático de valores nulos Cada coluna deve definir qual tratamento deverá ser dado aos valores nulos