Aula VI -MODELO RELACIONAL
ModeloRelacional É constituído de tabelas, ou relações. Para cada tabela deve haver um nome único. Uma tabela pode ser considerada como um tipo de relação matemática. Uma tabela écomposta de colunas (cada atributo é uma coluna).
ModeloRelacional Cada coluna possui um domínio de valores D. Uma tabela de N colunas éum subconjunto de: D1 x D2 x... x Dn-1 x Dn Matematicamente, defini-se uma relação como um subconjunto de um produto cartesiano de uma lista de domínios.
Tabela Conta. Fonte: Silberschatz ModeloRelacional
ModeloRelacional Uma tabela éum conjunto não ordenado de linhas (tuplas). Uma instância de uma entidade éuma linha em uma tabela. Cada linha écomposta por um conjunto de valores de colunas. Alguns atributos possuem o mesmo domínio.
ModeloRelacional
ModeloRelacional
ModeloRelacional
ModeloRelacional
ModeloRelacional
ModeloRelacional
Chaves Servem para identificar uma linha (instância) e relacionar linhas (associações de instâncias) entre tabelas. -As chaves podem ser: Primária: Coluna ou conjuntos de colunas cujos valores tornam uma linha única, diferente de uma outra linha de uma mesma tabela. Os valores de uma chave primária não podem ser nulos.
Chaves Tabela com as Colunas CodEmpe NoDepencomo sua Chave Primária. Fonte: Heuser
Chaves - As chaves podem ser (continuação): Estrangeira: Coluna ou conjunto de colunas cujos valores pertencem a chave primaria de uma tabela. É o que permite o relacionamento entre tabelas.
Chaves Tabela Emp com a Chave Estrangeira CodigoDepto da Tabela Dept. Fonte: Heuser.
Chaves As chaves estrangeiras impõem as seguintes restrições no banco de dados: Uma chave estrangeira sópode conter os valores existentes na chave primária da tabela que referencia. Não se pode excluir uma linha da uma tabela em que a chave primária seja chave estrangeira em outra tabela, se houver associações com a linha que se quer excluir. O valor de uma chave primária não pode ser alterado se houver associações com esse valor.
Chaves -Em um auto-relacionamento a chave estrangeira deve ser uma coluna com o mesmo domínio de valores da coluna que éa chave primária da tabela. Tabela com Auto-Relacionamento. Fonte: Heuser.
Chaves Alternativa: Éuma coluna ou conjunto de colunas que além da chave primária, também, podem identificar uma linha. Tabela Emp com Chave Alternativa CIC. Fonte: Heuser.
Domíniode Coluna Conjunto de valores que podem aparecer em uma coluna (atributo): alfanumérico, numérico etc.
Valor Vazio Um valor de campo pode assumir o valor especial vazio ( null em inglês). Colunas nas quais: a) não são admitidos valores vazios são chamadas de colunas obrigatórias; b) podem aparecer campos vazios são chamadas de colunas opcionais. Abordagem relacional: a) todas colunas que compõem a chave primária devem ser obrigatórias; b) demais chaves podem conter colunas opcionais.
Restriçõesde Integridade Um SGBD relacional possui as seguintes restrições de integridade: Integridade de Domínio: O valor de uma coluna não pode ser diferente seu domínio. Integridade de Vazio: Tornar os campos não nulos obrigatórios. Integridade de Chave: Os valores das chaves primária e alternativa devem ser únicos. Integridade Referencial: Os valores de uma chave estrangeira devem existir na chave primaria da tabela referenciada.
Restriçõesde Integridade Essas restrições devem ser oferecidas automaticamente pelo SGBD. As restrições semânticas não são garantidas pelo SGBD, mas são importantes para manter a validade dos dados. Ex. um empregado não pode ter um salário maior que seu superior imediato.
ESQUEMA TEXTUAL DE UM BD RELACIONAL Pode-se representar um esquema de BD textual ou graficamente. A representação textual completa de um BD é feita através da linguagem SQL.
ESQUEMA TEXTUAL DE UM BD RELACIONAL Uma representação textual mais simples pode ser: <nome da tabela>(<chave1>,...,<chave n>, <campo1>,...,<campo n>, <coluna chave estrangeira>1,...,<coluna chave estrangeira>n) referencia <nome tabela chave principal> Emp(CodEmp, nome, CodDepto, categfuncional, CIC) CodDepto referencia Dept. Dept(CodDept, nome).
ESQUEMA TEXTUAL DE UM BD RELACIONAL -A representação de esquema de BD através de diagramas não é padronizada. - São implementadas através de software de modelagem de BD. Modelo ER elaborado com o Software DB Designer 4.0
Exercícios 1)Considere o banco de dados relacional definido parcialmente abaixo (faltam as chaves da tabela Empregado): Empregado (CodEmpregado, Nome, NoPIS-PASEP) Dependente(CodEmpregado, NoDependente, Nome) CodEmpregado referencia Empregado Na tabela Empregado, tanto CodEmpregadoquanto NoPIS-PASEPpodem ser chave primária. Qual você escolheria como chave primária? Por quê?
Exercícios 2) A seguir aparece um esquema parcial para um banco de dados relacional. Identifique neste esquema as chaves primárias e as chaves estrangeiras: Aluno (CodigoAluno, Nome, CodigoCurso) Curso(CodigoCurso, Nome) Disciplina (CodigoDisciplina, Nome, Creditos, CodigoDepartamento) Curriculo(CodigoCurso, CodigoDisciplina, Obrigatória-Opcional) Conceito (CodigoAluno,CodigoDisciplina, Ano-Semestre, Conceito) Departamento (CodigoDepartamento, Nome)
Exercícios 3) Considere um banco de dados com o seguinte esquema: Paciente (CodigoConvenio, NumeroPaciente,Nome) CodigoConvenio referencia Convenio Convenio (CodigoConvenio, Nome) Medico (CRM, Nome, Especialização) Consulta (CodigoConvenio, NumeroPaciente, CRM, Data-Hora) (CodigoConvenio, NumeroPaciente) referencia Paciente CRM referencia Medico Explique quais as verificações devem ser feitas pelo SGBD para garantir a integridade referencial nas seguintes situações: Uma linha é incluída na tabela Consulta Uma linha é excluída da tabela Paciente O código CRM em uma linha de Consulta éalterado O código do CRM em uma linha de Médico éalterado Construa o esquema diagramático para este banco de dados.
Exercícios 4) Considere um banco de dados com o seguinte esquema: Construa o esquema diagramático para este banco de dados.