DevCast: Qual o problema de gravar múltiplos registros de uma vez?

Muitas vezes, por uma questão de usabilidade, a aplicação necessita armazenar, em uma mesma requisição, um número variável de dados, criados em um formulário dinamicamente.


Nesse cenário, como a aplicação deve reagir se o banco parar de responder antes de todos os dados serem gravados? Imagine pagar por dez itens e receber apenas metade deles em sua casa? Tem hora que não dá pra falhar:


Cursos: Criando uma aplicação mestre/detalhe

DevCast

DevCast
Mestre Detalhe em detalhes
Você provavelmente já se deparou com um formulário do tipo mestre detalhe enquanto fazia compras, selecionava suas matérias do semestre, etc. Mas você conhece todas as pequenas armadilhas que a programação dessa rotina esconde? Descubra neste DevCast!
Nenhum programador assistiu esse devcast
Acessar o DevCast

Java

Curso
Web services RESTful em Java: Trabalhando com subrecursos no Jersey
Neste curso você aprenderá a implementar uma Web API RESTful quando seu sistema possuir relacionamentos do tipo 1:N no banco de dados. Para isso, aprenderemos como fazer o mapeamento objeto-relacional para que o JPA/Hibernate saiba como lidar com esse tipo relacionamento, e conheceremos o conceito de subrecurso em web services, aprendendo como implementá-lo utilizando o Jersey. A partir disso, vamos demonstrar como construir a URI para possibilitar que o subrecurso também seja especificado através dela, o que nos levará a um endereço como recurso/id do recurso/subrecurso. Com esse caminho, mantendo a base dos conceitos empregados por web services RESTful, será possível realizar todas as ações de um CRUD para ambas as entidades envolvidas no relacionamento.
13 Aulas
Suporte
162 programadores já iniciaram esse curso
Acessar o Curso
Curso
API RESTful em Java: subrecursos em um relacionamento N:N
Aprenda a implementar uma Web API RESTful em sistemas que possuam relacionamentos N:N, isto é, do tipo muitos para muitos, no banco de dados. Neste curso veremos como realizar o mapeamento objeto-relacional para que o framework ORM - Hibernate, por exemplo - saiba como lidar com esse tipo relacionamento. Veremos, também, como aplicar o conceito de subrecursos do Jersey para a construção de URIs e, assim, possibilitar o acesso ao subrecurso, o que nos levará a um endereço como recurso/id do recurso/subrecurso. A partir disso podemos aproveitar os verbos HTTP para executar os métodos de um CRUD, bem como criar ou desfazer um relacionamento, ou mesmo recuperar dados de duas ou mais entidades tirando proveito desse relacionamento.
11 Aulas
Suporte
165 programadores já iniciaram esse curso
Acessar o Curso
Curso
Spring: Criando uma aplicação MVC completa com JPA
O objetivo deste curso é abordar alguns dentre os principais projetos no ecossistema Spring. Para isso criaremos uma aplicação completo com o Spring Framework/Spring MVC e o Spring-Data JPA, um subprojeto do SpringSource com o objetivo de facilitar, de forma muito eficiente, o trabalho dos desenvolvedores Java em aplicações com acesso a banco de dados relacionais. Com o uso do Spring-Data JPA o desenvolvedor não precisa implementar seus métodos de CRUD, pois este projeto se encarrega disto. Assim, o programador fica livre de criar classes concretas para a persistência de dados. Além disto, o Spring-Data fornece um excelente sistema de paginação de dados e de auditoria. Outros recursos abordados neste curso serão o sistema de injeção de dependências (DI/IoC), o gerenciamento de transações, o Spring MVC, validação de dados pelo no back-end e segurança com o Spring Security. Todos estes recursos serão trabalhados em uma aplicação web como projeto de conclusão do curso.
115 Aulas
Suporte
1431 programadores já iniciaram esse curso
Acessar o Curso
Curso
Spring e JPA: Criando um Web Service RESTful 1:N
Neste curso vamos trabalhar com sub-recursos em uma Web API RESTful desenvolvida com o Spring Framework. Um sub-recurso é formado por registros que estão diretamente relacionados à existência de outros registros ou recursos. Um exemplo bastante comum de sub-recursos em uma API RESTful é encontrado quando temos um relacionamento no banco de dados do tipo um para muitos (1:N). Dito isso, o curso vai apresentar algumas técnicas de como lidar com situações em que sub-recursos são necessários.
18 Aulas
Suporte
316 programadores já iniciaram esse curso
Acessar o Curso
DevCast
Mapeando um relacionamento M x N no Hibernate
Neste DevCast vamos ensinar como mapear um relacionamento M x N (muitos-para-muitos) suprimindo a necessidade de criar a entidade que vai controlar a tabela do meio, esta tabela será controlada “automaticamente” pelo Hibernate sem a necessidade
Nenhum programador assistiu esse devcast
Acessar o DevCast

