Buscar

apostila INTEGRAÇÃO COM BANCO DE DADOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 49 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INTEGRAÇÃO COM BANCO DE DADOS 1 
 
 
Integração com Banco de Dados 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 2 
Integração com Banco de Dados 
 
 
Conceitos Básicos 
 
Dados e Informações 
 
Inicialmente vamos fazer a distinção entre dados e informações. 
 
Dados - São fatos, eventos, conceitos, instruções etc., antes de terem sido 
organizadas em um formato inteligível e útil para o usuário; 
 
Informações - Representam dados já formatados de uma maneira inteligível e útil 
ao usuário. 
 
Sistema de Banco de Dados 
 
Um sistema de banco de dados (SBD) é um sistema de informações, computadorizado, 
que possibilita o armazenamento, manuseio, alteração e divulgação das informações 
armazenadas. Essas informações se fazem representar por dados organizados e 
formatados, de maneira que estes sejam conhecidos e utilizados pelos usuários. 
 
Um SBD é constituído de: base de dados (dados e metadados), sistema gerenciador 
de banco de dados (SGBD) e os aplicativos que acessam os dados. 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 3 
 
Figura 1. Sistema de banco de dados 
 
Sistema Gerenciador de Banco de Dados (SGBD) 
 
Um sistema gerenciador de uma base de dados (SGBD) é uma coleção de programas 
que permite aos usuários criar e manipular uma base de dados. Um SGBD é assim, 
um sistema de software de propósito geral que facilita o processo de definir, construir 
e manipular a base de dados de diversas aplicações. 
 
Base de Dados 
 
A base de dados é composta pelos arquivos físicos nos quais são armazenados os 
dados e os metadados (informações sobre a organização dos dados). 
 
Banco de Dados (BD) 
 
Um banco de dados é uma coleção de dados logicamente relacionados, com algum 
significado. Associações aleatórias não podem ser chamadas de bancos de dados. 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 4 
Um banco de dados é projetado, construído e preenchido com dados específicos, 
possuindo um grupo de usuários e aplicações pré-concebidas de modo a satisfazer as 
necessidades dos usuários. 
 
Os bancos de dados ajudam as empresas a gerar informação que pode auxiliar a 
reduzir custos, aumentar os lucros, acompanhar atividades de negócios passados e 
abrir novas oportunidades de mercado. 
 
São mantidos por softwares gerenciadores (SGBD) que controlam a inserção, seleção, 
atualização e deleção dos dados. 
 
Com o armazenamento e o controle centralizado do banco de dados, podemos 
enumerar as seguintes vantagens: 
 
 Compartilhamento de dados 
Os dados armazenados podem ser compartilhados pelas aplicações de um mesmo e/ou 
de diferentes sistemas, sem a necessidade de voltar a incluí-los; 
 
 Redundância de dados eliminada e/ou controlada 
Em sistemas tradicionais, cada aplicativo do sistema pode ter seus próprios arquivos 
e, por consequência, trazer inúmeras redundâncias de dados armazenadas. No caso 
do banco de dados, esses dados podem ser compartilhados de forma que não haja 
redundâncias, ou se existirem, que possam ser controladas; 
 
 Inconsistência de dados controlada 
Quando os dados redundantes estão sob o controle do SGBD, as operações que 
venham a modificá-los serão propagadas automaticamente, de maneira que todas as 
redundâncias se mantenham com os mesmos valores; 
 
 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 5 
 Integridade dos dados controlada 
Controlar a integridade é assegurar que os dados do banco estão corretos. Isto é, eles 
representam efetivamente uma realidade que se quer guardar e, por consequência, 
toda e qualquer decisão e/ou operação que venha a utilizá-lo não será induzida a gerar 
resultados errados devido ao uso de valores incorretos; 
 
 Segurança de acesso aos dados pode ser ampliada 
Com o controle do banco de dados, o SGBD pode, a partir das informações de restrição 
de acesso disponibilizadas pelo administrador do banco de dados (DBA), assegurar 
que o único acesso a esses dados se façam pelos procedimentos e usuários 
autorizados; 
 
 Padrões de representação e/ou denominação de dados pode ser 
implementado 
Com o controle centralizado do banco de dados, o administrador do banco pode 
determinar os padrões que serão observados na representação dos dados que serão 
armazenados. Dentro desses padrões, podemos ressaltar os padrões de nomenclatura 
de dados e documentação, que são essenciais no compartilhamento de dados e 
também a compreensão comum pelos usuários. 
 
Conceitos e Arquiteturas de um SGBD 
 
Modelos de Dados 
 
Uma das principais características da abordagem banco de dados é que esta fornece 
alguns níveis de abstração de dados omitindo ao usuário final detalhes de como estes 
dados são armazenados. Um “modelo de dados” é um conjunto de conceitos que 
podem ser utilizados para descrever a estrutura em diferentes níveis de abstração. 
Conceituando, podemos enumerar que estes modelos podem ser basicamente de dois 
tipos: 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 6 
 Alto nível: ou modelo de dados conceitual, que fornece uma visão mais próxima 
do modo como os usuários visualizam os dados realmente; 
 
 Baixo nível: ou modelo de dados físico, que fornece uma visão mais detalhada 
do modo como os dados estão realmente armazenados no computador. 
 
Esquemas e Instâncias 
 
Em qualquer modelo de dados utilizado, é importante distinguir a “descrição” do banco 
de dados do “banco de dados” propriamente dito. A descrição de um banco de dados 
é chamada de “esquema de um banco de dados” e é especificada durante o projeto. 
Geralmente poucas mudanças ocorrem no esquema. 
 
Os dados armazenados em um BD em um determinado instante do tempo formam um 
conjunto chamado de “instância do banco de dados”. A instância se altera toda vez 
que uma alteração é feita no banco. 
 
O SGBD é responsável por garantir que toda instância do banco de dados satisfaça ao 
esquema do banco de dados, respeitando sua estrutura e suas restrições. 
 
A Arquitetura Três Esquemas 
 
A principal meta da arquitetura “três esquemas” (Figura 1) é separar as aplicações do 
usuário do banco de dados físico. Os esquemas podem ser definidos como: 
 
 Nível interno: ou esquema interno, o qual descreve a estrutura de 
armazenamento físico do banco de dados; utiliza um modelo de dados e 
descreve detalhadamente os dados armazenados e os caminhos de acesso ao 
banco; 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 7 
 Nível conceitual: ou esquema conceitual, o qual descreve a estrutura do banco 
de dados como um todo; é uma descrição global do BD, que não fornece 
detalhes do modo como os dados estão fisicamente armazenados; 
 Nível externo: ou esquema de visão, o qual descreve as visões do banco de 
dados para um grupo de usuários; cada visão descreve a que porções do banco 
um grupo de usuários terá acesso. 
 
Figura 2. Arquitetura três esquemas 
 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 8 
Projeto de Banco de Dados 
 
