Baixe o app para aproveitar ainda mais
Prévia do material em texto
Entender como o modelo de dados identificado pode ser representado pelo Modelo Relacional. No projeto lógico existe uma relação muito forte com o objeto dentro do domínio estudado. Já no projeto lógico já começa a haver um distanciamento deste domínio. Abstração é prestar atenção naquilo que te interessa no momento e esquecer todo o resto. Seguir um projeto de banco dados conforme as ferramentas de projeto, dá uma vantagem para alcançar a abstração. Existem vários níveis de abstração. No nível de abstração lógico o foco está em como os dados estão relacionados e em definir este conjunto de dados de forma apropriada aos requisitos identificados. No último de nível de abstração temos o usuário que trabalha no nível físico da manipulação dos dados. Tudo do modelo relacional é representado por um conjunto de tabelas. A elaboração do projeto lógico é na verdade a decisão em quais tabelas serão criadas, quais relacionamentos e quais atributos de tabela. A partir do modelo de entidade e relacionamento, será feito o mapeamento deste para o modelo relacional. Regras do Modelo Relacional 1. Tudo em tabela 2. Não há atributo de entidade, mas atributos de tabela. Todos os atributos devem ser atributos atômicos. O domínio de um atributo é um conjunto de todas as combinações possíveis de uma determinada regra. Exemplo: Cliente (código, nome, cpf) ClienteE (Dcodigo x Dnome x Dcpf) Esta organização é um produto dos valores do conjunto, e possuem o mesmo conceito matemático de relação. Por isso uma linha da tabela pode ser chamada de tupla, e as colunas são chamadas de atributo. Por conta disso existem algumas imposições que devem ser seguidas, como a exigência do domínio dos atributos serem atômicos (indivisíveis - nem mais de valor para mesma tupla ou atributo). • Primária (unicidade, não-nula) • Candidata (unicidade) • Secundária (estrangeira) Chaves: Outra regra é que toda tupla de uma tabela relacional deve ter um atributo (ou conjunto de atributos) identificador,denominado chave primária. Para representação do modelo relacional nesta disciplina, não se usará diagrama. Será usada a notação do tipo: Cliente(código,nome,cpf) Onde o atributo sublinhado é a chave primária. Semana 04 - Aula 05 terça-feira, 26 de agosto de 2014 19:10 Página 1 de COM230 - Banco de Dados I Onde o atributo sublinhado é a chave primária. A chave primária não se repete e não pode ser nula. Já a chave candidata não se repete, mas pode ser nula. Quando se cria uma tupla numa tabela, o valor default é nulo. Num modelo relacional, o valor nulo faz parte do domínio de todos os atributos. Se o projetista quer o contrário, deve especificar que o valor não seja nulo. Restrição de não-nulo é usada quando se quer que o projeto relacional se encaixe nas regras de negócio durante a modelagem do banco de dados. Restrição de domínio define que um determinado atributo de um determinado tipo só pode assumir um tipo específico de valor. Exemplo: escolha do campo "sexo" numa tabela de informações. A chave secundária é aquela referenciada de outra tabela. Exemplo: Departamento (codigo, nome) codigoDpt referencia Departamento(codigo) Funcionario(mat, nome, codigoDpt) O relacionamento no modelo relacional é feito pela chave estrangeira. Esse conceito é exclusivo do modelo relacional. Portanto, o relacionamento no banco de dados é implementado diferente de acordo com o modelo utilizado. Funcionario(cod, ident, cpf, nome, endRua, endNumero) codF referencia Funcionario(cod) TelefoneF(codF*, numero) *três sublinhados Quando a cardinalidade é 1,1 de ambos os lados, tanto faz colocar o relacionamento. Mas é importante observar como a referência ao banco de dados é acessada. Trabalhar com chave estrangeira composta é muito ruim em termos de performance. Portanto, neste caso, é melhor colocar a chave estrangeira de Funcionario em Endereco. Caso contrário, teria que referenciar as três chaves estrangeiras na tabela Funcionario (na prática poderia criar uma id para não precisar implementar as três chaves estrangeiras. Funcionario(cod, ident, cpf, nome, endRua, endNumero) Endereco referencia Funcionario(cod) Endereco(num, comp, cep, rua, codF*) *sublinhado duplo Página 2 de COM230 - Banco de Dados I
Compartilhar