Carregar apresentação
A apresentação está carregando. Por favor, espere
1
UCSal – Bacharelado em Informática
Banco de Dados Profa. Semíramis Assis 2015.2
2
Modelo Conceitual Primeira etapa no processo de modelagem, consiste em identificar as entidades (tabelas) e seus atributos (campos). Para representação, se identifica as ações entre as entidades. Objetiva conter todas as informações do mundo real que serão armazenadas em banco.
3
Modelo Conceitual Exemplo: Cadastro de Fornecedor Cadastro de Produtos
Campos: nome completo, tipo de pessoa (física/jurídica), endereço, bairro, cidade, estado, cep, telefone, , nome contato. Cadastro de Produtos Campos: código do produto, nome do produto, modelo, unidade de medida, preço de compra, preço de venda, estoque mínimo, estoque máximo, estoque atual, data da última compra. Cadastro de Pedidos Campos: código do produto, quantidade, código do cliente, código do vendedor.
4
Modelo Lógico Segunda parte do processo de modelagem, compreende a descrição das estruturas que serão armazenadas no banco e resulta na representação dos dados de uma maneira lógica. Nesta etapa é definida a abordagem que será utilizada: hierárquica, de rede ou relacional.
5
Exercícios EXERCÍCIOS
6
Álgebra Relacional Inclui operadores para as operações básicas sobre conjuntos: Restrição (seleção); Projeção; Junção; Divisão. Cabeçalho resultante pode ter ambiguidades – Importância da utilização de alias. É possível aninhar diversas operações em uma mesma query. Utilização de subqueries para auxílio nas operações com álgebra relacional.
7
Álgebra Relacional As oito operações relacionais.
8
Nomes das colunas alterados
Álgebra Relacional Alias ou rename de campos do cabeçalho: O conjunto de saída resultante irá ter o nome de um ou mais campos alterados, evitando ambiguidade. Exemplo: Select p.codigo as codigo_produto, f.codigo as codigo_fornecedor from produto p, fornecedor f WHERE <condicoes>. Nomes das colunas alterados Alias das tabelas
9
Álgebra Relacional Sintaxe completa de uma query SQL.
10
União Representa a união de todos os dados dos conjuntos envolvidos. Em Sql, representa a união de todas as tuplas resultantes de consultas distintas. Precisa ter o mesmo tipo de dados e quantidade de campos em ambas consultas.
11
União Resultado: Resultado: União: Resultado:
12
Interseção Assim como na operação de União, exige que os campos sejam do mesmo tipo. Exibe como resultado as tuplas que sejam iguais no conjunto A e no B. Oracle suporta comando INTERSECT. No MySql, é preciso utilizar comandos de junção para obter o mesmo resultado.
13
Interseção No MySql: Resultado: Aluno Disciplina
14
Diferença Também exige que os campos sejam do mesmo tipo nas duas relações; O resultado são todas as tuplas T tais que T apareça em A e não apareça em B; O Oracle dá suporte ao comando MINUS, porém o MySql não suporta, devendo utilizar subqueries para o mesmo resultado.
15
Diferença No MySql: Resultado: Aluno Disciplina
16
Produto É o produto cartesiano resultante dos pares ordenados de tuplas, ou seja, a união de todos os campos da tabela A com todos os campos da tabela B e assim sucessivamente, caso existam outras tabelas.
17
Produto Como resultado da execução da query abaixo:
Temos o produto cartesiano:
18
Restrição Representa o conjunto de tuplas resultantes da avaliação das condições presentes na cláusula WHERE. As condições após a cláusula WHERE representam o predicado da relação.
19
Restrição Query: Resultado: Outro exemplo: Resultado:
20
Projeção Representa o cabeçalho das tabelas envolvidas na consulta, removendo todos os campos não mencionados. Produz um subconjunto vertical de determinada relação, obtido pela remoção de todos os atributos não mencionados após a palavra SELECT.
21
Projeção Query: Projeção Resultado: Outro exemplo: Projeção Resultado:
Restrição
22
Junção Representa a união dos campos das tabelas envolvidas na relação, de modo a não ter nenhuma repetição nos nomes dos campos, evitando a ambiguidade. Utilização do alias (ou rename); Representado pela operação JOIN.
23
Junção Join / Inner Join / Cross Join – São expressões equivalentes no MySql, resultando nas tuplas que satisfaçam a condição na cláusula ON. Left Join – Resulta em todas as tuplas de A e sua equivalência (ou não) nas tuplas de B; Right Join – Resulta em todas as tuplas de B e sua equivalência (ou não) nas tuplas de A.
24
Junção Para o cenário abaixo: Aluno Disciplina
25
Divisão A divisão entre X e Y terá como resultado todos os valores de um atributo de X que fazem referência a todos os valores de um atributo de Y. Muito comum em consultas que incluam a “busca por todos” ou “em todos”.
26
Divisão Exemplo: Buscar por todos os alunos que estão matriculados em todas as disciplinas. Aluno Disciplina Aluno_Disciplina
27
Divisão Selecionando todos os alunos que estão matriculados em todas as disciplinas: Resultado:
28
Agrupamento e Ordenação
Group By Agrupa o resultado pelo(s) campo(s) indicado(s); É necessário que o(s) campo(s) esteja(m) no cabeçalho da relação. Order By Ordena o resultado pelo(s) campo(s) determinado(s); Pode ser: Asc - Ascendente Desc - Descendente
29
Agrupamento e Ordenação
30
Agrupamento e Ordenação
31
Soma, Contagem e Funções Aritméticas
Sum Totaliza campos inteiros ou numéricos. Count Conta a quantidade de campos ou tuplas que atendem às restrições do predicado. AVG Retorna a média de um campo inteiro ou numérico. Min Retorna o menor valor de um campo inteiro ou numérico. Max Retorna o maior valor de um campo inteiro ou numérico. All Retorna todos os valores do campo solicitado.
32
Soma, Contagem e Funções Aritméticas
33
Dúvidas?
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.