Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Примеры отчетов по лабораторным.doc
Скачиваний:
10
Добавлен:
25.03.2015
Размер:
1.73 Mб
Скачать

4. Информационная модель справочной системы kadri

Num

Int(3)

Fam

Blob

Data

Date

Pol

Varchar(3)

Kval

Varchar(15)

Dolsh

Varchar(20)

Razr

Int(2)

 

 

5. Протокол работы в MySql с комментарием

Запускаем сервер Apache

<Start servers>

 

 Входим в командную строку

<пуск|прогроаммы|стандартные|Командная строка>

Microsoft Windows XP [Версия 5.1.2600]

(С) Корпорация Майкрософт, 1985-2001.

C:\Documents and Settings\WPERS>

 

Запускаем MySQL

C:\Documents and Settings\WPERS> cd C:\www\usr\local\mysql4\bin

C:\www\usr\local\mysql4\bin> mysql -u root

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1 to server version: 4.1.16-max

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

 

Работаем в MySQL

mysql> # Устанавливаем базу  данных kadri_mysql

mysql> create database kadri_mysql default character set utf8;

Query OK, 1 row affected (0.08 sec)

mysql> use kadri_mysql;

Database changed

mysql> # Формируем структуру информационной таблицы

mysql> create table kadri (num int(3) not null, fam blob,

    -> data date, pol varchar(15), kval varchar(15), dolsh

    -> varchar(20),  razr int(2));

Query OK, 0 rows affected (0.07 sec)

mysql> describe kadri;

+-------+-----------------+--------+-------+---------+---------+

| Field | Type              | Null   | Key   | Default | Extra |

+-------+-----------------+--------+-------+---------+---------+

| num      | int(3)          |           |          | 0          |            |

| fam       | blob           | YES  |           | NULL  |           |

| pol       | char(3)       | YES  |           | NULL  |           |

| kval     | varchar(15) | YES  |           | NULL |           |

| dolsh   | varchar(20) | YES  |           | NULL |           |

| razr     | int(2)           | YES  |           | NULL   |          |

+-------+-------------+------+-----+---------+-------+-------+

6 rows in set (0.00 sec)

 mysql> # Загружаем исходные данные в сформированную таблицу

mysql> insert into kadri values (1, 'Иванов', '1960-01-10', 'муж', 'учитель',

    -> 'профессор', 16);

Query OK, 1 row affected (0.00 sec)

mysql> insert into kadri values (2, 'Петрова', '1965-02-20', 'жен', 'учитель',

    -> 'доцент', 14);

Query OK, 1 row affected (0.00 sec)

mysql> insert into kadri values (3, 'Сидоров', '1970-03-30', 'муж', 'учитель',

    -> 'преподаватель', 12);

Query OK, 1 row affected (0.00 sec)

mysql> insert into kadri values (4, 'Козлов', '1975-04-10', 'муж', 'инженер',

    -> 'программист', 10);

Query OK, 1 row affected (0.00 sec)

mysql> insert into kadri values (5, 'Гусева, '1980-05-20', 'жен', 'техник',

    ->  'стажер', 8);

Query OK, 1 row affected (0.00 sec)

 mysql> # Просматриваем сформированную таблицу

mysql> select * from kadri;

+-----+-----------+---------------+------+-----------+---------------+------+

| num | fam       | data           | pol   | kval        | dolsh         | razr  |

+-----+-----------+---------------+------+-----------+---------------+------+

| 1     |Иванов |1960-01-10| муж |учитель |профессор|  16   |

| 2     |Петрова|1965-02-20| жен |учитель |доцент       |  14   |

| 3     |Сидоров|1975-03-30| муж |учитель|преподав  |  12   |

| 4     |Козлова |1970-04-10| жен |инженер|программ | 10    |

| 5     |Гусев     |1980-05-20| муж | техник   | стажер     |    9   |

+-----+---------+-------------+------+---------+--------------+------+-----+

5 rows in set (0.00 sec)

 mysql> # переименовываем таблицу

mysql> alter table kadri rename to kadri_1;

Query OK, 0 rows affected (0.02 sec)

mysql> select * from kadri_1;

+-----+---------+------------+------+---------+---------------+------+

| num | fam     | data       | pol  | kval    | dolsh         | razr |

+-----+---------+------------+------+---------+---------------+------+

|   1 | Иванов  | 1960-01-10 | муж  | учитель | профессор     |   16 |

|   2 | Петрова | 1965-02-20 | жен  | учитель | доцент        |   14 |

