0% acharam este documento útil (0 voto)
48 visualizações21 páginas

Laboratório de Técnicas e Linguagens de Programação SQL

Enviado por

Joel Ndala
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
48 visualizações21 páginas

Laboratório de Técnicas e Linguagens de Programação SQL

Enviado por

Joel Ndala
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 21

LABORATÓRIO DE TÉCNICAS E LINGUAGENS DE PROGRAMAÇÃO

BASE DE DADOS
Classe: 12ª. Telefone:(+244) 929 379 578
Curso: Informática Site: www.dsprosystem.co.ao
Prof: Eng. Brevemente Msc Divava Salakiaku Email: [email protected]

Sejam todos bem-vindos, neste laboratório físico portátil, vamos começar a abordar de
duas tecnologias, muito importantes para todos programadores que são Base de Dados
Mysql e PHP, inicialmente começaremos no conceitualizar em prosseguida
praticaremos todos conceitos, este material não substitui a sua ausência na sala de Aula.

Base de Dados

Base de Dados é um grande conjunto de informações, organizadas de modo a facilitar


seu acesso. Base de Dados é um sistema de armazenamento de dados baseado em
computador, cujo objetivo é registrar e manter informações consideradas significativas à
organização.

De uma forma genérica pode-se dizer que qualquer conjunto de dados é uma Base de
Dados (BD) Exemplo:

 Uma agenda com as moradas de pessoas conhecidas


 Uma lista de CDs
 Um livro, apontamentos tirados nas aulas;
 Os dados guardados nos computadores das Finanças sobre os contribuintes

MySQL é um servidor de banco de dados SQL multi-usuário. SQL é a linguagem de


banco de dados mais popular no mundo. MySQL é uma implementação cliente-servidor
que consiste de um servidor e diferentes programas clientes e bibliotecas. SQL é uma
linguagem padronizada que torna fácil o armazenamento e acesso de informações. Por
exemplo, pode-se usar SQL para recuperar informações de produtos e armazenar
informações de clientes para um site Web.

O servidor MySQL é também rápido e flexível o suficiente para permitir armazenar logs
e figuras nele. As principais vantagens do MySQL são velocidade, robustez e facilidade
de uso. MySQL foi originalmente desenvolvido pois a equipe da T.c.X. DataKonsultAB
(empresa que desenvolveu MySQL) precisava de um servidor SQL que pudesse
manipular banco de dados grandes numa ordem de magnitude mais rápida que qualquer
banco de dados comercial pudesse lhes oferecer. A equipe da TcX tem usado MySQL
desde 1996 em um ambiente com mais de 40 banco de dados contendo 10.000 tabelas,
das quais mais de 500 têm mais de 7 milhões de registros. Isto soma aproximadamente
100 Gbytes de dados.

1
Principais Características

 As principais características do MySQL são:


 Manipula um número ilimitado de usuários simultâneos;
 Alta velocidade de execução
 Trabalha com diferentes plataformas: Unix, Windows etc.;
 Disponibiliza diversos tipos de dados: INT, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT,
BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET e ENUM;
 Alta velocidade na execução de joins usando multi-join otimizado;
 Suporte completo a operadores e funções nas cláusulas SELECT e WHERE;
 Suporte às cláusulas GROUP BY e ORDER BY e a funções de grupo (COUNT(), AVG(),
STD(), SUM(), MAX() e MIN());
 Suporte a ODBC (Open DataBase Connectivity) para Windows95 e suas funções.
 Escrita em C e C++. Testada com diferentes compiladores;
 Suporte total ao conjunto de caracteres ISO-8859-1 Latin1, todos os dados são salvos e
ordenados neste formato;
 O servidor pode emitir mensagens de erros em diversas linguagens;
 Clientes podem conectar ao servidor MySQL utilizando conexões TCP/IP, Unix sockets ou sob
o Windows NT.

Estrutura

A Estrutura Um banco de dados nada mais é do que uma hierarquia de estruturas de


