Você está na página 1de 79

INTRODUÇÃO A BANCO

DE DADOS
Disciplina: Gerência de Infraestrutura de Banco de Dados
Prof. Marcelo Lucas
2015-2 - 4º Mod. - Curso Superior de Redes de Computadores
Bancos de Dados
 Bancos de Dados e Sistemas de Bancos de Dados são componentes
essenciais da nossa vida na sociedade moderna.
 Diariamente nos vemos diante de situações que envolvem alguma
interação com sistemas de bancos de dados.
 Exemplos:
 Pagamento de um produto no caixa de uma loja
 Emissão de uma nota fiscal eletrônica
 Saque ou pagamento de uma conta no banco
 Consulta e compra de produtos na internet
 Emissão de contas de luz, gás, água, telefone, etc.
 Uma ligação num telefone pré-pago
 Etc.
Aplicação de Banco de Dados
Aplicações de Bancos de Dados
 Os exemplos citados são de aplicações de bancos de dados
tradicionais, onde a maior parte das informações é
armazenada estruturadamente na forma de caracteres e
números.
 Com o avanço da tecnologia surgiram necessidades de
armazenamento de outros formatos como de multimídia,
informações de coordenadas geográficas, textos
digitalizados, etc.
 Esta disciplina e esta aula possuem foco principal em
bancos de dados tradicionais.
 Porém poderão ser ilustradas algumas questões e conceitos
relacionados a tecnologias emergentes de bancos de
dados.
Objetivos da Aula
 Ao final desta aula, o aluno deverá ser capaz de:
 Ter uma visão geral sobre bancos de dados em
computadores.
 Distinguir e descrever adequadamente os conceitos
relacionados aos sistemas gerenciadores de bancos de
dados.
 Fazer uma instalação básica do SQL Server

 Pré-requisitos
 Terminologiade TI, sistema operacional Windows,
organização de computadores.
Competências da Disciplina

Competências: Bases Tecnológicas, científicas e


 Planejar a instalação e a migração
instrumentais:
de um servidor de banco de dados 
 - SQL Server

 Definir e aplicar políticas de backup 


 - Banco de dados
no servidor SQL Server
 Planejar migração de servidor de
banco de dados
 Realizar testes no banco de dados
criando queries e executando
consultas

 Instalar Banco de Dados SQL Server

 Customizar SQL Server

 Aplicar politicas de seguranças


definidas
Bibliografia
 Elmasri e Navathe. Sistemas de Banco de Dados.
6ª Ed. São Paulo: Pearson Addison Wesley, 2011.
 Cap. 1 – Introdução aos Bancos de Dados
 Cap. 2 – Conceitos e Arquitetura do Sistema de Banco de
Dados

 Documentação microsoft online


http://msdn.microsoft.com/en-us/library/bb545450.aspx
 Comparativo das edições do sql server
http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/
 Site de instrução de instalação
http://www.microsoft.com/pt-br/download/details.aspx?id=30438
Organização Desta Apresentação

 Introdução aos Banco de Dados e Sistemas de


Banco de Dados
 Visão interna e externa de Sistemas Gerenciadores
de Bancos de Dados
 Conceitos relevantes de Sistemas de Banco de
Dados
 Arquiteturas e Elementos da Estrutura Física de
Sistemas Gerenciadores de Banco de Dados
Relacionais
Banco de Dados
Introdução aos Bancos de Dados e Sistemas de
Bancos de Dados
Perguntas
 Liste os tipos de informações diferentes das textuais
e numéricas que podem ser armazenadas em
bancos de dados de computador.
 Descreva os conceitos destacando o que os
diferencia: “dados”, “banco de dados”, “base de
dados”, “sistema de gerenciamento de banco de
dados”, “sistema de banco de dados”, “aplicação
de banco de dados”
 Por que precisamos utilizar um software de sistema