O mundo real, numa generalização extrema, para efeitos de simplificação, pode ser 
visto como sendo composto por objetos relacionados. O mundo real se apresenta para 
o ser humano como algo caótico, nebuloso e normalmente complexo. 
 
 
Figura 3. O mundo real 
 
Quando escrevemos algum texto, estamos representando no papel algo que está em 
nossa mente, e nesse caso também estamos modelando. Quando nossa mente se 
abstrai e cria novos conceitos a partir de conceitos preexistentes, estes novos 
conceitos são modelos ou podem fazer parte de modelos mais complexos. Estamos 
nesse caso também modelando. 
 
Quando percebemos algum fenômeno, fatoou ideia, estamos criando em nossa mente 
simplificações destes, ou seja, criamos modelos ou representações simplificadas de 
minimundos ou parcelas do mundo real ou domínio do problema, uma vez que, 
naquele momento, nos abstraímos de muitos detalhes julgados irrelevantes. 
 
Pode-se afirmar então que o conhecimento humano é composto de modelos do mundo 
real ou criados a partir de outros modelos preexistentes em nossa mente. 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 9 
 
OBJETOS 
DO MUNDO 
REAL 
MINIMUNDO 
MUNDO REAL 
 
Figura 4. Minimundo 
 
O mapeamento (transformação) dos objetos de uma parcela do mundo real 
(minimundo ou domínio do problema) em um modelo processável que vai "residir" na 
memória de um computador é e sempre será um desafio para os cientistas da 
Informática. 
 
Modelagem 
 
É uma atividade através da qual se cria um modelo de uma parcela do mundo real 
(minimundo) ou sucessivamente um modelo a partir de outro modelo ou de ambos. 
 
 
Figura 5. Representação gráfica de um minimundo 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 10 
 
Modelar uma parcela do mundo real (minimundo) consiste em tentar compreendê-la, 
seja através da identificação inicial da estrutura dos objetos que compõem essa parcela 
do mundo real, seguida das operações que incidem sobre esses objetos; seja de 
maneira inversa, através da identificação inicial das operações que neles se realizam, 
e da posterior identificação da estrutura dos objetos afetados por estas operações, ou 
até mesmo procurando enfocar esses dois aspectos de forma simultânea. 
 
A principal razão para a construção de modelos de uma parcela do mundo real 
(minimundo) é a redução da complexidade de entendimento e tratamento desse 
minimundo. Tal tratamento é propiciado através dos modelos, visto que esses são 
uma simplificação de um minimundo. 
 
Modelagem de dados é uma denominação genérica para as atividades que visam à 
construção de modelos que enfocam ou procuram representar os dados relevantes de 
uma parcela do mundo real. 
 
A atividade de modelagem de dados, como será vista adiante, é um conjunto de regras 
que utilizam ferramentas de modelagem (modelos de dados) em concordância com 
requisitos de projeto (critérios de qualidade). Tais requisitos, em um projeto de banco 
de dados, são as características intrínsecas e as desejáveis dos BDs de um modo geral, 
vistas inicialmente. 
 
Componentes da Atividade de Modelagem 
 
Uma atividade de modelagem deve consistir na execução sistemática de atividades 
menos complexas, que podem eventualmente se subdividir sucessivamente até o nível 
de atividades elementares. 
 
Tais atividades, para que sejam executadas, necessitam de insumos e devem gerar 
produtos. Existem, no entanto, atividades que dependem de algum produto gerado 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 11 
por alguma outra executada anteriormente, ou seja, algumas atividades dependem de 
outras e assim sucessivamente, estabelecendo uma rede de dependências. 
 
Todo esse conjunto de atividades organizadas logicamente e com propósitos bem 
definidos forma uma metodologia, um dos componentes da atividade de 
modelagem. 
 
Não se mencionou ainda a forma como as atividades devem ser executadas 
transformando insumos em produtos. Tal forma nada mais é do que uma técnica. 
Quanto aos instrumentos utilizados na execução dessas atividades, recebem a 
denominação de ferramentas ou mais especificamente ferramentas de modelagem, 
que, como poderá ser visto posteriormente, são também denominadas modelos. 
Temos aqui então duas acepções para o termo modelo, uma como ferramenta de 
modelagem e outra como produto final da atividade de modelagem. 
 
Poderíamos então resumir estes componentes da seguinte forma: 
 
 Metodologia: processo intelectual de abordagem de qualquer problema mediante 
análise prévia e sistemática de todas as vias de acesso à solução; 
 
 Técnica: forma de execução de alguma atividade; 
 
 Ferramenta: instrumento utilizado na execução de alguma atividade. 
 
Modelos 
 
Será explicado nos próximos itens o que se entende por modelo de dados, uma vez 
que não existe uma definição aceita universalmente para tal termo. As razões são 
inúmeras, dentre as quais podem ser citadas: 
 
 Reduzida quantidade de modelos de dados definidos formalmente; 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 12 
 
 Elevada quantidade de modelos de dados definidos informalmente; 
 
 Impossibilidade de comparar modelos formais e informais e escolher (padronizar) 
o mais "útil e adequado". 
 
Nos últimos anos, dezenas de modelos de dados foram propostos, muitos dos quais 
intuitivamente e sem qualquer formalização. No entanto, todos objetivaram apresentar 
regras bem definidas de sintaxe e semântica, que caracterizassem de forma inequívoca 
as percepções dos usuários sobre o mundo real. 
 
Este termo é utilizado normalmente segundo dois pontos de vista diferentes: o 
primeiro como produto final da atividade de modelagem (modelo 1 e modelo 2 da 
Figura 5) e o segundo como ferramenta de modelagem (idem) a ser visto nos próximos 
itens. 
 
Dentro do primeiro enfoque, podemos defini-lo como uma representação abstrata da 
realidade, e a razão de sua existência é o fato de a realidade a qual substitui ser, via 
de regra, de alguma forma intratável. Nenhum modelo se propõe a ser tão perfeito 
quanto a parcela da realidade que pretende tratar, mesmo porque, se fosse, terminaria 
tão intratável quanto ela. 
 
Já como ferramenta de modelagem, podemos defini-lo como uma ferramenta que tem 
por objetivo permitir a especificação das estruturas de dados e das operações 
permitidas sobre as mesmas, ou seja, deve permitir a captura das propriedades 
estruturais e comportamentais da parcela do mundo real (minimundo) a ser modelada: 
 
 As propriedades estruturais são as que definem seus componentes e seus 
relacionamentos com outros objetos; 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 13 
 As propriedades comportamentais são as que correspondem à evolução natural 
dos objetos, ou seja, suas ações ou operações. 
 
Dentro desse contexto, um modelo de dados (relacional, de redes, hierárquico, 
semântico, orientado a objetos etc.) é uma ferramenta de modelagem que auxilia a 
realização da atividade de modelagem de dados num determinado nível de 
abstração. 
 
Esquema 
 
