Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 11 Modelo Relacional Fundamentado na teoria de conjuntos, combinado com a idéia que não é relevante para o usuário saber onde os dados estão nem como os dados estão armazenados. O usuário, para lidar com estes objetos, conta com um conjunto de operadores e funções de alto nível, constantes na álgebra relacional. Relação = Tabela bi-dimensional, composta de linhas e colunas de dados. Relação recursiva = relaciona o objeto a si mesmo. Atributo = Coluna Grau de uma relação = Número de atributos Tupla = Cada linha da relação Domínio de um atributo = Conjunto ao qual pertencem os valores de um atributo Valor nulo de um atributo de uma tupla = Atributo inaplicável ou com valor desconhecido Esquema de Banco de Dados Relacional = Nomes das relações seguidos pelos nomes dos atributos, com os atributos chaves sublinhados e com as chaves estrangeiras identificadas. OBS: Em um banco de dados relacional as linhas (tuplas) não podem ser repetidas. Uma forma de garantir a unicidade das linhas (tuplas) é estabelecer a chave primária de cada tabela (relação). Figura 1 – Exemplo de banco de dados relacional Conceito básico no modelo relacional para identificar linhas e estabelecer relacionamentos entre tabelas Chave primária Chave estrangeira Chave alternativa Chave: Designa o conceito de item de busca, isto é, um atributo ou conjunto de atributos que será utilizado nas consultas à base de dados. É um conceito lógico da aplicação. Índice: É um recurso físico que visa otimizar a recuperação de uma informação, via um método de acesso. Seu objetivo principal está relacionado com a performance de uma aplicação. Uma chave pode ser utilizada como índice, mas um índice não é, necessariamente, uma chave. Chave primária È uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela. Exemplo na figura 1. Chave estrangeira É quando um atributo de uma relação é chave primária em outra. Constitui um conceito de vital importância no modelo relacional: é o elo lógica entre as tabelas (relacionamentos) Através das operações com as chaves estrangeiras que se garante a INTEGRIDADE REFERENCIAL do banco de dados: Exemplo na figura 1. Chave Alternativa Em alguns casos, mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais. Uma das colunas é escolhida como chave primária. As demais colunas ou combinações são denominadas chaves alternativas. Regras de Integridade Um dos objetivos primordiais de um SGBD é a integridade de dados. Dizer que os dados de um banco de dados estão íntegros significa dizer que eles refletem corretamente a realidade representada pelo banco de dados e que são consistentes entre si. Para tentar garantir a integridade de um banco de dados os SGBD oferecem o mecanismo de restrição de integridade. Uma restrição de integridade é uma regra de consistência de dados que é garantida pelo próprio SGBD. No caso da abordagem relacional, costuma-se classificar as restrições de integridade nas seguintes categorias: Integridade da Entidade O valor da chave não pode ser vazio A chave primária serve como representante na base de dados de uma entidade – se a chave primária for vazia, a linha não corresponde a nenhuma entidade. Integridade de Chave Primária A chave primária tem que ser única Integridade Referencial As chaves estrangeiras têm que ser respeitadas, ou seja, se existe um determinado valor para o atributo na tabela onde ele é chave estrangeira este valor deve existir na tabela onde ele é chave primária. Especificação de Banco de dados relacional A especificação de um banco de dados relacional (chamada de esquema do banco de dados) deve conter no mínimo a definição do seguinte: Tabelas que formam o banco de dados; Colunas que as tabelas possuem; Restrições de integridade. Na pratica, na definição de esquemas relacionais são usadas diversas notações, que variam de um SGBD para o outro. Na nossa disciplina de modelagem de dados, vamos aprender apenas uma notação resumida para modelos lógicos relacionais. Notação resumida para modelos lógicos relacionais. <Nome da coluna estrangeira> referencia <nome da tabela> (<Nome da coluna estrangeira>1, <Nome da coluna estrangeira>2...) referencia<nome da tabela>. Exemplo: Esquema relacional (referente à figura 1) Empregado (codempregado, nome, coddep, categoria funcional) Coddep referencia departamento Departamento (coddep, nome) Transformação DER para o relacional A transformação de um modelo ER em um modelo relacional dá-se nos seguintes passos: Tradução inicial de entidades e respectivos atributos; Tradução de relacionamentos e respectivos atributos; Tradução de generalização/especialização. Mapeamento Relacional Tabela Pessoa Código Nome Endereço dataadimissão 1 Paula Rua x 10/10/1010 2 Sofia Rua Y 11/11/1011 Chave primaria Esquema relacional: Pessoa ( código, nome, endereço, dataadimissão) Figura 2 – Exemplo de transformação
Compartilhar