SlideShare uma empresa Scribd logo
1 de 18
Banco de Dados
Jorge Ávila
Antes de mais nada
 Normalização:
 Primeira Forma Normal:
 Uma tabela está na 1FN, se e somente se, não possuir
atributos multivalorados.
 Uma relação está na 1FN quando todos os atributos da
relação estiverem baseados em um domínio simples, não
contendo grupos ou valores repetidos
 Exemplo
 Projetos(codp, tipo, descrição, code, nome, categ, salário, d
ata_início, tempo_aloc)
 Outra forma de identificar se a tabela não está

na 1FN é verificando se existe tabela aninhadas, ou
seja, mais de um registro para uma chave primária
Antes de mais nada
 Normalização:
 Segunda Forma Normal
 Uma relação está na 2FN se, e somente se, estiver na 1FN
e cada atributo não-chave for dependente da chave
primária inteira, isto é, cada atributo não-chave não poderá
ser dependente de apenas parte da chave.
 No caso de tabelas com chave primária composta, se um
atributo depende apenas de uma parte da chave
primária, então esse atributo deve ser colocado em outra
tabela.
 Exemplo:
 Projetos(codp, tipo, descrição)
 Empregados(code, nome, categ, salário)
 ProjEmp(codp, code, data_início, tempo_aloc)
Antes de mais nada
 Normalização:
 Terceira Forma Normal
 Uma relação R está na 3FN, se estiver na 2FN e
cada atributo não-chave de R não possuir
dependência transitiva, para cada chave
candidata de R.
 Projetos(codp, tipo, descrição)
 Empregados(code, nome, categ)
 Categorias(categ, salário)
 ProjEmp(codp, code, data_início, tempo_aloc)
BANCOS DE DADOS
RELACIONAIS
 Os Bancos de Dados Relacionais foram

desenvolvidos para facilitar o acesso aos dados.
Pois enquanto em um banco de dados
hierárquico os usuários precisam definir as
questões de maneira mais específica, iniciando
pela raiz, nos Bancos de Dados Relacionais os
usuários podem fazer perguntas relacionadas
através de vários pontos.
 A arquitetura de um banco de dados relacional
pode ser descrita usando os termos tabela, linha
e coluna. Veja um exemplo;
BANCOS DE DADOS
RELACIONAIS
 Temos a “Tabela Clientes” que contém duas

colunas que são o “Código do Cliente” e o
“Nome”, Cada linha é formada por uma lista
ordenada de colunas representando um registro.
 Então um registro é uma instância de uma
tabela, ou entidade. Uma entidade é uma
representação de um conjunto de informações
sobre determinado conceito do sistema. Toda
entidade possui atributos, que são as
informações que referenciam a entidade.
BANCOS DE DADOS
RELACIONAIS
 Se houverem informações a serem

armazenadas, você tem uma entidade.
Exemplificando: Eu desejo armazenar os
seguintes dados do livro:
 Título, Autor, Editora, Ano, Edição e Volume. Temos

então a entidade Livro.
 No exemplo acima “Antônio Silva” é uma

instância (registro) da “Tabela Clientes”. As
colunas de uma tabela são também chamadas
de atributos. Então a coluna “Nome” é um
atributo da “Tabela Clientes”.
BANCOS DE DADOS
RELACIONAIS
 As tabelas relacionam-se umas as outras através

de chaves. Uma chave é um conjunto de um ou
mais atributos que determinam a unicidade de
cada registro. No nosso caso a chave da “Tabela
Clientes” é o “Código do Cliente”, pois ele é único
para cada registro.
História
 A primeira versão da linguagem SQL, chamada

SEQUEL (Structured Query English
Language), surgiu em 1974 nos laboratórios da
IBM (Califórnia). Entre 1976 e 1977 ela foi
revisada e ampliada, tendo então o seu nome
alterado para SQL.
 Devido ao sucesso da nova forma de consulta e
