Você está na página 1de 3

Introdução à SQL

O SQL (Structured Query Language), é uma linguagem padrão usada para acesso a Banco de
Dados. O conjunto de seus comandos permite-nos definir a estrutura dos dados no banco de dados
relacional, acessar e manipular esses dados. Trata-se de uma linguagem não procedural. Quando
usamos o SQL, especificamos o que queremos fazer, e não como fazê-lo. É uma linguagem de fácil
aprendizagem.
SQL teve seu início em 1970, com E.F. Codd, que formulou os princípios de um sistema relacional
para manipulação de banco de dados e descreveu uma álgebra relacional para organizar os dados
em tabelas. De lá para cá, a linguagem foi se aperfeiçoando e hoje existe um padrão desenvolvido
pela American National Standards Institute (ANSI). Esse padrão tem sido a base para a maioria dos
SQL's existentes atualmente no mercado. Cada fabricante inseriu novas funcionalidades em seu
SQL, fazendo com que encontremos dezenas de versões de SQL.
Apresentamos a seguir uma visão geral da Arquitetura de um Sistema Gerenciador de Banco de
Dados, para que possamos compreender do que se compõe a Linguagem SQL.

Arquitetura SGBD

Visão Visão
Nível Externo
Externa 1 Externa n

Esquema Nível Conceitual


Conceitual

Esquema
Nível Interno
Interno

Banco de Dados

1) Nível Interno. Descreve a estrutura física de armazenamento do Banco de Dados. O Esquema


Interno usa um modelo de dados físico e descreve todos os detalhes do armazenamento de dados e
caminhos de acesso ao Banco de Dados.

1
2) Nível Conceitual. Descreve a estrutura de todo o Banco de Dados para os usuários. O Esquema
Conceitual esconde os detalhes da estrutura física de armazenamento e se concentra em descrever as
entidades, tipos de dados, relacionamentos, operações dos usuários e restrições.

3) Nível Externo. Inclui um número de esquemas externos ou visões de usuários. Cada uma delas
descreve uma parte do Banco de Dados que um grupo particular de usuários está interessado e
esconde o resto do Banco de Dados aos demais usuários.

Linguagens SGBD
- Data Definition Language (DDL) - Para definir o esquema conceitual e o esquema interno.
- View Definition Language (VDL) - Para definir as visões dos usuários e seus mapeamentos ao
esquema conceitual.
- Data Manipulation Language (DML) - Para manipular os dados de uma Base de Dados.
(Consultar, Inserir, Excluir, Modificar).

SQL = ( DDL + VDL + DML )

Definição de Dados em SQL


SQL utiliza os termos tabela (table), linha (row), e coluna (column) para relação ou entidade, tupla
e atributo, respectivamente.

A Linguagem de Definição de Dados (DDL), permite executar tarefas como:


- criar um objeto de banco de dados
- excluir um objeto de banco de dados
- alterar um objeto de banco de dados
- conceder privilégios em um objeto de banco de dados
- revogar privilégios de um objeto de banco de dados

Conceitos utilizados em SQL


Apresentamos alguns objetos e conceitos fundamentais no entendimento da linguagem SQL.

- Banco de Dados (Database). É um conjunto de objetos SQL. Quando definimos um banco de


dados, damos-lhe um nome para uma eventual coleção de tabelas e índices associados.

- Tabela. Um banco de dados contém uma ou mais tabelas. Cada tabela tem um nome e contém
um número específico de colunas e linhas (não ordenadas).

- Índice. É um conjunto ordenado de ponteiros para os dados de uma tabela, armazenado


separadamente da tabela. Cada índice é baseado nos valores dos dados de uma ou mais colunas
de uma tabela. O índice visa melhorar a performance e também garantir a unicidade do dado
(caso deseje).

- Visão (View). É uma forma alternativa de representar os dados que existem em uma ou mais
tabelas. Uma view pode ter todas ou algumas colunas de uma ou mais tabelas. Pode-se também
ter views baseadas em outras views ou da combinação de views e tabelas. Ela se
2
assemelha a uma tabela, com a única diferença, de que a view não existe fisicamente. Os seus
dados estão armazenados nas tabelas nas quais elas se baseiam.

- Junção (Join). Quando se deseja obter dados de mais de uma tabela, efetuamos a junção dessas
tabelas.

- Chave Primária (Primary Key). É uma coluna ou grupo de colunas, cujo valor identifica cada
linha da tabela.

- Chave Estrangeira (Foreign Key). Colunas de tabelas que referenciam a chave primária de
outra tabela.

- Integridade Referencial. Quando definimos uma chave estrangeira, estamos definindo uma
integridade referencial entre as tabelas envolvidas.

- Catálogo do Sistema. Cada banco de dados tem um catálogo do sistema que contém tabelas do
sistema. Essas tabelas contêm informações sobre as tabelas, visões, colunas, índices, e
privilégios de segurança do banco de dados. Em alguns SGBDs, esse catálogo é chamado de
dicionário de dados.

Tipos de Dados (Datatypes)


Tipos de Dados especifica que tipo de informação (caracteres, números, datas) a coluna de uma
tabela pode armazenar e como esses dados serão armazenados. Abordaremos a seguir alguns tipos
de dados encontrado no SQL da Microsoft.

Binary [(n)] Qtde fixa de números binários


Varbinary [(n)] Qtde variável de números binários (mais economico)
Char [(n)] Qtde fixa de caracteres
Varchar [(n)] Qtde variável de caracteres (mais economico)
Datetime Data com precisão de HHMMSS e MS (mais completo)
Smalldatetime Data com precisão de HHMMSS
Decimal [(p[,s])] Valores numéricos, onde p é a qtde total incluindo a parte
Numeric [(p[,s])] inteira e a parte decimal, e o s corresponde a parte decimal
Tinyint Números inteiros. (-255 a +255)
Smallint Númerso inteiros. (-32.767 à +32.767)
Int Números inteiros.
Money Valores monetários
Smallmoney Valores monetários
Text Textos
Image Fotos e Imagens
Bit, timestamp Tipos de dados especiais

O usuário pode criar seu tipo de dado e armazená-lo no banco de dados para utilizá-lo na definição
das colunas das novas tabelas.
Exemplos:

EXEC sp_addtype cep, 'char(10)'


EXEC sp_addtype grandestring 'varchar(75)'

EXEC sp_droptype cep 3

Você também pode gostar