de gerenciamento de bancos de dados?
Dado
 Definição:
 Um registro de algo.
 Uma informação registrada.

 Pode ser recuperado e possui algum significado


implícito (quem recupera deve conhecer sua estrutura
de registro e as regras de codificação).
Banco de Dados
 Definição:
 Uma coleção de dados relacionados.
 Que possuem significado.

 Uma variedade de dados agrupados de forma


aleatória (não correlacionados) NÃO pode ser
considerada um banco de dados.
Banco de Dados em Computador
 Restringindo um pouco mais a definição:
 Uma coleção de dados relacionados e organizados,
que representa algum aspecto bem delimitado do
mundo real, que possui um propósito e que foi
projetado, construído e organizado para atender a
esta finalidade.
 Também possui um conjunto definido de usuários, de
formas de acesso e de aplicações previamente
concebidas.
Banco de Dados
 Pode ser de qualquer tamanho.
 Uma agenda pessoal
 A Amazon, o Google, o Facebook

 Pode ser manual ou computadorizado


 Um conjunto de fichas na biblioteca para empréstimos.
 Um sistema computadorizado Web de cadastro e reserva
de livros da biblioteca.

 Obs.: Trataremos nesta disciplina os bancos de dados


computadorizados.
SGBD – Sistema Gerenciador de
Banco de Dados
 DBMS- DataBase Management System
 É um software, um conjunto de programas, que
permite criar e manter uma diversidade de bancos
de dados em computadores.
 É um sistema de software de uso geral para ser
utilizado na criação e manutenção de uma
aplicação de banco de dados para um propósito
específico.
SGBD – Sistema Gerenciador de
Banco de Dados
 Software de propósito geral que permite:
 Definição

 Construção

 Manipulação

 Acesso e Compartilhamento
 Administração
SGBD – Sistema Gerenciador de
Banco de Dados
 Software com o propósito específico de lidar com dados
armazenados em computadores, que permite:
 Definição
 Especificar tipos, propriedades, estruturas e restrições dos dados que serão
armazenados.
 Construção
 Processo de armazenar os dados em um meio controlado pelo SGBD.
 Manipulação
 Funções de consulta, inclusão, atualização e remoção realizadas através do
SGBD.
 Acesso e Compartilhamento
 Diversos usuário e aplicações acessando simultaneamente de forma
organizada e segura.
 Administração
 Atividades de manutenção, monitoração, performance, controle, proteção
contra falhas, recuperação de problemas, etc..
SGBD – Sistema Gerenciador de
Banco de Dados
 Sinônimos duvidosos:
 Software de banco de dados
 Gerenciador de banco de dados

 Sistema de banco de dados

 Banco de dados

 Base de dados

 Banco
SGBD – Sistema Gerenciador de
Banco de Dados
 SQL Server – Database Engine
 Oracle RDBMS
 MySQL
 PostgreSQL
 IBM DB2
 Firebird
 Apache/CassandraDB
 MongoDB
 Apache/CounchDB
 Zope
 Virtuoso
 ...
Aplicação / Aplicativo
 Um programa de aplicação passará a acessar e
atualizar indiretamente o banco de dados através
de interações apenas com o sistema gerenciador de
banco de dados.
Aplicação de Banco de Dados
Aplicação de Banco de Dados
Programas da Aplicação

Software SGBD
Componente de Software para
tratar requisições e de dados

Componente de Software
para acessar dados

Definições do BD
BD: Dados
(metadados)
Armazenados
armazenados
Aplicação/Sistema de Banco de Dados
Necessidade de SGBD
 Poderiam ser construídas dentro de uma aplicação
suas próprias rotinas específicas de acesso aos
dados que residem em arquivos no sistema de
arquivos.
 Sem um SGBD seria necessário implementar uma
