• Nenhum resultado encontrado

BD2-IF-Aula10

N/A
N/A
Protected

Academic year: 2021

Share "BD2-IF-Aula10"

Copied!
29
0
0

Texto

(1)

Arquivo e Ger. Banco de

Dados

Professor:

Leonardo Melo de Medeiros

(2)

Objetivos

Revisão de Normalização

Cláusula Select

Cláusula From

Cláusula Where

(3)

Normalização dos Dados

A normalização de dados é uma série

de passos que se segue no projeto de um banco de dados que permite um armazenamento consistente e um eficiente acesso aos dados em um banco de dados relacional.

 Esses passos reduzem a redundância de

dados e as chances dos dados se tornarem inconsistentes.

(4)

Consultas e a

Normalização

 No entanto, muitas SGBDs relacionais não

têm separação suficiente entre o projeto lógico da base de dados e a

implementação física do banco de dados, e isso tem como conseqüência que as

consultas feitas a um banco de dados totalmente normalizado têm um mau desempenho.

 Nestes casos, usa-se por vezes a desnormalização para melhorar o

desempenho, com o custo de menores garantias de consistência.

(5)

Primeira Forma Normal

(1FN)

 Uma variável de relação está na 1FN se

e somente se, em todo valor válido dessa variável de relação, cada tupla

contém exatamente um valor para cada atributo.

 As redundância dessa normalização

levam a variedade daquelas, que por razões históricas, se costumam chamar de anomalias de atualização.

(6)

Segunda Forma Normal

(2FN)

Apenas uma chave candidata que

consideraremos de

chave-primária): uma variável está na

2FN se e somente se ela está na

1FN e todo atributo não-chave é

irredutivelmente dependente da

chave-primária.

(7)

Terceira forma normal

(3FN)

 Uma variável de relação está na

3FN se e somente se os atributos não-chaves (se existem) são:  Mutuamente independentes.  Irredutivelmente dependentes da chave primária.  Ex. id_pec

(8)

Terminologia Usada

Tabela (relação)

 o um conjunto de linhas, ou um conjunto de listas de valores, uma

“relação”.

Coluna (atributo)

 Semelhante à campo de um registro;

 Cada coluna em cada linha tem apenas um conteúdo;  Cada coluna é só de um tipo de dados.

Linha (dupla)

 Análogo a um registro de um arquivo;

 Todas linhas de uma tabela tem o mesmo conjunto de colunas.

Chave Primária (Primary Key)

 Uma ou mais colunas com valores que são únicos dentro da tabela

e por isso podem ser usados para identificar as linhas dessa tabela.

Domínio

(9)

Tabelas

Modelo Relacional

 Num BD relacional todos os dados

estão em tabelas;

 A tabela mantém dados relacionados

a urna determinada classe de objetos.

Tabelas são feitas de linhas e

colunas

 o Existe somente um valor de dado

(10)

Acessando os dados /

Chaves primárias

O nome da tabela, nome da coluna

e linha determinam um ítem de

dado;

Cada linha pode ser acessada por

uma única Chave Primária;

Em cada linha, alguma coluna ou

grupo de colunas identificam a

linha

(11)

Usando SQL e as Chaves

Primárias e Estrangeiras

Percebam, que ao termos nossas

tabelas normalizadas. Iremos fazer

uso das chaves primárias para

termos a unicidade do registro.

Usaremos as chaves estrangeiras

para fazermos o relacionamento

entre as diferentes tabelas.

(12)

Escrevendo Instruções

SQL

 Instruções SQL não são case sensitive

 Instruções SQL podem estar em uma ou

mais linhas

 Palavras chaves não podem ser

abreviadas ou quebradas em várias linhas

 Geralmente cláusulas são colocadas em

linhas separadas

 Pode-se utilizar indentação para melhorar

(13)

O Comando SELECT

 Seleção: pode-se utilizar as capacidades de

seleção para definir as colunas retornadas de uma tabela através de uma consulta. Pode-se utilizar vários critérios de seletividade para restringir as linhas retornadas

 Projeção: pode-se utilizar as capacidades de

projeção para definir quais colunas devem ser retornadas por uma consulta.

 Join: pode-se utilizar as capacidades de join

para buscar dados de mais de uma tabela criando-se um link entre as tabelas

(14)

Recuperação de Dados de

um BD

select, especifica a coluna que