Um esquema consiste em uma definição de todos os tipos de objetos da aplicação, 
incluindo seus atributos, relacionamentos e restrições. É a representação de uma 
porção específica da realidade, construído através de um modelo de dados particular. 
Mais especificamente, é uma coleção de representações linguísticas ou gráficas, 
invariantes com o tempo, as quais descrevem a estrutura de dados de interesse. 
 
Instância 
 
Uma instância de um esquema é uma coleção de dados que variam com o tempo, de 
acordo com a estrutura de dados definida pelo esquema. Cada esquema pode ter 
múltiplas instâncias, e o estado do banco de dados em um particular instante 
corresponde a uma instância. A evolução do banco de dados pode ser vista como a 
transição de uma instância para outra, causada por alguma operação de modificação 
dos dados. 
 
Outra maneira de ver as diferenças entre esquema e instância é considerar o esquema 
como um "conhecimento intencional" e instância como "conhecimento extensional"; o 
primeiro denota as propriedades estruturais do dado; o último denota uma atribuição 
de valores aos dados. 
 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 14 
Projeto de Banco de Dados 
 
É o processo de projeto da estrutura lógica efísica de um ou mais bancos de dados 
para acomodar as informações necessárias aos usuários de uma organização para um 
definido conjunto de aplicações. 
 
Projetar um banco de dados é uma atividade eminentemente complexa. Essa 
complexidade é herdada do normalmente complexo minimundo correspondente e 
daquelas inerentes às próprias atividades de projeto de banco de dados, decorrentes 
da complexidade das ferramentas (modelos de dados) e dos requisitos de projeto a 
serem satisfeitos. 
 
Essa complexidade se deve, então, aos seguintes fatores: 
 
 Complexidade do domínio do problema (parcela do mundo real ou minimundo); 
 
 Dificuldade de entendimento do domínio do problema; 
 
 Dificuldade na execução das atividades de projeto de banco de dados, visando o 
atendimento de todas as características básicas e desejáveis de um BD; 
 
 Dificuldade de gerência (planejamento e controle) do processo de projeto do BD. 
 
Uma das formas de tratamento da complexidade é o particionamento. 
 
Quais serão, no entanto, essas partes ou fases que irão compor a atividade de projeto 
de banco de dados? 
 
Pode-se pensar inicialmente que ela pode ser dividida em duas fases: uma voltada 
para a produção de um modelo abstrato do minimundo, totalmente independente 
de qualquer Tecnologia da Informação, e outra na qual se concentrará nas 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 15 
características da Tecnologia da Informação a ser utilizada no processamento desse 
modelo abstrato. 
 
As fases acima mencionadas serão denominadas: 
 
 Elaboração de um modelo abstrato do minimundo; 
 
 
Figura 6. Modelo abstrato do minimundo 
 
 Elaboração de um modelo processável do minimundo. 
 
 
 
Figura 7. Modelo processável do minimundo 
 
Pela complexidade inerente a essa última, podemos dividi-la em duas subfases: 
 
ELABORAÇÃO DE 
UM MODELO 
PROCESSÁVEL A 
PARTIR DO MODELO 
ABSTRATO 
MODELO
ABSTRATO
TECNOLOGIA
DA INFORMAÇÃO
MODELO
PROCESSÁVEL
 
 
INTEGRAÇÃO COM BANCO DE DADOS 16 
 Elaboração de um modelo implementável, durante a qual endereçaremos uma 
classe de Tecnologia da Informação (ex.: bancos de dados relacionais); 
 
 Elaboração de um modelo processável, durante a qual endereçaremos uma 
Tecnologia da Informação específica (ex.: SGBD Oracle). 
 
 
 
Figura 8. Modelo processável a partir de um modelo abstrato 
 
4. Fases e Ferramentas do Projeto de Banco de Dados 
 
As três fases anteriormente determinadas serão denominadas respectivamente, em 
que pesem as críticas quanto a essa denominação, de: 
 
 Projeto conceitual de banco de dados: visa produzir um modelo abstrato do 
minimundo, totalmente independente de Tecnologia da Informação; 
 
 Projeto lógico de banco de dados: visa produzir um modelo Implementável do 
minimundo, dependente de uma classe de Tecnologia da Informação; 
 
 Projeto físico de banco de dados: visa produzir um modelo processável do 
minimundo, dependente de uma Tecnologia da Informação específica. 
 
MODELO
ABSTRATO
CLASSE DA
TECNOLOGIA
DA INFORMAÇÃO
MODELO
IMPLEMENTÁVEL
ELABORAÇÃO DE UM MODELO
PROCESSÁVEL A PARTIR
 DO MODELO ABSTRATO 
TECNOLOGIA
DA INFORMAÇÃO
EFETIVA OU REAL
MODELO
PROCESSÁVEL
 
 
INTEGRAÇÃO COM BANCO DE DADOS 17 
A figura abaixo mostra as fases do projeto de banco de dados e das respectivas 
ferramentas a serem utilizadas nessas fases: 
 
 
Figura 9. Fases do projeto de banco de dados 
 
Modelagem Conceitual 
 
Modelo Entidade-Relacionamento (E-R) 
 
Tem por base a percepção do mundo real como um conjunto de objetos básicos, 
chamado entidades, e do relacionamento entre eles. As entidades são descritas no 
banco de dados por meio de seus atributos. Os valores de atributos que descrevem 
cada entidade ocupam a maior parte dos dados armazenados na base de dados. Um 
relacionamento é uma associação entre entidades. 
 
O modelo E-R também representa certas regras que o conteúdo do banco de dados 
precisa respeitar. Uma regra importante é o mapeamento das cardinalidades, as quais 
expressam o número de entidades às quais a outra entidade se relaciona por meio 
daquele conjunto de relacionamentos. 
 
PROJETO CONCEITUAL
DE DADOS 
PROJETO LÓGICO
DE DADOS 
PROJETO FÍSICO
DE DADOS 
MODELO
ENTIDADE
RELACIONAMENTO
LINGUAGEM
SQL
MODELO 
DE DADOS
RELACIONAL
REQUISITOS
DE 
INFORMAÇÃO
ESQUEMA CONCEITUAL DE DADOS GLOBAL
(MODELO ABSTRATO)
ESQUEMA LÓGICO DE DADOS
(MODELO IMPLEMENTÁVEL)
ESQUEMA FÍSICO DE DADOS
(MODELO PROCESSÁVEL)
DBA
 
 
INTEGRAÇÃO COM BANCO DE DADOS 18 
Esse modelo utiliza diagramas gráficos básicos para mostrar a organização e as 
relações entre os dados. 
 
Toda a estrutura lógica do banco de dados pode ser expressa graficamente por meio 
de diagrama E-R, cujos construtores são: 
 
 Retângulos - Representam os conjuntos de entidades; 
 Círculos - Representam os atributos; 
 Losangos - Representam os relacionamentos entre os conjuntos de entidades; 
 Linhas - Unem os atributos aos conjuntos de entidades e o conjunto de entidades 