dados complexas. Em MySQL, como em muitos outros bancos de dados, o conceito da
estrutura que mantém os blocos (ou registros) de informações é chamado de tabela.
Estes registros, por sua vez, são constituídos de objetos menores que podem ser
manipulados pelos usuários, conhecidos por tipos de dados (datatypes). Juntos, um ou
mais datatypes, formam um registro (record).

Uma hierarquia de banco de dados pode ser considerada como:

Banco de dados > Tabela > Registro >

Os tipos de dados

Os tipos de dados possuem diversas formas e tamanhos, permitindo ao programador


criar tabelas específicas de acordo com suas necessidades. MySQL provê um conjunto
bem grande de tipos de dados, entre eles:
1. CHAR(M): strings de tamanho fixo entre 1 e 255 caracteres;
2. VARCHAR(M): strings de tamanho flexível entre 1 e 255 caracteres. VARCHAR ocupa sempre o menor
espaço possível, no entanto é 50% mais lento que o tipo CHAR;
3. INT(M) [Unsigned]: números inteiros entre -2147483648 e 2147483647. A opção "unsigned" pode ser
usada na declaração mudando o intervalo para 0 e 4294967295 para inteiros nãosinalizados;
4. FLOAT [(M,D)]: números decimais com D casas decimais;
5. DATE: armazena informação relativa a datas. O formato default é 'YYYY-MM-DD' e as datas variam entre
'0000-00-00' e '9999-12-31'. MySQL provê um poderoso conjunto de comandos para formatação e
manipulação de datas;
6. TEXT/BLOB: strings entre 255 e 65535 caracteres. A diferença entre TEXT e BLOB é que no primeiro o
texto não é sensível ao caso e no segundo sim; !" SET: conjunto de valores strings;
7. ENUM: conjunto de valores strings, difere do SET pois só são armazenados valores previamente
especificados.

2
Além dos tipos de dados existem outras opções a serem usadas em conjunto com os
tipos de dados para a criação de tabelas e especificação de colunas:

1. Primary Key (Chave Primária): usada para diferenciar um registro do outro. Cada registro, desta
forma, não pode ter a mesma chave primária.
2. Auto_increment: uma coluna com esta opção é automaticamente incrementada quando da
inserção de um registro;
3. NOT NULL: não permite a inserção de valores nulos.

Tipos de Chaves de Identificação

Chave de Identificação A chave de identificação de uma entidade é definida por um


atributo ou um conjunto de atributos, cujos valores individualizam uma única
ocorrência dessa entidade. Ou seja uma chave é um conjunto de um ou mais atributos
que determinam a unicidade de cada registro. As entidades relacionam-se umas as
outras através de chaves. Exemplo: A chave de identificação da entidade aluno é Nº de
matrícula

Chaves candidata: São as possíveis chaves de identificação de uma ocorrência de uma


entidade. Exemplo: Aluno (NrMatricula + Nome + Morada + BI + NIF + Cod_Turma);

São chaves candidatas os atributos: • NrMatricula; • BI; • NIF.

Chaves Primária: é uma das chaves candidatas selecionadas por melhor conveniência.

Exemplo: Aluno (NrMatricula + Nome + Morada + BI + NIF + Cod_Turma);

Chave escolhida – NrMatricula

Chave Estrangeira: Conjunto de um ou mais atributos de uma entidade que são chave
primária em outra entidade. Exemplo: Turma (Cod_Turma + ano +designação +
Nr_Alunos );

Aluno(NrMatricula + Nome + Morada + Telefone + DataNascimento + Cod_Turma);

Na entidade Turma o atributo Cod_Turma é chave estrangeira

TIPOS DE LINGUAGEM SQL


A linguagem SQL é dividida em subconjuntos de acordo com as operações que
queremos efetuar sobre um banco de dados, tais como:
 DML - Linguagem de Manipulação de Dados.
 DDL - Linguagem de Definição de Dados.
 DCL - Linguagem de Controle de Dados.
 DTL - Linguagem de Transacção de Dados.
 DQL - Linguagem de Consulta de Dados

3
EXERCÍCIOS E DEMOSTRAÇÕES

Comandos SQL: DDL, DML, DCL, TCL, DQL e Cláusulas


