Structured Query Language

Fonte: aprendis
Revisão em 15h17min de 3 de abril de 2017 por CristinaLopes (discussão | contribs)
Saltar para a navegaçãoSaltar para a pesquisa
Structured Query Language
Sigla SQL
Aplicações Armazenar, consultar, alterar informação de uma base de dados
Conceitos relacionados Bases de Dados, Manipulação de Dados


Introdução

A sigla SQL denomina Structured Query Language ou, em português, Linguagem de Consulta Estruturada é uma linguagem para interação com Bases de Dados Relacionais. Não constitui uma linguagem completa para o desenvolvimento de aplicações sendo a sua principal função a de suportar a definição, manipulação e controlo dos dados numa base de dados [1]. É uma linguagem de alto nível pois, apenas se tem que dizer ao sistema o que fazer e não como, nem onde o tem de realizar.

Base de Dados

De uma forma muito simplista, pode-se afirmar que uma base de dados consiste numa coleção de dados estruturados, organizados e armazenados de forma persistente sendo que é necessário que os dados tenham algum tipo de significado e organização [2]. O Sistema Gestor de Bases de Dados (SGBD) é uma aplicação informática que fornece a interface entre os dados que são armazenados fisicamente na base de dados e o utilizador. É o SGBD que vai fornecer o conjunto completo de serviços para acesso à informação da base de dados utilizando, para isso, uma linguagem que permita a realização dessas operações: o SQL [3]. Nem todos os sistemas que gerem as bases de dados usam a linguagem SQL. No entanto, o SQL é usado na grande maioria dos sistemas atualmente disponíveis e naqueles que adotam o modelo relacional [2]. Este modelo, de uma forma resumida, baseia-se no princípio em que todos os dados estão guardados em tabelas tendo em conta as relações entre os atributos. Toda a sua definição é teórica e baseada na lógica de predicados e na teoria dos conjuntos cobrindo os três aspetos que qualquer SGBD deveria cobrir relativamente aos dados: estrutura, integridade e manipulação [1][2][3].

Composição de uma Base de Dados Relacional [4]

Para descrever os dados e as suas estruturas numa base de dados relacional usam-se os seguintes termos/conceitos (Fig. 1) [1] [4]:

  • Tabela (ou Relação): Conjunto de linhas do mesmo tipo, onde não existem linhas repetidas nem significado na ordem das linhas da tabela.
  • Coluna (ou Atributo): Identificada por um nome e com um único valor por linha sendo que é constituída por um conjunto de dados do mesmo tipo.
  • Linha (ou Tuplo): Conjunto de valores válidos, tal que cada linha tem um valor para cada coluna, e onde todas as linhas de uma tabela têm as mesmas colunas.
  • Campo: Correspondem a uma informação de uma tabela. Os campos devem ser designados como um determinado tipo de dados, seja texto, data ou hora, número,…
  • Chave Primária (PK): É a identificação de uma ou várias colunas de uma tabela. O valor da chave primária identifica unicamente uma linha de uma tabela.
  • Chave Estrangeira (FK): É uma ou mais colunas na tabela tal que os seus valores são valores da chave primária de outra.

Após o entendimento dos conceitos principais de uma base de dados, é agora possível a compreensão das operações que podem ser realizadas com recurso a SQL.

De seguida, é possível observar três tabelas que representam uma entidade/pessoa e servem para armazenar informação. A tabela Médico guarda informação como: o código (chave primária), o nome, a idade, a especialidade e a sua cidade. A tabela Paciente tem o número de utente, o nome, a idade, a cidade e a doença pela qual se deslocou ao hospital. Já na tabela Consulta pode-se visualizar a relação existente entre estas duas entidades: o Médico e o Paciente tendo, como chaves estrangeiras o código do médico e o número do paciente. Além disso, contêm ainda a data e hora da consulta, a sala onde se realizou e a doença diagnosticada ao paciente.

Código Nome Idade Especialidade Cidade
Tabela 1 - Tabela Médico
12687871 Alberto Caiero 36 Ortopedia Braga
14372844 Bernardo Soares 36 Oncologia Lisboa
14429875 Ricardo Reis 51 Cardiologia Porto
16918243 Álvaro de Campos 48 Pediatria Lisboa
Nº de Utente Nome Idade Cidade
Tabela 2 - Tabela Paciente
15567721 Joana Aguiar 12 Maia
13221376 Pedro Santos 79 Braga
12851320 Inês Silva 53 Setúbal
CodMedico NumPaciente Data Hora Doença Sala
Tabela 3 - Tabela Consulta
14429875 13221376 21/03/2017 16:30 Trombose B1.154
12687871 12851320 30/01/2017 09:45 Joanete A3.058
16918243 15567721 22/02/2017 18:15 Gripe L5.133

Referências

  1. 1,0 1,1 1,2 Silva, Libório. SQL Avançado. Lisboa : Editorial Presença, 1998. ISBN 972-23-1306-1
  2. 2,0 2,1 2,2 Damas, Luís. SQL. Lousã : FCA - Editora de Informática, 2005. ISBN 978-972-722-443-2
  3. 3,0 3,1 Date, C. J. SQL e Teoria Relaciona. Brasil : O'REILLY novatec, 2015. ISBN 978-85-7522-433-5.
  4. 4,0 4,1 Michael J. Donahoo, Gregory David Speegle. SQL: Practical Guide for Developers. San Francisco : Morgan Kaufmann Publishers, 2005. ISBN 0-12-220531-6