Query Language Aula 22/08 DDL - Data Definition Language Aula 29/08 DML – Data Manipulation Languague Aula 05/09 Prática no laboratório DML (HAVING com GROUP BY) e LIMIT Aula 12/09 Trabalho Avaliativo
Estruturada ou Structured Query Language (SQL) é uma linguagem desenvolvida para “conversarmos” com o Banco de Dados. • Com ela podemos: • Criar e modificar Bancos de Dados; • Criar e modificar Tabelas; • Criar e modificar Permissões de acesso; • Criar e modificar Registros de Dados; • Gerenciar Transações; 3 SQL- Structured Query Language Relembrando a aulas anteriores
Query Language Korth, Silberschatz e Sudarshan (2020) descrevem que, na modelagem física, é utilizada a linguagem Structured Query Language ou Linguagem de Consulta Estruturada (SQL), que tem como principal objetivo a manipulação dos bancos de dados relacionais e é utilizada para interagir com o usuário e com o SGBD, permitindo inserir, consultar, gerenciar, controlar transações, entre outras opções. SQL- Structured Query Language Relembrando a aulas anteriores
Data Definition Language ou Linguagem de Definição de Dados: • Define os comandos utilizados para criação, manutenção e exclusão das Tabelas e outras estruturas, como Índices e Views; • Definição da estrutura das tabelas • CREATE: Cria uma Tabela; • ALTER: Altera a Tabela; • DROP: Exclui a Tabela; DDL- Data Definition Language Relembrando a aulas anteriores
Data Definition Language • CREATE TABLE <nome> (<colunas>)[<opções>]; • ALTER TABLE <tabela> add column nome_coluna tipo; • DROP TABLE <tabela>; • Exemplo: CREATE TABLE EMPREGADO ( ID SERIAL NOT NULL, NOME VARCHAR(50) NOT NULL, SALARIO NUMERIC(12,2) DEFAULT 0, PRIMARY KEY (ID)); DDL - Data Definition Language Relembrando a aulas anteriores
- Data Manipulation Language – Manipulação dos registros das tabelas – Segundo Silberschatz, Korth e Sudarshan , a DML é uma sublinguagem ou parte de uma linguagem usada em sistemas de gerenciamento de banco de dados (SGBD) para manipular dados armazenados. – Ela não é uma linguagem independente, mas sim um componente de uma linguagem mais ampla, como o SQL (Structured Query Language). DML - Data Manipulation Language
- Data Manipulation Language –No contexto do SQL (Structured Query Language), a DML inclui comandos como INSERT, SELECT, UPDATE e DELETE, que são amplamente utilizados para manipular dados em bancos de dados relacionais DML - Data Manipulation Language
Fundo • É usado para adicionar novos registros a uma tabela existente em um banco de dados relacional; • Sintaxe básica: INSERT INTO nome_tabela (nome_coluna1, nome_coluna2, ...) VALUES (valor1, valor2,...); INSERT INTO table_name (column1, column2, …) VALUES (value1, value2, …); • Atente-se ao detalhe de que os novos registros devem ser inseridos na mesma ordem definida para as colunas. DML - INSERT
exemplo: INSERT INTO EMPREGADO (NOME,SALARIO) VALUES (‘JOAO’, 750.00), (‘JOSE’, 3000.00); Vamos examinar a instrução INSERT INTO com mais detalhes: Começa pela instrução INSERT INTO seguida do nome da Tabela, EMPREGADO juntamente com os nomes das colunas entre parênteses. Sobre as colunas: • Podem vir em qualquer ordem; • Somente as colunas NOT NULL são obrigatórias; Nas duas ultimas temos os novos registros que serão inseridos. DML - INSERT
Data Query Language ou Linguagem de Consulta de Dados: • Define o comando utilizado para a realização das consultas dos dados; SELECT: Consulta os dados em uma Tabela; A declaração SELECT é usada para selecionar dados. Os dados retornados são armazenados em uma Tabela de resultados, chamada result-set ou Conjunto de Dados DML- SELECT
todas as linhas e colunas de uma tabela (sem condição) Exemplo: SELECT * FROM EMPREGADO; Resultado: SELECT: Declaração de consulta dos dados; *: Define que serão selecionadas todas as Colunas da Tabela; FROM: Define qual a Tabela que será usada na seleção dos dados; DML - SELECT
de todas as linhas e colunas de uma tabela dentro da condição Exemplo: SELECT * FROM EMPREGADO WHERE ID =2; Resultado: SELECT: Declaração de consulta dos dados; *: Define que serão selecionadas todas as Colunas da Tabela; FROM: Define qual a Tabela que será usada na seleção dos dados; WHERE: Para filtrar os dados DML - SELECT
de algumas colunas e linhas de uma tabela Exemplo: SELECT NOME, SALARIO FROM EMPREGADO WHERE SALARIO > 750.00; Resultado: SELECT: Declaração de consulta dos dados; NOME, SALARIO: Serão selecionadas; FROM: Define qual a Tabela que será usada na seleção dos dados; WHERE: condição Para filtrar os dados DML - SELECT
• Usamos a cláusula WHERE para filtrar os dados. • Para isso, usamos Operadores de Comparação e Operadores Lógicos, como veremos a seguir; Operadores de Comparação: = Igual a <> ou != Não igual a < Menor que > Maior que <= Menor ou igual a >= Maior ou igual a Sendo assim, é correto afirmar que: 1 = 1 1 <> 2 ou 1 != 2 1 < 2 2 > 1 DML - SELECT
• Usamos a cláusula WHERE para filtrar os dados. • Para isso, usamos Operadores de Comparação e Operadores Lógicos, como veremos a seguir; Operadores de Lógicos: IN Retorna 1 se o valor testado estiver na lista LIKE Retorna 1 se o valor testado coincidir com o padrão passado AND Retorna 1 se as duas expressões testadas forem 1 OR Retorna 1 se ao menos uma das expressões testadas forem 1 BETWEEN Retorna 1 se o valor testado estiver no intervalo passado DML - SELECT
usado para modificar os dados existentes em uma ou mais linhas de uma tabela. • Sintaxe básica: • UPDATE nome da tabela SET nome da(s) coluna(s) = Valor WHERE condição DML - UPDATE
o valor do salário do EMPREGADO com ID igual a “2” para 4000,00: • Antes: SELECT * FROM EMPREGADO WHERE ID =2; • UPDATE EMPREGADO SET SALARIO = ’4000.00’ WHERE ID = 2; • Resultado:SELECT * FROM EMPREGADO; DML - UPDATE
o valor do salário do EMPREGADO com ID igual a 2 para 4000,00: UPDATE EMPREGADO SET SALARIO = ’4000.00’ WHERE ID = 2; Vamos examinar a instrução UPDATE com mais detalhes: 1: Definimos através da instrução UPDATE a atualização da Tabela EMPREGADO. 2: Definimos que a coluna SALARIO receberá como novo valor, o valor 4000,00 3: Definimos através do WHERE um filtro estabelecendo que somente a linha que possuir o ID igual a (=) 2 será atualizada. DML - UPDATE
todos os dados da tabela (CUIDADO!!!) UPDATE EMPREGADO SET salario = salario * 1.5 ; ATENÇÃO! Se não usarmos a cláusula WHERE, toda a tabela EMPREGADO será atualizada. Todas as linhas receberão um novo valor. DML - UPDATE
a linha da tabela cujo ID = 1 Primeiro visualizando os registros de tabela Antes: SELECT * FROM EMPREGADO; Agora vamos apagar o registro com ID = 1 Após: DELETE FROM EMPREGADO WHERE ID = 1; Visualizando novamente a tabela sem o registro de ID = 1 Depois: SELECT * FROM EMPREGADO; DML - DELETE
a linha da tabela cujo ID = 1 DELETE FROM EMPREGADO WHERE ID = 1; Vamos examinar a instrução DELETE: 1: Definimos através da instrução DELETE a exclusão do(s) registro(s) na Tabela EMPREGADO. 2: Definimos através do WHERE um filtro estabelecendo que somente a linha que possuir o ID igual a (=) 1 será excluída. DML - DELETE
todos os dados da tabela (CUIDADO!!!) DELETE FROM EMPREGADO; ATENÇÃO! Se não usarmos a cláusula WHERE, todos os registros da tabela EMPREGADO serão excluídos. DML - DELETE
da atividade(DDL): Crie uma tabela denominada ALUNO com as seguintes colunas: - ID do tipo SERIAL – chave primária - Nome do tipo varchar(50) - Email do tipo varchar(200) - nota do tipo numeric(4,2) Atividade para fixar o conteúdo
dois da atividade(DML): 1. Faça a inserção dos dados; 2. Liste os dados de todos os alunos 3. Altere a nota João para 7,56; 4. Exclua os dados da aluna ANA; Criar um Arquivo.txt com os comandos executados e postar no moodle; ID nome email nota 1 JOÃO [email protected] 8,45 2 MARIA [email protected] 6,78 3 MANUEL [email protected] 7,98 4 JOSÉ [email protected] 5,45 5 ANA [email protected] 9,03 Atividade para fixar o conteúdo
Query Language Aula 29/08 DDL - Data Manipulation Languague Aula 05/09 Prática no laboratório DML (HAVING com GROUP BY) e LIMIT Aula 12/09 Trabalho Avaliativo Aula 19/09 Funções de Agregação
Vamos estudar mais sobre SQL – DML: 1) Outras opções de uso WHERE 2) Trabalhando com HAVING com GROUP BY 3) Utilização do LIMIT, ORDER BY 4) Funções de agregação como COUNT, SUM, AVG, MIN, MAX • Quem quiser já ir se familiarizando com o tema, o material já foi postado no moodle para leitura DML - Data Manipulation Language
R.; NAVATHE, S. B. . Sistemas de Banco de Dados. 6.ed. São Paulo: Pearson Education, 2010. KORTH, H. F .; SILBERSCHATZ, A.; SUDARSHAN, S. . Sistema de Banco de Dados. 5. ed. Rio de Janeiro: Elsevier,2006. BEIGHLEY, Lynn. Use a cabeça!: SQL. Rio de Janeiro, RJ: Alta Books, c2008. 454 p. (Use a cabeça!). ISBN 9788576082101. CARDOSO, Vírginia M. Linguagem sql: fundamentos e práticas. São Paulo: Saraiva, 2009. 1 recurso online. ISBN 9788502200463.