SlideShare uma empresa Scribd logo
1 de 57
Módulo 15
LINGUAGEM DE DEFINIÇÃO DE DADOS
Conteúdos programáticos:
• Criação, alteraçãoe eliminaçãode tabelas em SQL
• Atualização dedados
• Criação, alteraçãoe eliminaçãode índices em SQL
• Conceito de transação
• Privilégios e controlo de acessos
Parte 1
Parte 2
Parte 3
Introdução
Introdução
A linguagem SQL – Structured Query Language (Linguagem de Consulta
Estruturada) é uma linguagem própria para a realização de operações
relacionais. Em linhas gerais, é uma linguagem destinada a gerir sistemas de
gestão de base de dados relacionais. Através das declarações SQL, é possível
estruturar tabelas, criar campos e efetuar um conjunto diversificado de
operações sobre os dados.
As declarações SQL podem ser subdivididasem três categorias:
1. Consulta (query);
2. Definiçãode dados;
3. Manipulação de dados.
Introdução
As consultas (queries) filtram dados das tabelas de uma base de dados
relacional. São também chamadas de declarações SELECT, devido à participação
obrigatóriada palavra-chaveSelect.
Numa query identificamos as tabelas, os campos e, se assim o desejarmos, os
critérios: registos dos quais dados serão selecionados. A base de dados fornece
todos os dados que atendem às especificações numa tabelaResultado.
Declarações de definição de dados determinam a estrutura da base de dados.
Nesta categoria, as declarações SQL permitem criar, alterar ou eliminar
componentes estruturais, isto é, objetos da base de dados como tabelas, tabelas
virtuais(view) e índices (index).
Declarações de manipulação de dados alteram o conteúdo da base de dados,
incluindo os dados novos, atualizando os já existentes ou excluindo linhas
(registos).
Introdução
Como já foi referido no inicio da apresentação, os conteúdos abordados neste
módulo abrangem essencialmente os comandos utilizados para a definição e
manipulação de dados na ferramenta de desenvolvimento Microsoft SQL Server
2014 express.
Deverá efetuar o download da ferramenta, assim como o Microsoft SQL Server
management Studio 2014 express no seguinte link:
http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-
server-express.aspx
Declarações para definição de dados
As tabelas são a estrutura básica em que os dados são armazenados na base de
dados. Muitas ferramentas de bases de dados permitem criar tabelas utilizando
ferramentas própriase/ou comandosem linguagem SQL.
Na criação de uma tabela é necessário identificar o campo (coluna) e o tipo de
dadosa ele associado.
Antes de abordar o comando de criação de tabelas é necessário perceber quais
os tipos de dadosque cada campo pode ter.
Normalmente, os dados encontram-se disponíveis numa variedade de formas.
Podem ser um número inteiro (tal como 1), um número real (tal como 0,55),
texto (tal como ‘profissional2'), uma expressão de data/hora (tal como '2014-
SET-25 15:22:22') ou até mesmo um formato binário.
Para conhecer melhor os tipos de dados disponíveis no SQL SERVER da Microsoft
as tabelasseguintes ilustram os mais importantes:
Declarações para definição de dados: Tipos de dados
Numéricos exatos
Tipo de dados Intervalo Armazenamento
tinyint
Armazena valores numéricos inteiros. Deve utilizar-se
quando pretendemos guardar valores compreendidos
entre 0 e 255.
1 byte
smallint
Armazena valores numéricos inteiros. Deve utilizar-se
quando pretendemos guardar valores compreendidos
entre -32,768 e 32.767.
2 bytes
int
Armazena valores numéricos inteiros. Deve utilizar-se
quando pretendemos guardar valores compreendidos
entre -2,147,483,648 e 2.147.483.647.
4 bytes
bigint
O tipo de dados bigint deve ser usado quandovalores
inteiros possamexceder o intervalo ao qual tipo de
dados int oferece suporte
8 bytes
Declarações para definição de dados: tipos de dados
Numéricos exatos
Tipo de dados Intervalo Armazenamento
smallmoney Valores numéricos decimais variando de -
214.748,3648 até 214.748,3647
4 bytes
money
Valores numéricos decimais variando de -
922.337.203.685.477,5808 até
922.337.203.685.477,5807
8 bytes
numeric(p,s)
E
decimal(p,s)
Armazena valores numéricos fixos de precisão e
escala compreendidos entre 10 ^ 38 + 1 a 10 ^ 38-1.
O parâmetro P indica o número total máximo de
dígitos que podem ser armazenados (à esquerda e à
direita do ponto decimal). O parâmetro P deve ser
um valor de 1 a 38, sendo o valor 18 assumido por
defeito.
O parâmetro S indica o número máximo de dígitos
armazenados à direita do ponto decimal. O
parâmetro S deve ser um valor compreendido entre
entre 0 e P, sendo o valor zero assumido por
defeito.
5 a 17 bytes
Declarações para definição de dados: tipos de dados
Numéricos não exatos
Tipos de dados numéricos não exatos (aproximados) são utilizados para
armazenar dados numéricos de ponto flutuante.
Tipo de dados Intervalo Armazenamento
real
Armazena valores numéricos com casas decimais.
Deve utilizar-se quando pretendemos guardar
valores com grande precisão. Neste tipo de dados os
valores situam-se entre -3,40E+38 e 3,40E+38.
4 bytes
float(n)
Armazena valores numéricos com casas decimais.
Deve utilizar-se quando pretendemos guardar
valores com grande precisão. Neste tipo de dados
os valores situam-se entre -1.79E+308 e 1.79E+308.
O parâmetro n indica se o campo deve conter 4 ou 8
bytes. Float(24) possui um campo de 4 bytes e
float(53) contém um campo de 8 bytes. Valor
padrão de N é de 53.
4 ou 8 bytes
Declarações para definição de dados: tipos de dados
Texto
Tipo de dados Intervalo Armazenamento
nchar(n)
Armazena caracteres Unicode com um determinado
tamanho fixo, sendo o número máximo permitido de
4000. Se a quantidade de caracteres armazenada no
campo for menor
que o tamanho total especificado em n, o resto do
campo é preenchido com espaços em branco
n
nvarchar (n)
Armazena caracteres Unicode com um determinado
tamanho variável, sendo o número máximo
permitido de 536,870,912.
n
char (n)
Armazena n caracteres fixos (até 8.000) no formato
não Unicode. Se a quantidade de caracteres
armazenada no campo for menor
que o tamanho total especificado em n, o resto do
campo é preenchido com espaços em branco.
n
Declarações para definição de dados: tipos de dados
Lógicos
Tipo de dados Intervalo Armazenamento
bit
Armazena dados do tipo numérico. Deve utilizar-se
quando se pretende guardar dados do tipo 0, 1 ou
nulo.
1 bit
binary(n)
Armazena dados do tipo binário de comprimento fixo.
O tamanho máximo permitido é de 8000 bytes. 32 kbytes
varbinary(n)
Armazena dados do tipo binário de comprimento
variável. O tamanho máximo permitido é de 8000
bytes.
32 kbytes
Declarações para definição de dados: tipos de dados
Data e hora
Tipo de dados Intervalo Armazenamento
datetime
Armazena dados do tipo data com um intervalo de
tempo a partir 1 de Janeiro de 1753 até 31 de
Dezembro de 9999.
8 bytes
smalldatetime Aceita o uso de valores entre 1/1/1900 e 06/06/2079,
sendo que sua precisão é de 1 minuto 4 bytes
Criar base de dados
Criar base de dados
Para a criação de uma base de dadosdevemos utilizar a seguinte sintaxe :
CREATE DATABASE (nome da base de dados)
Exemplo:
CREATEDATABASEAgenda
De seguida será demostrado os procedimentosa adotarpara criar uma base de
dadosem SQL SERVER 2014.
Criar base de dados
SQL Server 2014 usando o SQL Server
Management Studio ou o Transact-SQL (T-
SQL).
No máximo é possível criar 32.767 bases de
dados numa instância do SQL Server
Depois de conectado, vamos iniciar a
criação de uma base de dados usando
T-SQL.
Criar base de dados
Para iniciar a construção deverá clicar sobre o botão New Query de forma a
aceder à janela SQLQuery localizada na parte central do ambiente de trabalho.
Nesse localdeverá escrever as instruções SQL.
Criar base de dados
Para criar a base de dados Agenda deverá escrever a seguinte instrução:
create database Agenda
Depois, para executar o comando deverá pressionar a tecla F5 ou clicar sobre o
botão Execute.
Resultado da operação (mensagem
de sucesso da operação)
Para utilizar a base de dados deverá utilizar o comando use Agenda. De
seguida, pressione a tecla F5.
Editar base de dados
ALTERAR NOME E ELIMINAR BASE DE DADOS
Editar base de dados
Depois de criar uma base de dados é possível alterar o seu nome. Para tal
devemos utilizara seguinte sintaxe :
ALTER DATABASE(nome da base de dados) MODIFYNAME=“novo nome”
Exemplo:
ALTERDATABASEAGENDA MODIFYNAME= PESSOAS
Editar base de dados
Para eliminaruma base de dadosexistente deverá utilizar a seguinte sintaxe :
DROP DATABASE (nome da base de dados)
Exemplo:
DROPDATABASEAGENDA
Ao eliminaruma base de dados toda a informação será destruída.
Esta operação não apresenta confirmação e é irreversível.
No entanto, existe no mercado uma aplicação que recupera base de dados
eliminadas:ApexSQL Recover
Criar tabela
Criar tabela
Para a definição da estrutura de dados, o SQL possui uma instrução para criar
tabela. Através desta instrução podemos definir os campos, os respetivos tipos
de dadose algumasrestrições de integridade. A sintaxe dessa instrução é:
CREATETABLE <nome databela>(
Campo1 tipo [(tamanho)] [Not Null] [Índice] ...,
Campo2 tipo [(tamanho)] [Not Null] [Índice] ...,
CONSTRAINT Nome <restrições> )
Os elementos em parênteses retos são opcionais. O elemento Campo1 repre-
senta o nome do campo da tabela. O elemento tipo representa o tipo de dados
de cada campo. Vejamoso seguinte exemplo de criação da tabelaPessoas:
Criar tabela
Considere a seguinte estrutura de tabela (campos, tipo de dados e Observações)
Campo Tipo de dados Observações
IdPessoa Numérico Preenchimentoautomático
Nome Texto Preenchimento obrigatório.50 caracteres
Morada Texto 90 caracteres
Localidade Texto 70 caracteres
Idade Numérico
Código SQL:
use agenda
CREATETABLE PESSOAS (IdPessoa INTIDENTITY(1,1), Nome VARCHAR(50)
NOT NULL, Morada VARCHAR (90), LocalidadeVARCHAR(70), idade INTEGER)
Criar tabela
Graficamentetemos:
Criar tabela
O recurso IDENTITY do SQL Server 2014 (e anteriores) representa o auto-
incrementdo MySQL.
Trata-se de um recurso nativo do SQL Server presente nas propriedades da
coluna, no momento da criação da tabela. Com este recurso não é necessário
criar TRIGGERS (como no Oracle) e a utilização fica um pouco semelhante ao
MySQL.
Sintaxe:
IDENTITY [ (inicial , incremento ) ]
Argumentos:
• inicial - Define o valor do primeiro registro inserido na tabela (start da
sequência).
• incremento - Define o valor a ser incrementado a cada novo insert.
Os argumentos não são obrigatórios, mas quando informados, é necessário que
sejam passados os 2. Se for informado apenas 1 argumento será gerado um erro
de sintaxe.
O IDENTITY pode ser habilitado em colunas dos tipos numéricos (tinyint,
smallint, int, bigint, decimal e numeric.
Editar tabela
ALTERAR E ELIMINAR
Editar tabela
Depois de criar uma tabela, o utilizador pode efetuar o seguinte conjunto de
operações:
• Alterar nome da tabela;
• Eliminartabela;
• Adicionarcampos;
• Eliminarcampos;
• Alterar nome de campos.
Editar tabela
Depois de criar uma tabela é possível alterar o seu nome. Para tal devemos
utilizara seguinte sintaxe :
EXEC sp_rename (nome da tabela), (novo nome);
Exemplo:
EXEC sp_rename PESSOAS ,PESSOAL;
Editar tabela
Para eliminaruma tabela existente deverá utilizara seguinte sintaxe :
DROP TABLE (nome da tabela)
Exemplo:
USE AGENDA
GO
DROP TABLE PESSOAL
Ao eliminar uma tabela toda a informação será destruída.
Esta operação não apresenta confirmação e é irreversível.
Editar tabela
Para adicionarnovos campos (colunas) a uma tabelajá criada, deverá utilizara
seguinte a seguinte sintaxe :
ALTER TABLE (nome da tabela) ADD (campo e tipo de dados )
Exemplo:
ALTERTABLE PESSOAL ADDTelefoneINT
Editar tabela
Para eliminar um campo (coluna) de uma tabela já criada, deverá utilizar a
seguinte a seguinte sintaxe :
ALTER TABLE (nome da tabela)DROP COLUMN (nome da coluna);
Exemplo:
ALTERTABLE Pessoal DROP COLUMN Telefone;
Editar tabela
Para alterar o nome de um campo (coluna) de uma tabela já criada, deverá
utilizara seguinte a seguinte sintaxe :
EXEC sp_rename ‘tabela.campo',novo nome';
Exemplo:
EXEC sp_rename 'Pessoal.Morada',Endereco;
Operações com registos
INSERIR, ALTERAR E ELIMINAR
Operações com registos
Na linguagem SQL, existem essencialmenteduas formas de inserir dadosnuma
tabela:Uma é inserir uma linhade cada vez, a outra é inserir váriaslinhasem
simultâneo.Vamos abordarcomo podemos inserir dadosnuma linhade cada
vez:
A sintaxe para inserir dados numa linhada tabela de cada vez é a seguinte:
INSERT INTO "nome_tabela"("coluna1", "coluna2", ...)
VALUES ("valor1", "valor2", ...);
Vejamos os seguinte exemplo de inserção de um registo na tabela Pessoal
Operações com registos
USE AGENDA;
INSERT INTO PESSOAL (Nome, Morada,Localidade,idade,telefone)
VALUES ('Pedro Martins', 'Rua da liberdade344 7º Esq', 'Lisboa',23,963456781);
Go
SELECT * FROM PESSOAL;
Operações com registos
A sintaxe para inserir vários registos:
INSERT INTO "nome_tabela" ("coluna1", "coluna 2", ...)
VALUES ("valor 1", "valor2", ...), ("valor 1", "valor 2", ...)…;
Vejamos os seguinte exemplo de inserção de vários registos na tabela Pessoas;
USE AGENDA;
INSERT INTO PESSOAL (Nome, Morada,Localidade,idade,telefone)
VALUES ('Ana Rodrigues', 'Rua da Paz 3 1º dto', 'Lisboa',20,912233587),
('Justino Pereira','Avenida das Forças Armadas 12','Porto',33,222134563);
GO
SELECT * FROM PESSOAL;
Operações com registos
Graficamentetemos:
Operações com registos
Para alterar um registo já existente devemos utilizar o comando UPDATE, vejamos a
sintaxe:
UPDATE(Tabela)
SET (campo) = (valor)
WHERE(campo) = (valor)
Vejamoso seguinte exemplo:
UPDATE PESSOAL
SET NOME = 'Ana Rita Rodrigues'
WHERE IDPESSOA= 2;
GO
SELECT * FROM PESSOAL;
Operações com registos
Graficamentetemos:
Operações com registos
Por vezes, podemos pretender remover registos de uma tabela. Para tal,
podemos utilizaro comando DELETE FROM. A sintaxe para tal é:
DELETEFROM (nome da tabela)
WHERE (condição);
Vejamoso seguinteexemplo:
DELETE FROM PESSOAS
WHERE IDPESSOA=3;
GO
SELECT * FROM PESSOAS;
Operações com registos
Graficamentetemos:
Chaves primárias e estrangeiras
DEFINIÇÃO DE CHAVES
Chave primária
Uma chave primária é utilizada para identificar, de forma unívoca, cada linha
(registo) de uma tabela. A chave pode fazer parte integrante do registo ou pode
ser um campo artificial (um que não tenha nada que ver com o registo atual).
Uma chave primária pode ser composta por um ou mais campos e, a esta
combinação,denominamosde chave composta.
As chaves primárias podem ser especificadas quando a tabela é criada
(utilizando o comando CREATE TABLE) ou alterando a estrutura da tabela
existente (utilizandoo comando ALTER TABLE).
De seguida é apresentado a sintaxe para definir uma chave primária numa nova
tabela (primeiro método) :
CREATETABLE (Nome da tabela) (campo1 (tipo de dados) PRIMARY KEY,
campo2 (tipo de dados) , campo3 (tipo de dados), … );
Vejamos o seguinte exemplo paraa tabela Agenda.
Chave primária
Chave primária
Podemos definir uma chave primária numa nova tabela utilizando o comando
CONSTRAINT (segundo método), vejamos a sintaxe:
CREATETABLE (Nome da tabela) (campo1 (tipo de dados), campo2 (tipo de
dados) , campo3 (tipo de dados), …
CONSTRAINT (nome a atribuir) PRIMARY KEY (campo);
Vejamos o seguinte exemplo para a tabela Agenda.
Com este método é possível, posteriormente, proceder a alteraçãoou remoção
de um campo chave.
Chave primária
Para remoção de um campo chave de uma tabela devemos proceder da seguinte
forma:
Para definir uma chave primária numa tabela existente devemos proceder da
seguinte forma:
Chave primária composta
A chave primária composta é aquela que é criada em dois campos e desta forma
passa a utilizar a junção dos dados dos dois campos indicados para formar um
valorúnico e assim aplicaro bloqueiode duplicidade.
É muito importante entender que não existe duas chaves primárias mas uma
chave primária composta.
Vejamos a seguinte sintaxe para definir uma chave primária composta no
momento da criação da tabela:
CREATETABLE (Nome da tabela) (campo1 (tipo de dados), campo2 (tipo de
dados) , campo3 (tipo de dados), …
CONSTRAINT (nome a atribuir) PRIMARY KEY (campo1,campo2);
Chave estrangeira
A chave estrangeira ocorre quando um atributo de uma relação for chave
primária em outra relação. Em outras palavras sempre que houver o
relacionamento 1:N entre duas tabelas, a tabela 1 receberá a chave primária e a
tabela N receberá a chave estrangeira.
Vejamos os seguinte exemplo:
Nas tabelas apresentadasexiste a aplicaçãodas chaves primária e estrangeira.
O campo IDProduto consta nas duas tabelas. Na tabela produtos ele é o campo
identificador, ou seja, cada produto deverá ser exclusivo, portanto, uma chave
primária. Já na tabela Pedido o campo IDProduto poderá constar várias vezes e
como ele já é chave primária em Produtos, aqui ele será uma chave estrangeira.
TabelaProdutos
IDProduto
Descricao
Categoria
Preco
TabelaPedidos
IDPedido
IDProduto
Quantidade
Chave estrangeira
Criação da tabela Produtos:
Estrutura de dados:
Chave estrangeira
Criação da tabela Pedidos:
Estrutura de dados:
As chaves primárias são identificadas com a designação PK e as chaves
estrageiras por FK.
Chave estrangeira
Para editar uma chave estrageira numa tabela existente devemos utilizar o
comando ALTER TABLE. Vejamos o procedimento para remover a chave
estrangeira da tabela Pedidos:
Para definir uma chave estrageira numa tabela existente devemos utilizar o
seguinte comando (tabela pedidos):
Exercícios
Exercício 15.1
A empresa ShowMúsica tem como principal objeto de negócio a venda de disco
em vinil de coleção. Nesse sentido, é necessário construir uma base de dados
que possa armazenar toda a informação dos seus produtos, tendo, num
processo de análise,chegado à seguinte estrutura de campos:
Tabela Discos:
Campo Tipo Observações
ID Disco Número Preenchimento automática
Títuloda obra Texto Tamanho60 Preenchimentoobrigatório
Interprete Texto Tamanho60 Preenchimentoobrigatório
Género Texto Tamanho30 Preenchimentoobrigatório
Editora Texto Tamanho30 Preenchimentoobrigatório
Ano de Edição Número Tamanho4 Preenchimento obrigatório
Nacionalidade Texto Tamanho40 Preenchimento obrigatório
Exercício 15.1
Elabore os script para:
1. Construir a tabela anterior.
2. Alterar o campo “Género” para “Género musical”.
3. Acrescentar o campo “Preço de Venda” (tipo moeda com preenchimento
obrigatório).
4. Insira um registo.
5. Visualizartodos os registos inseridos.
Exercício 15.2
Pretende-se criar uma base de dados relacional onde seja possível guardar
informação sobre os tipos de ocupação do solo existentes em cada concelho e
distrito. Pretende-se ainda guardar na base de dados a área de cada tipo de
ocupaçãodo solo existente em cada um dos concelhos.
Os tipos de ocupação do solo considerados são: Floresta, Cultura Permanente,
Área Urbana e Terra Limpa.
Como primeira etapa do processo de desenvolvimento desta base de dados, foi
criado o seguinte modelo Entidade-Associação:
Exercício 15.2
Tabelas:
• Distrito (Código Distrito, nome Distrito)
• Concelho(Código Concelho,Nome Concelho, CódigoDistrito)
• Ocupação(CódigoOcupação,Descrição)
• Possui (CódigoConcelho,Código Ocupação,Área)
Todosos campos são do tipo texto exceto o campo Área que deverá ser definido
como real.
Elabore os script para:
1. Construir as tabelas anteriores.
2. Insira vários registos em cada uma das tabelas anteriores.
3. Visualizartodos os registos com áreas atribuídasno Distrito de Lisboa
4. Visualizartodos os nomes dos concelhos com área de Floresta.
5. Apresentar o total de área de cultura permanente.

Mais conteúdo relacionado

Semelhante a modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx

Semelhante a modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx (20)

Net Coders Ladies - Introdução a Banco de Dados
Net Coders Ladies - Introdução a Banco de Dados Net Coders Ladies - Introdução a Banco de Dados
Net Coders Ladies - Introdução a Banco de Dados
 
Fundamentos de Banco de Dados Relacionais
Fundamentos de Banco de Dados RelacionaisFundamentos de Banco de Dados Relacionais
Fundamentos de Banco de Dados Relacionais
 
Sql
SqlSql
Sql
 
Sql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumoSql básico - Teoria e prática: Um grande resumo
Sql básico - Teoria e prática: Um grande resumo
 
Sistemas de Base de Dados
Sistemas de Base de DadosSistemas de Base de Dados
Sistemas de Base de Dados
 
Access
AccessAccess
Access
 
Aula de Reforço Access
Aula de Reforço Access Aula de Reforço Access
Aula de Reforço Access
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
Banco dados lj
Banco dados ljBanco dados lj
Banco dados lj
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
 
Cap05
Cap05Cap05
Cap05
 
Cap05
Cap05Cap05
Cap05
 
Cap05
Cap05Cap05
Cap05
 
Apresentação básica de my sql
Apresentação básica de my sqlApresentação básica de my sql
Apresentação básica de my sql
 
Novo microsoft office power point presentation
Novo microsoft office power point presentationNovo microsoft office power point presentation
Novo microsoft office power point presentation
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Aula 11 banco de dados
Aula 11   banco de dadosAula 11   banco de dados
Aula 11 banco de dados
 
Aula 10 banco de dados
Aula 10   banco de dadosAula 10   banco de dados
Aula 10 banco de dados
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelas
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfFernandaMota99
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxDianaSheila2
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 

Último (20)

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Atividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptxAtividade sobre os Pronomes Pessoais.pptx
Atividade sobre os Pronomes Pessoais.pptx
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 

modulo-15-sql-criar-e-manipular-tabelas1-2-flipbook-pdf.docx

  • 1. Módulo 15 LINGUAGEM DE DEFINIÇÃO DE DADOS
  • 2. Conteúdos programáticos: • Criação, alteraçãoe eliminaçãode tabelas em SQL • Atualização dedados • Criação, alteraçãoe eliminaçãode índices em SQL • Conceito de transação • Privilégios e controlo de acessos Parte 1 Parte 2 Parte 3
  • 4. Introdução A linguagem SQL – Structured Query Language (Linguagem de Consulta Estruturada) é uma linguagem própria para a realização de operações relacionais. Em linhas gerais, é uma linguagem destinada a gerir sistemas de gestão de base de dados relacionais. Através das declarações SQL, é possível estruturar tabelas, criar campos e efetuar um conjunto diversificado de operações sobre os dados. As declarações SQL podem ser subdivididasem três categorias: 1. Consulta (query); 2. Definiçãode dados; 3. Manipulação de dados.
  • 5. Introdução As consultas (queries) filtram dados das tabelas de uma base de dados relacional. São também chamadas de declarações SELECT, devido à participação obrigatóriada palavra-chaveSelect. Numa query identificamos as tabelas, os campos e, se assim o desejarmos, os critérios: registos dos quais dados serão selecionados. A base de dados fornece todos os dados que atendem às especificações numa tabelaResultado. Declarações de definição de dados determinam a estrutura da base de dados. Nesta categoria, as declarações SQL permitem criar, alterar ou eliminar componentes estruturais, isto é, objetos da base de dados como tabelas, tabelas virtuais(view) e índices (index). Declarações de manipulação de dados alteram o conteúdo da base de dados, incluindo os dados novos, atualizando os já existentes ou excluindo linhas (registos).
  • 6. Introdução Como já foi referido no inicio da apresentação, os conteúdos abordados neste módulo abrangem essencialmente os comandos utilizados para a definição e manipulação de dados na ferramenta de desenvolvimento Microsoft SQL Server 2014 express. Deverá efetuar o download da ferramenta, assim como o Microsoft SQL Server management Studio 2014 express no seguinte link: http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql- server-express.aspx
  • 7. Declarações para definição de dados As tabelas são a estrutura básica em que os dados são armazenados na base de dados. Muitas ferramentas de bases de dados permitem criar tabelas utilizando ferramentas própriase/ou comandosem linguagem SQL. Na criação de uma tabela é necessário identificar o campo (coluna) e o tipo de dadosa ele associado. Antes de abordar o comando de criação de tabelas é necessário perceber quais os tipos de dadosque cada campo pode ter. Normalmente, os dados encontram-se disponíveis numa variedade de formas. Podem ser um número inteiro (tal como 1), um número real (tal como 0,55), texto (tal como ‘profissional2'), uma expressão de data/hora (tal como '2014- SET-25 15:22:22') ou até mesmo um formato binário. Para conhecer melhor os tipos de dados disponíveis no SQL SERVER da Microsoft as tabelasseguintes ilustram os mais importantes:
  • 8. Declarações para definição de dados: Tipos de dados Numéricos exatos Tipo de dados Intervalo Armazenamento tinyint Armazena valores numéricos inteiros. Deve utilizar-se quando pretendemos guardar valores compreendidos entre 0 e 255. 1 byte smallint Armazena valores numéricos inteiros. Deve utilizar-se quando pretendemos guardar valores compreendidos entre -32,768 e 32.767. 2 bytes int Armazena valores numéricos inteiros. Deve utilizar-se quando pretendemos guardar valores compreendidos entre -2,147,483,648 e 2.147.483.647. 4 bytes bigint O tipo de dados bigint deve ser usado quandovalores inteiros possamexceder o intervalo ao qual tipo de dados int oferece suporte 8 bytes
  • 9. Declarações para definição de dados: tipos de dados Numéricos exatos Tipo de dados Intervalo Armazenamento smallmoney Valores numéricos decimais variando de - 214.748,3648 até 214.748,3647 4 bytes money Valores numéricos decimais variando de - 922.337.203.685.477,5808 até 922.337.203.685.477,5807 8 bytes numeric(p,s) E decimal(p,s) Armazena valores numéricos fixos de precisão e escala compreendidos entre 10 ^ 38 + 1 a 10 ^ 38-1. O parâmetro P indica o número total máximo de dígitos que podem ser armazenados (à esquerda e à direita do ponto decimal). O parâmetro P deve ser um valor de 1 a 38, sendo o valor 18 assumido por defeito. O parâmetro S indica o número máximo de dígitos armazenados à direita do ponto decimal. O parâmetro S deve ser um valor compreendido entre entre 0 e P, sendo o valor zero assumido por defeito. 5 a 17 bytes
  • 10. Declarações para definição de dados: tipos de dados Numéricos não exatos Tipos de dados numéricos não exatos (aproximados) são utilizados para armazenar dados numéricos de ponto flutuante. Tipo de dados Intervalo Armazenamento real Armazena valores numéricos com casas decimais. Deve utilizar-se quando pretendemos guardar valores com grande precisão. Neste tipo de dados os valores situam-se entre -3,40E+38 e 3,40E+38. 4 bytes float(n) Armazena valores numéricos com casas decimais. Deve utilizar-se quando pretendemos guardar valores com grande precisão. Neste tipo de dados os valores situam-se entre -1.79E+308 e 1.79E+308. O parâmetro n indica se o campo deve conter 4 ou 8 bytes. Float(24) possui um campo de 4 bytes e float(53) contém um campo de 8 bytes. Valor padrão de N é de 53. 4 ou 8 bytes
  • 11. Declarações para definição de dados: tipos de dados Texto Tipo de dados Intervalo Armazenamento nchar(n) Armazena caracteres Unicode com um determinado tamanho fixo, sendo o número máximo permitido de 4000. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em n, o resto do campo é preenchido com espaços em branco n nvarchar (n) Armazena caracteres Unicode com um determinado tamanho variável, sendo o número máximo permitido de 536,870,912. n char (n) Armazena n caracteres fixos (até 8.000) no formato não Unicode. Se a quantidade de caracteres armazenada no campo for menor que o tamanho total especificado em n, o resto do campo é preenchido com espaços em branco. n
  • 12. Declarações para definição de dados: tipos de dados Lógicos Tipo de dados Intervalo Armazenamento bit Armazena dados do tipo numérico. Deve utilizar-se quando se pretende guardar dados do tipo 0, 1 ou nulo. 1 bit binary(n) Armazena dados do tipo binário de comprimento fixo. O tamanho máximo permitido é de 8000 bytes. 32 kbytes varbinary(n) Armazena dados do tipo binário de comprimento variável. O tamanho máximo permitido é de 8000 bytes. 32 kbytes
  • 13. Declarações para definição de dados: tipos de dados Data e hora Tipo de dados Intervalo Armazenamento datetime Armazena dados do tipo data com um intervalo de tempo a partir 1 de Janeiro de 1753 até 31 de Dezembro de 9999. 8 bytes smalldatetime Aceita o uso de valores entre 1/1/1900 e 06/06/2079, sendo que sua precisão é de 1 minuto 4 bytes
  • 14. Criar base de dados
  • 15. Criar base de dados Para a criação de uma base de dadosdevemos utilizar a seguinte sintaxe : CREATE DATABASE (nome da base de dados) Exemplo: CREATEDATABASEAgenda De seguida será demostrado os procedimentosa adotarpara criar uma base de dadosem SQL SERVER 2014.
  • 16. Criar base de dados SQL Server 2014 usando o SQL Server Management Studio ou o Transact-SQL (T- SQL). No máximo é possível criar 32.767 bases de dados numa instância do SQL Server Depois de conectado, vamos iniciar a criação de uma base de dados usando T-SQL.
  • 17. Criar base de dados Para iniciar a construção deverá clicar sobre o botão New Query de forma a aceder à janela SQLQuery localizada na parte central do ambiente de trabalho. Nesse localdeverá escrever as instruções SQL.
  • 18. Criar base de dados Para criar a base de dados Agenda deverá escrever a seguinte instrução: create database Agenda Depois, para executar o comando deverá pressionar a tecla F5 ou clicar sobre o botão Execute. Resultado da operação (mensagem de sucesso da operação) Para utilizar a base de dados deverá utilizar o comando use Agenda. De seguida, pressione a tecla F5.
  • 19. Editar base de dados ALTERAR NOME E ELIMINAR BASE DE DADOS
  • 20. Editar base de dados Depois de criar uma base de dados é possível alterar o seu nome. Para tal devemos utilizara seguinte sintaxe : ALTER DATABASE(nome da base de dados) MODIFYNAME=“novo nome” Exemplo: ALTERDATABASEAGENDA MODIFYNAME= PESSOAS
  • 21. Editar base de dados Para eliminaruma base de dadosexistente deverá utilizar a seguinte sintaxe : DROP DATABASE (nome da base de dados) Exemplo: DROPDATABASEAGENDA Ao eliminaruma base de dados toda a informação será destruída. Esta operação não apresenta confirmação e é irreversível. No entanto, existe no mercado uma aplicação que recupera base de dados eliminadas:ApexSQL Recover
  • 23. Criar tabela Para a definição da estrutura de dados, o SQL possui uma instrução para criar tabela. Através desta instrução podemos definir os campos, os respetivos tipos de dadose algumasrestrições de integridade. A sintaxe dessa instrução é: CREATETABLE <nome databela>( Campo1 tipo [(tamanho)] [Not Null] [Índice] ..., Campo2 tipo [(tamanho)] [Not Null] [Índice] ..., CONSTRAINT Nome <restrições> ) Os elementos em parênteses retos são opcionais. O elemento Campo1 repre- senta o nome do campo da tabela. O elemento tipo representa o tipo de dados de cada campo. Vejamoso seguinte exemplo de criação da tabelaPessoas:
  • 24. Criar tabela Considere a seguinte estrutura de tabela (campos, tipo de dados e Observações) Campo Tipo de dados Observações IdPessoa Numérico Preenchimentoautomático Nome Texto Preenchimento obrigatório.50 caracteres Morada Texto 90 caracteres Localidade Texto 70 caracteres Idade Numérico Código SQL: use agenda CREATETABLE PESSOAS (IdPessoa INTIDENTITY(1,1), Nome VARCHAR(50) NOT NULL, Morada VARCHAR (90), LocalidadeVARCHAR(70), idade INTEGER)
  • 26. Criar tabela O recurso IDENTITY do SQL Server 2014 (e anteriores) representa o auto- incrementdo MySQL. Trata-se de um recurso nativo do SQL Server presente nas propriedades da coluna, no momento da criação da tabela. Com este recurso não é necessário criar TRIGGERS (como no Oracle) e a utilização fica um pouco semelhante ao MySQL. Sintaxe: IDENTITY [ (inicial , incremento ) ] Argumentos: • inicial - Define o valor do primeiro registro inserido na tabela (start da sequência). • incremento - Define o valor a ser incrementado a cada novo insert. Os argumentos não são obrigatórios, mas quando informados, é necessário que sejam passados os 2. Se for informado apenas 1 argumento será gerado um erro de sintaxe. O IDENTITY pode ser habilitado em colunas dos tipos numéricos (tinyint, smallint, int, bigint, decimal e numeric.
  • 28. Editar tabela Depois de criar uma tabela, o utilizador pode efetuar o seguinte conjunto de operações: • Alterar nome da tabela; • Eliminartabela; • Adicionarcampos; • Eliminarcampos; • Alterar nome de campos.
  • 29. Editar tabela Depois de criar uma tabela é possível alterar o seu nome. Para tal devemos utilizara seguinte sintaxe : EXEC sp_rename (nome da tabela), (novo nome); Exemplo: EXEC sp_rename PESSOAS ,PESSOAL;
  • 30. Editar tabela Para eliminaruma tabela existente deverá utilizara seguinte sintaxe : DROP TABLE (nome da tabela) Exemplo: USE AGENDA GO DROP TABLE PESSOAL Ao eliminar uma tabela toda a informação será destruída. Esta operação não apresenta confirmação e é irreversível.
  • 31. Editar tabela Para adicionarnovos campos (colunas) a uma tabelajá criada, deverá utilizara seguinte a seguinte sintaxe : ALTER TABLE (nome da tabela) ADD (campo e tipo de dados ) Exemplo: ALTERTABLE PESSOAL ADDTelefoneINT
  • 32. Editar tabela Para eliminar um campo (coluna) de uma tabela já criada, deverá utilizar a seguinte a seguinte sintaxe : ALTER TABLE (nome da tabela)DROP COLUMN (nome da coluna); Exemplo: ALTERTABLE Pessoal DROP COLUMN Telefone;
  • 33. Editar tabela Para alterar o nome de um campo (coluna) de uma tabela já criada, deverá utilizara seguinte a seguinte sintaxe : EXEC sp_rename ‘tabela.campo',novo nome'; Exemplo: EXEC sp_rename 'Pessoal.Morada',Endereco;
  • 34. Operações com registos INSERIR, ALTERAR E ELIMINAR
  • 35. Operações com registos Na linguagem SQL, existem essencialmenteduas formas de inserir dadosnuma tabela:Uma é inserir uma linhade cada vez, a outra é inserir váriaslinhasem simultâneo.Vamos abordarcomo podemos inserir dadosnuma linhade cada vez: A sintaxe para inserir dados numa linhada tabela de cada vez é a seguinte: INSERT INTO "nome_tabela"("coluna1", "coluna2", ...) VALUES ("valor1", "valor2", ...); Vejamos os seguinte exemplo de inserção de um registo na tabela Pessoal
  • 36. Operações com registos USE AGENDA; INSERT INTO PESSOAL (Nome, Morada,Localidade,idade,telefone) VALUES ('Pedro Martins', 'Rua da liberdade344 7º Esq', 'Lisboa',23,963456781); Go SELECT * FROM PESSOAL;
  • 37. Operações com registos A sintaxe para inserir vários registos: INSERT INTO "nome_tabela" ("coluna1", "coluna 2", ...) VALUES ("valor 1", "valor2", ...), ("valor 1", "valor 2", ...)…; Vejamos os seguinte exemplo de inserção de vários registos na tabela Pessoas; USE AGENDA; INSERT INTO PESSOAL (Nome, Morada,Localidade,idade,telefone) VALUES ('Ana Rodrigues', 'Rua da Paz 3 1º dto', 'Lisboa',20,912233587), ('Justino Pereira','Avenida das Forças Armadas 12','Porto',33,222134563); GO SELECT * FROM PESSOAL;
  • 39. Operações com registos Para alterar um registo já existente devemos utilizar o comando UPDATE, vejamos a sintaxe: UPDATE(Tabela) SET (campo) = (valor) WHERE(campo) = (valor) Vejamoso seguinte exemplo: UPDATE PESSOAL SET NOME = 'Ana Rita Rodrigues' WHERE IDPESSOA= 2; GO SELECT * FROM PESSOAL;
  • 41. Operações com registos Por vezes, podemos pretender remover registos de uma tabela. Para tal, podemos utilizaro comando DELETE FROM. A sintaxe para tal é: DELETEFROM (nome da tabela) WHERE (condição); Vejamoso seguinteexemplo: DELETE FROM PESSOAS WHERE IDPESSOA=3; GO SELECT * FROM PESSOAS;
  • 43. Chaves primárias e estrangeiras DEFINIÇÃO DE CHAVES
  • 44. Chave primária Uma chave primária é utilizada para identificar, de forma unívoca, cada linha (registo) de uma tabela. A chave pode fazer parte integrante do registo ou pode ser um campo artificial (um que não tenha nada que ver com o registo atual). Uma chave primária pode ser composta por um ou mais campos e, a esta combinação,denominamosde chave composta. As chaves primárias podem ser especificadas quando a tabela é criada (utilizando o comando CREATE TABLE) ou alterando a estrutura da tabela existente (utilizandoo comando ALTER TABLE). De seguida é apresentado a sintaxe para definir uma chave primária numa nova tabela (primeiro método) : CREATETABLE (Nome da tabela) (campo1 (tipo de dados) PRIMARY KEY, campo2 (tipo de dados) , campo3 (tipo de dados), … ); Vejamos o seguinte exemplo paraa tabela Agenda.
  • 46. Chave primária Podemos definir uma chave primária numa nova tabela utilizando o comando CONSTRAINT (segundo método), vejamos a sintaxe: CREATETABLE (Nome da tabela) (campo1 (tipo de dados), campo2 (tipo de dados) , campo3 (tipo de dados), … CONSTRAINT (nome a atribuir) PRIMARY KEY (campo); Vejamos o seguinte exemplo para a tabela Agenda. Com este método é possível, posteriormente, proceder a alteraçãoou remoção de um campo chave.
  • 47. Chave primária Para remoção de um campo chave de uma tabela devemos proceder da seguinte forma: Para definir uma chave primária numa tabela existente devemos proceder da seguinte forma:
  • 48. Chave primária composta A chave primária composta é aquela que é criada em dois campos e desta forma passa a utilizar a junção dos dados dos dois campos indicados para formar um valorúnico e assim aplicaro bloqueiode duplicidade. É muito importante entender que não existe duas chaves primárias mas uma chave primária composta. Vejamos a seguinte sintaxe para definir uma chave primária composta no momento da criação da tabela: CREATETABLE (Nome da tabela) (campo1 (tipo de dados), campo2 (tipo de dados) , campo3 (tipo de dados), … CONSTRAINT (nome a atribuir) PRIMARY KEY (campo1,campo2);
  • 49. Chave estrangeira A chave estrangeira ocorre quando um atributo de uma relação for chave primária em outra relação. Em outras palavras sempre que houver o relacionamento 1:N entre duas tabelas, a tabela 1 receberá a chave primária e a tabela N receberá a chave estrangeira. Vejamos os seguinte exemplo: Nas tabelas apresentadasexiste a aplicaçãodas chaves primária e estrangeira. O campo IDProduto consta nas duas tabelas. Na tabela produtos ele é o campo identificador, ou seja, cada produto deverá ser exclusivo, portanto, uma chave primária. Já na tabela Pedido o campo IDProduto poderá constar várias vezes e como ele já é chave primária em Produtos, aqui ele será uma chave estrangeira. TabelaProdutos IDProduto Descricao Categoria Preco TabelaPedidos IDPedido IDProduto Quantidade
  • 50. Chave estrangeira Criação da tabela Produtos: Estrutura de dados:
  • 51. Chave estrangeira Criação da tabela Pedidos: Estrutura de dados: As chaves primárias são identificadas com a designação PK e as chaves estrageiras por FK.
  • 52. Chave estrangeira Para editar uma chave estrageira numa tabela existente devemos utilizar o comando ALTER TABLE. Vejamos o procedimento para remover a chave estrangeira da tabela Pedidos: Para definir uma chave estrageira numa tabela existente devemos utilizar o seguinte comando (tabela pedidos):
  • 54. Exercício 15.1 A empresa ShowMúsica tem como principal objeto de negócio a venda de disco em vinil de coleção. Nesse sentido, é necessário construir uma base de dados que possa armazenar toda a informação dos seus produtos, tendo, num processo de análise,chegado à seguinte estrutura de campos: Tabela Discos: Campo Tipo Observações ID Disco Número Preenchimento automática Títuloda obra Texto Tamanho60 Preenchimentoobrigatório Interprete Texto Tamanho60 Preenchimentoobrigatório Género Texto Tamanho30 Preenchimentoobrigatório Editora Texto Tamanho30 Preenchimentoobrigatório Ano de Edição Número Tamanho4 Preenchimento obrigatório Nacionalidade Texto Tamanho40 Preenchimento obrigatório
  • 55. Exercício 15.1 Elabore os script para: 1. Construir a tabela anterior. 2. Alterar o campo “Género” para “Género musical”. 3. Acrescentar o campo “Preço de Venda” (tipo moeda com preenchimento obrigatório). 4. Insira um registo. 5. Visualizartodos os registos inseridos.
  • 56. Exercício 15.2 Pretende-se criar uma base de dados relacional onde seja possível guardar informação sobre os tipos de ocupação do solo existentes em cada concelho e distrito. Pretende-se ainda guardar na base de dados a área de cada tipo de ocupaçãodo solo existente em cada um dos concelhos. Os tipos de ocupação do solo considerados são: Floresta, Cultura Permanente, Área Urbana e Terra Limpa. Como primeira etapa do processo de desenvolvimento desta base de dados, foi criado o seguinte modelo Entidade-Associação:
  • 57. Exercício 15.2 Tabelas: • Distrito (Código Distrito, nome Distrito) • Concelho(Código Concelho,Nome Concelho, CódigoDistrito) • Ocupação(CódigoOcupação,Descrição) • Possui (CódigoConcelho,Código Ocupação,Área) Todosos campos são do tipo texto exceto o campo Área que deverá ser definido como real. Elabore os script para: 1. Construir as tabelas anteriores. 2. Insira vários registos em cada uma das tabelas anteriores. 3. Visualizartodos os registos com áreas atribuídasno Distrito de Lisboa 4. Visualizartodos os nomes dos concelhos com área de Floresta. 5. Apresentar o total de área de cultura permanente.