Primeiramente, é importante entender que à medida que as empresas e organizações
lidam com quantidades cada vez maiores de dados, há uma necessidade crescente de
que os desenvolvedores usem bancos de dados de maneira eficaz para lidar com
esses dados, dessa forma, surge a importância de conhecer os comandos SQL.

O que é SQL?

Em primeiro lugar, SQL, que significa Structured Query Language, ou Linguagem de


Consulta Estruturada é a linguagem de pesquisa declarativa padrão para banco de
dados relacional. Dessa forma, muitas das características originais do SQL foram
inspiradas na álgebra relacional.

Portanto, a maioria dos bancos de dados como SQL Server, Oracle, PostgreSQL,
MySQL, MariaDB manipulam esta linguagem (com algumas extensões e variações)
para lidar com os dados.

Assim, com o SQL você pode inserir, excluir e atualizar dados. Você também pode
criar, excluir ou alterar objetos de banco de dados.

Quem criou/inventou o SQL?

Edgar Frank Codd, enquanto trabalhava para a IBM, inventou o banco de dados
relacional nos anos 70. Portanto, com base nesse trabalho, Donald Chamberlin e
Raymond Boyce desenvolveram o SQL para manipular dados.

Ele foi inicialmente chamado de SEQUEL, mas devido a um problema de marca


registrada, foi alterado para SQL.

No entanto, muitas pessoas ainda dizem SEQUEL.

Tipos de comando SQL

Então, que o SQL é a linguagem de banco de dados com a qual podemos realizar
certas operações no banco de dados existente e também podemos usar essa
linguagem para criar um banco de dados. Dessa forma, o SQL usa certos comandos
como Create, Drop, Insert, etc. para realizar as tarefas necessárias.

Esses comandos SQL são categorizados principalmente em cinco categorias, como:


DDL, DML, DCL, TCL e DQL.

4
Comandos SQL que todo programador precisa saber

DDL: Linguagem de definição de dados

Sobretudo, uma linguagem de definição de dados (DDL) permite aos usuários


especificar um esquema de banco de dados através de um conjunto de
definições. Portanto, um esquema é o projeto geral de um banco de dados e
raramente é modificado. Compõe uma linguagem de consulta banco de dados,
como por exemplo, o SQL. Dessa forma, se assemelha a uma linguagem
simples (do inglês) e torna fácil a interação do usuário com o sistema de banco
de dados.

 CREATE: utilizado para criar banco de dados, tabelas, store procedures, entre outros.
Sintaxe:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

Exemplo:

CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100),


DOB DATE);

 ALTER: faz modificações em objetos criados com o CREATE, como inserir ou


remover uma nova coluna em uma tabela, alterar o tipo das colunas etc.
Sintaxe:

Para adicionar uma nova coluna na tabela

ALTER TABLE table_name ADD column_name COLUMN-definition;

5
Para modificar a coluna existente na tabela:

ALTER TABLE table_name MODIFY(column_definitions....);

Exemplo:

ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20));

ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));

 DROP: remove o que foi criado com o CREATE


Sintaxe

DROP TABLE table_name;

Exemplo

DROP TABLE EMPLOYEE;

DML: Linguagem de manipulação de dados

Então, uma linguagem de manipulação de dados (DML) é uma família de


linguagens de computador, incluindo comandos que permitem aos usuários
manipular dados em um banco de dados.

Portanto, essa manipulação envolve inserir dados em tabelas de banco de


dados, recuperar dados existentes, excluir dados de tabelas existentes e
modificar dados existentes. DML é principalmente incorporado em bancos de
dados SQL.

 INSERT: é uma forma de inserir dados em uma tabela.


Sintaxe

INSERT INTO TABLE_NAME

(col1, col2, col3,.... col N)

VALUES (value1, value2, value3, .... valueN);

OU

INSERT INTO TABLE_NAME

6
VALUES (value1, value2, value3, .... valueN);

Exemplo

INSERT INTO javatpoint (Author, Subject) VALUES ("Sonoo",


"DBMS");

 UPDATE: Para atualizar um registro em uma tabela, você usa a instrução UPDATE.