quantidade considerável e muito complexa de
software.
Exercícios
Perguntas
1. Cite o máximo de tipos de informações diferentes
de textuais e numéricas que podem ser armazenadas
em bancos de dados de computador.
2. Descreva os conceitos destacando o que os
diferencia: “dados”, “banco de dados”, “base de
dados”, “sistema de gerenciamento de banco de
dados”, “sistema de banco de dados”, “aplicação de
banco de dados”
3. Por que precisamos utilizar um software de sistema
de gerenciamento de bancos de dados?
Exercícios
4. Uma planilha excell contendo informações de contatos
telefônicos é um banco de dados? Justifique.

5. Dê exemplos de aplicações que não utilizam um SGBD


para atualizar ou acessar os seus dados.

6. Como concluiu que as aplicações não utilizam um


SGBD?
Laboratório
Laboratório de Ambientação Inicial
Lab.1.1) Instalação teste do SQL Server
Instalar o sql server express. Considerações:
- Maquina virtual (ex.: virtual box)
- Sistema Operacional Windows7
- DB Engine - SQL Server Express
- Versão SQL Server 2008 R2
- Seguir orientações de instalação do site microsoft (ver requisitos também)
- Instalar também o SQL Server Studio
- 6Gb disponíveis no disco principal
- Há pré-requisitos de softwares, vaja instruções de instalação do manual Microsoft
Enviar email para o professos com relatório contendo:
- Nome do aluno
- Data de referência da aula e número do laboratório
- Alguns printscreens da sua instalação. Por exemplo: Navegue pelas estruturas do banco de
dados no SQL-Studio. Veja algumas tabelas de sistema. Etc. Acesse o diretório onde o SQL
Server foi instalado. Tente descobrir onde estão armazenados os arquivos de dados.
Instruções de instalação
 Pré-requisitos
Para instalar ou atualizar o SQL Server 2008 R2 SP2, você deverá ter
direitos administrativos no computador.
 Etapa 1: Instalar uma máquina virtual com windows 7 (preferencialmente
professional ou ultimate pois dependendo de sua versão do windows
poderá ser necessário que instale o Microsoft .NET Framework 2.0 ou
posterior).
 Etapa 2: Obtenha o SQL Server Express com o professor (ou também é
possível fazer o download gratuito). Arquivo:
SQLEXPRWT_2008R2_c_SP2_x86_PTB.exe ou
SQLEXPRWT_2008R2_c_SP2_x64_PTB.exe
 Ao instalar desmarque a opção “Replicação do SQL Server” (veja tela a seguir)
 Etapa 3: Nesta primeira instalação basta utilizar os valores padrões ou
informações adicionais com o professor.
 Após instalação execute o sqlstudio para verificar se tudo funciona como
esperado.
Banco de Dados
Visão interna e externa de Sistemas
Gerenciadores de Banco de Dados
Perguntas
 Descreva os conceitos destacando o que os
diferenciam uns dos outros: “instância”, “instalação
do SGBD”, “instância de BD”, “instância do SGBD”,
metadados, tabelas de catálogo do BD, esquema,
esquema de banco de dados, esquema de tabela.
 Descreva conceitos: estrutura física, estrutura lógica,
independência de dados.
 Descreva o que é um SGBD Relacional.
 O que são metadados? Deve existir um arquivo
específico para seu armazenamento?
Estruturas Físicas do banco de dados
 Um SGBD armazena os seus dados internamente em
estruturas muito específicas que são acessadas diretamente
pelo software do SGBD apenas.
 Estas estruturas são gravadas em arquivos nos sistemas de
arquivos ou em outros dispositivos disponibilizados através
do sistema operacional.
 Estas estruturas são chamadas de estruturas físicas do
banco de dados.
 Um programa de aplicação acessa os dados através das
rotinas disponíveis no SGDB.
 Um programa de aplicação nunca acessará diretamente os
arquivos físicos gravados em sistemas de arquivos do
sistema operacional.
Estruturas Lógicas do banco de dados
 Um programa de aplicação acessa os dados sempre
através do conjunto de rotinas do SGBD.
 Os dados são apresentados pelo SGDB à aplicação e
