Sie sind auf Seite 1von 22

Conceitos em

Banco de Dados
Material Teórico
Sistemas Gerenciadores de Banco de Dados

Responsável pelo Conteúdo:


Prof. Ms. Rodrigo da Rosa

Revisão Técnica:
Prof. Me. Douglas Almendro

Revisão Textual:
Profa. Esp. Kelciane da Rocha Campos
Sistemas Gerenciadores
de Banco de Dados

• Sistemas Gerenciadores de Banco de Dados


• SGBDRs
• Linguagem SQL

OBJETIVO DE APRENDIZADO
· O aluno deverá, ao final deste módulo, reconhecer as particularida-
des de cada um dos SGBDRs apresentados. Além disso, deverá ser
capaz de identificar os pontos fortes e fracos de cada um deles em
situações reais.
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem
aproveitado e haja uma maior aplicabilidade na sua
formação acadêmica e atuação profissional, siga
algumas recomendações básicas:
Conserve seu
material e local de
estudos sempre
organizados.
Aproveite as
Procure manter indicações
contato com seus de Material
colegas e tutores Complementar.
para trocar ideias!
Determine um Isso amplia a
horário fixo aprendizagem.
para estudar.

Mantenha o foco!
Evite se distrair com
as redes sociais.

Seja original!
Nunca plagie
trabalhos.

Não se esqueça
de se alimentar
Assim: e se manter
Organize seus estudos de maneira que passem a fazer parte hidratado.
da sua rotina. Por exemplo, você poderá determinar um dia e
horário fixos como o seu “momento do estudo”.

Procure se alimentar e se hidratar quando for estudar, lembre-se de que uma


alimentação saudável pode proporcionar melhor aproveitamento do estudo.

No material de cada Unidade, há leituras indicadas. Entre elas: artigos científicos, livros, vídeos e
sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você também
encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua
interpretação e auxiliarão no pleno entendimento dos temas abordados.

Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discussão,
pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o contato
com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e aprendizagem.
UNIDADE Sistemas Gerenciadores de Banco de Dados

Sistemas Gerenciadores de Banco de Dados


Quando o assunto é banco de dados, muitas pessoas, inclusive da área de TI,
lembram-se de softwares, como, por exemplo, Oracle®, SQL Server®, MySQL®,
dentre outros. Conceitualmente este é um erro que se comete, pois os bancos de
dados não necessariamente precisam ser informatizados. Pessoas e organizações
podem manter banco de dados através de formulários, cadastros físicos, agendas,
por exemplo. Entretanto, à medida que elas vão acumulando grandes quantidades
de dados, a consulta para a obtenção de informações se torna cada vez mais
complicada e demorada. Surgiram, então, os SGBDs (Sistemas Gerenciadores
de Banco de Dados, do inglês Data Base Management System (DBMS)), cujo
significado é Sistemas Gerenciadores de Banco de Dados e que auxiliam as empresas
a terem maior controle de seus dados, independentemente do volume que tenham.

Trocando ideias...Importante!
O SGBD é um conjunto de programas que gerenciam a estrutura do banco de dados e
controlam o acesso aos dados armazenados. O SGBD pode ser chamado de um software
poderoso (ROB; CORONEL, 2011).
O SGBD é uma aplicação informatizada (software) que fornece a interface entre os dados
que estão armazenados fisicamente no banco de dados e o usuário (SILBERSCHATZ;
KORTH; SUDARSHAN, 2012).
Um SGBD é uma coleção de dados inter-relacionados e um conjunto de programas para
acessar estes dados (DAMAS, 2007).

Os SGBDs são, desta forma, recursos de software que gerenciam banco de dados
e que dão condições para que os usuários interajam com os dados ali armazenados.

As vantagens destes sistemas são, em síntese:


