Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
eleks.comeleks.com
Введення в SQL
• Основи
• Концептуальна модель
• Нормалізація БД
• Типи даних СКБД
• Об'єкти баз даних
Що таке SQL?
• Структурована мова запитів (structured query language)
• Декларативна мова програмування
• Мова, призначена для керування реляційними базами даних
• Включає в себе data definition і data manipulation синтаксис
• Стандарт ANSI
• Стандарт ISO
Про СКБД
Cистема керування базами даних, англ. «DBMS» – сукупність
програмних продуктів, що забезпечують можливості для
створення, оновлення та керування базами даних.
Слід розрізняти базу даних — сховище даних, та СКДБ — засоби
для роботи з базою даних. СКДБ з інформаційної системи
може бути видалена, але база даних продовжить
існувати. І навпаки: СКДБ може функціонувати
без жодної бази даних.
Поширені СКБД
Для чого потрібні Бази Даних?
• Організоване та конструктивне зберігання даних.
• Керування даними та доступом до них
• Розділення навантаження
• Одне джерело правди краще, ніж багато джерел
Типи баз даних:
- Реляційні
- Об’єктно-орієнтовані
- Ієрархічні
Концептуальна модель
Концептуальна модель найповніше відповідає потребам
проектування бази знань та побудована на певних принципах,
спирається на дві області понять – дерево типів даних та дерево
даних.
Об’єкт – сукупність типів та властивостей, об’єднаних в один тип
який може описати реальний об’єкт
Рівень спрощеності/деталізації – рівень представлення реального
об’єкту, який достатній при його описі в системі та подальшому
використанні.
Властивість об’єкту – це одна із характеристик об’єкту, інформацію
про який зберігають в базі даних (БД)
Події – набір реакцій реального об’єкту описаних в БД.
Тип – набір властивостей та подій об’єкту, описаних в єдиний
комплекс. При цьому, в залежності від рівня спрощеності,
властивістю типу може бути інший тип.
Зв’язок – це властивість типу або тип властивості, яка характеризує
взаємозв’язок типів у дереві даних або спосіб зміни значення
властивості об’єктного типу відповідно. Бувають три типи таких
зв’язків:
 Включення в дерево даних;
 Вставка з одного типу значення властивостей типу;
 Посилання на екземпляр типу в дереві даних.
Концептуальна модель
Концептуальна модель
Найменша одиниця даних реляційної моделі – це окреме атомарне
(нерозкладне) для даної моделі значення даних.
Доменом називається множина атомарних значений одного і того же
типу. Заголовок домену – це набір атрибутів, що входять в домен, а
тіло домену складається із множини значень, що відповідають цим
атрибутам. Кожен такий набір значень називають кортежем.
Степінь відношення – це число атрибутів домену. Відношення
степені один називають унарним, степені два – бінарним, степені три
– тернарним, ..., а степені n – n-арним.
Кардинальне число або потужність відношення – це число його
кортежів. Кардинальне число відношення змінюється в часі, на
відміну від його степені.
• Логічна модель даних, запропонована співробітником IBM
Е.Ф.Кодом в 1970 році
• Більш високий рівень абстракції, ніж в мережевій чи ієрархічній
моделях
• Спосіб опису даних та зв’язків між ними
• Звичайна “реляційна модель” – це чиста математика, що
базується на реляційній алгебрі
• SQL використовує «покращену», «розширену» реляційну модель,
але ми все ще використовуєм цей термін для опису роботи системи
Реляційна модель
Реляційна модель в БД
Модель даних „сутність-зв’язок” (entity - relationship model, ER -
model) найбільш близька до концептуальної моделі, хоча й більш
обмежена з точки зору користувача.
Розглянемо основні конструктивні елементи такої моделі даних:
 Сутність – будь-який об’єкт, який можна відрізнити від іншого. Як
і в концептуальній моделі, сутність має тип та його екземпляр.
 Атрибут – поіменована характеристика сутності. Атрибути
