Bancos de Dados - Aula 13 - Linguagem de consulta – SQL Parte I

Bancos de Dados - Aula 13 - Linguagem de consulta – SQL Parte I

Introdução ao SQL

Apresentação da Aula

  • Sara apresenta a disciplina de bancos de dados na Univesp, focando na linguagem SQL.
  • SQL é uma linguagem de consulta amplamente utilizada em sistemas de gerenciamento de banco de dados (SGBDs) comerciais.
  • A compreensão prévia da álgebra relacional e do cálculo relacional facilita o aprendizado dos comandos SQL.

Estrutura e Comandos do SQL

  • A aula abordará comandos padrão do SQL, conforme especificações da ANSI e ISO.
  • Serão estudados comandos DDL (Definição de Dados) e DML (Manipulação de Dados).

Comandos DDL: Criação, Alteração e Exclusão

Comando Create

  • O comando CREATE é utilizado para criar objetos nos SGBDs, iniciando a implementação do banco de dados.

Criação de Domínios

  • O comando CREATE DOMAIN permite especificar restrições sobre os tipos de dados que podem ser inseridos em atributos.
  • Exemplo: criação do domínio ID como um tipo caracter com limite de 4 caracteres.
  • Outro exemplo: criação de um domínio inteiro com checagem para valores entre 1 e 20 usando o comando CHECK.

Criação de Tabelas

  • O comando CREATE TABLE define a estrutura das tabelas, incluindo atributos e suas restrições.

Exemplo Prático: Tabela Funcionário

  • A tabela "funcionário" é criada com atributos específicos, cada um obedecendo a tipos definidos.
  • Restrições como NOT NULL garantem que certos atributos não aceitem valores nulos.
  • Chave primária (PRIMARY KEY) é definida para o atributo idente, garantindo unicidade.

Chaves Estrangeiras

Definição e Referência

  • As chaves estrangeiras são essenciais para relacionar tabelas; no exemplo, sup_idente referencia o atributo idente.

Implementação de Chaves Estrangeiras e Alterações em Tabelas

Atributo de Número como Chave Estrangeira

  • O atributo de número, que é uma chave estrangeira na tabela "funcionário", não pode receber valor nulo, exigindo um valor previamente cadastrado na tabela "departamento".

Relacionamento entre Tabelas

  • A implementação da chave estrangeira e a restrição NOT NULL estabelecem um relacionamento do tipo participação total. É questionado se a tabela "departamento" já foi criada antes da criação da tabela "funcionário".

Resolução de Problemas com ALTER TABLE

  • Se a tabela "departamento" não estiver criada, o SGBD não conseguirá aplicar a restrição. O comando ALTER TABLE é sugerido para resolver essa questão.

Alterando Definições de Tabela

  • Após criar a tabela "departamento", é possível alterar a definição da tabela "funcionário" para incluir a restrição de chave estrangeira.

Exemplos de Comandos ALTER TABLE

  • O comando ALTER TABLE pode ser usado para modificar atributos existentes, como alterar especificações ou excluir campos. Exemplo: exclusão do campo endereço com opções 'Cascata' ou 'Restrito'.

Exclusões e Comandos DML

Exclusão com Cascata e Restrito

  • Ao usar 'Cascata', alterações se propagam para objetos dependentes; ao usar 'Restrito', o SGBD impede exclusões se houver referências.

Comando DROP

  • O comando DROP permite deletar tabelas ou objetos criados anteriormente, podendo também utilizar as opções 'Cascata' ou 'Restrito'.

Comandos DML: INSERT, UPDATE e DELETE

  • Os comandos DML são utilizados para manipulação dos dados nas tabelas: INSERT insere valores, UPDATE altera valores existentes e DELETE remove registros.

Inserção de Tuplas em Tabelas

  • O comando INSERT INTO permite inserir tuplas em uma tabela existente. É importante seguir a ordem correta dos atributos para evitar inconsistências nos dados.

Especificação Parcial na Inserção

  • É possível inserir apenas alguns atributos especificando quais valores serão preenchidos; os demais receberão valores nulos se permitidos.

Consultas e Recuperação de Dados

Inserção Baseada em Consultas

  • Valores podem ser inseridos utilizando resultados provenientes de outras consultas (SELECT), permitindo organizar dados antes da inserção final.

Atualização de Valores com UPDATE

Comandos SQL: Atualização e Exclusão de Dados

Comando UPDATE em SQL

  • O comando UPDATE permite modificar valores em uma tabela, utilizando a cláusula SET para especificar os novos valores e a cláusula WHERE para definir as condições que determinam quais tuplas serão alteradas.
  • Exemplo prático: ao alterar a tabela projeto, o atributo localização é atualizado para "Minas Gerais" apenas nas tuplas onde o número do projeto é igual a 1.

Alteração de Salário

  • A alteração de dados pode incluir operações matemáticas, como aumentar o salário dos funcionários em 10% (salário vezes 1,1), aplicando essa mudança somente às tuplas que atendem a uma condição específica.

Comando DELETE em SQL

  • O comando DELETE FROM remove tuplas da tabela. Se usado sem condições, todas as tuplas são excluídas; com uma condição na cláusula WHERE, apenas as tuplas que satisfazem essa condição são removidas.
  • Por exemplo, ao excluir um funcionário com identificador igual a 17, apenas essa única tupla será removida devido à chave primária que garante unicidade.

Condições em Exclusões

  • As condições para exclusão podem ser baseadas em consultas SQL prévias, permitindo verificar se um determinado valor está presente antes de realizar a exclusão.

Conclusão da Aula sobre SQL

Video description

Engenharia de Computação – Bancos de Dados Disciplina EID - 002 - Bancos de Dados Professora responsável: Sarajane Marques Peres Playlist da disciplina: https://www.youtube.com/playlist?list=PLxI8Can9yAHeHQr2McJ01e-ANyh3K0Lfq