Você está na página 1de 35

ISPCAB !

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA


PROGRAMAÇÃO
DE
BASE DE DADOS I
Docente:
• Eng.º Wagnel Sambo
II ANO
2022/2023

2022/2023 Engº Wagnel Sambo 1


PROJECTO DE
BASE DE DADOS

2022/2023 Engº Wagnel Sambo 2


1ºMODELAÇÃO DE
BASE DE DADOS

2022/2023 Engº Wagnel Sambo 3


INTRODUÇÃO
A humanidade sempre procurou manter registos históricos dos eventos mais importantes para
que pudessem ser u@lizados posteriormente.

Exemplos: Pinturas em cavernas, inscrições hieroglíficas, escritas e a imprensa (a par@r do século


XV).

Os computadores inventados e aperfeiçoados a par@r do século XX permi@ram que os dados


fossem armazenados e recuperados com grande rapidez e facilidade.

No início da década de 70 surgiram os SGBDs (Sistemas de Gestor de Base de Dados).

Pesquisas na área resultaram em um conjunto de técnicas, processos e notações para a


modelagem ou projeto de base de dados.
2022/2023 Engº Wagnel Sambo 4
DADOS E INFORMAÇÃO
DADOS

Dados é um conjunto de informações (quan@ta@vas, qualita@vas, categóricas ou indefinidas)


podendo ser organizadas ou não.

INFORMACAO

Informação é o resultado do processamento, manipulação e organização de dados, de tal forma


que represente uma modificação (quan@ta@va ou qualita@va) no conhecimento do sistema
(pessoa, animal ou máquina) que a recebe.

2022/2023 Engº Wagnel Sambo 5


BASE DE DADOS & SGBD
Uma base de dados pode ser definido como:

ü Uma coleção de dados integrados que tem por obje@vo atender a uma comunidade de
u@lizadores;

ü Um conjunto de dados persistentes e manipuláveis que obedecem a um padrão de


armazenamento. Exemplos: lista telefônica, dicionário, etc.

O Sistema de Gestor de Base de Dados é o so`ware que incorpora as funções de definição,


recuperação e alteração de dados em um base de dados.

2022/2023 Engº Wagnel Sambo 6


Porquê u2lizar bases de dados informa2zados?

Bases de dados informa@zados apresentam as seguintes vantagens:

ü Compacto (elimina ficheiros de papéis);

ü Rápido;

ü Integrado (vários aplica@vos u@lizam o mesmo repositório de dados);

ü Par@lhado (vários u@lizadores podem acessar);

ü Seguro (controlo de acesso);

ü Padronizado;

ü Consistente;

ü Suporte a transações.
2022/2023 Engº Wagnel Sambo 7
MODELO RELACIONAL
Foi apresentado por Edgard Frank Codd (IBM) em seu ar@go A Rela@onal Model of Data for Large
Shared Data Banks (1970). Foi o evento mais importante na história recente da área de base de
dados. O obje@vo do modelo é representar os dados de forma mais simples, através de um de
conjuntos de tabelas inter-relacionadas. Este modelo abandona os conceitos anteriores,
tornando os bases de dados mais flexíveis, tanto na forma de representar as relações entre os
dados, como na tarefa de modificação de sua estrutura, sem ter que reconstruir toda a base de
dados.

2022/2023 Engº Wagnel Sambo 8


MODELO RELACIONAL
Em resumo e de acordo com a arquitetura ANSI / SPARC os bases de dados relacionais consistem de três componentes:
1. Uma coleção de estruturas de dados, formalmente chamadas de relações, ou informalmente tabelas, compondo o
nível conceptual;
2. Uma coleção dos operadores, a álgebra e o cálculo relacionais, que cons@tuem a base da linguagem SQL; e
3. Uma coleção de restrições da integridade, definindo o conjunto consistente de estados de base de dados e de
alterações de estados.
Os primeiros produtos relacionais começaram a aparecer no final da década de 1970. Hoje a maioria dos Sistemas de
Gestão de Base de Dados é relacional:

ü IBM: DB2

ü Microso`: SQL Server, Access