|   3 | Сидоров | 1970-03-30 | муж  | учитель | преподаватель |   12 |

|   4 | Козлова | 1980-04-10 | жен  | инженер | программист   |   10 |

|   5 | Гусев   | 1985-05-20 | муж  | техник  | стажер        |    9 |

+-----+---------+------------+------+---------+---------------+------+

5 rows in set (0.00 sec)

 mysql> # добавляем запись

mysql> replace into kadri_1 values (6, 'Уткин', '1976-06-25', 'муж',

    -> 'учитель','доцент', 15);

Query OK, 1 row affected (0.00 sec)

mysql> select * from kadri_1;

+-----+---------+------------+------+---------+---------------+------+

| num | fam     | data       | pol  | kval    | dolsh         | razr |

+-----+---------+------------+------+---------+---------------+------+

|   1 | Иванов  | 1960-01-10 | муж  | учитель | профессор     |   16 |

|   2 | Петрова | 1965-02-20 | жен  | учитель | доцент        |   14 |

|   3 | Сидоров | 1970-03-30 | муж  | учитель | преподаватель |   12 |

|   4 | Козлова | 1980-04-10 | жен  | инженер | программист   |   10 |

|   5 | Гусев   | 1985-05-20 | муж  | техник  | стажер        |    9 |

|   6 | Уткин   | 1976-06-25 | муж  | учитель | доцент        |   15 |

+-----+---------+------------+------+---------+---------------+------+

6 rows in set (0.00 sec)

mysql> # удаляем запись

mysql> delete from kadri_1 where num=2;

Query OK, 1 row affected (0.00 sec)

mysql> select * from kadri_1;

+-----+---------+------------+------+---------+---------------+------+

| num | fam     | data       | pol  | kval    | dolsh         | razr |

+-----+---------+------------+------+---------+---------------+------+

|   1 | Иванов  | 1960-01-10 | муж  | учитель | профессор     |   16 |

|   3 | Сидоров | 1970-03-30 | муж  | учитель | преподаватель |   12 |

|   4 | Козлова | 1980-04-10 | жен  | инженер | программист   |   10 |

|   5 | Гусев   | 1985-05-20 | муж  | техник  | стажер        |    9 |

|   6 | Уткин   | 1976-06-25 | муж  | учитель | доцент        |   15 |

+-----+---------+------------+------+---------+---------------+------+

5 rows in set (0.00 sec)

 mysql> # изменим должность и разряд стажера

mysql> update kadri_1 set razr=10 where razr=9;

Query OK, 1 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from kadri_1;

+-----+---------+------------+------+---------+---------------+------+

| num | fam     | data       | pol  | kval    | dolsh         | razr |

+-----+---------+------------+------+---------+---------------+------+

|   1 | Иванов  | 1960-01-10 | муж  | учитель | профессор     |   16 |

|   3 | Сидоров | 1970-03-30 | муж  | учитель | преподаватель |   12 |

|   4 | Козлова | 1980-04-10 | жен  | инженер | программист   |   10 |

|   5 | Гусев   | 1985-05-20 | муж  | техник  | техник        |   10 |

|   6 | Уткин   | 1976-06-25 | муж  | учитель | доцент        |   15 |

+-----+---------+------------+------+---------+---------------+------+

5 rows in set (0.00 sec)

mysql> # добавляем столбец

mysql> alter table kadri_1 add column zarp float(8,2);

Query OK, 5 rows affected (0.09 sec)

Records: 5  Duplicates: 0  Warnings: 0

mysql> select * from kadri_1;

+-----+---------+------------+------+---------+---------------+------+------+

| num | fam     | data       | pol  | kval    | dolsh         | razr | zarp |

+-----+---------+------------+------+---------+---------------+------+------+

|   1 | Иванов  | 1960-01-10 | муж  | учитель | профессор     |   16 | NULL |

|   3 | Сидоров | 1970-03-30 | муж  | учитель | преподаватель |   12 | NULL |

|   4 | Козлова | 1980-04-10 | жен  | инженер | программист   |   10 | NULL |

|   5 | Гусев   | 1985-05-20 | муж  | техник  | техник        |   10 | NULL |

|   6 | Уткин   | 1976-06-25 | муж  | учитель | доцент        |   15 | NULL |

+-----+---------+------------+------+---------+---------------+------+------+

5 rows in set (0.01 sec)

mysql> # устанавливаем зарплату

mysql> update kadri_1 set zarp=12000 where num=1;

