Escolar Documentos
Profissional Documentos
Cultura Documentos
– Etapa 1 –
Modelagem Conceitual
NGUESSAN.DESIRE@POLI.USP.BR
Désiré NGuessan 1
Modelagem Conceitual
C O objetivo É: O objetivo NÃO É:
Representar a semântica da Descrever a estrutura do
informação, independente de armazenamento do banco
considerações de eficiência. de dados.
Désiré NGuessan 2
Análise de Requisitos
• Requisitos dos Dados
– Entrada: Universo de Discurso (UdD)
• “realidade”da organização
• Informaçao a ser tratada com todas suas propriedades,
restrições
– Processo
• Coleta e análise
• Entrevistas, documentos, formulários
– Resultado
• Descrição “aproximativa”, ling. natural
Désiré NGuessan 3
1
Modelagem Conceitual
Abordagem: E-
E-R
• Introduzido por Peter Chen no artigo:
The Entity-Relationship Model - Toward a
Unified View of Data, Transactions on
Database Systems, 1(1), March 1976.
Modelagem Conceitual
Abordagem: E-
E-R
• Padrão para a modelagem conceitual de Sistema de
Banco de Dados
• Principais Características:
– Utilização de poucos conceitos
– Excelente representação gráfica
– Facilidade de compreensão
• Elementos Básicos
– Entidade
– Atributo
– Relacionamento
– Cardinalidade
Désiré NGuessan 5
Modelagem Conceitual
Abordagem: E-
E-R
• Descrição conceitual do BD de forma
independente de implementação de um
SGBD
– Registra que dados podem aparecer no BD
– não registra como os mesmos estarão
armazenados no SGBD
Désiré NGuessan 6
2
Modelagem Conceitual
Abordagem: E-
E-R
– Técnica mais conhecida: Abordagem
Entidade-Relacionamento (ER)
– Uso do DER (Diagrama ER)
– Modelo Conceitual = modelo de dados
abstrato
Désiré NGuessan 7
Abordagem: E-
E-R
Elementos Básicos:
• Entidade
– Conjunto de objetos (concreto ou abstrato) do
mundo real que possuem características
comuns.
Désiré NGuessan 8
Abordagem: E-
E-R
Elementos Básicos:
• Entidade
– Notação:
PESSOA CIDADE Entidades
PESSOA DEPARTAMENTO
Désiré NGuessan 9
3
Abordagem: E-
E-R
Elementos Básicos:
• Entidade
– Notação:
Pessoa Cidade
Tarso Porto Alegre
Alberto São Paulo Ocorrências
Ana Belo Horizonte da entidade
Désiré NGuessan 10
Abordagem: E-
E-R
Elementos Básicos:
• Relacionamento
– É a representação de uma associação entre
duas ou mais entidades
Désiré NGuessan 11
Abordagem: E-
E-R
Elementos Básicos:
• Relacionamento - Notação:
Désiré NGuessan 12
4
Abordagem: E-
E-R
Elementos Básicos:
• Diagrama de Ocorrências de entidades e
relacionamentos são representados:
– Ocorrências de entidades (círculo vazado)
– Ocorrência de relacionamento (círculo preto)
Désiré NGuessan 13
Abordagem: E-
E-R
Elementos Básicos:
• Diagrama de Ocorrências de entidades e
relacionamentos são representados:
f2
f4 entidade
f1
f3 f5 FUNCIONÁRIO
relacionamento
f1,d1 f4,d2
f3,d1 f5,d3 LOTAÇÃO
entidade
d1 d3
d2 DEPARTAMENTO
Désiré NGuessan 14
Abordagem: E-
E-R
Elementos Básicos:
• Relacionamento
– Auto-Relacionamento
• Relacionamento entre ocorrências de uma
mesma entidade
• Cada entidade tem um papel
– função que uma instância da entidade cumpre dentro de
uma instância do relacionamento
Désiré NGuessan 15
5
Abordagem: E-
E-R
Elementos Básicos:
• Relacionamento
PESSOA
marido esposa
CASAMENTO
Désiré NGuessan 16
Abordagem: E-
E-R
Elementos Básicos:
• Diagrama de Ocorrência
p2
p4
p1 p5
p3
marido
marido esposa esposa
p1,p2 p4,p5
Désiré NGuessan 17
Abordagem: E-
E-R
Elementos Básicos:
• Cardinalidade
– Cardinalidade (mínima, máxima) de entidade
em relacionamento:
• número (mínimo, máximo) de ocorrências de
entidade associadas a uma ocorrência da
entidade em questão através do relacionamento
– Cardinalidade (multiplicidade) de
mapeamento
Désiré NGuessan 18
6
Abordagem: E-
E-R
Elementos Básicos:
• Cardinalidade
Funcionário Lotação Departamento
n 1
Désiré NGuessan 19
Abordagem: E-
E-R
Elementos Básicos:
• Relacionamentos Binários
– Relacionamento cujas ocorrências contém
duas ocorrências de entidade
– Classificação
• n:n (muitos-para-muitos)
• 1:n (um-para-muitos)
• 1:1 (um-para-um)
Désiré NGuessan 20
Abordagem: E-
E-R
Elementos Básicos:
• Relacionamentos Binários
– Relacionamentos 1:1 (um-para-um)
Pessoa
1 1
marido esposa
casamento
7
Abordagem: E-
E-R
Elementos Básicos:
• Relacionamentos Binários
– Relacionamentos 1:n (um-para-muitos)
Aluno n
Inscrição Curso
1
Empregado
1 n
supervisor supervisionado
Supervisão
Désiré NGuessan 22
Abordagem: E-
E-R
Elementos Básicos:
• Um aluno pode estar inscrito em no máximo 1
curso mas um curso pode ter diversos alunos
• Um empregado supervisor pode supervisionar
no máximo n empregados, mas um empregado
não supervisor pode ser supervisionado por 1
único supervisor
Désiré NGuessan 23
Abordagem: E-
E-R
Elementos Básicos:
• Relacionamentos Binários
– Relacionamentos n:n (muitos-para-muitos)
Produto
n n
composto componente
Composição
Médico n
Consulta Paciente
n
Désiré NGuessan 24
8
Abordagem Entidade-Relacionamento
Exercício:
Desenhar um diagrama ER que contemple as seguintes
regras:
1. Cada cidade deve ter uma ou mais ruas. Cada rua deve estar
em uma cidade.
2. Cada rua deve ter um ou mais prédios. Cada prédio deve
estar em uma rua.
3. Cada prédio pode ter um ou mais apartamentos. Cada
apartamento deve estar em um prédio.
4. Cada rua deve estar localizada em um bairro. Cada bairro
pode ter uma ou mais ruas.
Désiré NGuessan 25
1 n
Cidade Cidade-Rua Rua
n 1
Rua-
Predi
o
n
Prédio
1 1
Bairro Predio-
Apto
n
Apartam
ento
Désiré NGuessan 26
Modelagem Conceitual
• Estudo de caso 1: Administradora de imóveis.
- A administradora trabalha tanto com administração de
condomínios, quanto com a administração de aluguéis.
- Uma entrevista com o gerente da administradora resultou
nas seguintes informações:
- A administradora administra condomínios formados por
unidades condominiais.
- Cada unidade condominial é de propriedade de uma ou
mais pessoas. Uma pessoa pode possuir diversas
unidades.
- Cada unidade pode ser alugada para no máximo uma
pessoa. Uma pessoa pode alugar diversas unidades.
Désiré NGuessan 27
9
1 n
Condomínio Cond-Unid Unidade
n n
Unid-Proprietário
1 n
Inquilino
Proprietário
Désiré NGuessan 28
Abordagem: E-
E-R
Elementos Básicos:
• Atributos
– A cada entidade (ou relacionamento) podem
estar associados um ou mais atributos que
representam suas propriedades elementares.
– Definem os valores que são associados às
ocorrências das entidades a partir de
determinados domínios
Désiré NGuessan 29
Abordagem: E-
E-R
Elementos Básicos:
• Atributos
PESSOA
Nome Data de
Nascimento
Désiré NGuessan 30
10
Abordagem: E-
E-R
Elementos Básicos:
Atributos (continuação...)
Um atributo deve ser associado a um relacionamento
quando não for possível associá-lo a uma entidade
Classificação
Désiré NGuessan 31
Abordagem: E-
E-R
Elementos Básicos:
Atributos (continuação...)
Um atributo deve ser associado a um relacionamento
quando não for possível associá-lo a uma entidade
Data/hora
Désiré NGuessan 32
Abordagem: E-
E-R
Elementos Básicos:
Atributos (continuação...)
Nome (1,1)
FUNCIONÁRIO Sobrenome (1,n)
Telefone (0,n)
(1,1) atributo monovalorado e obrigatório
(0,1) atributo monovalorado e opcional(idade)
(1,n) atributo multivalorado e obrigatório
(0,n) atributo multivalorado e opcional
Désiré NGuessan 33
11
Abordagem: E-
E-R
Elementos Básicos:
Atributos (continuação...)
– Atributo identificador
• Um identificador é um atributo ou (menor) grupo de
atributos que determina univocamente uma
entidade.
• Toda entidade deve possuir um identificador,
podendo este ser simples ou composto, além de
interno ou externo.
Désiré NGuessan 34
Abordagem: E-
E-R
Elementos Básicos:
Atributos (continuação...)
Atributo identificador
simples
FUNCIONÁRIO Matrícula
Nome
Désiré NGuessan 35
Abordagem: E-
E-R
Elementos Básicos:
Atributos (continuação...)
Capacidade
Prateleira
Numero do corredor
Numero da prateleira
Identificador
composto por vários
atributos
Désiré NGuessan 36
12
Abordagem: E-
E-R
Elementos Básicos:
• Generalização/Especialização
– Permite atribuir propriedades particulares a um
subconjunto das ocorrências (especializadas)
de uma entidade genérica
– É associada a idéia de Herança de
propriedades
Désiré NGuessan 37
Abordagem: E-
E-R
Elementos Básicos:
• Generalização/Especialização
Nome
1 n
Filial Cliente Codigo
O cliente é dividido em
dois subconjuntos cada
um com propriedades
próprias
Désiré NGuessan 38
Abordagem: E-
E-R
Elementos Básicos:
• Generalização/Especialização
– Parcial
– Total
Désiré NGuessan 39
13
Abordagem: E-
E-R
Elementos Básicos:
• Generalização/Especialização
– Total
Cliente Indica que Todo cliente
é pessoa física ou
t pessoa jurídica
Pessoa Pessoa.
Física Jurídica
Désiré NGuessan 40
Abordagem: E-
E-R
Elementos Básicos:
• Generalização/Especialização
– Parcial
Funcionário Indica que nem todo
funcionário é motorista
p ou secretária
Motorista Secretária
Désiré NGuessan 41
Construindo o Modelos E-
E-R:
• Considerações a serem observadas:
– Um modelo ER é formal
• Diferentes leitores de um mesmo modelo ER
devem entender exatamente a mesma coisa
de DER:
• Envolvidos na confecção e uso de DER devem
ser ‘treinados.
• Muitas vezes usado informalmente para reunir
idéias e, usuários finais concordam e aprovam
sem entender efetivamente o que foi modelado.
Désiré NGuessan 42
14
Construindo o Modelos E-
E-R:
• ER tem poder de expressão limitado:
– Não representa todas as restrições (de integridade)
e propriedades que um BD deseja :
Pessoa
1 1
marido esposa
casamento
Désiré NGuessan 43
Construindo o Modelos E-
E-R:
• Estratégias de Modelagem:
– Processo incriminável com seqüência de passos
– Gradativamente o modelo vai sendo enriquecido
– Fontes de informações:
• Partindo de descrições de dados existentes
– Sistemas existentes
• Partindo do conhecimento de pessoas
– Novos sistemas
Désiré NGuessan 44
Construindo o Modelos E-
E-R:
• Partindo de descrições de dados existentes:
– Para este caso aplica-se a estratégia bottom
bottom--up
up: de
baixo para cima:
• Primeiro são identificados os atributos;
• Os atributos são agregados em entidades
• As entidades são relacionadas e generalizadas
Désiré NGuessan 45
15
Construindo o Modelos E-
E-R:
• Partindo do conhecimento de pessoas:
– Para este caso aplica-se:
• Estratégia descendente (Top
Top--down)
down): de cima para baixo
• Estratégia (Inside
Inside--out)
Désiré NGuessan 46
Construindo o Modelos E-
E-R:
• Estratégia descendente (Top
Top--down):
down) de cima para
baixo:
– Modelagem Superficial – DER pouco detalhado na seguinte
seqüência:
• Enumeração de entidades
• Identificação de relacionamentos e hierarquias de
generalização/especialização entre as entidades para cada
relacionamento identificar a cardinalidade máxima
• Determinação dos atributos de entidades e relacionamento
• Determinação dos identificadores de entidades e
relacionamentos
– Modelagem Detalhada
Désiré NGuessan 47
Construindo o Modelos E-
E-R:
• Estratégia (Inside
Inside--out):
out) de dentro fora:
– O processo inicia com a identificação de uma entidade
particularmente importante no modelo, e que supõe-se, estará
relacionada a muitas outras entidades
– A partir daí, são procurados atributos, entidades relacionadas
generalizações e especializações da entidade em foco
– E assim recursivamente até obter-se o modelo completo
Désiré NGuessan 48
16
Désiré NGuessan 49
P FISICA numhoras
1
CLIENTE codigo
data
1
n
P JURIDICA REVISAO
MOTORISTA
n n
RESERVA n
1
n
chassi motor
placa
cor codigotipo
1 1
1
FILIAL VEICULO n 1 TIPO
VEICULO
1 n
1 1
n
n n
LOCAÇAO
AUTOMOVEL
CAMIONETA
CAMIONETA DE
CARGA
PASS.
porta
passageiro capacidade
tamanho
Désiré NGuessan 50
Désiré NGuessan 51
17
Projeto de Banco de Dados
– Etapa 2 –
Projeto Lógico:
Abordagem Relacional
NGUESSAN.DESIRE@POLI.USP.BR
Désiré NGuessan 52
Especificação de BD relacional
• A especificação de um banco de dados
relacional (chamada de esquema do banco
de dados) deve conter no mínimo a definição
dos Seguintes:
– Tabelas que formam o banco de dados
– Colunas que as tabelas possuem
– Restrições de integridade
Désiré NGuessan 53
Exemplo de Esquema
Chave Primaria Chave Estrangeira
• Emp(CodigoEmp,Nome,CodigoDepto,CategF
uncional,CIC)
– CodigoDepto referência Dept
• Dept (CodigoDepto,Nome)
Désiré NGuessan 54
18
Vantagens:
• Entidades e relacionamentos são
representados através de Tabelas
– Trabalha com relações e não com registros
– Evita a declaração de ligações e conectores no
nível conceitual
Désiré NGuessan 55
Vantagens:
• Simetria completa nas consultas
– Não há problemas de redundância
– Não há a necessidade de se preverem conectores
(ligações adicionais) na consulta
• Linguagens completas para manipulação de
dados (fundamentação matemática)
– Não são fortemente acopladas a uma LP
– Linguagens de mais alto nível, se comparadas com
uma LP procedural tradicional
Désiré NGuessan 56
Mapeamento ER em
Relacional
• Objetivos:
– Obter um BD que:
• Tenha bom desempenho nas instruções de consulta e
alteração de dados
• Simplifique o desenvolvimento e manutenção de aplicações
– Princípios:
• Evitar junções
• Diminuir o número de chaves
• Evitar campos opcionais
Désiré NGuessan 57
19
Mapeamento ER em
Relacional
• Fase de Preparação:
– Substituir alguns relacionamentos por chaves
estrangeiras
– Encontrar/substituir identificadores
– “Normalizar” entidades
Désiré NGuessan 58
Mapeamento ER em
Relacional
• Fase de Mapeamento
– transformar entidades e relacionamentos em relações
(Tabelas)
Désiré NGuessan 59
Preparação
• Eliminação de identificadores externos:
– Eliminar o Relacionamento, substituindo-o por uma nova versão
da Entidade que contém somente identificadores internos
• Incluir como atributo(s) da nova versão da entidade o(s) atributo(s)
identificador(es) da entidade que participava externamente da
identificação;
• Criar novo identificador na nova Entidade, composto dos atributos
internos identificadores originais, mais os novos atributos.
Désiré NGuessan 60
20
Preparação
• Eliminação de Atributos Multivalorados:
– Como Alternativas
• Criar uma nova Entidade, relacionada à entidade original
• Identificação da nova Entidade pode ser o próprio atributo, ou
um identificador externo
• Substituir por n atributos fixos, desde que se saiba e possa
limitar o valor de “n”atributos.
Désiré NGuessan 61
Preparação
• Eliminação de Atributos Multivalorados:
CI
Nome
Dependentes (0,n)
Telefones(0,3)
CI
Nome
Num
Depend
Fone3 Nome
Fone1
Fone2
Désiré NGuessan 62
Mapeamento de Entidade
CI
Nome
Num
Depend
Fone3 Nome
Fone1
Fone2
Désiré NGuessan 63
21
Mapeamento de Relacionamento
Désiré NGuessan 64
Mapeamento de Relacionamento
• Tabela Própria:
– Transformar o relacionamento em tabela contendo:
• Atributos identificadores das entidades participantes da relação
– Definí-las como chaves estrangeiras
• Atributos do relacionamento, se existirem
– Identificação
• Relacionamento é identificado por entidades participantes?
– Composição dos identificadores das Entidades
• Relacionamento é identificado por composição das entidades
participantes e atributos do relacionamento?
– Composição dos identificadores das entidades e destes atributos
Désiré NGuessan 65
Mapeamento de Relacionamento
• Tabela Própria:
n CodP
Engenheiro n
EP Projeto
Titulo
Nome
CodE Funcao
Engenheiro (CodE,Nome)
Projeto (CodP, Titulo)
EP (CodE, CodP,funcao)
CodE referencia Engenheiro
CodP referencia Projeto
Désiré NGuessan 66
22
Mapeamento de Relacionamento
• Adição de Colunas:
– Cada entidade é mapeada em uma tabela distinta
• identificador = identificador da entidade
• alterações de identificador por razões de desempenho
– Em uma das tabelas é incluído um ou mais atributos,
correspondentes aos atributos que compõem a chave primária da
outra tabela, e defini-los como chave estrangeira
– Casos recomendados
• todos os casos 1:N
• casos 1:1
• (0-1):(0-1)
• (0-1):(1-1)
Désiré NGuessan 67
Mapeamento de Relacionamento
Désiré NGuessan 68
Mapeamento de Relacionamento
Désiré NGuessan 69
23
Mapeamento de Relacionamento
Désiré NGuessan 70
Mapeamento de Relacionamento
Désiré NGuessan 71
Mapeamento de Generalização
Désiré NGuessan 72
24
Mapeamento de Generalização
Nome
Uma Tabela Para Cliente
Cod
Cada Entidade
CPF CGC
PFisica PJuridica
Sexo Tipo
Désiré NGuessan 73
Mapeamento de Generalização
Nome
Uma Única Tabela Cliente
Cod
CPF CGC
PFisica PJuridica
Sexo Tipo
Désiré NGuessan 74
Emp (CodigoEmp,Tipo,Nome,CIC,CodigoDepto,CartHabil,
CREA,CodigoRamo)
Esquema Relacional Correspondente
Désiré NGuessan 75
25
Projeto de Banco de Dados
– Etapa 2 –
Projeto Lógico
NGUESSAN.DESIRE@POLI.USP.BR
Désiré NGuessan 76
Modelo Relacional
• Criado por Edgar Codd (1970)
– Lab. Pesquisa IBM/San Jose - Califórnia
– Utilizado em empresas a partir de 1987
– Objetivos
• Independência de dados
• Reduzir inconsistências
Désiré NGuessan 77
Modelo Relacional
• São conjuntos de dados vistos segundo um
conjunto de tabelas - as operações sobre as
mesmas são feitas por linguagens que
manipulam a álgebra relacional, não sendo
procedurais (ou seja, manipulando conjuntos
de uma só vez).
Désiré NGuessan 78
26
Modelo Relacional
• Abordagem Relacional:
– Abordagem de modelagem de dados usada nos
Sistemas de Gerência de Banco de Dados do tipo
relacional
– Modelagem em nível lógico e não conceitual
Désiré NGuessan 79
Modelo Relacional
• Características do Modelo:
– Aspectos Estruturais:
• dados do BD em tabelas
– Aspectos de Integridade:
• tabelas satisfazem restrições
– Aspectos de Manipulação:
• operadores de manipulação derivam tabelas de outras
tabelas
Désiré NGuessan 80
Modelo Relacional
• Aspectos Estruturais:
– Tabela/Relação
– Atributos
– Chaves
– Domínio
Désiré NGuessan 81
27
Modelo Relacional
• Relação:
– Uma relação R sobre uma coleção de
conjuntos D1, D2, . . ., Dn é um subconjunto do
produto cartesiano D1 X D2 X . . . X Dn.
– Exemplo: Relação NomeCliente - Nro. Conta
Désiré NGuessan 82
Modelo Relacional
• Relação:
NomeCliente NroConta
João
100
Paulo
200
Maria
300
Marta
Désiré NGuessan 83
Modelo Relacional
• Tabelas
– Representação usual de uma relação
– Cada qual designada por um nome único
– Composta por:
• linhas (tuplas)
– Uma linha numa tabela representa um
relacionamento entre conjunto de valores
• colunas (atributos)
– Relacionadas através de
• Chaves estrangeiras
Désiré NGuessan 84
28
Modelo Relacional
• Tabelas
– Cardinalidade da relação: número de tuplas da
tabela
– Grau da relação: número de colunas da tabela
• O número de conjuntos sobre o qual a relação (tabela)
está definida.
• unária, binária, ..., n- ária
Désiré NGuessan 85
Modelo Relacional
• Atributo
– Representa o uso de um domínio dentro de uma
relação
– Vários atributos podem pertencer a um mesmo
dominio
– Em uma tabela, representa a descrição
(cabeçalho) das colunas
– Exemplo: relação Clientes
Désiré NGuessan 86
Modelo Relacional
Nome de
Atributo
• Estrutura de DB Relacional
Tuplas
Num Nome Status Cidade
C1 Santo devedor Sao Paulo
Cardinalidade
Grau
Désiré NGuessan 87
29
Terminologia
Profissional Acadêmico
Tabela Relação
Linha ou Registro Tupla
Coluna ou Campo Atributo
Valor do Campo Valor do atributo
Identificador exclusivo Chave Primaria
Conjunto de Valores Validos Domínio
Désiré NGuessan 88
Modelo Relacional
• Chave
– Conceito usado para especificar restrições de
integridade básicas de um SGBD relacional
• permite a identificação de tuplas em uma tabela
• permite o estabelecimento de relacionamentos entre
tabelas
Désiré NGuessan 89
Modelo Relacional
• Chave
– Três tipos:
• Chave primária
• Chave alternativa
• Chave estrangeira
Désiré NGuessan 90
30
Modelo Relacional
• Chave Primaria:
– Uma chave primária é uma coluna ou uma
combinação de colunas cujos valores distinguem
uma linha das demais dentro de uma tabela
– Identifica univocamente uma tupla
Désiré NGuessan 91
Chave Primaria:
Chave Primaria
Désiré NGuessan 92
Modelo Relacional
• Chave Estrangeira:
– Uma coluna ou uma combinação de colunas,
cujos valores aparecem necessariamente na
chave primária de uma tabela
– Mecanismo que permite a implementação de
relacionamentos em um banco de dados
relacional
Désiré NGuessan 93
31
Chave Estrangeira :
CodDpto NomeDpto
DEPTO
EMP
Désiré NGuessan 94
NGUESSAN.DESIRE@POLI.USP.BR
Désiré NGuessan 95
SQL
Désiré NGuessan 96
32
Componentes do SQL
• DDL (Data Definition Language)
– criação, atualização e remoção de relações e índices
– visões, etc
• DML (Data Manipulation Language)
– consultas
– inserção, atualização e remoção de tuplas
– controle de transações
– embutida vs interativa
• DCL (Data Control Language)
– segurança
– integridade
Désiré NGuessan 97
Componentes do SQL
SQL DDL – Criando Tabelas
CREATE TABLE <nome-tabela>
(<nome-atributo> <tipo> [NOT NULL
[PRIMARY KEY]]
[,<nome- atributo > <tipo> [NOT NULL
[UNIQUE]]]...
)
Désiré NGuessan 98
Componentes do SQL
SQL DDL – Criando Tabelas
Character Varying (x)
CREATE TABLE Cliente1 [VARCHAR] – armazena
( exatamente o número de
CodCliente int NOT NULL, caracteres digitados
Nome varchar(50),
CPF varchar(11) NULL,
DataCadastro datetime NOT NULL DEFAULT (getdate()),
Cidade varchar(20) NULL,
UF char(2) NULL,
País varchar(20) DEFAULT ('Brasil')
)
• NULL ou NOT NULL, indicando se esta permite
valores nulos ou não.
Désiré NGuessan 99
33
Componentes do SQL
SQL DDL – Removendo Tabelas
Componentes do SQL
SQL DDL – Alterando Tabelas
Componentes do SQL
SQL DDL – Alterando Tabelas
34
Componentes do SQL
SQL DDL – Alterando Tabelas
ALTER TABLE Cliente
ADD ender varchar(50) NULL
Componentes do SQL
SQL DDL – Alterando Tabelas
ALTER TABLE Cliente
ADD ender varchar(50) NULL
DML
Data Manipulation Language
• Inserindo Linhas
– O comando INSERT insere linhas em uma tabela. A forma
mais simples do comando
• INSERT insere somente uma linha , dados os valores.
– Sintaxe
• INSERT [INTO] nome_tabela (colunas)
VALUES (valores)
35
DML
Data Manipulation Language
• Inserindo Linhas
– O comando INSERT insere linhas em uma tabela. A forma
mais simples do comando
• INSERT insere somente uma linha , dados os valores.
– Sintaxe
• INSERT [INTO] nome_tabela (colunas)
VALUES (valores)
Onde:
• nome_tabela é o nome da tabela que deseja incluir os dados.
• colunas são os nomes das colunas da tabela que deseja
acrescentar os dados.
• valores são os conteúdos de cada coluna.
DML
Data Manipulation Language
• Exemplos
– INSERT into Funcionario
values (1, 'Primeiro Funcionário', 2, 122, 234.23,
'01/01/1998', '01/01/1998', 'M')
DML
Data Manipulation Language
• Exemplos
• insert INTO Vehiculo
(placa,chassi,motor,cor,codigotipo,codigofilial)
values ('dav002', '00000102','00000303','prata','P2',
'SP18 ‘ )
36
insert INTO Vehiculo
(placa,chassi,motor,cor,codigotipo,codigofilial)
values ('dav002',
'00000102','00000303','prata','P2', 'SP18 ‘ )
DML
Data Manipulation Language
• Excluindo Linhas
– O comando DELETE exclui permanentemente uma ou mais
linhas de uma tabela, baseado em alguma condição.
– Sintaxe
• DELETE FROM nome_tabela WHERE condicao
• Onde:
• nome_tabela é o nome da tabela que deseja excluir os dados.
• condicao é condição para selecionar as dados que deseja
excluir.
DML
Data Manipulation Language
• Excluindo Linhas
– Exemplo
• DELETE from CopiaCliente
where Codigo = 2
• Note que a exclusão não pode ser desfeita.
37
delete from vehiculo where
placa ='dav0001'
SQL DML
Data Manipulation Language
• Consulta simples
– O comando SELECT recupera dados de uma ou
mais tabelas. A sua sintaxe mais simples pode ser
resumida da forma:
– Sintaxe Geral:
• SELECT <atributos> [INTO <nova_tabela>]
FROM <relações>
[WHERE <condições>]
[ORDER BY <atributos-ordenacao> [descending]]
[GROUP BY <formato-agrupamento>
[HAVING <condicoes>]]
SQL DML
Data Manipulation Language
• Consulta simples (continuação)
– onde
• A lista_de_colunas especifica quais colunas serão
retornadas como resultado, separadas por vírgulas ou um
asterisco (*) que indica todas as colunas da tabela.
• A cláusula FROM, com uma lista_de_tabelas, especifica
quais tabelas serão consultadas.
• A cláusula WHERE especifica condições que devem ser
satisfeitas pelas linhas das tabelas.
• O comando Select pode ser utilizado para mostrar o
conteúdo de variáveis, valores iterais, etc...
38
SQL DML
Data Manipulation Language
• Consulta simples (continuação)
– Cláusula Where
• condições
– operadores lógicos (AND, OR, NOT), parênteses,
operadores comparadores (<, >, <>, = , etc)
– constantes, atributos, operadores aritméticos
– between (>= and <=)
– LIKE
» % : substitui cadeias de caracteres
» _ : substitui caracteres
– subconsultas
SQL DML
Data Manipulation Language
• Consulta simples (continuação)
– Cláusula order by condições
• ordenação das tuplas resultado em função de um
ou mais atributos
• opcional
• ORDER BY<atr> [<ord>] [,<atr> [<ord>] ...]
– <atr> ::= atributo
– <ord> ::= ASC (default)
DESC
• Ex.: Select * from Compradores order by Nome
DESC
SQL DML
39
SQL DML
Funções Matemáticas
• ABS(valor) retorna o valor absoluto (sem sinal) de um item.
• POWER(valor,p) retorna o valor elevado à potência p.
• ROUND(valor,n) arredonda o valor para n casas decimais.
• SQRT (valor) retorna a raiz quadrada do valor especificado.
• PI valor constante 3.141592563589793
SQL DML
SQL DML
Funções de Manipulação de String
• ASCII(caractere)
– retorna o código ASCII de um caractere.
• CHAR(inteiro)
– retorna o caractere, dado o seu código ASCII
• LOWER(expr)
– converte para minúsculas
• UPPER(expr)
– converte para maiúsculas
• LTRIM(expr)
– retira espaços à esquerda
• RTRIM(expr)
– retira espaços à direita
• REPLICATE(expr, n)
– repete uma expressão n vezes
40
SQL DML
Funções de Manipulação de String
• SUBSTRING(expr,início,tamanho)
– extrai uma parte de uma string desde início e com
tamanho caracteres
• RIGHT(expr,n)
– retorna n caracteres à direita da string
• REVERSE(expr)
– inverte uma string
• CHARINDEX('caractere', expr)
– retorna a posição de um caractere dentro da string
• SPACE(n)
– retorna uma string com n espaços
41
• Apresente os nomes e funções da cada funcionário
contidos na tabela empresa, porém classificados
alfabeticamente (A..Z) e depois alfabeticamente
invertido (Z..A).
Operadores Negativos
Operador Descrição
<> diferente
not nome_coluna = diferente da coluna
not nome_coluna > não maior que
not between não entre dois valores
informados
not in não existente numa
dada lista de valores
not like diferente do padrao de
caracteres informado
is not null não é um valor nulo
42
Operadores Negativos
Operador Descrição
<> diferente
not nome_coluna = diferente da coluna
not nome_coluna > não maior que
not between não entre dois valores
informados
not in não existente numa
dada lista de valores
not like diferente do padrao de
caracteres informado
is not null não é um valor nulo
43