aos seus relacionamentos. 
 
Entidades e Atributos 
 
O objeto básico tratado pelo modelo ER é a “entidade”, que pode ser definida como 
um objeto do mundo real, concreto ou abstrato, e que possui existência independente. 
Cada entidade possui um conjunto particular de propriedades que a descreve, 
chamado de “atributos”. 
 
Os atributos podem ser classificados de várias formas: 
 
 Um atributo que pode ser dividido em diversas subpartes com significado 
independente entre si recebe o nome de “atributo composto”, enquanto aquele 
que não pode ser subdividido é chamado de “atributo simples” ou “atômico”; 
 
 Os atributos que podem assumir apenas um determinado valor em uma 
determinada instância são denominados “atributos monovalorados”, enquanto 
que um atributo que pode assumir diversos valores em uma mesma instância é 
denominado “multivalorado”; 
 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 19 
 Um atributo que não admite repetição em seus valores é denominado único; já 
se admite repetição, é não único; 
 
 Os atributos que têm que ter valor, ou seja, que não podem ser nulos, são 
chamados de obrigatórios; já os que podem ser nulos são opcionais; 
 
 Um atributo que é gerado a partir de outro é chamado de atributo derivado. 
 
Entidades Tipo, Atributo Identificador 
 
Um banco de dados costuma conter grupos de entidades similares, possuindo os 
mesmos atributos, porém, cada entidade com seus próprios valores para cada atributo. 
Este conjunto de entidades similares define uma “entidade-tipo”. 
 
Cada entidade-tipo é identificada por seu nome e pelo conjunto de atributos que define 
suas propriedades. 
 
A descrição da entidade-tipo é chamada de esquema, especificando o seu nome, o 
nome de cada um de seus atributos e qualquer restrição que incida sobre as entidades. 
 
Uma entidade-tipo pode possuir um atributo cujos valores são distintos para cada 
entidade individual. Este atributo é chamado de “atributo identificador”, e seus valores 
podem ser utilizados para identificar cada entidade de forma única. 
 
Cada atributo simples de um tipo entidade está associado com um conjunto de valores 
denominado “domínio”, o qual especifica o conjunto de valores que podem ser 
designados para este determinado atributo para cada entidade. 
 
 
 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 20 
Relacionamento-Tipo 
 
Além de conhecerdetalhadamente as entidades-tipo, é muito importante conhecer 
também os relacionamentos entre estas. 
 
Um relacionamento-tipo R entre n entidades E1, E2, ..., En é um conjunto de 
associações entre entidades deste tipo. Informalmente falando, cada instância de 
relacionamento r1 em R é uma associação de entidades, na qual a associação inclui 
exatamente uma entidade de cada tipo entidade participante no tipo relacionamento. 
Isto significa que estas entidades estão relacionadas de alguma forma no minimundo. 
 
Cardinalidade 
Geralmente, o relacionamento-tipo sofre certas restrições que limitam as possíveis 
combinações das entidades participantes. Estas restrições são derivadas de restrições 
impostas pelo estado destas entidades no minimundo. Veja o exemplo da Figura 10. 
 
 
 
 
 
 
 
 
 
 
 
Figura 10. Relacionamento Empregado - Gerência - Departamento 
 
No exemplo, temos a seguinte situação: um empregado pode gerenciar apenas um 
departamento, enquanto que um departamento pode ser gerenciado por apenas um 
empregado. A este tipo de restrição, nós chamamos de cardinalidade. A 
d3 
d2 
d1 
e7 
e6 
e5 
e4 
e3 
e2 
e1 
EMPREGADO 
Gerência 
DEPARTAMENTO 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 21 
cardinalidade indica o número de relacionamentos dos quais uma entidade pode 
participar. 
 
A cardinalidade pode ser: 0:1, 1:1, 1:N, 0:N. No exemplo, a cardinalidade é 1:1, pois 
cada entidade empregado pode gerenciar apenas um departamento e um 
departamento pode ser gerenciado por apenas um empregado. 
 
Modelo Relacional 
 
Proposto originalmente por E. F. Codd durante seu trabalho no Laboratório de 
Pesquisas da IBM em San Jose na segunda metade da década de 1960, o modelo 
relacional se baseia em conceitos matemáticos para proporcionar uma representação 
confiável para bancos de dados. Desde sua implantação no primeiro SGBDR (Sistema 
de Gerenciamento de Bancos de Dados Relacionais) da IBM, denominado System R, 
várias melhorias têm sido incluídas no modelo, o que o torna ainda atual e o mais 
utilizado no mercado. 
 
O modelo de dados relacional representa os dados em um BD através de um conjunto 
de relações (tabelas). Estas relações contêm informações sobre entidades ou 
relacionamentos existentes no domínio da aplicação utilizada como alvo para a 
modelagem. Informalmente uma relação pode ser considerada uma tabela de valores, 
da qual cada linha representa uma coleção de valores de dados inter-relacionados. 
Estes conjuntos de valores podem representar uma instância de uma entidade ou 
relacionamento da aplicação. Os nomes fornecidos às tabelas e às suas colunas podem 
auxiliar na compreensão do significado dos valores armazenados em cada uma das 
suas linhas. Na terminologia do modelo relacional, cada linha da relação é denominada 
de tupla, e o nome da coluna é denominado atributo da relação. 
 
 
 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 22 
 
Tabela 1. 
 
O domínio consiste em um grupo de valores atômicos a partir dos quais um ou mais 
atributos (ou colunas) retiram seus valores reais. Por exemplo: o domínio do atributo 
FCIDADE consiste no conjunto de todos os nomes legais de cidades. 
 
O esquema de uma relação consiste em um conjunto de atributos que descrevem as 
características dos elementos a ser modelados. É denotado por R (A1, A2, ...., An), 
em que cada atributo Ai toma seus valores a partir de um domínio Di; e R é o nome 
da relação. O número de atributos na relação n consiste no grau da relação. Os 
domínios a partir dos quais os atributos da relação retiram seus valores não precisam 
ser necessariamente distintos. Como exemplo, o esquema da relação apresentada na 
Tabela 1 é dado por: 
 
Fornecedor (FCodigo, FNome, FCategoria, FCidade) 
 
Como esquema de um BD relacional, entende-se o conjunto de intenções (esquemas 
das relações) definidas para todas as relações da base, e um conjunto de restrições 
de integridade. Sobre os nomes fornecidos aos atributos, é permitido àqueles que 
representem conceitos semelhantes possuir ou não o mesmo nome em diferentes 
relações. Da mesma forma, atributos representando conceitos diferentes podem 
possuir o mesmo nome. O conjunto de restrições de integridade define regras básicas 
que os valores dos atributos devem obedecer quando aparecerem em uma relação. 
 
