View
221
Download
0
Category
Preview:
Citation preview
01 TIKTOKCOACH.RU
Введение в MS SQL
ОмГУ
02 TIKTOKCOACH.RU
Преподаватель
Тюменцев Евгений [Александрович]
02 TIKTOKCOACH.RU
Длительность занятия
8:00 – 12:00
Перерывы8:40 – 8:459:25 – 9:3510:15-10:2011:00 – 11:10
02 TIKTOKCOACH.RU
Содержание курса
02 TIKTOKCOACH.RU
Лекции
02 TIKTOKCOACH.RU
Лабораторные
02 TIKTOKCOACH.RU
Самостоятельная работа
02 TIKTOKCOACH.RU
Материалы курса
www.slideshare.net/etyumentcev/presentations
02 TIKTOKCOACH.RU
3 тормоза, которые мешают
08 TIKTOKCOACH.COM
Обвинение
Не виноватая я – он сам пришел
09 TIKTOKCOACH.COM
Оправдание
Не мы - такие! Жизнь у нас -
такая
10 TIKTOKCOACH.COM
Отрицание
02 TIKTOKCOACH.RU
Пирамида автоматизации
02 TIKTOKCOACH.RU
SQL Management Studio
02 TIKTOKCOACH.RU
02 TIKTOKCOACH.RU
02 TIKTOKCOACH.RU
02 TIKTOKCOACH.RU
Запросы в SQL MS
02 TIKTOKCOACH.RU
02 TIKTOKCOACH.RU
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 ] ][;]
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 }}
02 TIKTOKCOACH.RU
02 TIKTOKCOACH.RU
Алгоритмическая сложность
10 TIKTOKCOACH.RU
Вычислимость
Вычислимость Машина Тьюринга Машина Поста Λ-исчисление Черча
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) экспоненциальный рост
02 TIKTOKCOACH.RU
График роста O-большое
02 TIKTOKCOACH.RU
Графики y = ln x и y = x
02 TIKTOKCOACH.RU
Линейный поиск в массиве
02 TIKTOKCOACH.RU
Двоичный поиск в массиве
02 TIKTOKCOACH.RU
Структуры данных
02 TIKTOKCOACH.RU
Индекс
Индекс – объект базы данных, создаваемый с целью повышения производительности поиска данных
• Кластерный индекс• Некластерный индекс
02 TIKTOKCOACH.RU
Таблицы - мин. синтаксис
CREATE TABLE table_name(column_name1 data_type(size),column_name2 data_type(size),column_name3 data_type(size),....);
02 TIKTOKCOACH.RU
Таблицы - пример
CREATE TABLE Persons(PersonID int,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255));
02 TIKTOKCOACH.RU
Виды типов данных
• Точные числа• Приблизительные числа• Дата и время• Символьные строки• Символьные строки в юникоде• Двоичные типы данных• Прочие
02 TIKTOKCOACH.RU
Точные числа• bigint• numeric• bit• smallint• decimal• smallmoney• int • tinyint• money
02 TIKTOKCOACH.RU
Приблизительные числа
• float• real
02 TIKTOKCOACH.RU
Приблизительные числа
• float• real
02 TIKTOKCOACH.RU
Дата и время
• Date• datetimeoffset• datetime2• smalldatetime• datetime• time
02 TIKTOKCOACH.RU
Дата и время
• Date• datetimeoffset• datetime2• smalldatetime• datetime• time
02 TIKTOKCOACH.RU
Символьные строки
• char• varchar• text
02 TIKTOKCOACH.RU
Символьные строки в Юникоде
• nchar• nvarchar• ntext
02 TIKTOKCOACH.RU
Символьные строки в Юникоде
• nchar• nvarchar• ntext
02 TIKTOKCOACH.RU
Двоичные данные
• binary• varbinary• image
02 TIKTOKCOACH.RU
Прочие типы данных
• курсор• timestamp• hierarchyid• uniqueidentifier• sql_variant• xml• таблица• Пространственные типы
02 TIKTOKCOACH.RU
Прочие типы данных
• курсор• timestamp• hierarchyid• uniqueidentifier• sql_variant• xml• таблица• Пространственные типы
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) );
02 TIKTOKCOACH.RU
Пример: Вычислимое полеCREATE TABLE dbo.mytable (
low int,high int, myavg AS (low + high)/2
) ;
02 TIKTOKCOACH.RU
Пример: Вычислимое полеCREATE TABLE dbo.mytable (
low int,high int, myavg AS (low + high)/2
) ;
02 TIKTOKCOACH.RU
Пример: разряженное полеCREATE TABLE dbo.T1(
c1 int PRIMARY KEY, c2 varchar(50) SPARSE NULL ) ;
02 TIKTOKCOACH.RU
Пример: разряженное полеCREATE TABLE dbo.T1(
c1 int PRIMARY KEY, c2 varchar(50) SPARSE NULL ) ;
02 TIKTOKCOACH.RU
Сложный пример - 1CREATE TABLE dbo.PurchaseOrderDetail( PurchaseOrderID int NOT NULL REFERENCES Purchasing.PurchaseOrderHeader(PurchaseOrderID),
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,
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)),
02 TIKTOKCOACH.RU
Сложный пример - 4CONSTRAINT PK_PurchaseOrderDetail_PurchaseOrderID_LineNumber PRIMARY KEY CLUSTERED (PurchaseOrderID, LineNumber) WITH (IGNORE_DUP_KEY = OFF)) ON PRIMARY;
02 TIKTOKCOACH.RU
Свойства колонки[ FILESTREAM ][ COLLATE collation_name ] [ SPARSE ][ NULL | NOT NULL ][ [ CONSTRAINT constraint_name ] DEFAULT constant_expression ] | [ IDENTITY [ ( seed ,increment ) ] [ NOT FOR REPLICATION ] ][ ROWGUIDCOL ]
02 TIKTOKCOACH.RU
Ограничения колонки - 1[ CONSTRAINT constraint_name ] ограничения
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"} ]
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 ]
}
02 TIKTOKCOACH.RU
Ограничения колонки - 4CHECK [ NOT FOR REPLICATION ] ( logical_expression )
02 TIKTOKCOACH.RU
Ограничения таблицы - 1[ CONSTRAINT constraint_name ] ограничения
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" } ]
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 )
Recommended