• a capacidade de gerenciar grandes volumes de dados;
• a capacidade de rápida recuperação de informações a partir dos dados
armazenados;
• a redução de dados redundantes, quando são utilizados padrões relacionais;
• a redução de informações inconsistentes: dois endereços residenciais
cadastrados para um mesmo cliente, por exemplo;
• a segurança, uma vez que são exigidos usuário e senha de acesso para alguém
manipular os dados, além do fato de que é possível definir limites de acesso
para cada usuário;
• o compartilhamento de dados, já que estes sistemas podem ser acessados por
vários usuários e aplicações.

8
Softwares como Oracle, SQL Server, MySQL, Access, dentre outros, não devem
ser chamados de banco de dados. Estes fazem parte do contexto dos SGBDs, pois
atuam diretamente na gestão dos dados. Existem SGBDs para as mais diversas
plataformas de hardware e também de sistemas operacionais.

SGBDRs
SGBDRs são Sistemas Gerenciadores de Banco de Dados que atuam de acordo
com o conceito de modelos de dados relacionais para controle e acesso aos dados.
São utilizados quando se pretende implementar funcionalidades das linguagens de
definição de dados (DDL ou Data Definition Language) e de manipulação de dados
(DML ou Data Manipulation Language). Estas linguagens lidam com a criação,
alteração e remoção de tabelas e inserção, atualização e remoção de registros
nestas tabelas.

Para que um SGBD seja relacional, deve seguir as 13 regras definidas por Edgar
Frank Codd (12 regras mais uma fundamental), em 1985. Foi ele o criador do
modelo relacional de dados. As regras são oriundas de seu artigo publicado em
1985 e são elas (ROB e CORONEL, 2011):

Regra zero ou fundamental: todas as demais regras baseiam-se na noção de


que para que um banco de dados seja considerado relacional, ele deve utilizar seus
recursos relacionais para seu próprio gerenciamento.
• Regra da informação: toda informação de um banco de dados relacional deve
ser representada logicamente como valores de colunas em linhas nas tabelas.
• Regra da garantia de acesso: todos os dados de uma tabela (valor atômico)
podem ser acessados usando o nome da tabela, o valor da chave primária da
linha e o nome da coluna.
• Regra do tratamento sistemático de valores nulos: os valores nulos devem
ser representados e tratados de modo sistemático, independentemente do tipo
de dados.
• Regra do catálogo on-line dinâmico com base no modelo relacional: os
metadados devem ser armazenados e gerenciados como dados comuns, ou seja,
em tabelas no interior do banco de dados. Devem também estar disponíveis
aos usuários autorizados, utilizando a linguagem relacional do banco.

Metadados são dados que descrevem outros dados, ou seja, informações úteis para
Explor

identificar, localizar, compreender e gerenciar dados (IBGE.gov.br, 2017).


Exemplo: podemos ter uma tabela que armazena as tabelas criadas por cada usuário do
sistema e outra tabela que irá armazenar o nome do criador da tabela, horário da criação,
proprietário da tabela, entre outros dados.

9
9
UNIDADE Sistemas Gerenciadores de Banco de Dados

• Regra da sublinguagem ampla de dados: um banco de dados relacional


pode suportar várias linguagens, porém deve possuir ao menos uma linguagem
declarativa de sintaxe bem definida com suporte a definição de dados, a
definição de visões, a manipulação de dados, as restrições de integridade, a
autorização e a gerenciamento de transações.
• Regra da atualização de visões: qualquer visão que teoricamente possa ser
atualizada deve ser por meio do sistema.

Visão em banco de dados, ou View, pode ser considerada uma tabela virtual onde uma
Explor

consulta é armazenada em um objeto de modo a facilitar o desenvolvimento de uma sintaxe


para execução desta consulta.
Exemplo: Dada a sintaxe de uma consulta simples: SELECT cod_cli FROM cliente;. Ela é
usada para recuperar o código de todos os clientes armazenados na tabela cliente. Podemos
encapsular esta consulta em uma view chamada, por exemplo, consulta_codigo. Ao
realizarmos a consulta de cliente_codigo (SELECT * FROM cliente_codigo;) o resultado
será o mesmo da primeira consulta, pois a primeira sintaxe é que será interpretada.

