• Nenhum resultado encontrado

Aula1 - Modelo_Relacional

N/A
N/A
Protected

Academic year: 2021

Share "Aula1 - Modelo_Relacional"

Copied!
41
0
0

Texto

(1)

Banco de Dados

Modelo Relacional

(2)

Modelo Relacional

Modelo Relacional

• Introduzido por Codd em 1970 (IBM/

Califórnia)

• Modelo com uma sólida base formal

– teoria dos conjuntos

• Conceitos Simples

– relações, atributos, tuplas e domínios

• Não considera aspectos físicos de

armazenamento, acesso e desempenho

• Base para a maioria dos SGBDs

(3)

Modelo Relacional -

Modelo Relacional -

Características

Características

• Organização dos dados

– conceitos do modelo: atributo, relação, chave, ...

• Integridade

– restrições básicas para dados e relacionamentos

• Manipulação

(4)

Conceitos Gerais:

Conceitos Gerais:

Domínio

Domínio

• Conjunto de valores permitidos para um dado • Possui uma descrição física e outra

semântica.

• A descrição física identifica o tipo e o

formato dos valores que compõem o

domínio

– exemplo: char(13), “(99)9999-9999”

• a descrição semântica ajuda na interpretação de seus valores

(5)

Exemplo de

Exemplo de

Domínio

Domínio

(6)

Exemplo de

Exemplo de

Domínio

Domínio

NOME Varchar(20)

Nomes próprios de pessoas

(7)

Exemplo de

Exemplo de

Domínio

Domínio

NOME Varchar(20)

Nomes próprios de pessoas

DOMÍNIO

Tipo

(8)

Exemplo de

Exemplo de

Domínio

Domínio

Telefone Varchar(10)

Telefones válidos no Brasil

DOMÍNIO

Tipo

Semântica

(99) 9999-9999

(9)

Conceitos Gerais:

Conceitos Gerais:

Atributo

Atributo

• Um item de dado do Banco de Dados (BD)

• Possui um nome e um domínio • Exemplos

– nome: varchar(20) – matrícula: integer

– dataNasc: date DataNa

sc Matríc

ula Nom

(10)

Conceitos Gerais:

Conceitos Gerais:

Tupla

Tupla

• Um conjunto de pares (atributo,

valor)

• Valor de um atributo

– Definido no momento da criação de uma tupla deve ser:

• compatível com o domínio ou NULL • Atômico (indivisível) 20/02/1985 01427 Maria 03/07/1976 02467 Vânia 12/11/1980 01035 Renata DataNasc Matrícula Nome Tupla 1 Atributo: Nome Valor: Renata

(11)

Conceitos Gerais:

Conceitos Gerais:

Relação

Relação

• Composto por um cabeçalho e um corpo

• Cabeçalho

– número fixo de atributos (grau da relação) – atributos não-ambíguos

• Corpo

– número variável de tuplas (cardinalidade da relação)

(12)

Exemplo

Exemplo

Relação

Relação

20/02/1 985 São Diego 310/34 01427 Mari a 03/07/1 976 Capote Valente, 35 02467 Vâni a Rua das Flores, 210 Endereço 12/11/1 980 01035 Rena ta DataNa sc CPF Nom e Aluno Cabeçalho Corpo

(13)

Relembrando...

Relembrando...

• Relação é uma Tabela

• Atributo é um Campo (coluna da

tabela)

• Tupla é uma linha da tabela

• Domínio: tipo de dado, formato de

um atributo

(14)

Banco de Dados

Banco de Dados

Relacional

Relacional

• O universo de um banco de dados relacional é um

conjunto finito, não vazio, de relações.

• o esquema é o conjunto dos esquemas das relações que o formam, isto é:

R1 (A11, A12, ..., A1n)

R2 (A21, A22, ..., A2n)

....

Rm (Am1, Am2, ..., Amn)

• uma instância de um banco de dados relacional é o conjunto das instâncias de suas relações.

• o mesmo esquema pode se aplicar a diferentes instâncias de um banco de dados.

(15)

Esquema e Instância

Esquema e Instância

• Esquema

– Aluno (nome,matrícula, endereço, DataNasc, Curso)

– Curso (codigo, descrição)

• Instância

– (Daniela, 12345, São Diego, 310, 28/06, 1)

(16)

Chave

Chave

• Conjunto de um os mais atributos de

uma relação

– Chave Primária (primary key) – PK – Chave Candidata

– Chave Alternativa

(17)

Chave Primária

Chave Primária

• Primary key (

PK)

