Fundamentos de bancos de dados com SQL
Fundamentos de Banco de Dados
SQL
Profa.Ticiana Linhares Coelho
Engenharia de Software/2014.2
SQL-Structured Query Language
• Originalmente desenvolvida nos laboratórios da IBM na década de 70;
• Primeira versão: SEQUEL-Structured English
QUery Language;
• Esforço para a padronização:
– SQL1 (SQL-86)
– SQL2 (SQL-92)
– SQL3 (SQL-99)
SQL
• Linguagem de Consulta Estruturada. Porém não abrange apenas consultas, mas definição
(DDL) e manipulação (DML) dos dados;
• Fundamentada no modelo relacional (álgebra relacional) e padrão das bases relacionais;
• Utilizada tanto de forma interativa como incluída em linguagens hospedeiras
– Java, C/C++, Cobol...
Enfoques do SQL
• Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente de programas;
• Linguagem de programação para acesso a banco de dados: comandos SQL embutidos em programas de aplicação;
• Linguagem de administração de dados: o DBA pode utilizar SQL para realizar suas tarefas;
Enfoques do SQL
• Linguagem cliente/servidor: os programas clientes usam comandos SQL para se comunicarem e compartilharem dados com o servidor ;
• Linguagem para banco de dados distribuídos: auxilia na distribuição de dados por vários nós e na comunicação com outros sistemas;
• Caminho de acesso a outros bancos de dados em diferentes máquinas: auxilia na conversão entre diferentes produtos em diferentes máquinas;
Usos de SQL
DDL
Implementação
Criar (CREATE)
Destruir (DROP)
Modificar (ALTER)
Ambiente
SQL
Segurança
Controle
Administração
DML
Consultar (SELECT)
Inserir(INSERT)
Remover(DELETE)
Atualizar(UPDATE)
SQL - Vantagens
•
•
•
•
•
•
•
Independência de fabricante;
Portabilidade entre sistemas;
Redução de custos com treinamento;
Comandos em inglês;
Consulta interativa;
Múltiplas visões de dados;
Manipulação dinâmica dos dados;
SQL - Desvantagens
• A