Fiz os seguintes cursos no Alura, agora gostaria da opinião de vocês para o próximo curso, bem como algumas dúvidas relacionadas ao curso.
Até agora completei os seguintes cursos:
Lógica de Programação (que é basicamente introdução a Javascript)
Praticando Lógica de Programação (Javascript um pouco mais avançado)
Dando os primeiros passos com HTML5 e CSS3
Minha idéia era partir daqui para “Introdução ao jQuery” e “jQuery 2: Manipulação dinâmica de conteúdo”, mas sinto que posso deixar esses pra mais tarde e atacar PHP com MySQL.
Para isso, pensei em fazer o “Banco de Dados e SQL” para me dar uma base mais firme de Banco de Dados, mas pelo que vi o curso não fala nada sobre normalização de banco, isso não é importante na base?
Acredito que se você estudar SQL sem ter conhecimento de teoria relacional não chegará muito longe. Estude modelo relacional antes de partir para o código propriamente dito. Depois aprenda SQL e como criar um CRUD com PHP. Enquanto aprende MER, pode estudar JQuery sim, pelo menos você não fica sem programar.
Depende de que você quer,se deseja fazer aplicações back-end caia direto em php mesmo,sendo que se você estudasse banco de dados por fora facilitaria um pouco,mas não precisa ter um conhecimento extremo sobre db,o ideal seria você observar como as aplicações tratam do db,ou seja,aprender o famoso dao,dai de SQL (ou qualquer outra linguagem de banco) você precisaria aprender a criar tabelas,popular tabelas,alterar tabelas,excluir linhas das tabelas,criar tabelas relacionadas,e exibir essas tabelas unindo-as(join),sabendo isso você pode cair de cabeça no php imo.
Desculpe minha intromissão, mas para mim, teoria relacional está para SQL assim como orientação a objetos está para qualquer linguagem de programação moderna. É um conceito “universal” para a maioria dos bancos de dados no mercado.
Banco de dados não é só tabela. São entidades que se relacionam através de campos em comum.
Por exemplo, vamos supor que você tenha aprendido a criar uma tabela com SQL e que seu professor peça um cadastro de usuários com nome e telefone, mas com uma condição: cada usuário pode ter um mais mais telefones alocados. O que você fará? Jogará na tabela diversos números de telefone repetindo o valor da coluna nome? Isso não parece uma boa prática.
É aí que se tornam necessários seus conhecimentos no modelo entidade-relacionamento. Fazendo da maneira correta o exemplo anterior, nós teríamos duas tabelas (usuário e telefone). A tabela telefone teria uma coluna que partilharia uma informação comum com o usuário (aqui entra o conceito de chave estrangeira). exemplo:
tabela Usuário
ID | Nome
01 | Joãozinho
tabela Telefone
Numero | IDUSUARIO
6666-6666 | 01
7777-7777 | 01
Dessa forma, o registro “Joãozinho” ficaria amarrado aos diversos números de telefone que possui. Isso melhora o desempenho do banco, além de implementar as restrições de integridade necessárias.
ficou meio confuso, mas espero que tenha sido bem claro na minha explicação rs
Entendi perfeitamente, inclusive já estou com o e-book do livro que você indicou, a pergunta agora é: é realmente chato ler pdf grande no PC ou sou só eu? hehehe
[quote=Kazdum]nao sei como vcs conseguem ler livros técnicos sem estar com o pc do lado hehe
[/quote]
Acho que ninguém consegue. Eu por exemplo, sempre leio e ao mesmo tempo copio os exemplos. Parece uma perda de tempo, mas eu não me sinto bem até ver o código funcionando.
Pode ser idiotice minha, mas tô grifando desde o prefácio hahahaha
Por falar em idiotice, eu vi que o livro tem exercícios teóricos no primeiro capítulo e apesar de ter as respostas no final, será que o pessoal daqui do fórum ajudaria a “corrigir” ou comentar as respostas se eu postasse pergunta e resposta?
Pensei em pular essa parte onde ele define o que é modelagem relacional, o que é projeto lógico etc etc, mas acho que pra ter uma base boa é bobagem pular etapas.
Sim Júlio. Por muitos anos lecionei a disciplina e transformei os exercícios solucionados pelos alunos em um material de apoio ao estudante. A matéria, embora básica e antiga, é de fundamental importância para a compreensão da construção de bases de dados.