SQL – O que é ?
INTRODUÇÃO AO SQL
SQL é uma linguagem padrão para aceder e manipular dados.
O QUE É SQL?
SQL é uma linguagem padrão para aceder e manipular dados.
SQL significa (Structured Query Language) linguagem de consulta estruturada
SQL permite aceder e manipular dados
O SQL PODE FAZER?
- SQL pode executar consultas numa base de dados
- SQL pode recuperar dados numa base de dados
- SQL pode inserir registos numa base de dados
- SQL pode actualizar registos numa base de dados
- SQL pode excluir registos duma base de dados
- SQL pode criar novas bases de dados
- SQL pode criar novas tabelas numa base de dados
- SQL pode criar procedimentos armazenados numa base de dados
- SQL pode criar exibições numa base de dados
- SQL pode definir permissões em tabelas, procedures e views
1. Definições
a) Base de Dados
Uma base de dados é um simples repositório de informação relacionado com determinado assunto ou finalidade, ou seja, é uma colecção de dados ou itens informação estruturados de determinada maneira que permite a sua consulta, actualização e outros tipos de operação processados por meios informáticos.
b) Sistema de gestão de base de dados
Os SGBD (Sistemas de gestão de base de dados) são programas que permitem criar e manipular bases de dados, em que dados estão estruturados com independência relativamente aos programas de aplicação que os manipulam.
c) Modelo relacional
Trata-se de um modelo bastante potente e ao mesmo tempo bastante simples, que não representa problemas. O elemento principal deste modelo é a relação. Por tanto, podemos dizer que uma base de dados relacional está composta por um conjunto de relações. A relação representa-se mediante uma tabela, esta tabela representa ao que no modelo entidade -relação chamávamos entidade. Esta tabela contém os atributos (colunas) e as tuplas (filas).
- Atributo: trata-se de cada uma das colunas da tabela. Vêm definidas por um nome e podem conter um conjunto de valores.
- Tupla: trata-se de cada uma das filas da tabela. É importante assinalar que não se podem ter tuplas duplicadas em uma tabela.
d) Tabela
Tabelas são objectos de bases de dados que contêm todos os dados em uma base de dados. Uma definição de tabela é uma colecção de colunas. Nas tabelas, os dados são organizados em um formato de linha – e coluna como numa Folha de Cálculo. Cada linha representa um registo exclusivo e cada coluna representa um campo dentro do registo. Por exemplo, uma tabela que contém dados de funcionários de uma empresa pode conter uma linha para cada funcionário e colunas representando as informações sobre o funcionário, como número, nome, endereço, cargo e número do telefone residencial do funcionário.
- Campo – corresponde a uma das colunas da tabela. Local onde se armazena informação com uma mesma característica.
- Chave primária – todas as tabelas do modelo relacional têm de ser identificadas com uma chave primária. Uma chave primária é composta por um ou mais atributos que identificam de forma unívoca cada registo de uma tabela.
O campo da chave primária é de preenchimento obrigatório e não pode ter informação duplicada.
Os atributos que formam a chave primária surgem sublinhados no esquema da relação.
- Chave externa ou estrangeira – um atributo ou conjunto de atributos de uma relação, em relacionamento com a chave primária de outra relação, diz-se uma chave estrangeira (ou externa) Esta chave é “herdada” de outra tabela, onde é chave primária. A relação entre tabelas é feita através das chaves (primárias e estrangeiras).
- Constrains (restrições) – são objectos no banco de dados que servem para definir sua integridade. Ou seja, são as chaves primárias, chaves estrangeiras, chaves secundárias e outros elementos que dão uma segurança aos dados das tabelas, evitando que sejam excluídos ou alterados indevidamente.
e) Integridade referencial
Em alguns relacionamentos o Microsoft Access pode reforçar a integridade referencial, quando podemos inserir ou apagar registos em tabelas relacionadas. A integridade referencial ajuda a garantir que os relacionamentos entre os registos são válidos, e que nós, acidentalmente, não apagamos dados relacionados.
O Microsoft Access pode reforçar a integridade referencial quando as condições são conhecidas:
- Os campos relacionados têm o mesmo tipo de dados.
- Ambas as tabelas pertencem à mesma base de dados do Microsoft Access (se as tabelas estão ligadas, elas têm que pertencer à mesma base de dados do Microsoft Access).
As opções são as seguintes:
- IMPOR A INTEGRIDADE REFERENCIAL
Não é permitido introduzir um valor de um registo num campo que é chave estrangeira, se esse valor não existir num registo da tabela onde aquele campo é chave primária.
- PROPAGAR ACTUALIZAÇÃO DOS CAMPOS RELACIONADOS
Não pode ser alterado o valor de um registo num campo que é chave primária numa tabela, se, numa outra tabela relacionada com a primeira, existirem registos que apresentam esse mesmo valor no campo correspondente (chave estrangeira).
- PROPAGAR ELIMINAÇÃO DOS CAMPOS RELACIONADOS
Não pode ser eliminado um registo numa tabela, se, numa outra tabela relacionada com a primeira, existirem registos que apresentem, no campo chave externa, valores que correspondem ao registo que se pretende eliminar.
f) Linguagem Sql
A linguagem SQL (Strucured Query Language) é uma linguagem declarativa, ao contrário das linguagens habituais que são do tipo procedimental. Permite ao utilizador expressar aquilo que pretende sem ter que entrar em grandes detalhes sobre a localização física dos componentes, etc.
Na linguagem SQL, os utilizadores apenas indicam aquilo que pretendem sem dizer exactamente de que forma o computador terá que operar para obter os resultados solicitados. Por exemplo, ao indicar que se pretende apresentar o resultado de uma pesquisa de forma ordenada, apenas iremos adicionar ao comando de selecção a cláusula ORDER BY não indicando o algoritmo de ordenação que o computador deverá realizar.
Embora as linguagens procedimentais sejam mais rápidas a executar, as linguagens declarativas são flexíveis pois referenciam os seus elementos através de um nome perceptível e não através de uma posição física em disco ou memória.
A linguagem SQL é constituída por três sub linguagens:
DML – Data Manipulation Language (SELECT, INSERT, UPDATE, DELETE, etc.);
DDL – Data Definition Language (CREATE, ALTER, DROP, etc.);
DCL – Data Control Language (GRANT, REVOKE, etc.).