• Regra da inserção, atualização e exclusão de alto nível: o banco de dados


deve dar suporte à configuração do nível de inserções, atualizações e exclusões.
Em outras palavras, as tarefas de manipulação de dados devem permitir a
ocorrência em diversas linhas de uma vez, ao invés de apenas uma por vez.
• Regra da independência física dos dados: se houver alterações nos métodos
de acesso ou nas estruturas de armazenamento físico, os aplicativos e recursos
ad hoc não são afetados logicamente.

Ad hoc é uma expressão para designar algo provisório. É uma expressão latina que signi-
Explor

fica “para esta finalidade”. Um exame ad hoc, por exemplo, é um exame feito para um
propósito específico e não permanente. Recursos ad hoc são recursos utilizados para um
propósito específico também.

• Regra da independência lógica de dados: se houver alterações de estruturas


de tabelas que preservam os valores originais dela (inserção de colunas, por
exemplo), os aplicativos e recursos ad hoc não são afetados logicamente.
• Regra da independência de integridade: todas as restrições de integridade
relacional devem ser definidas na linguagem relacional e armazenadas no
catálogo do sistema e não em programas/ aplicações.
• Regra da independência de distribuição: os usuários e aplicações não são
afetados pela localização dos dados, estejam eles centralizados ou distribuí-
dos fisicamente.
• Regra da não transposição das regras: se o sistema dá suporte a acesso de
baixo nível aos dados, não deve haver um modo de negligenciar as regras de
integridade do banco de dados.

10
Embora estas regras definam muito bem um sistema gerenciador de banco de
dados relacional, servem atualmente como referência para os desenvolvedores,
pois até mesmo aqueles que estão no topo dos mais utilizados não dão suporte
integral a todas elas.
O Oracle® é considerado o SGBD mais popular, segundo a db-engines.com
(DB-ENGINES.COM, 2017), entidade que coleta dados e fornece informações
sobre SGBDs, relacionais ou não, do mercado. A figura abaixo apresenta o ranking
de popularidade envolvendo somente SGBDRs.

Figura 1. Ranking dos SGBDRs mais populares (DB-ENGINES.COM, 2017)


Os dados coletados são baseados em indicadores que dizem respeito às
referências em sites de busca mais conhecidos e frequência em debates sobre o
assunto SGBDs.
A seguir iremos descrever alguns destes sistemas que estão mais no topo do ranking.

SGBDRs Comerciais
• Oracle: Larry Ellison, Bob Miner e Ed Oates firmaram a sociedade Oracle
Corporation em 1977. Os dois primeiros ficaram responsáveis por criar um
sistema de linguagem SQL para a CIA (Agência de Inteligência Americana)
que deveria funcionar com computadores IBM. Eles chamaram o projeto de
Oracle, porém ele não foi bem aceito, sendo considerado até mesmo um
desastre. Mesmo assim se empenharam em continuar com a ideia de um
banco de dados relacional. A primeira versão do Oracle foi comercializada para
computadores IBM em 1984. Ele é escrito em linguagem de programação C
é está disponível para sistemas IBM, Microsoft, Linux e outros.

11
11
UNIDADE Sistemas Gerenciadores de Banco de Dados

Como benefícios do SGBDR Oracle, podemos citar:


1. rápida recuperação de falhas no sistema: existem mecanismos que conse-
guem fazer reparações no sistema garantindo maior segurança dos dados;
2. uso na WEB: existe a possibilidade de utilização do Oracle em ambientes Web;
3. é compatível com a maioria dos sistemas operacionais mais utilizados;
4. acessa dados dispostos de maneira distribuída;
5. mantém alto grau de confidencialidade dos dados: é considerado um sistema
seguro, pois os dados não são acessíveis por qualquer perfil de usuário;
6. trabalha com sistema de backup de dados: é possível garantir que os dados
estarão sempre protegidos, uma vez que são realizadas cópias deles sempre
que necessário;
7. é capaz de armazenar dados binários como filmes, áudios e imagens;
8. pode ser acessado simultaneamente por diversos usuários sem reduzir seu
desempenho (escalabilidade).
• Microsoft SQL Server: a primeira versão do SQL Server chegou ao mercado
no ano de 1988. No ano anterior foi quando tudo começou. Foi criado por meio
de uma parceria entre Microsoft e Sybase, inicialmente para a plataforma OS/2
(sistema operacional da IBM), parceira esta que terminou no ano de 1994,
porém a Microsoft continuou tendo os direitos de aperfeiçoar e comercializar
este produto. A parceira teve fim quando houve o lançamento da versão para
o Windows NT (sistemas operacionais Windows para ambientes corporativos).