usuários em um formato mais amigável, escondendo as
complexidades e as diversidades que podem existir no
armazenamento físico.
 O SGBD disponibiliza para a aplicação uma visão dos
dados, abstraindo os aspectos físicos. Por isso, as estruturas
de dados que o SGBD expões para as aplicações e
usuários são chamadas de estruturas lógicas.
 O modelo que representa as estruturas lógicas de um banco
de dados é chamado de modelo lógico.
Analogia com uma planilha excell
 Estrutura Física
Cliente.xlsx 30/07/2014 21:32 planilha excell 9kb

 Estrutura Lógica
Estrutura Física!
Só o excell entende isto...
Visões Interna e Externa dos Dados
 Visão Interna = Estruturas Físicas
 Modelo Interno = Modelo Físico
 Visão Externa = Estruturas Lógicas
 Modelo Externo = Modelo Lógico
Independência das estruturas físicas de
dados dos programas
 Os SGBD geralmente são fornecidos para múltiplas
plataformas e sistemas operacionais.
O RDBMS Oracle pode ser instalado em praticamente
todas as versões de Linux, Unix, Windows, etc.
 O SQL server só está disponível para os sistemas
operacionais Microsoft (Windows).
 O DB2 funciona nos mainframes IBM e também em
algumas versões de Unix, Linux, OS2, e Windows.
Independência das estruturas físicas de
dados dos programas
 A estrutura física em um sistema Linux certamente
terá algumas diferenças da estrutura física em um
outro sistema operacional, como Windows Server
ou mainframe.
 Isto não deverá afetar o funcionamento dos
programas da aplicação. Seu código fonte
referencia os dados através da visão lógica,
independente do sistema operacional hospedeiro.
 Dizemos que há uma independência de dados (no
nível físico).
Independência de Dados

Cent/OS

Aplicação
PHP

Migração
MySQL MySQL

Ubuntu Windows

Banco 1 Banco 1
SGBD Relacional
 O formato de visualização de dados mais amplamente
adotado pelos SGBD é o formato em tabelas (ou
relações). Onde os dados são organizados em linhas e
colunas e são consultados ou manipulados através do
SQL (Structured Query Language)
 São chamados de SGBDs Relacionais os que utilizam o
modelo de apresentação em tabelas/relações e
adotam a linguagem SQL para consultas.
 O modelo lógico adotado pelos SGBDRs é chamado
de modelo relacional.
SGBD
Definição de um BD
 É uma das responsabilidades do SGBD permitir a definição da
estrutura de um BD que será utilizada para o armazenamento dos
dados pela aplicação e usuários.
 Permite especificar a estruturas de armazenamento dos dados que
serão visualizados pela aplicação.
 É chamada de estrutura lógica.
 No caso de SGBDRs é composta por um modelo de tabelas.
 Onde são especificados: tipos, propriedades, campos, nomes de
tabelas, domínios e restrições dos dados que serão armazenados.
 A definição dos nomes das colunas, tipos e restrições (a estrutura
lógica) de uma tabela é chamada de esquema da tabela.
 O conjunto das estruturas de tabelas utilizadas para o
armazenamento e recuperação dos dados é chamado de Esquema
do Banco de Dados.
Esquema de Tabela
 Tabela Cliente (
 CPF char(11) chave primária,
 Nome varchar(100),

 Telefone char(15),

 Endereco varchar(200),

 E-mail varchar(200)

 );
Esquema do Banco de Dados Vendas

 Banco de dados Vendas [


 Tabela Cliente (
 ..
 );

 Tabela Pedido ( ...);


 ...

 Tabela Produto (..);


 ];
SGBD
Definição de um BD
 No SGBDR a definição de um BD pode ser feita
através do SQL (Structured Query Language)
 SQL DDL (Data Definiton Language):
 Create table
 Drop table
 Alter table
 ...
