create database bdescola
Criando a tabela tb_aluno
create table tb_aluno(
codigo_aluno integer primary key,
nome_aluno varchar(60) not null,
ano_nasc int,
email varchar(60),
sexo varchar not null
)
Criando a tabela tb_curso
create table tb_curso(
codigo_curso integer primary key,
nome_curso varchar(60) not null
)
Criando a tabela tb_matricula
create table tb_matricula(
codigo_curso integer references tb_curso (codigo_curso),
codigo_aluno integer references tb_aluno (codigo_aluno)
)
alter table
add constraint fk_codigo_curso foreign key (codigo_curso) references tb_curso(codigo_curso)
add constraint fk_codigo_aluno foreign key (codigo_aluno) references tb_aluno(codigo_aluno)
Tabela tb_aluno
insert into tb_aluno (codigo_aluno, nome_aluno, ano_nasc, email, sexo)
values (1,'Josiel Jardim',1974,'josiel@provaSQL.com.br','M');
insert into tb_aluno (codigo_aluno, nome_aluno, ano_nasc, email, sexo)
values (2,'Ana Maria',1980,'ana@provaSQL.com.br','F');
insert into tb_aluno (codigo_aluno, nome_aluno, ano_nasc, email, sexo)
values (3,'João Pedro',1979,'joao@provaSQL.com.br','M');
Tabela tb_curso
insert into tb_curso (codigo_curso, nome_curso)
values (1,'Medicina');
insert into tb_curso (codigo_curso, nome_curso)
values (2,'Arquitetura');
insert into tb_curso (codigo_curso, nome_curso)
values (3,'Filosofia');
insert into tb_curso (codigo_curso, nome_curso)
values (4, 'Informatica');
insert into tb_curso (codigo_curso, nome_curso)
values (5,'Jornalismo');
Tabela tb_matricula
insert into tb_matricula (codigo_curso, codigo_aluno)
values (1,1);
insert into tb_matricula (codigo_curso, codigo_aluno)
values (1,2);
insert into tb_matricula (codigo_curso, codigo_aluno)
values (2,3);
insert into tb_matricula (codigo_curso, codigo_aluno)
values (5,3);
select * from tb_aluno
insert into tb_aluno(codigo_aluno, nome_aluno, ano_nasc, email, sexo)
values ('4', 'Pedro César', '1995-06-04', 'pedro@provaSQL.com.br', 'M')
select * from tb_matricula
insert into tb_matricula(codigo_curso, codigo_aluno)
values ('4', '4')
select tb_aluno.nome_aluno, tb_curso.nome_curso
from tb_aluno
inner join tb_matricula
on tb_aluno.codigo_aluno = tb_matricula.codigo_aluno
inner join tb_curso
on tb_curso.codigo_curso = tb_matricula.codigo_curso
select email
from tb_aluno where 2022 - ano_nasc >= 18
select count(codigo_aluno)
from tb_aluno
select tb_curso.nome_curso,
codigo_curso + codigo_aluno as numero_alunos
from tb_curso
inner join tb_aluno
on tb_aluno.codigo_aluno = tb_curso.codigo_curso
select nome_aluno
from tb_aluno where 2022 - ano_nasc >= 18
select nome_aluno, sexo
from tb_aluno where sexo = 'F'
select tb_aluno.nome_aluno as mulheres_em_medicina
from tb_aluno
inner join tb_matricula
on tb_matricula.codigo_aluno = tb_aluno.codigo_aluno
and tb_matricula.codigo_curso = 1
and tb_aluno.sexo = 'F'
select nome_curso
from tb_curo order by nome_curso asc
select nome_aluno, tb_curso.nome_curso as nome_curso from tb_aluno
inner join tb_curso on tb_curso.nome_curso = 'MEDICINA'
where sexo = 'F'
A linguagem SQL é utilizada de maneira relativamente parecida entre os principais bancos de dados relacionais do mercado: Oracle, MySQL, MariaDB, PostgreSQL, Microsoft SQL Server, entre muitos outros. Cada um tem suas características, sendo o MySQL e o PostgreSQL extremamente populares por possuírem versões gratuitas e de código aberto.
Os computadores se tornam parte efetiva do custo das empresas juntamente com o crescimento da capacidade de armazenamento. Foram desenvolvidos dois principais modelos de dados: modelo em rede (CODASYL - Comitee for Data Systems Language) e o modelo hierárquico (IMS – Information Management System). O acesso ao BD é feito através de operações de ponteiros de baixo nível que unem (link) os registros. Detalhes de armazenamento dependiam do tipo de informação a ser armazenada, desta forma, a adição de um campo extra necessitava de uma reescrita dos fundamentos de acesso/modificação do esquema. Os usuários precisavam conhecer a estrutura física do BD para poder realizar uma consulta. Muitas discussões a respeito do valor da competição entre os sistemas enquanto a teoria de banco de dados conduz ao objetivo final de projeto de pesquisa. Dois principais protótipos de sistema relacional foram desenvolvidos entre 1974 e 1977 e demonstram um ótimo exemplo de como a teoria conduz a boas práticas. A Linguagem Estruturada de Consulta – SQL (Structured Query Language) se torna um padrão mundial. A IBM transforma o DB2 como carro chefe da empresa em produtos para BD. Os modelos em rede e hierárquico passam a ficar em segundo plano praticamente sem desenvolvimentos utilizando seus conceitos, porém vários sistemas legados continuam em uso. O desenvolvimento do IBM PC desperta muitas empresas e produtos de BD como: RIM, RBASE 5000, PARADOX, OS/2 Database Manager, Dbase III e IV (mais tarde transformado em FoxBase e mais tarde ainda como Visual FoxPro), Watcom SQL, entre outros. Tem início uma leve crise econômica nas indústrias e algumas empresas sobrevivem oferecendo alguns produtos a custos muito elevados. O modelo cliente-servidor (client-server) passa a ser uma regra para futuras decisões de negócio e vemos o desenvolvimento de ferramentas de produtividade como Excel/Access (Microsoft) e ODBC, também é marcado como o início dos protótipos de Object Database Management Systems (ODBMS). É quando vemos a explosão da Internet./WWW e uma louca corrida para prover acesso remoto a sistemas de computadores com dados legados. Percebe-se um crescimento exponencial na tecnologia Web/BD. Aumentam o uso de soluções de código aberto (open source) através de gcc, cgi, Apache, MySQL, etc. Vemos a decadência da indústria da Internet de uma maneira geral, mas sólidos crescimentos em aplicações para BD continuam. Aparecem mais aplicações que interagem com PDAs (Personal Digital Assistant), transações em PDVs, consolidação de vendas, etc. Três companhias predominam no amplo mercado de BD: IBM (que comprou a Informix), Microsoft e Oracle. Sintaxe dos comandos o mais próximo possível da lingua natural inglesa;Não procedimental: indica-se a informação que se pretende obter sem qualquer preocupação em "como se vai obter". O utilizador não se preocupa com o método de acesso aos dados que fica a cargo do SGBD;
Trabalha com conjuntos de registos e não com um registo de cada vez. Não existem comandos como "Next record" ou "Previus record";
É utilizada tanto pelos utilizadores normais como pelo DBA (Database Administrator); O comando SELECT é usado para extrair os dados das tabelas de um banco de dados. Ele pode extrair dados de uma ou mais tabelas ao mesmo tempo, executando desde consultas simples até comandos mais complexos, fazendo buscas, junções, filtros comparativos, ordenações e diversos outros itens. O SQL Server, criado pela Microsoft, é muito conhecido e utilizado no mercado. A linguagem usada nessa ferramenta é o T-SQL, e oferece recursos avançados e diferenciados para facilitar a atualização de dados e o armazenamento das informações de forma segura e confiável. O SQL Server atua com sistemas integrados de criptografia, permitindo que a visualização ou alteração das informações sejam feitas apenas pelas pessoas responsáveis, o que garante ainda mais segurança e tranquilidade para os usuários e empresários. É uma alternativa comumente utilizada em lojas online, instituições governamentais, bancos e fábricas dos mais diversos portes.