Академический Документы
Профессиональный Документы
Культура Документы
BANCO DE DADOS
Conceito
a unio dos dados e dos programas que atuam sobre eles. Os Sistema Gerenciadores de Banco de Dados administram os dados e possuem a capacidade de ter procedimentos internos (Trigger e Procedures).
Linguagem SQL
Criada pela IBM, no incio dos anos 70.
SQL Structure Query Language Linguagem
Estruturada de Consulta.
Linguagem SQL
Possui diversos comandos divididos em trs categorias: DDL Data Definition Languagem (comandos create, alter, drop, e responsvel por dar forma ao banco de dados, etc); DML Data Manipulation Languagem (comandos: insert, select, update, delete, e responsvel por manipular os dados dentro do banco de dados); DCL Data Control Language ( um subgrupo da DML. Comandos: grant e revoke. Objetivo de controlar o acesso dos usurios aos dados, permitindo estabelecer regras para consultas, ...)
4
Linguagem SQL
Caractersticas principais
Tipos de Dados I
Char (n) armazena tamanho fixo de bytes.
Varchar (n) armazena desde 1 byte a 32.765 bytes, sendo varivel.
Decimal e Numeric definem o campo numrico onde o ponto decimal fixado. Preciso e Escala. Ex.: Numeric(6,2)
6
Interactive SQL
Criando a tabela Disciplina do BD Curso
create table disciplinas( coddisciplina char(04) not null, nomedisc varchar(40) not null, cardahorariadisc varchar(40), IDcurso char(04) not null, primary key(coddisciplina),
7
Interactive SQL Criando a tabela Alunos do BD Curso create table Alunos( matr_aluno Integer not null, nome_aluno varchar(50) not null, filiacao varchar(70), data_nasc_alu date, data_matr_alu date, tel_alu char(9), primary key (matr_aluno) );
9
10
Interactive SQL Alterando a tabela Cursos do BD Curso Excluindo campo e acrescentando novo campo
11
Interactive SQL
DML Data Manipulation Language Exerccios Cursos
1. Insira na Tabela Disciplinas todas as matrias do curso de Informtica, bem como algumas do curso de Gesto e de Enfermagem.
2. Altere a tabela Disciplinas acrescentando o campo perodo como inteiro, sendo que este campo s poder receber o valor de 1 ou 2 ou 3, de acordo com o seu perodo.
3. Atualize a tabela Disciplinas inserindo a informao sobre o perodo a qual a disciplina j cadastrada pertence. 4. Insira as turmas abaixo: 6 turmas de Informtica; 6 turmas de Gesto; 6 turmas de Enfermagem.
12
insert into Disciplinas VALUES('INF','Gest','120 horas', ' Informtica'); insert into Disciplinas VALUES('MG','Gest','40 horas', 'Modelos de Gesto); insert into Disciplinas VALUES('RED','Gest','40 horas', 'Redao Oficial'); insert into Disciplinas VALUES('EMP','Gest','40 horas', 'Noes de Empreendedorismo'); insert into Disciplinas VALUES('GIC','Gest','40 horas', 'Gesto Integrada de Custos'); insert into Disciplinas VALUES('FC','Gest','40 horas', 'Fluxo de Caixa'); insert into Disciplinas VALUES('CCC','Gest','40 horas', 'Cadastro, Crdito e Cobrana'); insert into Disciplinas VALUES('EAC','Gest','80 horas', 'Excelncia no Atendimento ao Cliente'); insert into Disciplinas VALUES('CRP','Gest','80 horas', 'Controle e Registro Pessoal'); insert into Disciplinas VALUES('NLT','Gest','40 horas', 'Noes de Legislao Trabalhista'); Commit;
13
insert into Disciplinas VALUES('INF','Enfe','80 horas', 'Introduo Informtica' ); insert into Disciplinas VALUES('AFH','Enfe','120 horas', 'Anatomia e Fisiologia Humana'); insert into Disciplinas VALUES('DIP','Enfe','80 horas', 'Doenas Infecciosas e Parasitrias); insert into Disciplinas VALUES('EC','Enfe','120 horas', 'Enfermagem Clnica'); insert into Disciplinas VALUES('ESM','Enfe','80 horas', 'Enfermagem em Sade da Mulher'); insert into Disciplinas VALUES('ESC','Enfe','80 horas', 'Enfermagem em Sade da Criana'); Commit;
14
Interactive SQL
DML Exerccios do BD Cursos - Correo Resposta da n 1 insert into Disciplinas values('LP1','Info','180 horas','Linguagem e Tcnica de Programao 1'); insert into Disciplinas values('EST','Info','80 horas','Estatstica'); insert into Disciplinas values('MD1','Info','80 horas','Modelagem de Dados 1'); insert into Disciplinas values('LP2','Info','240 horas','Linguagem e Tcnica de Programao 2'); Resposta da n 2 alter table disciplinas add periodo integer check(periodo in(1,2,3));
Resposta da n 3
update Disciplinas set periodo=1 where iddisciplina='AEG'; update Disciplinas set periodo=1 where iddisciplina='EST'; update Disciplinas set periodo=1 where iddisciplina='LP1'; update Disciplinas set periodo=1 where iddisciplina='OE'; update Disciplinas set periodo=1 where iddisciplina='SI'; update Disciplinas set periodo=1 where iddisciplina='SO'; update Disciplinas set periodo=2 where iddisciplina='LP2'; update Disciplinas set periodo=2 where iddisciplina='MD1';
15
Resposta n 4 insert into insert into insert into insert into insert into insert into insert into insert into Commit; Turmas Turmas Turmas Turmas Turmas Turmas Turmas Turmas VALUES('111-08', 'Manh', 'Info', '2/11/2008', '7/16/2008'); VALUES('131-08', 'Manh', 'Info', '2/11/2008', '7/16/2008'); VALUES('211-08', 'Tarde', 'Info', '2/11/2008', '7/16/2008'); VALUES('231-08', 'Tarde', 'Info', '2/11/2008', '7/16/2008'); VALUES('311-08', 'Noite', 'Info', '2/11/2008', '7/16/2008'); VALUES('331-08', 'Noite', 'Info', '2/11/2008', '7/16/2008'); VALUES('111-08', 'Manh', 'Gest', '2/11/2008', '7/16/2008'); VALUES('131-08', 'Manh', 'Gest', '2/11/2008', '7/16/2008');
16
Cont. n 4 insert into insert into insert into insert into insert into insert into insert into insert into insert into insert into Commit; Turmas Turmas Turmas Turmas Turmas Turmas Turmas Turmas Turmas Turmas VALUES('211-08', 'Tarde', 'Gest', '2/11/2008', '7/16/2008'); VALUES('231-08', 'Tarde', 'Gest', '2/11/2008', '7/16/2008'); VALUES('311-08', 'Noite', 'Gest', '2/11/2008', '7/16/2008'); VALUES('331-08', 'Noite', 'Gest', '2/11/2008', '7/16/2008'); VALUES('111-08', 'Manh', 'Enfe', '2/11/2008', '7/16/2008'); VALUES('131-08', 'Manh', 'Enfe', '2/11/2008', '7/16/2008'); VALUES('211-08', 'Tarde', 'Enfe', '2/11/2008', '7/16/2008'); VALUES('231-08', 'Tarde', 'Enfe', '2/11/2008', '7/16/2008'); VALUES('311-08', 'Noite', 'Enfe', '2/11/2008', '7/16/2008'); VALUES('331-08', 'Noite', 'Enfe', '2/11/2008', '7/16/2008');
17
Exemplos - No banco de Dados Cursos.GDB: Na tabela Disciplina: - pesquise todas as disciplinas do curso Gesto. select * from disciplinas where (idcurso=Gest');
MySQL SELECT
Exemplos - No banco de Dados Cursos.GDB - continuao: Na tabela Disciplina: - pesquise todas as disciplinas que comecem com a letra L em ordem descendente select * from disciplinas where (iddisciplina like 'L%') order by nomedisc DESC; - Liste todas as disciplinas que pertenam ao primeiro perodo select * from disciplinas where periodo=1; - Liste todas as disciplinas que pertenam ao 1 perodo do curso de Informtica select * from disciplinas where ((periodo=1) and (idcurso='Info')); - Liste todas as disciplinas que pertenam ao 1 perodo do curso de Gesto ordenada pelo cdigo da disciplina (ascendente) select * from disciplinas where ((periodo=1) and (idcurso='Gest')) order by iddisciplina ASC;
SELECT
SELECT Exerccios:
Na tabela Cursos: - liste todos os cursos cadastrados select * from cursos; - liste da tabela cursos as informaes correspondentes ao cdigo do curso e ao nome do curso, sendo ordenado por este ltimo. select C.idcurso, C.nomecurso from cursos C order by nomecurso ASC; - liste da tabela disciplinas todas as disciplinas de todos os cursos, exibindo o nome da disciplina, o nome do curso e a carga horria da disciplina, sendo ordenada pelo nome do curso. select D.nomedisc, C.nomecurso, D.cargahorariadisc from cursos C, disciplinas D where D.idcurso = C.idcurso order by nomecurso ASC; - liste da tabela cursos o cdigo do curso e o nome do curso e da tabela turmas o cdigo da turma e o turno da turma, devendo ser apresentado apenas as turmas do turno da manh. select C.idcurso, C.nomecurso, T.idturma, T.Turnoturma from cursos C, turmas T where (Upper(turnoturma) ='MANH') order by C.nomecurso ASC;