Baixe o app para aproveitar ainda mais
Prévia do material em texto
Structured Query Language (SQL) Linguagens de SGBD � SEQUEL, criado pela IBM. � ISO e ANSI cria em 1986 a primeira versão do padrão da linguagem SQL, o SQL-86. 2 � Surge em 1992 o padrão SQL-92 ou SQL2. � No ano 2000 surge o padrão SQL-99 ou SQL3. � Da revisão do SQL3 surge o SQL:2003 que trouxe novas funcionalidades ligadas ao tratamento do XML. Linguagens de SGBD � Nos módulos IX e X estudaremos: 3 �Linguagem de Definição de Dados (DDL). �Linguagem de Manipulação de Dados (DML). Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Criando tabelas: 4 �Criando tabelas: CREATE CREATE CREATE CREATE TABLE TABLE TABLE TABLE NOME_TABELA (COL1 TIPO_COLUNA(tamanho),NOME_TABELA (COL1 TIPO_COLUNA(tamanho),NOME_TABELA (COL1 TIPO_COLUNA(tamanho),NOME_TABELA (COL1 TIPO_COLUNA(tamanho), COL2 TIPO_COLUNA(tamanho));COL2 TIPO_COLUNA(tamanho));COL2 TIPO_COLUNA(tamanho));COL2 TIPO_COLUNA(tamanho)); Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Como criar uma tabela ALUNO? 5 �Como criar uma tabela ALUNO? Linguagem de Definição de Dados (DDL) � Criando a tabela ALUNO: 6 CREATE TABLE CREATE TABLE CREATE TABLE CREATE TABLE ALUNO (MATRICULA ALUNO (MATRICULA ALUNO (MATRICULA ALUNO (MATRICULA VARCHAR(11VARCHAR(11VARCHAR(11VARCHAR(11) ) ) ) ,,,, CPF VARCHAR(11CPF VARCHAR(11CPF VARCHAR(11CPF VARCHAR(11) ) ) ) ,,,, NOME VARCHAR(30NOME VARCHAR(30NOME VARCHAR(30NOME VARCHAR(30) ) ) ) ,,,, SEXO SEXO SEXO SEXO VARCHAR(1),VARCHAR(1),VARCHAR(1),VARCHAR(1), COD_CURSO VARCHAR(5);COD_CURSO VARCHAR(5);COD_CURSO VARCHAR(5);COD_CURSO VARCHAR(5); � Assim, criamos a tabela ALUNO com as colunas: MATRÍCULA,CPF,NOME, SEXO e COD_CURSO. Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Mas como definir as restrições de integridade? 7 �Mas como definir as restrições de integridade? Linguagem de Definição de Dados (DDL) � Mas o que são mesmo as restrições de integridade??? � Quais as principais restrições de integridade??? 8 Quais as principais restrições de integridade??? Restrições de Integridade • Conjunto de requisitos visando a consistência dos dados e que é mantida pelo SGBD. • Principais Restrições de Integridade: a) Integridade de Domínio; 9 b) Integridade deVazio; c) Integridade de Chave; d) Integridade Referencial; e) Integridade de Unicidade; Linguagem de Definição de Dados (DDL) �Definição das restrições de integridade: PRIMARY KEY Restrição de chave 10 FOREIGN KEY Restrição Referencial UNIQUE Restrição de Unicidade CHECK Restrição de Domínio NOT NULL Restrição de Vazio Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Definição das restrições de integridade: 11 �Definição das restrições de integridade: CREATE CREATE CREATE CREATE TABLE TABLE TABLE TABLE ALUNO (MATRICULA VARCHAR(11ALUNO (MATRICULA VARCHAR(11ALUNO (MATRICULA VARCHAR(11ALUNO (MATRICULA VARCHAR(11) ) ) ) NOT NULLNOT NULLNOT NULLNOT NULL,,,, CPF VARCHAR(11) CPF VARCHAR(11) CPF VARCHAR(11) CPF VARCHAR(11) NOT NULL UNIQUENOT NULL UNIQUENOT NULL UNIQUENOT NULL UNIQUE,,,, NOME VARCHAR(30) NOME VARCHAR(30) NOME VARCHAR(30) NOME VARCHAR(30) NOT NULLNOT NULLNOT NULLNOT NULL,,,, SEXO VARCHAR(1) SEXO VARCHAR(1) SEXO VARCHAR(1) SEXO VARCHAR(1) CHECKCHECKCHECKCHECK (SEXO IN(‘F’,’M’)), (SEXO IN(‘F’,’M’)), (SEXO IN(‘F’,’M’)), (SEXO IN(‘F’,’M’)), COD_CURSO VARCHAR(5),COD_CURSO VARCHAR(5),COD_CURSO VARCHAR(5),COD_CURSO VARCHAR(5), PRIMARY PRIMARY PRIMARY PRIMARY KEY KEY KEY KEY (MATRICULA),(MATRICULA),(MATRICULA),(MATRICULA), FOREIGN KEY FOREIGN KEY FOREIGN KEY FOREIGN KEY (COD_CURSO),(COD_CURSO),(COD_CURSO),(COD_CURSO), REFERENCES CURSO REFERENCES CURSO REFERENCES CURSO REFERENCES CURSO (COD_CURSO));(COD_CURSO));(COD_CURSO));(COD_CURSO)); Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Podemos também atribuir nomes às restrições de 12 �Podemos também atribuir nomes às restrições de integridade! CREATE TABLE ALUNO (MATRICULA VARCHAR(11) NOT NULL, CONSTRAINT CONSTRAINT CONSTRAINT CONSTRAINT PK_ALUNO PK_ALUNO PK_ALUNO PK_ALUNO PRIMARY KEYPRIMARY KEYPRIMARY KEYPRIMARY KEY CPF VARCHAR(11) NOT NULL UNIQUE, NOME VARCHAR(30) NOT NULL, SEXO VARCHAR(1) CHECK (SEXO IN(‘F’,’M’)), COD_CURSO VARCHAR(5), CONSTRAINT FK_CURSO FOREIGN KEY REFERENCES CONSTRAINT FK_CURSO FOREIGN KEY REFERENCES CONSTRAINT FK_CURSO FOREIGN KEY REFERENCES CONSTRAINT FK_CURSO FOREIGN KEY REFERENCES CURSO(COD_CURSO)CURSO(COD_CURSO)CURSO(COD_CURSO)CURSO(COD_CURSO);;;; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 13 �Alterando tabelas: Alterar uma tabela consiste em: a) Incluir novas colunas; b) Excluir colunas; c) Adicionar ou Excluir uma restrição; d) Redefinir uma coluna. Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 14 �Alterando tabelas: Incluindo novas colunas: ALTER ALTER ALTER ALTER TABLETABLETABLETABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA ADD ADD ADD ADD COLUMNCOLUMNCOLUMNCOLUMN NOME_COLUNA TIPO(TAMANHO)NOME_COLUNA TIPO(TAMANHO)NOME_COLUNA TIPO(TAMANHO)NOME_COLUNA TIPO(TAMANHO); Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 15 �Alterando tabelas: Como incluir a coluna “TELEFONE” na tabela ALUNO? Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 16 �Alterando tabelas: Incluindo a coluna “TELEFONE” na tabela ALUNO! ALTER TABLE ALTER TABLE ALTER TABLE ALTER TABLE ALUNO ALUNO ALUNO ALUNO ADD COLUMN ADD COLUMN ADD COLUMN ADD COLUMN TELEFONE VARCHAR(8) NOT TELEFONE VARCHAR(8) NOT TELEFONE VARCHAR(8) NOT TELEFONE VARCHAR(8) NOT NULL;NULL;NULL;NULL; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 17 �Alterando tabelas: Excluindo uma coluna: ALTER ALTER ALTER ALTER TABLE TABLE TABLE TABLE NOME_TABELA NOME_TABELA NOME_TABELA NOME_TABELA DROP DROP DROP DROP COLUMN COLUMN COLUMN COLUMN NOME_COLUNANOME_COLUNANOME_COLUNANOME_COLUNA; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 18 �Alterando tabelas: Excluindo a coluna “TELEFONE”da tabela ALUNO: ALTER ALTER ALTER ALTER TABLE TABLE TABLE TABLE ALUNO ALUNO ALUNO ALUNO DROP DROP DROP DROP COLUMN COLUMN COLUMN COLUMN TELEFONETELEFONETELEFONETELEFONE; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 19 �Alterando tabelas: Adicionando uma restrição: ALTER ALTER ALTER ALTER TABLE TABLE TABLE TABLE NOME_TABELA NOME_TABELA NOME_TABELA NOME_TABELA ADD ADD ADD ADD CONSTRAINT CONSTRAINT CONSTRAINT CONSTRAINT NOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃO CHECK CHECK CHECK CHECK RESTRIÇÃORESTRIÇÃORESTRIÇÃORESTRIÇÃO; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 20 �Alterando tabelas: Adicionando uma restrição na tabela ALUNO: ALTER TABLE ALTERTABLE ALTER TABLE ALTER TABLE ALUNO ALUNO ALUNO ALUNO ADD CONSTRAINT ADD CONSTRAINT ADD CONSTRAINT ADD CONSTRAINT TIPO_TELTIPO_TELTIPO_TELTIPO_TEL CHECKCHECKCHECKCHECK (TIPO_TELEFONE (TIPO_TELEFONE (TIPO_TELEFONE (TIPO_TELEFONE IN(‘Fixo’, ‘Movel’));IN(‘Fixo’, ‘Movel’));IN(‘Fixo’, ‘Movel’));IN(‘Fixo’, ‘Movel’)); Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 21 �Alterando tabelas: Excluindo uma restrição: ALTER TABLEALTER TABLEALTER TABLEALTER TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA DROP CONSTRAINTDROP CONSTRAINTDROP CONSTRAINTDROP CONSTRAINT NOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃONOME_RESTRIÇÃO; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 22 �Alterando tabelas: Excluindo uma restrição na tabela ALUNO: ALTER TABLEALTER TABLEALTER TABLEALTER TABLE ALUNOALUNOALUNOALUNO DROP CONSTRAINTDROP CONSTRAINTDROP CONSTRAINTDROP CONSTRAINT TIPO_TELTIPO_TELTIPO_TELTIPO_TEL; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 23 �Alterando tabelas: Redefinindo uma coluna: ALTER TABLE ALTER TABLE ALTER TABLE ALTER TABLE NOME_TABELA NOME_TABELA NOME_TABELA NOME_TABELA MODIFYMODIFYMODIFYMODIFY (NOME_COLUNA TIPO (NOME_COLUNA TIPO (NOME_COLUNA TIPO (NOME_COLUNA TIPO tam_originaltam_originaltam_originaltam_original((((tam_finaltam_finaltam_finaltam_final)))))))); ** para diminuir tamanho a coluna precisa estar vazia. Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Alterando tabelas: 24 �Alterando tabelas: Redefinindo uma coluna na tabela ALUNO: ALTER TABLE ALTER TABLE ALTER TABLE ALTER TABLE ALUNO ALUNO ALUNO ALUNO MODIFYMODIFYMODIFYMODIFY (NOME VARCHAR30(50))(NOME VARCHAR30(50))(NOME VARCHAR30(50))(NOME VARCHAR30(50)); ** para diminuir tamanho a coluna precisa estar vazia. Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Renomeando tabelas: 25 �Renomeando tabelas: RENAMERENAMERENAMERENAME NOME_TABELA NOME_TABELA NOME_TABELA NOME_TABELA TOTOTOTO NOVO_NOME_TABELANOVO_NOME_TABELANOVO_NOME_TABELANOVO_NOME_TABELA; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Renomeando a tabela ALUNO: 26 �Renomeando a tabela ALUNO: RENAMERENAMERENAMERENAME ALUNO ALUNO ALUNO ALUNO TOTOTOTO ESTUDANTESESTUDANTESESTUDANTESESTUDANTES; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Deletando uma tabela (deleta a estrutura): 27 �Deletando uma tabela (deleta a estrutura): DROP TABLEDROP TABLEDROP TABLEDROP TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Deletando a tabela ALUNO (deleta a estrutura): 28 �Deletando a tabela ALUNO (deleta a estrutura): DROP TABLEDROP TABLEDROP TABLEDROP TABLE ALUNOALUNOALUNOALUNO; Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Deletando uma tabela 29 �Deletando uma tabela TRUNCATE TABLETRUNCATE TABLETRUNCATE TABLETRUNCATE TABLE NOME_TABELANOME_TABELANOME_TABELANOME_TABELA; ** (deleta todos os dados, voltando ao estado inicial de criação da tabela): Linguagem de Definição de Dados (DDL) � Principais comandos DDL: �Deletando a tabela ALUNO 30 �Deletando a tabela ALUNO TRUNCATE TABLETRUNCATE TABLETRUNCATE TABLETRUNCATE TABLE ALUNOALUNOALUNOALUNO; ** (deleta todos os dados, voltando ao estado inicial de criação da tabela): Tipos de Dados 31 1- Crie a tabela Empregado(CPF,Matrícula, Nome,Sexo) especificando as respectivas restrições de integridade . 2- Altere a tabela Empregado criada na questão anterior, ExercíciosExercíciosExercíciosExercícios 32 2- Altere a tabela Empregado criada na questão anterior, adicionando e esta tabela a coluna “Telefone”. 3- Crie uma nova restrição referencial na tabela Empregado. Referências BibliográficasReferências BibliográficasReferências BibliográficasReferências Bibliográficas EMASRIEMASRIEMASRIEMASRI, , , , Ramez; NAVATHERamez; NAVATHERamez; NAVATHERamez; NAVATHE, , , , ShamkantShamkantShamkantShamkant B. Sistema de Banco de Dados. Pearson B. Sistema de Banco de Dados. Pearson B. Sistema de Banco de Dados. Pearson B. Sistema de Banco de Dados. Pearson EducationEducationEducationEducation do do do do Brasil. Brasil. Brasil. Brasil. São Paulo. 2005São Paulo. 2005São Paulo. 2005São Paulo. 2005.... SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. 3º 3º 3º 3º edição, São Paulo: Makron Books edição, São Paulo: Makron Books edição, São Paulo: Makron Books edição, São Paulo: Makron Books 1.1.1.1. 33 SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, SILBERSCHARTZ, Abraham; KORTH, Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. Henry; SUDARSHAN, S. Sistemas de Banco de Dados. 3º 3º 3º 3º edição, São Paulo: Makron Books edição, São Paulo: Makron Books edição, São Paulo: Makron Books edição, São Paulo: Makron Books 1.1.1.1.
Compartilhar