Académique Documents
Professionnel Documents
Culture Documents
Prof. Tavares
Definio do BD (Meta-dados)
BD armazenado 2
Mundo Real
Requisitos de Dados Projeto Conceitual Coleta/Especificao de Requisitos Requisitos Funcionais Anlise Funcional
Projeto Lgico
Projeto Funcional
Projeto Fsico
Programao
dados e regras
SGBD
Modelo
regras para estruturar dados
Esquema
(Intenso)
Instncia
(Extenso)
4
Nmero
17 8
rea
INF INF
Nome
I.C.C. Estruturas de Dados Matemtica Discreta Bancos de Dados
Nmero
INF1310 INF3320 MAT2410 INF3380
Crditos
4 4 3 3
Dept
INF INF MAT INF
Pr-Requisito
No_Curso
INF3380 INF3380 INF3320
No_Pre-Req
INF3320 MAT2410 INF1310
instncia
Histrico-Escolar
No_Aluno No_Curso
17 17 8 8 8 8 MAT2410 INF1310 MAT2410 INF1310 INF3320 INF3380
Grau
B C A A B A
...
Esquema Conceitual
Viso Externa n
NVEL CONCEITUAL
mapeamento conceitual/interno
NVEL INTERNO
Esquema Interno
Componentes de um SGBD
ABD e equipe usurios ocasionais Consulta de alto nvel programadores de aplicaes usurios paramtricos
Comandos em LDD
Comandos privilegiados
Processador de consultas Compilador da LDD Catlogo/ Dicionrio de Dados Processador do BD em tempo de execuo Gerenciador dos dados armazenados
Transaes compiladas
Requisitos de Dados
Projeto Conceitual Independente de SGBD Especfico para um SGBD Esquema Conceitual Projeto Lgico Esquema Lgico Projeto Fsico Esquema Fsico
9
10
Linguagem hospedeira
Linguagem de programao na qual comandos da LMD so embutidos.
11
Linguagem SQL
O nome "SQL" significa "Structured Query Language" - Linguagem Estruturada de Pesquisa. Essa linguagem, de grande utilizao, teve seus fundamentos no modelo relacional de Codd (l970). Sua primeira verso recebeu o nome de SEQUEL ("Structured English Query Language"), sendo definida por D. D. CHAMBERLIN, entre outros, em 1974, nos laboratrios de pesquisa da IBM (Califrnia). Em 1975, foi implementado um prottipo de aplicao dessa nova linguagem. Entre 1976 e 1977, o SEQUEL foi revisado e ampliado, e teve seu nome 12 alterado para "SQL" por razes jurdicas.
Linguagem SQL
A SQL se tornou um padro de fato, no mundo dos ambientes de banco de dados relacionais. Em 1982, o American National Standard Institute (ANSI) tornou a SQL padro oficial de linguagem em ambiente relacional. Infelizmente, como todo padro que se preze, existem hoje vrios dialetos SQL, cada um, evidentemente, tentando ser mais padronizado que o outro. A linguagem SQL foi desenvolvida especialmente para o ambiente relacional, podendo ser adaptada a qualquer ambiente no relacional.
13
Linguagem SQL
Linguagem interativa de consulta (query AdHoc) Linguagem de programao para acesso a banco de dados Linguagem de administrao de banco de dados Linguagem cliente/servidor Linguagem para banco de dados distribudo Caminho de acesso a outros bancos de dados em diferentes mquinas
14
Funes de um SGBD
Definio de dados (DDL) - permite ao usurio a definio da estrutura e organizao dos dados armazenados, e as relaes que existem entre eles; Manipulao de dados (DML) - permite ao usurio ou a um programa de aplicao, a incluso, remoo, seleo ou atualizao de dados previamente armazenados no banco; Controle de acesso - protege os dados de manipulaes no autorizadas; Compartilhamento de dados - coordena o compartilhamento dos dados por usurios concorrentes, sem contudo interferir na ao de cada um deles; Integridade dos dados - auxilia no processo de definio da integridade dos dados, protegendo contra corrupes, inconsistncias e falhas do sistema de computao.
17
18
19
20
21
Um clique
22
Um clique
23
dois cliques
24
25
26
27
O comando SELECT tem palavras-chaves em um comando bsico: SELECT Especifica as colunas; FROM - Especifica as tabelas; WHERE - Especifica as linhas.
28
29
30
31
Operadores Aritmticos Operadores aritmticos podem ser usados sobre qualquer coluna numrica. + / * Adio Subtrao Diviso Multiplicao
32
Problema: Listar o percentual de 20% de cada oramento select FISCAL_YEAR, PROJ_ID, DEPT_NO, (PROJECTED_BUDGET * 0.20) as PERCENTUAL from PROJ_DEPT_BUDGET;
33
Observaes: Quando a coluna do tipo caractere, o <valor> deve estar entre aspas. Ex.: 'PARAFUSO' Na linguagem SQL, existe a diferenciao entre maisculas e minsculas em alguns SGBDS, logo 'PARAFUSO' diferente de parafuso.
34
35
select EMP_NO, (FIRST_NAME ||' '||LAST_NAME) as NOME_COMPLETO from EMPLOYEE; select PO_NUMBER||' - '||CUST_NO||' - '||ORDER_DATE as PEDIDO_DATA from SALES;
37
38
Problema: Listar os empregados com salrio anual no intervalo de $120.000 a $720.000, inclusive. select * from EMPLOYEE where SALARY >= 120000 and SALARY <= 720000
39
40
41
Problema: Listar os empregados com salrio anual no intervalo de $120.000 a $720.000. select * rom EMPLOYEE where SALARY between 120000 and 720000
42
Problema: Listar os empregados com salrio anual fora do intervalo de $120.000 a $720.000. select * from EMPLOYEE where SALARY not between 120000 and 720000
43
WHERE <nome da coluna> <NOT> LIKE <valor>; Os operadores LIKE e NOT LIKE s trabalham sobre colunas que sejam do tipo CHAR. % - substitui todos os caracteres a partir da posio indicada _ - substitui qualquer caractere na posio indicada
44
Problema: Listar os registros com a letra F na segunda posio. select * from COUNTRY where CURRENCY like '_f%';
45
Problema: Listar os pases cuja moeda inicia com a letra A. select * from COUNTRY where CURRENCY like 'A%';
46
Problema: Listar os pases cuja moeda no inicia com a letra A. select * from COUNTRY where CURRENCY not like 'A%';
47
48
49
50
51
52
53
Problema: Listar os nomes dos clientes em order descendente. select CUSTOMER, COUNTRY from CUSTOMER order by CUSTOMER desc;
54
EXERCCIOS
1)
2) Listar os empregados americanos e os ingleses que ganham acima de 30.000 e cujo primeiro nome inicia com R. 3) Listar os nomes dos empregos (Job_Title) que no requeiram requisitos. 4) Listar o menor salrio da Inglaterra para a profisso de engenheiro. 5) Qual o produto gerado pelo projeto que no possui lder (team leader)?
57
EXERCCIOS
6) Listar as compras no despachadas e j pagas. 7) Quais as vendas de hardware despachadas? 8) Listar os funcionrios engenheiros americanos cujo salrio est entre 90.000 e 110.000. 9) Listar o nome completo, de forma ordenada, dos funcionrios que no trabalham nos USA e que no possuem nmero de extenso telefnica. 10)Listar os funcionrios vendedores que no trabalham no Canada nem no Japan.
58