введение в sql
TRANSCRIPT
![Page 1: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/1.jpg)
01 TIKTOKCOACH.RU
Введение в MS SQL
ОмГУ
![Page 2: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/2.jpg)
02 TIKTOKCOACH.RU
Преподаватель
Тюменцев Евгений [Александрович]
![Page 3: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/3.jpg)
02 TIKTOKCOACH.RU
Длительность занятия
8:00 – 12:00
Перерывы8:40 – 8:459:25 – 9:3510:15-10:2011:00 – 11:10
![Page 4: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/4.jpg)
02 TIKTOKCOACH.RU
Содержание курса
![Page 5: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/5.jpg)
02 TIKTOKCOACH.RU
Лекции
![Page 6: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/6.jpg)
02 TIKTOKCOACH.RU
Лабораторные
![Page 7: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/7.jpg)
02 TIKTOKCOACH.RU
Самостоятельная работа
![Page 8: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/8.jpg)
02 TIKTOKCOACH.RU
Материалы курса
www.slideshare.net/etyumentcev/presentations
![Page 9: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/9.jpg)
02 TIKTOKCOACH.RU
3 тормоза, которые мешают
![Page 10: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/10.jpg)
08 TIKTOKCOACH.COM
Обвинение
Не виноватая я – он сам пришел
![Page 11: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/11.jpg)
09 TIKTOKCOACH.COM
Оправдание
Не мы - такие! Жизнь у нас -
такая
![Page 12: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/12.jpg)
10 TIKTOKCOACH.COM
Отрицание
![Page 13: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/13.jpg)
02 TIKTOKCOACH.RU
Пирамида автоматизации
![Page 14: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/14.jpg)
02 TIKTOKCOACH.RU
SQL Management Studio
![Page 15: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/15.jpg)
02 TIKTOKCOACH.RU
![Page 16: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/16.jpg)
02 TIKTOKCOACH.RU
![Page 17: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/17.jpg)
02 TIKTOKCOACH.RU
![Page 18: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/18.jpg)
02 TIKTOKCOACH.RU
Запросы в SQL MS
![Page 19: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/19.jpg)
02 TIKTOKCOACH.RU
![Page 20: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/20.jpg)
02 TIKTOKCOACH.RU
![Page 21: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/21.jpg)
02 TIKTOKCOACH.RU
Create databaseCREATE DATABASE database_name [ CONTAINMENT = { NONE | PARTIAL } ][ ON [ PRIMARY ] <filespec> [ ,...n ] [ , <filegroup> [ ,...n ] ] [ LOG ON <filespec> [ ,...n ] ] ] [ COLLATE collation_name ][ WITH <option> [,...n ] ][;]
![Page 22: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/22.jpg)
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 }}
![Page 23: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/23.jpg)
02 TIKTOKCOACH.RU
![Page 24: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/24.jpg)
02 TIKTOKCOACH.RU
Алгоритмическая сложность
![Page 25: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/25.jpg)
10 TIKTOKCOACH.RU
Вычислимость
Вычислимость Машина Тьюринга Машина Поста Λ-исчисление Черча
![Page 26: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/26.jpg)
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) экспоненциальный рост
![Page 27: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/27.jpg)
02 TIKTOKCOACH.RU
График роста O-большое
![Page 28: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/28.jpg)
02 TIKTOKCOACH.RU
Графики y = ln x и y = x
![Page 29: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/29.jpg)
02 TIKTOKCOACH.RU
Линейный поиск в массиве
![Page 30: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/30.jpg)
02 TIKTOKCOACH.RU
Двоичный поиск в массиве
![Page 31: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/31.jpg)
02 TIKTOKCOACH.RU
Структуры данных
![Page 32: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/32.jpg)
02 TIKTOKCOACH.RU
Индекс
Индекс – объект базы данных, создаваемый с целью повышения производительности поиска данных
• Кластерный индекс• Некластерный индекс
![Page 33: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/33.jpg)
02 TIKTOKCOACH.RU
Таблицы - мин. синтаксис
CREATE TABLE table_name(column_name1 data_type(size),column_name2 data_type(size),column_name3 data_type(size),....);
![Page 34: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/34.jpg)
02 TIKTOKCOACH.RU
Таблицы - пример
CREATE TABLE Persons(PersonID int,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255));
![Page 35: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/35.jpg)
02 TIKTOKCOACH.RU
Виды типов данных
• Точные числа• Приблизительные числа• Дата и время• Символьные строки• Символьные строки в юникоде• Двоичные типы данных• Прочие
![Page 36: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/36.jpg)
02 TIKTOKCOACH.RU
Точные числа• bigint• numeric• bit• smallint• decimal• smallmoney• int • tinyint• money
![Page 37: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/37.jpg)
02 TIKTOKCOACH.RU
Приблизительные числа
• float• real
![Page 38: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/38.jpg)
02 TIKTOKCOACH.RU
Приблизительные числа
• float• real
![Page 39: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/39.jpg)
02 TIKTOKCOACH.RU
Дата и время
• Date• datetimeoffset• datetime2• smalldatetime• datetime• time
![Page 40: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/40.jpg)
02 TIKTOKCOACH.RU
Дата и время
• Date• datetimeoffset• datetime2• smalldatetime• datetime• time
![Page 41: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/41.jpg)
02 TIKTOKCOACH.RU
Символьные строки
• char• varchar• text
![Page 42: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/42.jpg)
02 TIKTOKCOACH.RU
Символьные строки в Юникоде
• nchar• nvarchar• ntext
![Page 43: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/43.jpg)
02 TIKTOKCOACH.RU
Символьные строки в Юникоде
• nchar• nvarchar• ntext
![Page 44: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/44.jpg)
02 TIKTOKCOACH.RU
Двоичные данные
• binary• varbinary• image
![Page 45: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/45.jpg)
02 TIKTOKCOACH.RU
Прочие типы данных
• курсор• timestamp• hierarchyid• uniqueidentifier• sql_variant• xml• таблица• Пространственные типы
![Page 46: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/46.jpg)
02 TIKTOKCOACH.RU
Прочие типы данных
• курсор• timestamp• hierarchyid• uniqueidentifier• sql_variant• xml• таблица• Пространственные типы
![Page 47: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/47.jpg)
02 TIKTOKCOACH.RU
Пример: uniqueidentifierCREATE TABLE dbo.Globally_Unique_Data (
guid uniqueidentifier CONSTRAINT Guid_Default DEFAULT NEWSEQUENTIALID() ROWGUIDCOL, Employee_Name varchar(60) CONSTRAINT Guid_PK PRIMARY KEY (guid) );
![Page 48: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/48.jpg)
02 TIKTOKCOACH.RU
Пример: Вычислимое полеCREATE TABLE dbo.mytable (
low int,high int, myavg AS (low + high)/2
) ;
![Page 49: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/49.jpg)
02 TIKTOKCOACH.RU
Пример: Вычислимое полеCREATE TABLE dbo.mytable (
low int,high int, myavg AS (low + high)/2
) ;
![Page 50: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/50.jpg)
02 TIKTOKCOACH.RU
Пример: разряженное полеCREATE TABLE dbo.T1(
c1 int PRIMARY KEY, c2 varchar(50) SPARSE NULL ) ;
![Page 51: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/51.jpg)
02 TIKTOKCOACH.RU
Пример: разряженное полеCREATE TABLE dbo.T1(
c1 int PRIMARY KEY, c2 varchar(50) SPARSE NULL ) ;
![Page 52: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/52.jpg)
02 TIKTOKCOACH.RU
Сложный пример - 1CREATE TABLE dbo.PurchaseOrderDetail( PurchaseOrderID int NOT NULL REFERENCES Purchasing.PurchaseOrderHeader(PurchaseOrderID),
![Page 53: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/53.jpg)
02 TIKTOKCOACH.RU
Сложный пример - 2LineNumber 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,
![Page 54: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/54.jpg)
02 TIKTOKCOACH.RU
Сложный пример - 3rowguid 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)),
![Page 55: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/55.jpg)
02 TIKTOKCOACH.RU
Сложный пример - 4CONSTRAINT PK_PurchaseOrderDetail_PurchaseOrderID_LineNumber PRIMARY KEY CLUSTERED (PurchaseOrderID, LineNumber) WITH (IGNORE_DUP_KEY = OFF)) ON PRIMARY;
![Page 56: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/56.jpg)
02 TIKTOKCOACH.RU
Свойства колонки[ FILESTREAM ][ COLLATE collation_name ] [ SPARSE ][ NULL | NOT NULL ][ [ CONSTRAINT constraint_name ] DEFAULT constant_expression ] | [ IDENTITY [ ( seed ,increment ) ] [ NOT FOR REPLICATION ] ][ ROWGUIDCOL ]
![Page 57: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/57.jpg)
02 TIKTOKCOACH.RU
Ограничения колонки - 1[ CONSTRAINT constraint_name ] ограничения
![Page 58: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/58.jpg)
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"} ]
![Page 59: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/59.jpg)
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 ]
}
![Page 60: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/60.jpg)
02 TIKTOKCOACH.RU
Ограничения колонки - 4CHECK [ NOT FOR REPLICATION ] ( logical_expression )
![Page 61: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/61.jpg)
02 TIKTOKCOACH.RU
Ограничения таблицы - 1[ CONSTRAINT constraint_name ] ограничения
![Page 62: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/62.jpg)
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" } ]
![Page 63: введение в Sql](https://reader035.vdocuments.mx/reader035/viewer/2022062514/55878aadd8b42a47318b46d4/html5/thumbnails/63.jpg)
02 TIKTOKCOACH.RU
Ограничения таблицы - 3FOREIGN 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 )