More Related Content More from etyumentcev (20) введение в Sql21. 02 TIKTOKCOACH.RU
Create database
CREATE DATABASE database_name
[ CONTAINMENT = { NONE | PARTIAL } ]
[ ON
[ PRIMARY ] <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
[ LOG ON <filespec> [ ,...n ] ]
]
[ COLLATE collation_name ]
[ WITH <option> [,...n ] ]
[;]
22. 02 TIKTOKCOACH.RU
Create database - options
<option> ::=
{
FILESTREAM ( <filestream_option> [,...n ] )
| DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name |
language_alias }
| DEFAULT_LANGUAGE = { lcid | language_name | language_alias
}
| NESTED_TRIGGERS = { OFF | ON }
| TRANSFORM_NOISE_WORDS = { OFF | ON}
| TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
| DB_CHAINING { OFF | ON }
| TRUSTWORTHY { OFF | ON }
}
26. 02 TIKTOKCOACH.RU
Асимптотическая сложность
f(n) = O(1) константа
f(n) = O(log(n)) логарифмический рост
f(n) = O(n) линейный рост
f(n) = O(n*log(n)) квазилинейный рост
f(n) = O(n^2) квадратичный рост
f(n) = O(n^m) полиномиальный рост
f(n) = O(2^n) экспоненциальный рост
33. 02 TIKTOKCOACH.RU
Таблицы - мин. синтаксис
CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
34. 02 TIKTOKCOACH.RU
Таблицы - пример
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
35. 02 TIKTOKCOACH.RU
Виды типов данных
• Точные числа
• Приблизительные числа
• Дата и время
• Символьные строки
• Символьные строки в юникоде
• Двоичные типы данных
• Прочие
45. 02 TIKTOKCOACH.RU
Прочие типы данных
• курсор
• timestamp
• hierarchyid
• uniqueidentifier
• sql_variant
• xml
• таблица
• Пространственные типы
46. 02 TIKTOKCOACH.RU
Прочие типы данных
• курсор
• timestamp
• hierarchyid
• uniqueidentifier
• sql_variant
• xml
• таблица
• Пространственные типы
52. 02 TIKTOKCOACH.RU
Сложный пример - 1
CREATE TABLE dbo.PurchaseOrderDetail
(
PurchaseOrderID int NOT NULL
REFERENCES
Purchasing.PurchaseOrderHeader(PurchaseOrderID),
53. 02 TIKTOKCOACH.RU
Сложный пример - 2
LineNumber smallint NOT NULL,
ProductID int NULL
REFERENCES Production.Product(ProductID),
UnitPrice money NULL,
OrderQty smallint NULL,
ReceivedQty float NULL,
RejectedQty float NULL,
DueDate datetime NULL,
54. 02 TIKTOKCOACH.RU
Сложный пример - 3
rowguid uniqueidentifier ROWGUIDCOL NOT NULL
CONSTRAINT DF_PurchaseOrderDetail_rowguid
DEFAULT (newid()),
ModifiedDate datetime NOT NULL
CONSTRAINT
DF_PurchaseOrderDetail_ModifiedDate DEFAULT
(getdate()),
LineTotal AS ((UnitPrice*OrderQty)),
StockedQty AS ((ReceivedQty-RejectedQty)),
55. 02 TIKTOKCOACH.RU
Сложный пример - 4
CONSTRAINT
PK_PurchaseOrderDetail_PurchaseOrderID_LineNumbe
r
PRIMARY KEY CLUSTERED (PurchaseOrderID,
LineNumber)
WITH (IGNORE_DUP_KEY = OFF)
)
ON PRIMARY;
56. 02 TIKTOKCOACH.RU
Свойства колонки
[ FILESTREAM ]
[ COLLATE collation_name ]
[ SPARSE ]
[ NULL | NOT NULL ]
[
[ CONSTRAINT constraint_name ] DEFAULT
constant_expression ]
| [ IDENTITY [ ( seed ,increment ) ]
[ NOT FOR REPLICATION ]
]
[ ROWGUIDCOL ]
58. 02 TIKTOKCOACH.RU
Ограничения колонки - 2
{ PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
[ WITH FILLFACTOR = fillfactor | WITH ( <
index_option > [ , ...n ] ) ]
[ ON { partition_scheme_name (
partition_column_name ) | filegroup | "default"} ]
59. 02 TIKTOKCOACH.RU
Ограничения колонки - 3
[ FOREIGN KEY ]
REFERENCES [ schema_name . ]
referenced_table_name [ ( ref_column ) ]
[ ON DELETE { NO ACTION | CASCADE | SET NULL |
SET DEFAULT } ]
[ ON UPDATE { NO ACTION | CASCADE | SET NULL
| SET DEFAULT } ]
[ NOT FOR REPLICATION ]
}
62. 02 TIKTOKCOACH.RU
Ограничения таблицы - 2
{
{ PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
(column [ ASC | DESC ] [ ,...n ] )
[ WITH FILLFACTOR = fillfactor | WITH (
<index_option> [ , ...n ] ) ]
[ ON { partition_scheme_name
(partition_column_name)
| filegroup | "default" } ]
63. 02 TIKTOKCOACH.RU
Ограничения таблицы - 3
FOREIGN KEY ( column [ ,...n ] )
REFERENCES referenced_table_name [ (
ref_column [ ,...n ] ) ]
[ ON DELETE { NO ACTION | CASCADE | SET NULL |
SET DEFAULT } ]
[ ON UPDATE { NO ACTION | CASCADE | SET NULL
| SET DEFAULT } ]
[ NOT FOR REPLICATION ] | CHECK [ NOT FOR
REPLICATION ] ( logical_expression )