Pilet 10

SQL Server

Создаю БД — varjupaik_baas,  имя таблицы — loomad и имена полей в таблице —loomID, loom, nimi, sugu, vanus:

Заполняю таблицу:

В поле sugu добавляю ограничение на вводимые данные *mees/naine:

Можно указать только ‘mees’ или ‘naine’.

    sugu NVARCHAR(10) CHECK (sugu IN ('mees', 'naine')),

Создаю нового пользователя — Omanik(владелец приюта), пароль — 987456:

При помощи команды GRANT назначаю пользователю права — Omanik может добавлять записи и удалять записи в таблице Loomad

Права на таблицу loomad

Разрешаю пользователю создавать новые таблицы и изменять их структуру:

Добавление (INSERT), удаление (DELETE), создание таблиц (CREATE TABLE), изменение структуры (ALTER)

Проверяю назначенные пользователю права и то, что ему не разрешено при помощи составленных процедур.

CREATE PROCEDURE sp_NahtavadOigused
AS
BEGIN
    SELECT 
        USER_NAME(grantee_principal_id) AS kasutaja,
        permission_name AS oigus,
        state_desc AS oiguse_tyyp,
        OBJECT_NAME(major_id) AS objekt
    FROM sys.database_permissions
    WHERE USER_NAME(grantee_principal_id) = 'Omanik';
END;

localhost/phpMyAdmin

Создаём базу и таблицу в XAMPP:

Заполняю таблицу данными через SQL запрос:

INSERT INTO loomad (loom, nimi, sugu, vanus) VALUES 
('koer', 'Rex', 'mees', 5),
('kass', 'Mura', 'naine', 4),
('jänes', 'Lari', 'mees', 3),
('papagoi', 'Tamara', 'naine', 2);

Создаю пользователя Omanik(владелец приюта), пароль — 987456:

При помощи команды GRANT назначаю пользователю права
Omanik может добавлять записи и удалять записи в таблице Loomad:

Создание и изменение таблиц:

Проверяю назначенные пользователю права и то, что ему не разрешено, создаю процедуру:

Запускаю процедуру и вижу Omanik может добавлять записи и удалять записи в таблице Loomad: