92 lines
3.4 KiB
SQL
Executable File
92 lines
3.4 KiB
SQL
Executable File
use Mangata_Gallo;
|
|
|
|
-- 2.1
|
|
-- Створіть таблицю "Staff" з такими атрибутами та обмеженнями "не порожнє":
|
|
-- StaffID: первинний ключ, тип - цілі, не порожнє
|
|
-- PhoneNumber: тип - цілі, не порожнє, унікальні
|
|
-- FullName: тип - змінний символьний довжиною 100, не порожнє
|
|
-- email: тип - змінний символьний довжиною 100, не порожнє, знаходиться у домені "mangata-gallo.com"
|
|
-- Відобразіть схему таблиці
|
|
-- Додайте два записи у таблицю, які задовольняють обмеженням, спробуйте ввести один запис для якого значення домену не відповідає обмеженню
|
|
|
|
create table Staff (
|
|
staff_id int primary key auto_increment,
|
|
phone_number int not null unique,
|
|
full_name nvarchar (100) not null,
|
|
email nvarchar (100) not null check (
|
|
email like '%@mangata-gallo.com'
|
|
)
|
|
);
|
|
|
|
insert into
|
|
Staff (
|
|
phone_number,
|
|
full_name,
|
|
email
|
|
)
|
|
values (
|
|
123456789,
|
|
'John Doe 1',
|
|
'random1@mangata-gallo.com'
|
|
),
|
|
(
|
|
123456788,
|
|
'John Doe 2',
|
|
'random2@mangata-gallo.com'
|
|
);
|
|
|
|
insert into
|
|
Staff (
|
|
phone_number,
|
|
full_name,
|
|
email
|
|
)
|
|
values (
|
|
123456787,
|
|
'John Doe 3',
|
|
'random3@gallo.com'
|
|
);
|
|
|
|
-- 2.2
|
|
-- Створіть таблицю "ContractInfo" з такими атрибутами та обмеженнями "не порожнє":
|
|
-- ContractID: первинний ключ, тип - цілі, не порожнє
|
|
-- StaffID: тип - цілі, не порожнє
|
|
-- Location: тип - змінний символьний довжиною 50, не порожнє, значення за замовчуванням - "Texas"
|
|
-- StaffType: тип - змінний символьний довжиною 20, не порожнє, може набувати значень - "Junior" or a "Senior"
|
|
-- Salary: тип – десяткові (9 розрядів, 2 знаки після коми), не порожнє
|
|
-- Відобразіть схему таблиці
|
|
-- Додайте два записи у таблицю з довільними даними, які задовольняють обмеженням, для другого запису не додавайте значення поля Location
|
|
-- Спробуйте додати ще один запис, в якості StaffType використавши значення "Midle"
|
|
|
|
create table ContractInfo (
|
|
contract_id int primary key auto_increment,
|
|
staff_id int not null,
|
|
location nvarchar (50) default 'Texas',
|
|
staff_type nvarchar (20) check (
|
|
staff_type in ('Junior', 'Senior')
|
|
),
|
|
salary decimal(9, 2) not null,
|
|
constraint fk_staff foreign key (staff_id) references Staff (staff_id)
|
|
);
|
|
|
|
insert into
|
|
ContractInfo (
|
|
staff_id,
|
|
location,
|
|
staff_type,
|
|
salary
|
|
)
|
|
values (1, 'Texas', 'Junior', 100000);
|
|
|
|
insert into
|
|
ContractInfo (staff_id, staff_type, salary)
|
|
values (2, 'Senior', 200000);
|
|
|
|
insert into
|
|
ContractInfo (
|
|
staff_id,
|
|
location,
|
|
staff_type,
|
|
salary
|
|
)
|
|
values (3, 'Texas', 'Middle', 150000); |