Criação de banco de dados MySQL

Olá!

Estou iniciando com banco de dados MySQL, e gostaria de tirar umas dúvidas. Andei dando uma pesquisada mas mesmo assim não consegui sanar essas dúvidas. Seriam elas:

1- Observei que na criação da tabela tem uma ENGINE – InnoDB, para que serve isso?

2- Tem algum padrão a se seguir na criação do banco de dados e das suas tabelas no MySQL? Padrão esses como, setar o charset, colocar esse ENGINE nas tabelas, etc, para que futuramente não sofra/ocorra algum problema caso necessite realizar algo que não foi setado no início da criação do banco de dados.

3- Em relação ao Backup e restauração. É um procedimento feito via programação de acordo com a linguagem que está se utilizando ou é feito na máquina do qual está localizado o servidor do MySQL?

3- Se possível tiver mais algumas dicas, opiniões para manter o banco de dados consistentes, estou aceitando 🙂

Problema na criação de uma stored procedure

Estou tentando criar uma stored procedure que sirva para verificar se minha tabela está vazia, e caso não esteja retornar o valor com o maior Id. Contudo não estou conseguindo.

CREATE PROCEDURE spConsulta @NameTable VARCHAR (50) AS BEGIN     SELECT Value     FROM @NameTable     WHERE Id = (SELECT MAX(Id) FROM @NameTable);      IF @@ROWCOUNT = 0         RETURN 0  END 

Errors.

Msg 1087, Nível 16, Estado 1, Procedimento spConsulta, Linha 6 [Linha de Início do Lote 0] É necessário declarar a variável de tabela “@NameTable”. Msg 1087, Nível 16, Estado 1, Procedimento spConsulta, Linha 7 [Linha de Início do Lote 0] É necessário declarar a variável de tabela “@NameTable”.

Alguém saberia como resolver este problema ? Pelo visto o problema esta no @NameTable, estou fazendo desta forma pois estou tentando utilizar esta stored procedure para todas as tabelas, pois todas as tabelas possuem a mesma estrutura, pelo visto não esta funcionando. Alguém saberia alguma forma alternativa de fazer isto ?

Como coloco no HTML para o botão de criação de artigo ficar visivel somente para Staff?

Venho com uma duvida de iniciante, onde gostaria que o botão de criação de artigo ficasse disponivel somente para staff. (django 2,0)

Layout base:

{% load static from staticfiles %} <!DOCTYPE html> <html lang="en" dir="ltr">   <head>     <meta charset="utf-8">     <title>Articles</title>     <link rel="stylesheet" href="{% static 'styles.css' %}">   </head>   <body>     <div class="wrapper">       <h1><a href="{% url 'home' %}"alt="Articles">Daniel Sobrinho</a>         <nav>           <ul>             {% if user.is_authenticated %}             <li>               <form class="logout-link" action="{% url 'accounts:logout' %}" method="post">                 {% csrf_token %}                 <button type="submit" name="button">Logout</button>               </form>             </li>             <li><a href="{% url 'articles:create' %}" class="highlight">New Article</a></li>           {% else %}             <li><a href="{% url 'accounts:login' %}">Login</a></li>             <li><a href="{% url 'accounts:signup' %}">Signup</a></li>           {% endif %}           </ul>         </nav>        {% block content %}       {% endblock %}   </body> </html> 

View:

from django.shortcuts import render, redirect from .models import Article from django.http import HttpResponse from django.contrib.auth.decorators import login_required from . import forms from django.contrib.auth.models import User from django.contrib.admin.views.decorators import staff_member_required   #Create your views here. def article_list(request):     articles = Article.objects.all().order_by('date')     return render(request, 'articles/article_list.html', {'articles': articles})  def article_detail(request, slug):     #return HttpResponse(slug)     article = Article.objects.get(slug=slug)     return render(request, 'articles/article_detail.html', {'article':article})  @login_required(login_url = "/accounts/login/") @staff_member_required def article_create(request):     if request.method == 'POST':         form = forms.CreateArticle(request.POST, request.FILES)         if form.is_valid():             instance = form.save(commit=False)             instance.author = request.user             instance.save()             return redirect('articles:list')     else:         form = forms.CreateArticle()     return render(request, 'articles/article_create.html', {'form':form}) 

