Escolar Documentos
Profissional Documentos
Cultura Documentos
Faculdade de Computação
2022/1
Sumário
Minimundo
1
https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
GES013 Sistema de BD 2022/1 4 / 39
Tabela bidimensional
Nome do atributo
Aluno
nmat Nome Endereço Idade
935639 Adriana Zagalo Rua Floriano Peixoto, 1234 18
935632 Beatriz da Silva Rua Itambé, 124 apto. 62 bloco B 22
933219 Carlos Alberto Bozato Rua Sucupira, 3452 apto 125 19
938904 Antônio Nascimento Av. Castro Alves, 57 18
934789 Roberto Antonione Av. Sunab Jatab, 3467 apto 32 32
Domínio
Domínio
Um domínio D qualquer é um conjunto de valores atômicos.
Possui uma cardinalidade, denotada por |D|, que indica a quantidade de
valores de D.
Exemplos:
▶ D1 = dom(sexo) = {F , M}; |D1 | = 2.
▶ D2 = dom(funcionario.idade) = [15, 80]; |D2 | = 66.
Também possui um tipo de dado ou formato. Exemplos:
▶ funcionario.idade: inteiro;
▶ fone: (dd)ddddd.dddd, onde cada d representa um dígito numérico
decimal.
▶ int, date, etc.
Esquema de relação
Um esquema de relação corresponde à descrição da relação
representada na tabela de valores.
Notação: R(A1 , A2 , . . . , An ), onde R é o nome da relação – ex.: Aluno
visto anteriormente – e cada Ai , 1 ≤ i ≤ n, é o nome de um atributo.
Atributo
Nome do papel desempenhado por algum domínio na relação.
Tupla
Uma n-tupla, ou simplesmente tupla t, é um conjunto ordenado de
valores, denotado por t =< v1 , v2 , . . . , vn >, onde cada vi , 1 ≤ i ≤ n é
derivado do domínio apropriado de Ai ou é um valor nulo.
Observação: Se t =< v1 , v2 , . . . , vn >, então t[Ai ] = t.Ai = vi (valor).
Valor nulo
O valor nulo, denotado por NULL, é um valor especial para representar
valores desconhecidos ou que não se aplicam.
Relação
Uma relação ou estado r de um esquema R(A1 , A2 , . . . , An ), denotada
por r (R), é um conjunto de tuplas r = {t1 , t2 , . . . , tm }.
Observações:
O uso do termo estado para r reflete as tuplas válidas que
representam um estado particular do mundo real.
O esquema R é relativamente estático, mas em geral, o estado da
relação r é dinâmico;
n é o grau do esquema da relação (número de atributos);
m é a cardinalidade da relação (número de tuplas).
Restrições são condições que devem ser mantidas por todos os estados
válidos das relações.
Categorias:
Inerentes: são características do modelo de dados. Ex.: uma relação
não pode ter tuplas duplicadas;
Baseadas em esquema: podem ser expressas no modelo de dados.
Exs.: restrições de domínio e restrições de chave (serão vistas em
seguida);
Baseadas na aplicação: não podem ser expressas no modelo de
dados, portanto devem ser implementadas por meio de programas de
aplicação.
Domínio:
▶ Dentro de cada tupla, o valor de cada atributo Ai deve ser um valor
atômico de dom(Ai ).
Unicidade de chave:
▶ Chave primária ⇒ identifica de forma única cada tupla da relação.
Valor nulo:
▶ Permitido: NULL (padrão);
▶ Se não permitido: atributo NOT NULL.
Integridade de entidade:
▶ Nenhum valor de chave primária pode ser nulo.
⋆ Permitir valor NULL para a chave primária implica que não podemos
identificar algumas tuplas.
⋆ I.e. não seria possível diferenciá-las ao tentar referenciá-las por outras
relações.
Superchave
Numa relação r , é um conjunto de atributos SCh contido em R no qual
não haverá duas tuplas ti e tj , com i ̸= j, tais que ti [SCh] = tj [SCh].
Chave
Superchave Ch com a propriedade adicional de que a remoção de qualquer
atributo da chave fará com que Ch não identifique mais unicamente cada
tupla da relação.
A diferença é que uma chave tem que ser mínima – a superchave não.
I.e. toda chave é superchave, mas não vice-versa: a superchave pode
ser chave – se o número de atributos é mínimo – ou não.
FUNCIONARIO
Nome CPF Data_nasc Endereco Salario Sexo CPF_Supervisor Dnumero
DEPARTAMENTO
DNome DNumero CPF_gerente Data_inicio_gerente
DEPTO_LOCALIZACOES
DNumero Dlocalizacao
PROJETO
PjNome PNumero PLocal Depto
TRABALHA_EM
CPF PNumero Horas
DEPENDENTE
CPF_funcionario Nome Sexo Data_nasc Parentesco
Chave estrangeira
Chave estrangeira
Dados dois esquemas de relação R1 e R2 , um conjunto de atributosa ChE
de R1 é uma chave estrangeira de R1 que referencia R2 se:
Os atributos de ChE têm os mesmos domínios que os atributos que
foram ChP, a chave primária de R2 ;
Um valor de ChE numa tupla t1 do estado atual r1 (R1 ):
▶ ocorre como um valor de ChP para alguma tupla t2 no estado atual
r2 (R2 ) (i.e. t1 [ChE ] = t2 [ChP]); ou é NULL.
a
Pode ser um atributo único
FUNCIONARIO
Nome CPF Data_nasc Endereco Salario Sexo CPF_Supervisor Dnumero
DEPARTAMENTO
DNome DNumero CPF_gerente Data_inicio_gerente
DEPTO_LOCALIZACOES
DNumero Dlocalizacao
PROJETO
PjNome PNumero PLocal Depto
TRABALHA_EM
CPF PNumero Horas
DEPENDENTE
CPF_funcionario Nome Sexo Data_nasc Parentesco
Operação insert
Característica:
▶ fornece uma lista de valores de atributos para uma nova tupla t, que é
inserida em uma relação R.
Pode violar as seguintes restrições:
▶ domínio (valores dos atributos de t são todos atômicos?);
▶ unicidade de chave;
▶ integridade de entidade (chave primária de t é diferente de NULL?);
▶ integridade referencial.
Soluções:
▶ rejeitar a inserção;
▶ enviar mensagem de erro ao usuário.
Característica:
▶ remove uma ou mais tuplas.
Pode violar a integridade referencial:
▶ quando as tuplas removidas forem referidas por chaves estrangeiras
de outras tuplas.
Soluções:
▶ rejeitar a remoção;
▶ remover em cascata;
▶ modificar valores dos atributos de referência.
Operação update
Característica:
▶ altera valores de alguns atributos em tuplas.
Pode violar as seguintes restrições:
▶ domínio;
▶ unicidade de chave (se algum atributo sendo alterado é ou faz parte da
chave primária);
▶ integridade de entidade (idem ao caso anterior);
▶ integridade referencial (se algum atributo sendo alterado é ou faz parte
de uma chave estrangeira).
Soluções:
▶ semelhantes à vistas nas operações anteriores (a atualização pode ser
interpretada como uma operação delete seguida de insert).
Exercícios II
Pede-se:
1 Definir os domínios (definição lógica, tipo de dado e formato)
necessários para a criação dos esquemas de relação para essa
especificação
⋆ ex: nomes de pessoas: conjunto de todos os nomes possíveis para
pessoas – strings de 60 caracteres.
2 Definir os esquemas de relação para a especificação.
3 Instancie relações a partir dos esquemas criados exemplificando
situações em que não são satisfeitas as seguintes restrições de
integridade:
⋆ unicidade de chave, integridade de entidade e integridade referencial.
2 Compare os conceitos de Entidade, Relação e Tabela.
3 Compare os conceitos de instância de uma entidade, tupla de uma
relação e linha de uma tabela.
4 Compare os conceitos de atributo no Modelo ER, atributo no Modelo
R e coluna de uma Tabela.
5 O que é Chave Estrangeira? Dê um exemplo.
GES013 Sistema de BD 2022/1 38 / 39
Referências