Structured Query Language (SQL)
Ambiente Simplificado de umSGBD                        2
Características dos SGBDs   Natureza auto-contida de um sistema de banco de dados:       metadados armazenados num catál...
Esquemas, Instâncias e Estado do BD   Esquema: descrição do banco de dados. É definido durante o projeto de    banco de d...
Arquitetura de Três-Esquemas                      5
Arquitetura de Três-Esquemas   Tem por objetivo separar o usuário da aplicação do    banco de dados físico.   É organiza...
Independência de Dados   Consiste da capacidade de mudar o esquema em    um nível do sistema de banco de dados sem que   ...
Linguagens de SGBD   Durante o desenvolvimento do sistema R, pesquisadores da IBM    desenvolveram a linguagem SEQUEL, pr...
Linguagens de SGBD   Linguagem de Definição de Dados (DDL):       usada para especificar o esquema conceitual.   Lingua...
Tipos de Dados                 (4 GB)                          (4 GB)                             10
Modelo Utilizado                   11
Modelo UtilizadoPessoa        (CPF, Nome, Sexo)Piloto (CPF, Cart_Trab)       CPF Referencia PessoaPassageiro(CPF, Dieta)  ...
Linguagem de Definição de Dados (DDL)   Criação de Tabelas:    CREATE   TABLE NOME_TABELA(     COL1     TIPO_COLUNA [NOT ...
Linguagem de Definição de Dados (DDL)   Na criação de tabelas, é possível especificar vários    tipos de restrições:    ...
Linguagem de Definição de Dados (DDL)CREATE TABLE Pessoa(CPF         VARCHAR(11)   NOT NULL,              Nome     VARCHAR...
Linguagem de Definição de Dados (DDL)CREATE TABLE Passageiro(CPF      VARCHAR(11)          NOT NULL               CONSTRAI...
Linguagem de Definição de Dados (DDL)    Deleção de item referenciado:... CONSTRAINT FK_PILOTO FOREIGN KEY (P_CPF)    REF...
Linguagem de Definição de Dados (DDL)   Criação de uma tabela com linhas de outra:CREATE TABLE Pessoa_NovaAS SELECT CPF, ...
Linguagem de Definição de Dados (DDL)CREATE VIEW <nome-de-visão> [ (lista-de-colunas) ]   AS <comando-de-seleção>CREATE VI...
Linguagem de Definição de Dados (DDL)   Alteração de Tabelas:       Incluir novas colunas em uma tabela;       Excluir ...
Linguagem de Definição de Dados (DDL)CREATE TABLE Reserva(V_Numero Numeric      NOT NULL,                P_CPF       VARCH...
Linguagem de Definição de Dados (DDL)ALTER TABLE Telefone      ADD COLUMN TIPO VARCHAR2(5) DEFAULT ‘FIXO’ NOT NULL;ALTER T...
Linguagem de Definição de Dados (DDL)ALTER TABLE Reserva      ADD CONSTRAINT PK_RESERVA PRIMARY KEY (V_Numero, P_CPF);ALTE...
Linguagem de Definição de Dados (DDL)   Renomear Tabela:       Não é um comando SQL:2003.        RENAME Pessoa TO Pessoa...
FIM
Próximos SlideShares
Carregando em…5
×

SQL DDL

671 visualizações

Publicada em

Slides sobre DDL - SQL
Muito util para quem quem quer aprender sql

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
671
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

SQL DDL

  1. 1. Structured Query Language (SQL)
  2. 2. Ambiente Simplificado de umSGBD 2
  3. 3. Características dos SGBDs Natureza auto-contida de um sistema de banco de dados:  metadados armazenados num catálogo ou dicionário de dados. Independência entre programas e dados:  estrutura dos arquivos de dados armazenada no catálogo separadamente dos programas de acesso. Abstração de dados:  representação conceitual dos dados através de modelos de dados. Suporte de múltiplas visões de dados:  diferentes perspectivas ou visões de usuários. Suporte a transações:  compartilhamento de dados e processamento multiusuário. 3
  4. 4. Esquemas, Instâncias e Estado do BD Esquema: descrição do banco de dados. É definido durante o projeto de banco de dados e não se espera que seja alterado freqüentemente. Estado ou Instância: composto pelos dados do banco de dados em um determinado momento. 4
  5. 5. Arquitetura de Três-Esquemas 5
  6. 6. Arquitetura de Três-Esquemas Tem por objetivo separar o usuário da aplicação do banco de dados físico. É organizada em três níveis:  Nível Interno: descreve a estrutura de armazenamento físico do banco de dados.  Nível Conceitual: descreve a estrutura de todo o banco de dados para a comunidade de usuários.  Nível Externo ou Visão: cada esquema externo descreve a parte do banco de dados que um dado grupo de usuários tem interesse e oculta o restante do banco de dados desse grupo. A maioria dos SGBDs não separa completamente os três níveis, mas suporta essa arquitetura de alguma forma. 6
  7. 7. Independência de Dados Consiste da capacidade de mudar o esquema em um nível do sistema de banco de dados sem que ocorram alterações do esquema no próximo nível mais alto. Independência lógica de dados: é a capacidade de alterar o esquema conceitual sem mudar o esquema externo ou os programas. Independência física de dados: é a capacidade de alterar o esquema interno sem mudar o esquema conceitual. 7
  8. 8. Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas Gerenciadores de Banco de Dados Relacionais. ISO e ANSI lançou em 1986 a primeira versão do padrão da linguagem SQL, o SQL-86. A linguagem passou por aperfeiçoamentos em 1989 e, em 1992, foi lançada a SQL-92 ou SQL2. Um novo padrão, chamado de SQL-99 ou SQL3 foi lançado no ano de 2000. Foi o primeiro padrão a estender a linguagem para permitir a utilização de tipos de dados complexos e a incorporar características da orientação a objetos. Após uma grande revisão do padrão SQL3 foi lançada a SQL:2003. Nesta verão foi adicionada uma nova parte ligada ao tratamento de XML. 8
  9. 9. Linguagens de SGBD Linguagem de Definição de Dados (DDL):  usada para especificar o esquema conceitual. Linguagem de Definição de Armazenamento (SDL):  usada para especificar o esquema interno, mas na maioria dos SGBDs a DDL é usada para definir este esquema. Linguagem de Definição de Visões (VDL):  usada para especificar as visões dos usuários e os seus mapeamentos para o esquema conceitual, mas na maioria dos SGBDs a DDL é usada para definir ambos os esquemas, o conceitual e o externo. Linguagem de Manipulação de Dados (DML):  usada para manipular os dados em um banco de dados. As manipulações típicas são a recuperação, inserção, remoção e modificação dos dados. 9
  10. 10. Tipos de Dados (4 GB) (4 GB) 10
  11. 11. Modelo Utilizado 11
  12. 12. Modelo UtilizadoPessoa (CPF, Nome, Sexo)Piloto (CPF, Cart_Trab) CPF Referencia PessoaPassageiro(CPF, Dieta) CPF Referencia PessoaVoo(Numero, Data, P_CPF) CPF Referencia PilotoReserva(V_Numero, P_CPF) V_Numero Referencia Voo P_CPF Referencia PassageiroTelefone(Numero, P_CPF) CPF Referencia Pessoa 12
  13. 13. Linguagem de Definição de Dados (DDL) Criação de Tabelas: CREATE TABLE NOME_TABELA( COL1 TIPO_COLUNA [NOT NULL], COL1 TIPO_COLUNA [NOT NULL], COL1 TIPO_COLUNA [NOT NULL] ) 13
  14. 14. Linguagem de Definição de Dados (DDL) Na criação de tabelas, é possível especificar vários tipos de restrições:  Chave Primária: PRIMARY KEY ;  Chave Estrangeira: FOREIGN KEY;  Chave Alternativa (ou alternada): UNIQUE;  Restrição de Domínio: CHECK. Pode-se atribuir nomes às restrições de integridade:  CONSTRAINT NOME_RESTRIÇÃO TIPO RESTRIÇÃO. 14
  15. 15. Linguagem de Definição de Dados (DDL)CREATE TABLE Pessoa(CPF VARCHAR(11) NOT NULL, Nome VARCHAR(30) NOT NULL UNIQUE, Sexo VARCHAR(1) NOT NULL, PRIMARY KEY (CPF));CREATE TABLE Piloto(CPF VARCHAR(11) NOTNULL, Cart_Trab VARCHAR(13) NOT NULL UNIQUE , PRIMARY KEY (CPF), FOREIGN KEY (CPF) REFERENCES Pessoa (CPF)); 15
  16. 16. Linguagem de Definição de Dados (DDL)CREATE TABLE Passageiro(CPF VARCHAR(11) NOT NULL CONSTRAINT PK_PASSAGEIRO PRIMARY KEY CONSTRAINT FK_PESSOA REFERENCES Pessoa (CPF), Dieta VARCHAR(1) CHECK (Dieta IN(‘S’, ‘N’)));CREATE TABLE Voo(Numero Numeric NOT NULL CONSTRAINT PK_VOO PRIMARY KEY, Data Date NOT NULL, TIPO VARCHAR2(15) DEFAULT ‘NACIONAL’, P_CPF VARCHAR(11) NOT NULL CONSTRAINT FK_PILOTO REFERENCES Piloto (CPF)); 16
  17. 17. Linguagem de Definição de Dados (DDL) Deleção de item referenciado:... CONSTRAINT FK_PILOTO FOREIGN KEY (P_CPF) REFERENCES Piloto (CPF) ON DELETE RESTRICT ); -- impede a exclusão (default)... CONSTRAINT FK_PILOTO FOREIGN KEY (P_CPF) REFERENCES Piloto (CPF) ON DELETE SET NULL); -- transforma o valor em nulo... CONSTRAINT FK_PILOTO FOREIGN KEY (P_CPF) REFERENCES Piloto (CPF) ON DELETE CASCADE ); -- exclui a linha da tabela 17
  18. 18. Linguagem de Definição de Dados (DDL) Criação de uma tabela com linhas de outra:CREATE TABLE Pessoa_NovaAS SELECT CPF, Nome, SexoFROM Pessoa; 18
  19. 19. Linguagem de Definição de Dados (DDL)CREATE VIEW <nome-de-visão> [ (lista-de-colunas) ] AS <comando-de-seleção>CREATE VIEW Empregados_Sede AS SELECT (Nome, Endereco, Sexo, Data-nasc) FROM EMPREGADO 19
  20. 20. Linguagem de Definição de Dados (DDL) Alteração de Tabelas:  Incluir novas colunas em uma tabela;  Excluir colunas existentes em uma tabela;  Adicionar a definição de uma restrição em uma tabela;  Excluir a definição de uma restrição existente em uma tabela;  Modificar uma coluna. 20
  21. 21. Linguagem de Definição de Dados (DDL)CREATE TABLE Reserva(V_Numero Numeric NOT NULL, P_CPF VARCHAR(11) NOT NULL);CREATE TABLE Telefone(Numero VARCHAR(15) NOT NULL, P_CPF VARCHAR(11) NOT NULL, PRIMARY KEY (Numero, P_CPF), FOREIGN KEY (P_CPF) REFERENCES Pessoa(CPF)); 21
  22. 22. Linguagem de Definição de Dados (DDL)ALTER TABLE Telefone ADD COLUMN TIPO VARCHAR2(5) DEFAULT ‘FIXO’ NOT NULL;ALTER TABLE Telefone DROP COLUMN Tipo;ALTER TABLE TELEFONE ADD CONSTRAINT TIPO_TELEFONE CHECK (TIPO IN(‘Fixo’, ‘Movel’));ALTER TABLE TELEFONE DROP CONSTRAINT TIPO_TELEFONE;ALTER TABLE TELEFONE MODIFY (TIPO VARCHAR2(5));-- para diminuir tamanho a coluna precisa estar vazia. 22
  23. 23. Linguagem de Definição de Dados (DDL)ALTER TABLE Reserva ADD CONSTRAINT PK_RESERVA PRIMARY KEY (V_Numero, P_CPF);ALTER TABLE Reserva ADD CONSTRAINT FK_RESERVA_VOO FOREIGN KEY (V_Numero) REFERENCES Voo (Numero);ALTER TABLE Reserva ADD CONSTRAINT FK_RESERVA_PASSAGEIRO FOREIGN KEY (P_CPF) REFERENCES Passageiro (CPF);ALTER TABLE Reserva ENABLE CONSTRAINTFK_RESERVA_PASSAGEIRO;ALTER TABLE Reserva DISABLE CONSTRAINTFK_RESERVA_PASSAGEIRO; 23
  24. 24. Linguagem de Definição de Dados (DDL) Renomear Tabela:  Não é um comando SQL:2003. RENAME Pessoa TO Pessoa_Nova; -- Oracle RENAME TABLE Pessoa TO Pessoa_Nova; Deletar Tabela (estrutura): DROP TABLE Pessoa; 24
  25. 25. FIM

×