O MS SQL Server pode ser utilizado de duas maneiras: a primeira é através


de linhas de comando (instruções T-SQL) para criação de usuários e de tabelas,
permissões para os usuários criados, inserção de dados, dentre outras tarefas; a
segunda é através de ambiente gráfico.

T-SQL (Transact-SQL) é uma extensão da linguagem SQL para o SQL Server, implementada
Explor

pela Microsoft. É utilizada para acesso e manipulação de dados por meio de uma aplicação.

Abaixo um exemplo de criação de usuários utilizando ambos os métodos (W3II.


com, 2017).

Usando T-SQL
Create login yourloginname with password=’yourpassword’

Podemos notar que esta sintaxe permite a criação de um usuário e a respectiva


senha de seu acesso. Um exemplo para o usuário João Rocha com senha p@
ajh39 seria:
Create login j.rocha with password=’ p@ajh39’

12
Usando o ambiente gráfico (SSMS - SQL Server
Management Studio)
O SSMS (SQL Server Management Studio) é um ambiente integrado para
acessar, configurar, gerenciar, administrar e desenvolver todos os componentes
do SQL Server. O SSMS combina um amplo grupo de ferramentas gráficas
com vários editores de script avançados para fornecer acesso ao SQL Server
para desenvolvedores e administradores de todos os níveis de conhecimento
(MICROSOFT.COM, 2017).

Figura 2. Criação de usuário por meio do SQL Server Management Studio

Alguns benefícios do MS SQL Server são:


1. capacidade de gerenciar grandes volumes de dados armazenados no banco
de dados;
2. acesso rápido e de alto desempenho aos dados do banco;
3. custo menor que o do Oracle, por exemplo;
4. suporte à linguagem T-SQL para consultas complexas.
5. ambiente gráfico Management Studio.
• IBM DB2: A IBM lançou em 1983 o DB2, baseado em SQL/DS para ser
trabalhado exclusivamente em mainframes. Muito tempo depois o DB2
começou a ser aplicado também em plataformas de servidores como Unix e
Windows e mais adiante em Linux. Hoje em dia existem versões para OS/2,
conhecida como DB2/2.

13
13
UNIDADE Sistemas Gerenciadores de Banco de Dados

Você Sabia? Importante!

Mainframes são computadores de grande porte usados para processamento de elevado


volume de dados. São sistemas centrais em grandes empresas e conseguem executar
tarefas com alta velocidade.

Figura 3. Mainframe IBM


Fonte: iStock/Getty Images

O IBM DB2 permite que sua administração seja em linhas de comando quanto em
ambiente gráfico, este último uma multiplataforma Java. Abaixo são apresentadas
duas formas de criação de tabelas no BD2 (modo comandos e modo gráfico):

Figura 4. Criando tabelas em modo texto (comandos)

14
Neste caso, é necessário conhecimento técnico para estruturar o texto com o
máximo de detalhes possível. O exemplo mostra a construção de duas tabelas (ta-
bela1 e tabela2) que possuem as mesmas características, ou seja, possuem duas co-
lunas de mesmo nome e estas possuem, respectivamente, o mesmo tipo de dados.

Figura 5. Ambiente gráfico do DB2 para criação de tabelas

Podemos notar na figura anterior que o ambiente gráfico para a criação de