ü Oracle: 9i, 10g, 11g

ü MySQL

ü PostgreSQL

A principal linguagem de manipulação de dados em sistemas de Gestão de bases de dados relacionais é o SQL (Structured
Query Language).
2022/2023 Engº Wagnel Sambo 9
MODELAGEM DE DADOS
A modelagem de dados é a criação de uma estrutura de dados eletrônica (base de dados) que representa um
conjunto de informações. Esta estrutura permite ao u@lizador recuperar dados de forma rápida e eficiente. O
obje@vo é incluir dados em uma estrutura que possibilite transformar os dados originais em vários @pos de saídas
como formulários, relatórios, e@quetas ou gráficos.
Para que possamos implementar, de forma correta, um BD u@lizando algum SGBD, temos que passar por uma fase
intermediária – e não menos importante - chamada modelagem de dados.
Quando estamos aprendendo a programar e desenvolver os algoritmos, em geral dividimos esta tarefa em três
fases:
1. Entendimento do problema;
2. Construção do algoritmo;
3. Implementação (linguagem de programação).
E se tratando da base de dados não é muito diferente:
1. Entendimento do problema;
2. Construção do modelo ER – en@dade e relacionamento;
3. Implementação
2022/2023 (SGBD). Engº Wagnel Sambo 10
MODELAGEM DE DADOS- MODELO ENTIDADE RELACIONAMENTO
Antes da implementação em um SGBD, precisamos de uma descrição formal da estrutura de
uma base de dados, de forma independente do SGBD. Essa descrição formal é chamada modelo
conceptual. Podemos comparar o modelo conceptual com o pseudo-código/português
estruturado em algoritmos, na qual construímos os algoritmos independentes de que linguagem
de programação iremos desenvolver nossos programas.

O projeto de uma base de dados ocorre geralmente observando-se as seguintes etapas:

üLevantamento e análise de requisitos

üModelo conceptual

üModelo lógico

üModelo rsico

2022/2023 Engº Wagnel Sambo 11


MODELAGEM DE DADOS- LEVANTAMENTO E ANALISE DE
REQUISITOS
É a primeira etapa do projeto de um sistema de aplicação em base de dados. O analista
entrevista o cliente solicitante de Base de Dados para fazer o levantamento dos requisitos de
dados. Esses requisitos devem ser especificados em um formulário de forma detalhada e
completa.

É importante definir também os requisitos funcionais da aplicação, isto é, as operações


(transações) definidas pelo u@lizador que serão aplicadas a Base de Dados.

2022/2023 Engº Wagnel Sambo 12


MODELAGEM DE DADOS- MODELO CONCEPTUAL
É a próxima etapa do projeto de um sistema de aplicação em base de dados. Representa ou
descreve a realidade do ambiente do problema, cons@tuindo-se em uma visão global dos
principais dados e relacionamentos, independente das restrições de implementação.
É uma descrição em alto nível (macro definição), mas que tem a preocupação de capturar e
retratar toda a realidade de uma organização.
O resultado de um modelo conceptual é um esquema que representa a realidade das
informações existentes, assim como as estruturas de dados que representam estas informações.
Costumamos representar um modelo conceptual através da abordagem en@dade-
relacionamento (ER). Nesta etapa, construi-se um diagrama, chamado diagrama en@dade-
relacionamento (DER). Com é representado na figura a baixo.

2022/2023 Engº Wagnel Sambo 13


MODELO CONCEPTUAL - MER (Modelo En@dade-
Relacionamento)
Foi definido por Peter Chen em 1976, e teve como base a teoria relacional criada por Edgard F.
Codd (1970).

