módulo 1: criando bancos de dados e arquivos de banco de dados
TRANSCRIPT
Módulo 1: Criando bancos
de dados e arquivos de banco de dados
Visão geral do módulo
Criando bancos de dados
Criando grupos de arquivos
Criando esquemas
Criando instantâneos de banco de dados
Lição 1: Criando bancos de dados
Considerações para a criação de um banco de dados
Registro em log de transações
Opções do banco de dados
Fontes de informações sobre bancos de dados
Prática: Criando bancos de dados
Considerações para a criação de um banco de dados
Finalidade do armazenamento de dados
Produtividade de transações
Crescimento potencial do armazenamento físico de dados
Local do arquivo
OLAP
OLTP
SQL ServerCliente
Consulta
Resultados
OLTP – Processamento de Informações em Tempo real
Bancos de dados OLTP
As tabelas relacionais organizam dados em um banco de dados OLTP para reduzir as informações redundantes e para aumentar a velocidade das atualizações.
O SQL Server permite que vários usuários executem transações e alterem simultaneamente dados em tempo real em bancos de dados OLTP.
OLTP – Processamento de Informações em Tempo real
Dados Normalizados
Exemplos: Sistemas ERP e Transações Bancárias
Vantagens: Simplicidade e Eficiência
Desvantagens: Segurança e Custo
OLAP
OLTP
SQL ServerCliente
Consulta
Resultados
OLAP – Processamento Analítico On-Line
Usados em Trabalhos com Bancos de Dados DesNormalizados
Usados para decisões estratégicas
OLAP
OLTP
SQL ServerCliente
Consulta
Resultados
OLAP
A tecnologia OLAP é usada para organizar e resumir grandes quantidades de dados para que um analista possa avaliá-los rapidamente e em tempo real.
O Microsoft SQL Server Analysis Services organiza esses dados para que ofereçam suporte a várias soluções empresariais, de relatórios corporativos e análises a dados que modelam o suporte a decisões.
Diferenças OLAP e OLTP
Características OLTP OLAP
Operação típica Atualização Análise
Telas Imutável Definida pelo usuário
Nível de Dados Atomizado Altamente sumarizado
Idade dos dados Presente Histórico, Atual e Projetado
Recuperação Poucos registros Muitos registros
Orientação Registro Arrays
Modelagem Por processo Por assunto
Registro em log de transações
As páginas de dados estão localizadas, ou são lidas,no cache do buffer e modificadas
As páginas de dados estão localizadas, ou são lidas,no cache do buffer e modificadas
22
A modificação é registrada no log de transações no disco
A modificação é registrada no log de transações no disco
33
O ponto de verificação grava transações confirmadas no banco de dados
O ponto de verificação grava transações confirmadas no banco de dados
44
A modificação de dados é enviada por aplicativoA modificação de dados é enviada por aplicativo11
Dica: Coloque o log em uma unidade separada por questões de desempenho
Dica: Coloque o log em uma unidade separada por questões de desempenho
Disco
Disco
Cache do buffer
SQL SERVER
O SQL Server é um sistema RDBMS (sistema de gerenciamento de banco de dados relacional) que:
• Gerencia armazenamento de dados para transações e análise.
• Armazena dados em uma grande variedade de tipos de dados, incluindo texto, numérico, XML e grandes objetos.
• Responde a solicitações dos aplicativos cliente.
• Usa Transact-SQL, XML ou outros comandos de SQL Server para enviar solicitações entre um aplicativo cliente e o SQL Server.
O componente RDBMS do SQL Server é responsável por:
• Manter as relações entre dados em um banco de dados.
• Garantir que os dados sejam armazenados corretamente e que as regras que definem as relações entre os dados não sejam violadas.
• Recuperar todos os dados para um ponto de consistência conhecido, se houver falhas do sistema.
Planejamento de um banco de dados
Finalidade do armazenamento de dados. Os bancos de dados OLTP e OLAP têm diferentes finalidades e, por isso, diferentes requisitos de design.
• Produtividade de transações.
Os bancos de dados OLTP geralmente têm um requisito mais elevado em relação ao número de transações que podem ser processadas por minuto, hora ou dia. Um design eficiente com um nível correto de normalização, índices e partições de dados pode alcançar um nível muito superior de produtividade de transação.
Planejamento de um banco de dados
Crescimento potencial do armazenamento físico de dados.
Grandes quantidades de dados requerem hardware apropriado para memória, espaço em disco rígido e energia da CPU (unidade de processamento central). A estimativa da quantidade de dados que o banco de dados armazenará nos meses e anos futuros ajudará a garantir que o banco de dados continue a funcionar de forma eficiente. Você pode configurar bancos de dados para que os arquivos cresçam automaticamente até um tamanho máximo especificado. No entanto, o crescimento automático do arquivo pode afetar o desempenho. Em muitas soluções de banco de dados baseadas em servidor, você deverá criar o banco de dados com arquivos de tamanho adequado, monitorar o uso do espaço e realocar mais espaço somente quando necessário.
Planejamento de um banco de dados
Local do arquivo. O local dos arquivos de banco de dados pode afetar o desempenho.
Se você puder usar várias unidades de disco, será possível espalhar os arquivos de banco de dados em mais de um disco. Isso fará com que o SQL Server se beneficie de várias conexões e várias cabeças de disco, tornando mais eficiente a leitura e gravação dos dados.
Opções do banco de dados
Configure opções de banco de dado usando:
SQL Server Management Studio
Instrução ALTER DATABASE
Categoria da opção Objetivo
Automática Controla comportamentos automáticos como estatísticas, fechamento do banco de dados e redução
Disponibilidade Controla se o banco de dados está online, quem pode se conectar a ele e se ele é somente leitura
Cursor Controla o comportamento e o escopo do cursor
Recuperação Controla o modelo de recuperação do banco de dados
SQL Controla as opções de conformidade com ANSI como os ANSI nulos e os disparadores recursivos
Exemplo de criação de um banco de dados
Você pode criar um banco de dados usando as ferramentas visuais no SQL Server Management Studio ou a instrução Transact-SQL CREATE DATABASE.
O exemplo a seguir mostra como criar um banco de dados usando Transact-SQL.
CREATE DATABASE TestDB
ON (NAME = 'TestDB_Data',
FILENAME = 'D:\DATA\TransactTestDB.mdf',
SIZE = 20 MB,
FILEGROWTH = 0)
LOG ON (NAME = 'TestDB_Log',
FILENAME = 'D:\DATA\TestDB_Log.ldf',
SIZE = 5 MB,
FILEGROWTH = 0)
Fontes de informações sobre bancos de dados
Fonte de informações Descrição
SQL Server Management Studio
Ferramenta visual que exibe que exibe metadados do banco de dados no ambiente de gerenciamento
Exibições de catálogoFornece metadados sobre objetos do banco de dados que retornam linhas de informações
Funções de metadadosRetorna um único valor de informações de banco de dados por função
Procedimentos armazenados do sistema
Recupera os metadados usando procedimentos armazenados
Lição 2: Criando grupos de arquivos
O que são grupos de arquivos?
Quando criar grupos de arquivos
Prática: Criando grupos de arquivos
Banco de dados do AdventureWorks
O que são grupos de arquivos?
Grupo de arquivos padrão OrderHistoryGroup
E:\C:\ D:\
AdventureWorks_Log.Idf
AdventureWorks_Log.Idf
AdventureWorks_Data.mdf
AdventureWorks_Data.mdf
OrdHist2.ndfOrdHist2.ndf
OrdHist1.ndfOrdHist1.ndf
......
SalesOrderHeaderSalesOrderHeader
CustomerCustomer
ProductProduct
OrdHistYear2OrdHistYear2
OrdHistYear1OrdHistYear1
Usar vários arquivos em um único grupo de arquivos para desempenho
Usar vários grupos de arquivos para controlar a colocação de dados
Quando criar grupos de arquivos
Lição 3: Criando esquemas
O que são esquemas?
Como a resolução de nome do objeto funciona
Prática: Criando um esquema
O que são esquemas?
Namespaces para objetos de banco de dadosNamespaces para objetos de banco de dados
Person
Contact(Server1.AdventureWorks.Person.Contact)
Sales
Customer(Server1.AdventureWorks.Sales.Customer)
AdventureWorks
dbo
ErrorLog(Server1.AdventureWorks.dbo.ErrorLog)
SalesSales
Contact
PersonPerson
Como a resolução de nome do objeto funciona
SELECT * FROM Person.ContactSELECT * FROM Person.Contact
Manuel(Esquema padrão = Person)
Martins(Esquema padrão = Sales)
ErrorLog
dbodbo
SELECT * FROM ContatoSELECT * FROM Contato
SELECT * FROM ContatoSELECT * FROM Contato
SELECT * FROM ErrorLogSELECT * FROM ErrorLog
Lição 4: Criando instantâneos de banco de dados
O que são instantâneos de banco de dados?
Como instantâneos de banco de dados funcionam
Prática: Criando instantâneos de banco de dados
O que são instantâneos de banco de dados?
Exibição somente leitura e consistente de um banco de dados em um momento específico
Útil como banco de dados de teste ou de desenvolvimento, ou para relatórios
Deve existir no mesmo servidor que o banco de dados de origem
Instantâneo das 12:00
Como instantâneos de banco de dados funcionam
BD de origem BD de instantâneos
Cópia na gravação
SELECT …SELECT …
SELECT …SELECT …UPDATE …UPDATE …
Laboratório: Criando bancos de dados e arquivos de banco de dados
Exercício 1: Criando um banco de dados
Exercício 2: Criando esquemas
Exercício 3: Criando um instantâneo de banco de dados