Você está na página 1de 61

INTRODUO A BANCO

DE DADOS
Disciplina: Gesto de Servios de TI
2014-1 - 5 Mod. - Curso Superior de Redes de Computadores
Prof. Marcelo Lucas
Bancos de Dados
Bancos de Dados e Sistemas de Bancos de Dados so componentes
essenciais da nossa vida na sociedade moderna.
Diariamente nos vemos diante de situaes que envolvem alguma
interao com sistemas de bancos de dados.
Exemplos:
Pagamento de um produto no caixa de uma loja
Emisso de uma nota fiscal eletrnica
Saque ou pagamento de uma conta no banco
Consulta e compra de produtos na internet
Emisso de contas de luz, gs, gua, telefone, etc.
Uma ligao num telefone pr-pago
Etc.
Sistema de Banco de Dados
Aplicaes de Bancos de Dados
Os exemplos citados so de aplicaes de bancos de
dados tradicionais, onde a maior parte das
informaes armazenada de forma textual e
numrica.
Com o avano da tecnologia surgiram outros bancos
como de multimdia e de informaes geogrficas.
Esta disciplina e esta aula possuem foco principal em
bancos de dados tradicionais.
Porm podero ser ilustradas algumas questes 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 viso geral sobre bancos de dados em
computadores.
Distinguir e descrever adequadamente os conceitos
relacionados aos sistemas gerenciadores de bancos de
dados.
Fazer uma instalao bsica do SQL Server
Pr-requisitos
Terminologia de TI, sistema operacional Windows,
organizao de computadores.
Competncias da Disciplina
Competncias:
Planejar a instalao e a migrao
de um servidor de banco de dados
Definir e aplicar polticas de backup
no servidor SQL Server
Planejar migrao 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 seguranas
definidas
Bases Tecnolgicas, cientficas e
instrumentais:
- SQL Server
- Banco de dados