você quer recuperar;

from, específica a tabela ou as

tabelas das quais você deseja

recuperar dados.

where, cláusula que determina

exatamente que linhas devem ser

recuperadas.

(15)

Comando SQL Básico

SELECT {*, coluna [alias], ...} FROM tabela;

 SELECT: identifica quais colunas  • *: seleciona todas as colunas  • alias: dá as colunas diferentes

cabeçalhos

(16)

Modelagem da Aplicação

Clínica

(17)

Selecionar todas as

Colunas

(Lista todas as informações da

tabela medico).

(18)

Selecionar uma Coluna

select nome

from medico

(19)

Selecionando Mais de uma

Coluna

Mais de uma coluna

Colunas separadas por vírgula

 select nome, sobrenome

(20)

Reoordenando colunas

Reordenando colunas

A ordem das colunas no comando

select determina a ordem em que

as colunas aparecerão no

(21)

Linhas Duplicadas

 O modo que as colunas são retornadas por default, traz

colunas com valores duplicados SELECT deptno

FROM emp;

 Para eliminar a duplicidade deve-se utilizar a palavra

chave DISTINCT na cláusula SELECT SELECT DISTINCT deptno

FROM emp;

 Pode-se especificar várias colunas após o distinct, e

este afetará todas as colunas selecionadas. O resultado representa o um valor distinto para a combinação de colunas

(22)

Eliminando Duplicações

Distinct: palavra chave que elimina

colunas duplicadas na saída

Sintaxe simplificada:

o select [ distinct ]

lista_do_select

(23)

Ex. Distinct

 select state

from stores

 (Lista os estados da tabela stores)

 Select distinct state

From stores

 (Lista uma ocorrência para cada estado

(24)

Recuperação qualificada –

Select / From / Where

where: cláusula que determina

exatamente que linhas devem ser

recuperadas.

 select lista_do_select

from lista_de_tabelas

(25)

Condições na cláusula

where

 Operadores de comparação (=,>,<);

 o Intervalos (between and not between);  o Caracteres semelhantes (like and not

like);

 o Valores desconhecidos (is null and is not

null);

 o Listas(in and not in);  o Combinações (and,or).

(26)

Select sem Cláusula

Where

select *

(27)

Select com Clásula Where

select *

from Paciente

(28)

Ex. Consulta com WHERE

 Consulta que exibe todas as consultas

realizadas pelos médicos e seus respectivos pacientes

SELECT Consulta.Data, Consulta.FoiRealizada,

Medico.Nome NomeMedico, Paciente.Nome NomePaciente

FROM CONSULTA, MEDICO, PACIENTE

WHERE consulta.Id_Medico = medico.id_medico

and consulta.Id_Paciente = paciente.id_paciente

(29)

Dúvidas

Referências

Documentos relacionados

Desde sempre o Brasil, com suas cores e suas sugestões tropi- cais exercita uma influência pro- funda sobre os artistas de todo o mundo: os italianos não são uma exceção, e com

O PREFEITO MUNICIPAL DE POTIRAGUÁ, ESTADO DA BAHIA, no uso legal de suas atribuições. e em conformidade com o que dispõe o

1 1X4 X SER LUCIO 2 2X3 X CECORES 3 1X3 X ATLETICO SAIBREIRA 4 2X4 X SER LUCIO 5 1X2 X CASA CRIANÇA 6 3X4 X CECORES Classificados: 1º Lugar: 2º Lugar: Chave: Pontos AMVEP SUPER

Os recursos de troca a quente do FAStT EXP700 permitem remover e substituir as unidades de disco rígido FAStT de 2 GB Fibre Channel, as fontes de alimentação, ESMs e as unidades

40 Nos afastamentos, impedimentos ou vacância do cargo de Coordenador do Programa de Pós-Graduação, a Coordenação será exercida por um dos membros do Colegiado

Suas repercussões incidem no desenvol- vimento de instrumentos de análise da relação trabalho-cidadania-saúde-enfermagem e no aprofundamento de conteúdos teóricos e

Diante da problemática da infecção hospitalar e da importância de se evitar acidentes com material perfurocortante no ambiente hospitalar resultando em complicações,

Observa-se nas ações de tombamento o interesse do poder público local em preservar a paisagem e a memória histórica representada pelo patrimônio natural, bem como pelo pa- trimônio