Um MER, é um modelo formal, preciso, não ambíguo (Duvidoso). Isto significa que diferentes
leitores de um mesmo MER devem sempre entender exatamente o mesmo. Tanto é assim, que
um MER pode ser usado como entrada de uma ferramenta CASE (Computer Aided So`ware
Engineering) na geração de uma base de dados relacional.

2022/2023 Engº Wagnel Sambo 14


MODELO CONCEPTUAL - MER (Modelo En@dade-Relacionamento)
ü ENTIDADE
En@dade pode ser entendida como uma “coisa” ou algo da realidade modelada onde deseja-se manter informações na base de
dados (BD). No exemplo anterior, as tabelas Clientes e Telefones são as en@dades no modelo En@dade-Relacionamento.
Note que uma en@dade pode representar tanto objetos concretos (Cliente), quanto objetos abstratos (horário). A en@dade é
representada por um retângulo. Uma en@dade se transformará em uma tabela no modelo rsico da base de dados.
ü ATRIBUTOS
Dados que são associados a cada ocorrência de uma en@dade ou de um relacionamento ou caracterís@cas de uma determinada
coisa. E possui os seguintes @pos:
Atributos Compostos versus Simples (Atômicos)
• Atributos Compostos: podem ser divididos em subpartes menores, representam atributos mais básicos com significados
independentes.
• Atributos Simples (Atômicos): são não divisíveis
Atributos de valor único versus mul2valorados
• Atributos de valor único: aquele que possui valor único para uma en@dade em par@cular, como a idade.
• Atributos mul2valorados: são as que podem ter um conjunto de valores para uma mesma en@dade, como cores de um carro
ou formação académica.
Atributos armazenados versus derivados
• Em alguns casos, dois ou mais valores de atributo estão relacionados. Por exemplo, os atributos idade e data_nascimento. O
valor da idade pode ser determinado pela data actual e o valor da data_nascimento. Logo, a Idade é derivado e
data_nascimento
2022/2023 é armazenado. Engº Wagnel Sambo 15
Atributo Iden2ficador ou Atributo Determinante
Atributo ou conjunto de atributos e relacionamentos cujos valores dis@nguem uma ocorrência da en@dade das
demais.
Para deixarmos o modelo de en@dade e relacionamentos mais preciso, é necessário que haja uma forma de
dis@nguir uma ocorrência da en@dade das demais ocorrências da mesma en@dade. Sendo assim, cada en@dade
deve possuir um iden@ficador. Há várias formas de iden@ficarmos en@dades. Observe o modelo abaixo:

ü RELACIONAMENTO
Relacionamento é um conjunto de associações entre en@dades. O relacionamento é representado por um
LOSANGO e o nome do relacionamento (POSSUI, ESTUDA por exemplo). Esse losango é ligado por linhas aos
retângulos que representam as en@dades par@cipantes do relacionamento.
ü CARDINALIDADE DO RELACIONAMENTO
Para que possamos expressar essas ideias no modelo, é necessário definir uma propriedade importante do
relacionamento - sua cardinalidade.
A cardinalidade é um número que expressa o comportamento (número de ocorrências) de determinada en@dade
associada a uma ocorrência da en@dade em questãoEngº
2022/2023 através do relacionamento.
Wagnel Sambo 16
Existem dois @pos de cardinalidade: mínima e máxima. A cardinalidade máxima, expressa o
número máximo de ocorrências de determinada en@dade, associada a uma ocorrência da
en@dade em questão, através do relacionamento. A cardinalidade mínima, expressa o número
mínimo de ocorrências de determinada en@dade associada a uma ocorrência da en@dade em
questão através do relacionamento. Usaremos a seguinte convenção para expressar a
cardinalidade:
Cardinalidade (Mínimo, Máximo)
Observe as cardinalidades mínima e máxima representadas no modelo abaixo:

Para fazermos a leitura do modelo, par@mos de determinada en@dade e a cardinalidade


correspondente a essa en@dade é representada no lado oposto. Em nosso exemplo, a
cardinalidade (0:N) faz referência a TITULAR, já a cardinalidade (1:1), faz referência a
DEPENDENTE.

2022/2023 Engº Wagnel Sambo 17


INTERPRETACÃO DO DIAGRAMA ENTIDADE-RELACIONAMENTO

A figura a seguir apresenta os detalhes necessários à interpretação de um DER (Diagrama


En@dade Relacionamento).

2022/2023 Engº Wagnel Sambo 18


MODELO LÓGICO
Tem seu início a par@r do modelo conceptual, levando em consideração três abordagens
principais: Relacional (atualmente o mais u@lizado), Hierárquica e Rede.
O modelo lógico descreve as estruturas que estarão con@das na Base de Dados, mas sem
considerar ainda nenhuma caracterís@ca específica de SGBD, resultando em um esquema lógico
de dados. Nesta etapa faz-se a entrega das chaves e a normalização
Normalização
Normalização é o processo que permite a simplificação da estrutura de uma base de dados de
modo que esta se apresente em um ó@mo estado.
Esse processo é bastante simples e tem por principal obje@vo remover grupos repe@dos de
informações. Normalmente, ao normalizar aumenta-se o número de tabelas e o número total de
campos.
A teoria da normalização é baseada no conceito de Formas Normais, que são regras aplicada as
estruturas das tabelas com o obje@vo de minimizar ou eliminar a redundância de informações.
Embora existam seis formas normais, normalmente se considera que um esquema da base de
dados está em um bom nível quando ele se Engº
2022/2023 encontra
Wagnel Sambona terceira forma normal. 19
MODELO LÓGICO- 1ª Forma Normal
Diz-se que uma relação está na primeira forma normal quando:
ü Não contém atributos mul@valorados (grupos de atributos)
ü Não contém grupos repe@@vos

Exemplo:
FATURA (NumeroFatura (PK), CodigoCliente, NomeCliente, Endereco, CodigoProduto,
DescricaoProduto, Preco, Quan@dade)
Para fazer a passagem para a 1ª FN será necessário: Separar a en@dade Fatura em duas
en@dades: Fatura e Itens.
ü FATURA (NumeroFatura,CodigoCliente, NomeCliente, Bairro, Cidade, Rua)
ü ITENS (NumeroFatura (PK), CodigoProduto(PK), DescricaoProduto, Preco, Quan@dade)

2022/2023 Engº Wagnel Sambo 20


MODELO LÓGICO- 2ª Forma Normal
Diz-se que uma relação está na segunda forma normal quando:
ü Está na 1FN
ü Todos os atributos não chave dependem da totalidade da chave.
Exemplo:
Fatura (NumeroFatura, CodigoCliente, NomeCliente, Bairro, Cidade, Rua)
Itens (NumeroFatura (PK), CodigoProduto(PK), DescricaoProduto, Preco, Quan@dade)
OBS: A tabela Itens não se encontra na 2FN porque os atributos DescricaoProduto, Preco,
Quan2dade não dependem de CodigoFatura, mas só de CodigoProduto.
Para fazer a passagem para a 2ª FN será necessário: Separar a en@dade Itens em duas en@dades:
Itens e Produto.
Relação na 2ª FN:
ü Fatura (NumeroFatura (PK),CodigoCliente, NomeCliente, Bairro, Cidade, Rua)
ü Itens (NumeroFatura (PK), CodigoProduto (PK), Quan@dade)
ü Produto (CodigoProduto (PK), DescricaoProduto, Preco)
2022/2023 Engº Wagnel Sambo 21
MODELO LÓGICO- 3ª Forma Normal
Uma relação está na 3FN se:
ü Está na 2ª FN
ü Todos os seus atributos não chave NÃO são iden2ficados por um outro também não chave.

Exemplo:
ü Fatura (NumeroFatura (PK), CodigoCliente, NomeCliente, Bairro, Cidade, Rua)
ü Itens (NumeroFatura (PK), CodigoProduto (PK), Quan@dade)
ü Produto (CodigoProduto (PK), DescricaoProduto,Preco)
A tabela Fatura não se encontra na 3FN porque os atributos NomeCliente, Bairro, Cidade, Rua são
iden@ficados por CodigoCliente e não por CodigoFatura.
Para passar para a 3 FN deve-se separar a en@dade Fatura em duas en@dades: Fatura e Cliente.
Relação na 3ª FN:
ü Fatura (NumeroFatura (PK), CodigoCliente)
ü Cliente (CodigoCliente (PK), NomeCliente, Bairro, Cidade, Rua)
ü Itens (NumeroFatura (PK), CodigoProduto (PK), Quan@dade)
ü Produto (CodigoProduto (PK), DescricaoProduto (PK),Preco)
2022/2023 Engº Wagnel Sambo 22
MODELO FÍSICO
Parte do modelo lógico e descreve as estruturas rsicas de armazenamento de dados, tais como:
tamanhos de campos, índices, @pos de dados, nomenclaturas, etc.

Este modelo detalha o estudo dos métodos de acesso do SGDB, para elaboração dos índices de
cada informação colocada nos modelos conceptual e lógico.

É a etapa final do projeto de Base de Dados, na qual será u@lizada a Linguagem de Definição de
Dados (DDL), para a realização da montagem do mesmo no nível de dicionário de dados.

2022/2023 Engº Wagnel Sambo 23


CASO PRÁTICO-GESTÃO DE RECURSOS HUMANOS
A Recruta-WS, é uma empresa nacional com finalidade de recrutar candidatos para o enquadramento em algumas empresas com
cede em Cabinda. Para tal, a empresa precisa de alguns candidatos, isto é, depois de serem apurados, para que possam ser
enquadrados nas empresas que os necessita tendo em conta as suas especialidades. A empresa Recruta-WS, tem passado
dificuldades para o controlo dos candidatos tendo em conta ao fluxo de candidatos sempre que se divulga uma vaga. Dai solicitou a
Eng.ª Joia, com o objectivo de facilitar a empresa durante o recrutamento. Em conversa com o gestor, disse o seguinte:

Na empresa Recruta-WS, existe um funcionário que faz o registo dos candidatos, que posteriormente são selecionados para uma
vaga numa determinada empresa. Também os candidatos são dirigidos num curso de acordo as suas especialidades.

Na empresa Recruta-WS, existem modelos para ser preenchido, seja internamente ou externamente. Nestes modelos, constam os
seguintes dados:

Para o funcionários temos um código que o identifica, o nome, a data de nascimento, a idade, o endereço, telefone, email, Número
de BI; para os candidatos dados são os mesmos com os dos funcionários incluindo apurado e a especialidade; Para a empresa, os
dados temos o NIF, Nome, Endereço, Especialidade, Telefone, email, site; e para o curso, temos Código, especialidade, número de
dias, hora diária e data.

2022/2023 Engº Wagnel Sambo 24



IMPLEMENTAÇÃO
DE BASE DE DADOS
2022/2023 Engº Wagnel Sambo 25
SQL
Structured Query Language
2022/2023 Engº Wagnel Sambo 26
ESTUDO DA LINGUAGEM SQL
A linguagem SQL é o recurso mais conhecido por DBAs (Data Base Associa2on) e
programadores para a execução de comandos em bases de dados relacionais. É por meio dela
que criamos tabelas, colunas, índices, atribuímos permissões a usuários, bem como realizamos
consultas a dados. Enfim, é u@lizando a SQL que “conversamos” com o base de dados.
Essa breve descrição já deixa clara a importância da compreensão e domínio sobre tal recurso.
Saiba, também, que ela facilita não apenas a execução de tarefas em SGBDs, mas também o
diálogo entre profissionais de base de dados e programadores.
Com base nisso, aprender sobre SQL, a Structured Query Language, passa a ser fundamental
para qualquer um que deseja actuar nessas áreas.
SQL (Structured Query Language) é a linguagem padrão em sistemas de gerenciadores de
bases de dados relacionais. É por meio dela que criamos tabelas, colunas, índices, garan@mos e
removemos privilégios a u@lizadores e, principalmente, consultamos os dados armazenados em
tabelas.
Trata-se de uma linguagem de consulta e de grande importância para desenvolvedores, pois é
com ela que podemos nos comunicar com as bases de dados u@lizados pelas aplicações.
2022/2023 Engº Wagnel Sambo 27
ESTUDO DA LINGUAGEM SQL- SUB-LINGUAGENS
O primeiro passo para aprender SQL é entender que essa se trata de uma linguagem declara@va, com a qual nos
preocupamos menos em como as coisas são feitas e nosso trabalho passa a ser informar o que queremos fazer
combinando um conjunto de comandos disponibilizado por ela. Os comandos da linguagem SQL são divididos em
conjuntos e essa separação é feita de acordo com o que cada comando faz. Comandos que fazem a@vidades
similares são agrupados no mesmo conjunto.
Vejamos a seguir quais são esses conjuntos com exemplos que apresentam os seus comandos mais u@lizados.

2022/2023 Engº Wagnel Sambo 28


ESTUDO DA LINGUAGEM SQL- SUB-LINGUAGENS
ü DDL - Data Defini@on Language - Conjunto de comandos que lidam com os objetos, criando bases de dados,
esquemas, tabelas, campos, etc. Dentre os mais u@lizados temos CREATE, ALTER e DROP. Exemplo: CREATE
TABLE produto -- Criação da tabela produto
ü DQL - Data Query Language - Linguagem de consulta de dados conta com o conjunto da instrução u@lizada para a
obtenção dos registros dos bases de dados. Exemplo: SELECT nome, valor FROM produto -- Recupera valores da
tabela produto
ü DML - Data Manipula@on Language - Os comandos aqui lidam com os dados. Alguns muito comuns são INSERT,
UPDATE e DELETE. Exemplo: INSERT INTO produto (nome, valor) VALUES (‘geladeira’,’1200’) -- Inserção de
valores na tabela produto
Aqui vale destacar que algumas literaturas colocam o SELECT como integrante do grupo DML, já que a sua função
nesse grupo seria de recuperação de dados. Outros conjuntos mais específicos são:
ü DTL - Data Transac@on Language - Linguagem de transação de dados que conta com o conjunto de instruções
usadas para gerenciar as transações que ocorrem dentro do base de dados. Exemplo: BEGIN TRAN -- Inicia uma
transação
ü DCL - Data Control Language - Linguagem de controle de dados possui o conjunto das instruções usadas para
controlar o acesso e gerenciar permissões de usuários no base de dados. Exemplo: GRANT CREATE TABLE to
usuario -- Concede privilégio de criar tabela a um Engº
2022/2023 usuário
Wagnel Sambo 29
SUB-LINGUAGENS - DDL
Agora veremos alguns comandos do grupo DDL com exemplos de códigos. Nesse momento não é necessário se
preocupar em entender completamente cada comando, pois em próximos conteúdos abordaremos cada um deles
em mais detalhes.
Os principais comandos agrupados em DDL são:
1. CREATE TABLE
2. DROP TABLE
3. ALTER TABLE
ü O comando CREATE TABLE é u2lizado para criar tabelas.
CREATE TABLE Contato (
Id int,
Nome varchar(255),
Telefone varchar(11)
);
ü Faz-se o uso do comando DROP, para eliminar uma Tabela.
DROP TABLE Contato
ü O comando ALTER TABLE, é para alterar uma tabela (Add, Modify, drop).
ALTER TABLE Contato
Add email VARCHAR(255)
2022/2023 Engº Wagnel Sambo 30
CONSTRAINTS (RESTRIÇÕES)
SUB-LINGUAGENS - DDL
Na criação de tabelas, também podem ser definidas o uso de RESTRIÇÕES. Restrições são regras a que os valores de uma ou mais
colunas devem obedecer. Por exemplo, o conteúdo da coluna Sexo só poderá conter os valores “F” ou “M”, a coluna Idade não
poderá conter valores nega@vos. A u@lização de restrições é a única garan@a que temos de que os dados existentes nas colunas
estão de acordo com as regras especificadas no projeto de Base de Dados.
Existem alguns @pos dis@ntos de restrições que se podem aplicar a colunas:
ü Constraint NOT NULL
ü Constraint DEFAULT
ü Constraint CHECK
ü Constraint UNIQUE
ü Constraint PRIMARY KEY
ü Constraint REFERENCES
Se quisermos que uma coluna não admita valores nulos, usamos a cláusula NOT NULL. Caso um valor não seja inserido em uma
coluna o valor padrão (default) armazenado nela é NULL. No entanto, é possível associar um outro valor default através da
cláusula DEFAULT. Se quisermos, por exemplo, que a localidade padrão (default) se chame Tchichiaco então teremos que fazer o
seguinte:
CREATE TABLE caixa_postal(
codigo NUMERIC NOT NULL,
2022/2023 Engº Wagnel Sambo 31
CONSTRAINTS (RESTRIÇÕES)
SUB-LINGUAGENS - DDL
A constraint CHECK permite realizar a validação dos dados inseridos na coluna, através da especificação de uma condição. São
admi@dos apenas os dados cujo resultado da avaliação da condição seja verdadeiro.
Exemplo:
CREATE TABLE Dados_Pessoais (
codigo NUMERIC NOT NULL,
nome CHAR(60) CHECK(nome NOT LIKE „%Regilan%‟),
idade INTEGER NOT NULL CHECK(Idade >= 0 AND Idade <= 150),
sexo CHAR CHECK (SEXO IN(“M”, “F”)),
tempo_servico INTEGER CHECK(Tempo_Servico >= 0) )
A constraint UNIQUE indica que os valores dessa coluna não podem se repe@r. Em uma tabela podem exis@r tantas colunas
UNIQUE quantas forem necessárias.
Veja o exemplo:
CREATE TABLE Dados_Pessoais (
codigo NUMERIC NOT NULL,
nome CHAR(60) UNIQUE,
cpf CHAR(15) UNIQUE,
2022/2023 Engº Wagnel Sambo 32
tempo_servico INTEGER CHECK(Tempo_Servico >= 0) )
SUB-LINGUAGENS – DDL- COMANDO ALTER
O comando ALTER TABLE permite alterar a estrutura de uma tabela. Com o comando é possível
adicionar uma nova coluna u@lizando função Add, modificar uma coluna já existente u@lizando a
função Modify ou eliminar uma coluna u@lizando a função Drop.
Veja a sintaxe dos comandos:
ADICIONAR UM NOVO CAMPO:
ALTER TABLE Nome_Da_Tabela ADD Nome_Coluna Tipo_Coluna
MODIFIFCAR UM CAMPO:
ALTER TABLE Nome_Da_Tabela MODIFY Nome_Coluna Tipo_Coluna
ELIMINAR UM CAMPO:
ALTER TABLE Nome_Da_Tabela DROP Nome_Coluna Tipo_Coluna

2022/2023 Engº Wagnel Sambo 33


SUB-LINGUAGENS - DML/DQL
Os principais comandos agrupados em DML e DQL são:
1. INSERT
2. UPDATE
3. DELETE
4. SELECT
ü Comando INSERT
Podemos inserir registros numa tabela por meio do comando INSERT. Nele, informamos as colunas que queremos
inserir os dados, e os valores que queremos preencher nesses campos da tabela.
INSERT INTO Cliente(nome, telefone) VALUES ('Suzana', '99999-9999’)
ü Comando UPDATE
Além de excluir dados, temos casos em que será necessário atualizar valores na tabela. E para isso temos o
comando UPDATE que também pode ser usado com a cláusula WHERE.
UPDATE Cliente SET telefone = '99999-9999' -- Atualizará o telefone de todos os cliente
UPDATE Cliente SET telefone = '99999-9999' WHERE id = 3 -- Atualizará o telefone do cliente com id = 3
ü Comando DELETE
Para a exclusão de registros temos o comando DELETE, que pode ser usado em junção com a cláusula WHERE. Caso
essa condição não esteja presente, todos os dados da tabela serão apagados.
DELETE FROM Cliente -- Excluirá todos os registros
DELETE FROM Cliente WHERE id = 2 -- Excluirá apenas o registro com id igual a 2
2022/2023 Engº Wagnel Sambo 34
SUB-LINGUAGENS - DML/DQL
ü Comando SELECT
O comando SELECT, com o qual recuperamos informações de uma tabela.
SELECT nome, telefone FROM Cliente
SELECT nome, telefone FROM Cliente WHERE nome = 'Ramon'

2022/2023 Engº Wagnel Sambo 35

Você também pode gostar