PHP

Curso
PHP: Crie uma aplicação de cadastro de múltiplas entidades
Neste curso você aprenderá a implementar um sistema de CRUD com duas entidades que se relacionam de forma 1:N em PHP, usando para isso o padrão arquitetural MVC. Veremos aqui o que é preciso para criar um cadastro de marcas e produtos. Neste cenário um produto pertence a uma marca, que deverá ser selecionada em um dropdown na tela de cadastro, enquanto uma marca pode estar vinculada a vários produtos, o que caracteriza o relacionamento 1:N.
9 Aulas
Suporte
746 programadores já iniciaram esse curso
Acessar o Curso
Curso
Laravel e Eloquent ORM: Mapeando um relacionamento do tipo 1:N
Neste curso veremos como desenvolver um CRUD em Laravel com duas entidades que se relacionam de forma 1N. Para isso, partiremos de uma aplicação que já possui os dois cadastros isolados (produtos e marcas), a fim de facilitar o entendimento de como o relacionamento entre entidades no Laravel funciona.
11 Aulas
Suporte
379 programadores já iniciaram esse curso
Acessar o Curso
Curso
Laravel e Eloquent ORM: Mapeando um relacionamento do tipo N:N
Neste curso veremos como desenvolver um CRUD em Laravel utilizando duas entidades que se relacionam de forma N:N. Sendo assim, partiremos de uma aplicação pronta que já possui três cadastros, sendo um CRUD com relacionamento 1:N (produtos e marcas) e um CRUD de categorias isolado, e relacionaremos os produtos com as categorias.
14 Aulas
Suporte
280 programadores já iniciaram esse curso
Acessar o Curso
Curso
Laravel e Eloquent ORM: API RESTful com relacionamento 1:N
Neste curso você aprenderá como construir uma API RESTful utilizando recursos que, do ponto de vista do banco de dados, possuem um relacionamento do tipo 1:N. Faremos isso utilizando o Laravel, um dos principais frameworks PHP para o desenvolvimento web, bem como o Eloquent ORM, módulo deste framework para mapeamento objeto-relacional.
33 Aulas
Suporte
232 programadores já iniciaram esse curso
Acessar o Curso
Curso
Construindo uma aplicação mestre detalhe em PHP
Ao longo deste curso veremos como implementar um formulário "mestre detalhe", nos concentrando nos aspectos principais desse relacionamento e como ele é representado no código, na interface do sistema e no banco de dados. Para isso, será desenvolvida uma aplicação de cadastro de vagas, onde apresentaremos as características específicas deste tipo de formulário, que permitem a gravação de diversos dados, de diferentes entidades, em uma mesma requisição. Serão abordados também soluções para problemas comuns deste cenário. Alguns exemplos disso são a utilização de uma camada de serviços e a manipulação de transações que são feitas no banco de dados e o tratamento da view com Ajax para inclusão de múltiplos detalhes dinamicamente. Esta aplicação foi desenvolvida utilizando o PHP, sem a utilização de frameworks. No front-end, utilizamos Bootstrap para um melhor estilo visual e jQuery para manipulação do DOM.
32 Aulas
Suporte
597 programadores já iniciaram esse curso
Acessar o Curso
Curso
Construindo uma aplicação mestre detalhe em PHP
Ao longo deste curso veremos como implementar um formulário "mestre detalhe", nos concentrando nos aspectos principais desse relacionamento e como ele é representado no código, na interface do sistema e no banco de dados. Para isso, será desenvolvida uma aplicação de cadastro de vagas, onde apresentaremos as características específicas deste tipo de formulário, que permitem a gravação de diversos dados, de diferentes entidades, em uma mesma requisição. Serão abordados também soluções para problemas comuns deste cenário. Alguns exemplos disso são a utilização de uma camada de serviços e a manipulação de transações que são feitas no banco de dados e o tratamento da view com Ajax para inclusão de múltiplos detalhes dinamicamente. Esta aplicação foi desenvolvida utilizando o PHP, sem a utilização de frameworks. No front-end, utilizamos Bootstrap para um melhor estilo visual e jQuery para manipulação do DOM.
32 Aulas
Suporte
597 programadores já iniciaram esse curso
Acessar o Curso

.NET