– atributo(s) cujo (conjunto de) valor(es)

identifica(m) unicamente uma tupla

em uma relação

– Unicidade de valores na coluna que compõe a chave

(18)

Chave Primária (PK)

Chave Primária (PK)

20/02/1 985 São Diego 310/34 01427 Mari a 03/07/1 976 Capote Valente, 35 02467 Vâni a Rua das Flores, 210 Endereço 12/11/1 980 01035 Rena ta DataNa sc CPF Nom e Aluno

(19)

Chave Primária (PK)

Chave Primária (PK)

20/02/1 985 São Diego 310/34 01427 Mari a 03/07/1 976 Capote Valente, 35 02467 Vâni a Rua das Flores, 210 Endereço 12/11/1 980 01035 Rena ta DataNa sc CPF Nom e Aluno

(20)

Chave Primária (PK)

Chave Primária (PK)

20/02/1 985 São Diego 310/34 34768578 4432 Maria 03/07/1 976 Capote Valente, 35 69352987 6987 Vânia Rua das Flores, 210 Endereço 12/11/1 980 70103426 3890 Renat a DataNas c CPF Nome Aluno

(21)

Chave Primária (PK) –

Chave Primária (PK) –

Composta

Composta

Alocação (Cod_Projeto, Cod_Func,

DataIni, Tempo)

(22)

Chave Candidata

Chave Candidata

• Possui as mesmas propriedades que a chave primária • Qual escolher para Chave Primária?

• Escolhe-se para chave primária aquela com o atributo único ou menor número de caracteres

347685784 432 693529876 987 701034263 890 CPF 20/02/1985 01427 Maria 03/07/1976 02467 Vânia 12/11/1980 01035 Rena ta DataNasc Matríc ula Nom e Chaves candidatas

(23)

Chave Alternativa

Chave Alternativa

347685784 432 693529876 987 701034263 890 CPF 20/02/1985 01427 Maria 03/07/1976 02467 Vânia 12/11/1980 01035 Rena ta DataNasc Matríc ula Nom e Chave Primária Chave alternativa

(24)

Chave Estrangeira

Chave Estrangeira

• Foreign Key (

FK

)

• Atributo(s) de uma relação, cujos

valores devem obrigatoriamente

aparecer na chave primária de uma

relação (da mesma ou de outra)

• Implementa o relacionamento em um

BD relacional

(25)

Chave Estrangeira (FK)

Chave Estrangeira (FK)

1 2 1 Cur so 3476857844 32 6935298769 87 7010342638 90 CPF 01427 Maria 02467 Vânia 01035 Renat a Matrícu la Nome

(26)

Chave Estrangeira (FK)

Chave Estrangeira (FK)

1 2 1 Curs o 34768578443 2 69352987698 7 70103426389 0 CPF 01427 Maria 02467 Vânia 01035 Renat a Matrícul a Nome

Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Codig o

(27)

Chave Estrangeira (FK)

Chave Estrangeira (FK)