tabelas do DB2 permite a indicação dos nomes das colunas, dos tipos de cada
coluna e ainda definir outros parâmetros, como a chave primária, se a coluna
poderá ou não ter valores nulos e a quantidade máxima de caracteres que uma
coluna poderá ter.

Abaixo alguns benefícios do IBM DB2:


1. utiliza logs para armazenar dados, ainda que antigos, para facilitar a
recuperação do banco de dados em algum ponto passado;
2. possui alta confiabilidade na questão de proteção dos dados;
3. permite armazenar dados em computadores de diversas características,
desde os mais simples até os mais robustos;
4. possui certa facilidade de instalação e de uso;
5. inclui tecnologias compatíveis com a Web;
6. é capaz de armazenar diversos tipos de dados, como, por exemplo, texto,
áudio, vídeo e imagem.

Para efeitos de comparação de estrutura SQL para criação de tabelas envolvendo


estes três grandes sistemas gerenciadores de banco de dados, vamos apresentar
cada uma delas abaixo, escritas por meio de texto:

15
15
UNIDADE Sistemas Gerenciadores de Banco de Dados

Tabela 1. Comparação entre estruturas de criação de tabelas em três grandes SBGDRs


ORACLE MS SQL SERVER IBM DB2
CREATE TABLE tabela1 ( CREATE TABLE tabela1 ( CREATE TABLE DA. tabela1 (
tab_cod integer, tab_cod int, tab_cod integer,
tab_descricao tab_descricao tab_descricao varchar(20)
varchar2(20) Nvarchar(20) );
); );

Perceba que as estruturas são basicamente as mesmas. Isso porque todos os


SGBDs que são relacionais executam comandos na linguagem SQL (Structured
Query Language).

Linguagem SQL
A linguagem SQL (Structured Query Language ou Linguagem de Consulta
Estruturada) é uma linguagem padrão de banco de dados relacional que permite a
manipulação de dados por meio de um SGBDR. Com ela é possível realizar diversas
tarefas, como, por exemplo, gerenciar usuários, criar tabelas, inserir e atualizar
dados nas tabelas, consultar informações, controlar transações, entre outros.

Esta linguagem é composta por quatro outras linguagens que possuem funções
específicas e são utilizadas dependendo da tarefa que se precisa executar. São elas:
• Linguagem de Definição de Dados (DDL – Data Definition Language):
inclui comandos para criação, alteração ou remoção de objetos de banco de
dados. Alguns exemplos destes comandos são:
1. CREATE: utilizado para criação de objetos no banco de dados. CREATE
TABLE, para criação de tabelas ou CREATE VIEW, para criação de visões,
são exemplos;

CREATE TABLE tabela1 (

tab_cod integer,

tab_descricao varchar2(20)

);

Neste exemplo foi criada uma tabela chamada “tabela1” com duas colunas,
tab_cod e tab_descricao.
2. ALTER: utilizado para alteração de estruturas de objetos do banco de dados.
ALTER TABLE, para alterar a estrutura de uma tabela é um exemplo;
ALTER TABLE tabela1 MODIFY (tab_descricao varchar2(3));

16
Neste exemplo a coluna tab_descricao da tabela1 teve seu tipo de dados
modificado, de varchar2(20) para varchar2(30).
3. DROP: utilizado para remover objetos do banco de dados. Por exemplo,
o comando DROP TABLE remove uma tabela e o comando DROP VIEW
remove uma visão.
DROP TABLE tabela1;

Este comando elimina a tabela1 do banco de dados.


• Linguagem de Manipulação de Dados (DML – Data Manipulation
Language): inclui comandos para inserção, atualização, remoção e consulta
de dados em banco de dados. Alguns exemplos destes comandos são:
1. INSERT: utilizado para inserção de dados (linhas) em tabelas do banco
de dados;
INSERT INTO tabela1 VALUES (198, ‘bola de futebol’);

Este comando insere uma linha em tabela1. “198” é um dado da coluna tab_cod
e ‘bola de futebol’ é dado da coluna tab_descricao.
2. UPDATE: utilizado para atualizar dados de uma ou mais linhas de tabelas
do banco de dados;
UPDATE tabela1 SET tab_descricao = ‘bola de basquete’ WHERE tab_cod = 198;