Curso
Mapeamento 1:N no Entity Framework
Neste curso aprenderemos a implementar relacionamentos do tipo 1:N (um para muitos) utilizando o Entity Framework. Para isso mapearemos duas tabelas do banco de dados que estão relacionadas e veremos como configurar nossas classes para refletir esse relacionamento.
11 Aulas
Suporte
545 programadores já iniciaram esse curso
Acessar o Curso
Curso
ASP.NET MVC e Entity Framework: criando uma aplicação 1:N
Neste curso você aprenderá a implementar um CRUD em ASP.NET MVC com relacionamento 1:N (um para muitos). Veremos como desenvolver as telas do CRUD com seleção do registro relacionado em um dropdown, bem como fazer da forma mestre-detalhe, com adição de campos dinâmicos.
21 Aulas
Suporte
684 programadores já iniciaram esse curso
Acessar o Curso
Curso
ASP.NET Web API: Criando uma API RESTful 1:N
Neste curso veremos como desenvolver um web service RESTful em C# utilizando o ASP.NET Web API. Neste serviço implementaremos um cadastro de Cursos e Aulas, que possuem um relacionamento do tipo 1:N (um curso tem muitas aulas, enquanto uma aula pertence a um curso).
11 Aulas
Suporte
436 programadores já iniciaram esse curso
Acessar o Curso
DevCast
Relacionamentos N para N com EF (Entity Framework)
Nesse pocket video veremos como trabalhar com relacionamentos muito para muitos (N para N) no Entity Framework.
Nenhum programador assistiu esse devcast
Acessar o DevCast

Python

Curso
Django REST: Criando uma API web
Neste curso veremos como desenvolver uma API RESTful utilizando os frameworks Django e Django REST Framework. Para isso, será implementado um CRUD de vagas com os recursos de validação e paginação dos registros.
21 Aulas
Suporte
576 programadores já iniciaram esse curso
Acessar o Curso
Curso
Django REST Framework: Criando uma API RESTful 1:N
Veremos neste curso como implementar o relacionamento 1:N entre três entidades (Vaga, Empresa e Requisito) utilizando APIs com o Django REST framework. O relacionamento ocorrerá de duas formas, a primeira é a versão “tradicional” onde o id de uma entidade (Empresa) será inserida como atributo de outra (Vaga) e a segunda forma é a criação de uma lista de vários registros (Requisitos) no momento da criação de uma outra entidade (Vaga).
25 Aulas
Suporte
264 programadores já iniciaram esse curso
Acessar o Curso
Curso
ORM no Django: Implementando o relacionamento 1:N
Neste curso veremos como desenvolver uma aplicação web em Django que efetua o CRUD de duas entidades que se relacionam da forma 1:N (uma marca está vinculada a vários produtos). Veremos aqui como é simples configurar esse tipo de relacionamento nesse framework e para isso partiremos de uma aplicação que já conta com os dois cadastros isolados, facilitando o entendimento de como as entidades se relacionam no Django.
6 Aulas
Suporte
427 programadores já iniciaram esse curso
Acessar o Curso
Curso
ORM no Django: Implementando o relacionamento N:N
Neste curso aprenderemos a implementar um CRUD com o relacionamento N:N entre duas entidades utilizando o Django. Para isso, iremos mapear o relacionamento entre as entidades Categoria e Produto, em que um produto pode pertencer a N categorias, enquanto uma categoria pode possuir N produtos vinculados a ela.
6 Aulas
Suporte
318 programadores já iniciaram esse curso
Acessar o Curso

Projeto

Papers

MER e DER: Modelagem de Bancos de Dados

Autor: JOEL RODRIGUES

Publicação: 12/2014

Boas práticas de usabilidade

Autor: DevMedia

Publicação: 08/2017

Mestre-detalhe: Perguntas Frequentes

Confira abaixo algumas respostas para perguntas comuns sobre mestre/detalhe.

<Formação completa Programador FullStack/>
  • Conteúdo Front-end, Back-end e Mobile
  • Plano de estudo linear
  • +10 mil exercícios gamificados
  • +50 projetos reais
  • Comunidade com + 200 mil alunos
  • Suporte 365 dias do ano
  • 12 meses de acesso

<Perguntas frequentes>

Carreira
Por onde devo iniciar os estudos?

Recomendamos começar pelo Plano de Estudo Carreira Programador Front-End. Essa área da programação é mais visual e intuitiva, tornando-a ideal para iniciantes. No Front-End, você aprenderá a criar a parte visual dos sites, como layout, cores e interatividade. Depois de dominar o Front-End, você pode avançar para Programador Back-End, onde aprenderá a lidar com a lógica e o funcionamento interno dos sites, e, finalmente, para Programador Mobile, focando no desenvolvimento de aplicativos para smartphones. Nossa metodologia é estruturada de forma progressiva para garantir que você desenvolva confiança e experiência ao criar projetos reais, como sites estáticos e dinâmicos.