Aluno(CPF, Nome, Endereço, DataNasc, #Curso) Curso (Codigo, Descrição)

(28)

Chave Estrangeira (FK)

Chave Estrangeira (FK)

Funcionário (CodFunc, Nome, Endereço, #Cod_Chefe) 2 Carlos Gomes, 50 Carl a 4 1 3 4 Cod_Ch efe Anita Garibaldi, 12 Oscar Freire, 10 Av. Joaquim 2 Endereço Pedr o 3 João 2 Mari a 1 No me CodF un

(29)

Revisando...

Revisando...

• Chave Primária (PK)

• Chave candidata

• Chave alternativa

• Chave Estrangeira (FK)

(30)

Restrições de

Restrições de

Integridade

Integridade

• É uma regra que deve ser obedecida em todos os estados válidos da base de dados.

• Garantem que os dados refletem corretamente a realidade modelada.

– Domínio, Chave Primária, Valores

Vazios

– Integridade de Entidade – Integridade Referencial – Semântica

(31)

Restrições de

Restrições de

Integridade

Integridade

• Domínio: conjunto de valores que um atributo pode assumir

Exemplo: Nome: varchar (20)- Alessandra Vogel Oliveira

viola a regra

(32)

Integridade de

Integridade de

Entidade

Entidade

• Garantia de acesso a todos os dados sem ambigüidade

• Atributos pertencentes a

chave-primária de uma relação não podem ter valor nulo

• A chave primária representa uma entidade na base de

dados Carl a 4 Ped ro 3 João 2 Mari a 1 No me CodF un

(33)

Integridade

Integridade

Referencial

Referencial

• Chave estrangeira (FK) • Garantia de relacionamentos válidos • Os valores que aparecem na FK devem aparecer na PK da relação referenciada 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427 Maria 02467 Vânia 01035 Renata Matrícula Nome 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427 Maria 02467 Vânia 01035 Renata Matrícula Nome

Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Curso

Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Curso

(34)

Integridade

Integridade

Semântica

Semântica

• Especificada através de regras sobre o esquema do banco de dados

• Exemplos:

– O salário de um empregado deve ser menor ou igual ao do seu supervisor

– O número de horas semanais de um

empregado em um projeto não pode ser maior do que 50

(35)

Restrições de

Restrições de

Atualização

Atualização

Inserção: insere tuplas em uma relação • Pode violar 4 restrições de integridade:

– Integridade de Domínio (ex: inserir caracteres em atributo numérico)

– Integridade de Chave (ex.: chave duplicada)

– Integridade de Entidade (ex: inserir mais de uma vez o mesmo cpf)

– Integridade Referencial: valor da FK refere-se a uma tupla que não existe na relação referenciada

(36)

Restrições de

Restrições de

Atualização

Atualização

Exclusão: exclui tuplas de uma relação • Pode violar :

Integridade referencial: se a tupla que está sendo excluída está referenciada por uma FK de outra tuple Exemplo: excluir o curso 2

Ciências Jurídicas e Sociais Administração de Empresas Ciência da Computação Descrição 3 2 1 Curso 1 2 1 Curso 347685784432 693529876987 701034263890 CPF 01427 Maria 02467 Vânia 01035 Renata Matrícula Nome

(37)

Restrições de

Restrições de

Atualização

Atualização

• Procedimento a ser adotado:

– Rejeitar a operação – Excluir em cascata

– Mudar os valores dos atributos referenciados

(38)

Restrições de

Restrições de

Atualização

Atualização

Atualização

: altera os valores de

atributos nas tuplas existentes

– Pode violar:

• Restrição de Domínio para atributos que não são chave

• Chave primária e entidade • Referencial

(39)

Exercício:

Exercício:

Considere o seguinte esquema relacional:

Categoria(CodCategoria, Descrição)

Cliente (CodCli, Nome, Endereco, CPF, CodCategoria) Funcionário (CodFunc, Nome, CT, CPF, End, Fone)

Fornecedor (CodFornec, Nome, Cidade)

Produto (CodProd, CodFornec, Nome, Peso, Valor)

1) Identificar as chaves primárias e chaves estrangeiras 2) Explique o que deve ser feito pelo SGBD para garantir a

(40)

Exercício:

Exercício:

1) Identificar as chaves primárias e

chaves estrangeiras

2) Explique o que deve ser feito pelo

SGBD para garantir a integridade

referencial nas seguintes situações:

a) Uma tupla é excluída na tabela Categoria

b) Uma tupla é alterada na tabela Fornecedor

(41)

• Sistemas de Banco de Dados, Elmasri-Navathe

- 4a. Edição: Capítulo 5

• Projeto de Banco de Dados , Carlos

Alberto Heuser – 5ª edição: Capítulo 4

Leitura Complementar

Leitura Complementar

Referências

Documentos relacionados

Se por alguma razão você não puder comparecer ao médico para fazer uso da medicação na data marcada, o ERANFUL ® pode ser administrado 3 dias antes ou 3 dias depois desta data.

Analisando as Figuras nota-se que a polpa de cupuaçu pura (Fig. 6) apresentou característica de um gel mais estruturado, devido às pectinas, e ao se adicionar pequenas

j) Se apresentar documentos em língua estrangeira, estes deverão estar visados pela autoridade consular brasileira no país de origem e acompanhados da respectiva tradução oficial.

“É importante deixar claro que essas linhas do tempo são um pouco arbitrárias e têm sido revistas pela história da arte, mas a fase antropofágica compreende o período

de calçados para o Brasil, em setembro de 2009, o Governo autorizou a cobrança de uma taxa “antidumping” provisória de US$ 12,47, por um período de seis meses, para cada par

Tais resultados em Saimiri fornecem informações básicas imprescindíveis para o avanço nas pesquisas sobre a composição biomolecular do coágulo seminal, e consequentemente um

 Alguns transportadores transportadores das das classes classes anteriores, anteriores, entre entre os os quais quais o o de de correia, o helicoidal e o de

É muito usado nos arquivos de configuração para adicionar informações que não serão executadas, como por exemplo o nome do autor do arquivo, in- formações de como proceder