A instância de uma relação consiste no conjunto de valores que cada atributo, definido 
no esquema, assume em um determinado instante, formando o conjunto de tuplas. 
FCODIGO FNOME FCATEGORIA FCIDADE 
F1 Santos 20 Piracicaba 
F2 Machado 10 São Paulo 
F3 Almeida 30 São Paulo 
F4 Ferreira 20 Campinas 
F5 Rodrigues 30 São Carlos 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 23 
Ou seja, as instâncias das relações formam os dados que são armazenados no BD. As 
relações apresentam as seguintes características: 
 
 Não há tuplas duplicadas em uma relação; 
 A ordem das tuplas na relação não é relevante para diferenciar as relações; 
 Os valores dos atributos devem ser atômicos, não sendo divisíveis em 
componentes. 
 
Atributo Chave de uma Relação 
 
Uma relação pode ser definida como um conjunto de tuplas distintas. Isto implica que 
a combinação dos valores dos atributos em uma tupla não pode se repetir na mesma 
tabela. Existirá sempre um subconjunto de atributos em uma tabela que garante que 
não haverá valores repetidos para as diversas tuplas da mesma, garantindo que t1[SC] 
 t2[SC]. 
 
SC é chamada de superchave de um esquema de relação. Toda relação possui ao 
menos uma superchave — o conjunto de todos os seus atributos. Uma chave C de um 
esquema de relação R é uma superchave de R com a propriedade adicional que, 
removendo qualquer atributo A de K, resta ainda um conjunto de atributos K’ que não 
é uma superchave de R. Uma chave é uma superchave da qual não se podem extrair 
atributos. Por exemplo, o conjunto: (RA, Nome, Endereço) é uma superchave para 
estudante, porém não é uma chave, pois se tirarmos o campo Endereço continuaremos 
a ter uma superchave. Já o conjunto (Nome da Revista, Volume, Nº da Revista) é uma 
superchave e uma chave, pois qualquer um dos atributos que retirarmos, deixaremos 
de ter uma superchave, ou seja, (Nome da Revista, Volume) não identifica uma única 
tupla. 
 
Em outras palavras, uma superchave é uma chave composta, ou seja, uma chave 
formada por mais de um atributo. Veja o exemplo abaixo: 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 24 
 
DEPENDENTES 
RG 
Responsá
vel 
Nome 
Dependente 
Dt. 
Nascimento 
Relação Sexo 
1010101
0 
Jorge 27/12/86 Filho Masculin
o 
1010101
0 
Luiz 18/11/79 Filho Masculin
o 
2020202
0 
Fernanda 14/02/69 Cônjuge Feminino 
2020202
0 
Ângelo 10/02/95 Filho Masculin
o 
3030303
0 
Fernanda 01/05/90 Filho Feminino 
Tabela 2. Dependentes 
 
Quando uma relação possui mais de uma chave (não confundir com chave composta) 
— como por exemplo RG e CIC para empregados —, cada uma destas chaves é 
chamada de chave candidata. Uma destas chaves deve ser escolhida como primária. 
 
Uma chave estrangeira CE de uma tabela R1 em R2 ou vice-versa especifica um 
relacionamento entre as tabelas R1 e R2. 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 25 
 
Tabela 3. Departamento; Tabela 4. Empregado 
 
Modelagem Lógica 
 
O mapeamento do modelo entidade relacionamento para o modelo relacional segue 
os seguintes passos: 
 
1. Para cada entidade E no modelo ER é criada uma tabela T1 no modelo relacional 
que inclua todos os atributos simples de E; um dos atributos chaves de E deveser 
escolhida como a chave primária de T1; 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 26 
E 
E
 
Figura 11. Modelagem de entidade 
 
2. Para cada atributo composto, são inseridos apenas os componentes simples de cada 
um; 
E 
 
 
a1
a2
a1 a21 a22 a23
 
a23a22a21
E
 
 
Figura 12. Modelagem de atributos compostos 
 
3. Para cada atributo multivalorado A1, cria-se uma tabela T1, contendo o atributo 
multivalorado A1, mais o atributo chave C da tabela que representa a entidade ou 
relacionamento que contém A1; a chave primária de T1 será composta por A1 mais C; 
se A1 for composto, então a tabela T1 deverá conter todos os atributos de A1; 
 
a1 a2
E 
 
 
a1
a3
(_,N)
 a2
a1 a3
E A3_E
 
 
Figura 13. Modelagem de atributos multivalorados 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 27 
4. Para cada relacionamento regular com cardinalidade 1:1 entre entidades E1 e E2 
que geraram as tabelas T1 e T2 respectivamente, devemos escolher a chave primária 
de uma das relações (T1, T2) e inseri-la como chave estrangeira na outra relação; se 
um dos lados do relacionamento tiver participação total e outro parcial, então é 
interessante que a chave do lado com participação parcial seja inserida como chave 
estrangeira no lado que tem participação total; 
 
E1 
 
a1 a2 a3
 
E2 
 
b1 b2 b3
 
R 
 c1 c2
(_,1) (_,1)
 
 
 
Figura 14. Modelagem de relacionamento 1:1 
 
5. Para cada relacionamento regular com cardinalidade 1:N entre entidades E1 e E2 
respectivamente e que geraram as tabelas T1 e T2 respectivamente, deve-se inserir a 
chave primária de T1 como chave estrangeira em T2; 
 
a1 a2 a3 b1 c1 c2
E1 
 
a1 a2 a3
 
E2 
 
b1 b2 b3
 
R 
 c1 c2
(_,N) (_,1)
 
E1
 
Figura 15. Modelagem de relacionamento 1:n 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 28 
 
6. Para cada relacionamento regular com cardinalidade N:N entre entidades E1 e E2, 
cria-se uma nova tabela T1, contendo todos os atributos do relacionamento mais o 
atributo chave de E1 e o atributo chave de E2; a chave primária de T1 será composta 
pelos atributos chave de E1 e E2; 
 
a1 b1 c1 c2
E1 
 
a1 a2 a3
 
E2 
 
b1 b2 b3
 
R 
 c1 c2
(_,M) (_,N)
R
 
 
Figura 16. Modelagem de relacionamento n:n 
 
 
Linguagem SQL 
 
SQL, ou Structured Query Language, ou Linguagem de Consulta Estruturada, é uma 
linguagem de pesquisa declarativa padrão para banco de dados relacional (base de 
dados relacionais). A álgebra relacional deu inspiração a muitas das suas 
características originais. 
 
O SQL foi criado por E.F. Codd, membro do laboratório de pesquisa da IBM na década 
de 1970. Com o sucesso da linguagem e o surgimento de vários “dialetos” criados por 
outros produtores, foi criado um padrão para a linguagem. Em 1986, a ANSI (American 
National Standards Institute) foi responsável por padronizar as implementações da 
linguagem e em 1987 pela ISO (International Organization for Standardization). 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 29 
Mesmo o SQL sendo padronizado pela ANSI e ISO, existem muitas variações e 
extensões criadas por diversos fabricantes de sistemas gerenciadores de bases de 
dados. A linguagem pode ser facilmente migrada entre as plataformas sem grandes 
mudanças nas suas estruturas principais. 
 
Visão Geral de SQL 
 
Tipos de Dados 
Para armazenar as informações em um banco de dados, é importante conhecer os 
tipos de dados existentes. Existem três grandes grupos de tipos de dados em um BD: 
os do tipo caractere, os numéricos e os de data e hora. Após conhecer os tipos de 
dados, é possível entender quais valores podem ser utilizados, quais tamanhos podem 
ter, as operações que podem ser realizadas e como armazenar as informações de 
maneira correta. 
 
Caracteres 
 
Os tipos de dados caracteres podem armazenar textos, dados binários, caracteres 
especiais, e seu tamanho não pode passar de 254 bytes. Seguem os caracteres mais 
utilizados: 
 
 CHAR: string de caracteres de tamanho fixo; 
 VARCHAR: string de caracteres de tamanho variável. 
 
Numéricos 
 
Os tipos de dados numéricos podem armazenar números exatos, inteiros, ponto 
flutuante, ponto fixo, aproximados, dentre outros. Seguem os tipos mais utilizados: 
 INTEGER: números inteiros com 10 dígitos de precisão; não aceitam número 
fracionário; todos os números após o ponto decimal são truncados; 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 30 
 NUMBER: números inteiros com 22 dígitos decimais de precisão; não é 
necessário indicar a precisão; 
 DECIMAL: números inteiros com 22 dígitos decimais de precisão; é necessário 
indicar a precisão; 
 SMALLINT: números inteiros com 5 dígitos de precisão; não aceitam número 
fracionário; todos os números após o ponto decimal são truncados; 
 FLOAT: número de ponto flutuante de precisão simples; 
 DOUBLE: número de ponto flutuante de precisão dupla; 
 BIT: campo de um bit. 
 
Data e Hora 
 
Os tipos de dados data e hora podem armazenar datas e horas de diversos formatos. 
Seguem os tipos mais utilizados: 
 
 DATE: armazena apenas datas, que podem ser exibidas e codificadas de 
diversas formas; 
 TIME: armazena apenas horas, que podem ser exibidas e codificadas de 
diversas formas; 
 TIMESTAMP: armazena data e hora ao mesmo tempo, que podem ser exibidas 
e codificadas de diversas formas. 
 
DML 
Linguagem de Manipulação de Dados, ou Data Manipulation Language (DML), é um 
subconjunto de linguagem usada para inserir, atualizar e apagar registros. 
 
Insert 
Comando utilizado para inserir registros em uma tabela. Exemplo: 
INSERT INTO nome_tabela 
VALUES (valor1, valor2, valor3,...) 
ou 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 31 
INSERT INTO nome_tabela 
(coluna1, coluna2, coluna3,...) 
VALUES (valor1, valor2, valor3,...); 
 
Update 
Comando utilizado para atualizar os registros de uma tabela. Exemplo: 
UPDATE nome_tabela 
SET campo = “novo_valor” 
WHERE condição 
 
Delete 
Comando utilizado para apagar os registros de uma tabela. Exemplo: 
DELETE 
FROM nome_tabela 
WHERE condição 
 
DTL 
Linguagem de Transação de Dados, ou Data Transaction Language (DTL), utilizada 
para transações como start transaction, commit e rollback. 
 
Start Transaction 
Marca o começo de uma transação no banco de dados, que pode ser completa ou não. 
Exemplo: 
START TRANSACTION; 
 
COMMIT 
Envia todos os dados da transação permanentemente para o banco de dados Exemplo: 
COMMIT 
 
ROLLBACK 
Desfaz todas as alterações feitas nas transações realizadas no banco de dados. 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 32 
Exemplo: 
ROLLBACK; 
DDL 
Linguagem de Definição de Dados, ou Data Definition Language (DDL), utilizada para 
definir novas tabelas e elementos associados. 
 
CREATE 
Comando utilizado para criar uma tabela dentro da base de dados. Exemplo: 
CREATE TABLE aluno 
(nome VARCHAR (50), 
matricula INT, 
PRIMARY KEY (matricula)); 
 
DROP 
Comando utilizado para apagar uma tabela dentro da base de dados. Exemplo: 
DROP TABLE aluno; 
 
DQL 
Linguagem de Consulta de Dados, ou Data Query Language (DQL), o mais importante 
dentre eles, pois as consultas são realizadas o tempo todo no BD, e o seu único 
comando é o SELECT, que é composto de várias cláusulas e opções. 
 
Cláusulas 
As cláusulas são condições utilizadas nas consultas para determinar os dados a serem 
selecionados e as regras a serem aplicadas. 
 
 From - Utilizadopara definir a tabela na consulta para seleção dos registros; 
 Where - Utilizado para definir as condições que os registros devem ter para 
serem selecionados; 
 Group By - Utilizado para agrupar os registros com o mesmo conteúdo; 
 Having - Utilizado para definir as condições que cada grupo deve ter; 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 33 
 Order By - Utilizado para ordenar os registros, especificando a ordem (desc, 
asc); 
 Distinct - Utilizado para selecionar registros distintos. 
 
Operadores Lógicos 
 
 AND (“E”): compara dois ou mais valores; caso todos sejam corretos (iguais), 
devolve um valor verdadeiro; 
 OR (“OU”): compara dois ou mais valores; caso um deles seja correto, devolve 
um valor verdadeiro; 
 NOT: negação; devolve o valor contrário da expressão. 
 
Agregação 
 
As funções de agregação produzem um único resultado para todas as linhas que 
retornam de uma consulta. Seguem as funções mais utilizadas: 
 
 AVG – Retorna a média dos registros selecionados; 
 COUNT – Retorna a quantidade de linhas selecionadas; 
 SUM – Retorna a soma todos os registros selecionados; 
 MAX – Retorna o maior valor dos registros selecionados; 
 MIN – Retorna o menor valor dos registros selecionados. 
 
Sintaxe de SQL 
 
As tabelas no banco de dados são identificadas por um nome (Aluno, Cliente, 
Empregado), e as linhas também conhecidas como registros contêm os dados da 
tabela. 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 34 
 
 
Tabela 5. Aluno 
 
A query (consulta em SQL) a seguir irá retornar todos os registros da tabela 
“ALUNO”: 
SELECT * FROM ALUNO 
É importante saber que o SQL não é case sensitive. 
 
Um Pouco mais sobre Select 
 
Vimos que o SELECT é o comando mais utilizado no banco de dados, tanto para 
consultas simples até consultas mais complexas. Então, para entendermos melhor 
todas as funcionalidades e aprender como utilizar esta ferramenta no BD, veremos 
agora alguns de seus principais recursos. 
 
A declaração SELECT é utilizada para selecionar os registros de um banco de dados, e 
o resultado de uma consulta SQL é apresentado em forma de tabela. 
 
