Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Um guia para iniciantes em tabelas SQL




Neste artigo, exploraremos os diferentes tipos de tabelas SQL e as práticas recomendadas para criar tabelas definidas pelo usuário no SQL Server.

As tabelas são objetos primários para armazenar dados em bancos de dados relacionais. Para visualizar uma tabela, considere uma planilha do Excel. A planilha organiza os dados em formato de linha e coluna. Da mesma forma, os bancos de dados relacionais usam várias tabelas (folhas) para organizar os dados.
  • Linha :identifica exclusivamente um registro. Por exemplo, os dados da linha 1 pertencem a um funcionário chamado [Raj]. Ele não pode armazenar dados de outro funcionário.
  • Coluna :Cada coluna define um atributo da tabela. Por exemplo, a coluna [FirstName] armazena o primeiro nome de todos os funcionários. Você não pode armazenar outros dados como [Cidade] nesta coluna.



Suponha que precisamos de uma tabela [Employee] em um banco de dados SQL. Esta tabela armazena os registros de funcionários de uma empresa. Para a coluna [EmpID], exigimos um número positivo (sem nenhum ponto decimal). Nesse caso, o tipo de dados [integer] é o mais adequado. Depois de definir a coluna [EmpID] como integer, o SQL Server não permite a inserção de valores que não satisfaçam o tipo de dados integer. Por exemplo, você não pode inserir a string ‘Raj’ na coluna [EmpID[.

Criando uma tabela SQL




Em um nível alto, para criar uma tabela SQL, devemos ter as seguintes informações:
  1. Qual ​​é a instância SQL e o nome do banco de dados para armazenamento de objetos?
  2. Em qual esquema você deseja armazenar a tabela?
  3. Quais são os nomes das colunas para sua tabela específica?
  4. Quais são os tipos de dados para essas colunas?
  5. As colunas permitem armazenar valores NULL?
  6. Você usa a coluna de chave primária? Se sim, qual coluna atuará como a coluna de chave primária?
  7. Deseja criar índices não clusterizados?

Para esta demonstração, vamos usar as seguintes respostas para essas perguntas para criar a tabela de funcionários.
  • Resposta 1:o nome do banco de dados de destino é [AzureDemoDatabase]
  • Resposta 2:queremos armazenar tabelas no esquema DBO padrão
  • Resposta 3:A tabela [Employee] deve ter cinco colunas:[ID], [FirstName], [LastName], [City] e [DOB]
  • Resposta 4:A tabela [Employee] deve usar os seguintes tipos de dados.
    • [ID]:inteiro
    • [Nome]:Varchar(50) NÃO NULO
    • [Sobrenome]:Varchar(30) NÃO NULO
    • [Cidade]:Varchar[50] NULL
    • [DOB]:DATA NÃO NULA
  • Propriedades NULL conforme definido acima
  • Sim, a coluna [ID] é uma coluna de chave primária
  • Não, apenas índices clusterizados necessários

Tipos de tabelas SQL


As tabelas do SQL Server podem ser divididas nas seguintes categorias.

Tabelas do sistema


O SQL Server armazena a configuração da instância e as propriedades do banco de dados em um conjunto especial de tabelas. Essas tabelas são conhecidas como tabelas de sistema. Os usuários não têm permissão para fazer alterações nessas tabelas diretamente. O SQL Server não permite que tabelas de sistema específicas sejam consultadas diretamente. Em vez disso, ele fornece procedimentos armazenados do sistema, funções, objetos de gerenciamento do SQL Server e objetos de gerenciamento de replicação para consultar esses componentes. Você pode consultar os documentos da Microsoft para entender as tabelas do sistema com mais detalhes.

Tabelas temporárias


Às vezes, precisamos armazenar dados temporariamente no banco de dados para cálculo, manipulação ou armazenamento de resultados intermediários. Nesses casos, podemos utilizar tabelas temporárias que são sempre mantidas no banco de dados do sistema TempDB.

O SQL Server tem dois tipos de tabelas temporárias:
  • Local: Cada tabela temporária local começa com um sinal (#). Seu escopo é limitado à conexão atual. O SQL Server descarta automaticamente essas tabelas assim que o usuário se desconecta.
  • Global: Cada tabela temporária global começa com um sinal (##). Todos os usuários podem fazer referência às tabelas temporárias globais. Se todos os usuários que fazem referência à tabela global estiverem conectados, o SQL Server a descartará.

–Tabela TEMPORÁRIA ( Local )
Criar tabela #TabelaA
(
ID int,
[Nome] varchar(50)
)

–Tabela Temporária Global
Criar tabela ##TableB
(
ID int,
[Nome] varchar(50)
)

Tabela permanente ou definida pelo usuário


Os usuários podem definir sua própria estrutura de tabela, colunas, tipos de dados, restrições e índices de acordo com os requisitos de sua aplicação. Essas tabelas são chamadas de tabelas definidas pelo usuário.

Essas tabelas são sempre armazenadas no banco de dados, a menos que alguém as descarte explicitamente. Portanto, elas também são conhecidas como tabelas permanentes.

Há várias maneiras de criar uma tabela definida pelo usuário no SQL Server.
  • GUI do SQL Server Management Studio
  • Usando script T-SQL

–Tabela Permanente
Criar tabela TabelaA
(
ID int,
[Nome] varchar(50)
)

Tabelas externas


As tabelas externas são um tipo específico de tabela que pode ser usada no SQL Server 2016 em diante. Essas tabelas fazem referência a outras fontes de dados, como armazenamento de blobs do Azure, Hadoop, Oracle, Excel, ODBC, Bigdata, MongoDB e Teradata usando o recurso PolyBase do SQL Server.



Você pode consultar esta documentação para explorar ainda mais o PolyBase no SQL Server.

Tabelas de gráfico


Os bancos de dados gráficos do SQL Server usam uma coleção de diferentes nós (vértices) e arestas (relacionamentos).


  • Tabela de nós :A tabela de nós é uma coleção de nós com tipos semelhantes. Por exemplo, a tabela de nós de pessoas tem todos os nós de pessoas em um gráfico.
  • Tabela de borda :A tabela de arestas é uma coleção de arestas semelhantes. Por exemplo, uma tabela de amigos contém todas as arestas que conectam uma pessoa a outra.



Para explorar isso ainda mais, faça referência às categorias do banco de dados do gráfico.

Diretrizes para criar uma tabela definida pelo usuário no SQL Server

  • Defina uma convenção de nomenclatura apropriada para nomes de tabelas.
  • Use esquemas diferentes para agrupar objetos de tabela semelhantes.
  • Sempre garanta que a integridade referencial seja mantida usando as restrições do SQL Server, como chave primária e chave estrangeira.
  • Sempre defina um tipo de dados adequado e seu comprimento para ler e gravar dados rapidamente.
  • Use técnicas de normalização de banco de dados para reduzir a redundância de dados e melhorar a integridade dos dados.
  • Entenda as diferentes formas de normalização e como usá-las. (Você pode consultar este artigo: O que é normalização de banco de dados no SQL Server?)
  • Defina índices adequados para suas cargas de trabalho de consulta.
  • Sempre consulte profissionais de banco de dados para obter conselhos sobre modelagem de banco de dados e aplicação de práticas recomendadas