A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

UCSal – Bacharelado em Informática

Apresentações semelhantes


Apresentação em tema: "UCSal – Bacharelado em Informática"— Transcrição da apresentação:

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?


Carregar ppt "UCSal – Bacharelado em Informática"

Apresentações semelhantes


Anúncios Google