0% acharam este documento útil (0 voto)
4 visualizações17 páginas

Vantagens e Comandos da Linguagem SQL

O documento aborda a Linguagem SQL, suas vantagens e desvantagens, e os comandos utilizados para a criação e manipulação de bases de dados. Destaca a importância da SQL como padrão para gerenciamento de dados relacionais e apresenta exemplos de comandos DDL, DML e DCL. Além disso, discute características dos softwares ISQL e WinSQL, e fornece orientações sobre a criação e modificação de tabelas.

Enviado por

ciscojunior2019
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações17 páginas

Vantagens e Comandos da Linguagem SQL

O documento aborda a Linguagem SQL, suas vantagens e desvantagens, e os comandos utilizados para a criação e manipulação de bases de dados. Destaca a importância da SQL como padrão para gerenciamento de dados relacionais e apresenta exemplos de comandos DDL, DML e DCL. Além disso, discute características dos softwares ISQL e WinSQL, e fornece orientações sobre a criação e modificação de tabelas.

Enviado por

ciscojunior2019
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

FACULDADE DE ENGENHARIA E NOVAS TECNOLOGIAS

Aula 02 – SQL (Strutured Query Language).


Aula 2.1. – SQL (Vantagens e Desvantagens).
Aula 2.2. – SQL (Comandos de Esquema).

Base de Dados II

MSc. Eng.º Johni Branda.


SQL (Structured Query Languange)

Quando as Bases de Dados Relacionais estavam sendo desenvolvidos, foram


criadas Linguagens destinadas à sua manipulação. O Departamento de Pesquisas
da IBM, desenvolveu a SQL como forma de interface para o Sistema de BD
relacional denominado SYSTEM R, início dos anos 70. Em 1986 o ANSI
(American National Standard Institute), publicou um padrão SQL. A SQL
estabeleceu-se como Linguagem padrão de Base de Dados Relacional. SQL
apresenta uma série de comandos que permitem a definição dos dados, chamada de
DDL (Data Definition Language), composta entre outros pelos comandos Create,
que é destinado a criação de Base de Dados, das Tabelas que o compõem, além das
relações existentes entre as tabelas.
- Como exemplo de comandos da classe DDL temos os comandos Create,
Alter e Drop.

Os comandos da série DML (Data Manipulation Language), destinados a


consultas, inserções, exclusões e alterações em um ou mais registos de uma ou mais
Tabelas de maneira simultânea.
• Como exemplo de comandos da classe DML temos os comandos Select, Insert,
Update e Delete. Uma subclasse de comandos DML, a DCL (Data Control
Language), dispõe de comandos de controlo como Grant e Revoke.

A Linguagem SQL tem como grandes virtudes sua capacidade de gerenciar


índices, sem a necessidade de controlo individualizado de índice corrente, algo
muito comum nas Linguagens de Manipulação de Dados do tipo registo a registo.
Outra característica muito importante disponível em SQL é sua capacidade de
construção de visões, que são formas de visualizarmos os dados na forma de
listagens independente das tabelas e organização lógica dos dados. Outra
característica interessante na Linguagem SQL é a capacidade que dispomos de
cancelar uma série de actualizações ou de as gravarmos, depois de iniciarmos uma
sequência de actualizações. Os comandos Commit e Rollback são responsáveis por
estas facilidades. Devemos notar que a Linguagem SQL consegue implementar
estas soluções, somente pelo facto de estar baseada em Base de Dados, que
garantem por si mesmo a integridade das relações existentes entre as tabelas e seus
índices. O Ambiente SQL dispõe-se de dois Softwares destinados a Linguagem
SQL o ISQL e o WinSQL:
• O ISQL faz parte do Pacote Ideo e permite construirmos Base de Dados e
tabelas directamente pelo Interpretador SQL, bem como acessarmos as Bases
de Dados construídas no Ideo. O ISQL pode gerar Base de Dados em seu
ambiente proprietário (Watcom, hoje pertencente a Symantech) ou ainda nas
consagradas Bases de Dados Oracle, SyBase, Ingres (Computer Associates),
DB/2 (IBM) e Informix. Devido as origens do Ideo, a Base de Dados SQL
Server da Microsoft não é suportado, pois esta Base de Dados originou-se na
Microinformática e somente recentemente a Sapiens migrou seu Software dos
Ambientes Mainframe e Unix;
• O WinSQL é um ambiente inteiramente gráfico ao contrário do (ISQL) que
guarda fortes características do ambiente em Mainframe onde se originou,
destinado ao aprendizado, portanto somente pode criar Base de Dados em seu
formato proprietário;