manipulação de dados dentro de um ambiente de
banco de dados, sua utilização tornou-se cada
vez maior. Vários SGBD’s atuais utilizam o SQL
como a linguagem padrão para o acesso às
bases de dados.
Linguagem SQL
 Linguagem de definição de dados (DDL)
 Permite ao usuário a definição da estrutura e

organização dos dados armazenados, e das relações
existentes entre eles.
 Alguns sistemas de banco de dados usam o comando
ALTER, que permite ao usuário alterar um objeto, por
exemplo, adicionando uma coluna a uma tabela
existente.
 Outros comandos DDL:









CREATE DATABASE
CREATE TABLE
CREATE INDEX
CREATE VIEW
ALTER TABLE
ALTER INDEX
DROP INDEX
DROP VIEW
Linguagem SQL
 Linguagem de manipulação de dados

(DML)
 Permite a um usuário, ou a um programa de

aplicação, a execução de operações de
inclusão, remoção, seleção ou atualização de
dados previamente armazenados na base de
dados.
 Os comandos que realizam respectivamente

as funções acima referidas são:
 Insert;
 Select;
 Update;
 Delete.
função

comandos SQL

descrição do
comando

exemplo

inclusões

Insert

é usada para
inserir um registro
(formalmente uma
tupla) a uma tabela
existente

Insert into Pessoa
(id, nome, sexo)
value;

consultas

Select

O Select é o
principal comando
usado em SQL
para realizar
consultas a dados
pertencentes a
uma tabela.

Select * From
Pessoa;

alterações

Update

para mudar os
valores de dados
em uma ou mais
linhas da tabela
existente.

UPDATE Pessoa
SET
data_nascimento =
'11/09/1985'
WHERE id_pessoa
=7

exclusões

Delet

permite remover

DELETE FROM
Linguagem SQL
 DCL - Linguagem de Controle de Dados
 O DCL (Data Control Language - Linguagem de

Controle de Dados).
 DCL controla os aspectos de autorização de dados
e licenças de usuários para controlar quem tem
acesso para ver ou manipular dados dentro do
banco de dados.
 Duas palavras-chaves da DCL:
 GRANT - autoriza ao usuário executar ou setar operações.
 REVOKE - remove ou restringe a capacidade de um

usuário de executar operações.
Linguagem SQL
 DTL - Linguagem de Transação de Dados
 BEGIN WORK (ou START

TRANSACTION, dependendo do dialeto SQL) pode ser
usado para marcar o começo de uma transação de
banco de dados que pode ser completada ou não.
 COMMIT finaliza uma transação dentro de um sistema
de gerenciamento de banco de dados.
 ROLLBACK faz com que as mudanças nos dados
existentes desde o último COMMIT ou ROLLBACK
sejam descartadas.
 DQL - Linguagem de Consulta de Dados
 Embora tenha apenas um comando, a DQL é a parte da

SQL mais utilizada. O comando SELECT permite ao
usuário especificar uma consulta ("query") como uma
descrição do resultado desejado
Vantagens e Desvantagens da
Linguagem SQL
 Vantagens:
 Independência de fabricante
 Portabilidade entre plataformas de hardware e

software
 Redução dos custos com treinamento
 Usa inglês estruturado de alto nível
 Permite consultas interativas
 Múltiplas visões dos dados
 Definição dinâmica dos dados
Vantagens e Desvantagens da
Linguagem SQL
 Desvantagens:
 Falta de ortogonalidade nas expressões, funções

embutidas, variáveis indicadoras, referência a
dados correntes, constante NULL, conjuntos
vazios, e etc;
 Definição formal da linguagem após sua criação;
 Discordância com as linguagens hospedeiras
(geralmente procedurais e orientadas para registros
e não para conjuntos);
 Falta de algumas funções;
 Não dá suporte a alguns aspectos do modelo
relacional (join explícito, domínios, e etc.)
Críticas (segundo C.J. Date)
jorgeavila11.wordpress.com
Gostou ?
Compartilha...

Mais conteúdo relacionado

Mais procurados

Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
Roberto Grande
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultas
julianaveregue
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dados
elliando dias
 