Em quanto tempo vou me tornar um programador?

O tempo necessário para se tornar um programador varia de acordo com a dedicação de cada estudante. Com nossa metodologia, que inclui um Plano de Estudo detalhado e suporte contínuo, você pode se tornar um programador de 6 meses a um ano, dependendo do seu ritmo e esforço. Nossa abordagem prática e orientada a projetos ajudará a acelerar seu aprendizado.

Eu preciso de um diploma de faculdade para começar a atuar como programador?

Não. Ser programador é uma excelente oportunidade para quem não possui diploma de faculdade. Muitas empresas contratam baseadas nas habilidades técnicas e experiência prática, não necessariamente em diplomas. Após conquistar uma vaga, você pode optar por complementar sua formação com um diploma.

Por que a programação se tornou a profissão mais promissora da atualidade?

A necessidade de programadores cresceu exponencialmente, especialmente após a pandemia de Covid-19, que forçou muitas empresas a se adaptarem ao digital. Com o crescimento das empresas de tecnologia, a demanda por programadores aumentou. Atualmente, há mais de 200 mil vagas abertas no Brasil devido à falta de profissionais qualificados.

Metodologia
Quais são os principais diferenciais da DevMedia?

Didática e Metodologia Com mais de 20 anos de experiência, nossa metodologia foca em menos aulas e mais prática. Desenvolvemos dezenas de projetos e exercícios para ajudar você a se tornar um programador completo. Nossos projetos são desafiadores e autênticos, não apenas exercícios repetitivos.
Projetos reais e exercícios Você desenvolverá diversos projetos práticos em cada carreira (Front-End, Back-End e Mobile), recebendo mentoria e suporte contínuo. A prática é essencial, e oferecemos milhares de exercícios para ajudar você a fixar o conteúdo e melhorar sua posição no ranking.
Suporte ao aluno Nossa plataforma oferece suporte dedicado com professores experientes, respondendo suas dúvidas em menos de uma hora. Isso garante que você receba a ajuda necessária durante toda a sua jornada de aprendizado.
Gamificação A DevMedia utiliza gamificação para tornar o aprendizado mais envolvente e motivador. Você acumula pontos e moedas por acertos, que podem ser trocados por produtos e customizações no seu card pessoal. Além disso, o sistema de ranking mensal incentiva a competição amigável e a melhoria contínua.

O que eu irei aprender estudando pela DevMedia?

Ao estudar conosco, você se tornará um programador Full Stack, dominando Front-End, Back-End e Mobile. Utilizamos a linguagem JavaScript, a mais utilizada no mercado, preparando você para criar sistemas webs e aplicativos celulares. Nossa abordagem prática inclui exercícios para fixar o conhecimento e desenvolvimento de projetos reais que te preparam, para o mercado de trabalho.

Quais as vantagens de aprender programação através da linguagem JavaScript?

  1. Ela é Multiplataforma, ela vai te permitir programar para web e para celulares utilizando praticamente a mesma sintaxe.
  2. Elá é Full Stack. Ela te permite criar aplicações Front-end, Back-end e Mobile. Isso acelera muito sua carreira e aumenta suas possibilidades de pegar trabalhos autônomos e conquistar uma vaga no mercado.
  3. Ela é fácil de aprender. Como ela não exige conhecimento inicial em “Orientação a Objetos” ela se torna mais simples com uma curva de aprendizado suave e vai te permitir começar a programar mais rápido do que outras linguagens

A plataforma oferece certificados?

Sim, oferecemos dois tipos de certificados: o certificado de conclusão, que você adquire ao consumir o conteúdo, e o certificado de autoridade, que você obtém ao acertar exercícios. Ambos possuem carga horária, que pode ser utilizada para fins acadêmicos, como atividades complementares na faculdade, e também para comprovações em processos seletivos ou no seu currículo.

A plataforma tem suporte ao aluno, como funciona?

Sim, temos uma equipe de programadores pronta para ajudar com todas as suas dúvidas! Durante o horário comercial, o tempo médio de resposta é de até 10 minutos. E não se preocupe, também oferecemos suporte à noite e nos finais de semana, com um prazo de resposta um pouco maior.

A DevMedia me forma como programador Full Stack?

Sim! Oferecemos uma formação completa, do zero até Full Stack. Nosso foco é na prática, então você vai encontrar muitos exercícios e projetos reais ao longo do curso. Garantimos que você sairá com a autonomia necessária para desenvolver seus próprios projetos com confiança!