Os comandos do WinSQL por serem visuais, não necessitam de maior


esclarecimento além daqueles já contidos no Help. Quanto ao ISQL apesar de
possuir um Help bastante completo necessita, em nosso entender, de alguns
esclarecimentos iniciais. Uma série de comandos do interpretador, que funciona de
forma análoga àquela existente no Data Base modo interactivo, podem ser
utilizados pelo usuário. Não obstante alguns comandos tenham nome idêntico a
alguns comandos do DOS, devemos notar que muitas vezes sua sintaxe é bastante
diversa daquele Sistema Operacional. Vamos destacar os seguintes comandos:
• \EDIT - Carrega o editor de bloco de notas do Windows, o qual serve para a
criação de arquivos para serem executados no Ideo (\edit [Link]);
• \CD - Mostra o directório onde serão gravados os arquivos *.sql, *.dic *.dat.
Permite alterar para determinado directório (\CD DADO, fará com que o
directório corrente passe a ser C:\DADO, caso o directório corrente fosse a
raiz. Permite retornar ao directório de nível inferior (\CD..). Atenção este
comando não é análogo ao Change Dir do DOS, na medida em que não
permite a mudança directa de um sub-nível do directório X para um directório
Y;
• O \DEFAULT <drive> - permite alterarmos o drive corrente. \DEFAULT F:;
• \INCLUDE - Executa arquivos *.sql. O arquivo .sql deverá conter uma série
de instruções SQL. Ex: \include [Link] @< file >; - Também executa
arquivos *.sql. Ex: @[Link];
• EXIT; - Finaliza a sessão do ISQL. ou ( \QUIT );
• COMMIT; - Confirma a transacção;
• ROLLBACK; - Desfaz a transacção;
• SHOW <tabela>; - Mostra os nomes das tabelas existentes em determinada
Base de Dados. Ex: SHOW tables;
• SHOW FIELDS FOR <tabela>; - Mostra os campos de determinada tabela.
Ex: SHOW FIELDS FOR ATOR;
• SHOW INDEXES FOR <tabela>; - Lista de índices da tabela;
• SHOW RELATIONSHIPS FOR <tabela>; - Lista de relacionamentos da
tabela;
• LIST <tabela> ; - Lista conteúdo da tabela;

Vantagens e Desvantagens da Linguagem SQL


Podem ser apontadas as seguintes vantagens no uso da linguagem SQL:
• Independência de Fabricante: A linguagem SQL é adoptada por praticamente
todos os SGBD’s relacionais existentes no mercado, além de ser uma
linguagem padronizada pela (ANSI). Com isso, podendo ser mudada de SGBD
sem se preocupar em alterar os programas de aplicação;
• Portabilidade Entre Plataformas de Hardware e Software: Pode ser utilizada
tanto em máquinas Intel rodando Windows, passando por workstations RISC
rodando UNIX, até mainframes rodando sistemas operacionais proprietários;
• Redução dos Custos Com Treinamento: As aplicações podem se movimentar
de um ambiente para o outro sem que seja necessária o envolvimento da
equipa de desenvolvimento;
• Usa Inglês Estruturado de Alto Nível: O SQL é formado por um conjunto de
sentenças simples em inglês, oferecendo um rápido e fácil entendimento;
• Consultas Interativas: Permite aos usuários acesso fácil e rápido aos dados a
partir de um front end que permita a edição e a submissão de comandos SQL;
• Múltiplas Visões dos Dados: Permite ao Projetista da BD levar diferentes
visões dos dados aos diferentes usuários;
• Definição Dinâmica dos Dados: Através da linguagem SQL pode-se alterar,
expandir ou incluir, dinamicamente, as estruturas dos dados armazenados, com
máxima flexibilidade;

Porém, existem também algumas desvantagens no uso da linguagem SQL críticas


(segundo C.J. Date):
• Falta de ortogonalidade nas expressões, funções embutidas, variáveis
indicadoras, referência a dados correntes, constante NULL, conjuntos vazios, e
etc;
• Definição formal da linguagem após sua criação;
• Discordância com as linguagens hospedeiras (geralmente procedurais e
orientadas para registros e não para conjuntos);
• Falta de algumas funções;
• Não dá suporte a alguns aspectos do modelo relacional (join explícito,
domínios, e etc.);

As tabelas a seguir serão usadas nos exemplos que se seguem:


• Cliente (cod_cliente, nome_cliente, endereco, cidade, bi, nif);
• Vendedor (cod_vendedor, nome_vendedor, sal_fixo, faixa_comiss);
• Pedido ( num_pedido, prazo_entr, cod_cliente, cod_cliente);
• Item_pedido (no_ped, cod_produto, qtd_ped);
• Produto (cod_produto, unid_prod, desc_prod, val_unit);
Comandos de Criação e Modificação de Base de Dados

Comando Create: Este comando permite a criação de tabelas na Base de Dados


ou mesmo de sua criação. A sua Sintaxe é:
CREATE DATABASE < nome_db >; onde:
nome_db - Indica o nome da Base de Dados a ser criada.
Exemplo (Sintaxe):
CREATE TABLE < nome_tabela >
( nome_atributo1 < tipo > [ NOT NULL ],
nome_atributo2 < tipo > [ NOT NULL ],
nome_atributoN < tipo > [ NOT NULL ] ) ;
Onde:
nome_table - Indica o nome da tabela a ser criada.
nome_atributo - Indica o nome do campo a ser criado na tabela.
tipo - Indica a definição do tipo de atributo (integer(n), char(n), real(n, m),
date…);
n - Número de dígitos ou de caracteres;
m - Número de casas decimais;
Como exemplo criar uma tabela. CREATE DATABASE TRABALHO. O
comando acima criou uma Base de Dados, porém este na verdade não passa de
uma abertura no directório, pois não conta com nenhuma Tabela. Agora cria-se as
Tabelas que estarão contidas na Base de Dados TRABALHO. A primeira Tabela
será de acordo com o contexto e com o que se pretende armazenar. Esta tabela
conterá além dos campos, também a chave primária, chaves estrangeiras e índices
bem como para as demais Tabelas. Não devemos esquecer de primeiramente
abrirmos a Base de Dados. Diferentemente do que ocorre em alguns aplicativos,
em SQL o facto de criarmos uma Base de Dados, não significa que a Base ricem
criado já está preparado para utilização. A instrução a seguir, providencia a
abertura da Base de Dados criada.
create table Departamento(DepNume integer(4) not null, DepNome char(20) not
null, DepLoca char(20) not null, DepOrca integer(12,2), primary key (DepNume));

Observações:
• Os índices são parte intrínseca das Tabelas;
• A integridade relacional é garantida pela Base de Dados e não pelo aplicativo;
• Exclusões ou Alterações em Chaves Primárias, podem acarretar exclusões,
anulações ou até mesmo perda de integridade nas Tabelas onde esta chave
primária existir como chave estrangeira;

Portanto é imprescindível muito cuidado a quando da elaboração da Base de


Dados. Uma tentação muito comum é começar criando as Tabelas da Base de
Dados sem prévia Normalização. Este talvez seja o melhor caminho para perder-se
tempo em vão, pois quando terminar de projectar suas entrada de dados, notará
"que nada funciona!". Esta será a senha para usar o velho comando DEL do DOS
e depois começar tudo de novo ...

Comando Drop: Este comando elimina a definição da tabela, seus dados e


referências. A sua Sintaxe é:
DROP TABLE < nome_tabela >;
Ex: DROP TABLE EMP;

Comando Alter: Este comando permite inserir ou eliminar atributos nas tabelas
já existentes. O seu Comando é:
ALTER TABLE < nome_tabela > ADD/DROP
(nome_atributo1 < tipo > [ NOT NULL ],
nome_atributoN < tipo > [ NOT NULL ] );
Não existe nenhum comando SQL que permita eliminar algum atributo de uma
relação já definida. Assim caso deseja eliminar uma chave primária devidamente
referenciada em outra tabela como chave estrangeira, ao invés de obter a
eliminação do campo, obterá apenas um erro. Além do comando DROP que poderá
eliminar uma tabela e suas relações, também podemos criar uma relação que tenha
os atributos que se deseja, copiar na relação antiga sobre a nova e apagando-se
então a relação que originalmente desejávamos eliminar.
Ex: ALTER TABLE DEPT
(ADD DEPSALA DECIMAL (10,2) );

Crie uma Base de Dados (Mini Mundo) Trabalho permitindo fazer consulta dos
trabalhadores em cada departamento.

Comandos de Consulta ao Esquema


Devemos ressaltar que a Linguagem SQL é utilizada tanto pelos profissionais
responsáveis pelos dados, onde é ressaltada a Figura do Administrador de Base de
Dados e dos Analistas de Dados, como também pelos desenvolvedores de
Aplicações.
Enquanto estão preocupados com o desempenho, integridade de Base de Dados e
utilizam toda gama de recursos disponíveis no SQL, estes estão preocupados
apenas em "transformar dados em informações", portanto para os desenvolvedores
costuma-se dizer que conhecer o "select" já basta.

Os comandos do SQL quanto as Linguagens IDEO, VB e Delphi, ressaltarão a


preponderância da instrução "select", geralmente acontece, que diversas áreas
necessitam especificamente deste comando, que passaremos a apresentar:
Selecção de todas os campos (ou colunas) da tabela.

Where Como Base das Restrições de Tuplas


A cláusula "where" corresponde ao operador de restrição da álgebra relacional.
Contém a condição que as tuplas devem obedecer a fim de serem listadas. Pode
comparar valores em colunas, literais, expressões aritméticas ou funções. Os
Operadores Lógicos e complementares a serem utilizados nas expressões
apresentadas em where:
Operadores Lógicos:
Operador Significado
= igual a;
> maior que;
>= maior que ou igual a;
< menor que;
<= menor que ou igual a;

Exemplos:
Select empnome, empserv
From emp
Where depnume > 10;

Select empnome, empserv


From emp
Where empserv = 'gerente';
O conjunto de caracteres ou datas devem estar entre apóstrofes (‘) na
cláusula "where".
Demais Operadores:
Operador Significado
between ... and ... Entre dois valores (inclusive);
in ( .... ) Lista de valores;
like Com um padrão de caracteres;
is null É um valor nulo;

Exemplos:
SELECT EMPNOME, EMPSALA
FROM EMP
WHERE EMPSALA BETWEEN 500 AND 1000;

SELECT EMPNOME, DEPNUME


FROM EMP
WHERE DEPNUME IN (10,30);
Sistema de Gestão de Bases de Dados
Aula 02 – SQL (Strutured Query Language).
Aula 2.1. – SQL (Vantagens e Desvantagens).
Aula 2.2. – SQL (Comandos de Esquema)..

Base de Dados II

MSc. Eng.º Johni Branda.

“FIM”

Você também pode gostar