Aula de Reforço Access
Aula de Reforço Access Aula de Reforço Access
Aula de Reforço Access
Daniel da Silva
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
Nadia Habu
 
Manual microsoft-access-2007
Manual microsoft-access-2007Manual microsoft-access-2007
Manual microsoft-access-2007
Klever Pereira
 

Mais procurados (20)

TOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQLTOTVS LINHA RM TREINAMENTO SQL
TOTVS LINHA RM TREINAMENTO SQL
 
Sql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentosSql com sql server básico - Bóson treinamentos
Sql com sql server básico - Bóson treinamentos
 
Normalização - Banco de Dados
Normalização - Banco de DadosNormalização - Banco de Dados
Normalização - Banco de Dados
 
Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)Linguagem SQL (com MySQL)
Linguagem SQL (com MySQL)
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Apostila modelagem de banco de dados
Apostila modelagem de banco de dadosApostila modelagem de banco de dados
Apostila modelagem de banco de dados
 
Junções e subconsultas
Junções e subconsultasJunções e subconsultas
Junções e subconsultas
 
Normalização de Banco de Dados
Normalização de Banco de DadosNormalização de Banco de Dados
Normalização de Banco de Dados
 
Aula de Reforço Access
Aula de Reforço Access Aula de Reforço Access
Aula de Reforço Access
 
Sql - introdução
Sql -  introduçãoSql -  introdução
Sql - introdução
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Microsoft Access
Microsoft AccessMicrosoft Access
Microsoft Access
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
A Estrutura da Linguagem SQL
A Estrutura da Linguagem SQLA Estrutura da Linguagem SQL
A Estrutura da Linguagem SQL
 
Normalização básica
Normalização básicaNormalização básica
Normalização básica
 
Manual microsoft-access-2007
Manual microsoft-access-2007Manual microsoft-access-2007
Manual microsoft-access-2007
 
Aula5 normalização
Aula5   normalizaçãoAula5   normalização
Aula5 normalização
 
[Certificacao ] normalizacao de dados e as formas normais
[Certificacao ]  normalizacao de dados e as formas normais[Certificacao ]  normalizacao de dados e as formas normais
[Certificacao ] normalizacao de dados e as formas normais
 
Tipos de dados em MySQL
Tipos de dados em MySQLTipos de dados em MySQL
Tipos de dados em MySQL
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 

Destaque

Banco de Dados MySQL
Banco de Dados MySQLBanco de Dados MySQL
Banco de Dados MySQL
Marcus Couto
 

Destaque (20)

Aula 5 banco de dados
Aula 5   banco de dadosAula 5   banco de dados
Aula 5 banco de dados
 
Aula 2 banco de dados
Aula 2   banco de dadosAula 2   banco de dados
Aula 2 banco de dados
 
Aula 3 banco de dados
Aula 3   banco de dadosAula 3   banco de dados
Aula 3 banco de dados
 
Aula 7 banco de dados
Aula 7   banco de dadosAula 7   banco de dados
Aula 7 banco de dados
 
Aula 6 banco de dados
Aula 6   banco de dadosAula 6   banco de dados
Aula 6 banco de dados
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Aula03
Aula03Aula03
Aula03
 
Aula 1
Aula 1Aula 1
Aula 1
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico
 
Mineração de dados
Mineração de dadosMineração de dados
Mineração de dados
 
Aula 08 meios de comunicação de dados
Aula 08 meios de comunicação de dadosAula 08 meios de comunicação de dados
Aula 08 meios de comunicação de dados
 
Aplicativos II - MySQL_part1
Aplicativos II - MySQL_part1Aplicativos II - MySQL_part1
Aplicativos II - MySQL_part1
 
MySQL - Workshop Buscapé
MySQL - Workshop BuscapéMySQL - Workshop Buscapé
MySQL - Workshop Buscapé
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
Banco de Dados MySQL
Banco de Dados MySQLBanco de Dados MySQL
Banco de Dados MySQL
 
Comandos DDL para o MySQL
Comandos DDL para o MySQLComandos DDL para o MySQL
Comandos DDL para o MySQL
 
