Prévia do material em texto
Banco de dados Aula 05 - Modelo Relacional de Banco de dados Tópicos: ▪Introdução ▪História do Banco de Dados Relacional ▪Conceitos: -Modelo Relacional ▪Estrutura de Modelo ▪Utilização de Termos entre modelos ▪Representação Simbólica ▪Modelo entidade -relacionamento ▪Composição da Tabela ou Relação - Chave primária - Chave Estrangeira - Chave Alternativa ▪Representação Gráfica de Tabela ▪ Restrições de Integridade ▪Relacionamentos Especiais Banco de Dados Relacional Banco de Dados-ARA0040 Introdução Banco de Dados Relacional Os bancos de dados começaram a possui o conceito de relacional desde da primeira forma de armazenamento da informação, onde os dados eram armazenado correlatamente, ou seja, existia alguma forma de relação entre essas informações. O surgimento do primeiro banco relacional, foi desenvolvido na década de 1970, utilizando conceitos de chaves e integridade. Atualmente é o modelo mais utilizado em desenvolvimento de aplicação independente do porte dela. Cerca de 90% das implementações de banco são realizadas utilizando-se este modelo. Banco de Dados-ARA0040 História do Banco de Dados Relacional – Pai do modelo Relacional Edgar Frank Codd – August 23rd, 1923 * - April 18th, 2003 + – 1970. "A relational model of data for large shared data banks". Communications of the ACM".(Um modelo de dados relacional para grandes bancos de dados compartilhados) – Baseadas em seus trabalhos foram feitas inúmeras pesquisas nos campos de linguagens de bancos de dados, subsistemas de pesquisa, semântica, bloqueio e recuperação. Banco de Dados Relacional Banco de Dados-ARA0040 ▪ Origem do Modelo Relacional: Através de uma artigo clássico que atraiu muita atenção em virtude de sua simplicidade e base matemática, Codd da IBM Research. Criou o que seria o modelo atual. ▪ Duas características importantes: - Possui conceito de uma relação matemática como seu bloco de construção básico (algo como uma tabela de valores). - Sua base teórica foi utilizado a teoria dos conjuntos(Exemplo:Produto cartesiano T1xT2). História do Banco de Dados Relacional Banco de Dados Relacional Banco de Dados-ARA0040 Conceitos:Modelo Relacional Segundo Frank Codd a composição de um banco de dados relacional é feita através de uma coleção de relações (ou tabelas).Onde uma relação é um conjunto não ordenados de tuplas (ou linhas).Tendo cada tupla composta por uma série de atributos (ou campos). • um modelo de banco de dados relacional, deve conter no mínimo a definição dos seguintes itens: Banco de dados que possuem tabelas. Tabelas que possuem atributos(colunas). Colunas que possuem domínio. Domínio que assumem valores. Valores que podem ser atômico e Monovalorado. Atômicos ou Monovalorado que se transformam em Tuplas ou registros. Banco de Dados Relacional Banco de Dados-ARA0040 Estrutura de Modelo Banco de Dados Relacional Projeto conceitual Modelo Entidade Relacionamento Projeto Físico create table DONO.TAB_PECA (ID_PECA numeric(5) not null, NM_PECA varchar2(100) not null, ... Projeto Lógico Banco de Dados-ARA0040 Introdução à Programação AULA 01: Introdução à Lógica de Programação Modelo de Entidades e Relacionamentos Modelo de Classes Modelo Relacional Entidade Classe Tabela Atributo Atributo Coluna Relacionamento 1:1 ou 1:N Associação 1:1 ou 1:N Chave estrangeira Relacionamento N:M Associação N:M Tabela de interseção --- Método --- Utilização de Termos entre modelos Banco de Dados-ARA0040 . Composição da Tabela ou Relação As tabelas ou relações de banco de dados são compostas pelos itens abaixo: Compostas de: ✓ Linhas; ✓ Colunas; e ✓ Chaves Primárias. Relacionadas através de: ✓ Chaves estrangeiras’ ✓ Chaves alternativas Chave: conceito básico para estabelecer relações entre as linhas da tabela; No modelo relacional são consideradas as chaves: ✓ primárias; ✓ alternativas e ✓ estrangeiras. Banco de Dados Relacional Banco de Dados-ARA0040 Chaves Primária: Coluna ou combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela. Banco de Dados Relacional A coluna CódigoEmp é a chave primária desta tabela pois os valores contidos em seus campos permitem distinguir uma linha das demais linhas desta tabela. Banco de Dados-ARA0040 Chaves Banco de Dados Relacional Estrangeira: ✓Quando da inclusão de uma linha na tabela que a contém deve ser garantida a existência do valor da chave estrangeira na tabela referenciada que contém a chave primária respectiva. ✓ Quando da alteração do valor da chave estrangeira deve ser garantida a existência do valor da chave estrangeira na tabela referenciada que contém a chave primária respectiva. ✓ Quando da exclusão de uma linha da tabela que contém a chave primária referenciada pela chave estrangeira deve ser garantida que na coluna chave estrangeira não apareça o valor da chave primária excluída. .Banco de Dados-ARA0040 Chaves Banco de Dados Relacional Estrangeira: Coluna ou combinação de colunas, cujos valores aparecem, necessariamente, na chave primária de uma outra tabela. Mecanismo que permite a implementação de relacionamentos em um banco de dados relacional. Banco de Dados-ARA0040 Chaves Banco de Dados Relacional Alternativa: Em certas situações mais de uma coluna ou combinação de colunas servem para distinguir uma linha das demais dentro de uma tabela.Se uma destas for escolhida como chave primária, as demais serão chamadas de chaves alternativas. Não há qualquer diferença entre usar as CódigoEmp ou CIC como chave primária. Banco de Dados-ARA0040 . Representação Gráfica de Tabela Banco de Dados Relacional Banco de Dados-ARA0040 Restrições de Integridade – Restrição de integridade: é uma regra de consistência de dados que é garantida pelo próprio SGBD. – Integridade de Domínio – Integridade de Vazio – Integridade de Chave – Integridade Referencial – Integridade Semântica Banco de Dados Relacional Banco de Dados-ARA0040 Restrições de Integridade – Restrição de integridade: é uma regra de consistência de dados que é garantida pelo próprio SGBD. • Na abordagem relacional, costuma-se classificar as restrições de integridade nas seguintes categorias: – Integridade de Domínio – Restringe o tipo de valor que a coluna recebe – Integridade de Vazio – Restringe a obrigatoriedade ou não do preenchimento do campo. – Integridade de Chave- Estabelece a unicidade da tupla. – Integridade Referencial – Estabelece a Relação de chave estrangeira. – Integridade Semântica – Estabelecem condições de tratamento para o atributo.(Ex. Restringir dentro do setor COMERCIAL a não inserção de cargos que não pertençam ao setor, tipo ARQUITETO) Banco de Dados Relacional Banco de Dados-ARA0040 Relacionamentos Especiais. • Generalização/Especialização: usado quando uma entidade contem o geral e tem que se tornar especifica. – Notação de generalização/especialização. PESSOAS È/UM ALUNO PROFESSOR Banco de Dados Relancional Banco de Dados-ARA0040 Relacionamentos Especiais. • Agregação : No exemplo abaixo um funcionário trabalho em um determinado projeto é responsável por um determinado equipamento, nesse caso fica claro fazer a relação ternária entre as entidades FUNCIONARIOS, PROJETOS e EQUIPAMENTOS. PROJETOSFUNCIONARIOS EQUIPAMENTO Banco de Dados Relancional Banco de Dados-ARA0040 Relacionamentos Especiais. • Autorelacionamento : Neste caso é necessário relacionar uma entidade consigo mesma. • Exemplo: dentre todos os funcionários um deles é o chefe. Neste caso o relacionamento deve sair da entidade para ela mesma. FUNCIONÁRIOS Banco de Dados Relancional Banco de Dados-ARA0040 . SQL – STRUCTURED QUERY LANGUAGE Uma Linguagem de banco de dados consiste dos seguintes comandos: ▪ Consultar dados existentes no BD. ▪ Incluir, modificar e excluir dados. ▪ Criar, modificar e remover estruturas de dados. ▪ Regular o acesso aos dados. DML – Data Manipulation Language ▪ Select. ▪ Insert.▪ Update. ▪ Delete. DDL – Data Definition Language ▪ Create (table, index, view). ▪ Alter (table, index, view). ▪ Drop (table, index, view). DCL – Data Control Language ▪ Grant (Atribuir privilégios). ▪ Revoke (Revogar privilégios). Banco de Dados Relacional Introdução à Programação AULA 01: Introdução à Lógica de Programação Bibliografia básica FONSECA, Cleber Costa da. Banco de Dados-ARA0040. 1. ed. Rio de Janeiro: SESES, 2016. PUGA, Sandra; FRANÇA, Edson; GOYA, Milton. Banco de Dados: implementação em SQL, PL/SQL e Orable 11g (Biblioteca Virtual). 1. ed. São Paulo: Pearson, 2013. SILBERSCHATZ, Abraham; KORTH, Henry F; SUDARSHAN, S. A. Sistema de banco de dados. 6. ed. Rio de Janeiro: Elsevier, 2012. Banco de Dados-ARA0040 Introdução à Programação AULA 01: Introdução à Lógica de Programação Bibliografia complementar Projeto e Otimização em D BALIEIRO, Ricardo. Banco de dados. 1. ed. Rio de Janeiro: SESES, 2015. ELMASRI, R.; NAVATHE, S. Sistemas de Banco de Dados (Biblioteca Virtual). 4. ed. São Paulo: Pearson Education do Brasil, 2005. KLINE,Daniel; KLINE , Kevin. SQL - O Guia Essencial - Manual de Referencia Profissional. 1. ed. Rio de Janeiro: Alta Books, 2010. NETO, Geraldo H. MODELAGEM DE DADOS. 1. ed. Rio de Janeiro: SESES, 2015. RAMALHO, Jose Antonio Alves. SQL a linguagem dos bancos de dados. São Paulo: BERKELEY BRASIL, 1999. Banco de Dados-ARA0040 Introdução à Programação AULA 01: Introdução à Lógica de Programação Sugestões de Livros Banco de Dados-ARA0040 DOWNLOADS Prof. Hilson Silva – Banco de Dados 24 • Oracle 11g https://www.oracle.com/technetwork/database/enterprise- edition/downloads/112010-win64soft-094461.html • Downloads do PLSQL –Developer https://www.allroundautomations.com/plsqldev.html?gclid=Cj0KC Qjw3PLnBRCpARIsAKaUbguK1QvhcBEZCv26hA0G2lorZzKFTIVZxGz zPKGZzEZ2aiWwWU8SSkcaAnHIEALw_wcB • Power architect http://www.bestofbi.com/page/architect_download_os Banco de Dados-ARA0040 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html https://www.allroundautomations.com/plsqldev.html?gclid=Cj0KCQjw3PLnBRCpARIsAKaUbguK1QvhcBEZCv26hA0G2lorZzKFTIVZxGzzPKGZzEZ2aiWwWU8SSkcaAnHIEALw_wcB http://www.bestofbi.com/page/architect_download_os DOWNLOADS Prof. Hilson Silva – Banco de Dados 25 • MySQL - http://www.mysql.com/ • Downloads do MySQL – http://dev.mysql.com/downloads/ • MySQL Workbench OSS - http://dev.mysql.com/downloads/workbench/ • SQL Manager 2010 Lite - •http://sqlmanager.net/products/mysql/manager/download • DB Tools Manager – Standard Edition - http://www.dbtools.com.br/EN/downloads/ DOWNLOADS http://www.mysql.com/ http://dev.mysql.com/downloads/ http://dev.mysql.com/downloads/workbench/ http://sqlmanager.net/products/mysql/manager/download http://www.dbtools.com.br/EN/downloads/