mysql> update kadri_1 set zarp=10000 where num=6;

mysql> update kadri_1 set zarp=8000 where num=3;

mysql> update kadri_1 set zarp=5000 where num=4;

mysql> update kadri_1 set zarp=3000 where num=5;

Query OK, 5 row affected (0.00 sec)

Rows matched: 1  Changed: 1  Warnings: 0

mysql> select * from kadri_1;

+-----+---------+------------+------+---------+---------------+------+----------+

| num | fam     | data       | pol  | kval    | dolsh         | razr | zarp     |

+-----+---------+------------+------+---------+---------------+------+----------+

|   1 | Иванов  | 1960-01-10 | муж  | учитель | профессор     |   16 | 12000.00 |

|   3 | Сидоров | 1970-03-30 | муж  | учитель | преподаватель |   12 |  8000.00 |

|   4 | Козлова | 1980-04-10 | жен  | инженер | программист   |   10 |  5000.00 |

|   5 | Гусев   | 1985-05-20 | муж  | техник  | техник        |   10 |  3000.00 |

|   6 | Уткин   | 1976-06-25 | муж  | учитель | доцент        |   15 | 10000.00 |

+-----+---------+------------+------+---------+---------------+------+----------+

5 rows in set (0.00 sec)

mysql> # выбираем записи с номерами большими 3

mysql> select * from kadri_1 where num > 3;

+-----+---------+------------+------+---------+-------------+------+----------+

| num | fam     | data       | pol  | kval    | dolsh       | razr | zarp     |

+-----+---------+------------+------+---------+-------------+------+----------+

|   4 | Козлова | 1980-04-10 | жен  | инженер | программист |   10 |  5000.00 |

|   5 | Гусев   | 1985-05-20 | муж  | техник  | техник      |   10 |  3000.00 |

|   6 | Уткин   | 1976-06-25 | муж  | учитель | доцент      |   15 | 10000.00 |

+-----+---------+------------+------+---------+-------------+------+----------+

3 rows in set (0.01 sec)

mysql> # шифруем фамилии

mysql> update kadri_1 set fam=aes_encrypt(fam, 'ghbaecjh_lbweyr');

Query OK, 5 rows affected (0.01 sec)

Rows matched: 5  Changed: 5  Warnings: 0

mysql> select * from kadri_1;

+-----+------------------+------------+------+---------+---------------+----+---------+

| num | fam              | data       | pol  | kval    | dolsh         |razr|zarp     |

+-----+------------------+------------+------+---------+---------------+----+---------+

|   1 | >╗♥6♥ф┌┌▐hoЇ2AЗ┐ | 1960-01-10 | муж  | учитель | профессор     |  16|12000.00 |

|   3 | ↨ g√*ПZE╩№°┼↑'   | 1970-03-30 | муж  | учитель | преподаватель |  12| 8000.00 |

|   4 | ^oЦ▐9лe╪цГxВ'UЬO | 1980-04-10 | жен  | инженер | программист   |  10|5000.00  |

|   5 | <8^в#У¶╩♠♫тСmyЧр | 1985-05-20 | муж  | техник  | техник        |  10|3000.00  |

|   6 | ▐♥\Я╚~DсL■н4N,`  | 1976-06-25 | муж  | учитель | доцент        |  15| 10000.00|

+-----+------------------+------------+------+---------+---------------+----+---------+

5 rows in set (0.00 sec)

mysql> # дешифруем фамилии

mysql> select aes_decrypt(fam, 'ghbaecjh_lbweyr') from kadri_1;

+-------------------------------------+

| aes_decrypt(fam, 'ghbaecjh_lbweyr') |

+-------------------------------------+

| Иванов                              |

| Сидоров                             |

| Козлов                              |

| Гусев                               |

| Уткин                               |

+-------------------------------------+

5 rows in set (0.00 sec)

mysql> # вычисляем хеш-код созданной таблицы

mysql> select md5('kadri_1');

+----------------------------------+

| md5('kadri_1')                   |

+----------------------------------+

| c5691ff26556caaec8185f3d7f4f19d6 |

+----------------------------------+

1 row in set (0.00 sec)

mysql> # Выходим из MySQL

mysql> exit;

Z:\usr\local\mysql4\bin>

 

Выходим из командной строки

Z:\usr\local\mysql4\bin> exit

 

Останавливаем сервер Apache

<Stop servers>

 

Отчет по лабораторной работе и итоговую базу данных записываем в личную папку.