Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы - Управление данными.doc
Скачиваний:
49
Добавлен:
09.04.2015
Размер:
144.9 Кб
Скачать

4. Создайте оператором sql таблицу Salespeople с полями:

Имя поля Тип данных Описание

snum Целое, ключевое Идентификатор продавца

sname Текстовое, не пустое Имя продавца

city Текстовое Город

comm Десятичное, два знака после точки Комиссионные, меньше 1

*/

DROP TABLE IF EXISTS salespeople, customers;

CREATE TABLE salespeople

(snum INT,

sname TEXT NOT NULL,

city TEXT,

comm DECIMAL(5,5),

PRIMARY KEY(snum)) engine = MyIsam Default charset = utf8;

/*

5. Заполните таблицу Salespeople с помощью оператора insert.

*/

Insert into salespeople

(snum, sname, city, comm) VALUES

(1, "Иван Жадов", "Нижний Новгород", "0.12"),

(2, "Федор Захапов", "Нижний Новгород", "0.15"),

(3, "Максим Хитров", "Нижний Новгород", "0.14"),

(4, "Алиса Тырь", "Бор", "0.10");

/*

6. Создайте оператором sql таблицу Customers с полями:

Имя поля Тип данных Описание

cnum Целое, ключевое Идентификатор покупателя

cname Текстовое, не пустое Имя покупателя

city Текстовое Город

rating Целое Рейтинг

snum Целое Идентификатор продавца

*/

CREATE TABLE customers

(cnum INT,

cname TEXT NOT NULL,

city TEXT,

rating INT,

snum INT,

PRIMARY KEY(cnum)) engine = MyIsam Default charset = utf8;

/*

7. Заполните таблицу Customers с помощью оператора INSERT.

*/

INSERT INTO customers

(cnum, cname, city, rating, snum) VALUES

(1, "Василий Дубов", "Нижний Новгород", 60, 2),

(2, "Алексей Шмыга", "Нижний Новгород", 830, 3),

(3, "Лариса Тупакова", "Нижний Новгород", 520, 3),

(4, "Петр Быков", "Бор", 30, 4),

(5, "Антон Тотуттотам", "Бор", 120, 4);

/*

======================== Пользователи ========================

8. В окне “SQL editor” выполните GRANT-запрос для создания нового пользователя и разрешения выполнения SELECT для таблицы Customers.

*/

CREATE USER Q;

GRANT SELECT on customers to Q identified by "123456";

/*

9. Выберите пункт меню Database -> Disconnect, затем присоединитесь к базе данных, выбрав Database -> Connect, указав в поле Login имя нового пользователя, а в поле Password — ваш_пароль.

10. Убедитесь в возможности выполнения SELECT-запросов на таблице Customers и невозможности INSERT и DELETE-запросов.

*/

INSERT into customers

(cnum, cname, city, rating, snum) VALUES

(6, "Ndhfkl Nfdf", "Бор", 100, 4);

DELETE from customers

WHERE cnum = 1;

SELECT * from customers;

-- INSERT и DELETE-запросы не работают. SELECT-запрос работает.

/*

11. Присоединитесь к базе данных под именем root, задайте для пользователя поочерёдно INSERT и DELETE-привилегии; проверьте результаты.

*/

INSERT INTO customers

(cnum, cname, city, rating, snum) VALUES

(6, "Ndhfkl Nfdf", "Бор", 100, 4);

DELETE from customers

WHERE cnum = 1;

SELECT * from customers;

-- Все запросы работают.

ЛР№ 4

-- DROP DATABASE lab_base4;

/*

1. Создайте новую базу данных MySQL, выполнив запрос CREATE DATABASE имя_базы; в окне “SQL editor”.

*/

CREATE DATABASE lab_base4;

/*

2. Создайте и заполните таблицу Salespeople с полями (при создании таблицы укажите

ENGINE=InnoDB):

Имя поля Тип данных Описание

snum Целое, ключевое Идентификатор продавца

sname Текстовое, не пустое Имя продавца

city Текстовое, по умолчанию «Нижний Новгород» Город

comm Десятичное, два знака после точки, по умолчанию 0.1 Комиссионные, меньше 1

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

*/

DROP TABLE IF EXISTS salespeople, customers, orders;

CREATE TABLE salespeople

(snum int not null auto_increment,

sname varchar(30) not null,

city varchar(20) not null default "Нижний Новгород",

comm decimal(3,3),

primary key (snum))

engine = InnoDB Default charset = utf8;