• Nenhum resultado encontrado

BANCO DE DADOS 1: AULA 6

N/A
N/A
Protected

Academic year: 2019

Share "BANCO DE DADOS 1: AULA 6"

Copied!
38
0
0

Texto

(1)

BANCO DE DADOS 1: AULA 6

(2)

OBJETIVOS

• Entender o que é SQL e sua importância como padrão de linguagem estruturada de acesso a bancos de dados

• Conhecer a classificação dos comandos SQL de acordo com as suas funções

• Dominar os comandos SQL

(3)

AGENDA

• COMANDOS SQL

• LINGUAGEM DE MANIPULAÇÃO DE DADOS

• INSERT

• SELECT

• CLÁUSULA AS

• ORDER BY

• BETWEEN

• OPERAÇÕES DE CONJUNTOS

• SEQUENCE

(4)

TABELAS

Professor(id_prof, nome, titulacao)

Aluno (matricula, nome, sexo)

Disciplina(id_disc, carga, nome, id_prof, id_curso)

Curso(id_curso, nome)

Cursa(matricula, id_disc, nota1, nota2, nota3)

(5)

LINGUAGEM DE MANIPULAÇÃO

DE DADOS (DML)

Insert

• Insere novos registros em uma tabela

Select

• Seleciona dados de uma ou mais tabelas

Delete

• Exclui dados presentes em uma tabela

Update

• Atualiza dados já armazenados em uma tabela

(6)

INSERT

• Os valores informados serão inseridos nas colunas de acordo com sua disposição na tabela

6

INSERT INTO Aluno( matricula, nome, sexo)

VALUES (3, ‘Camila’, ‘F’)

Matricula Nome Sexo

1 Ana F

2 Bruno M

Matricula Nome Sexo

1 Ana F

2 Bruno M

(7)

EXERCÍCIO 1

Inserir

aluno

Nome: Fábio

Sexo: M

Matrícula: 15

Inserir

professor

Nome: Paulo

Id professor: 14

Titulação: Mestre

Inserir

curso

Nome: Matemática

ID: 4

(8)

EXERCÍCIO 1

• Inserir disciplina

• Nome: Álgebra

• Carga: 40

• Id disciplina: 11

• Id professor: 14 (prof. Paulo)

• Id curso: 4 (Matemática)

8

Inserir

cursa

• Matricula: 15 (Fábio)

• Id disciplina: 11 (Álgebra)

• Nota1: 7

(9)

ÁLGEBRA RELACIONAL: SELEÇÃO

• Seleciona tuplas que satisfaçam à condição de seleção

• σ matricula = 1 (Aluno)

Nome Matricula

Ana 1

Bruno 2

(10)

ÁLGEBRA RELACIONAL:

PROJEÇÃO

• Projeta as colunas solicitadas

• π nome (Aluno)

Nome Matricula

Ana 1

Bruno 2

(11)

ÁLGEBRA RELACIONAL:

PRODUTO CARTESIANO

• Combina tuplas de duas relações

Curso Id_curso Ciência da Computação 1 Engenharia da Computação 2

Id_disc Carga Nome Id_prof Id_curso

1 20 Banco de Dados 1 1

2 30 Engenharia de Software

(12)

ÁLGEBRA RELACIONAL:

PRODUTO CARTESIANO

curso

Id_curso Id_disc carga nome Id_prof Id_curso

Ciência da Computação

1 1 20 Banco de Dados 1 1

Ciência da Computação

1 2 30 Eng. Software 2 2

Engenharia da Computação

2 1 20 Banco de Dados 1 1

Engenharia da Computação

2 2 30 Eng. Software 2 2

(13)

SELECT

FROM

WHERE (SQL)

Álgebra Relacional

SQL

Projeção (π)

SELECT

Produto cartesiano

FROM

Seleção (σ) WHERE

SELECT <lista de atributos>

(14)

SELECT

FROM

WHERE (SQL)

Permite

visualizar

,

consultar

,

pesquisar

ou

selecionar

os dados de uma

tabela

A instrução SELECT é composta por três cláusulas: SELECT , FROM e

WHERE

<lista de atributos>

compõe a lista de atributos que se deseja

consultar (um ou vários, separados por vírgula). Quando se deseja

consultar todos os atributos, substitui-se por um asterisco (*)

<lista de tabelas>

informa de qual (ou quais) tabelas os dados serão

recuperados

14

SELECT <lista de atributos>

(15)

SELECT

FROM

WHERE (SQL)

A opção WHERE, que é

opcional

, define as

condições

que um

determinado registro deve satisfazer para qualificar a recuperação

dos seus dados. Ela

limita os resultados

, exibindo somente os dados

que são compatíveis com a condição estabelecida

(16)

SELECT DISTINCT

• A cláusula SELECT permite duplicatas nas relações bem como nos resultados de consulta

• Inserir o comando SELECT DISTINCT para forçar a eliminação de duplicatas na relação

SELECT ALL especifica que as duplicatas não serão removidas

(17)

EXERCÍCIO 2

1. Selecionar todos os alunos

2. Selecionar as matrículas dos alunos

3. Selecionar todas as alunas

4. Selecionar todos os professores

5. Selecionar as disciplinas e os respectivos cursos (distinct)

(18)

ORDER BY

• Ordena as tuplas que aparecem no resultado de uma consulta

• ASC – ordem crescente

• DESC – ordem decrescente

18

SELECT <lista de atributos>

FROM <lista de tabelas>

(19)

EXERCÍCIO 3

1. Ordenar notas dos alunos em ordem decrescente 2. Listar todos os alunos pela ordem alfabética

3. Selecionar os alunos e suas respectivas notas nas disciplinas cursadas, ordenado pelo nome do aluno

(20)

CLÁUSULA AS

Renomeia atributos

• Deve aparecer na cláusula SELECT

20

SELECT

nome

AS

nome_aluno

(21)

CLÁUSULA FROM

• Produto cartesiano da Álgebra Relacional

• A cláusula FROM lista todas as relações envolvidas na pesquisa

• Variáveis de tupla podem ser definidas na cláusula FROM por meio da cláusula AS

21

SELECT

*

FROM

Aluno, professor

SELECT

a.nome, nota1

FROM

Aluno

AS

a, Disciplina

AS

d, Cursa

AS

c

(22)

CLÁUSULA WHERE

WHERE especifica condições que o resultado precisa fazer

• Predicado de seleção da álgebra relacional

• Os resultados da comparação podem ser combinados usando os conectivos lógicos AND, OR e NOT

• As comparações podem ser aplicadas aos resultados das expressões aritméticas

22

SELECT

*

FROM

disciplina

(23)

EXERCÍCIO 4

• Selecionar e renomear a coluna carga de disciplina para carga_horaria (utilizando AS)

• Selecionar todos os professores doutores

• Selecionar os professores e as respectivas disciplinas ministradas

• Selecionar os alunos da disciplina de Redes

• Selecionar alunos (sexo=M) do curso de Engenharia da Computação

(24)

BETWEEN

Operador de comparação

Retornar

nota1

 7

e nota1

 10

24

SELECT

matricula, nota1

FROM

Cursa

(25)

OPERAÇÕES DE STRING

• O termo like é utilizado para comparar padrões

• Porcentagem (%)

• Sublinhado (_)

25

SELECT nome

FROM Aluno

WHERE nome LIKE ‘%i%’

SELECT nome

FROM Aluno

WHERE nome LIKE ‘D%’

SELECT nome

FROM Aluno

(26)

EXERCÍCIO 5

Inserir

aluno

Nome: Eduardo

Sexo: M

Matrícula: 16

Inserir

aluno

Nome: Maria

Sexo: F

Matrícula: 17

Inserir

aluno

Nome: Camila

Sexo: F

Matrícula: 18

(27)

EXERCÍCIO 5

Inserir

professor

Nome: Pedro

Id professor: 15

Titulação: Doutor

Inserir

professor

Nome: Thalita

Id professor: 16

Titulação: Doutor

(28)

EXERCÍCIO 5

Inserir

curso

Nome: Ciência da Computação

ID: 5

Inserir

curso

Nome: Engenharia da Computação

ID: 6

(29)

EXERCÍCIO 5

• Inserir disciplina

• Nome: SQL

• Carga: 40

• Id disciplina: 12

• Id professor: 16

• Id curso: 5

• Inserir disciplina

• Nome: Algoritmos

• Carga: 60

• Id disciplina: 13

• Id professor: 15

• Id curso: 6

• Inserir disciplina

• Nome: Java

• Carga: 60

• Id disciplina: 14

• Id professor: 15

• Id curso: 6

• Inserir disciplina

• Nome: Programacao

• Carga: 40

• Id disciplina: 15

• Id professor: 16

• Id curso: 6

(30)

EXERCÍCIO 5

Inserir

cursa

• Matricula: 17

• Id disciplina: 13

• Nota1: 8

• Nota2: 9

• Nota3: 10

30

Inserir

cursa

• Matricula: 16

• Id disciplina: 12

• Nota1: 7

• Nota2: 8

(31)

EXERCÍCIO 5

Inserir

cursa

• Matricula: 18

• Id disciplina: 13

• Nota1: 7

• Nota2: 9

• Nota3: 9

31

Inserir

cursa

• Matricula: 17

• Id disciplina: 14

• Nota1: 8

• Nota2: 9

(32)

EXERCÍCIO 6

1. Selecionar aluno com nota2 acima de 7 2. Selecionar nota3 entre 0 e 10

3. Selecionar no banco de dados alunos que possuam a letra i no nome 4. Selecionar nome de alunos que começam com a letra E

(33)

CAMPO INCREMENTAL NO MYSQL

• Sintaxe para a criação de um campo incremental:

33

CREATE TABLE aluno (

nome varchar(45) NOT NULL,

matricula int NOT NULL auto_increment, sexo char NOT NULL,

cidade varchar(45) null default 'Recife', RG int not null,

UNIQUE (RG),

(34)

CAMPO INCREMENTAL NO MYSQL

• Sintaxe para a criação de um campo incremental começando com o valor 10:

34

CREATE TABLE aluno (

nome varchar(45) NOT NULL,

matricula int NOT NULL auto_increment, sexo char NOT NULL,

cidade varchar(45) null default 'Recife', RG int not null,

UNIQUE (RG),

(35)

CAMPO INCREMENTAL NO MYSQL

(36)

CAMPO INCREMENTAL NO MYSQL

• Para alterar o valor de incremento do próximo registro a ser armazenado em uma tabela, use o comando a seguir:

36

(37)

CAMPO INCREMENTAL NO MYSQL

• Exemplo:

(38)

PRÓXIMA AULA

Delete

Update

Referências

Documentos relacionados

Conceitos Básicos: dado e informação, características principais, tipos de usuários, vantagens e desvantagens, Sistemas de Gerenciamento de Bancos de Dados (SGBD),

 “Os dados processados para extrair deduções críticas e para refletir experiência e perícia anteriores fornecem a quem os recebe conhecimento organizacional, de alto

Esse processo de cooficialização das línguas indígenas (Oliveira, 2015) possibilitou uma ampliação da visão sobre a inclusão cidadã através das línguas, abrindo espaço

● Recuperar uma lista de todas as disciplinas e notas de “Silva” ● Listar os nomes dos alunos que realizaram a disciplina “Banco.. de dados”, no segundo semestre de 2008, e

Neste estudo pode-se perceber que a mulher na obra de Martinho da Vila muitas vezes é representada a partir dos discursos que tradicionalmente apresentam a

Como forma de análise desenvolveu-se cálculos capazes de demonstrar em que situação está a Empresa em um determinado momento, como o estudo dos Indicadores de Liquidez – que

Analisando primeiramente o curso de Matemática, é possível identificar que as notas médias das disciplinas cursadas no 1º período do curso, pelos alunos ingressantes pelo sistema de

A síndroma é caracterizada por dispneia não explicada por outra doença ou complicação cardiopulmo- nar, volumes pulmonares diminuídos sem alterações pleuroparenquimatosas,