В тази статия ще разгледаме различните типове SQL таблици и най-добрите практики за създаване на потребителски дефинирани таблици в SQL Server.
Таблиците са основни обекти за съхранение на данни в релационни бази данни. За да визуализирате таблица, помислете за електронна таблица на Excel. Електронната таблица организира данните във формат на редове и колони. По същия начин релационните бази данни използват множество таблици (листове) за организиране на данни.
- Ред :Уникално идентифицира запис. Например данните от ред 1 принадлежат на служител на име [Raj]. Не може да съхранява данни за друг служител.
- Колона :Всяка колона дефинира атрибут на таблицата. Например колоната [FirstName] съхранява първото име за всички служители. Не можете да съхранявате други данни като [Град] в тази колона.
Да предположим, че имаме нужда от таблица [Employee] в SQL база данни. Тази таблица съхранява записи на служителите на компанията. За колоната [EmpID] изискваме положително число (без десетична запетая). В този случай типът данни [integer] е най-подходящ. След като сте дефинирали колоната [EmpID] като цяло число, SQL Server не ви позволява да вмъквате стойности, които не отговарят на целочисления тип данни. Например, не можете да вмъкнете низа „Raj“ в колоната [EmpID[.
Създаване на SQL таблица
На високо ниво, за да създадем SQL таблица, трябва да имаме следната информация:
- Какво е името на SQL екземпляр и база данни за съхранение на обекти?
- В коя схема искате да съхранявате таблицата?
- Какви са имената на колоните за вашата конкретна таблица?
- Какви са типовете данни за тези колони?
- Колоните позволяват ли съхраняване на стойности NULL?
- Използвате ли колоната с първичен ключ? Ако да, коя колона ще действа като колона с първичен ключ?
- Искате ли да създадете някакви неклъстерирани индекси?
За тази демонстрация нека използваме следните отговори на тези въпроси, за да създадем таблицата на служителите.
- Отговор 1:Името на целевата база данни е [AzureDemoDatabase]
- Отговор 2:Искаме да съхраняваме таблици в DBO схемата по подразбиране
- Отговор 3:Таблицата [Employee] трябва да има пет колони:[ID], [FirstName], [LastName], [City] и [DOB]
- Отговор 4:Таблицата [Employee] трябва да използва следните типове данни.
- [ID]:цяло число
- [FirstName]:Varchar(50) НЕ НУЛЕВО
- [Фамилно име]:Varchar(30) НЕ НУЛЕВО
- [Град]:Varchar[50] NULL
- [DOB]:ДАТАТА НЕ НУЛА
- NULL свойства, както са дефинирани по-горе
- Да, колоната [ID] е колона с първичен ключ
- Не, необходими са само клъстерни индекси
Типове SQL таблици
Таблиците на SQL Server могат да бъдат разделени в следните категории.
Системни таблици
SQL Server съхранява конфигурацията на екземпляра и свойствата на базата данни в специален набор от таблици. Тези таблици са известни като системни таблици. На потребителите не е разрешено директно да правят промени в тези таблици. SQL Server не позволява директно запитване на специфични системни таблици. Вместо това той предоставя системни съхранени процедури, функции, обекти за управление на SQL Server и обекти за управление на репликация за запитване на тези компоненти. Можете да се обърнете към документите на Microsoft за да разберете по-подробно системните таблици.
Временни таблици
Понякога се налага да съхраняваме данни временно в базата данни за изчисляване, манипулиране или съхраняване на междинни резултати. В тези случаи можем да използваме временни таблици, които винаги се съхраняват в системната база данни TempDB.
SQL Server има два типа временни таблици:
- Местно: Всяка локална временна таблица започва със знак (#). Неговият обхват е ограничен до текущата връзка. SQL Server автоматично премахва тези таблици, след като потребителят прекъсне връзката.
- Глобално: Всяка глобална временна таблица започва със знак (##). Всички потребители могат да се позовават на глобалните временни таблици. Ако всички потребители, които се позовават на глобалната таблица, са свързани, SQL Server я прекратява.
–TEMPORARY Table (Local)
Създайте таблица #TableA
(
ID int,
[Име] varchar(50)
)
–Глобална временна таблица
Създаване на таблица ##TableB
(
ID int,
[Име] varchar(50)
)
Постоянна или дефинирана от потребителя таблица
Потребителите могат да дефинират своя собствена структура на таблицата, колони, типове данни, ограничения и индекси според изискванията на тяхното приложение. Тези таблици се наричат потребителски дефинирани таблици.
Тези таблици винаги се съхраняват в базата данни, освен ако някой изрично не ги пусне. Следователно те са известни още като постоянни таблици.
Има няколко начина за създаване на дефинирана от потребителя таблица в SQL Server.
- GUI на SQL Server Management Studio
- Използване на T-SQL скрипт
–Постоянна таблица
Създаване на таблица TableA
(
ID int,
[Име] varchar(50)
)
Външни таблици
Външните таблици са специфичен тип таблица, която може да се използва в SQL Server 2016 нататък. Тези таблици препращат към други източници на данни, като например Azure blob съхранение, Hadoop, Oracle, Excel, ODBC, Bigdata, MongoDB и Teradata, използвайки функцията PolyBase на SQL Server.
Можете да се обърнете към тази документация за да изследвате допълнително PolyBase в SQL Server.
Таблици с графики
Графичните бази данни на SQL Server използват колекция от различни възли (върхове) и ръбове (връзки).
- Таблица с възли :Таблицата с възли е колекция от възли с подобни типове. Например таблицата с възли на човек има всички възли на човек в графика.
- Таблица за ръбове :Таблицата за ръбове е колекция от подобни ръбове. Например таблица с приятели съдържа всички ръбове, които свързват човек с друг човек.
За да проучите това по-нататък, препоръчайте категориите на базата данни на графиките.
Указания за създаване на дефинирана от потребителя таблица в SQL Server
- Дефинирайте подходяща конвенция за именуване за имена на таблици.
- Използвайте различни схеми, за да групирате подобни обекти в таблицата.
- Винаги се уверявайте, че референтната цялост се поддържа с помощта на ограниченията на SQL Server като първичен ключ и външен ключ.
- Винаги дефинирайте подходящ тип данни и тяхната дължина, за да четете и записвате бързо данни.
- Използвайте техники за нормализиране на базата данни, за да намалите излишъка на данните и да подобрите целостта на данните.
- Разберете различните форми за нормализиране и как да ги използвате. (Можете да препратите към тази статия: Какво е нормализиране на базата данни в SQL Server?)
- Дефинирайте подходящи индекси за натоварванията на заявките си.
- Винаги се консултирайте със специалисти по база данни за съвет относно моделирането на бази данни и прилагането на най-добри практики