relacionais e sql sistemas de bancos de dados de bancos de da… · sql dml: linguagem de...

Post on 13-Aug-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Sistemas de Bancos de Dados Relacionais e SQL

Professor: André Avelino da Silva Neto

FCTFaculdade de Computação e Telecomunicações

Conteúdo1. Introdução;

2. Sistemas de banco de dados relacionais;

3. SQL:a. Operações DDL;b. Operações DML;

4. Considerações finais.

Introdução● Banco de dados: coleção de dados relacionados:

○ Registro de dados persistentes para determinado sistema de informações;

● SGBD: Sistema Gerenciador de Banco de Dados:○ Software responsável pela definição, armazenamento, manipulação e

compartilhamento dos dados

Introdução

Introdução● Projeto de banco dados:

○ Identificar e implementar um modelo consistente com os requisitos do sistema.

■ Modelo Conceitual■ Modelo Lógico■ Modelo Físico

Sistemas de Banco de dados Relacionais● Baseados no uso de tabelas (relações):

○ Para muitos autores um padrão para utilização de banco de dados.

Sistemas de Banco de dados Relacionais● Tabela: definição sobre a qual deseja-se armazenar dados.

Aluno

Disciplina

Sistemas de Banco de dados Relacionais● Tabela: definição sobre a qual deseja-se armazenar dados:

○ Atributos → Colunas.

Matrícula Nome Nascimento Sexo

Aluno

Sistemas de Banco de dados Relacionais● Tabela: definição sobre a qual deseja-se armazenar dados:

○ Registros → Linhas.

Matrícula Nome Idade Sexo

21477 João S. 19 M

21478 Gizelly M 23 F

21478 Aline P. 25 F

Aluno

Sistemas de Banco de dados Relacionais● Tabela: definição sobre a qual deseja-se armazenar dados:

○ Chave primária (PK) → Atributo que identifica unicamente registro.

Matrícula Nome Idade Sexo

21477 João S. 19 M

21478 Gizelly M 23 F

21478 Aline P. 25 F

Aluno

Sistemas de Banco de dados Relacionais● Tabela: definição sobre a qual deseja-se armazenar dados:

○ Chave estrangeira (FK) → Referencia outra tabela.

Matrícula Nome Idade Sexo

21477 João S. 19 M

21478 Gizelly M 23 F

21479 Aline P. 25 F

Aluno

Matricula_aluno

Cod_disciplina

21478 12

21479 14

Disciplina Aluno

SQL● Structured Query Language: linguagem padrão para

manipulação de SGBD relacionais comerciais:○ Conjunto de comandos e cláusulas específicos:

■ DDL;■ DML.

SQL● DDL: Linguagem de Definição de Dados:

○ Trata das definições e gerenciamento das tabelas:

SQL● DDL: Linguagem de Definição de Dados:

○ Trata das definições e gerenciamento das tabelas:■ Criação de tabelas

CREATE TABLE nome_tabela (atributo1 domínio() contraints,atributo2 domínio() contraints,atributo3 domínio() contraints,…

);

SQL● DDL: Linguagem de Definição de Dados:

○ Trata das definições e gerenciamento das tabelas:■ Criação de tabelas

➔ Atributos:◆ Nome do atributo◆ Domínio: conjunto de dados aceitáveis

● Integer, Varchar, date◆ Restrição de integridade: NULL / NOT NULL◆ Outras limitações

● UNIQUE, INDEX, PRIMARY KEY, FOREIGN KEY, DEFAULT

SQL● DDL: Linguagem de Definição de Dados:

○ Trata das definições e gerenciamento das tabelas:■ Alteração de tabelas

ALTER TABLE nome_tabela ADD atributo1 domínio() contraints;

ALTER TABLE nome_tabela DROP COLUMN atributo1;

ALTER TABLE nome_tabela ALTER/MODIFY COLUMN atributo1 domínio() contraints;

SQL● DDL: Linguagem de Definição de Dados:

○ Trata das definições e gerenciamento das tabelas:■ Exclusão de tabelas

DROP TABLE nome_tabela;

TRUNCATE TABLE nome_tabela;

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Inserção de dados

INSERT INTO nome_tabela (atributo1, atributo2, atributo3)

VALUES (valor1, valor2, valor3);

Importante que a inserção respeite a definição da tabela!

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Atualização de dados

UPDATE nome_tabelaSET atributo1 = valor1, atributo2 = valor2)WHERE condições;

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Exclusão de dados

DELETE FROM nome_tabela WHERE condições;

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

SELECT _______ FROM nome_tabela WHERE condições;

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

● Cláusula SELECT:○ Retorna uma tabela com o resultado○ Resultado: organizado de acordo com os atributos definidos.

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

SELECT atributo1, atributo2 FROM nome_tabela WHERE condições;

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

● Cláusula SELECT:○ Retorna uma tabela com o resultado○ Resultado: organizado de acordo com os atributos definidos○ Valores aceitos:

■ * → Todos os atributos das tabelas consultadas;■ COUNT() → Total de registros de determinado atributo;■ DISTINCT() → Retorna somente registros cujo determinado valor seja único;■ MAX() → Retorna valor máximo de determinado atributo;■ MIN() → Retorna valor mínimo de determinado atributo;

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

● Cláusula FROM:○ Indica a tabela (ou tabelas) que serão consultadas;○ Delimita universo de atributos possíveis para retorno e definição de condições

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

SELECT t1.atributo1, t2.atributo2 FROM nome_tabela1 AS t1, nome_tabela2 AS t2 WHERE condições;

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

● Cláusula WHERE:○ Realiza filtragem dos dados para o resultado;○ Aceita operadores lógicos: AND, OR, NOT;○ Aceita operadores de comparação: =, >=, <=, <>○ Utilizado também nas operações de Exclusão e Atualização de dados

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

SELECT * FROM Aluno WHERE Sexo = ‘M’;

SELECT nome, matricula FROM Aluno WHERE Idade >= 22 AND Idade <= 30;

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

● Cláusula WHERE:○ Realiza filtragem dos dados para o resultado;○ Aceita operadores lógicos: AND, OR, NOT;○ Aceita operadores de comparação: =, >=, <=, <>○ Utilizado também nas operações de Exclusão e Atualização de dados○ Outros operadores:

■ LIKE (%, _) / BETWEEN / IN

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

● Outras cláusulas, declarações e palavras-chave:○ ORDER BY … ASC|DESC

SELECT * FROM Alunos ORDER BY Idade DESC;

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

● Outras cláusulas, declarações e palavras-chave:○ JOIN → Combina duas ou mais tabelas de acordo com uma relação

SELECT * FROM Alunos JOIN DisciplinaAluno ON Alunos.Matricula;

SQL● DML: Linguagem de Manipulação de Dados:

○ Trata da manipulação dos registros no Banco de Dados.■ Seleção de dados (consulta)

● Outras cláusulas, declarações e palavras-chave:○ GROUP BY → Agrupa linhas com o mesmo valor para determinado atributo (geralmente

utilizado para contagens)

SELECT COUNT(matricula), Nome FROM Alunos GROUP BY Idade;

Considerações Finais● Sistemas de bancos de dados relacionais exigem gerenciamento de uma

quantidade cada vez maior de dados;

● Evidencia a necessidade de conhecer e dominar tecnologias de utilização;

● SQL → ferramenta extremamente ampla que permite consultas complexas;

● Conhecimento adequado permite definições de dados consistentes e consultas mais eficientes.

top related