Instância do SGBD
 Não confundir:
 Instância de Banco de Dados
 Um esquema de banco de dados concretizado, com dados.
 Instância do Sistema de Gerenciamento de Banco de
Dados.
 Uma execução do software SGBD.
 É o software SGBD em execução com suas estruturas de memória
alocadas.
 É o serviço do SGBD ativo e executando (startup)

 O SGBD é instalado em um servidor e pode ser


executado (instanciado) diversas vezes para um mesmo
BD.
Instâncias x Esquemas

Aplicação Aplicação Aplicação Aplicação

Software SGBD Software SGBD


Em execução no Servidor 1 Em execução no Servidor 2
Ambiente em Cluster
Software SGBD
Em execução
BD Vendas2 no Servidor 2

Esquema Vendas 2 esquemas de BD Esquema RH


4 instâncias de BD
3 instâncias de SGBD BD
BD BD
2 instalações de SGBD RH1
Vendas1 RH2
SGBD
Construção do BD
 É uma responsabilidade do SGBD o armazenamento dos dados
em um meio sob seu controle, em arquivos em disco, por exemplo.
 Em um SGBDR a aplicação visualiza dados armazenados em
tabelas (visão lógica ou visão externa).
 O esquema do banco de dados concretizado em um SGBD,
contendo dados ou pronto para armazená-los, é chamado de
instância do banco de dados.
Instância de uma tabela
 Esquema da tabela Cliente
CPF Nome Endereço Telefone e-mail
Char(11) Varchar(100) Varchar(100) Char(15) Varchar(100)

 Instância de tabela Cliente

CPF Nome Endereço Telefone e-mail


11111 Aaa dgrere 99999 a@a
22222 Bbb Dfsd 99999 b@b
12123 cccc Sdfds 99999 c@c
SGBD
Manipulação
 É responsabilidade do SGBD fornecer um conjunto
de rotinas para que a aplicação possa fazer a
manipulação dos dados.
 Num SGBDR a manipulação de dados é feito pelo
SQL (Structured Query Language)
 SQL DML (Data Manipulation Language):
 Select
 Insert
 Update
 Delete
Arquitetura Cliente x Servidor
Aplicação Cliente x Servidor BD
requisição
Cliente resposta Servidor

 A arquitetura cliente-servidor é uma arquitetura de


sistemas distribuídos onde um componente atua com
cliente, o requisitante, e outro componente atua como
servido, que precisa estar continuamente disponível
aguardando por requisições.
 Os SGBDRs geralmente atuam como servidores e as
aplicações do usuário atuam como cliente.
Bancos de Dados e Ferramentas
Clientes de Acesso e Administração

SGBDR Cliente Gráfico Cliente Linha Comando


MsSQL phpmyadmin (web) mysql
Mysql Workbench mysqladmin
SQL Server Sql Studio sqlcmd.exe
PostgreSQL pgAdmin III psql
Oracle RDBMS Enterprise Manager sqlplus
MySQL - phpmyadmin
MySQL - Workbench
MySQL - Workbench
MySQL – Linha de comando
SQL Server – SQL Management Studio
SQL Server – sqlcmd.exe
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd –?
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\sqlcmd –S localhost\sqlexpress
PostgreSQL – pgAdmin
Metadados
 Tabela: Cliente
CPF Nome Endereço Telefone e-mail
Char(11) Varchar(100) Varchar(100) Char(15) Varchar(100)

 As informações que descrevem o esquema da


tabela são chamados de Metadados.
 São metadados: os nomes das tabelas, o nomes das
colunas, os domínios/tipos das colunas, etc.
 São os dados a respeitos dos dados.
Dicionário de Dados
 Em bancos de dados relacionais, os metadados podem
ser visualizados através de tabelas (ou visões).
 O esquema de tabelas que armazena as informações
sobre metadados é chamado de Dicionário de Dados.
 Os SGBDR geralmente implementam um esquema