використовуються для визначення інформації, яку необхідно
зібрати про сутність. Будь-який атрибут може бути сутністю, в
залежності від точки зору на нього.
Модель «сутність-зв’язок»
Зв’язок – асоціація двох або більше сутностей.
Зв’язок „ОДИН ДО ОДНОГО”:
в кожен момент представнику сутності А відповідає один або жоден
представник сутності В. Це можна описати як наслідування одної сутності
від іншої.
Зв’язок „ОДИН ДО БАГАТЬОХ”:
в будь-який час одному екземпляру сутності А відповідає
один, два та більше представників сутності В або не
відповідає жодного з них.
В концептуальній моделі такому варіанту відповідає включення.
Зв’язки
A AB B
1 1
A AB B
1 1
B
1
B
1
Ключі
Ключ – мінімальний набір атрибутів, по значенням яких можна
однозначно знайти потрібний екземпляр сутності. Як правило – це
первинний ключ в таблиці БД, проте більш цікавими на даному етапі є
зовнішні ключі:
 Якщо сутність С зв’язує сутності А та В, то вона повинна включати
зовнішні ключі, які відповідають первинним ключам сутностей А та В.
 Якщо сутність В визначає сутність А, то вона повинна включати
зовнішній ключ, який відповідає первинному ключу сутності А.
Якщо кортежі ідентифікуються тільки зчепленням значень декількох
атрибутів, то говорять, що відношення має складений ключ.
Представлення може містити кілька ключів.
Нормалізація БД
Нормальна форма - це така форма чого-небудь, що не допускає
подальших спрощень. Для БД нормальна форма — властивість
відношення в реляційної моделі даних, що характеризує його з точки
зору надмірності, яка потенційно може призвести до логічно
помилкових результатів вибірки або зміни даних.
Нормалізація схеми бази даних — це покроковий процес розбиття
таблиці на дві або більше таблиць, які мають кращі властивості при
включенні, зміні та видалені даних. Кінцева ціль нормалізації –
отримання такого проекту БД, в якому кожний факт появляється
лише в одному місці, тобто виключений надлишок інформації.
Нормалізація БД
Функціональна залежність: Поле В таблиці функціонально залежить
від поля А цієї ж таблиці тоді і тільки тоді, якщо в будь-який заданий
момент часу для кожного з різних значень поля А обов’язково існує
тільки одно із різних значень поля В. Зазначимо, що допускаються
складенні поля А и В.
Повна функціональна залежність: Поле В знаходиться в повній
функціональній залежності від складеного поля А, якщо воно
функціонально залежить від А і не залежить функціонально від будь-
якої підмножини поля А.
Многозначна залежність: Поле А багатозначно визначає поле В цієї
ж таблиці, якщо для кожного значення поля А існує визначена
множина відповідних значень В.
Нормальні форми
1НФ 2НФ 3НФ НФБК 4НФ 5НФ
Ненормалізовані
форми
Процес нормалізації
Назва Призначення атрибуту Тип
DocumentNumber Номер документу varchar
DocumentDate Дата документу date
ClientName Назва підприємства-партнера varchar
ClientAddress Адреса підприємства-партнера varchar
ProductName Назва продукції/товару varchar
BarCode Артикул продукції/товару varchar
ProductPrice Ціна за одиницю продукції/товару money
ProductAmount Кількість продукції/товару int
ProductSum Сума продукції/товару money
Comment Коментарі до документу varchar
Потрібно представити в БД такий набір властивостей документу:
Нормалізоване представлення даних розкидане по кількох
таблицях:
Назва Призначення атрибуту Тип
DocumentID Код документу int
DocumentNumber Номер документу varchar
DocumentDate Дата документу date
TypeID Код типу документу int
ClientID Код підприємства-партнера int
ProductSum Сума продукції/товару money
Comment Коментарі до документу varchar
Назва Призначення атрибуту Тип
DocumentID Код документу int
ProductID Код продукції/товару int
ProductAmount Кількість продукції/товару int
Назва Призначення атрибуту Тип
TypeID Код типу документу int
TypeName Назва типу документу varchar
TypeComment Коментарі до типу документу varchar
Назва Призначення атрибуту Тип
ClientID Код підприємства-партнера int
ClientName Назва підприємства-партнера varchar
ClientAddress Адреса підприємства-партнера varchar
ClientComment Коментарі до документу varchar
Назва Призначення атрибуту Тип
ProductID Код продукції/товару int
ProductName Назва продукції/товару varchar
ProductBarCode Артикул продукції/товару varchar
ProductPrice Ціна за одиницю продукції/товару money
ProductComment Коментарі до документу varchar
Діаграма бази даних
Типи даних. Числові
Тип Діапазон значень Розмір
Цілочисельні
bigint від -263 до 263 - 1 8
int від -231 до 231 - 1 4
smallint від -215 до 215 - 1 2
tinyint від 0 до 255 1
bit 0 або 1 1
З дробовою
частиною
decimal (p,s) / numeric 1038 + 1 до 1038 - 1 5-17
money -922,337,203,685,477.5808 to 922,337,203,685,477.5807 8
smallmoney - 214,748.3648 to 214,748.3647 4
float (n) -1.79E + 308 до 1.79E + 308 4-8
real (float(24)) -3.40E + 38 до -3.40E + 38 4
Типи даних. Дати та часу
Тип Формат Значення Розмір
datetime YYYY-MM-DD hh:mm:ss[. nnn] від -263 до 263 - 1 8
smalldatetime YYYY-MM-DD hh:mm:ss від -231 до 231 - 1 4
date YYYY-MM-DD від -215 до 215 - 1 3
time hh:mm:ss[. nnnnnnn] від 0 до 255 3-5
datetime2 YYYY-MM-DD hh:mm:ss[. nnnnnnn] 0 або 1 6-8
datetimeoffset
YYYY-MM-DD hh:mm:ss[. nnnnnnn]
[+|-]hh:mm
1038 + 1 до 1038 - 1 8-10
Типи даних. Символьні та бінарні
Тип Діапазон Розмір
char(n) / nchar(n) 1 ≤ n ≤ 4,000 n
varchar(n) / nvarchar(n) 1 ≤ n ≤ 4,000 <n
varchar(max) / nvarchar(max) 1 ≤ n ≤ 231-1 <n
text / ntext * 231-1 <2n
binary(n) 1 ≤ n ≤ 8,000 n + 2
varbinary(n) 1 ≤ n ≤ 8,000 <n + 2
varbinary(max) 1 ≤ n ≤ 231-1 <n
image 231-1 <n
Типи даних. Інші
Тип Опис
cursor, table Спеціальні типи T-SQL
timestamp ~ varbinary(8)/ rowversion
uniqueidentifier GUID
xml ~ nvarchar(max)
hierarchyid ~ nvarchar(4000)
sql_variant зберігає значення різних типів даних, підтримуваних SQL сервером
geometry представляє дані в евклідовому просторі
geography представляє дані в системі координат Землі
Основні частини SQL
 Data Definition Language (DDL)
 CREATE
 DROP
 ALTER
 TRUNCATE
 Data Manipulation Language (DML)
 SELECT
 INSERT
 UPDATE
 DELETE
 Data Control Language (DCL)
 GRANT
 REVOKE
 Transaction controls
 BEGIN TRANSACTION
 COMMIT
 ROLLBACK
