Introdução Show
O modelo relacional foi criado por Edgar F. Codd, nos anos 70 e começou a ser usado com o advento dos bancos de dados relacionais, nos anos 80. A idéia de modelo relacional se baseia no princípio de que as informações em uma base de dados podem ser consideradas como relações matemáticas e que podem ser representadas, de maneira uniforme, através do uso de tabelas onde as linhas representam as ocorrências de uma entidade e as colunas representam os atributos de uma entidade do modelo conceitual. As relações no modelo relacional são conjuntos de dados vistos como tabelas cujas operações são baseadas na álgebra relacional ( projeção, produto cartesiano, seleção, junção, união e subtração ) e que manipulam conjuntos de dados ao invés de um único registro, isto é, cada operação realizada afeta um conjunto de linhas e não apenas uma única linha, ainda que algumas operações possam afetar uma única linha ( conjunto com um único elemento ). Da mesma forma, a resposta das operações de consulta são sempre na forma de uma tabela. As operações da álgebra relacional são implementadas por linguagens não procedurais de alto nível, sendo a SQL a linguagem padrão para os bancos de dados relacionais e universalmente usada, tendo sido padronizada pelo ANSI ( American National Standard Institute ). Principais Vantagens do Modelo Relacional Entre as principais vantagens do modelo relacional podemos citar:
As 12 Regras de Codd Ao definir o modelo relacional, Codd estabeleceu 12 regras para determinação de um banco de dados relacional. Estas regras são usadas portanto para se verificar a fidelidade de um banco de dados ao modelo relacional. Na prática são poucos os gerenciadores de banco de dados que atendem a todas as 12 regras. Na maior parte dos casos são atendidas no máximo 10 regras.
O Conceito de Chave no Modelo Relacional Chaves e Índices Chave - O conceito de chave designa um item de busca, ou seja, um dado que será usado para efetuar uma consulta no banco de dados. É um conceito lógico que só faz sentido para a aplicação e não existe fisicamente no banco de dados. Índice - O conceito de índice está associado a um recurso físico usado para otimizar uma consulta no banco de dados. É um recurso físico, ou seja, um índice é uma estrutura de dados, ( endereços ), que existe fisicamente no banco de dados. Existem diferentes tipos de chave em um modelo relacional. Vamos ver cada um dos tipos de chave abaixo: Chave Primária: A chave primária é usada para identificar univocamente uma linha em uma tabela. A chave primária pode ser composta, ter vários atributos, ou simples, um único atributo. Por exemplo, o atributo CPF pode ser usado como chave primária para a tabela CLIENTES pois identifica um único cliente considerando que não existe mais de um cliente com o mesmo CPF. Chave Secundária: A chave secundária é usada para acessar um conjunto de informações. Pode ser formada por um único atributo ou mais de um atributo que identifica(m) um subconjunto de dados em uma tabela. Normalmente, se cria um índice para uma chave secundária como forma de otimizar a consulta feita por aquela chave ao banco de dados. Por exemplo, podemos ter uma chave secundária formada pelo CEP para a tabela de CLIENTES pois esta chave identifica um subconjunto de clientes que residem em uma rua. Chave Candidata: A chave candidata é formada por um atributo que identifica uma única linha na tabela. Como uma tabela pode possuir mais de um atributo identificador único podemos ter várias chaves candidatas em uma única tabela, sendo que apenas uma das chaves candidatas pode ser escolhida para ser a chave primária da tabela. As demais chaves permanecem como chaves candidatas na tabela. Por exemplo, podemos ter uma chave candidata formada pela coluna NIT ( PISPASEP ) na tabela FUNCIONARIOS que possui como chave primária a coluna MATRICULA. Ambas identificam univocamente um linha na tabela FUNCIONARIOS, porem a chave NIT é candidata e a chave MATRICULA é a chave primária. Chave Estrangeira: A chave estrangeira é formada por atributos que são chave primária em outra tabela, servindo assim para estabelecer relacionamentos entre as tabelas de um banco de dados. Assim, quando dizemos que duas tabelas estão relacionadas através de uma coluna devemos observar que em uma tabela esta coluna será chave primária e na outra tabela ela será uma chave estrangeira que fará a ligação entre as duas tabelas, estabelecendo o relacionamento. Por exemplo, podemos ter na tabela FUNCIONARIOS uma chave estrangeira COD_DEPTO que estabelece um relacionamento entre a tabela FUNCIONARIOS e a tabela DEPTOS, sendo que na tabela DEPTOS a coluna COD_DEPTO é a chave primária. Regras de Integridade do Modelo Relacional O modelo relacional possui duas regras de integridade descritas a seguir. Integridade de Identidade - A chave primária nao pode conter valores nulos. Como toda informação em um banco de dados relacionam precisa ter uma identidade exclusiva, a chave primária deve ser obrigatoriamente preenchida. Alem disso, a chave primária não deve ter valores repetidos em um tabela, de forma a garantir que exista apenas uma linha para cada valor definido para a chave primária. Integridade Referencial - Se uma determinada tabela A possui uma chave estrangeira que estabelece relacionamento com uma tabela B, entao o valor da chave estrangeira da tabela A deve ser igual a um valor de chave primária na tabela B. Esta regra garante que as referencias de uma tabela para outra tabela sejam válidas, de forma que os relacionamentos sejam consistentes e não ocorra inconsistencia nos dados, como haver um funcionário alocado em um departamento que não existe. Assim, para todo valor de uma coluna que é chave estrangeira em uma tabela, deve haver um valor correspondente na coluna que é chave primária da tabela com a qual a chave estrangeira faz referencia. Como nem sempre o relacionamento entre tabelas é obrigatório uma chave estrangeira pode possuir valor nulo. É importante ressaltar que em um modelo relacional estas regras de integridade são garantidas pelo gerenciador de banco de dados de forma automática, sem a necessidade de se tratar estas
regras no código da aplicação. Ou seja, o programador não precisa programar validações no sistema para garantir que estas regras sejam atendidas pois o próprio gerenciador de banco de dados cuida disso.Integridade de Domínio - Restringe o conjunto de valores que podem ser gravados em uma coluna de uma tabela. Desta forma, somente os valores que pertencem ao domínio podem ser gravados na coluna da tabela. Outros valores não são permitidos e a atualização é desfeita
pelo gerenciador de banco de dados. O domínio define um conjunto de valores. Quando este domínio é associado a uma coluna de uma tabela, somente os valores definidos para o domínio podem ser gravados na coluna. Este tipo de restrição garante a qualidade de dados na base de dados. Características do Modelo Relacional
Regras para Derivação do Modelo Conceitual para o Modelo Relacional Nesta etapa é feita a transformação das entidades e relacionamentos do modelo E-R para o modelo relacional, no qual os dados são representados por tabelas. Para tanto, foram definidas regras para esta transformação de forma a atender às características do modelo relacional. Estas regras garantem que o modelo relacional estará adequado, alinhado com o modelo conceitual e sem inconsistências. O resultado desta etapa é um diagrama de tabelas, contendo as tabelas, chaves primárias, chaves estrangeiras e restrições de integridade, formando assim o modelo lógico que servirá de base para o projeto físico do Banco de Dados. Mapeamento das Entidades - Toda entidade torna-se uma tabela levando todos os atributos definidos na entidade que tornam-se colunas na tabela criada. O identificador da entidade torna-se a chave primária da tabela que não permitirá repetição de valores e nem valores nulos. Mapeamento de Atributos - Os atributos das entidades e dos relacionamentos devem ser gerados de forma que minimizem o consumo de espaço de armazenamento e torne mais eficiente a consulta de dados. Devem ser consideradas as características do gerenciador de banco de dados que será utilizado para implementar o banco de dados físico. Devem ser escolhidos o tipo de dado e tamanho adequados para cada coluna criada na tabela.
Mapeamento de Generalização/Especialização - Deve ser criada uma tabela para a entidade pai e uma tabela para cada entidade filha. Os atributos comuns às entidades filhas devem ser mapeados na tabela criada para a entidade pai. As tabelas criadas para cada entidade filha devem receber o atributo identificador da entidade pai na composição da chave primária e receber também os atributos específicos da entidade filha correspondente. A entidade pai e a entidade filha também podem ser mapeadas para uma única tabela. Mapeamento de Agregações - normalmente gera uma nova tabela que representa a agregação. Esta tabela normalmente faz relacionamento com uma tabela associativa; Que tipo de integridade tem um banco de dados quando todas as suas linhas tem um identificador único chamado de chave primária?Que tipo de integridade tem um banco de dados quando todas as suas linhas têm um identificador único chamado de chave primária? Sua empresa estará lidando com transações de mercado. Será solicitado que você verifique a identificação de cada cliente que está executando uma transação.
Quais são os dois métodos que ajudam à garantir à integridade dos dados?7. Quais são os dois métodos que ajudam a garantir a integridade de dados? (Escolher dois.) hashing verificações de consistência de dados Refer to curriculum topic: 2.2.2 Sistemas de integridade de dados incluem um dos dois métodos de integridade de dados.
Quais são dois motivos para assegurar à integridade dos dados escolher dois?Confira abaixo quais são:. 1 – Integridade física. Esse tipo de integridade de dados é a proteção da totalidade e precisão dos dados, à medida em que são armazenados e recuperados. ... . 2 – Integridade lógica. É ela que mantém os dados inalterados, pois são utilizados de maneiras diferentes dentro do banco relacional.. Quais são os três estados de dados durante os quais os dados são vulneráveis?Os três estados de dados são dados em repouso, dados em movimento e em uso.
|