padrão para metadados denominado:
 information_schema
 Alguns SGBDR implementam alguns esquemas de
metadados com nomes como:
 SYS
 SYSTEM
Exemplo de Tabela do Dicionário de
Dados
 Tabela: Tables
TABLE_SCHEMA TABLE_NAME
RH FUNCIONARIO
RH DEPARTAMENTO
RH CARGO
VENDAS CLIENTE
VENDAS PEDIDO
VENDAS VENDEDOR
...
Conceitos X SQL-SERVER
Conceitos x SQL-SERVER
 Vamos ver alguns conceitos discutidos até aqui na
prática do SQL-Server
SQL-Studio - Login

Nome da Instância do
SGBD (Seviço SQL-Server):
localhost\SQLEXPRESS

Login:
Usuário nativo do Windows.
Sem senha pois foi utilizada
a autenticação do Windows
na instalação do SGBD
Bancos de Dados – Visão Lógica

Instância do SGBD
Serviço SQL SERVER

Cinco Bancos de Dados


Disponíveis

4 Bancos de Dados
padrões do sistema

1 Banco de Dados
específico (criado)
Bancos de Dados – Visão Física
Bancos de Dados – Visão Física
Dicionário de Dados - Metadados
Dicionário de Dados - Metadados

...
Uma consulta SQL ao Dicionário de
Dados

select * from MASTER.INFORMATION_SCHEMA.TABLES;


Visualização no próprio painel de
navegação do SQL-Studio
Exemplo de comando para criação de
Banco de Dados
use master;

if exists (select * from sys.databases where name='testedata')


begin
drop database testedata;
end

create database testedata;

use testedata;
Exercícios
Perguntas
7. Descreva os conceitos destacando o que os diferencia: “instância”,
“instalação do SGBD”, “instância de BD”, “instância do SGBD”,
metadados, tabelas de catálogo do BD, esquema, esquema de banco
de dados, esquema de tabela.
8. Descreva conceitos: estrutura física, estrutura lógica, independência
da estrutura física de dados dos programas.
9. Descreva o que é um SGBD Relacional. Quais suas características
marcantes. Sua linguagem de manipulação de definição de dados. Etc.
10) O que são tabelas de dados? Devem existir arquivos específicos
para o seu armazenamento?
11) O que são metadados? Deve existir um arquivo físico específico
para seu armazenamento? Como você acha que o SGBDR faz o seu
armazenamento?
Exercícios
12. O MySQL possui versões para sistemas Linux e Windows.
No sistema operacional Linux, os nomes de arquivos são case-
sensitive, já o sistema operacional Windows não diferencia
maiúsculas de minúsculas. O MySQL cria arquivos em disco
com o mesmo nome das tabelas (quando utilizado o engenho
MyISAM). Desta forma, no sistema linux seria possível a
criação de três tabelas distintas com os seguintes nomes
“Cliente”, “cliente”, “CLIENTE”. Já no sistema Windows haveria
apenas uma tabela.
Discuta esta questão e o conceito de independência de dados.
Explique como esta característica afeta a independência de
dados e dê exemplos em que podem ocorrer problemas
quando uma instância de banco de dados é migrada de um
ambiente MySQL em Linuz para um ambiente Windows.
Laboratório
Laboratório
Lab.1.2) Identifique na sua instalação as ferramentas clientes de acesso ao
banco de dados e execute:
- sqlcmd.exe
- Sql studio
Execute o comando sql e veja os resultados:
select * from information_schema.tables;
Pesquise na internet e vasculhe o sistema de arquivos para identificar as
estruturas físicas (arquivos) do seu banco de dados. Liste nomes de arquivos
que contenham informações do banco de dados e descreva que tipos de
informações contém.
Apresentar relatório contendo:
- Nome do aluno
- Data de referência da aula e número do laboratório
- Suas respostas e conclusões
FIM

Obrigado!!!!

Você também pode gostar