Sei sulla pagina 1di 46

Fundamentos de Banco

de Dados

Prof. Emanoel Claudino

2019
A Abordagem Relacional
Introdução
• Foi criado em 1970 pelo matemático E. F. Codd,
pesquisador da IBM
• Pode-se relacionar as razões do sucesso deste
modelo com:
• Uma estrutura de dados simples e uniforme;
• Fundamentação teórica forte.
Aspectos do Modelo Relacional
• Aspecto Estrutural
• Os dados no BD são percebidos pelo usuário como
tabelas, e nada além de tabelas.
• Aspecto de Integridade
• Essas tabelas devem satisfazer a certas restrições de
integridade.
• Aspecto Manipulativo
• Os operadores derivam tabelas de outras tabelas.
Desses operadores, três são particularmente
importantes: restrição, projeção e junção.
Aspecto Estrutural
• A estrutura de dados do modelo relacional é a
relação, ou comumente chamada de tabela
(bidimensional)
• Assim, um BD é representado por um conjunto de
relações
Aspecto Estrutural
• Visão Relacional dos Dados
• São organizados em tabelas (relações)
• Assemelham-se a arquivos sequenciais
• Baseada na teoria matemática dos conjuntos
• Na estrutura relacional abandona-se os operadores
que tratam registro a registro para utilizar os
operadores de conjunto
Aspecto Estrutural
• Elementos de uma relação
• Tupla – linhas da relação
• Atributo – coluna da relação
• Domínio – reservatório de valores possíveis de serem
armazenados pelos atributos
• Associações – realizadas através de atributos cujos
valores são de um mesmo domínio
Aspecto Estrutural
Aspecto de Integridade
• Um dos mais importantes princípios de um
modelo de banco de dados
• Realizado através das restrições obrigatórias
impostas pelo modelo
Aspecto de Integridade
• Restrição de Domínio
• O valor de cada atributo deve ser um valor atômico do
domínio daquele atributo ou valor nulo
• Nulo
• Não se aplica a referida tupla
• O valor existe mas é desconhecido
• O valor é conhecido mas está ausente
Aspecto de Integridade
• Restrição de Chave (Entidade)
• Uma relação deve ter pelo menos uma chave
• Chave
• Conjunto de atributos
• Conjunto de atributos cujo valor ou combinação de valores
deve ser distinto em qualquer instancia da relação
Aspecto de Integridade
• A existência de pelo menos uma chave é uma
condição obrigatório tendo em vista que uma
relação pode ser definida como um conjunto de
tuplas, e todas as tuplas devem ter um valor
distinto
• Exemplo
• Candidata, Primária
Aspecto Manipulativo
• Restrição

• Departamentos nos quais o orçamento é superior a 8000


Aspecto Manipulativo
• Projeção

• Departamentos sobre Ndep#, Orçamento


Aspecto Manipulativo
• Junção

• Junção de Funcionários e Departamentos sobre Nrdep#


Fechamento
• Os operadores derivam de fato relações de outras
relações
• A saída de qualquer operação é do mesmo tipo de
objeto que a entrada – ambas são relações
(tabelas)
• A saída de uma operação pode se tornar a entrada
de outra
Modelo Relacional
• Características
• Organização dos dados
• Atributo, Relação, Chave, ...
• Integridade
• Restrições básicas para dados e relacionamentos
• Manipulação
• Linguagens formais e SQL

• Organização
• O modelo apresenta cinco conceitos chaves:
• Domínio;
• Atributo;
• Tupla;
• Relação;
• Chave.
Modelo Relacional
Domínio
• Definição
• Conjunto de valores permitidos para um dado
• Tipos permitidos (primitivos ou definidos)
• Não se deve confundir a representação física com o
tipo propriamente dito
• P# (tipo que representa o código de peça)
• Representação física numérica
• Porem não aceita operações como: +, *
• Exemplos
• inteiro, string (domínios básicos)
• data, hora (domínios compostos)
• [0, 120], (‘M’, ‘F’) (domínios definidos)
Domínio
• Definição
• Para um domínio existem operações válidas
• inteiro (somar, dividir, i1 maior que i2, ...)
• data (extrair dia, extrair mês, d1 anterior a d2, ...)
• Usuário pode definir tipos e operadores
• Definição de domínios de dados
• DDL
Atributo
• Definição
• Um item de dado do Banco de Dados
• Possui um nome e um domínio
• Exemplos
• nome: string
• idade: [0,120]
Tupla
• Definição
• Um conjunto de n componentes ou pares ordenados da
forma Ai:vi (i = 1,2,...,n)
• Um conjunto de pares (atributo, valor)
• Define uma ocorrência de um fato do mundo real ou de um
relacionamento entre fatos
• Valor de um atributo
• Definido no momento da criação de uma tupla
• Deve ser
• compatível com o domínio OU NULL (valor inexistente ou
indeterminado)
• atômico (indivisível: não-estruturado e monovalorado)
• Exemplo
• aluno: {(nome, ‘João’), (idade, 34), (matrícula, 03167034), ...}
Relação
• Composiçã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)
• ordem não é relevante
• Na prática, uma relação é uma coleção de tuplas
• Neste caso, uma relação é chamada tabela
• Dimensão
• Grau + Cardinalidade
Relação
• Definição
• Dada uma coleção de conjunto D1, D2, ..., Dn, R é uma
relação naqueles n’ conjuntos se ele for um conjunto
de n-tuplas ordenadas <d1, d2, ..., dn> tais que d1
pertença a D1, d2 pertença a D2, ..., dn pertença a Dn.
Os conjuntos D1, D2, ..., Dn são os domínios de R. O
valor n’ é o grau de R.
Relação
• Propriedades
• Não existem tuplas duplicadas
• Tuplas não são ordenadas
• Atributos não são ordenados
• Cada tupla contém exatamente um valor para cada
atributo
Propriedades
• Não existem tuplas duplicadas
• O corpo da relação é um conjunto matemático
• Os conjuntos não incluem elementos duplicados