Bibliografia
Elmasri e Navathe. Sistemas de Banco de Dados.
6 Ed. So Paulo: Pearson Addison Wesley, 2011.
Cap. 1 Introduo aos Bancos de Dados
Cap. 2 Conceitos e Arquitetura do Sistema de Banco de
Dados
Documentao microsoft online
http://msdn.microsoft.com/en-us/library/bb545450.aspx
Comparativo das edies do sql server
http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/
Site de instruo de instalao
http://www.microsoft.com/pt-br/download/details.aspx?id=30438
Organizao Desta Apresentao
Introduo aos Banco de Dados e Sistemas de
Banco de Dados
Viso interna e externa de Sistemas Gerenciadores
de Bancos de Dados
Conceitos relevantes de Sistemas de Banco de
Dados
Arquiteturas e Elementos da Estrutura Fsica de
Sistemas Gerenciadores de Banco de Dados
Relacionais
Introduo aos Bancos de Dados e Sistemas de
Bancos de Dados
Banco de Dados
Perguntas
Liste os tipos de informaes diferentes das textuais
e numricas 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, aplicao
de banco de dados
Por que precisamos utilizar um software de sistema
de gerenciamento de bancos de dados?
Dado
Definio:
Um registro de algo.
Uma informao registrada.
Pode ser recuperado e possui algum significado
implcito.
Banco de Dados
Definio:
Uma coleo de dados relacionados.
Que possuem significado.
Uma variedade aleatria de dados no pode ser
considerada um banco de dados.
Nesta definio genrica, um livro pode ser
considerado um banco de dados.
Banco de Dados em Computador
Restringindo um pouco mais a definio:
Uma coleo de dados relacionados e organizados,
que representa algum aspecto bem delimitado do
mundo real, que possui um propsito e que foi
projetado, construdo e organizado para atender a
esta finalidade.
Tambm possui um conjunto definido de usurios e de
aplicaes previamente concebidas.
Banco de Dados
Pode possuir qualquer tamanho.
Uma agenda pessoal
A Amazon, o Google
Pode ser manual ou computadorizado
Um conjunto de fichas na biblioteca para emprstimos.
Um sistema computadorizado Web de cadastro e reserva
de livros da biblioteca.
Obs.: Trataremos nesta disciplina apenas 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 bancos de dados em
computadores.
um sistema de software de uso geral para ser
utilizado na criao e manuteno de uma
aplicao de banco de dados para um propsito
especfico.
SGBD Sistema Gerenciador de
Banco de Dados
Software de propsito geral que permite:
Definio
Construo
Manipulao
Acesso e Compartilhamento
Administrao
SGBD Sistema Gerenciador de
Banco de Dados
Software de propsito geral que permite:
Definio
Especificar tipos, propriedades, estruturas e restries dos dados que sero
armazenados.
Construo
Processo de armazenar os dados em um meio controlado pelo SGBD.
Manipulao
Funes de consulta, incluso, atualizao e remoo realizadas atravs do
SGBD.
Acesso e Compartilhamento
Diversos usurio e aplicaes acessando simultaneamente de forma
organizada e segura.
Administrao
Atividades de manuteno, monitorao, performance, controle, proteo
contra falhas, recuperao de problemas, etc..
SGBD Sistema Gerenciador de
Banco de Dados
Sinnimos 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
...
Aplicao / Aplicativo
Um programa de aplicao acessa e atualiza o
banco de dados atravs de interaes com o
sistema gerenciador de banco de dados.
Sistema de Banco de Dados
Definies do BD
(metadados)
Banco de Dados
Armazenado
Software para acessar dados
Software para tratar requisies
e de dados
Programa da Aplicao
Software SGBD
Sistema de Banco de Dados
Sistema de Banco de Dados
Necessidade de SGBD
Poderiam ser construdas dentro de uma aplicao
suas prprias rotinas especficas de acesso aos
dados que residem em arquivos no sistema de
arquivos.
Sem um SGBD seria necessrio implementar uma
quantidade considervel e muito complexa de
software.
Exerccios
Perguntas
1. Cite o mximo de tipos de informaes diferentes
de textuais e numricas 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, aplicao de
banco de dados
3. Por que precisamos utilizar um software de sistema
de gerenciamento de bancos de dados?
Exerccios
4. Uma planilha excell contendo informaes de contatos
telefnicos um banco de dados? Justifique.
5. D exemplos de aplicaes que no utilizam um SGBD
para atualizar ou acessar os seus dados. Seria melhor
que tais aplicaes utilizassem um SGBD?
6. Voc pode garantir que as aplicaes citadas no item
anterior no utilizam um SGBD embutido? Justifique.
Laboratrio
Laboratrio
Lab.1.1) Instalao teste do SQL Server
Instalar o sql server express. Consideraes:
- Maquina virtual (ex.: virtual box)
- Sistema Operacional Windows7
- DB Engine - SQL Server Express
- Verso SQL Server 2008 R2
- Seguir orientaes de instalao do site microsoft (ver requisitos tambm)
- Instalar tambm o Sql Server Studio
- 6Gb disponveis no disco principal
- H pr-requisitos de softwares, vaja instrues de instalao do manual Microsoft
Apresentar relatrio contendo:
- Nome do aluno
- Data de referncia da aula e nmero do laboratrio
- Alguns printscreens da sua instalao. Por exemplo: Navegue pelas estruturas do banco de
dados no SQL-Studio. Veja algumas tabelas de sistema. Etc. Acesse o diretrio onde o SQL
Server foi instalado. Tente descobrir onde esto armazenados os arquivos de dados.
Instrues de instalao
Pr-requisitos
Para instalar ou atualizar o SQL Server 2008 R2 SP2, voc dever ter direitos
administrativos no computador.
Etapa 1: instale o Microsoft .NET Framework 2.0 ou posterior a partir do Centro de
Download da Microsoft
Etapa 2: baixe o SQL Server Express clicando no link SQLEXPR.EXE ou
SQLEXPR32.EXE nesta pgina. Para iniciar imediatamente a instalao, clique em
Executar. Para instalar o SQL Server Express posteriormente, clique em Salvar.
Observao: o SQLEXPR32.EXE um pacote menor que pode ser usado para
instalar o SQL Server Express somente em sistemas operacionais de 32 bits. O
pacote SQLEXPR.EXE oferece suporte instalao em sistemas operacionais de 32
e de 64 bits (instalao WOW). No existe nenhuma outra diferena entre esses
pacotes.
Etapa 3: siga as instrues de instalao fornecidas no Leiame. Os problemas
conhecidos podem ser localizados nasNotas de verso do SQL Server 2008 R2
SP2.
Viso interna e externa de Sistemas
Gerenciadores de Banco de Dados
Banco de Dados
Perguntas
Descreva os conceitos destacando o que os
diferencia: instncia, instalao do SGBD,
instncia de BD, instncia do SGBD, metadados,
tabelas de catlogo do BD, esquema, esquema de
banco de dados, esquema de tabela.
Descreva conceitos: estrutura fsica, estrutura lgica,
independncia de dados.
Estruturas Fsicas do banco de dados
Um SGBD armazena os seus dados internamente em
estruturas muito especficas que so acessadas diretamente
pelo software do SGBD apenas.
Estas estruturas so gravadas em arquivos nos sistemas de
arquivos ou em outros dispositivos disponibilizados atravs
do sistema operacional.
Estas estruturas so chamadas de estruturas fsicas do
banco de dados.
Um programa de aplicao acessa os dados atravs das
rotinas disponveis no SGDB.
Um programa de aplicao nunca acessar diretamente os
arquivos fsicos gravados em sistemas de arquivos do
sistema operacional.
Estruturas Lgicas do banco de dados
Um programa de aplicao acessa os dados sempre
atravs do conjunto de rotinas do SGBD.
Os dados so apresentados pelo SGDB aplicao e
usurios em um formato mais amigvel, escondendo as
complexidades e as diversidades que podem existir no
armazenamento fsico.
O SGBD disponibiliza para a aplicao uma viso dos
dados, abstraindo os aspectos fsicos. Por isso, as estruturas
de dados que o SGBD expes para as aplicaes e
usurios so chamadas de estruturas lgicas.
O modelo que representa as estruturas lgicas de um banco
de dados chamado de modelo lgico.
Analogia com uma planilha excell
Estrutura Fsica
Estrutura Lgica
Cliente.xlsx 30/07/2014 21:32 planilha excell 9kb
Estrutura Fsica!
S o excell entende isto...
Vises Interna e Externa dos Dados
Viso Interna = Estruturas Fsicas
Modelo Interno = Modelo Fsico
Viso Externa = Estruturas Lgicas
Modelo Externo = Modelo Lgico
Independncia das estruturas fsicas de
dados dos programas
Os SGBD geralmente so fornecidos para mltiplas plataformas e
sistemas operacionais.
O RDBMS Oracle pode ser instalado em praticamente todas as verses
de Linux, Unix, Windows, etc.
O SQL server s est disponvel para os sistemas operacionais Microsoft
(Windows).
O DB2 funciona nos mainframes IBM e tambm em algumas verses de
Unix, Linux, OS2, e Windows.
A estrutura fsica em um sistema Linux certamente ter algumas
diferenas da estrutura fsica em um outro sistema operacional,
como Windows Server ou mainframe.
Isto no dever afetar o funcionamento dos programas da
aplicao. Seu cdigo fonte referencia os dados atravs da viso
lgica, independente do sistema operacional hospedeiro.
Dizemos que h uma independncia de dados (no nvel fsico).
SGBD Relacional
O formato de visualizao de dados mais amplamente
adotado pelos SGBD o formato em tabelas (ou
relaes). Onde os dados so organizados em linhas e
colunas e so consultados ou manipulados atravs do
SQL (Structured Query Language)
So chamados de SGBDs Relacionais os que utilizam o
modelo de apresentao em tabelas/relaes e
adotam a linguagem SQL para consultas.
O modelo lgico adotado pelos SGBDRs chamado
de modelo relacional.
SGBD
Definio de um BD
uma das responsabilidades do SGBD permitir a definio da
estrutura de um BD que ser utilizada para o armazenamento dos
dados pela aplicao e usurios.
Permite especificar a estruturas de armazenamento dos dados que
sero visualizados pela aplicao.
chamada de estrutura lgica.
No caso de SGBDRs composta por um modelo de tabelas.
Onde so especificados: tipos, propriedades, campos, nomes de
tabelas, domnios e restries dos dados que sero armazenados.
A definio dos nomes das colunas, tipos e restries (a estrutura
lgica) de uma tabela chamada de esquema da tabela.
O conjunto das estruturas de tabelas como sero armazenados os
dados em um banco de dados chamado de Esquema do Banco de
Dados.
Esquema de Tabela
Tabela Cliente (
CPF char(11) chave primria,
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
Definio de um BD
No SGBDR a definio de um BD pode ser feita
atravs do SQL (Structured Query Language)
SQL DDL (Data Definiton Language):
Create table
Drop table
Alter table
...
Instncia do SGBD
No confundir:
Instncia de Banco de Dados
Um esquema de banco de dados concretizado, com dados.
Instncia do Sistema de Gerenciamento de Banco de
Dados.
Uma execuo do software SGBD.
o software SGBD em execuo com suas estruturas de memria
alocadas.
o SGBD ativo e executando (startup)
O SGBD instalado em um servidor e pode ser
executado (instanciado) diversas vezes para um mesmo
BD.
Instncias x Esquemas
Esquema RH Esquema Vendas
BD
RH1
BD
Vendas1
BD
RH2
BD Vendas2
Software SGBD
Em execuo no Servidor 1
Software SGBD
Em execuo no Servidor 2
Ambiente em Cluster
Aplicao Aplicao
Aplicao
Aplicao
2 esquemas de BD
4 instncias de BD
3 instncias de SGBD
2 instalaes de SGBD
Software SGBD
Em execuo
no Servidor 2
SGBD
Construo 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 aplicao visualiza dados armazenados em
tabelas (viso lgica ou viso externa).
O esquema do banco de dados concretizado em um SGBD,
contendo dados ou pronto para armazen-los, chamado de
instncia do banco de dados.
Instncia de uma tabela
Esquema da tabela Cliente
Instncia de tabela Cliente
CPF Nome Endereo Telefone e-mail
Char(11) Varchar(100) Varchar(100) Char(15) Varchar(100)
CPF Nome Endereo Telefone e-mail
11111 Aaa dgrere 99999 a@a
22222 Bbb Dfsd 99999 b@b
12123 cccc Sdfds 99999 c@c
SGBD
Manipulao
responsabilidade do SGBD fornecer um conjunto
de rotinas para que a aplicao possa fazer a
manipulao dos dados.
Num SGBDR a manipulao de dados feito pelo
SQL (Structured Query Language)
SQL DML (Data Manipulation Language):
Select
Insert
Update
Delete
Arquitetura Cliente x Servidor
Aplicao Cliente x Servidor BD
A arquitetura cliente-servidor uma arquitetura de
sistemas distribudos onde um componente atua com
cliente, o requisitante, e outro componente atua como
servido, que precisa estar continuamente disponvel
aguardando por requisies.
Os SGBDRs geralmente atuam como servidores e as
aplicaes do usurio atuam como cliente.
Servidor Cliente
requisio
resposta
Bancos de Dados e Ferramentas
Clientes de Acesso e Administrao
SGBDR Cliente Grfico Cliente Linha Comando
MsSQL phpmyadmin (web)
Mysql Workbench
mysql
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
Exerccios
Perguntas
7. Descreva os conceitos destacando o que os
diferencia: instncia, instalao do SGBD,
instncia de BD, instncia do SGBD, metadados,
tabelas de catlogo do BD, esquema, esquema de
banco de dados, esquema de tabela.
8. Descreva conceitos: estrutura fsica, estrutura
lgica, independncia da estrutura fsica de dados
dos programas.
Exerccios
10) O MySQL possui verses para sistemas Linux e Windows.
No sistema operacional Linux, os nomes de arquivos so case-
sensitive, j o sistema operacional Windows no diferencia
maisculas de minsculas. O MySQL cria arquivos em disco
com o mesmo nome das tabelas (quando utilizado o engenho
MyISAM). Desta forma, no sistema linux seria possvel a
criao de trs tabelas distintas com os seguintes nomes
Cliente, cliente, CLIENTE. J no sistema Windows haveria
apenas uma tabela.
Discuta esta questo e o conceito de independncia de dados.
Explique como esta caracterstica afeta a independncia de
dados e d exemplos em que podem ocorrer problemas
quando uma instncia de banco de dados migrada de um
ambiente MySQL em Linuz para um ambiente Windows.
Laboratrio
Laboratrio
Lab.1.2) Identifique na sua instalao 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 fsicas (arquivos) do seu banco de dados. Liste nomes de arquivos
que contenham informaes do banco de dados e descreva que tipos de
informaes contm.
Apresentar relatrio contendo:
- Nome do aluno
- Data de referncia da aula e nmero do laboratrio
- Suas respostas e concluses