1) O SGBD só irá impedir se você configurar essa condição nas propriedades da coluna. Você pode verificar a documentação do gerenciador que utiliza para achar essa opção mais facilmente.
2) Acredito que não apareça especificamente onde está a duplicidade, apenas restringe adicionar um número já existente. Caso seja dessa forma, podes realizar consulta pra verificar.
3) Os programas de SGBD possuem um diagrama próprio de entidade-relacionamento e podem facilitar a tua visualização! No dbeaver, por exemplo, consigo ter ainda o tipo de entrada de dados (string, num, alphanum etc.) ao lado da coluna de forma visual.
4)
i) Realizaria a exclusão da tabela "modelo", pois o nome dos modelos já são nomes de tabelas, e são apenas 2.
ii) Excluiria a coluna "idmodelo" da tabela "num_serie". Caso precise realizar consulta por modelo, é só fazer JOIN com a tabela de cada modelo, pois só existem 2.
iii) Passo A: Retiraria a conexão das peças com a garantia.
B: Adicionaria "id_num_serie" na tabela garantias.
C : Realizaria uma conexão entre "garantias.id_num_serie" e "num_serie.num_serie", na proporção 1:1.
Essas são as minhas considerações, espero que sejam de alguma utilidade e que tu tenhas sucesso na tua query.
Abraço,