• Naturalmente tuplas duplicadas não fazem o menor


sentido
• Essa propriedade mostra a diferença entre relação e
tabela
• A linguagem SQL permite a duplicação de tuplas
Propriedades
• Tuplas não são ordenadas
• O corpo da relação é um conjunto matemático
• Em matemáticos os conjuntos não são ordenados
• Não existe nem um conceito de endereçamento
posicional ou de sequência
• A quinta tupla
• A 86° tupla

• A ordenação é imposta pela linguagem de


comunicação, e não pelo banco de dados
Propriedades
• Atributos não são ordenados
• Essa propriedade decorre do fato de que o cabeçalho
de uma relação também é um conjunto (de atributos)
• A ordem dos atributos não muda a relação

• Não existe nem uma ordem sequencial dos atributos


• Primeiro atributo
• Próximo atributo
Propriedades
• Cada tupla contém exatamente um valor para
cada atributo
• Um conjunto de n componentes ou pares ordenados da
forma Ai:vi (i = 1,2,...,n)
• Diz-se que uma relação que satisfaça essa propriedade
está normalizada
Relação
• Operadores - principal característica é a
simplicidades
• Inserção
• inseri tupla em uma relação
• Remoção
• Pode ser aplicada sobre uma determinada tupla, ou sobre
toda a relação
• Exemplo
• Remova de departamento onde Ndep# = 10
Relação
• Operadores
• Atualização
• Atualiza um determinado(s) atributo(s) de uma tupla. Pode
também atingir toda a relação
• Exemplo
• Atualize departamento orcamento = 10000 onde Ndep# = 10
• Consulta
• Extração de informações do BD
• Exemplo
• Imprima o empregado onde Ndep = 10
Regras de Integridades
ou Restrições
Regras de Integridade
• Refere-se a correção ou precisão dos dados
• Quando uma nova restrição é declarada, o sistema
deve primeiro ter certeza de que o banco de
dados a satisfaz.
Chave
• Definição
• Conjunto de um ou mais atributos de uma relação
• Tipos de chaves
• Chaves candidatas
• Chaves primárias
• Chaves alternativas
• Chaves estrangeiras
Chave
• Chaves candidatas
• Seja K um conjunto de atributos da relação R. Então, K
é uma chave candidata para R se e somente se ela
possuir as seguintes propriedades:
• Unicidade – R não pode conter duas tuplas diferentes com o
mesmo valor para K.
• Irredutibilidade – nenhum subconjunto próprio de K tem a
propriedade de unicidade

• Quando mais de um atributo tem a característica de


(imparidade) ser ou assumirem valores únicos.
• Exemplo
• S#, SNAME
Chaves
• Chaves primárias
• atributo(s) cujo (combinação de) valor(es) identifica(m)
unicamente uma tupla em uma relação
• É uma chave candidata
• exemplos
• alunos: matrícula
• cidades: (nome, estado)
Chaves
• Chave Alternativa
• Chave candidata que não é chave primária
Chaves
• Chaves estrangeiras
• atributo(s) de uma relação R1 que estabelece(m) uma
equivalência de valor com a chave primária de uma
relação R2
• se fk é uma chave estrangeira em R1 que faz referência
à chave primária pk de R2 então:
• domínio(fk) = domínio(pk)
• R1 e R2 podem ser a mesma relação
• exemplos
• alunos: curso (referência a um código de curso)
• cursos: código
Regras de Integridades
• Classificação
• Domínio ou Tipo
• Entidade
• Referencial
Regras de Integridades
• Domínio
• Especifica os valores possíveis para um determinado
atributo
• Enumeração dos valores válidos
Regras de Integridades
• Entidade
• Nenhum componente de uma chave pode ser nulo
Regras de Integridades
• Referencial
• Seja R1 uma relação com um atributo A, definido em
um domínio primário D, então cada valor de A tem de
ser nulo ou igual a V, onde V é o valor da chave
primaria de alguma tupla de uma relação R2. O
atributo A é chave estrangeira em R1.
Regras de Integridades
Regras de Integridades
• Outros tipos de restrições
• As restrições verificadas até o momento tratam
somente de restrições estruturais;
• Existe as regras de integridade semântica ou regras de
negócio;
• Estas são implementadas nos SGBD´s por meio de
“gatilhos” (triggers) ou procedimentos armazenados
• Exemplo:
• O orçamento não pode ultrapassar R$ 10.000
Extensões e Intensões
• Extensões ou instância de uma relação
• É o conjunto de tuplas na relação em um dado
momento
• Varia com o tempo em função da utilização
Extensões e Intensões
• Intensões ou esquema de uma relação
• É independente do tempo
• Corresponde ao que está especificado no esquema
relacional
• Consiste da estrutura de nomes (relação, atributo,
domínio) e restrições de integridade

Potrebbero piacerti anche