Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Przewodnik dla początkujących po tablicach SQL

W tym artykule omówimy różne typy tabel SQL i najlepsze praktyki tworzenia tabel zdefiniowanych przez użytkownika w SQL Server.

Tabele są podstawowymi obiektami do przechowywania danych w relacyjnych bazach danych. Aby zwizualizować tabelę, rozważ arkusz kalkulacyjny programu Excel. Arkusz kalkulacyjny organizuje dane w formacie wierszy i kolumn. Podobnie relacyjne bazy danych używają wielu tabel (arkuszy) do organizowania danych.

  • Wiersz :jednoznacznie identyfikuje rekord. Na przykład dane z wiersza 1 należą do pracownika o imieniu [Raj]. Nie może przechowywać danych innego pracownika.
  • Kolumna :Każda kolumna definiuje atrybut tabeli. Na przykład kolumna [Imię] przechowuje imię wszystkich pracowników. W tej kolumnie nie można przechowywać innych danych, takich jak [Miasto].

Załóżmy, że potrzebujemy tabeli [Pracownik] w bazie danych SQL. Ta tabela przechowuje rekordy pracowników firmy. Dla kolumny [EmpID] wymagana jest liczba dodatnia (bez kropki dziesiętnej). W takim przypadku najbardziej odpowiedni jest typ danych [integer]. Po zdefiniowaniu kolumny [EmpID] jako liczby całkowitej SQL Server nie pozwala na wstawianie wartości, które nie spełniają typu danych całkowitych. Na przykład nie możesz wstawić ciągu „Raj” w kolumnie [EmpID[.

Tworzenie tabeli SQL

Na wysokim poziomie, aby utworzyć tabelę SQL, powinniśmy mieć następujące informacje:

  1. Jaka jest nazwa instancji SQL i bazy danych do przechowywania obiektów?
  2. W jakim schemacie chcesz przechowywać tabelę?
  3. Jakie są nazwy kolumn dla Twojej konkretnej tabeli?
  4. Jakie są typy danych dla tych kolumn?
  5. Czy kolumny pozwalają na przechowywanie wartości NULL?
  6. Czy używasz kolumny klucza podstawowego? Jeśli tak, która kolumna będzie działać jako kolumna klucza podstawowego?
  7. Czy chcesz utworzyć indeksy nieklastrowane?

W tej demonstracji użyjmy następujących odpowiedzi na te pytania, aby utworzyć tabelę pracowników.

  • Odpowiedź 1:Nazwa docelowej bazy danych to [AzureDemoDatabase]
  • Odpowiedź 2:Chcemy przechowywać tabele w domyślnym schemacie DBO
  • Odpowiedź 3:Tabela [Pracownik] powinna mieć pięć kolumn:[ID], [Imię], [Nazwisko], [Miasto] i [DOB]
  • Odpowiedź 4:Tabela [Pracownik] powinna używać następujących typów danych.
    • [ID]:liczba całkowita
    • [FirstName]:Varchar(50) NIE NULL
    • [LastName]:Varchar(30) NIE NULL
    • [Miasto]:Varchar[50] NULL
    • [DOB]:DATA NIE JEST NULL
  • Właściwości NULL zdefiniowane powyżej
  • Tak, kolumna [ID] jest kolumną klucza podstawowego
  • Nie, potrzebne są tylko indeksy klastrowe

Typy tabel SQL

Tabele SQL Server można podzielić na następujące kategorie.

Tabele systemowe

SQL Server przechowuje konfigurację instancji i właściwości bazy danych w specjalnym zestawie tabel. Te tabele są znane jako tabele systemowe. Użytkownicy nie mogą bezpośrednio wprowadzać zmian w tych tabelach. SQL Server nie pozwala na bezpośrednie odpytywanie określonych tabel systemowych. Zamiast tego udostępnia procedury składowane w systemie, funkcje, obiekty zarządzania serwerem SQL i obiekty zarządzania replikacją do odpytywania tych składników. Możesz zapoznać się z dokumentami firmy Microsoft, aby lepiej zrozumieć tabele systemowe.

Tabele tymczasowe

Czasami musimy tymczasowo przechowywać dane w bazie danych do obliczeń, manipulacji lub przechowywania wyników pośrednich. W takich przypadkach możemy wykorzystać tabele tymczasowe, które są zawsze przechowywane w bazie danych systemu TempDB.

SQL Server ma dwa typy tabel tymczasowych:

  • Lokalne: Każda lokalna tabela tymczasowa zaczyna się od znaku (#). Jego zakres ogranicza się do bieżącego połączenia. SQL Server automatycznie usuwa te tabele, gdy użytkownik się rozłączy.
  • Globalny: Każda globalna tabela tymczasowa zaczyna się od znaku (##). Wszyscy użytkownicy mogą odwoływać się do globalnych tabel tymczasowych. Jeśli wszyscy użytkownicy, którzy odwołują się do globalnej tabeli, są połączeni, SQL Server odrzuca ją.

–TYMCZASOWA Tabela ( Lokalna )
Utwórz tabelę #TableA
(
ID int,
[Nazwa] varchar(50)
)

–Globalna tabela tymczasowa
Utwórz tabelę ##TableB
(
ID int,
[Nazwa] varchar(50)
)

Stała lub zdefiniowana przez użytkownika tabela

Użytkownicy mogą definiować własną strukturę tabel, kolumny, typy danych, ograniczenia i indeksy zgodnie z wymaganiami aplikacji. Te tabele są nazywane tabelami zdefiniowanymi przez użytkownika.

Tabele te są zawsze przechowywane w bazie danych, chyba że ktoś wyraźnie je usunie. Dlatego są one również znane jako stoły stałe.

Istnieje wiele sposobów tworzenia tabeli zdefiniowanej przez użytkownika w SQL Server.

  • GUI programu SQL Server Management Studio
  • Korzystanie ze skryptu T-SQL

–Stała tabela
Utwórz tabelę TabelaA
(
ID int,
[Nazwa] varchar(50)
)

Stoły zewnętrzne

Tabele zewnętrzne to szczególny typ tabeli, którego można używać w programie SQL Server 2016 i nowszych. Te tabele odwołują się do innych źródeł danych, takich jak Azure Blob Storage, Hadoop, Oracle, Excel, ODBC, Bigdata, MongoDB i Teradata, korzystających z funkcji PolyBase programu SQL Server.

Możesz zapoznać się z tą dokumentacją, aby dokładniej zapoznać się z PolyBase w SQL Server.

Tabele wykresów

Grafowe bazy danych SQL Server używają zbioru różnych węzłów (wierzchołków) i krawędzi (związków).

  • Tabela węzłów :Tabela węzłów to zbiór węzłów o podobnych typach. Na przykład tabela węzłów osób zawiera wszystkie węzły osób na wykresie.
  • Tabela krawędzi :Stół krawędziowy to zbiór podobnych krawędzi. Na przykład stół przyjaciela zawiera wszystkie krawędzie, które łączą osobę z inną osobą.

Aby dokładniej to zbadać, zapoznaj się z kategoriami bazy danych wykresów.

Wytyczne dotyczące tworzenia tabeli zdefiniowanej przez użytkownika w SQL Server

  • Zdefiniuj odpowiednią konwencję nazewnictwa dla nazw tabel.
  • Użyj różnych schematów do grupowania podobnych obiektów tabeli.
  • Zawsze upewnij się, że integralność referencyjna jest utrzymywana przy użyciu ograniczeń SQL Server, takich jak klucz podstawowy i klucz obcy.
  • Zawsze definiuj odpowiedni typ danych i ich długość, aby szybko czytać i zapisywać dane.
  • Użyj technik normalizacji bazy danych, aby zmniejszyć nadmiarowość danych i poprawić integralność danych.
  • Zapoznaj się z różnymi formami normalizacji i jak z nich korzystać. (Możesz zapoznać się z tym artykułem: Co to jest normalizacja bazy danych w SQL Server?)
  • Zdefiniuj odpowiednie indeksy dla zadań związanych z zapytaniami.
  • Zawsze konsultuj się ze specjalistami od baz danych, aby uzyskać porady dotyczące modelowania baz danych i stosowania najlepszych praktyk

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wstawić ciąg do innego ciągu w SQL Server za pomocą STUFF()

  2. Jak złapać wyjątki limitu czasu SQLServer?

  3. Zapytanie SQL Server Xml z wieloma przestrzeniami nazw

  4. Zaktualizuj wiele tabel w SQL Server za pomocą INNER JOIN

  5. Jak upuścić kolumnę z ograniczeniem?