МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
Звіт
до лабораторної роботи № 1
з курсу: "Бази даних та знань"
на тему:
“ Проектування реляційної бази даних”
Завдання
1. На мові SQL написати скріпт (послідовність команд) для створення бази даних відповідно до структури, розробленої в результаті виконання лабораторної роботи №1.
2. Створити відповідну базу даних, шляхом застосування скріпта з п.1. Рекомендується використання СУБД MySQL. Допускається використання інших СУБД, при умові підтримання нею мови SQL.
3. Написати скріпт на мові SQL для внесення до розробленої та реалізованої БД тестових даних. Забезпечити не меньше 5 кортежів у кожному з відношень бази даних, якщо це допускає доменна структура відношення.
4. Написати скріпти на мові SQL для вибору з БД даних із кожної з її таблиць.
5. Оформити звіт про виконання лабораторної роботи, до якого включити усі розроблені скріпти, дпопвнюючи їх усіма необхідними коментарями.
Варіант №7. Облвідділ державтоінспекції
Атрибути
1. ПІБ(власника ТЗ)
2. Дата рестрації ТЗ
3. Тип кузову
4. Марка автомобіля
5. Колір
6. Номер кузову
7. Об`єм двигуна
8. Адреса власника
9. Id посвідчення (працівника ДАІ)
10. Адреса працівника
11. Id ДТП
12. Штраф
13. Звання працівника
14. Посада
15. Дата скоєння ДТП
16.Рік випуску ТЗ
17. Державний номер
Визначення можливих ключів
17
2
Ключ 2
6
17
Ключ 6
1
6
3
4
5
7
8
16
11
Ключ 1
11
12
15
9
Ключ 11
9
10
13
14
Ключ 9
Детермінанти 17,6,1,11,9
Enter password:
Your Welcome to the MySQL monitor. Commands end with ; or \g.
MySQL connection id is 3
Server version: 5.1.36-community-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2010-05-19 13:36:09 |
+---------------------+
1 row in set (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| lab2 |
| mysql |
| tables |
| zvit |
+--------------------+
5 rows in set (0.08 sec)
mysql> CREATE DATABASE zvit;
Query OK, 1 row affected (0.03 sec)
mysql> use zvit;
Database changed
mysql> CREATE TABLE nomer (nomer varchar (20) PRIMARY KEY NOT NULL, data_reestr date NOT NULL);
Query OK, 0 rows affected (0.06 sec)
mysql> show tables;
+----------------+
| Tables_in_zvit |
+----------------+
| nomer |
+----------------+
1 row in set (0.00 sec)
mysql> describe nomer
+------------------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-------------+------+-----+---------+-------+
| nomer | varchar(20) | NO | PRI | NULL | |
| data_reestr | date | NO | | NULL | |
+------------------------+-------------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> INSERT INTO nomer (nomer, data_reestr ) VALUES
-> ('73809hm', ‘2002-11-11’),
-> ('hh1156ik', ‘2010-02-03’),
-> ('AA0505TI', ‘2010-05-08’),
-> ('hh1116ik', ‘2002-06-03’),
-> ('55555AS', ‘2010-03-05);
Query OK, 5 rows affected (0.02 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select*from nomer;
+----------+-------------+
| nomer | data_reestr |
+----------+-------------+
| 73809hm | 2002-11-11 |
| hh1156ik | 2010-02-03 |
| AA0505TI | 2010-05-08 |
| hh1116ik | 2002-06-03 |
| 55555AS | 2010-03-05 |
+----------+-------------+
5 rows in set (0.00 sec)
mysql> CREATE TABLE nomer_kuzovu(nomer_kuzovu int(255) PRIMARY KEY NOT NULL PRIMARY KEY NOT NULL, nomer varchar(20) not null);
Query OK, 0 rows affected (0.08 sec)
mysql> INSERT INTO nomer_kuzovu (nomer_kuzovu, nomer) VALUES
-> (‘2147483647’, ’73809hm’),
-> (‘2124202001’, ‘hh1156ik’),
-> (‘2136542003’, ‘AA0505TI’),
-> (‘1265980999’, ‘hh1116ik’),
-> (‘98640200’, ‘55555AS’);
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select*from nomer_kuzovu;
+--------------+----------+
| nomer_kuzovu | nomer |
+--------------+----------+
| 2147483647 | 73809hm |
| 2124202001 | hh1116ik |
| 2136542003 | hh1156ik |
| 1265980999 | AA0505TI |
| 98640200 | 55555AS |
+--------------+----------+
5 rows in set (0.00 sec)
mysql> update nomer_kuzovu set nomer='12300II' where nomer_kuzovu='2147483647';
Query OK, 1 row affected (0.06 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> update nomer_kuzovu set nomer='VR0009' where nomer_kuzovu='2124202001';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> update nomer_kuzovu set nomer='IVAN_007' where nomer_kuzovu='98940200';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> select*from nomer_kuzovu;
+--------------+----------+
| nomer_kuzovu | nomer |
+--------------+----------+
| 2147483647 | 12300II |
| 2124202001 | VR0009 |
| 2136542003 | hh1156ik |
| 1265980999 | AA0505TI |
| 98640200 | IVAN_007 |
+--------------+----------+
5 rows in set (0.00 sec)
mysql> show tables;
+----------------+
| Tables_in_zvit |
+----------------+
| nomer |
| nomer_kuzovu |
+----------------+
2 rows in set (0.02 sec)
mysql> CREATE TABLE name(name varchar(35) PRIMARY KEY NOT NULL, nomer_kuzovu int(255) NOT NULL, marka varchar(20) NOT NULL,kolir varchar(20) not null,obem varchar (20) not null, adresa varchar(20) not null, id_dtp int(255) not null, rik_vypusku int(255) not null);
Query OK, 0 rows affected (0.08 sec)
mysql> describe name;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| name | varchar(30) | NO | PRI | NULL | |
| nomer_kuzovu | int(255) | NO | | NULL | |
| marka | varchar(30) | NO | | NULL | |
| kolir | varchar(30) | NO | | NULL | |
| obem | varchar(20) | NO | | NULL | |
| adresa | varchar(30) | NO | | NULL | |
| id_dtp | int(255) | NO | | NULL | |
| rik_vypusku | int(255) | NO | | NULL | |
+--------------+-------------+------+-----+---------+-------+
8 rows in set (0.05 sec)
mysql> INSERT INTO name (name, nomer_kuzovu, marka, kolir, obem, adresa, id_dtp, rik_vypusky) VALUES
-> (‘Ivanov A P’, ‘2147483647’, ‘AUDI_A_4’, ‘blue’, ‘2.0_L’, ‘Lviv,Shev4enka21/11 ’, ‘15082009’, ‘2009’),
-> (‘Shevarnadze G M’, ‘2124202001’, ‘BMW’, ‘red’, ‘5.0_L’, ‘Lviv,pr.Svobody 12/3’, ‘03052010’, ‘2010’),
-> (‘Buh M L ‘, ‘2136542003’, ‘VAZ’, ‘black’, ‘1.5_L’, ‘Lviv,Batalna24/7’, ‘20111996’, ’ 1986’),
-> (‘Korzun K L’, ‘1265980999’, ‘GAZ’, ‘Green’, ‘3.5_L’, ‘Lviv,Prurodnya12/8 ’, ‘11022000’, ‘1990’),
-> (‘Gevago D A’, ‘98640200’, ‘Mercedes’, ‘black’, ‘5.0_L’, ‘Lviv,V.Velukogo12/2’, ‘02032010’, ‘2010’);
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select*from name;
+-----------------+--------------+----------+-------+-------+------------+----------+----------+-------------+
| name | nomer_kuzovu | marka | kolir | obem | adresa | id_dtp | rik_vypusku |
+-----------------+--------------+----------+-------+-------+------------+----------+----------+-------------+
| Ivanov A P | 2147483647 | AUDI_A_4 | blue | 2.0_L | Lviv,Shev4enka21/11 | 15082009 | 2009 |
| Shevarnadze G M | 2124202001 | BMW | red | 5.0_L | Lviv,pr.Svobody 12/3 |03052010| 2010|
| Buh M L | 2136542003 | VAZ | black | 1.5_L | Lviv,Batalna24/7 | 20111996 | 1986 |
| Korzun K L | 1265980999 | GAZ | Green | 3.5_L | Lviv,Prurodnya12/8 |11022000| 1990 |
| Gevago D A | 98640200 | Mercedes | black | 5.0_L | Lviv,V.Velukogo12/2 | 02032010 | 2010 |
+-----------------+--------------+----------+-------+-------+-----------+-----------+----------+-------------+
5 rows in set (0.02 sec)
mysql> show tables;
+----------------+
| Tables_in_zvit |
+----------------+
| nomer |
| nomer_kuzova |
| name |
+----------------+
3 rows in set (0.61 sec)
mysql> CREATE TABLE id_dtp(id_dtp int(255) PRIMARY KEY NOT NULL, shtraf varchar(20) NOT NULL, data_dtp date NOT NULL, id_pracivnuka int(255) NOT NULL);
Query OK, 0 rows affected (0.09 sec)
mysql> describe id_dtp;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| id_dtp | int(255) | NO | PRI | NULL | |
| shtraf | varchar(20) | NO | | NULL | |
| data_dtp | date | NO | | NULL | |
|id_pracivnuka | int(255) | NO | | NULL | |
+--------------+-------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
mysql> INSERT INTO id_dtp (id_dtp, shtraf, data_dtp, id_pracivnuka ) VALUES
-> (‘15082009’, ‘1700’, ’12-02-2009’, ’31754’),
-> (‘03052010’, ‘180’, ’03-05-2010’, ’31745’),
-> (‘20111996’, ‘1990’, ’20-11-1996’, ‘31714’),
-> (‘1102000’, ‘1500’, ’11-02-2000’, ‘42371’ ),
-> (‘02032010’, ‘290’, ’02-03-2010’,’14718’);
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select*from id_dtp;
+----------+--------+----------+--------------+
| id_dtp | shtraf | data_dtp | id_pracivnuka|
+----------+--------+----------+--------------+
| 15082009 | 1700 | 12-02-2009 | 31754 |
| 03052010 | 180 | 03-05-2010| 31745 |
| 20111996 | 1900 | 20-11-1996 | 31714 |
| 11022000 | 1500 | 11-02-2000| 42371 |
| 02032010 | 290 | 02-03-2010 | 14718 |
+----------+--------+----------+--------------+
5 rows in set (0.00 sec)