Etiqueta: visualeditor
Sem resumo de edição
Linha 11: Linha 11:
# '''DDL''' - Linguagem de Definição de Dados: seria as funções CREATE, DROP ou ALTER, altera as estruturas das tabelas.
# '''DDL''' - Linguagem de Definição de Dados: seria as funções CREATE, DROP ou ALTER, altera as estruturas das tabelas.
# '''DCL''' - Linguagem de Controle de Dados: define as regras de controles de acessos dentro do banco de dados,concede acessos a usuários para alterar uma tabela, selecionar dados entre outras coisas.
# '''DCL''' - Linguagem de Controle de Dados: define as regras de controles de acessos dentro do banco de dados,concede acessos a usuários para alterar uma tabela, selecionar dados entre outras coisas.
# '''DTL''' - Linguagem de Transação de Dados: controla as transações ou pontos de partidas. quando se quer alterar alguma uma tabela no SGBDR é preciso confirmar a ação antes de alterar o banco de dados.
# '''DTL''' - Linguagem de Transação de Dados: controla as transações ou pontos de partidas. quando se quer alterar alguma uma tabela no SGBDR, é preciso confirmar a ação antes de alterar o banco de dados.


= Softwares =
= Softwares =

Edição das 17h54min de 15 de outubro de 2017

Conceito

Surge em 1974 e foi desenvolvida nos laboratórios da IBM como interface para o SGBDR (Sistema Gerenciador de Banco de Dados Relacional).