Neste exemplo, o dado “bola de futebol” é substituído por “bola de basquete” na


tabela1, na linha onde tab_cod é igual a 198.
3. DELETE: utilizado para remover linhas das tabelas do banco de dados;
DELETE FROM tabela1 WHERE tab_cod = 198;

Neste caso a linha onde a coluna tab_cod possui o dado 198 é removida da
tabela1.
4. SELECT: utilizado para realizar as consultas em tabelas do banco de dados.
SELECT * FROM tabela1;

Este comando de recuperação apresenta os dados contidos na tabela1.


• Linguagem de Controle de Dados (DCL – Data Control Language): esta
linguagem está disponível para aqueles que administram os bancos de dados.
Inclui comandos de controle de acesso aos dados. Alguns exemplos destes
comandos são:
1. GRANT: utilizado para autorizar usuários a realizarem tarefas no banco de
dados. Por exemplo, um usuário pode consultar dados de uma tabela, mas
não pode alterar qualquer dado dela. A autorização de consulta é feita por
meio deste comando;
GRANT Insert, Update, Select ON tabela1TO j.rocha;

17
17
UNIDADE Sistemas Gerenciadores de Banco de Dados

Este exemplo concede permissão de inserção, atualização e consulta de dados


na tabela1 para o usuário j.rocha.
2. REVOKE: utilizado para restringir ou remover a permissão de um usuário
realizar uma tarefa no banco de dados. Para o exemplo anterior, a restrição
de permissão de alterar um dado na tabela é feita por meio deste comando.
REVOKE ALL PRIVILEGES FROM j.rocha;

Este exemplo serve para remoção dos privilégios do usuário j.rocha.


• Linguagem de Transação de Dados (DTL – Data Transaction Language):
inclui comandos para efetivação e cancelamento de transações em banco de
dados. Alguns exemplos destes comandos são:
1. COMMIT: utilizado para efetivar as alterações realizadas no banco de
dados. Por exemplo, no momento em que dados são inseridos no banco
de dados é necessário que este comando seja executado, pois caso não
seja e o SGBD precise ser reiniciado por um erro, os dados não estarão
armazenados ali.
2. ROLLBACK: utilizado para cancelar as alterações realizadas no banco de
dados. Por exemplo, se algum registro de uma tabela foi excluído por enga-
no, é possível executar este comando para que esta ocorrência seja desfeita.

18
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:

Sites
Metadados
https://goo.gl/jf7XtT
Documentação Oracle
https://goo.gl/qMpVDc
SQL Server 2016
https://goo.gl/Px6BkZ

Livros
Is your DBMS really relational?
CODD, E. Is your DBMS really relational? Computerworld, October 21, 1985.

19
19
UNIDADE Sistemas Gerenciadores de Banco de Dados

Referências
DAMAS, Luís. SQL – Structured Query Language. 6ª ed. Rio de Janeiro: LTC,
2007. 384 p.

DB-ENGINES, 2017. Microsoft SQL Server is the DBMS of the year. Dispo-
nível em: <http://db-engines.com/en/ranking/relational+dbms>. Acesso em: 01
jan. 2018.

MICROSOFT. Baixar o SQL Server Management Studio (SSMS). Disponível


em: <https://msdn.microsoft.com/pt-BR/library/mt238290.aspx>. Acesso em:
01 jan. 2018.

ROB, Peter; CORONEL, Carlos. Sistemas de banco de dados – projeto, imple-


mentação e administração. 8ª ed. São Paulo: Cengage Learning, 2011. 711 p.

SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sistema de


banco de dados. 6ª ed. São Paulo: Elsevier, 2012. 904 p.

W3II. MS SQL Server: guia rápido. Disponível em <http://www.w3ii.com/pt/


ms_sql_server/ms_sql_server_quick_guide.html>. Acesso em: 01 jan. 2018.

20

Das könnte Ihnen auch gefallen