Jump to content

Ganhe $$$ escrevendo tutoriais para nós!


Foto

Consulta SQL - Normalizada e não normalizada

Normalização SQL Consulta Ajuda




  • Faça login para responder
3 respostas neste tópico

#1 gustavojds

gustavojds
  • Participante
  • 6 mensagens

Publicado 11 June 2012 - 11:33 AM

Bom dia companheiros,

vejam se podem me ajudar, estou fazendo um trabalhinho para a faculdade, porém estou com um pouco de dificuldade para desenvolver.

tenho de fazer algumas consultas Normalizadas e Não normalizadas, e entre essas consultas existem as 2 que coloquei a baixo...

vocês me ajudando nestas acho q sou capaz de fazer as outras...


Eu preciso apresentar os dados não normalizados, e as normalizações em cada uma das formas normais.


* Selecionar todos os aluno que cursam Medicina

* Selecionar quantos alunos do sexo feminino cursaram disciplina "Calculo I"



Obrigado a todos. E uma boa semana.
Abraços
Gustavo.




#2 nickosoft

nickosoft

    Hardware Expert

  • Colaborador
  • 3378 mensagens

Publicado 11 June 2012 - 12:54 PM

é a segunda facul q faco, e desconheco isso de consulta normalizada :087:
pra mim é select com as devidas condicoes ai
VB.Net & C#

#3 C-3PO

C-3PO
  • Participante
  • 39 mensagens

Publicado 13 June 2012 - 09:01 PM

São dois select aí sem sombra de dúvidas....talvez em até um select dependendo da diagramação das tabelas.

#4 adebolo

adebolo
  • Participante
  • 208 mensagens

Publicado 26 July 2012 - 04:51 PM

Boa tarde.

Existem duas formas de modelagem do seu banco de dados, que é a Normalizada e a não normalizada.

Analisando o seu modelo de dados pela descrição, são necessárias as informações dos alunos e cursos, correto:
1 - Na forma não normalizada, teriamos uma tabela contendo todas as essas informações.
2 - Na forma normalizada, teriamos mais de uma entidade: Aluno, Cursos, Aluno_Cursos, em que você teria uma associação de aluno com curso.

Pense sob o seguinte aspecto, 1 aluno pode estar matriculado em N cursos em horarios diferentes. Existem N maneiras de demonstrar isso. Conforme informado acima, na modelagem não normalizada você teria todas as informações concentradas em uma tabela. você faria o SELECT da seguinte maneira, supondo que você possui somente uma tabela ALUNOS contendo todas as informações:

SELECT * FROM ALUNOS WHERE CURSO = 'Ciencias da Computacao'

Na modelagem normalizadal, você teria as informações de forma segregada e mais organizada, por exemplo, você teria uma tabela / entidade ALUNO, uma entidade CURSO e uma entidade associativa entre ambas ALUNO_CURSO. No caso do modelo normalizado, sempre que temos um relacionamento do tipo N -> N, há uma tabela associativa entre as associações. Nesse caso, seu select ficaria da seguinte maneira:

SELECT A.ID_ALUNO, A.NM_ALUNO, C.ID_CURSO, C.NM_CURSO
FROM ALUNO A INNER JOIN ALUNO_CURSO AC ON A.ID_ALUNO = AC.ID_ALUNO
INNER JOIN CURSO C ON C.ID_CURSO = AC.ID_CURSO

Meu conselho é que opte por fazer modelagem normalizada. A vantagem é que fica mto mais facil e organizado seu modelo, mas o contra é que pode ficar mto grande, dependendo do seu nivel de normalização.

Segue anexa uma imagem, exemplo de modelagem normalizada.

[]'s.

Attached Thumbnails

  • modelagem.jpg
Andre Padial






Tópicos Relacionados Collapse

  Tópico Fórum Criado por Estatísticas Última atualização

Tópicos com palavra-chave: Normalização SQL, Consulta, Ajuda





Ganhe $$$ escrevendo tutoriais para nós!