Об’єкт «База даних»
Типи : Online transaction processing (OLTP) та
Online Analytical Processing (OLAP)
Створення БД – використання model database, особливості collate
Скріпти та інші варіанти перенесення БД:
CREATE DATABASE [TEST] ON PRIMARY
(NAME = N'TEST',
FILENAME = N'D:MSSQLTestTEST.mdf', SIZE = 4096, MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB)
LOG ON (NAME = N'TEST_log',
FILENAME = N'D:MSSQLTestTEST_log.ldf', SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
COLLATE Latin1_General_CI_AS
Зміна параметрів БД:
ALTER DATABASE [TEST] SET ANSI_NULLS OFF
Об’єкт «Таблиця»
Створення таблиці:
CREATE TABLE [dbo].[tProducts](
[pInstance] [int] IDENTITY(1,1) NOT NULL,
[pName] [varchar](50) NOT NULL,
[pBarCode] [nchar](10) NULL,
[pPrice] [money] NOT NULL DEFAULT 0,
[pNumber] [int] NOT NULL DEFAULT 0,
[pComment] [varchar](250) NULL,
CONSTRAINT [PK_tProducts] PRIMARY KEY ([pInstance]),
CONSTRAINT [UK_tProducts] UNIQUE ([pName])) ON [PRIMARY]
Значення за означенням (DEFAULT)
Інші властивості таблиць та колонок
Обмеження (CONSRAINT)
• NOT NULL
• CHECK
• UNIQUE / PRIMARY KEY
• FOREIGN KEY (NO ACTION, CASCADE, SET NULL, SET DEFAULT)
Авто генерація значення (IDENTITY)
Правила (CHECK)
Інші властивості (FILESTREAM, ROWGUIDCOL, COLLATE, SPARSE,…)
ALTER TABLE [dbo].[tDocDetails] WITH CHECK
ADD CONSTRAINT [FK_tDocDetails_tProducts] FOREIGN KEY([sProduct])
REFERENCES [dbo].[tProducts] ([pInstance])
Рекомендована література
1. C.J.Date “An introduction to database systems”
2. A.Beaulieu “Learning SQL”
3. MSDN
Питання та відповіді
Трущак Ігор
(TrIgeR@Eleks.com)

More Related Content

sql introduction

  • 1. eleks.comeleks.com Введення в SQL • Основи • Концептуальна модель • Нормалізація БД • Типи даних СКБД • Об'єкти баз даних
  • 2. Що таке SQL? • Структурована мова запитів (structured query language) • Декларативна мова програмування • Мова, призначена для керування реляційними базами даних • Включає в себе data definition і data manipulation синтаксис • Стандарт ANSI • Стандарт ISO
  • 3. Про СКБД Cистема керування базами даних, англ. «DBMS» – сукупність програмних продуктів, що забезпечують можливості для створення, оновлення та керування базами даних. Слід розрізняти базу даних — сховище даних, та СКДБ — засоби для роботи з базою даних. СКДБ з інформаційної системи може бути видалена, але база даних продовжить існувати. І навпаки: СКДБ може функціонувати без жодної бази даних.
  • 5. Для чого потрібні Бази Даних? • Організоване та конструктивне зберігання даних. • Керування даними та доступом до них • Розділення навантаження • Одне джерело правди краще, ніж багато джерел Типи баз даних: - Реляційні - Об’єктно-орієнтовані - Ієрархічні
  • 6. Концептуальна модель Концептуальна модель найповніше відповідає потребам проектування бази знань та побудована на певних принципах, спирається на дві області понять – дерево типів даних та дерево даних. Об’єкт – сукупність типів та властивостей, об’єднаних в один тип який може описати реальний об’єкт Рівень спрощеності/деталізації – рівень представлення реального об’єкту, який достатній при його описі в системі та подальшому використанні. Властивість об’єкту – це одна із характеристик об’єкту, інформацію про який зберігають в базі даних (БД)
  • 7. Події – набір реакцій реального об’єкту описаних в БД. Тип – набір властивостей та подій об’єкту, описаних в єдиний комплекс. При цьому, в залежності від рівня спрощеності, властивістю типу може бути інший тип. Зв’язок – це властивість типу або тип властивості, яка характеризує взаємозв’язок типів у дереві даних або спосіб зміни значення властивості об’єктного типу відповідно. Бувають три типи таких зв’язків:  Включення в дерево даних;  Вставка з одного типу значення властивостей типу;  Посилання на екземпляр типу в дереві даних. Концептуальна модель
  • 8. Концептуальна модель Найменша одиниця даних реляційної моделі – це окреме атомарне (нерозкладне) для даної моделі значення даних. Доменом називається множина атомарних значений одного і того же типу. Заголовок домену – це набір атрибутів, що входять в домен, а тіло домену складається із множини значень, що відповідають цим атрибутам. Кожен такий набір значень називають кортежем. Степінь відношення – це число атрибутів домену. Відношення степені один називають унарним, степені два – бінарним, степені три – тернарним, ..., а степені n – n-арним. Кардинальне число або потужність відношення – це число його кортежів. Кардинальне число відношення змінюється в часі, на відміну від його степені.
  • 9. • Логічна модель даних, запропонована співробітником IBM Е.Ф.Кодом в 1970 році • Більш високий рівень абстракції, ніж в мережевій чи ієрархічній моделях • Спосіб опису даних та зв’язків між ними • Звичайна “реляційна модель” – це чиста математика, що базується на реляційній алгебрі • SQL використовує «покращену», «розширену» реляційну модель, але ми все ще використовуєм цей термін для опису роботи системи Реляційна модель
  • 11. Модель даних „сутність-зв’язок” (entity - relationship model, ER - model) найбільш близька до концептуальної моделі, хоча й більш обмежена з точки зору користувача. Розглянемо основні конструктивні елементи такої моделі даних:  Сутність – будь-який об’єкт, який можна відрізнити від іншого. Як і в концептуальній моделі, сутність має тип та його екземпляр.  Атрибут – поіменована характеристика сутності. Атрибути використовуються для визначення інформації, яку необхідно зібрати про сутність. Будь-який атрибут може бути сутністю, в залежності від точки зору на нього. Модель «сутність-зв’язок»
  • 12. Зв’язок – асоціація двох або більше сутностей. Зв’язок „ОДИН ДО ОДНОГО”: в кожен момент представнику сутності А відповідає один або жоден представник сутності В. Це можна описати як наслідування одної сутності від іншої. Зв’язок „ОДИН ДО БАГАТЬОХ”: в будь-який час одному екземпляру сутності А відповідає один, два та більше представників сутності В або не відповідає жодного з них. В концептуальній моделі такому варіанту відповідає включення. Зв’язки A AB B 1 1 A AB B 1 1 B 1 B 1
  • 13. Ключі Ключ – мінімальний набір атрибутів, по значенням яких можна однозначно знайти потрібний екземпляр сутності. Як правило – це первинний ключ в таблиці БД, проте більш цікавими на даному етапі є зовнішні ключі:  Якщо сутність С зв’язує сутності А та В, то вона повинна включати зовнішні ключі, які відповідають первинним ключам сутностей А та В.  Якщо сутність В визначає сутність А, то вона повинна включати зовнішній ключ, який відповідає первинному ключу сутності А. Якщо кортежі ідентифікуються тільки зчепленням значень декількох атрибутів, то говорять, що відношення має складений ключ. Представлення може містити кілька ключів.
  • 14. Нормалізація БД Нормальна форма - це така форма чого-небудь, що не допускає подальших спрощень. Для БД нормальна форма — властивість відношення в реляційної моделі даних, що характеризує його з точки зору надмірності, яка потенційно може призвести до логічно помилкових результатів вибірки або зміни даних. Нормалізація схеми бази даних — це покроковий процес розбиття таблиці на дві або більше таблиць, які мають кращі властивості при включенні, зміні та видалені даних. Кінцева ціль нормалізації – отримання такого проекту БД, в якому кожний факт появляється лише в одному місці, тобто виключений надлишок інформації.
  • 15. Нормалізація БД Функціональна залежність: Поле В таблиці функціонально залежить від поля А цієї ж таблиці тоді і тільки тоді, якщо в будь-який заданий момент часу для кожного з різних значень поля А обов’язково існує тільки одно із різних значень поля В. Зазначимо, що допускаються складенні поля А и В. Повна функціональна залежність: Поле В знаходиться в повній функціональній залежності від складеного поля А, якщо воно функціонально залежить від А і не залежить функціонально від будь- якої підмножини поля А. Многозначна залежність: Поле А багатозначно визначає поле В цієї ж таблиці, якщо для кожного значення поля А існує визначена множина відповідних значень В.
  • 16. Нормальні форми 1НФ 2НФ 3НФ НФБК 4НФ 5НФ Ненормалізовані форми
  • 18. Назва Призначення атрибуту Тип DocumentNumber Номер документу varchar DocumentDate Дата документу date ClientName Назва підприємства-партнера varchar ClientAddress Адреса підприємства-партнера varchar ProductName Назва продукції/товару varchar BarCode Артикул продукції/товару varchar ProductPrice Ціна за одиницю продукції/товару money ProductAmount Кількість продукції/товару int ProductSum Сума продукції/товару money Comment Коментарі до документу varchar Потрібно представити в БД такий набір властивостей документу:
  • 19. Нормалізоване представлення даних розкидане по кількох таблицях: Назва Призначення атрибуту Тип DocumentID Код документу int DocumentNumber Номер документу varchar DocumentDate Дата документу date TypeID Код типу документу int ClientID Код підприємства-партнера int ProductSum Сума продукції/товару money Comment Коментарі до документу varchar Назва Призначення атрибуту Тип DocumentID Код документу int ProductID Код продукції/товару int ProductAmount Кількість продукції/товару int Назва Призначення атрибуту Тип TypeID Код типу документу int TypeName Назва типу документу varchar TypeComment Коментарі до типу документу varchar Назва Призначення атрибуту Тип ClientID Код підприємства-партнера int ClientName Назва підприємства-партнера varchar ClientAddress Адреса підприємства-партнера varchar ClientComment Коментарі до документу varchar Назва Призначення атрибуту Тип ProductID Код продукції/товару int ProductName Назва продукції/товару varchar ProductBarCode Артикул продукції/товару varchar ProductPrice Ціна за одиницю продукції/товару money ProductComment Коментарі до документу varchar
  • 21. Типи даних. Числові Тип Діапазон значень Розмір Цілочисельні bigint від -263 до 263 - 1 8 int від -231 до 231 - 1 4 smallint від -215 до 215 - 1 2 tinyint від 0 до 255 1 bit 0 або 1 1 З дробовою частиною decimal (p,s) / numeric 1038 + 1 до 1038 - 1 5-17 money -922,337,203,685,477.5808 to 922,337,203,685,477.5807 8 smallmoney - 214,748.3648 to 214,748.3647 4 float (n) -1.79E + 308 до 1.79E + 308 4-8 real (float(24)) -3.40E + 38 до -3.40E + 38 4
  • 22. Типи даних. Дати та часу Тип Формат Значення Розмір datetime YYYY-MM-DD hh:mm:ss[. nnn] від -263 до 263 - 1 8 smalldatetime YYYY-MM-DD hh:mm:ss від -231 до 231 - 1 4 date YYYY-MM-DD від -215 до 215 - 1 3 time hh:mm:ss[. nnnnnnn] від 0 до 255 3-5 datetime2 YYYY-MM-DD hh:mm:ss[. nnnnnnn] 0 або 1 6-8 datetimeoffset YYYY-MM-DD hh:mm:ss[. nnnnnnn] [+|-]hh:mm 1038 + 1 до 1038 - 1 8-10
  • 23. Типи даних. Символьні та бінарні Тип Діапазон Розмір char(n) / nchar(n) 1 ≤ n ≤ 4,000 n varchar(n) / nvarchar(n) 1 ≤ n ≤ 4,000 <n varchar(max) / nvarchar(max) 1 ≤ n ≤ 231-1 <n text / ntext * 231-1 <2n binary(n) 1 ≤ n ≤ 8,000 n + 2 varbinary(n) 1 ≤ n ≤ 8,000 <n + 2 varbinary(max) 1 ≤ n ≤ 231-1 <n image 231-1 <n
  • 24. Типи даних. Інші Тип Опис cursor, table Спеціальні типи T-SQL timestamp ~ varbinary(8)/ rowversion uniqueidentifier GUID xml ~ nvarchar(max) hierarchyid ~ nvarchar(4000) sql_variant зберігає значення різних типів даних, підтримуваних SQL сервером geometry представляє дані в евклідовому просторі geography представляє дані в системі координат Землі
  • 25. Основні частини SQL  Data Definition Language (DDL)  CREATE  DROP  ALTER  TRUNCATE  Data Manipulation Language (DML)  SELECT  INSERT  UPDATE  DELETE  Data Control Language (DCL)  GRANT  REVOKE  Transaction controls  BEGIN TRANSACTION  COMMIT  ROLLBACK
  • 26. Об’єкт «База даних» Типи : Online transaction processing (OLTP) та Online Analytical Processing (OLAP) Створення БД – використання model database, особливості collate Скріпти та інші варіанти перенесення БД: CREATE DATABASE [TEST] ON PRIMARY (NAME = N'TEST', FILENAME = N'D:MSSQLTestTEST.mdf', SIZE = 4096, MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB) LOG ON (NAME = N'TEST_log', FILENAME = N'D:MSSQLTestTEST_log.ldf', SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) COLLATE Latin1_General_CI_AS Зміна параметрів БД: ALTER DATABASE [TEST] SET ANSI_NULLS OFF
  • 27. Об’єкт «Таблиця» Створення таблиці: CREATE TABLE [dbo].[tProducts]( [pInstance] [int] IDENTITY(1,1) NOT NULL, [pName] [varchar](50) NOT NULL, [pBarCode] [nchar](10) NULL, [pPrice] [money] NOT NULL DEFAULT 0, [pNumber] [int] NOT NULL DEFAULT 0, [pComment] [varchar](250) NULL, CONSTRAINT [PK_tProducts] PRIMARY KEY ([pInstance]), CONSTRAINT [UK_tProducts] UNIQUE ([pName])) ON [PRIMARY] Значення за означенням (DEFAULT)
  • 28. Інші властивості таблиць та колонок Обмеження (CONSRAINT) • NOT NULL • CHECK • UNIQUE / PRIMARY KEY • FOREIGN KEY (NO ACTION, CASCADE, SET NULL, SET DEFAULT) Авто генерація значення (IDENTITY) Правила (CHECK) Інші властивості (FILESTREAM, ROWGUIDCOL, COLLATE, SPARSE,…) ALTER TABLE [dbo].[tDocDetails] WITH CHECK ADD CONSTRAINT [FK_tDocDetails_tProducts] FOREIGN KEY([sProduct]) REFERENCES [dbo].[tProducts] ([pInstance])
  • 29. Рекомендована література 1. C.J.Date “An introduction to database systems” 2. A.Beaulieu “Learning SQL” 3. MSDN