Ir para conteúdo

Recommended Posts

Olá, amigos, tudo bem? Estou fazendo um exercício em sala de aula de uma tabela q deverá ser normalizada nas 3 formas normais. Estou com uma dificuldade absurda para entender o assunto, então gostaria de pedir a ajuda de vocês nesse exercício em questão. 

O professor pediu para fazer as 3 formas normais da tabela a seguir.

 

 

833552250_Normalizao.thumb.png.f1858126a7190db39d5a96bd03d923a4.png

 

Bom, a primeira forma normal seria a tabela sem campos multivalorados e sem campos compostos. Na tabela que postei, eu não encontrei nenhum campo composto ou multivalorado. Isso significa que essa tabela já esta na primeira forma (1FN) normal? Não preciso mudar mais nada? Ficaria assim?

 

1FN

(CdEqu, NmEquip, NmVend, CdVend, CdSec, NmSec, VlTotltVen, VlUnitVen, VlUnitVen, Qtd, DtReq, NumReq, CdMat, NmMateria, VlUnitEst, CdGrupo, NmGrupo)

 

Alguém saberia me dizer como ficaria a 2FN? O professor mal passou o assunto e ja pediu uma tabela desse nível. Ta meio complicado entender, se alguém pudesse ajudar explicando seria legal. 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por felone
      galera estou tendo esse erro 
      INSERT INTO gw_setoresimpressao (descricao, idloja) VALUES ('', '')Incorrect integer value: '' for column 'idloja' at row 1
      Ocorreu um erro na execução do Comando SQL no banco de dados
      <?php header('Access-Control-Allow-Origin: *'); header("Content-Type: text/html; charset=UTF-8", true); require_once 'classes/cls_db.php'; include 'classes/gravar.php'; include 'classes/alterar.php'; include 'classes/excluir.php'; include 'classes/jsongrid.php'; if (isset($_GET ['acao'] )){     $acao = $_GET['acao'];     }else{         $acao = "";     } if (isset($_GET ['id'] )){     $id = $_GET['id'];     }else{         $id = "";     }     if (isset($_GET ['descricao'] )){     $descricao = $_GET['descricao'];     }else{         $descricao = "";     }  if (isset($_GET ['idloja'] )){     $idloja = $_GET['idloja'];     }else{         $idloja = "";     } if (isset($_GET ['codigo_operador'] )){     $codigo_operador = $_GET['codigo_operador'];     }else{         $codigo_operador = "";     }     if (isset($_GET ['nome_operador'] )){     $nome_operador = $_GET['nome_operador'];     }else{         $nome_operador = "";     }      if($acao == "gravar"){     try {         $gravar = new gravar();                  $gravar->id = $id;         $gravar->descricao = $descricao;         $gravar->idloja = $idloja;         $gravar->codigo_operador = $codigo_operador;         $gravar->nome_operador = $nome_operador;                  $json = $gravar->gravar();         echo json_encode($json);     } catch (Exception $ex) {         $json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));         echo json_encode($json, JSON_NUMERIC_CHECK);     } } if($acao == "alterar"){     try {       $alterar = new alterar();              $alterar->id = $id;       $alterar->descricao = $descricao;       $alterar->idloja = $idloja;       $alterar->codigo_operador = $codigo_operador;       $alterar->nome_operador = $nome_operador;              $json = $alterar->alterar();       echo json_encode($json);     } catch (Exception $ex) {         $json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));         echo json_encode($json, JSON_NUMERIC_CHECK);     } } if($acao == "excluir"){     try {       $excluir = new excluir();              $excluir->id = $id;              $json = $excluir->excluir();       echo json_encode($json);     } catch (Exception $ex) {         $json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));         echo json_encode($json, JSON_NUMERIC_CHECK);     } } if($acao == "jsongrid"){     try {       $json = jsongrid();       echo json_encode($json);     } catch (Exception $ex) {         $json[]= array('retorno'=>'error','data'=>'','msgerror' => ut9_encode($exc->getMessage()));         echo json_encode($json, JSON_NUMERIC_CHECK);     } }  
       
      <?php header('Access-Control-Allow-Origin: *'); header("Content-Type: text/html; charset=UTF-8", true); require_once 'cls_db.php'; class gravar {     public $descricao;     public $idloja;     public $datahora;     public $codigo_operador;     public $nome_operador;     public $id;          function gravar(){         date_default_timezone_set('America/Sao_Paulo');         $this->datahora = date('Y-m-d H:i:s');         $json = array();         $objDb = new cls_db();         $link = $objDb->conecta_mysql();         $consulta = $objDb->MysqlExecuta("SELECT * FROM gw_setoresimpressao WHERE descricao='$this->descricao' AND idloja='$this->idloja'");         $resultado = mysql_num_rows($consulta);         $valor = 0;         if ($resultado == $valor) {             $objDb->MysqlExecuta("INSERT INTO gw_setoresimpressao (descricao, idloja) VALUES ('$this->descricao', '$this->idloja')");             $objDb->MysqlExecuta("UPDATE gw_setoresimpressao SET datahora='$this->datahora', codigo_operador='$this->codigo_operador', nome_operador='$this->nome_operador' "                     . "WHERE descricao='$this->descricao' AND idloja='$this->idloja'");             return true;         }  else {             return false;         }     } } 
       
      esse é o meu codigo, me ajudem por favor 
    • Por jonata paulino
      SELECT e.*, e.CO_ESCOLA, es.CO_ENTIDADE FROM enem20162 e LEFT JOIN escolas es ON e.CO_ESCOLA = es.CO_ENTIDADE GROUP BY e.CO_ESCOLA; Estou fazendo esta consulta ai a cima para o retornar os alunos que estão matriculados em uma escola, porém, fica só rodando e não completa a execução. Informando que essas duas tabelas estão no mesmo banco e eu não fiz a junção através de chave primária e estrangeira. Não sei se está correto.
    • Por teteuvec
      Prezados boa tarde,
       
      Estou tentando escrever na tela o resultado de um select na tela utilizando WHILE, porém está entrando em loop infinito e gostaria de ajuda para acertar a sintaxe desta técnica.
       
       
      Código apenas com 1 WHILE
      <?php $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'people_records'; $query_Recordset2 = "SELECT * FROM {$_SESSION['table_base']} WHERE `link_record` = {$data1['id']} AND `record_caracter_id` = 1 order by {$_SESSION['id_base']} DESC"; $Recordset2 = mysqli_query($connect, $query_Recordset2) or die(mysqli_error($connect)); $row_Recordset2 = mysqli_fetch_assoc($Recordset2); $totalRows_Recordset2 = mysqli_num_rows($Recordset2); while($Recordset2 = mysqli_fetch_assoc($Recordset2)) { echo "Contato: ".$Recordset2["name"]."</br>"; echo "CPF/CNPJ: ".$Recordset2["cpf_cnpj"]."</br>"; echo "e-mail: ".$Recordset2["email"]."</br>"; echo "Celular: ".$Recordset2["cellphone"]."</br>"; echo "Telefone: ".$Recordset2["telephone"]."</br>"; echo "Documento de identificação: ".$Recordset2["name"]."</br>"; echo "</br>"; }?>  
       
      Código inteiro:
      <?php session_start(); $_SESSION['last_page'] = $_SERVER['PHP_SELF']; $_SESSION['del_message'] = 'Deseja excluir o cliente '; $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'people_records'; $_SESSION['id_base'] = 'id'; require_once('connections.php'); $query_Recordset1 = "SELECT * FROM {$_SESSION['table_base']} WHERE record_caracter_id = '0' order by {$_SESSION['id_base']} DESC"; $Recordset1 = mysqli_query($connect, $query_Recordset1) or die(mysql_error()); $row_Recordset1 = mysqli_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysqli_num_rows($Recordset1); ?> <!doctype html> <html lang='pt-br'> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Tupã - Serviços de Engenharia</title> <link href='css/sistema.css' rel='stylesheet' type='text/css' media='all'> <style type="text/css"> #cnpj { display: none; } #contato { display: none; } #endereco { display: none; } </style> </head> <body> <fieldset> <legend>Gerenciamento de Clientes</legend> <table id="tabela"> <thead> <tr> <th>Descrição</th> <th>Contato</th> <th>Projetos</th> <th colspan="3">Ação</th> </tr> <tr> <th></th> <th></th> <th></th> <th colspan="3"><input type="submit" value="Filtrar" /> | <input type="button" onclick="javascript: location.href='#rec_openModal'" value="Adicionar" /></th> </tr> </thead> <?php while ($Recordset1 = $row_Recordset1){?> <tr> <td bgcolor="#F5F5F5"><p> Código: <?php echo $Recordset1['id']; ?> <br /> Cliente: <?php echo $Recordset1['name']; ?> <br /> CPF/CNPJ: <?php echo $Recordset1['cpf_cnpj']; ?> <br /> e-mail: <?php echo $Recordset1['email']; ?> <br /> Celular: <?php echo $Recordset1['cellphone']; ?> <br /> Telefone: <?php echo $Recordset1['telephone']; ?> <br /> Documento de identificação: <?php if(file_exists('imagens/clients/energy_bill/'.$Recordset1['id'].'.jpg')) { echo 'Documento de identificação: <a href=imagens/clients/energy_bill/'.$Recordset1['id'].'.jpg target="_blank"><img src="imagens/view.png" width="24" height="24">'; } else { echo 'Documento de identificação: indisponível'; } ?> </p></td> <td bgcolor="#F5F5F5"><?php $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'people_records'; $query_Recordset2 = "SELECT * FROM {$_SESSION['table_base']} WHERE `link_record` = {$data1['id']} AND `record_caracter_id` = 1 order by {$_SESSION['id_base']} DESC"; $Recordset2 = mysqli_query($connect, $query_Recordset2) or die(mysqli_error($connect)); $row_Recordset2 = mysqli_fetch_assoc($Recordset2); $totalRows_Recordset2 = mysqli_num_rows($Recordset2); while($Recordset2 = mysqli_fetch_assoc($Recordset2)) { echo "Contato: ".$Recordset2["name"]."</br>"; echo "CPF/CNPJ: ".$Recordset2["cpf_cnpj"]."</br>"; echo "e-mail: ".$Recordset2["email"]."</br>"; echo "Celular: ".$Recordset2["cellphone"]."</br>"; echo "Telefone: ".$Recordset2["telephone"]."</br>"; echo "Documento de identificação: ".$Recordset2["name"]."</br>"; echo "</br>"; }?> </td> <td bgcolor="#F5F5F5"><?php $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'projects_link_tpm'; $query_Recordset3 = "SELECT * FROM {$_SESSION['table_base']} where people_record_id = {$row_Recordset1['id']} order by {$_SESSION['id_base']} DESC"; $Recordset3 = mysqli_query($connect, $query_Recordset3) or die(mysqli_error($connect)); $row_Recordset3 = mysqli_fetch_assoc($Recordset3); $totalRows_Recordset3 = mysqli_num_rows($Recordset3); while($data3 = mysqli_fetch_assoc($Recordset3)) { echo "Projeto: ".$Recordset3["id"]."</br>"; echo "</br>"; }?> </td> <td width="3%" bgcolor="#F5F5F5"><form action="mysql/update_process.php" method="POST"> <input type="hidden" name="update_process" value="<?php echo $row_Recordset1[$_SESSION['id_base']] ?>"> <input type="image" name="submit" src="imagens/edit.png" width="24" height="24"> </form></td> <td bgcolor="#F5F5F5"><form action="mysql/del_process.php" method="POST"> <input type="hidden" name="delete_process" value="<?php echo $row_Recordset1[$_SESSION['id_base']] ?>"> <input type="hidden" name="delete_register" value="<?php echo $row_Recordset1['name'] ?>"> <input type="image" name="submit" src="imagens/delete.png" width="24" height="24"> </form></td> </tr> <?php }?> </table> </fieldset> <div id="rec_openModal" class="modalDialog"> <div> <a class="close" title="Fechar" href="#close">X</a> <fieldset> <legend>Realizar cadastro</legend> <br> <label>Modalidade:</label> <select name="modality" onChange="mostraDiv(this.value)"> <option value="1">Cliente CPF</option> <option value="2">Cliente CNPJ</option> <option value="3">Contato de cliente</option> <option value="4">Endereço de cliente</option> </select> <br /> <div id="cpf"> <form action="mysql/insert_process.php" method="post" id='1'> <br> <label>Nome: </label> <input name='name' type='text' /><br /> <br> <label>CPF: </label> <input name='cpf_cnpj' type='number' data-mask='000.000.000-00' /><br /> <br> <label>e-mail: </label> <input name='email' type='text' /><br /> <br> <label>Celular: </label> <input name='cellphone' type='text' data-mask="(00)0000-0000" /><br /> <br> <label>Telefone: </label> <input name='telephone' type='text' data-mask='(00)00000-0000' autocomplete='off' /><br /> <br> <label>Documento de identificação: </label> <input type='file' name='doc_id'><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="0"><INPUT TYPE="hidden" NAME="action" VALUE="0"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> <div id="cnpj"> <form action="mysql/insert_process.php" method="post" id='2'> <br> <label>Nome da empresa: </label> <input name='name' type='text' /><br /> <br> <label>CNPJ: </label> <input name='cpf_cnpj' type='text' data-mask="00.000.000/0000-00" /><br /> <br> <label>e-mail: </label> <input name='email' type='email' /><br /> <br> <label>Celular: </label> <input name='cellphone' type='text' data-mask="00000-000" /><br /> <br> <label>Telefone: </label> <input name='telephone' type='text' /><br /> <br> <label>Documento de identificação: </label> <input name='doc_id' type='file' /><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="0"><INPUT TYPE="hidden" NAME="action" VALUE="0"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> <div id="contato"> <form action="mysql/insert_process.php" method="post" id='3'> <br> <label>Nome: </label> <input name='name' type='text' /><br /> <br> <label>cpf: </label> <input name='cpf' type='number' data-mask='000.000.000-00' /><br /> <br> <label>e-mail: </label> <input name='email' type='text' /><br /> <br> <label>Celular: </label> <input name='cellphone' type='text' data-mask="(00)0000-0000" /><br /> <br> <label>Telefone: </label> <input name='telephone' type='text' data-mask='(00)00000-0000' autocomplete='off' /><br /> <br> <label>Documento de identificação: </label> <input type='file' name='doc_id'><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="1"><br> <label>Contato do cliente </label> <select name="link_record"> <?php while ($data = mysqli_fetch_array($Recordset1)) { echo("<option value='".$data['id']."'>".$data['name']."</option>"); } ?> </select><br /> <INPUT TYPE="hidden" NAME="action" VALUE="0"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> <div id="endereco"> <form action="mysql/insert_process.php" method="post" id='4'> <br> <label>CEP: </label> <input name='cep' type='text' /><br /> <br> <label>Logradouro: </label> <input name='address' type='text' data-mask="00000-000" autocomplete="off" /><br /> <br> <label>Número: </label> <input name='number' type='text' /><br /> <br> <label>Bairro: </label> <input name='neighborhood' type='text' /><br /> <br> <label>Cidade/UF: </label> <input name='city' type='text' /><input name='uf' type='text' /><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="4"><INPUT TYPE="hidden" NAME="action" VALUE="1"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> </fieldset> </div> </div> </body> </html> <?php mysqli_free_result($Recordset1); mysqli_free_result($Recordset2); mysqli_free_result($Recordset3); ?>  
    • Por rodrigomv
      Existe algum jeito de fazer um cálculo(soma) usando valores da mesma coluna?
      Por exemplo: o cliente quer comprar uma cota no valor de 2000, no banco eu tenho várias cotas cadastradas, entre elas uma no valor de 1000, outra no valor de 600 e uma terceira no valor de 400. O resultado pode ser aproximado.
      id valor admin 200 400 bb 333 500 caixa 356 1000 bb 567 600 bb 788 350 bb 900 200 caixa Em tentativas, achei o número mais próximo de forma direta, através de um campo (não da somatória de campos). exemplo:
      select * from produtcs order by ABS(value - 2000)  
    • Por Alexandre Bandeira
      Bom dia pessoal preciso fazer um filtro na tabela buscando apenas os registros que são desejados pelo cliente. Pode haver um ou mais registros de interesse do usuário por isso estou usando a clausula IN pois esta irá me relacionar todos os registros que satisfazem a pesquisa.
       
      Estou usando na class assim:
      public function select($fields,$table,$cond,$exec){ $this->prepExec('SELECT '.$fields.' FROM '.$table.' '.$cond.'',$exec); return $this->query; A class está sendo chamada, retorna o resultado tudo sem erro. apenas não está reconhecendo os valores para serem retornados na página. Estou usando assim, ou seja o que esta no array (,Array( $variável) não está sendo reconhecido. Ou será que com class a clausula IN não funciona? Ou estou codificando errado?
      $logoimg = "('2', '4')"; // Para testes, ná vdd vem por uma SESSION e é colocada na variável $sel = $crud->select('codi,nome,nomefant,ctrselo,cpf','tblclie','WHERE codi IN ? ',Array( $logoimg )); $selInt=($crud->select('codi,nome,nomefant,ctrselo,cpf','tblclie','WHERE codi IN ? ',Array( $logoimg ))->rowCount()); No entanto não é reconhecido. Tanto $sel como $selInt vêm vazias, zeradas.
       
      Alguém sabe como resolver?
       
      Agradeço antecipadamente.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.