Antes de entender o conceito de SQL é necessário compreender o que é um banco de dados,que é um agrupado de registros que podem ser sobre: pessoas, lugares entre outras coisas. Registros que são organizados para gerar algum tipo de informação.

  • SQL é uma abreviatura de “Structured Query Language” (Linguagem de Consulta Estruturada) uma linguagem padrão de gerenciamento de dados que interage com os principais bancos de dados baseados no modelo relacional.
  • SQL é uma linguagem de consulta, onde se dá comandos para o ambiente de banco de dados e se têm o retorno de uma “Query” (solicitação/resposta).
  • SQL não é bem uma linguagem de programação, é uma linguagem feita exclusivamente para criar tabelas, manipular os dados das tabelas e principalmente consultar esses dados. É através da SQL que os programas interagem com bancos de dados relacionais, basicamente todas as linguagens de programação tem bibliotecas para acessar esses bancos de dados relacionais, portanto não importa se usa JAVA, PHP ou CSharp, sempre pode se usar a SQL para integrar um programa a um banco de dados.“Structured Query Language”.
  • SQL é basicamente dividido em quatro linguagens:
  1. DML - Linguagem de Manipulação de Dados: pega as informações das tabelas e as altera, insere ou exclui (são os três comandos padrões da SQL que são INSERT, DELETE e UPDATE.
  2. DDL - Linguagem de Definição de Dados: seria as funções CREATE, DROP ou ALTER, altera as estruturas das tabelas.
  3. DCL - Linguagem de Controle de Dados: define as regras de controles de acessos dentro do banco de dados,concede acessos a usuários para alterar uma tabela, selecionar dados entre outras coisas.
  4. DTL - Linguagem de Transação de Dados: controla as transações ou pontos de partidas. quando se quer alterar alguma uma tabela no SGBDR, é preciso confirmar a ação antes de alterar o banco de dados.

Softwares

Descrever os softwares usados para esta finalidade. Detalhar, se existir, linguagens, banco de dados e frameworks. 


Código

<syntaxhighlight lang="python3"> Arquivo = "lista_contatos.txt" # Nome do arquivo

def ler_arquivo(): # Função que le o arquivo de texto

   try:                         # Tratamento de erro
       arq = open(Arquivo,"r+") # Abre o arquivo para leitura
       print( '\n'+arq.read() ) # Quebra linha e mostra o conteudo
       arq.close()              # Fecha o arquivo
   except IOError:              # Tratamento de erro
       print('\nArquivo não encontrado!')

def escrever_linhas(texto): # Função que le e escreve no arquivo

   try:                           # Tratamento de erro
       arq = open(Arquivo,"a+")   # Abre o arquivo para gravação no final do arquivo
       arq.writelines('\n'+texto) # Escreve no arquivo o parametro 'texto'
       arq.close()                # Fecha o arquivo
       print('\nLinha gravada com sucesso')
   except IOError:                # Tratamento de erro
       print('\nErro ao abrir o arquivo!') # Mostra na tela uma mensagem de erro

def pesquisar_contato(nome):

   try:
       arq = open(Arquivo, "r+")
       dicionario = {'nome':, 'telefone':, 'email':}
       achei = False
       # lógica ler arquivo e comparar nome
       for cont, s in enumerate(arq.readlines()):
           
           dicionario['nome'], dicionario['telefone'],dicionario['email'] = s.split(' - ')
           if dicionario['nome'] == nome:
               print(cont)
               print('Nome: %s'% dicionario['nome'])
               print('Telefone: %s'% dicionario['telefone'])
               print('Email: %s'% dicionario['email'])
               achei = True
               
       if not achei:
           print('Não existe %s' % (nome))


       # se achou imprime, se não mostra uma mensagem de nao encontrado
       arq.close
       
   except IOError:
       print('\nContato não encontrado')


def excluir_contatos():

   try:
       arq =open('lista_contatos.txt','r+')
       valores = arq.readlines()
       l = []
       splited =[]
       nome = input('Entre com um nome:')
       for x in valores:
           splited=x.split(' - ')
           if splited[0]==nome:
              pass
           else:
               l.append(splited)
       
       arq.close()
       novo_cadastro(l)
   except:
       print('erro')

def novo_cadastro(l):

   arq = open(Arquivo,'w')
   for x in l:
        #print("Nome:%s | Telefone:%s | Email:%s"%(x[0],x[1],x[2]))
        arq.write("%s - %s - %s" %(x[0],x[1],x[2]))
   arq.close()

while(True):

   print('\n        Opcões:')
   print(' ')
   print('1 - Cadastrar contato')
   print('2 - Listar dados')
   print('3 - Pesquisar contato')
   print('4 - Excluir contato')
   print('9 - Sair')
   print(' ')
   Op = int(input('Digite a opção desejada:')) # Entrada da opcao pelo teclado
   if Op == 1:                                     # Se a opcao for 1
       nome = input('\nDigite o nome do contato:')      # Entrada do nome pelo teclado
       fone = input('Digite o número do telefone:')# Entrada do telefone pelo teclado
       email = input('Digite o email:')            # Entrada do telefone pelo teclado
       contato = (nome+' - '+fone+' - '+email)     # Recebe o nome + o telefone
       escrever_linhas(str(contato))               # Chama a função que grava em arquivo
   elif Op == 2:                                   # Se a opcao for 2
       ler_arquivo()                               # Chama a função que le o arquivo
   elif Op == 9:                                   # Se a opcao for 0
       break                                       # Quebra o laço infinito
   elif Op == 3:
       nome = input("Digite o nome: ")
       pesquisar_contato(nome)
   elif Op == 4:
       #nome = input ("Digite o nome: ")
       excluir_contatos()

</syntaxhighlight>

Dar um exemplo de um código-fonte que mostre alguma parte da aplicação final. O código deverá ser curto mas que o leitor consiga enxergar para que serve. Pode-se usar comentários no programa.


Diagrama de Casos de Uso

Desenhar ou plotar  os requisitos funcionais de uma aplicação.


Interações com as tecnologias

Informações adicionais

Descrever detalhes a mais sobre esse tema.


Referências bibliográficas

Relacionar aqui as referências bibliográficas no padrão ABNT. 
Bases de procura: Artigos, publicações acadêmicas, revistas e sites de fornecedores