Beruflich Dokumente
Kultur Dokumente
RAFAEL RIBAS – 3º J
Se aumentarmos a abrangência dessa questão, pensaremos em dados dinâmicos e, nesse aspecto, devemos ter
em mente dados que a todo tempo estão sendo manipulados, ou seja, atualizados e consultados. Falar em atualizações,
consultas e acesso aos dados só é possível se tivermos um aplicativo que possibilite a comunicação entre os dados e os
usuários. Ele se chama programa de aplicação, é exclusivo para o acesso aos dados, e sua operação exige rotinas especificas
em uma linguagem própria para banco de dados.
Ao procurar uma linguagem de programação de banco de dados, encontramos poucas, em destaque a SQL
(Structured Query Language) e algumas de suas variações ou extensões. Podemos perceber que se trata de uma linguagem
padrão de banco de dados, o que não é comum com linguagens de programação para outros fins.
Na década de 1970, a IBM, dentro do projeto R, desenvolveu a linguagem Sequel, cujo objetivo era implementar
o modelo relacional proposto por Codd, a qual evoluiu e mudou de nome para SQL. Com o sucesso e a divulgação, foi
necessário padronizar essa linguagem. Isso foi feito em 1986 pelo ANSI (American National Standards Institute) e pelo ISO
(International Organization for Standardization), que publicaram o padrão SQL-86. Dentre os padrões que surgiram, merece
destaque o de 1992, chamado SQL-92 ou SQL2. Até os dias atuais, encontramos vários SGBDs (Sistema Gerenciador de
Banco de Dados) adotando esse padrão. Em 1999, surgiu o padrão SQL3, ao qual se seguiram atualizações como o SQL 2003,
o SQL 2006 e o 2008 que possuem recursos de XML.
A SQL é uma linguagem declarativa, em que, o que importa, no processamento, é o resultado; como e no quê é
executado não importa. Essa linguagem é baseada em álgebra e cálculo relacional e possui uma sintaxe bem simples; é uma
linguagem dita “amigável”, muito flexível e que permite não somente a manipulação dos dados, mas também a definição
da estrutura dos dados e também das regras e das restrições de integridade.
Para que a SQL forneça tantos recursos, é formada por várias partes, cada uma com seu propósito específico.
Nessa composição da SQL temos:
■ a DDL (Data Definition Language – linguagem de definição de dados), que permite determinar o esquema do
banco de dados, bem como alterá-lo e excluí-lo, e trabalha com os metadados;
■ a DML (Data Manipulation Language – linguagem de manipulação de dados), que permite a manipulação dos
dados, ou seja, a inclusão, alteração e exclusão de dados;
BANCOS DE DADOS III – PROF. RAFAEL RIBAS – 3º J
■ a DCL (Data Control Language – linguagem de controle dos dados), que permite controlar a licença e a
autorização de acesso dos usuários para com os dados;
■ a DTL (Data Transaction Language – linguagem de transação de dados), que oferece comandos para trabalhar
com as transações;
■ a DQL (Data Query Language – linguagem de consulta de dados), que proporciona a consulta de dados, parte
importantíssima dentro de um sistema de banco de dados.
Para falar em detalhes sobre a linguagem SQL, vamos iniciar pela DDL, a fim de aprender como definir o esquema
do banco de dados, conhecendo os comandos no próximo item.
Todos os exemplos apresentados nesta aula foram executados utilizando o MySQL versão 5.1.36.
Para exemplificar, criaremos um banco de dados em que pretendemos armazenar informações para um sistema
de corridas de carro tipo Fórmula 1; nomearemos esse banco de dados de Projeto Fórmula 1. O comando a ser executado
deve ser:
USE ProjetoFormula1;
Com o banco de dados criado, o próximo passo é a criação das tabelas. Ao fazer isso, é necessário definir o tipo
de cada campo para que possamos armazenar tipos de dados específicos e trabalhar corretamente com eles. Mediante a
tabela abaixo, podemos conhecer os tipos de dados suportados pela linguagem.
BANCOS DE DADOS III – PROF. RAFAEL RIBAS – 3º J
Na sequência da DDL temos o comando para criação de tabelas, que deve seguir a composição das cláusulas:
Onde:
FOREIGN KEY: indica os atributos que formam a chave estrangeira e o nome da tabela referida pela chave
estrangeira.
No exemplo do comando para a criação de tabelas, continuaremos com o Projeto Fórmula1, em que temos o
esquema da tabela PilotosF1 e o código para sua criação.
A DDL permite alteração na tabela e seus atributos, como mostra a sintaxe do comando e os exemplos que
seguem.
Podemos também adicionar atributos, por exemplo, “pontos” na tabela PilotosF1, como mostra o comando:
Se enfrentássemos um problema, em que a tabela PilotosF1 não tivesse chave primária, poderíamos então inclui-
la, como apresenta o código a seguir:
A tabela PilotosF1, até́ o momento, foi mostrada isolada, sem nenhum relacionamento com outra tabela. Mas ela
está́ associada à tabela Ranking, como mostrado abaixo:
Na tabela Ranking, a chave primária “codigo” é chave estrangeira na tabela PilotosF1 com o nome
codigo_Ranking. Para adicionar a chave estrangeira, temos primeiro que incluir o atributo codigo_Ranking na tabela
Ranking. Depois indicar a chave estrangeira, conforme codificações:
BANCOS DE DADOS III – PROF. RAFAEL RIBAS – 3º J
Para adicionar atributos ou chaves, utilizamos a cláusula ADD, mas se alterarmos os atributos, devemos utilizar
outras cláusulas, como indicadas em cada caso. Se alteramos o nome ou tipo de dado do atributo, usamos CHANGE. O
atributo “equipe” da tabela PilotosF1 está como numérico do tipo inteiro, mas de- vemos incluir caracteres, portanto é
necessário mudar o tipo de dado com o comando a seguir:
Para alterar o nome da tabela, temos a cláusula RENAME que deve ser incluída no comando, como mostra o
exemplo:
Como mudamos o nome da tabela, trabalharemos com a tabela Pilotos. Na exclusão de atributos, também
utilizamos o comando ALTER TABLE, mas com a cláusula DROP que deve ser utilizada, como ilustra o código:
Para encerrar os comandos pertencentes à DDL, temos o seguinte comando que permite a exclusão das tabelas:
Imagine que você criou a tabela Pilotos e agora não vai mais trabalhar com ela, então a solução é excluí-la.
Basta digitar:
Como nosso propósito é continuar trabalhando com a tabela Pilotos, não vamos executar o comando anterior.
Para que possamos ter uma visão geral dos comandos da DDL, no próximo item é apresentada uma tabela com
uma breve descrição de cada comando.
O asterisco (*) indica que todos os campos da tabela devem ser mostrados. Para visualizar os dados da tabela Pilotos,
codificamos da seguinte forma:
Se executarmos esse comando, teremos como resposta uma tabela vazia, pois ainda não incluímos nenhum dado.
Para que possamos utilizar esse comando, revisaremos, na próxima aula, os comandos de manipulação de dados, podendo
assim completar as tabelas e trabalhar com os dados.