Tem horário para as aulas?

Não, não temos horários fixos para as aulas. Todo o nosso conteúdo está disponível para você acessar a qualquer momento, permitindo que você estude conforme sua própria disponibilidade e ritmo. Dessa forma, você pode integrar o aprendizado à sua rotina de maneira mais flexível e eficaz.

Por que a DevMedia não usa videoaulas em sua didática?

Nosso foco principal é formar programadores de verdade. Sabemos que o dia a dia de um programador envolve muita leitura, interpretação e escrita de código. Por isso, nosso conteúdo é desenvolvido para ambientar você nesse processo desde o início, proporcionando mais autonomia e acelerando seu aprendizado.
Na vídeo-aula é o professor que está lendo, interpretando e escrevndo o código para você, isso limita o seu progresso. Ao ler e interagir diretamente com o conteúdo, você exercita sua capacidade de leitura e concentração, além de poder avançar no seu próprio ritmo. Dessa forma, você se torna um programador mais independente e preparado para os desafios reais do mercado.

Preciso de um computador específico para estudar na DevMedia?

Não é necessário nada específico. Qualquer computador com processador atual e memória de 8 GB é suficiente.

Eu consigo estudar pelo celular?

Sim, a DevMedia possui um aplicativo que te permite seguir com seus estudos de qualquer lugar.

A DevMedia tem aplicativo?

Sim, nosso aplicativo está disponível na Play Store e na Apple Store, permitindo que você estude de forma prática e conveniente em qualquer lugar.

Preciso estar na faculdade para acompanhar os estudos na DevMedia?

Não, a faculdade não é necessária. Você não precisa de nenhum conhecimento prévio para iniciar os estudos na nossa plataforma.

Assinatura e Pagamentos
Quais são os planos de assinatura disponíveis?

Oferecemos dois tipos de planos: o plano recorrente e o plano anual. No plano recorrente, a cobrança é lançada mensalmente no cartão de crédito, necessitando apenas do limite para uma parcela. No plano anual, o valor total é lançado no cartão de crédito, parcelado em 12 vezes, e você precisa dispor do valor total no limite do seu cartão. Você também pode optar por pagar no PIX ou no Boleto parcelado (sujeito à analise de crédito)

Adquirindo o plano, terei acesso a todo o conteúdo?

Sim, ao assinar nossa plataforma, você desbloqueia acesso total a todo o nosso conteúdo, sem precisar comprar nada separadamente.

A plataforma tem planos vitalícios?

Não, nossos planos são anuais, garantindo que você tenha acesso contínuo às atualizações mais recentes e aos novos conteúdos. A tecnologia evolui rapidamente, e um plano vitalício oferece um conteúdo estático que se tornará ultrapassado em pouco tempo. Com nossos planos anuais, você está sempre à frente, aprendendo as novidades e tendências mais atuais no mundo da programação.

A DevMedia tem fidelidade?

Sim, nosso plano tem uma fidelidade de 12 meses, o que garante o tempo ideal para você explorar nosso conteúdo e desenvolver a autonomia necessária para trabalhar com programação.

Como funciona o cancelamento?

Nós garantimos seu direito de cancelamento com reembolso total dentro dos primeiros 7 dias, tanto no plano anual quanto no plano recorrente. Após esse período, se você estiver no plano recorrente e optar por cancelar antes de completar 12 meses, há uma taxa de 10% sobre o valor total. No plano anual, não há multas adicionais, mas o valor pago não é reembolsável.
Para que você aproveite ao máximo seu investimento, oferecemos suporte personalizado para orientá-lo na utilização da plataforma. Também temos a opção de transferência de titularidade do plano, permitindo que outra pessoa aproveite o restante do seu período de assinatura.

A renovação é automática?

Sim, nosso plano anual renova automaticamente após 12 meses, proporcionando conveniência e continuidade no seu aprendizado. Na renovação automática não é debitado do seu cartão as 12 parcelas. Para facilitar e não prejudicar o seu limite, a renovação é feita no modelo recorrente, cobrando uma mensalidade a cada mês.
Além disso, a renovação não tem fidelidade, oferecendo total flexibilidade. Você também tem a liberdade de desativar a renovação automática a qualquer momento, garantindo controle absoluto sobre sua assinatura.

Cadastro
Como excluir meus dados da plataforma?

Para excluir seus dados da plataforma, acesse o link : https://www.devmedia.com.br/fale-conosco/ e abra um protocolo de 'Exclusão de dados'. Nossa equipe processará a solicitação e removerá todas as informações do seu cadastro.

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar