Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

1 
 
 
SUMÁRIO 
1 O QUE É BANCO DE DADOS .................................................................... 3 
2 DEFINIÇÃO DE BANCO DE DADOS ......................................................... 4 
3 MODELOS DE DADOS .............................................................................. 5 
3.1 Modelo Hierárquico .............................................................................. 5 
3.2 Modelo em Rede .................................................................................. 6 
3.3 Modelo Relacional ................................................................................ 7 
3.4 Modelo Orientado a Objetos ................................................................. 8 
3.5 Sistemas Objeto-Relacionais ............................................................... 9 
4 SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS (SGBD) ....... 10 
5 SISTEMA DE BANCO DE DADOS ........................................................... 11 
6 ARQUITETURAS ...................................................................................... 13 
6.1 Arquitetura e Independência de Dados de SGBD’s ........................... 15 
6.2 Resumo das arquiteturas de SGBDs ................................................. 17 
7 AMBIENTE DE IMPLEMENTAÇÃO CLIENTE-SERVIDOR ...................... 19 
8 CARACTERÍSTICAS DA ABORDAGEM DE BASE DE DADOS X 
PROCESSAMENTO TRADICIONAL DE ARQUIVOS ............................................... 21 
8.1 Capacidades do SGBD ...................................................................... 22 
8.2 Vantagens Adicionais da Abordagem da Base de Dados .................. 24 
8.3 Quando não utilizar um SGBD ........................................................... 25 
8.4 Profissionais e Atividades envolvidas em um SGBD .......................... 25 
9 VANTAGENS DO CONTROLE CENTRALIZADO .................................... 27 
9.1 O Que se Pode Almejar Com o Uso de SBD ..................................... 29 
10 DESVANTAGENS DE USAR SGBD ..................................................... 30 
11 LINGUAGENS DE SGBD’S ..................................................................... 31 
 
2 
 
12 INDEPENDÊNCIA DE DADOS.............................................................. 32 
13 ADMINISTRADOR DE BANCO DE DADOS ......................................... 33 
14 LINGUAGEM SQL – STRUCTURE QUERY LANGUAGE .................... 36 
14.1 Conceito .......................................................................................... 36 
14.2 A linguagem SQL ............................................................................ 36 
14.3 Vantagens e desvantagens da linguagem SQL .............................. 39 
15 BIBLIOGRAFIA ...................................................................................... 44 
 
 
 
3 
 
1 O QUE É BANCO DE DADOS 
 
Fonte: macoratti.net 
Banco de Dados (ou bases de dados) é um dos conceitos mais importantes de 
Ciência da Computação. Um banco de dados normalmente agrupa informações 
utilizadas para um mesmo fim. O conceito de Banco de Dados é intimamente 
relacionado à computação, no sentido de que a computação estuda a estruturação de 
dados e as operações que possam ser realizadas sobre estes dados. Podemos definir 
um banco de dados como um conjunto de informações, estruturadas de forma a 
organizá-la para facilitar operações como inserção, busca e remoção sobre estes 
dados. Estas informações são geralmente manipuladas por um software que gerencia 
sua estrutura e operações que possam ser realizadas. 
O conceito de Banco de Dados está ligado à Biblioteconomia que é a ciência 
que estuda e trata o planejamento, a implementação, a administração e a organização 
da informação em unidades de informação (das quais podem ser citadas as 
bibliotecas, centros de documentação e informação, sistemas de informação, entre 
outros, nas organizações. 
Um banco de dados é usualmente mantido e acessado por meio de um software 
conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Normalmente um 
SGBD adota um modelo de dados, de forma pura, reduzida ou estendida. Muitas 
vezes o termo banco de dados é usado como sinônimo de SGBD. 
O modelo de dados mais adotado hoje em dia é o modelo relacional, onde as 
estruturas têm a forma de tabelas, compostas por linhas e colunas. 
 
4 
 
2 DEFINIÇÃO DE BANCO DE DADOS 
O termo banco de dados foi criado inicialmente pela comunidade de 
computação, para indicar coleções organizadas de dados armazenados em 
computadores digitais, porém o termo é atualmente usado para indicar tanto bancos 
de dados digitais como bancos de dados disponíveis de outra forma. No Brasil, é mais 
comum usar o termo base de dados quando se mencionam outros tipos de bancos de 
dados, além daqueles armazenados em um computador e gerenciados por um 
Sistema Gerenciador de Banco de Dados (SGBD). 
Aceitando uma abordagem mais técnica, um banco de dados é uma coleção 
de registros salvos em um computador de um modo sistemático, de forma que um 
programa de computador possa consultá-lo para responder questões. 
Normalmente um registro está associado a um conceito completo e é dividido 
em campos, ou atributos, que dão valores a propriedades desses conceitos. 
Possivelmente alguns registros podem apontar diretamente ou referenciar 
indiretamente outros registros, o que faz parte da caracterização do modelo adotado 
pelo banco de dados. 
A descrição de quais são os tipos de registros existentes em um banco de 
dados e ainda quais são os campos de cada registro é conhecida como esquema do 
banco de dados ou esquema relacional. 
Estritamente falado, o termo banco de dados deve ser aplicado apenas aos 
dados, enquanto o termo Sistema Gerenciador de Bancos de Dados deve ser aplicado 
ao software com a capacidade de manipular bancos de dados de forma geral. Porém, 
é comum misturar os dois conceitos.1 
 
 
 
1 Texto extraído do link: 
https://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_%C3%A0_Ci%C3%AAncia_da_Com
puta%C3%A7%C3%A3o/Introdu%C3%A7%C3%A3o_aos_Bancos_de_Dados 
 
5 
 
3 MODELOS DE DADOS 
3.1 Modelo Hierárquico 
O modelo hierárquico foi o primeiro a ser reconhecido como um modelo de 
dados. Seu desenvolvimento somente foi possível devido à consolidação dos discos 
de armazenamento endereçáveis, pois esses discos possibilitaram a exploração de 
sua estrutura de endereçamento físico para viabilizar a representação hierárquica das 
informações. Nesse modelo de dados, os dados são estruturados em hierarquias ou 
árvores. Os nós das hierarquias contêm ocorrências de registros, onde cada registro 
é uma coleção de campos (atributos), cada um contendo apenas uma informação. O 
registro da hierarquia que precede a outros é o registro-pai, os outros são chamados 
de registros-filhos. Uma ligação é uma associação entre dois registros. O 
relacionamento entre um registro-pai e vários registros-filhos possui cardinalidade 1:N. 
Os dados organizados segundo este modelo podem ser acessados segundo uma 
sequência hierárquica com uma navegação do topo para as folhas e da esquerda para 
a direita. Um registro pode estar associado a vários registros diferentes, desde que 
seja replicado. A replicação possui duas grandes desvantagens: pode causar 
inconsistência de dados quando houver atualização e o desperdício de espaço é 
inevitável. O sistema comercial mais divulgado no modelo hierárquico foi o Information 
Management System da IBM Corp (IMS). Grande parte das restrições e consistências 
de dados estava contida dentro dos programas escritos para as aplicações. Era 
necessário escrever programas na ordem para acessar o banco de dados. Um 
diagrama de estrutura de árvore descreve o esquema de um banco de dados 
hierárquico. Tal diagrama consiste em dois componentes básicos: Caixas, as quais 
correspondem aos tipos de registros e Linhas, que correspondemàs ligações entre 
os tipos de registros. Como exemplo do modelo hierárquico, considere a Figura abaixo 
(1.1). 
 
6 
 
 
Fonte: ime.usp.br 
3.2 Modelo em Rede 
O modelo em redes surgiu como uma extensão ao modelo hierárquico, 
eliminando o conceito de hierarquia e permitindo que um mesmo registro estivesse 
envolvido em várias associações. No modelo em rede, os registros são organizados 
em grafos onde aparece um único tipo de associação (set) que define uma relação 
1:N entre 2 tipos de registros: proprietário e membro. Desta maneira, dados dois 
relacionamentos 1:N entre os registros A e D e entre os registros C e D é possível 
construir um relacionamento M:N entre A e D. O gerenciador Data Base Task Group 
(DBTG) da CODASYL (Committee on Data Systems and Languages) estabeleceu 
uma norma para este modelo de banco de dados, com linguagem própria para 
definição e manipulação de dados. Os dados tinham uma forma limitada de 
independência física. A única garantia era que o sistema deveria recuperar os dados 
para as aplicações como se eles estivessem armazenados na maneira indicada nos 
esquemas. Os geradores de relatórios da CODASYL também definiram sintaxes para 
dois aspectos chaves dos sistemas gerenciadores de dados: concorrência e 
segurança. O mecanismo de segurança fornecia uma facilidade na qual parte do 
banco de dados (ou área) pudesse ser bloqueada para prevenir acessos simultâneos, 
quando necessário. A sintaxe da segurança permitia que uma senha fosse associada 
a cada objeto descrito no esquema. Ao contrário do Modelo Hierárquico, em que 
qualquer acesso aos dados passa pela raiz, o modelo em rede possibilita acesso a 
qualquer nó da rede sem passar pela raiz. No Modelo em Rede o sistema comercial 
 
7 
 
mais divulgado é o CAIDMS da Computer Associates. O diagrama para representar 
os conceitos do modelo em redes consiste em dois componentes básicos: Caixas, que 
correspondem aos registros e Linhas, que correspondem às associações. A Figura 
abaixo (1.2) ilustra um exemplo de diagrama do modelo em rede. 
 
Fonte: ime.usp.br 
Estes dois modelos: Hierárquico e Rede são Orientados a Registros, isto é, 
qualquer acesso à base de dados – inserção, consulta, alteração ou remoção – é feito 
em um registro de cada vez. 
3.3 Modelo Relacional 
O modelo relacional apareceu devido às seguintes necessidades: aumentar a 
independência de dados nos sistemas gerenciadores de banco de dados; prover um 
conjunto de funções apoiadas em álgebra relacional para armazenamento e 
recuperação de dados; permitir processamento ad hoc. O modelo relacional, tendo 
por base a teoria dos conjuntos e álgebra relacional, foi resultado de um estudo teórico 
realizado por CODD (1970). O Modelo relacional revelou-se ser o mais flexível e 
adequado ao solucionar os vários problemas que se colocam no nível da concepção 
e implementação da base de dados. A estrutura fundamental do modelo relacional é 
a relação (tabela). Uma relação é constituída por um ou mais atributos (campos) que 
traduzem o tipo de dados a armazenar. Cada instância do esquema (linha) é chamada 
de tupla (registro). O modelo relacional não tem caminhos pré-definidos para se fazer 
acesso aos dados como nos modelos que o precederam. O modelo relacional 
 
8 
 
implementa estruturas de dados organizadas em relações. Porém, para trabalhar com 
essas tabelas, algumas restrições precisaram ser impostas para evitar aspectos 
indesejáveis, como: Repetição de informação, incapacidade de representar parte da 
informação e perda de informação. Essas restrições são: integridade referencial, 
chaves e integridade de junções de relações. A Figura abaixo (1.3), abaixo, traz 
exemplos de tabelas sob o modelo relacional. 
 
Fonte: ime.usp.br 
3.4 Modelo Orientado a Objetos 
Os bancos de dados orientados a objeto começaram a se tornar 
comercialmente viáveis em meados de 1980. A motivação para seu surgimento está 
em função dos limites de armazenamento e representação semântica impostas no 
modelo relacional. Alguns exemplos são os sistemas de informações geográficas 
(SIG), os sistemas CAD e CAM, que são mais facilmente construídos usando tipos 
complexos de dados. A habilidade para criar os tipos de dados necessários é uma 
característica das linguagens de programação orientadas a objetos. Contudo, estes 
sistemas necessitam guardar representações das estruturas de dados que utilizam no 
armazenamento permanente. A estrutura padrão para os bancos de dados orientados 
a objetos foi feita pelo Object Database Management Group (ODMG). Esse grupo é 
formado por representantes dos principais fabricantes de banco de dados orientados 
a objeto disponíveis comercialmente. Membros do grupo têm o compromisso de 
incorporar o padrão em seus produtos. O termo Modelo Orientado a Objetos é usado 
para documentar o padrão que contém a descrição geral das facilidades de um 
conjunto de linguagens de programação orientadas a objetos e a biblioteca de classes 
que pode formar a base para o Sistema de Banco de Dados. Quando os bancos de 
 
9 
 
dados orientados a objetos foram introduzidos, algumas das falhas perceptíveis do 
modelo relacional pareceram ter sido solucionadas com esta tecnologia e acreditava-
se que tais bancos de dados ganhariam grande parcela do mercado. Hoje, porém, 
acredita-se que os Bancos de Dados Orientados a Objetos serão usados em 
aplicações especializadas, enquanto os sistemas relacionais continuarão a sustentar 
os negócios tradicionais, onde as estruturas de dados baseadas em relações são 
suficientes. O diagrama de classes UML serve geralmente como o esquema para o 
modelo de dados orientado a objetos. Observe o exemplo da Figura abaixo (1.4), e 
compare as diferenças com o modelo anterior. 
 
Fonte: ime.usp.br 
3.5 Sistemas Objeto-Relacionais 
A área de atuação dos sistemas Objeto-Relacional tenta suprir a dificuldade 
dos sistemas relacionais convencionais, que é o de representar e manipular dados 
complexos, visando ser mais representativos em semântica e construções de 
modelagens. A solução proposta é a adição de facilidades para manusear tais dados 
utilizando-se das facilidades SQL (Structured Query Language) existentes. Para isso, 
foi necessário adicionar: extensões dos tipos básicos no contexto SQL; 
representações para objetos complexos no contexto SQL; herança no contexto SQL 
e sistema para produção de regras.2 
 
2 Texto extraído do link: https://www.ime.usp.br/~jef/apostila.pdf 
 
10 
 
4 SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS (SGBD) 
 
Fonte: binariux.com.br 
 
Todas as organizações, por menor que sejam, possuem quantidades cada vez 
maiores de dados e informações a armazenar. Todavia, a manipulação dessas 
informações tornou-se impossível de ser realizada manualmente (via papéis, 
principalmente), pois sua utilização, além de demorada (devido a catalogação dos 
dados), é passível de erros, principalmente ocasionados pelo desgaste do operador 
em conseguir resgatar informações requisitadas. Nesse sentido, torna-se mais fácil 
encontrar a informação numa base de dados que recorre a uma das tecnologias de 
informação de maior sucesso e confiança. Ou seja, as bases de dados estendem a 
função do papel ao guardar a informação em computadores. Qualquer empresa que 
pretenda garantir um controle efetivo sobre todo o seu negócio, tem obrigatoriamente 
de recorrer a sistemas de gestão de bases de dados. Existem muitos tipos de 
ferramentas, completas e com funcionalidades acrescidas, que elevam outros níveis, 
a capacidade operacional de gerar informação de valor para a organização. Um 
sistema de gerenciamento de banco de dados não é nada mais do que um conjunto 
de programas que permite armazenar, modificar e extrair informações de um banco 
de dados. Há muitos tipos diferentes de SGBD. Desde pequenos sistemas que 
funcionam em computadores pessoais a sistemasenormes que estão associados 
a mainframes. Um SGDB implica a criação e manutenção das bases de dados, elimina 
a necessidade de especificação de definição de dados, age como interface entre os 
programas de aplicação e os ficheiros de dados físicos, e separa as visões lógica e 
flabi
Realce
flabi
Realce
 
11 
 
de concepção dos dados. Assim sendo, são basicamente três os componentes de um 
SGBD: 
Linguagem de definição de dados (especifica conteúdos, estrutura a base de 
dados e define os elementos de dados); 
Linguagem de manipulação de dados (para poder alterar os dados na base); 
Dicionário de dados (guarda definições de elementos de dados e respetivas 
caraterísticas — descreve os dados, quem os acede, etc.) (Gouveia; 2009).3 
 
Fonte: devmedia.com.br 
 
5 SISTEMA DE BANCO DE DADOS 
Sistema de Banco de Dados é um sistema de software composto pelos 
programas de aplicação, pelo SGBD e pelo BD, para um conjunto de aplicações de 
uma mesma organização. 
Programas de aplicação, colocado na definição acima, são programas que 
realizam funções da aplicação. EX.: cálculo das deduções e impostos, a partir da 
receita apurada, dos custos computados e da legislação em vigor. Eles também são 
os responsáveis pela garantia das restrições de integridade que não podem ser 
controladas pelo SGBD. Implementam interfaces e relatórios específicos. Acessam o 
BD através do SGBD para consulta e atualização dos dados da aplicação. 
Resumindo: 
 
3 Texto extraído do link: 
https://pt.wikipedia.org/wiki/Sistema_de_gerenciamento_de_banco_de_dados#cite_note-1 
flabi
Realce
flabi
Realce
 
12 
 
SBD = BD + SGBD + PA 
 
De acordo com (DATE,1985), um SBD é dividido em módulos que tratam de 
partes, em separado, cada uma das responsabilidades do sistema geral. Estes 
componentes fundamentais são: 
 Gerenciador de Arquivos: que trata da alocação do espaço para 
armazenamento e das estruturas de dados utilizadas para representar a 
informação armazenada no disco; 
 Gerenciador de Banco de Dados: fornece a interface entre os dados de 
baixo nível armazenados no disco e os programas aplicativos e de 
consulta submetidos ao sistema; 
 Processador de Consultas: traduz as consultas escritas em uma 
linguagem de alto nível para instruções de baixo nível que o gerenciador 
do banco de dados entende; 
 Pré-compilador DML: converte comandos DML embutidos em um 
aplicativo para chamadas de procedimento normal na linguagem 
hospedeira; 
 Arquivos de Dados: armazenam banco de dados por si mesmos; 
 Dicionário de Dados: é o componente responsável pelo armazenamento 
dos metadados sobre a estrutura do banco de dados. O dicionário de 
dados é bastante utilizado; 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
13 
 
 
Fonte: marilia.unesp.br 
6 ARQUITETURAS 
As primeiras arquiteturas usavam mainframes para executar o processamento 
principal e de todas as funções do sistema, incluindo os programas aplicativos, 
programas de interface com o usuário, bem como a funcionalidade dos SGBDs. Esta 
é a razão pela qual a maioria dos usuários fazia acesso aos sistemas via terminais 
que não possuíam poder de processamento, apenas a capacidade de visualização. 
Todos os processamentos eram feitos remotamente, apenas as informações a serem 
visualizadas e os controles eram enviados do mainframe para os terminais de 
visualização, conectados a ele por redes de comunicação. Como os preços do 
hardware foram decrescendo, muitos usuários trocaram seus terminais por 
computadores pessoais (PC) e estações de trabalho. No começo os SGBDs usavam 
esses computadores da mesma maneira que usavam os terminais, ou seja, o SGBD 
era centralizado e toda sua funcionalidade, execução de programas aplicativos e 
processamento da interface do usuário eram executados em apenas uma máquina. 
Gradualmente, os SGBDs começaram a explorar a disponibilidade do poder de 
processamento no lado do usuário, o que levou à arquitetura cliente-servidor. 
A arquitetura cliente-servidor foi desenvolvida para dividir ambientes de 
computação onde um grande número de PCs, estações de trabalho, servidores de 
flabi
Realce
 
14 
 
arquivos, impressoras, servidores de banco de dados e outros equipamentos são 
conectados juntos por uma rede. A ideia é definir servidores especializados, tais como 
servidor de arquivos, que mantém os arquivos de máquinas clientes, ou servidores de 
impressão que podem estar conectados a várias impressoras; assim, quando se 
desejar imprimir algo, todas as requisições de impressão são enviadas a este servidor. 
As máquinas clientes disponibilizam para o usuário as interfaces apropriadas para 
utilizar esses servidores, bem como poder de processamento para executar 
aplicações locais. Esta arquitetura se tornou muito popular por algumas razões. 
Primeiro, a facilidade de implementação dada a clara separação das funcionalidades 
e dos servidores. Segundo, um servidor é inteligentemente utilizado porque as tarefas 
mais simples são delegadas às máquinas clientes mais baratas. Terceiro, o usuário 
pode executar uma interface gráfica que lhe é familiar, ao invés de usar a interface do 
servidor. Desta maneira, a arquitetura cliente-servidor foi incorporada aos SGBDs 
comerciais. Diferentes técnicas foram propostas para se implementar essa 
arquitetura, sendo que a mais adotada pelos Sistemas Gerenciadores de Banco de 
Dados Relacionais (SGBDRs) comerciais é a inclusão da funcionalidade de um SGBD 
centralizado no lado do servidor. As consultas e a funcionalidade transacional 
permanecem no servidor, sendo que este é chamado de servidor de consulta ou 
servidor de transação. É assim que um servidor SQL é fornecido aos clientes. Cada 
cliente tem que formular suas consultas SQL, prover a interface do usuário e as 
funções de interface usando uma linguagem de programação. O cliente pode também 
se referir a um dicionário de dados o qual inclui informações sobre a distribuição dos 
dados em vários servidores SQL, bem como os módulos para a decomposição de uma 
consulta global em um número de consultas locais que podem ser executadas em 
vários sítios. Comumente o servidor SQL também é chamado de back_end machine 
e o cliente de front_end machine. Como SQL provê uma linguagem padrão para o 
SGBDRs, esta criou o ponto de divisão lógica entre o cliente e o servidor. Atualmente, 
existem várias tendências para arquitetura de Banco de Dados, nas mais diversas 
direções.4 
 
 
4 Texto extraído do link: https://www.ime.usp.br/~jef/apostila.pdf 
flabi
Realce
flabi
Realce
 
15 
 
6.1 Arquitetura e Independência de Dados de SGBD’s 
A arquitetura mais difundida na literatura é a Arquitetura “Three-Schema” 
(também conhecida como arquitetura ANSI/SPARC), proposta por Tsichritzis & Klug 
em 1978. 
A meta desta arquitetura, exibida na Figura abaixo (3.1), é separar as 
aplicações de usuários da base de dados física. Nesta arquitetura, esquemas podem 
ser definidos em três níveis: 
1. O nível interno tem um esquema interno que descreve a estrutura de 
armazenamento físico da base de dados. O esquema interno usa um 
modelo de dados físico e descreve todos os detalhes de armazenamento 
de dados e caminhos de acesso à base de dados; 
2. O nível conceitual tem um esquema conceitual que descreve a estrutura 
de toda a base de dados. O esquema conceitual é uma descrição global 
da base de dados, que omite detalhes da estrutura de armazenamento 
físico e se concentra na descrição de entidades, tipos de dados, 
relacionamentos e restrições. Um modelo de dados de alto-nível ou um 
modelo de dados de implementação podem ser utilizados neste nível. 
3. O nível externo ou visão possui esquemas externos ou visões de 
usuários. Cada esquema externo descreve a visão da base de dados de 
um grupo de usuários da base de dados.Cada visão descreve, 
tipicamente, a parte da base de dados que um particular grupo de 
usuários está interessado e esconde deste o restante da base de dados. 
Um modelo de dados de alto-nível ou um modelo de dados de 
implementação podem ser usados neste nível. 
 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
16 
 
 
Fonte: ime.usp.br 
 
Muitos SGBD’s não separam os três níveis completamente. Pode acontecer 
que alguns SGBD’s incluam detalhes do nível interno no esquema conceitual. Em 
muitos SGBD’s que permitem visões, os esquemas externos são especificados com 
o mesmo modelo de dados usado no nível conceitual. Note que os três esquemas são 
apenas descrições dos dados. 
A arquitetura “three-schema” pode ser utilizada para explicar conceitos de 
independência de dados, que podem ser definidos como a capacidade de alterar o 
esquema de um nível sem ter que alterar o esquema no próximo nível superior. Dois 
tipos de independência de dados podem ser definidos: 
 Independência Lógica de Dados: É a capacidade de alterar o esquema 
conceitual sem ter que mudar os esquemas externos ou programas de 
aplicação. Pode-se mudar o esquema conceitual para expandir a base 
de dados, com a adição de novos tipos de registros (ou itens de dados), 
ou reduzir a base de dados removendo um tipo de registro. Neste último 
caso, esquemas externos que se referem apenas aos dados 
remanescentes não devem ser afetados; 
 Independência Física de Dados: É a capacidade de alterar o esquema 
interno sem ter que alterar o esquema conceitual externo. Mudanças no 
esquema interno podem ser necessárias devido a alguma reorganização 
de arquivos físicos para melhorar o desempenho nas recuperações e/ou 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
17 
 
modificações. Após a reorganização, se nenhum dado foi adicionado ou 
perdido, não haverá necessidade de modificar o esquema conceitual. 
6.2 Resumo das arquiteturas de SGBDs 
 Plataformas centralizadas. Na arquitetura centralizada, existe um 
computador com grande capacidade de processamento, o qual é o 
hospedeiro do SGBD e emuladores para os vários aplicativos. Esta 
arquitetura tem como principal vantagem a de permitir que muitos 
usuários manipulem grande volume de dados. Sua principal 
desvantagem está no seu alto custo, pois exige ambiente especial para 
mainframes e soluções centralizadas. 
 Sistemas de Computador Pessoal - PC. Os computadores pessoais 
trabalham em sistema stand-alone, ou seja, fazem seus 
processamentos sozinhos. No começo esse processamento era 
bastante limitado, porém, com a evolução do hardware, tem-se hoje PCs 
com grande capacidade de processamento. Eles utilizam o padrão 
Xbase e quando se trata de SGBDs, funcionam como hospedeiros e 
terminais. Desta maneira, possuem um único aplicativo a ser executado 
na máquina. A principal vantagem desta arquitetura é a simplicidade. 
 Banco de Dados Cliente-Servidor. Na arquitetura Cliente-Servidor, o 
cliente (front_end) executa as tarefas do aplicativo, ou seja, fornece a 
interface do usuário (tela, e processamento de entrada e saída). O 
servidor (back_end) executa as consultas no DBMS e retorna os 
resultados ao cliente. Apesar de ser uma arquitetura bastante popular, 
são necessárias soluções sofisticadas de software que possibilitem: o 
tratamento de transações, as confirmações de transações (commits), 
desfazer transações (rollbacks), linguagens de consultas (stored 
procedures) e gatilhos (triggers). A principal vantagem desta arquitetura 
é a divisão do processamento entre dois sistemas, o que reduz o tráfego 
de dados na rede. 
 Banco de Dados Distribuídos (N camadas). Nesta arquitetura, a 
informação está distribuída em diversos servidores. Como exemplo, 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Nota
ROLLBACK -- encerra a transação DESCARTANDO (desfazendo) todas as alterações (updates,deletes,inserts) realizadas durante a transação.
flabi
Nota
Gatilho que é disparada mediante alguma ação.
flabi
Realce
 
18 
 
observe a Figura abaixo (1.5). Cada servidor atua como no sistema 
cliente-servidor, porém as consultas oriundas dos aplicativos são feitas 
para qualquer servidor indistintamente. Caso a informação solicitada 
seja mantida por outro servidor ou servidores, o sistema encarrega-se 
de obter a informação necessária, de maneira transparente para o 
aplicativo, que passa a atuar consultando a rede, independente de 
conhecer seus servidores. Exemplos típicos são as bases de dados 
corporativas, em que o volume de informação é muito grande e, por isso, 
deve ser distribuído em diversos servidores. Porém, não é dependente 
de aspectos lógicos de carga de acesso aos dados, ou base de dados 
fracamente acopladas, em que uma informação solicitada vai sendo 
coletada numa propagação da consulta numa cadeia de servidores. A 
característica básica é a existência de diversos programas aplicativos 
consultando a rede para acessar os dados necessários, porém, sem o 
conhecimento explícito de quais servidores dispõem desses dados. 
 
Fonte: ime.usp.br 
flabi
Realce
 
19 
 
7 AMBIENTE DE IMPLEMENTAÇÃO CLIENTE-SERVIDOR 
 
Fonte: ime.usp.br 
 
A Figura acima ilustra um ambiente genérico de desenvolvimento de 
aplicativos. Nesta Figura, a diferença (gap semântico) entre os paradigmas utilizados 
para: a construção de interfaces, o armazenamento de informações, e a programação 
dos aplicativos são detalhadas para ressaltar a importância de estruturas "Case" e 
"Cursores". As estruturas "Case" são utilizadas para converter as alterações e 
solicitações ocorridas na interface do aplicativo em uma linguagem que seja capaz de 
ser processada pelos servidores de dados. A construção da linguagem é feita através 
da composição de cadeias de caracteres usualmente utilizando o padrão SQL 
utilizado nos servidores de dados relacionais. Quando um acesso ao SGBD é 
requerido, o programa estabelece uma conexão com o SGBD que está instalado no 
servidor. Uma vez que a conexão é criada, o programa cliente pode se comunicar com 
o SGBD. Um padrão chamado de Conectividade Base de Dados Aberta (Open 
DataBase Connectivity - ODBC) provê uma Interface para Programação de Aplicações 
(API) que permite que os programas no lado cliente possam chamar o SGBD, desde 
que as máquinas clientes como o servidor tenham o necessário software instalado. 
Muitos vendedores de SGBDs disponibilizam drivers específicos para seus sistemas. 
Desta maneira, um programa cliente pode se conectar a diversos SGBDRs e enviar 
 
20 
 
requisições de consultas e transações usando API, que são processados nos 
servidores. Após o processamento de uma chamada de função (levando uma cadeia 
de caracteres ou programas armazenados), o resultado é fornecido pelo servidor de 
dados através de tabelas em memória. Os resultados das consultas são enviados para 
o programa cliente, que pode processá-lo ou visualizá-lo conforme a necessidade. O 
conjunto resposta para uma consulta pode ser uma tabela com zero, uma ou múltiplas 
tuplas, dependendo de quantas linhas foram encontradas com o critério de busca. 
Quando uma consulta retorna múltiplas linhas, é necessário declarar um "CURSOR" 
para processá-las. Um cursor é similar a uma variável de arquivo ou um ponteiro de 
arquivo, que aponta para uma única linha (tupla) do resultado da consulta. Em SQL 
os cursores são controlados por três comandos: OPEN, FETCH, CLOSE. O cursor é 
iniciado com o comando OPEN, que executa a consulta, devolve o conjunto resultante 
de linhas e colocar o cursor para a posição anterior à primeira linha do resultado da 
consulta. O comando FETCH, quando executado pela primeira vez, devolve a primeira 
linha nas variáveis do programa e colocar o cursor para apontar para aquela linha. 
Subsequentes execuções do comando FETCH avançam o cursor para a próxima linha 
no conjunto resultantee retornam a linha nas variáveis do programa. Quando a última 
linha é processada, o cursor é desbloqueado com o comando CLOSE. Os cursores 
existem principalmente para que linguagens de programação que não permitem 
abstração para conjunto de registros, como C, possam receber as linhas da resposta 
de uma consulta SQL uma de cada vez. Com a utilização de "CURSORES", 
apresentam-se esses dados como resultados das consultas, através de itens que 
representam os elementos de interface com o usuário, atendendo os preceitos 
impostos pelos diferentes paradigmas possivelmente envolvidos. Com isso os 
resultados são mostrados utilizando o objeto padrão da interface, disponíveis nas 
ferramentas de construção de interfaces. Dessa forma, o ciclo de busca de informação 
nos mais variados servidores tem início e fim na interface com o usuário. 
É de fundamental importância que se construam aplicativos cujos projetos de 
interface sejam "ortogonais" aos projetos de implementação de acesso aos servidores 
de dados. Na implementação de sistemas de informação, deve-se utilizar uma 
arquitetura de base de dados relacional que seja independente de um determinado 
repositório de dados (gerenciadores Access, Oracle, Sybase, Informix, etc.). 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
21 
 
A Figura abaixo ilustra a utilização de conversores genéricos tanto para 
interfaces como para os servidores de dados. Estes conversores são construídos para 
padronizar o controle de compartilhamento de dados, independente da ferramenta de 
interface ou do servidor de dados. Em situações práticas esses conversores são 
denominados comumente de drivers.5 
 
Fonte: ime.usp.br 
 
8 CARACTERÍSTICAS DA ABORDAGEM DE BASE DE DADOS X 
PROCESSAMENTO TRADICIONAL DE ARQUIVOS 
A tabela abaixo traz as principais características que diferem um sistema 
desenvolvido na perspectiva de banco de dados versus um desenvolvimento pelo 
tradicional gerenciamento de arquivos. 
 
5 Texto extraído do link: https://www.ime.usp.br/~jef/apostila.pdf 
 
 
22 
 
 
Fonte: ime.usp.br 
8.1 Capacidades do SGBD 
Controle de Redundância: no processamento tradicional de arquivos, muitos 
grupos de usuários mantêm seus próprios arquivos para manipular suas aplicações 
de processamento, que pode provocar o armazenamento de informações 
redundantes; 
Problemas: 
⇒ Duplicação de esforços; 
⇒ Desperdício de espaço; 
⇒ Inconsistência: alteração em alguns arquivos e em outros não, ou em todos 
os arquivos, porém, de maneira independente; 
Compartilhamento de Dados: SGBD’s multiusuários devem fornecer controle 
de concorrência para assegurar que atualizações simultâneas resultem em 
modificações corretas. Um outro mecanismo que permite a noção de 
compartilhamento de dados em um SGBD multiusuário é a facilidade de definir visões 
de usuário, que é usada para especificar a porção da base de dados que é de 
interesse para um grupo particular de usuários; 
Restrições de Acesso Multiusuário: quando múltiplos usuários compartilham 
uma base de dados, é comum que alguns usuários não autorizados não tenham 
acesso a todas as informações da base de dados. Por exemplo, os dados financeiros 
são frequentemente considerados confidenciais e, desse modo, somente pessoas 
autorizadas devem ter acesso. Além disso, pode ser permitido a alguns usuários, 
apenas a recuperação dos dados. Já, para outros, são permitidas a recuperação e a 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
23 
 
modificação. Assim, o tipo de operação de acesso - recuperação ou modificação - 
pode também ser controlado. Tipicamente, usuários e grupos de usuários recebem 
uma conta protegida por palavras chaves, que é usada para se obter acesso à base 
de dados, o que significa dizer que contas diferentes possuem restrições de acesso 
diferentes. Um SGBD deve fornecer um subsistema de autorização e segurança, que 
é usado pelo DBA para criar contas e especificar restrições nas contas. O SGBD deve 
então obrigar estas restrições automaticamente. Note que um controle similar pode 
ser aplicado ao software do SGBD; 
Fornecimento de Múltiplas Interfaces: devido aos vários tipos de usuários, 
com variados níveis de conhecimento técnico, um SGBD deve fornecer uma variedade 
de interfaces atendê-los. Os tipos de interfaces incluem linguagens de consulta para 
usuários ocasionais, interfaces de linguagem de programação para programadores de 
aplicações, formulários e interfaces dirigidas por menus para usuários comuns; 
Representação de Relacionamento Complexo entre Dados: uma base de 
dados pode possuir uma variedade de dados que estão inter-relacionados de muitas 
maneiras. Um SGBD deve ter a capacidade de representar uma variedade de 
relacionamentos complexos entre dados, bem como recuperar e modificar dados 
relacionados de maneira fácil e eficiente; 
Reforçar Restrições de Integridade: muitas aplicações de base de dados 
terão certas restrições de integridade de dados. A forma mais elementar de restrição 
de integridade é a especificação do tipo de dado de cada item. Existem tipos de 
restrições mais complexas. Um tipo de restrição que ocorre frequentemente é a 
especificação de que um registro de um arquivo deve estar relacionado a registros de 
outros arquivos. Um outro tipo de restrição especifica a unicidade sobre itens de 
dados. Estas restrições são derivadas da semântica dos dados e do minimundo que 
eles representam. Algumas restrições podem ser especificadas ao SGBD e 
automaticamente executadas. Outras restrições podem ser verificadas pelos 
programas de atualização ou no tempo da entrada de dados. Note que um item de 
dados pode ser “inserido” erroneamente, mas ainda atender as restrições de 
integridade; 
Fornecer Backup e Restauração: Um SGBD deve fornecer recursos para 
restauração caso ocorram falhas de hardware ou software. O subsistema de backup 
e restauração do SGBD é o responsável pela restauração. Por exemplo, se o sistema 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
24 
 
de computador falhar no meio da execução de um programa que esteja realizando 
uma alteração complexa na base de dados, o subsistema de restauração é 
responsável por assegurar que a base de dados seja restaurada ao estado anterior 
ao início da execução do programa. Alternativamente, o subsistema de restauração 
poderia assegurar que o programa seja reexecutado a partir do ponto em que havia 
sido interrompido. 
8.2 Vantagens Adicionais da Abordagem da Base de Dados 
 Potencial para obrigar a Padronização: a abordagem de base de dados 
permite que o DBA defina e obrigue a padronização entre os usuários 
da base de dados em grandes organizações. Isso facilita a comunicação 
e a cooperação entre vários departamentos, projetos e usuários. 
Padrões podem ser definidos para formatos de nomes, elementos de 
dados, telas, relatórios, terminologias, etc. O DBA pode obrigar a 
padronização em um ambiente de base de dados centralizado, muito 
mais facilmente que em um ambiente onde cada usuário ou grupo tem o 
controle de seus próprios arquivos e programas de aplicação; 
 Flexibilidade: mudanças na estrutura de uma base de dados podem ser 
necessárias devido a mudanças nos requisitos. Por exemplo, um novo 
grupo de usuários pode surgir com necessidade de informações 
adicionais, ainda não disponíveis na base de dados. Alguns SGBD’s 
permitem que tais mudanças na estrutura da base de dados sejam 
realizadas sem afetar a maioria dos programas de aplicações existentes; 
 Redução do Tempo de Desenvolvimento de Aplicações: uma das 
principais características de venda da abordagem de base de dados é o 
tempo reduzido para o desenvolvimento de novas aplicações, como a 
recuperação de certos dados da base de dados para a impressão de 
novos relatórios. Projetare implementar uma nova base de dados pode 
tomar mais tempo do que escrever uma simples aplicação de arquivos 
especializada. Porém, uma vez que a base de dados esteja em uso, 
geralmente o tempo para se criar novas aplicações, usando-se os 
recursos de um SGBD, é bastante reduzido. O tempo para se 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
25 
 
desenvolver uma nova aplicação em um SGBD é estimado em 1/4 a 1/6 
do que o tempo de desenvolvimento, usando-se apenas o sistema de 
arquivos tradicional, devido às facilidades de interfaces disponíveis em 
um SGBD; 
 Disponibilidade de Informações Atualizadas: tão logo um usuário 
modifique uma base de dados, todos os outros usuários “sentem” 
imediatamente esta modificação. Esta disponibilidade de informações 
atualizadas é essencial para muitas aplicações, tais como sistemas de 
reservas de passagens aéreas ou bases de dados bancárias. Isso 
somente é possível devido ao subsistema de controle de concorrência e 
restauração do SGBD; 
 Economia de Escala: a abordagem de SGBD’s permite a consolidação 
de dados e de aplicações reduzindo-se, desse modo, o desperdício em 
atividades redundantes de processamento em diferentes projetos ou 
departamentos. Isto possibilita à organização como um todo investir em 
processadores mais poderosos, e periféricos de armazenamento e de 
comunicação mais eficientes. 
8.3 Quando não utilizar um SGBD 
 Bases de dados e aplicações simples, bem definidas sem expectativa 
de mudança; 
 Existem restrições de tempo que não podem ser satisfeitas em SGBD’s; 
 Não há necessidade de acesso multiusuário. 
8.4 Profissionais e Atividades envolvidas em um SGBD 
 Administrador da Base de Dados: em qualquer organização onde muitas 
pessoas compartilham muitos recursos, existe a necessidade de um 
administrador chefe para supervisionar e gerenciar estes recursos. Num 
ambiente de base de dados, o recurso primário é a própria base de 
dados e os recursos secundários são o próprio SGBD e softwares 
relacionados. A administração desses recursos é de responsabilidade 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
26 
 
do DBA (“Database Administrator”). O DBA é responsável por autorizar 
acesso à base de dados e coordenar e monitorar seu uso. O DBA é 
responsável por problemas, tais como, quebra de segurança ou baixo 
desempenho. Em grandes organizações, o DBA é auxiliado por técnicos; 
 Projetistas da Base de Dados: os projetistas de base de dados têm a 
responsabilidade de identificar os dados a serem armazenados na Base 
de Dados e escolher estruturas apropriadas para representar e 
armazenar tais dados. Estas tarefas são geralmente executadas antes 
que a base de dados seja utilizada. É responsabilidade destes projetistas 
obter os requisitos necessários dos futuros usuários da base. 
Tipicamente, os projetistas interagem com cada grupo de usuários em 
potencial e definem visões da base de dados para adequar os requisitos 
e processamentos de cada grupo. Estas visões são então analisadas e, 
posteriormente, integradas para que, ao final, o projeto da base de dados 
possa ser capaz de dar subsídio aos requisitos de todos os grupos de 
usuários; 
 Analistas de Sistemas e Programadores de Aplicação: 
⇒ analistas de sistemas determinam os requisitos de usuários finais, 
especialmente dos usuários comuns, e desenvolvem especificações das 
transações para atender a estes requisitos; 
⇒ programadores de aplicações implementam estas especificações 
produzindo programas e, então, testam, depuram, documentam e 
mantêm estes programas. Analistas e programadores devem estar 
familiarizados com todas as capacidades fornecidas pelo SGBD para 
desempenhar estas tarefas. 
 Usuários Finais: existem profissionais que precisam ter acesso à base 
de dados para consultar, modificar e gerar relatórios. A base de dados 
existe para estes usuários. Existem algumas categorias de usuários 
finais: 
⇒ usuários ocasionais: ocasionalmente fazem acesso à base de dados, 
mas eles podem necessitar de diferentes informações a cada vez que 
fazem acesso. Eles podem usar uma linguagem de consulta sofisticada 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
27 
 
para especificar suas requisições e são, tipicamente, gerentes de médio 
ou alto-nível; 
⇒ usuários comuns ou paramétricos: estes usuários realizam operações 
padrões de consultas e atualizações, chamadas TRANSAÇÕES 
PERMITIDAS, que foram cuidadosamente programadas e testadas. 
Estes usuários constantemente realizam recuperações e modificações 
na base de dados; 
⇒ usuários sofisticados: incluem engenheiros, analistas de negócios e 
outros que procuraram familiarizar-se com as facilidades de um SGBD 
para atender aos seus complexos requisitos; 
 Profissionais de Apoio: 
⇒ Projetistas e Implementadores de SGBD 
⇒ Desenvolvedores de Ferramentas 
⇒ Operadores de Manutenção6 
9 VANTAGENS DO CONTROLE CENTRALIZADO 
 
Fonte: infoescola.com 
 
Reduzir Redundância 
 
6 Texto extraído do link: https://www.ime.usp.br/~jef/apostila.pdf 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
28 
 
Nos sistemas gerenciadores de arquivos, cada aplicação possui seus próprios 
arquivos. Este fato costuma provocar uma redundância considerável nos dados 
armazenados, causando desperdício de espaço de armazenamento. 
 
Evitar Inconsistência 
A inconsistência é consequência natural da redundância. Suponhamos que um 
certo fato do mundo real (o fato de que um fornecedor X fornece o item Y para a 
empresa) é representado por duas entradas distintas no banco de dados, e que o 
SGBD não tenha conhecimento da duplicidade (redundância não controlada). 
Ocorrerá que em determinado momento duas entradas não são concordantes. Diz-
se, então, que o banco de dados é inconsistente. 
 
Compartilhamento dos Dados 
O compartilhamento não significa apenas que as aplicações existentes podem 
compartilhar os dados do banco de dados, mas também que novas aplicações podem 
ser desenvolvidas para operar sobre os mesmos dados armazenados. 
 
Padronização 
Pelo fato do controle centralizado, o SGBD pode assegurar que todos os 
padrões aplicáveis serão observados na representação dos dados. 
 
Restrições de Segurança 
O DBA (Adm. do Banco de Dados), detendo toda a autoridade sobre os dados 
operacionais, pode assegurar: 
 Que os únicos meios de acesso ao banco de dados sejam realizados 
através de certos canais; 
 Definir controles de segurança a adotar (principalmente para dados 
especiais); 
 Estabelecer diferentes controles para cada tipo de acesso (recuperação, 
modificação, anulação, etc.), e para cada parte da informação no banco 
de dados. 
 
Manter a Integridade 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
29 
 
O problema da integridade é assegurar que os dados do banco de dados sejam 
corretos (íntegros), ou seja, as informações que compõe o BD têm que expressar 
exatamente o que foi informado, o BD não pode permitir que as informações se 
modifiquem incorretamente. 
 
 Integridade Referencial - os registros de relacionamentos devem fazer 
referência a ocorrências de entidades existentes no banco de dados. 
Não deve haver relacionamento referenciando uma chave primária 
inexistente. 
 Integridade Transacional - as transações efetuadas na base de dados 
devem ocorrer com segurança, completando-se ou não o procedimento, 
os dados devem se manter íntegros. 
 
Equilibrar Necessidades Conflitantes 
O DBA, tendo conhecimento das necessidades globais da empresa (em 
oposição às necessidades de um usuário individual) pode estruturar o sistema, a fim 
de proporcionar um serviço geral que seja“o melhor para a empresa”. 
 
Independência dos Dados 
Independência de dados é um dos objetivos de um SGBD, e consiste na 
capacidade de isolar programas de aplicação das mudanças em estruturas de 
armazenamento (esquema físico), definição dos dados (esquema lógico) e das 
estratégias de acesso do BD. Um SGBD que ofereça independência de dados garante 
que programas continuem a rodar se os dados armazenados forem reorganizados 
para atender a outra aplicação prioritária. Aplicações baseadas em sistemas de 
arquivos dependem dos dados. 
9.1 O Que se Pode Almejar Com o Uso de SBD 
 Redundância controlada de dados 
 Compartilhamento de dados por aplicações diversas 
 Controle de autorização de acesso a dados 
 Acesso a dados através de diferentes interfaces 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
30 
 
 Modelagem de relacionamentos complexos entre dados 
 Garantia de restrições de integridade da aplicação 
 Garantia de consistência física dos dados 
 Potencial para imposição de padrões (modelagem e 
programação) 
 Flexibilidade na definição e manutenção dos dados 
 Redução do tempo de desenvolvimento de aplicações7 
10 DESVANTAGENS DE USAR SGBD 
Custo – O SGBD e o hardware a ele associado podem ser dispendiosos e de 
qualquer forma representam um custo adicional de aquisição e manutenção. 
Complexidade – Um SGBD é mais complexo que um SGF e necessita de 
conhecimentos especializados por parte dos programadores. 
Risco centralizado – Ao centralizar os dados e reduzir a sua redundância 
existe teoricamente um maior risco de perda dos dados, no entanto a maioria dos 
SGBD tem procedimentos para back-up e recuperação dos dados que minimizam 
estes riscos.8 
 
 
7 Texto extraído do link: 
https://www.marilia.unesp.br/Home/Instituicao/Docentes/EdbertoFerneda/BD%20-
%20Aspectos%20Basicos.pdf 
8 Texto extraído do link: 
https://fenix.tecnico.ulisboa.pt/downloadFile/3779571246309/BDaula2.pdf 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
31 
 
11 LINGUAGENS DE SGBD’S 
 
Fonte: binariux.com.br 
 
A linguagem de SGBD's é essencialmente SQL, que por sua vez é subdividido 
em grupos de comandos, de acordo com a função de cada comando. Infelizmente, 
estas subdivisões não são utilizadas por todas as implementações de SGBD's. Elas 
são enfatizadas pela ANSI (American National Standards Institute), mas muitos 
produtos SQL não as tratam separadamente na prática. 
 
A Linguagem de Definição de Dados (ou DDL - Data Definition Language, ou 
também chamado pela ANSI como Linguagem de Definição de Esquema) consiste 
nos comandos que criam os objetos (tabelas, índices, visões, e assim por diante) no 
banco de dados. Linguagem de Manipulação de Dados (DML - Data Manipulation 
Language) é um conjunto de comandos que determinam quais valores estão 
presentes nas tabelas em qualquer momento. A Linguagem de Controle de Dados 
(DCL - Data Control Language) consiste nas características que determinam se a um 
usuário é permitido executar uma ação particular. Isto é considerado parte da DDL 
pela ANSI. Elas (DDL, DML e DCL) não são linguagens diferentes por si só, mas 
divisões de comandos SQL em grupos de acordo com suas funções. 
Então, resumindo, 
 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
32 
 
DDL = Data Definition Language - Linguagem de definição de dados, possibilita 
a definição ou descrição dos objetos do BD. 
 
DML = Data Manipulation Language - Linguagem de manipulação de dados, 
que suporta manipulação (acesso e alteração). 
 
DCL = Data Control Language - Linguagem de controle de dados, possibilita a 
determinação das permissões que cada usuário terá sobre os objetos do BD 
(permissão de criação, consulta, alteração, etc.). 
 
No SQL, por exemplo, são instruções DML: 
SELECT - consulta (seleção) 
UPDATE - atualização 
DELETE - exclusão 
INSERT – inclusão 
 
DML’s podem ser: 
 
 Procedurais - o usuário tem que especificar o que deseja e como 
pretende obter isso. Recuperam registros individuais do BD e processam 
cada registro separadamente. (Devem ser embutidas em LPG’s) 
 Não procedurais - são capazes de expressar operações complexas de 
maneira concisa. O usuário especifica apenas o que deseja, e permite 
que o sistema decida como obter isso. (Pode ser embutida em uma LPG 
de propósito geral) 
12 INDEPENDÊNCIA DE DADOS 
O Banco de Dados pode ser visto sob três níveis de abstração: 
 
Nível Físico: nível mais baixo de abstração, descreve como os dados estão 
realmente armazenados. Complexas estruturas de dados de baixo nível são descritas 
em detalhes. 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
33 
 
Nível Conceitual: descreve quais dados estão armazenados de fato no BD e as 
relações que existem entre eles. Aqui o BD inteiro é descrito em termos de um 
pequeno número de estruturas relativamente simples. 
Nível Visual: o mais alto nível de abstração descreve apenas parte do BD. 
Apesar do uso de estruturas mais simples do que no nível conceitual, alguma 
complexidade perdura devido ao grande tamanho do BD. 
A habilidade de modificar a definição de um esquema em um nível sem afetar 
a definição de esquema num nível mais alto é chamada de independência de dados. 
Existem dois níveis de independência de dados: 
 
 Independência física de dados é a habilidade de modificar o esquema 
físico sem a necessidade de rescrever os programas aplicativos. As 
modificações no nível físico são ocasionalmente necessárias para 
aprimorar o desempenho. 
 Independência lógica de dados é a habilidade de modificar o esquema 
conceitual sem a necessidade de rescrever os programas aplicativos. As 
modificações no nível conceitual são necessárias quando a estrutura 
lógica do BD é alterada. 
13 ADMINISTRADOR DE BANCO DE DADOS 
Uma das principais razões para empregar um SGBD é ter um controle central 
dos dados e dos programas de acesso a eles. A pessoa que tem esse controle sobre 
o sistema é chamada administrador do banco de dados (DBA). O administrador do 
banco de dados (DBA) é a pessoa (ou grupo de pessoas) responsável pelo controle 
do sistema. As responsabilidades do DBA incluem o seguinte: 
Decidir o conteúdo de informações do banco de dados: 
Faz parte do trabalho do DBA decidir exatamente que informação manter no 
banco de dados - em outras palavras, deve identificar as entidades do interesse da 
empresa e a informação a registrar em relação a estas entidades.' Uma vez feito isto, 
o DBA deve então definir o conteúdo do banco de dados, descrevendo o esquema 
conceitual (usando o DDL conceitual). A forma objeto (compilado) daquele esquema 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
34 
 
é utilizada pelo DBMS para responder às solicitações de acesso. A forma (não 
compilada) atua como documento de referência para os usuários do sistema. 
Decidir a estrutura de armazenamento e a estratégia de acesso: 
O DBA também deve decidir como os dados serão representados no banco de 
dados', e definir esta representação escrevendo a definição da estrutura de 
armazenamento (usando a DDL interna). Além disso, deve definir o mapeamento 
associado entre os níveis interno e conceitual. Na prática, tanto a DDL conceitual 
quanto a DDL interna - mais provavelmente a primeira - provavelmente incluirão os 
meios de definição desse mapeamento, mas as duas funções (a definição do 
esquema, a definição do mapeamento) devem ser claramente separadas. Tal como o 
esquema conceitual, o esquema interno e o mapeamento correspondente existirão 
não só na forma fonte como na forma objeto. 
Servir de elo de ligação com usuários: 
É função do DBA servir de elo de ligação com os usuários, a fim degarantir a 
disponibilidade dos dados de que estes necessitam, e preparar - ou auxiliá-los na 
preparação dos necessários esquemas externos, utilizando a DDL externa apropriada 
(como já mencionamos, um determinado sistema pode suportar diversas DDL’s 
externas e distintas). E, ainda, também deve ser definido o mapeamento entre 
qualquer esquema externo e o esquema conceitual. Na prática, a DDL externa 
provavelmente incluirá os meios de especificação do mapeamento, mas o esquema e 
o mapeamento devem ser claramente separados. Cada esquema externo e o 
mapeamento correspondente existirão tanto na forma fonte como na forma objeto. 
Definir os controles de segurança e integridade: 
Os controles de segurança e de integridade, como já mencionado, podem ser 
considerados parte do esquema conceitual. A DDL conceitual incluirá os recursos para 
a especificação de tais controles. Definir a estratégia de reserva e recuperação. A 
partir do momento em que a empresa começa efetivamente a basear-se em banco de 
dados, torna-se dependente do bom funcionamento deste sistema. Na eventualidade 
de danos à parte do banco de dados - causados, digamos, por erro humano, ou por 
falha no hardware, ou no sistema operacional de suporte -, é de suma importância 
fazer retornar os dados envolvidos com um mínimo de demora e com as menores 
consequências ao restante do sistema. Por exemplo, os dados que não sofreram 
danos não deverão ser afetados.' O DBA deve definir e implementar uma estratégia 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
35 
 
de recuperação apropriada envolvendo, por exemplo, o descarregamento periódico 
do banco de dados na memória auxiliar de armazenamento e procedimentos para 
recarregá-lo, quando necessário. 
Monitorar o desempenho e atender as necessidades de modificações: 
O DBA deve organizar o sistema de tal maneira que obtenha “o melhor 
desempenho para a empresa”; e efetuar os ajustes adequados quanto às 
necessidades de modificações. Como já mencionamos, quaisquer mudanças nos 
detalhes de armazenamento e acesso devem ser acompanhadas de mudanças 
correspondentes na definição do mapeamento, a partir do nível conceitual, de forma 
que o esquema conceitual possa permanecer constante. O DBA precisa de diversos 
programas utilitários que o auxiliem nas tarefas de administração do BD. 
Rotinas de Carga: 
Para criar uma versão inicial do banco de dados a partir de um ou mais 
arquivos. 
Rotinas de Despejo na Memória e Recuperação: 
Despejar o banco de dados, auxiliar de armazenamento de dados, e recarregar 
o banco de dados a partir dessa cópia de segurança. Observação: As rotinas de carga 
mencionadas acima consistirão, na prática, no aspecto de "recuperação" das rotinas 
de despejo/recuperação na memória. 
Rotinas de Reorganização: 
Para rearrumar os dados no banco de dados, em vista de diversas razões de 
desempenho - por exemplo, agrupar os dados de certa maneira ou regenerar espaço 
ocupado por dados que se tornaram obsoletos. 
Rotinas Estatísticas: 
Para computar diversos desempenhos estatísticos, tamanhos de arquivos e 
distribuição de valores de dados. 
Rotinas Analíticas: 
Para analisar as estatísticas mencionadas. Uma das ferramentas mais 
importantes do DBA - de muitas maneiras e, de fato, o coração de todo o sistema - é 
o dicionário de dados (conhecido também como catálogo do sistema). O dicionário de 
dados pode ser considerado um banco de dados, um banco de dados de sistema. O 
conteúdo do dicionário pode ser considerado "dados sobre dados" (às vezes 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
36 
 
denominado “meta dados”) – ou seja, descrições de outros objetos no sistema, ao 
invés de simples "dados em bruto".9 
14 LINGUAGEM SQL – STRUCTURE QUERY LANGUAGE 
14.1 Conceito 
Uma linguagem de consulta é uma linguagem por meio da qual os usuários 
obtém informações do banco de dados. Essas linguagens são, tipicamente, de nível 
mais alto que as linguagens de programação tradicionais. As linguagens de consulta 
podem ser categorizadas como procedurais ou não-procedurais. Em uma linguagem 
procedural, o usuário deve "ensinar" ao sistema a realização de uma sequência de 
operações no banco de dados para obter o resultado desejado. Em uma linguagem 
não-procedural, o usuário descreve a informação desejada sem fornecer um 
procedimento específico para a obtenção dessas informações. 
Os sistemas de banco de dados comerciais oferecem uma linguagem de 
consulta que incorpora elementos de ambos os enfoques: procedurais e não-
procedurais. 
Linguagens "puras": a álgebra relacional é procedural, enquanto o cálculo 
relacional de uma tupla e o cálculo relacional de um domínio são não-procedurais. 
Essas linguagens de consulta são concisas e formais, sem "o açúcar sintático" das 
linguagens comercias, mas ilustram as técnicas fundamentais para a extração de 
dados do banco de dados. 
14.2 A linguagem SQL 
O nome "SQL" significa "Structured Query Language" - Linguagem Estruturada 
de Pesquisa. Essa linguagem, de grande utilização, teve seus fundamentos no modelo 
relacional de Codd (1970). Sua primeira versão recebeu o nome de SEQUEL 
("Structured English Query Language"), sendo definida por D. D. Chamberlin, entre 
outros, em 1974, nos laboratórios de pesquisa da IBM (Califórnia). Em 1975, foi 
 
9 Texto extraído do link: 
https://www.marilia.unesp.br/Home/Instituicao/Docentes/EdbertoFerneda/BD%20-
%20Aspectos%20Basicos.pdf 
flabi
Realce
flabi
Realce
 
37 
 
implementado um protótipo de aplicação dessa nova linguagem. Entre 1976 e 1977, 
o SEQUEL foi revisado e ampliado, e teve seu nome alterado para "SQL" por razões 
jurídicas. 
Com esta revisão foi posto em prática um projeto ambicioso da IBM chamado 
System R. Novas alterações foram introduzidas na SQL, graças às ideias 
apresentadas pelos diversos usuários do ambiente. 
Devido ao sucesso dessa nova forma de consulta e manipulação de dados 
dentro de um ambiente de banco de dados, a utilização da SQL foi se tornando cada 
vez maior. Com isso uma grande quantidade de SGBDs foi tendo como linguagem 
básica a SQL - SQL/DS e DB2 da IBM, PL/SQL da Oracle Corporation, RDB da Digital, 
SYBASE da Sybase INC, e Microsoft® SQL ServerTM, entre outros. 
A SQL se tornou um padrão de fato no mundo dos ambientes de banco de 
dados relacionais. Bastava agora se tornar de direito. Então, em 1982, o American 
National Standard Institute (ANSI) tornou a SQL padrão oficial de linguagem em 
ambiente relacional. 
Infelizmente, como todo padrão que se preze, existem hoje vários dialetos SQL, 
cada um, evidentemente, tentando ser mais padronizado que o outro. 
O modelo relacional é constituído basicamente de tabelas, cada qual contendo 
linhas (registros, tuplas) e colunas. Os registros na tabela não são ordenados e sua 
localização se faz por meio de um campo-chave, ou seja, um campo que assume o 
papel de chave primária da tabela. É por intermédio dessa chave que se identifica 
uma, e somente uma, ocorrência do valor contido no campo. 
Uma das razões da popularidade dos sistemas relacionais é a sua facilidade 
de manipulação e entendimento. 
A linguagem SQL foi desenvolvida especialmente para o ambiente relacional, 
podendo ser adaptada a qualquer ambiente não relacional. 
A ideia original da SQL só previa seu uso de forma interativa. Após sofrer alguns 
acréscimos, ela passou também a ter capacidade de ser utilizada em linguagens 
hospedeiras, tais como: COBOL, FORTRAN, "C", etc. 
Atualmente, a linguagem SQL assume um papel muito importante nos sistemas 
de gerenciamento de bancos de dados, podendo ter muitos enfoques, como apresenta 
a figura: 
 
38 
 
 Linguagem interativa de consulta (query AdHoc) - pormeio de comandos 
SQL, os usuários podem montar consultas poderosas sem a 
necessidade da criação de um programa, podendo utilizar Forms ou 
ferramentas de montagem de relatório; 
 Linguagem de programação para acesso a banco de dados - comandos 
SQL embutidos em programas de aplicação que acessam os dados 
armazenados; 
 Linguagem de administração de banco de dados - o responsável pela 
administração do banco de dados (DBA) pode utilizar comandos SQL 
para realizar suas tarefas; 
 Linguagem cliente/servidor - os programas (cliente) dos computadores 
pessoais usam comandos SQL para se comunicarem por meio de uma 
rede local, compartilhando os dados armazenados em um único local 
(servidor). A arquitetura cliente/servidor minimiza o tráfego de dados 
pela rede; 
 Linguagem para banco de dados distribuído - a SQL auxilia na 
distribuição dos dados por meio de vários nós conectados ao sistema de 
computação. Auxilia também na comunicação de dados com outros 
sistemas; 
 Caminho de acesso a outros bancos de dados em diferentes máquinas 
- a SQL auxilia na conversão entre diferentes produtos de banco de 
dados colocados em diferentes máquinas (de micro até mainframe). 
Por ser uma linguagem de numerosas aplicações, a SQL pode manipular 
objetos de diferentes classes entre as funções de um SGBD: 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
39 
 
 
Fonte: marcelmesmo.blogspot.com 
 Definição de dados (DDL) - permite ao usuário a definição da estrutura e 
organização dos dados armazenados, e as relações que existem entre eles; 
 Manipulação de dados (DML) - permite ao usuário, ou a um programa de 
aplicação, a inclusão, a remoção, a seleção e a atualização de dados 
previamente armazenados no banco; 
 Controle de acesso - protege os dados de manipulações não autorizadas; 
 Compartilhamento de dados - coordena o compartilhamento dos dados por 
usuários concorrentes sem, contudo, interferir na ação de cada um deles; 
 Integridade dos dados - auxilia no processo de definição da integridade dos 
dados, protegendo contra corrupções, inconsistências e falhas do sistema de 
computação. 
14.3 Vantagens e desvantagens da linguagem SQL 
Com o uso e a padronização da SQL, algumas vantagens são diretas: 
Independência de fabricante - a SQL é oferecida em praticamente todos os 
SGBDs, e os que ainda não a oferecem estão se encaminhando para fazê-lo. Com 
isso posso mudar de SGBD sem me preocupar com o novo que vai chegar; 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
40 
 
 Portabilidade entre computadores - a SQL pode ser utilizada tanto em 
um computador pessoal, quanto em uma estação de trabalho ou até em 
um computador de grande porte; 
 Redução dos custos com treinamento - baseado no item anterior, as 
aplicações podem se movimentar de um ambiente para o outro sem que 
seja necessária uma reciclagem da equipe de desenvolvimento; 
 Inglês estruturado de alto nível - a SQL é formada por um conjunto bem 
simples de sentenças em Inglês, oferecendo um rápido e fácil 
entendimento; 
 Consulta interativa - a SQL provê um acesso rápido aos dados, 
fornecendo respostas ao usuário de questões complexas, em minutos 
ou segundos; 
 Múltiplas visões dos dados - a SQL permite ao criador do banco de 
dados levar diferentes visões dos dados a diferentes usuários; 
 Definição dinâmica dos dados - por meio da SQL, podem-se alterar, 
expandir ou incluir, dinamicamente, as estruturas dos dados 
armazenados com a máxima flexibilidade. 
 
Apesar de todas essas vantagens, algumas críticas são dirigidas à SQL: 
 A padronização leva a uma, natural, inibição da criatividade, pois 
quem desenvolve aplicações fica preso a soluções padronizadas, não 
podendo aplicar melhorias ou alterações. 
 
Mesmo enfrentando alguns problemas e algumas críticas, a linguagem SQL 
veio para ficar, auxiliando de forma bastante profunda a vida dos usuários e dos 
analistas no trabalho de manipulação dos dados armazenados em um banco de dados 
relacional.10 
 
 
10 Texto extraído do link: 
http://marcelmesmo.blogspot.com/2011/06/conceitos-do-sql.html#.W66gOmhKi1s 
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
flabi
Realce
 
41 
 
 
Fonte: marcelmesmo.blogspot.com 
 
Fonte: marcelmesmo.blogspot.com 
 
Fonte: marcelmesmo.blogspot.com 
 
42 
 
 
Fonte: marcelmesmo.blogspot.com 
 
Fonte: marcelmesmo.blogspot.com 
 
 
43 
 
 
Fonte: marcelmesmo.blogspot.com 
 
 
 
44 
 
15 BIBLIOGRAFIA 
CODD, E. F. A relational model of data for large shared data banks. Communications 
ACM.1970. 
TSICHRITZIS, D. & KLUG, A. (eds.). “The ANSI/X3/SPARC DBMS framework report 
of the study group on database management systems”. Information Systems 3, 1978.

Mais conteúdos dessa disciplina