A sintaxe de um SELECT é bem simples. Como já vimos, podemos selecionar os 
registros de duas formas: chamando o nome das colunas antes do FROM — desta 
forma, precisa-se saber o nome de cada coluna — ou chamando todas as colunas de 
uma vez utilizando o asterisco (*) antes do FROM; desta forma não é necessário saber 
o nome das colunas. 
 
Exemplos: 
SELECT nome_coluna1, nome_coluna2 
FROM nome_tabela 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 35 
ou 
SELECT * 
FROM nome_tabela. 
 
Exemplo de SELECT na tabela “ALUNO”: 
Queremos selecionar o conteúdo das colunas MATRICULA e NOME. Usaremos a 
seguinte declaração SELECT: 
SELECT MATRICULA, NOME 
FROM ALUNO 
O resultado será: 
 
 
 
Tabela 6. Resultado da consulta na tabela ALUNO 
 
Select Distinct 
Em algumas tabelas do banco de dados, as informações contidas nas colunas podem 
conter valores duplicados. Se for preciso listar todos os valores distintos de uma 
coluna, o DISTINCT deve ser utilizado para retornar apenas os valores sem 
duplicidade. 
 
Sua sintaxe é a seguinte: 
SELECT DISTINCT nome_coluna FROM nome_tabela. 
 
Exemplo de SELECT DISTINCT na tabela “FUNCIONARIO”. 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 36 
 
 
Tabela 7. “FUNCIONARIO” 
 
Queremos selecionar apenas os valores distintos da coluna “DEPARTAMENTO” da 
tabela “FUNCIONARIO”; para isso, utilizaremos a seguinte consulta: 
SELECT DISTINCT DEPARTAMENTO FROM FUNCIONARIO 
 
O resultado será: 
 
Tabela 8. Departamento 
 
Cláusula Where 
 
A cláusula WHERE é utilizada para criar regras, nos casos em que somente os registros 
que tiverem os critérios utilizados serão extraídos. 
 
Sua sintaxe é a seguinte: 
SELECT nome_coluna FROM nome_tabela WHERE nome_coluna operador valor 
 
Exemplo de WHERE na tabela “PAIS”: 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 37 
 
 Tabela 9. “PAIS” 
 
Queremos selecionar os países com P_ID igual a 2; para isso, utilizaremos a seguinte 
consulta: 
SELECT * FROM PAIS WHERE P_ID = 2 
 
O resultado será: 
 
 
 
Tabela 10. Resultado da consulta WHERE na tabela “PAIS” 
 
Com relação ao campo de texto, deve ser escrito entre aspas simples (‘Brasil’); já 
valores numéricos não precisam das aspas (123). 
 
Forma correta: 
SELECT * FROM PAIS WHERE PAIS = ‘Portugal’ 
SELECT * FROM PAIS WHERE P_ID = 3 
 
Forma errada: 
SELECT * FROM PAIS WHERE PAIS = Portugal 
 SELECT * FROM PAIS WHERE P_ID = ‘3’ 
 
Para a cláusula WHERE, podem ser utilizados os seguintes operadores de comparação: 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 38 
 
 
Tabela 11. Operadores de comparação 
 
 
Order By 
A palavra-chave ORDER BY é utilizada para ordenar o resultado de uma consulta a 
partir de uma coluna determinada. O padrão da ordenação é crescente; caso queira 
ordenar de modo descendente, a palavra DESC deve ser utilizada. 
 
Sua sintaxe é a seguinte: 
SELECT nome_coluna 
FROM nome_tabela 
ORDER BY nome_coluna ASC|DESC 
 
Exemplo de ORDER BY DESC na tabela “PRODUTO”: 
 
 
 
 Tabela 12. Produto 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 39 
Queremos selecionar todos os produtos classificados em ordem descendente por 
preço; para isso, utilizaremos a seguinte consulta: 
SELECT * 
FROM PRODUTO 
ORDER BY PRECO DESC 
 
O resultado será: 
 
 
 
Tabela 13. Produto 
 
LIKE 
O LIKE é utilizado para localizar um determinado padrão de palavra em uma coluna. 
Para definir a posição da palavra de busca, o “%” deve ser usado: 
 
 No final para buscar palavras que começam com o padrão definido; 
 No início para buscar palavras que terminam com o padrão definido; 
 No final e no início para buscar palavras que contenham em qualquer posição 
o padrão definido. 
 
Sua sintaxe é a seguinte: 
SELECT nome_coluna FROM nome_tabela WHERE nome_coluna LIKE padrao 
 
Exemplo um de LIKE 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 40 
 
 
 Tabela 14. DEPARTAMENTO 
 
 
Queremos selecionar apenas os nomes dos departamentos que começam com a letra 
“R”; para isso, utilizaremos a seguinte consulta: 
 
SELECT * FROM DEPARTAMENTO WHERE DEPARTAMENTO LIKE ‘R%’ 
 
O resultado será: 
 
 
 Tabela 15. "DEPARTAMENTO” 
 
Exemplo dois de LIKE na tabela “DEPARTAMENTO”. Queremos selecionar apenas os 
nomes dos gerentes que terminam com a letra “O”. Para isso, utilizaremos a seguinte 
consulta: 
 
SELECT * FROM DEPARTAMENTO WHERE GERENTE LIKE ‘%o’ 
 
O resultado será: 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 41 
Tabela 16. ‘DEPARTAMENTO” 
 
 
Exemplo três de LIKE na tabela “DEPARTAMENTO”. Queremos selecionar apenas os 
nomes dos gerentes que tenham a letra “A” em qualquer posição; para isso 
utilizaremos a seguinte consulta: 
 
SELECT * FROM DEPARTAMENTO WHERE GERENTE LIKE ‘%a%’ 
 
O resultado será: 
 
 
Tabela 17. “DEPARTAMENTO” 
 
Exemplo quatro de LIKE na tabela “DEPARTAMENTO”. Queremos selecionar apenas 
os nomes dos departamentos que não tenham a letra “o” em qualquer posição; para 
isso, utilizaremos a seguinte consulta: 
 
SELECT * 
FROM DEPARTAMENTO 
WHERE DEPARTAMENTO NOT LIKE ‘%o%’ 
 
 
 
 
 
 Tabela 18.“DEPARTAMENTO” 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 42 
IN 
O IN permite buscar diversos valores na cláusula WHERE. Sua sintaxe é a seguinte: 
SELECT nome_coluna FROM nome_tabela WHERE nome_coluna IN (valor1, valor2, 
valor3,...) 
 
Exemplo: 
 
 
 
 Tabela 19. “FACULDADE” 
 
Queremos selecionar os nomes das faculdades iguais a “UNIABEU” ou “Gama Filho”; 
para isso, utilizaremos a seguinte consulta: 
 
SELECT * FROM FACULDADE WHERE FACULDADE IN (‘UNIABEU’, ‘GamaFilho’) 
 
O resultado será: 
 
 
Tabela 20. “FACULDADE” 
 
Between 
O BETWEEN é utilizado para selecionar um intervalo de dois valores. Os valores podem 
ser do tipo data, número ou texto. 
 
Sua sintaxe é a seguinte: 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 43 
SELECT nome_coluna FROM nome_tabela WHERE nome_coluna BETWEEN valor1 AND 
valor2 
 
Exemplo um de BETWEEN: 
 
 
Tabela 21. “VENDEDOR” 
 
Queremos selecionar os vendedores que o V_ID esteja entre 2 e 4; para isso 
utilizaremos a seguinte consulta: 
 
SELECT * FROM VENDEDOR WHERE V_ID BETWEEN 2 AND 4 
 
O resultado será: 
 
 
 Tabela 22. “VENDEDOR” 
 
Exemplo dois de NOT BETWEEN na tabela “VENDEDOR”. Queremos selecionar os 
vendedores que o V_ID não esteja entre 2 e 4; para isso, utilizaremos a seguinte 
consulta: 
SELECT * FROM VENDEDOR WHERE V_ID NOT BETWEEN 2 AND 4 
 
O resultado será: 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 44 
 
 
 
Tabela 23. “VENDEDOR” 
 
Também é possível selecionar um intervalo entre duas datas. 
 
Exemplo três de BETWEEN na tabela “VENDEDOR”. Queremos selecionar os 
vendedores que nasceram entre os anos de 1980 a 1990; para isso, utilizaremos a 
seguinte consulta: 
SELECT * FROM VENDEDOR WHERE NASCIMENTO BETWEEN ‘01/01/1980’ AND 
‘31/12/1990’ 
 
O resultado será: 
 
Tabela 24. “VENDEDOR” 
 
JOIN 
 
O JOIN é usado em consultas para buscar dados em duas ou mais tabelas, utilizando 
as colunas com a mesma relação entre elas. Essa relação é feita através de uma coluna 
na qual os registros são únicos para cada linha, mais conhecida como chave primária. 
Dentro de um banco de dados, as tabelas podem relacionar entre si usando as chaves 
primárias, assim evitando a repetição dos dados em todas as tabelas. 
 
Abaixo mostraremos duas tabelas em que todos os exemplos dos diferentes tipos de 
JOIN serão feitos. 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 45 
 
 
 
Tabela 25. “CLIENTE” 
 
 
A coluna “C_ID” é a chave primária da tabela “CLIENTE”, com isso não podem existir 
linhas na “C_ID” com o mesmo número, pois cada número da “C_ID” identifica uma 
pessoa unicamente, mesmo que o nome seja igual. 
 
 
Tabela 26. “PEDIDO” 
 
A coluna “P_ID” é a chave primária da tabela “PEDIDO” e a coluna “C_ID” refere-se 
aos clientes da tabela “CLIENTE”. O relacionamento entre as tabelas será feito pela 
coluna “C_ID” existente nas duas tabelas. 
 
Conheceremos agora os tipos de JOIN e suas diferenças. 
 JOIN ou INNER JOIN: quando ambas as tabelas tiverem ao menos uma 
correspondência, os registros serão retornados; 
 LEFT JOIN: todos os registros da tabela à esquerda serão retornados, mesmo 
que não estejam na tabela à direita; 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 46 
 RIGHT JOIN: todos os registros da tabela à direita serão retornados, mesmo 
que não estejam na tabela à esquerda; 
 FULL JOIN: todos os registros da tabela à esquerda e da tabela à direita serão 
retornados. 
 
Sintaxe de JOIN ou INNER JOIN: 
SELECT nome_coluna (s) 
FROM nome_tabela1 
 INNER JOIN nome_tabela2 
 ON nome_tabela1.nome_coluna = nome_tabela2.nome_coluna 
 
Exemplo de JOIN ou INNER JOIN na tabela “CLIENTE e tabela “PEDIDO”. Para listar 
todos os clientes com algum pedido, utilizaremos a seguinte consulta: 
SELECT CLIENTE.NOME, CLIENTE.ENDERECO, PEDIDO.NUMERO 
FROM CLIENTE 
INNER JOIN Pedido 
ON CLIENTE.C_ID = PEDIDO.C_ID 
 
Para tornar a consulta mais limpa e de fácil compreensão, utilizaremos o alias na 
mesma consulta sem alterar o resultado: 
SELECT C.NOME, C.ENDERECO, P.NUMERO 
FROM CLIENTE C 
INNER JOIN PEDIDO P OB C.C_ID = P.C_ID 
 
O resultado de ambas as consultas será: 
 
 
Tabela 27. 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 47 
 
Sintaxe de LEFT JOIN: SELECT nome_coluna (s) 
FROM nome_tabela1 
LEFT JOIN nome_tabela2 
ON nome_tabela1.nome_coluna = nome_tabela2.nome_coluna 
Exemplo de LEFT JOIN na tabela “CLIENTE” e tabela “PEDIDO”. Para listar todos os 
clientes e os seus pedidos, se houver, utilizaremos a seguinte consulta: 
 
SELECT C.NOME, C.ENDERECO, P.NUMERO 
FROM CLIENTE C 
LEFT JOIN PEDIDO P ON C.C_ID = P.C_ID 
 
O resultado será: 
 
 
Tabela 28. 
 
 
Sintaxe de RIGHT JOIN: SELECT nome_coluna (s) 
FROM nome_tabela1 
RIGHT JOIN nome_tabela2 
ON nome_tabela1.nome_coluna = nome_tabela2.nome_coluna 
 
SELECT C.NOME, C.ENDERECO, P.NUMERO 
FROM CLIENTE C 
RIGHT JOIN PEDIDO P ON C.C_ID = P.C_ID 
 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 48 
O resultado será: 
 
 
Tabela 29. 
 
Sintaxe de FULL JOIN: SELECT nome_coluna (s) 
FROM nome_tabela1 
FULL JOIN nome_tabela2 
ON nome_tabela1.nome_coluna = nome_tabela2.nome_coluna 
 
Exemplo de FULL JOIN na tabela “CLIENTE” e tabela “PEDIDO”. Para listar todos os 
clientes e os seus pedidos, e todos os pedidos e os seus clientes, utilizaremos a 
seguinte consulta: 
SELECT C.NOME, C.ENDERECO, P.NUMERO 
FROM CLIENTE C 
FULL JOIN PEDIDO P ON C.C_ID = P.C_ID 
 
O resultado será: 
 
 
Tabela 30. 
 
 
INTEGRAÇÃO COM BANCO DE DADOS 49 
 
Referências Bibliográficas 
 
COSTA, Rogério Luís de C. SQL: Guia Prático. Rio de Janeiro: Brasport, 2007. 
 
NIELD, Thomas. Introdução à Linguagem SQL: Abordagem prática para iniciantes. 
São Paulo: Novatec, 2016. 
 
XAVIER, Fabrício S. V.; PEREIRA, Leonardo Bruno R. SQL: Dos Conceitos às Consultas 
Complexas. Rio de Janeiro: Ciência Moderna, 2009.

Continue navegando