Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 03 - Modelo Relacional Banco de Dados UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Pedro dos Santos Borges links: https://www.devmedia.com.br/modelagem-relacional/19614 https://www.lucidchart.com/pages/pt/o-que-e-um-esquema-de-banco-de-dados https://consultabd.wordpress.com/2014/11/02/restricoes-de-dominio-em-banco-de-dados/ http://www.bosontreinamentos.com.br/modelagem-de-dados/modelagem-de-dados-restricoes-de-integridade/ https://www.devmedia.com.br/algebra-relacional-tutorial/2663 https://spaceprogrammer.com/bd/introducao-ao-modelo-logico-relacional/ Sumário Introdução ao Modelo Relacional Esquema Relacional Chaves - Modelo Relacional Restrições de Integridade Álgebra Relacional UNEX - Prof. Pedro - pedro.borges@ftc.edu.br 3) Modelo Relacional 3.1 Introdução ao Modelo Relacional Definição das Nomenclaturas em Tabelas Exemplo Tabela 1 Exemplo Tabela 2 Características de uma Tabela 3.2 Esquema Relacional Esquema de uma relação Restrições de Domínio Tupla 3.3 Chaves - Modelo Relacional Funcionários Exemplo 01 Exemplo 02 Chave Primária Chave Estrangeira 3.4 Restrições de Integridade Tipos Integridade Referencial Restrição Integridade Referencial Insert Delete Update Restrições de inclusão Restrições de exclusão 3.5 Algebra Relacional Conceito Teoria de Conjuntos Operações para BD Relacionais Operações União Intersecção Diferença 3.6 Algebra Relacional Seleção Projeção Produto Cartesiano Junção UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Aula Introdução ao Modelo Relacional Este modelo capta as relações entre entidades do mundo real e é frequentemente usado para projetar um banco de dados conceitualmente. Introdução ao Modelo Relacional Vamos continuar vendo os conceitos básicos sobre Modelagem Relacional. O conceito principal vem da teoria de conjuntos (álgebra relacional) atrelado a ideia de que não é relevante ao usuário saber onde os dados estão ou como eles se encontram, representado por uma coleção de tabelas (entidade/relação) é um conjunto de linhas (tuplas) uma lista de valores de atributos. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Introdução ao Modelo Relacional O Modelo entidade relacionamento proposto por Peter P. Chen pode ser melhor compreendido por uma teoria chamada de A lei do Mundo, teoria essa, que conceitua que o mundo está cheio de coisas que possuem características próprias e que se relacionam entre si. Sua análise da teoria pode ser dividida em três partes: O mundo está cheio de coisas Que possuem características próprias E que se relacionam entre si UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Introdução ao Modelo Relacional O mundo está cheio de coisas Tudo que possa ser caracterizado, conceituado, real ou imaginário, no nosso Universo (Mundo), é definido como coisa, que futuramente, dependendo da abordagem, poderá ser definido como uma entidade. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Introdução ao Modelo Relacional Que possuem características próprias Características comuns percebidas entre as coisas de modo que haja a possibilidade de enquadramento dessas coisas em conjuntos particulares. Exemplo: “conselho de economia, conselho de medicina, conselho de odontologia” todos podem ser enquadrados em um mesmo conjunto, denominado como Órgão normalizador. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Introdução ao Modelo Relacional E que se relacionam entre si São as relações entre as coisas. A forma de comunicação entre as coisas ou um conjunto delas. Exemplos: Jorge é credenciado pelo conselho de economia é um relacionamento entre elementos de diferentes conjuntos. Jorge é substituto de João é um relacionamento entre elementos do mesmo conjunto. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Definição de Nomenclaturas em Tabelas UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Definição de Nomenclaturas em Tabelas UNEX - Prof. Pedro - pedro.borges@ftc.edu.br UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Aula Esquema Relacional Este modelo capta as relações entre entidades do mundo real e é frequentemente usado para projetar um banco de dados conceitualmente. Esquema Relacional Um esquema de banco de dados representa a configuração lógica da totalidade ou de parte de uma base de dados relacional. Ele pode existir tanto como uma representação visual quanto como um conjunto de fórmulas conhecidas como restrições de integridade que regem um banco de dados. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Esquema Relacional Estas fórmulas são expressadas em uma linguagem de definição de dados, como SQL. Como parte de um dicionário de dados, um esquema de banco de dados indica como as entidades que compõem o banco de dados se relacionam entre si, incluindo tabelas, exibições, procedimentos armazenados e muito mais. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Domínio Um domínio é um conjunto (possivelmente infinito em número) de valores definido e nomeado, do qual um ou mais atributos extraem seus valores. Os domínios podem ser definidos separadamente das entidades para permitir seu reuso e padronização. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Restrições de Domínio São definidos os valores que uma coluna de uma tabela pode ter. Tipos Primitivos de dados: integer float char date time money UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Restrições de Domínio As restrições que iremos falar são: Primary key – Chave Primaria. Foreign Key – Chave Estrangeira. Foreign Key excluindo em cascata – Chave Estrangeira Excluindo em Cascata. Check – Usando para fazer checagem de dados na tabela. Ex: Se o sexo é M ou F Default – Define um valor padrão para o campo da tabela. Not Null – Define que o campo não pode receber nulo. Unique – Define que o campo é único e não pode receber valores repetidos. Ex: CPF UNEX - Prof. Pedro - pedro.borges@ftc.edu.br UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Aula Chaves Este modelo capta as relações entre entidades do mundo real e é frequentemente usado para projetar um banco de dados conceitualmente. Chave Primária Atributos que representam valores únicos que identificam a entidade dentro do domínio e não podem se repetir. Em um cadastro de clientes, por exemplo, esse atributo poderia ser o CPF. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Chave Estrangeira Atributos referenciais geralmente estão ligados à chave primária da outra entidade. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Aula Restrições de Integridade Este modelo capta as relações entre entidades do mundo real e é frequentemente usado para projetar um banco de dados conceitualmente. Restrições de Integridade A integridade de dados se refere à acurácia, completude e consistência dos dados armazenados em um sistema de banco de dados relacional (ou outro sistema). Isso garante que os dados armazenados possam ser armazenados, consultados e utilizados com confiabilidade, sendo assim dados íntegros – daí o nome integridade de dados. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Restrições de Integridade Para que seja possível garantir a integridade dos dados, é necessário conhecer e aplicar determinadas restrições de armazenamento, que chamamos de Restrições de Integridade. Elas dizem respeito a aspectos como tipos dos dados armazenados, relacionamentos entre colunas de chave primária e estrangeira, possibilidade de haver valores nulos ou não, e regras de negócio específicas importantes requisitadas pelo cliente, por exemplo. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Tipos de Restrições de Integridade Os tipos de restrições de integridade que estudaremos neste artigo são os seguintes: Integridade de Domínio Integridade Referencial Integridade de Vazio Integridade de Chave Integridade Definida pelo Usuário UNEX - Prof. Pedro - pedro.borges@ftc.edu.brIntegridade de Domínio Valores inseridos em uma coluna devem sempre obedecer à definição dos valores que são permitidos para essa coluna – os valores do domínio. Ex.: em uma coluna que armazena preços de mercadorias, os valores admitidos são do domínio numérico – ou seja, apenas números. Não há preços usando letras para sua representação. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br 2) Integridade Referencial Uma restrição de Integridade Referencial assegura que valores de uma coluna em uma tabela são válidos baseados nos valores em uma outra tabela relacionada. Ex.: Se um produto de ID 523 foi cadastrado em uma tabela de Vendas, então um produto com ID 523 deve existir na tabela de Produtos relacionada. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br 2) Integridade Referencial Em resumo: cada valor de uma chave estrangeira deve corresponder a um valor de uma chave primária existente. Serve para manter a consistência entre tuplas de duas relações; Aparecem devido aos relacionamentos entre entidades Vejamos um exemplo: UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Integridade Referencial UNEX - Prof. Pedro - pedro.borges@ftc.edu.br 2) Integridade Referencial Integridade Referencial: Atualização e Exclusão de Registros Se um registro for excluído em uma tabela (operações DELETE e TRUNCATE), então os registros relacionados em outras tabelas que o referenciam talvez precisem ser excluídos. Caso contrário ocorrerá erro. O mesmo se dá com a atualização de registros (operação UPDATE). UNEX - Prof. Pedro - pedro.borges@ftc.edu.br 3) Integridade de Vazio Este tipo de integridade informa se a coluna é obrigatória ou opcional – ou seja, se é possível não inserir um valor na coluna. Uma coluna de chave primária, por exemplo, sempre deve ter dados inseridos, e nunca pode estar vazia, para nenhum registro. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br 4) Integridade de Chave Os valores inseridos na coluna de chave primária (PK) devem ser sempre únicos, não admitindo-se repetições nesses valores. Desta forma, as tuplas (registros) serão sempre distintas. Os valores de chave primária também não podem ser nulos. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br 5) Integridade Definida pelo Usuário Diz respeito a regras de negócio específicas que são definidas pelo usuário do banco de dados. Por exemplo, pode-se definir que uma coluna somente aceitará um conjunto restrito de valores, como por exemplo apenas as siglas dos estados da federação, e mais nenhum outro valor diferente. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Aula Álgebra Relacional Este modelo capta as relações entre entidades do mundo real e é frequentemente usado para projetar um banco de dados conceitualmente. Álgebra Relacional Linguagens de consulta formal são linguagens em que o usuário solicita informações à base de dados. Geralmente formam uma linguagem de mais alto nível que as linguagens de programação. A Álgebra Relacional é uma linguagem de consulta formal, porém procedimental, ou seja, o usuário dá as instruções ao sistema para que o mesmo realize uma sequência de operações na base de dados para calcular o resultado desejado. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Álgebra Relacional A Álgebra Relacional define operadores para atuar nas tabelas (semelhante aos operadores +, - etc. da álgebra que estamos acostumados) para chegar ao resultado desejado. A forma de trabalho desta linguagem de consulta é a de pegar uma ou mais tabelas (conforme necessidade) como entrada de dados e produzirá uma nova tabela como resultado das operações. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br Funções da Álgebra Relacional São definidas nove operações para se trabalhar com álgebra relacional: Union –União; Intersection– Intersecção; Difference– Diferença, Subtração; Product – Produto, Produto Cartesiano. Select– Seleção; Project– Projeção; Join– Junção; Divide – Divisão. Assignment– Designação, Atribuição. UNEX - Prof. Pedro - pedro.borges@ftc.edu.br image2.png image1.png image7.png image3.png image5.png image6.png image4.png
Compartilhar