Aula 05 instalação de hardware
Aula 05 instalação de hardwareAula 05 instalação de hardware
Aula 05 instalação de hardware
 
Analise matematica-2003
Analise matematica-2003Analise matematica-2003
Analise matematica-2003
 
Aula 03 instalação de hardware
Aula 03 instalação de hardwareAula 03 instalação de hardware
Aula 03 instalação de hardware
 

Semelhante a Aula 10 banco de dados

364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
QuitriaSilva550
 
Banco dados lj
Banco dados ljBanco dados lj
Banco dados lj
Carol Luz
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darin
Ticianne Darin
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
Ed W. Jr
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
José Henrique Sento Sé
 

Semelhante a Aula 10 banco de dados (20)

Sql
SqlSql
Sql
 
Apostila de sql
Apostila de sqlApostila de sql
Apostila de sql
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Fundamentos de SQL - Parte 5 de 8
Fundamentos de SQL - Parte 5 de 8Fundamentos de SQL - Parte 5 de 8
Fundamentos de SQL - Parte 5 de 8
 
Banco de Dados.pptx
Banco de Dados.pptxBanco de Dados.pptx
Banco de Dados.pptx
 
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
364722271-Modulo-III-Linguagem-SQL-Versao-Final.pdf
 
Introdução ao BD Postgre
Introdução ao BD PostgreIntrodução ao BD Postgre
Introdução ao BD Postgre
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
Banco dados lj
Banco dados ljBanco dados lj
Banco dados lj
 
Apostila ib
Apostila ibApostila ib
Apostila ib
 
Banco de dados oracle
Banco de dados oracleBanco de dados oracle
Banco de dados oracle
 
SQL Iniciantes: Tutorial Básico para você!
SQL Iniciantes: Tutorial Básico para você!SQL Iniciantes: Tutorial Básico para você!
SQL Iniciantes: Tutorial Básico para você!
 
Bdm aula 9 - operações sql - ticianne darin
Bdm   aula 9 - operações sql - ticianne darinBdm   aula 9 - operações sql - ticianne darin
Bdm aula 9 - operações sql - ticianne darin
 
Primeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptxPrimeira Aula BANCO DE DADOS II_2024.pptx
Primeira Aula BANCO DE DADOS II_2024.pptx
 
Banco de dados aula 4
Banco de dados aula 4Banco de dados aula 4
Banco de dados aula 4
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server37 consultando tabelas_com_sql_no_sql_server
37 consultando tabelas_com_sql_no_sql_server
 
Aula1
Aula1Aula1
Aula1
 
Xml pucminas2013
Xml pucminas2013Xml pucminas2013
Xml pucminas2013
 
Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8Fundamentos de SQL - Parte 6 de 8
Fundamentos de SQL - Parte 6 de 8
 

Mais de Jorge Ávila Miranda

Aula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de Computadores
Jorge Ávila Miranda
 

Mais de Jorge Ávila Miranda (20)

Aula16 - Jquery
Aula16 - JqueryAula16 - Jquery
Aula16 - Jquery
 
Aula15 - Array PHP
Aula15 - Array PHPAula15 - Array PHP
Aula15 - Array PHP
 
Aula13 - Estrutura de repetição (for e while) - PHP
Aula13 - Estrutura de repetição (for e while) - PHPAula13 - Estrutura de repetição (for e while) - PHP
Aula13 - Estrutura de repetição (for e while) - PHP
 
Aula14 - Funções em PHP
Aula14 - Funções em PHPAula14 - Funções em PHP
Aula14 - Funções em PHP
 
Aula Herança
Aula HerançaAula Herança
Aula Herança
 
Aula05 - Poojava
Aula05 - PoojavaAula05 - Poojava
Aula05 - Poojava
 
Aula12- PHP
Aula12- PHPAula12- PHP
Aula12- PHP
 
Aula11 - PHP
Aula11 - PHPAula11 - PHP
Aula11 - PHP
 
Aula10 -PHP
Aula10 -PHPAula10 -PHP
Aula10 -PHP
 