Sintaxe

UPDATE table_name SET [column_name1= value1,...column_nameN =


valueN] [WHERE CONDITION]

Exemplo

UPDATE students

SET User_Name = 'Sonoo'

WHERE Student_Id = '3'

 DELETE: pode remover todas as linhas de uma tabela (usando *) ou pode ser usado
como parte de uma cláusula WHERE para excluir linhas que atendam a uma condição
específica.
Sintaxe

DELETE FROM table_name [WHERE condition];

Exemplo

DELETE FROM javatpoint

WHERE Author="Sonoo";

DCL: Linguagem de Controle de Dados

DCL inclui comandos como GRANT e REVOKE que lidam principalmente com
os direitos, permissões e outros controles do sistema de banco de dados.

 GRANT: concede aos usuários privilégios de acesso ao banco de dados.


Exemplo

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

 REVOKE: retira os privilégios de acesso do usuário dados usando o comando


GRANT.

7
Exemplo

REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;

TCL: Linguagem de controle de transação

Os comandos TCL são usados para gerenciar transações no banco de dados.

Dessa forma, um conjunto de instruções SQL correlacionadas logicamente e


executadas nos dados armazenados na tabela é conhecido como transação.

 COMMIT: confirma uma transação.


Sintaxe

COMMIT;

Exemplo

DELETE FROM CUSTOMERS

WHERE AGE = 25;

COMMIT;

 ROLLBACK: reverte uma transação no caso de ocorrer algum erro.


Sintaxe

ROLLBACK;

Exemplo

DELETE FROM CUSTOMERS

WHERE AGE = 25;

ROLLBACK;

 SAVE POINT: define um ponto de salvamento dentro de uma transação.


Sintaxe

SAVEPOINT SAVEPOINT_NAME;

8
DQL: linguagem de consulta de dados

Assim, os comandos DQL são basicamente instruções SELECT. Portanto, as


instruções SELECT permitem consultar o banco de dados para localizar
informações em uma ou mais tabelas e retornar à consulta como um conjunto
de resultados.

Dessa forma, um conjunto de resultados é uma estrutura de array, ou mais


precisamente, um conjunto de resultados é uma matriz bidimensional. Então, o
índice interno para cada linha de dados é a pseudocoluna rowid, que mapeia
para o endereço físico onde os dados são gravados.

 SELECT: é usado para recuperar dados do banco de dados.


#Exemplo

Problema: Liste todos os fornecedores na Itália.

SELECT *

FROM Supplier

WHERE Country = 'Italy'

Comandos SQL

Comandos SQL: Cláusulas

Primeiramente, as cláusulas são funções integradas disponíveis para nós no


SQL. Dessa forma, com a ajuda de cláusulas, podemos lidar com dados
facilmente armazenados na tabela.

Então, as cláusulas nos ajudam a filtrar e analisar os dados rapidamente.


Portanto, quando temos grandes quantidades de dados armazenados no banco
de dados, usamos cláusulas para consultar e obter os dados exigidos pelo
usuário.

Alguns dos exemplos de cláusulas são: WHERE, AND, OR, LIKE, TOP,
ORDER BY, HAVING, GROUP BY etc.

WHERE:

Uma cláusula WHERE filtra os dados que atendem a alguns critérios.

9
WHERE retorna apenas as linhas de seu interesse.

Uma condição WHERE retorna verdadeiro ou falso.

WHERE pode ser usado com SELECT, UPDATE e DELETE.

#Exemplo

Liste todos os fornecedores na França.

SELECT *

FROM Supplier

WHERE Country = 'France'

SQL WHERE com AND, OR e NOT:

Um WHERE com AND requer que duas condições sejam verdadeiras.

WHERE com OR requer que uma das duas condições seja verdadeira.

WHERE com NOT nega a condição especificada.

#Exemplo

Problema: Liste todos os fornecedores em Paris, França.

SELECT *

FROM Supplier

WHERE Country = 'France' AND City = 'Paris'

SQL GROUP BY:

Retorna um registro para cada grupo.

Pode agrupar registros por uma ou mais colunas.

