Share via


Fundamentos de Banco de Dados

Um banco de dados no SQL Server é composto de uma coleção de tabelas que armazena um conjunto específico de dados estruturados. Uma tabela contém uma coleção de linhas, também chamada de registros ou tuplas, e colunas, também chamadas de atributos. Cada coluna da tabela é projetada para armazenar um determinado tipo de informação, por exemplo, datas, nomes, quantias em dólares e números.

As tabelas possuem diversos tipos de controles, como restrições, gatilhos, padrões e tipos de dados de usuários personalizados, que garantem a validade dos dados. As restrições de integridade referencial declarativa (DRI) podem ser adicionadas às tabelas para certificar que os dados inter-relacionados nas diferentes tabelas permaneçam consistentes. As tabelas podem ter índices semelhantes aos dos livros que habilitam as linhas a serem localizadas rapidamente. Um banco de dados também pode conter procedimentos que usam o código de programação Transact-SQL ou .NET Framework para efetuar operações com os dados do banco de dados. Essas operações incluem a criação de exibições que fornecem acesso personalizado aos dados da tabela ou a uma função definida pelo usuário que efetua um cálculo complexo, em um subconjunto de linhas.

Por exemplo, você cria um banco de dados nomeado MyCompanyDB para gerenciar os dados de sua empresa. No banco de dados MyCompanyDB, você cria uma tabela que é nomeada Employees, para armazenar informações sobre cada funcionário. As tabela também contém colunas que são nomeadas EmpId, LastName, FirstName, Dept, e Title. Para se certificar de que dois funcionários não compartilham o mesmo EmpId e que a coluna Dept contém somente números válidos para os departamentos de sua empresa, é preciso adicionar restrições à tabela.

Como você deseja encontrar rapidamente os dados de um funcionário, com base no ID ou sobrenome do funcionário, você define os índices. Você precisará adicionar uma linha de dados à tabela Employees, para cada funcionário; assim, você também precisará criar um procedimento armazenado chamado AddEmployee. Esse procedimento está personalizado para aceitar os valores de dados de um novo funcionário e efetuar a operação de adição da linha à tabela Employees. Você pode precisar de um resumo dos departamentos dos funcionários. Nesse caso, você definirá uma exibição chamada DeptEmps que combina dados das tabelas Departments e Employees e gera a saída. Esta ilustração mostra as partes do MyCompanyDB criadas.

Objetos em um banco de dados

Uma instância de SQL Server pode oferecer suporte a muitos bancos de dados. Cada banco de dados pode armazenar dados inter-relacionados ou não relacionados de outros bancos de dados. Por exemplo, uma instância do SQL Server pode ter um banco de dados que armazena dados pessoais e outro banco de dados que armazena dados relacionados aos produtos. Como alternativa, um banco de dados pode armazenar dados atuais de pedidos de clientes, e outro banco de dados relacionado pode armazenar o histórico de pedidos de clientes usado para relatório anual.

Observação importanteImportante

Não crie objetos do usuário, como tabelas, exibições, procedimentos armazenados ou gatilhos, no banco de dados master. O banco de dados master contém informações de nível do sistema usadas pela instância do SQL Server, como informações de logon e definições de opções de configuração.

Banco de dados OLTP

Os bancos de dados relacionais OLTP (Processamento On-line de Transação) são ótimos para gerenciar alteração de dados. Eles normalmente têm diversos usuários que executam transações, ao mesmo tempo em que alteram os dados em tempo real. Apesar de as solicitações individuais dos usuários para obter os dados, geralmente, fazerem referência a poucos registros, muitas dessas solicitações são realizada simultaneamente.

Os bancos de dados OLTP são projetados para permitir que os aplicativos transacionais gravem somente os dados necessários para controlar uma única transação o mais rápido possível. Bancos de dados OLTP, geralmente, fazem o seguinte:

  • Oferecem suporte a um grande número de usuários simultâneos que estão somando e modificando regularmente os dados.

  • Representam o estado de alterações constantes de uma empresa, mas não salvam seu histórico.

  • Contêm muitos dados, inclusive dados extensos usados para verificar transações.

  • Possuem estruturas complexas.

  • São ajustados para apresentar capacidade de resposta à atividade da transação.

  • Fornecem a infra-estrutura tecnológica para dar suporte às operações diárias de uma empresa.

  • As transações individuais são concluídas rapidamente e acessam quantidades relativamente pequenas de dados. Os sistemas OLTP são projetados e ajustados para processar centenas ou milhares de transações inseridas simultaneamente.

Os dados em sistemas OLTP são organizados basicamente para dar suporte a transações, como as seguintes:

  • Registrar um pedido originado em um terminal de ponto de vendas ou inserido via um site da Web.

  • Colocar um pedido para mais suprimentos, quando as quantidades de estoque caem a um nível especificado.

  • Localizar componentes à medida que são montados em um produto final em uma instalação de manufatura.

  • Registrar dados de funcionários.

Data warehouse

Ao contrário de um banco de dados OLTP no qual a finalidade é captar altas taxas de alterações e acréscimos nos dados, a finalidade de um data warehouse é organizar grandes quantidades de dados estáveis, para facilitar a análise e recuperação. Um data warehouse é freqüentemente usado como base para um aplicativo de business intelligence.

A seguir, temos uma lista do que o data warehouse pode fazer:

  • Combinar dados de fontes heterogêneas de dados em uma única estrutura homogênea.

  • Organizar dados em estruturas simplificadas para obter eficiência em consultas analíticas, e não para o processamento de transações.

  • Conter dados transformados válidos, consistentes, consolidados e formatados para análise.

  • Fornecer dados estáveis que representam o histórico empresarial.

  • Ser atualizado, periodicamente, com dados adicionais, em lugar de efetuar transações freqüentes.

  • Simplificar requisitos de segurança.

Instantâneo do banco de dados

Um instantâneo do banco de dados é uma exibição estática do tipo somente leitura de um banco de dados, o banco de dados de origem. Cada instantâneo de banco de dados é consistente, nas transações com o banco de dados de origem, da mesma forma que ele existia no momento da criação do instantâneo. Para obter mais informações, consulte Instantâneos do Banco de Dados.