Aula09 - Java Script
Aula09 - Java ScriptAula09 - Java Script
Aula09 - Java Script
 
Aula08 - Java Script
Aula08 - Java ScriptAula08 - Java Script
Aula08 - Java Script
 
Aula07 - JavaScript
Aula07 - JavaScriptAula07 - JavaScript
Aula07 - JavaScript
 
Aula04-POOJAVA
Aula04-POOJAVAAula04-POOJAVA
Aula04-POOJAVA
 
Aula06 - JavaScript
Aula06 - JavaScriptAula06 - JavaScript
Aula06 - JavaScript
 
Aula05-JavaScript
Aula05-JavaScriptAula05-JavaScript
Aula05-JavaScript
 
Aula04-JavaScript
Aula04-JavaScriptAula04-JavaScript
Aula04-JavaScript
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Aula01-JavaScript
Aula01-JavaScriptAula01-JavaScript
Aula01-JavaScript
 
Aula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de Computadores
 

Aula 10 banco de dados

  • 2. Antes de mais nada  Normalização:  Primeira Forma Normal:  Uma tabela está na 1FN, se e somente se, não possuir atributos multivalorados.  Uma relação está na 1FN quando todos os atributos da relação estiverem baseados em um domínio simples, não contendo grupos ou valores repetidos  Exemplo  Projetos(codp, tipo, descrição, code, nome, categ, salário, d ata_início, tempo_aloc)  Outra forma de identificar se a tabela não está na 1FN é verificando se existe tabela aninhadas, ou seja, mais de um registro para uma chave primária
  • 3. Antes de mais nada  Normalização:  Segunda Forma Normal  Uma relação está na 2FN se, e somente se, estiver na 1FN e cada atributo não-chave for dependente da chave primária inteira, isto é, cada atributo não-chave não poderá ser dependente de apenas parte da chave.  No caso de tabelas com chave primária composta, se um atributo depende apenas de uma parte da chave primária, então esse atributo deve ser colocado em outra tabela.  Exemplo:  Projetos(codp, tipo, descrição)  Empregados(code, nome, categ, salário)  ProjEmp(codp, code, data_início, tempo_aloc)
  • 4. Antes de mais nada  Normalização:  Terceira Forma Normal  Uma relação R está na 3FN, se estiver na 2FN e cada atributo não-chave de R não possuir dependência transitiva, para cada chave candidata de R.  Projetos(codp, tipo, descrição)  Empregados(code, nome, categ)  Categorias(categ, salário)  ProjEmp(codp, code, data_início, tempo_aloc)
  • 5. BANCOS DE DADOS RELACIONAIS  Os Bancos de Dados Relacionais foram desenvolvidos para facilitar o acesso aos dados. Pois enquanto em um banco de dados hierárquico os usuários precisam definir as questões de maneira mais específica, iniciando pela raiz, nos Bancos de Dados Relacionais os usuários podem fazer perguntas relacionadas através de vários pontos.  A arquitetura de um banco de dados relacional pode ser descrita usando os termos tabela, linha e coluna. Veja um exemplo;
  • 6. BANCOS DE DADOS RELACIONAIS  Temos a “Tabela Clientes” que contém duas colunas que são o “Código do Cliente” e o “Nome”, Cada linha é formada por uma lista ordenada de colunas representando um registro.  Então um registro é uma instância de uma tabela, ou entidade. Uma entidade é uma representação de um conjunto de informações sobre determinado conceito do sistema. Toda entidade possui atributos, que são as informações que referenciam a entidade.
  • 7. BANCOS DE DADOS RELACIONAIS  Se houverem informações a serem armazenadas, você tem uma entidade. Exemplificando: Eu desejo armazenar os seguintes dados do livro:  Título, Autor, Editora, Ano, Edição e Volume. Temos então a entidade Livro.  No exemplo acima “Antônio Silva” é uma instância (registro) da “Tabela Clientes”. As colunas de uma tabela são também chamadas de atributos. Então a coluna “Nome” é um atributo da “Tabela Clientes”.
  • 8. BANCOS DE DADOS RELACIONAIS  As tabelas relacionam-se umas as outras através de chaves. Uma chave é um conjunto de um ou mais atributos que determinam a unicidade de cada registro. No nosso caso a chave da “Tabela Clientes” é o “Código do Cliente”, pois ele é único para cada registro.
  • 9. História  A primeira versão da linguagem SQL, chamada SEQUEL (Structured Query English Language), surgiu em 1974 nos laboratórios da IBM (Califórnia). Entre 1976 e 1977 ela foi revisada e ampliada, tendo então o seu nome alterado para SQL.  Devido ao sucesso da nova forma de consulta e manipulação de dados dentro de um ambiente de banco de dados, sua utilização tornou-se cada vez maior. Vários SGBD’s atuais utilizam o SQL como a linguagem padrão para o acesso às bases de dados.
  • 10. Linguagem SQL  Linguagem de definição de dados (DDL)  Permite ao usuário a definição da estrutura e organização dos dados armazenados, e das relações existentes entre eles.  Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usuário alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente.  Outros comandos DDL:         CREATE DATABASE CREATE TABLE CREATE INDEX CREATE VIEW ALTER TABLE ALTER INDEX DROP INDEX DROP VIEW
  • 11. Linguagem SQL  Linguagem de manipulação de dados (DML)  Permite a um usuário, ou a um programa de aplicação, a execução de operações de inclusão, remoção, seleção ou atualização de dados previamente armazenados na base de dados.  Os comandos que realizam respectivamente as funções acima referidas são:  Insert;  Select;  Update;  Delete.
  • 12. função comandos SQL descrição do comando exemplo inclusões Insert é usada para inserir um registro (formalmente uma tupla) a uma tabela existente Insert into Pessoa (id, nome, sexo) value; consultas Select O Select é o principal comando usado em SQL para realizar consultas a dados pertencentes a uma tabela. Select * From Pessoa; alterações Update para mudar os valores de dados em uma ou mais linhas da tabela existente. UPDATE Pessoa SET data_nascimento = '11/09/1985' WHERE id_pessoa =7 exclusões Delet permite remover DELETE FROM
  • 13. Linguagem SQL  DCL - Linguagem de Controle de Dados  O DCL (Data Control Language - Linguagem de Controle de Dados).  DCL controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados.  Duas palavras-chaves da DCL:  GRANT - autoriza ao usuário executar ou setar operações.  REVOKE - remove ou restringe a capacidade de um usuário de executar operações.
  • 14. Linguagem SQL  DTL - Linguagem de Transação de Dados  BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL) pode ser usado para marcar o começo de uma transação de banco de dados que pode ser completada ou não.  COMMIT finaliza uma transação dentro de um sistema de gerenciamento de banco de dados.  ROLLBACK faz com que as mudanças nos dados existentes desde o último COMMIT ou ROLLBACK sejam descartadas.  DQL - Linguagem de Consulta de Dados  Embora tenha apenas um comando, a DQL é a parte da SQL mais utilizada. O comando SELECT permite ao usuário especificar uma consulta ("query") como uma descrição do resultado desejado
  • 15. Vantagens e Desvantagens da Linguagem SQL  Vantagens:  Independência de fabricante  Portabilidade entre plataformas de hardware e software  Redução dos custos com treinamento  Usa inglês estruturado de alto nível  Permite consultas interativas  Múltiplas visões dos dados  Definição dinâmica dos dados
  • 16. Vantagens e Desvantagens da Linguagem SQL  Desvantagens:  Falta de ortogonalidade nas expressões, funções embutidas, variáveis indicadoras, referência a dados correntes, constante NULL, conjuntos vazios, e etc;  Definição formal da linguagem após sua criação;  Discordância com as linguagens hospedeiras (geralmente procedurais e orientadas para registros e não para conjuntos);  Falta de algumas funções;  Não dá suporte a alguns aspectos do modelo relacional (join explícito, domínios, e etc.) Críticas (segundo C.J. Date)