São usados com agregados: COUNT, MAX, etc.

10
#Exemplo

Problema: Liste o número de produtos para cada fornecedor, classificados de


cima para baixo.

SELECT S.CompanyName, COUNT(P.Id) AS Products

FROM Supplier S

JOIN Product P ON S.Id = P.SupplierId

GROUP BY S.CompanyName

ORDER BY COUNT(P.Id) DESC

SQL GROUP BY HAVING

HAVING é como WHERE, mas opera em registros agrupados.

HAVING requer que uma cláusula GROUP BY esteja presente.

Os grupos que atenderem aos critérios HAVING serão devolvidos.

WHERE e HAVING podem ser usados na mesma consulta.

HAVINGs são usados com agregados: COUNT, SUM, etc.

#Exemplo

Problema: Liste todos os países com mais de 2 fornecedores.

SELECT Country, COUNT(Id) AS Count

FROM Supplier

GROUP BY Country

HAVING COUNT(Id) > 2

SQL ORDER BY

A cláusula ORDER BY retorna as linhas em uma determinada ordem de


classificação.

11
SQL ORDER BY permite classificar por uma ou mais colunas.

Os registros podem ser retornados em ordem crescente ou decrescente.

#Exemplo

Problema: liste todos os clientes classificados por país.

SELECT *

FROM Customer

ORDER BY Country

Funções SQL COUNT, SUM, AVG

COUNT, SUM e AVG são funções agregadas.

COUNT retorna uma contagem do número de valores de dados.

SUM retorna a soma dos valores dos dados.

AVG retorna a média dos valores dos dados.

#Exemplo

Problema: obtenha o número total de produtos.

SELECT COUNT(Id) AS 'Product Count'

FROM Product

Mudança de Assunto.

Trabalhos em Grupos, Investigar seguintes Temas

1. Tipos de base de dados e suas características


2. Normalização das tabelas na base de dados
3. Tipos de Relacionamento das tabelas na base de dados
4. Modelos de Base de Dados

12
Regulamento

 Conceber na folha A4, manuscrito com esferográfica de tinta azul, limite


máximo de folha 10 de paginação, limite mínimo de folha 5 de paginação.
 Todos Trabalho devem ter demostração e exemplos práticos
 Os grupos que não defenderem na data indicado será desclassificado

Aviso

Poderá ocorrer mudança de tecnologia caso os computadores da instituição não tiver os


requisitos para instalação do MYSQL-INSTALLER-COMMUNITY. Os comandos
serão os mesmo apenas tecnologia poderá ser alterado.

MYSQL-INSTALLER-COMMUNITY (MYSQL WORKBENCK)

Instalador do MySQL é o instalador do assistente para Windows. Ele fornece tudo-


em-um pacote como amostra DB, conector, documentação, mas o servidor é o mesmo
que MySQL Community Server. MySQL Community Server é "o servidor MySQL".

Outras Tecnologias Semelhantes de suporte PHP na gestão de dados são


PHPmyAdmin,Adminer, SEQUEL PRO, EASYPHP entre outros.

Vamos Instalar mysql-installer-community-5.6.10.1

user ds
senha 1234

Vamos todos usar estes credenciais de forma unificada no processo de ensino e


aprendizagem.

13
14
15
16
17
18
EXERCÍCIOS PRÁTICOS

Para Começarmos Vamos Memorizar os Seguintes Comandos

Para Mostrar Bases de Dados


- show databases;
Para usar Bases de Dados
- Use nome da base de dados
Para Mostrar as Tabelas
- show tables;

PARA CRIAR BASE DE DADOS

19
PARA CRIAR E RELACIONAR DUAS TABELAS

PARA INSERIR OU GRAVAR INFORMAÇÃO NA TABELA

PARA VISUALIZAR OU MOSTRAR AS INFORMAÇÕES NA TABELA

PARA FILTRAR INFORMAÇÕES NA TABELA OU PROCURAR

PARA ACTUALIZAR INFORMAÇÕES NA TABELA

PARA ELIMINAR OU EXCLUIR INFORMAÇÕES NA TABELA

20

Você também pode gostar