Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_LAB_6_SQL_Server_Create_Table_Metodichka_L15...doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.04 Mб
Скачать
    1. Виконання завдання в середовище sql Server 2005 і більш пізніші версії.

Запустити утиліту SQL Server Management Studio, перевірити включення сервера.

Для написання програмного коду в SQL Server Management Studio натиснути кнопку "Створити запит" ("New query") на панелі інструментів "Стандартна" ("Standart").

Створити нову базу даних з назвою Computer_firma. Виконаєте команду. Перевірити наявність БД Computer_firma, якщо її не видно в розділі DataBases, то натисніть F5 для оновлення.

  1. Створення таблиць баз даних за допомогою мови sql.

Спрощений синтаксис команди створення таблиці бази даних:

CREATE TABLE ім'я_таблиці

(

ім'я стовпця тип даних [NULL | NOT NULL]

[,ім'я_стовпця тип_даних [NULL | NOT NULL]]

)

Синтаксис включає:

  1. CREATE TABLE - створення таблиці з ім'ям ім'я_таблиці .

  2. Опис стовпців таблиці, поміщений в круглі дужки.

Квадратні дужки вказують на те, що параметр, який знаходиться в них – необов'язковий, тому, ключові слова NULL і NOT NULL можуть бути присутні або відсутні. Вертикальна риска між ними означає, що можна використовувати тільки одну з цих опцій, а не дві відразу.

За умовчанням дозволяється наявність пустих значень (NULL ), але по цьому шляху слідують не усі комерційні версії. Візьміть за звичку завжди явно вказувати одну з цих опцій, навіть якщо вас влаштовують значення, вибирані за умовчанням. В майбутньому це може істотно спростити вашу роботу.

Кожне визначення стовпця відділяється від попереднього визначення комою. Після опису останнього рядка кома не ставиться.

Як приклад розглянемо оператора CREATE TABLE, за допомогою якого створиться таблиця PC, :

Приклад. Створити таблицю PC

USE Computer -- определяет БД для выполнения сценари

CREATE TABLE PC

(

ID_PC int NOT NULL identity(1,1),

Model_id int NOT NULL,

speed smallint NOT NULL,

ram smallint NOT NULL,

hd real NOT NULL,

dvd varchar(10) NOT NULL,

price money NULL

)

Конструкція identity(1,1) забезпечує автоматичне формування значень стовпця при введенні даних. Перший параметр - початкова точка відліку. Другий - крок приросту значення.

Перегляд властивостей таблиці :

exec sp_help PC

Практичне завдання.

Інші таблиці створіть самостійно.

Створення таблиць за допомогою обмежень

Обмеження - це формулювання вимог до даних. Обмеження встановлюються на рівні стовпця або таблиці і гарантують відповідність даних певним правилам забезпечення цілісності даних.

Більшість комерційних систем підтримують наступні обмеження:

Обмеження PRIMARY KEY

Позначає стовпець як первинний ключ таблиці.

Кожне значення, що вводиться в цей стовпець, має бути унікальним, введення однакових значень не допускається. Якщо первинний ключ включає декілька стовпців, PRIMARY KEY визначається на рівні таблиці.

Таблиця може мати тільки один первинний ключ, який може бути або простим, або складеним.

Таблиці без первинного ключа зустрічаються не просто рідко; а дуже рідко. Наявність в базі даних таблиці що не має первинного ключа, повністю суперечить уявленням про реляційний характер даних, таких, що зберігаються в базі даних, оскільки з цього виходить, що можливість встановити зв'язок з яким-небудь конкретним рядком цієї таблиці відсутня.

Первинний ключ може бути створений за допомогою команди CREATE TABLE під час створення таблиці, або введений в дію згодом за допомогою команди ALTER TABLE.

Способи створення обмежень.

Приклад. Створити обмеження первинний ключ при створенні таблиці на рівні стовпця

CREATE TABLE L

(

ID_Laptop int NOT NULL Primary key identity(1,1),

model int NOT NULL

)

Приклад. Створити обмеження первинний ключ на рівні таблиці

CREATE TABLE L

(

ID_Laptop int NOT NULL,

model int NOT NULL,

Primary key (ID_Laptop)

)

Приклад. Створити іменоване обмеження первинний ключ на рівні таблиці

CREATE TABLE L

(

ID_Laptop int NOT NULL,

model int NOT NULL,

CONSTRAINT PK_L Primary key (ID_Laptop)

)

Приклад.Створити іменоване складене обмеження первинний ключ на рівні таблиці

CREATE TABLE L

(

ID_Laptop int NOT NULL,

model int NOT NULL,

CONSTRAINT PK_L Primary key (ID_Laptop, model)

)

Приклад. Створення іменованого обмеження первинний ключ після створення таблиці

CREATE TABLE L

(

ID_Laptop int NOT NULL,

model int NOT NULL,

)

ALTER TABLE L

ADD

CONSTRAINT PK_L PRIMARY KEY (ID_Laptop)

Способи іменування обмежень

Розробник не зобов'язаний сам задавати ім'я обмеженню. СУБД за умовчанням сама створює їх.

Проте слід уникати спокуси скористатися такою можливістю, оскільки незабаром виявляється, що імена, створювані СУБД SQL Server, не цілком сприйнятні.

Наприклад,

CREATE TABLE L

(

ID_Laptop int NOT NULL Primary key identity(1,1),

model int NOT NULL,

)

Система для обмеження Primary key дасть своє ім'я:

PK_L_44ff…

А якщо створимо декілька обмежень і може виникнути необхідність відредагувати одне з них. В даному випадку буде дуже складно з'ясувати, до чого відноситься кожне з них.

Тому потрібно прагнути явно задавати ім'я для кожного обмеження і дуже ретельно підходити до його формування - короткої форми обмеження.

Наприклад, в ім'я обмеження може входити:

  1. коротка формулювання призначення обмеження, наприклад PK (Primary key );

  2. Ім'я (імена) стовпця (стовпців), на який поширюється це обмеження. Якщо обмеження торкається усієї таблиці - те ім'я таблиці.

Насправді не так важливий вибір самих імен, як дотримання наступних вимог :

  1. Забезпечення одноманітності.

  2. Застосування імен, зрозумілих для усіх.

  3. Застосування найбільш короткого формулювання для імен і в той же час дотримання двох вказаних правил.

Обмеження FOREIGN KEY

Зовнішні ключі створюють зв'язки між таблицями.

При вставці даних в поле, що являється зовнішнім ключем, необхідно враховувати той факт, що діапазон зміни значень зовнішнього ключа визначається значеннями первинного ключа пов'язаної таблиці.

Приклад. Створити обмеження зовнішній ключ для таблиці поля model таблиці L на рівні стовпця.

Нехай в таблиці Product поле ID_model (головний ключ) пов'язане з полем таблиці L model (зовнішній ключ).

CREATE TABLE Product

(

ID_model int NOT NULL Primary key,

maker varchar(50) NOT NULL

)

Створимо таблицю L з обмеженням зовнішній ключ:

CREATE TABLE L

(

ID_Laptop int NOT NULL Primary key identity(1,1),

model int NOT NULL FOREIGN KEY (model)

REFERENCES Product (ID_model )

)

Приклад. Додати обмеження зовнішній ключ до існуючої таблиці.

ALTER TABLE L

ADD

CONSTRAINT FK_L_model FOREIGN KEY (model)

REFERENCES Product (ID_model )

Перевірочне обмеження CHECK

Ці обмеження створюються для первірки відповідності деякого значення заданому критерію.

Приклад. Створити перевірочне обмеження на полі ID_model таблиці Product на рівні стовпця

USE Computer

CREATE TABLE Product

(

ID_model int NOT NULL Primary key, CHECK (ID_model>0),

maker varchar(50) NOT NULL

type int

)

Приклад. Створити іменоване перевірочне обмеження на полі ID_model таблиці Product на рівні таблиці

CREATE TABLE Product33

(

ID_model int NOT NULL Primary key,

maker varchar(50) NOT NULL ,

type int,

CONSTRAINT CH_Product_ID_model CHECK (ID_model>0)

)

Приклад. Додати іменоване перевірочне обмеження на поле ID_model таблиці Product.

ALTER TABLE Product33

ADD

CONSTRAINT CH_Product_ID_model CHECK (ID_model>0)

Обмеження DEFAULT

Значення задане за умовчанням.

Приклад. Створити обмеження DEFAULT на поле type таблиці Product на рівні стовпця

use Computer

CREATE TABLE Product

(

ID_model int NOT NULL Primary key,

maker varchar(50) NOT NULL ,

type varchar(10) DEFAULT 'PC'

)

Приклад. Створити іменоване обмеження DEFAULT на поле type таблиці Product на рівні таблиці

use Computer

CREATE TABLE Product

(

ID_model int NOT NULL Primary key,

maker varchar(50) NOT NULL ,

type varchar(10),

CONSTRAINT DF_Product_type 'PC' FOR type

)

Приклад. Додати іменоване обмеження DEFAULT на поле type до існуючої таблиці Product .

ALTER TABLE Product

ADD

CONSTRAINT DF_Product_type 'PC' FOR type

Видалення обмежень.

ALTER TABLE L

DROP CONSTRAINT DF_Product_type

Додаток 1. Варіанти індивідуальних завдань.

1

.

2

3

4

.

5

6

7

.

8

9

10

.

11

12

13

.

14

15

16

.

17

18

19

.

20

21

.

22

23

24

.

25

26

27

.

28

29

30

.

31

32

4/15/2025 19

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]