Ajuda com criação de Diagrama de classes e de sequência

Olá, tenho esta atividade para entregar e gostaria de tirar algumas dúvidas.

A descrição é a seguinte: Uma faculdade tem vários cursos, um curso pode ter várias turmas, e vários professores, porém uma turma precisa de no mínimo um professor para existir. Para que uma turma seja formada ela deve ter um nome e são necessários no mínimo 5 alunos. Um professor deve ter nome, cpf e graduação (onde coloco qual curso superior aquele professor se graduou). Um aluno tem nome e cpf. Para que um professor lecione em uma turma ele deve ser da mesma graduação do curso daquela turma. Ou seja, para o professor lecionar em uma turma de sistemas de informação ele deve ser graduado em sistemas de informação. Considere o cenário do cadastro de uma turma e desenhe um protótipo de tela, um diagrama de classes e um diagrama de sequência, ambos baseando-se na arquitetura BCE.

Já fiz um protótipo e um diagrama de classes.

Protótipo: https://marvelapp.com/494bb0h Diagrama de Classes: https://www.lucidchart.com/invitations/accept/c375dd39-fcaa-40c8-a753-1e8d20133c76

As perguntas são as seguintes: Este diagrama de classes está de acordo com o pedido? Como começo a fazer o diagrama de sequência a partir do protótipo?

Criação de novas abas através de botão de ação

Estou desenvolvendo um projeto e nele inseri um botão cuja ação é criar novas abas em um JTabbedPane. Estou com dificuldade para fazer com que o aumento do tamanho do mesmo seja randômico e adicione as abas sempre ao lado direito, mas ao fazer tal ação, ele sempre adiciona a aba abaixo da aba padrão.

Inicialização das abas

Abas após clique

Segue código que criei para tal ação do botão:

JPanel jPAba2 = new JPanel(); jPNavegacao.setVisible(false); int altura = jTPAbas.getHeight(); jTPAbas.setSize(jPAba1.getWidth() + jPAba1.getWidth(), altura); jTPAbas.add(jPAba2).setBounds(jPAba1.getX() + 1, jPAba1.getY(), jPAba1.getWidth(), jPAba1.getHeight()); 

Imagino que preciso dobrar o tamanho do meu JTabbedPane e adicionar a nova aba, mas já tentei de algumas formas diferentes e todas sem sucesso. Alguém sabe como posso fazer isso?

Erro do código na criação de WebGIS

Saudações,

Estou querendo produzir um webgis, acho que segui todos os passos para a produção de código que não me providencia o mapa desejado, alguém pode me ajudar a identificar o erro e a forma de corrigir por forma a publicar esta e mais camadas. A seguir o código implementado:

<!DOCTYPE html> <html lang="en"> <head>   <link rel="stylesheet" href="ol/ol.css" type="text/css">     <script src="ol/ol.js" type="text/javascript"></script>     <style>         html, body, .map {             margin: 0;             padding: 0;             height: 100%;             width: 100%         }     </style>     </head>    <body>         <div id="map" class="map"></div>         <script type="text/javascript">             var map=new OL.Map({                 target: 'map',                 layers: [                     new OL.layer.Tale({                         source: new OL.source.MaoQuest({layer: 'sat'})                     }),                 ],                 new ol.layer.Tale({                 opacity: 0.5,                 source: new OL.source.Tile.WMS({                 url: 'http://localhost:8080/geoserver/wms',                 param: {                 'LAYERS': 'sig:localidade',                 'TILED': true             },                                servertype: 'geoserver'                         })                     }),                     new OL.layer.Tile({                         source: new OL.source.TileWMS({                             url: 'http://localhost:8080/geoserver/wms',                             param: {                                 'LAYERS': 'sig:rios'                                 'TILED': true                             },                             servertype: 'geoserver'                         })                     })                 view: new OL.View({                     projection: 'WGS84',                     center: OL.proj.transform([34.316, -25.021], 'EPSG:4127', 'WGS84')                     zoom: 7                 });         </script>     </body> </html>