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

Міністерство освіти і науки України

Чернігівський технікум транспорту та комп’ютерних технологій

Звіт про виконання

практики з систем управління та створення баз даних

Виконав

студент групи ПС-1110 Середа В.В

Перевірив

викладач Базилевич В.М.

Чернігів, 2013р.

Практичні завдання

  1. Створити базу даних Бібліотека(library).Для цього виконайте SQL-запит::

Запустити denwer Та перейти за адресою http://localhost/Tools/phpMyAdmin/index.php

Із пунктів меню натискаємо на SQL та вписуємо наступний запит:

create database library default

character set utf8 collate

utf8_general_ci

Та натискаємо ОК.

  1. Створити таблицю Книги (Books) з та­кими полями:

  1. id — номер по порядку;

  2. name — назва книжки;

  3. author — автор книги;

  4. print_year — рік видання;

  5. publisher — видавництво.

Для цього виконайте SQL-запит:

У створеній базі виконуємо наступний SQL-запит:

CREATE TABLE books (

id int(11) NOT NULL AUTO_INCREMENT,

name varchar(200) default NULL,

print_year year(4) default NULL,

publisher varchar(200) default NULL,

PRIMARY KEY ('id')

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

  1. Розділити відношення “книги” (див. попереднє завдання) так, щоб:

  • автори і видавництва були розміщені в окремих таблицях, а не в таблиці Books;

  • база даних повинна підтримувати введення кількох авторів для однієї книги (враховуючи і попередній пункт).

Для цього виконайте:

1)

2)

3)

Щоб розділити відношення “книги” так, щоб:

автори і видавництва були розміщені в окремих таблицях, а не в таблиці Books.

Та щоб база даних підтримувала введення кількох авторів для однієї книги (враховуючи і попередній пункт).

Потрібно вмконати наступні SQL-запити:

3.

create table authors (

id int not null auto_increment,

author varchar(200) default null,

primary key (id)

) engine=innodb default charset=utf8 auto_increment=1;

3-1.

create table publishers (

id int not null auto_increment,

publisher varchar(200) default null,

primary key (id)

) engine=innodb default charset=utf8 auto_increment=1;

3-2.

alter table books drop author, drop publishers;

3-3.

ALTER TABLE books

ADD author_id INT(11) NOT NULL,

ADD INDEX (author_id),

ADD publisher_id INT(11) NOT NULL,

ADD INDEX (publisher_id);

  1. Створити базу даних phones (порівняння cp1251_general_ci). Використовувати SQL.

Створив базу даних phones, за допомогою такого SQL-запиту:

create database phones default

character set cp1251 collate

cp1251_general_ci

  1. Створити таблицю phone.Для цього виконайте SQL-запит:

У базі данних phones створив таблицю phone, використовуючи наступний SQL-запит.

CREATE TABLE IF NOT EXISTS phone (

abonent varchar(40) DEFAULT NULL,

street varchar(20) DEFAULT NULL,

house varchar(3) DEFAULT NULL,

flat varchar(50) DEFAULT NULL,

phone int(10) NOT NULL DEFAULT 0,

PRIMARY KEY (phone)

) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

  1. Заповнити таблицюphones даними про 10-20 осіб. Використовувати SQL.

Напр.,

Заповнив таблицю phones даними про 15 осіб. Використовуючи твкий SQL-запит:

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Середа', 'Московський', '19', '2', 210342);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Остряк', 'Добриня', '20', '3', 137499);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Абалмазов', 'Шевченко', '21', '4', 231989);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Вугольок', 'Воїнів', '22', '5', 324565);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Самусь', 'Добриня', '23', '6', 127999);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Булавенко', 'Київська', '24', '7', 666666);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Чупакабра', 'Лісна', '25', '8', 999999);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Голуб', 'Майська', '26', '9', 099229);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Кличко', 'Німецька', '27', '10', 066111);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Омелько', 'Лісна', '28', '11', 111000);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Бурачок', 'Чернігівська', '29', '12', 063777);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Курапаткін', 'Одинцова', '30', '13', 337999);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Хропатий', 'Центральна', '31', '14', 067999);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Булавенко', 'Київська', '32', '15', 0627999);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Давидов', 'Одинцова', '18', '1', 937999);

INSERT INTO `phones`.`phone` (`abonent`, `street`, `house`, `flat`, `phone`) VALUES ('Приходько', 'Факульса', '2', '23', 124254);

  1. Створити базу даних films (порівняння cp1251_general_ci). Використовувати SQL.

Створив базу данних films, використовуючи наступний SQL-запит:

create database films default

character set cp1251 collate

cp1251_general_ci

  1. Створити таблицю film_list. Для цього виконайте наступний SQL-запит:

Створити таблицю fim_list, для цьоого треба перейти в новостворену БД та у розділі створення таблиць натиснути SQL та записати наступний запит:

CREATE TABLE IF NOT EXISTS `film_list` (

`id` int(11) DEFAULT NULL,

`name` varchar(255) DEFAULT NULL,

`country` varchar(255) DEFAULT NULL COMMENT 'Країна створення фільму',

`year` int(11) DEFAULT NULL COMMENT 'Рік створення фільму',

`addDate` datetime DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

  1. Заповнити таблицю даними про 10-15 фільмів. Використовувати SQL.

Перейти до створеної таблиці та заповнити її данними, використовуючи наступний SQL-запит:

INSERT INTO `films`.`film_list` (`id`, `name`, `country`, `year`, `addDate`) VALUES ('1', 'Маска', 'Італія', '1992', '1994-04-12 12:00:23');

INSERT INTO `films`.`film_list` (`id`, `name`, `country`, `year`, `addDate`) VALUES ('2', 'Брюсс', 'Італія', '1994', '2000-01-04 23:00:00');

INSERT INTO `films`.`film_list` (`id`, `name`, `country`, `year`, `addDate`) VALUES ('3', 'Джимм', 'Франція', '1996', '1994-06-23 12:22:12');

INSERT INTO `films`.`film_list` (`id`, `name`, `country`, `year`, `addDate`) VALUES ('4', 'Мом', 'Португалія', '1995', '1996-12-11 06:13:44');

INSERT INTO `films`.`film_list` (`id`, `name`, `country`, `year`, `addDate`) VALUES ('5', 'Свято', 'Росія', '2008', '2004-10-14 16:00:00');

INSERT INTO `films`.`film_list` (`id`, `name`, `country`, `year`, `addDate`) VALUES ('6', 'Тараска', 'Венеція', '1997', '2006-02-12 21:00:00');

INSERT INTO `films`.`film_list` (`id`, `name`, `country`, `year`, `addDate`) VALUES ('7', 'Новий рік', 'Україна', '2004', '2009-01-12 01:22:21');

INSERT INTO `films`.`film_list` (`id`, `name`, `country`, `year`, `addDate`) VALUES ('8', 'Сам у дома', 'Нью-Йорк', '1994', '2010-12-02 21:00:00');

INSERT INTO `films`.`film_list` (`id`, `name`, `country`, `year`, `addDate`) VALUES ('9', 'За двома зайцями', 'Україна', '2005', '2012-04-12 23:00:00');

INSERT INTO `films`.`film_list` (`id`, `name`, `country`, `year`, `addDate`) VALUES ('10', 'Зайці', 'Україна', '2010', '2013-12-11 11:00:00');

  1. Створити базу даних univer (порівняння cp1251_general_ci). Використовувати SQL.

Перейти до головного меню, натиснути SQL і ввести наступний запит після чого створиться нова БД.

create database univer default

character set cp1251 collate

cp1251_general_ci

  1. Створити таблицю faculty.Для цього виконайте SQL-запит:

Перейти до створеної БД та натиснути SQL, щоб створити таблицю і вписати наступний запит:

create table `faculty` (

`id` int(10) not null,

`name` varchar(30) default null,

key `id` (`id`)

) engine=innoDB default charset=cp1251;

  1. Заповнити її даними про 3-5 факультетів. Використовувати SQL.

Перейти до створеної таблиці у розділ SQL та створити запит:

INSERT INTO `univer`.`faculty` (`id`, `name`) VALUES ('1', 'Будівельний');

INSERT INTO `univer`.`faculty` (`id`, `name`) VALUES ('2', 'Фізико-математичний');

INSERT INTO `univer`.`faculty` (`id`, `name`) VALUES ('3', 'Технічний');

INSERT INTO `univer`.`faculty` (`id`, `name`) VALUES ('1', 'Хіміко-біологічний');

INSERT INTO `univer`.`faculty` (`id`, `name`) VALUES ('1', 'Фізичний');

  1. Створити таблицю speciality.Для цього виконайте SQL-запит:

Повернутися до БД univer та створити таблицю speciality натиснувши SQL на вписавши наступний запит:

create table `speciality` (

`id` int(10) not null auto_increment,

`name` varchar(35) default null,

key `id` (`id`)

) engine=innoDB default charset=cp1251;

  1. Заповнити її даними про 6-10 спеціальностей. Використовувати SQL.

Перейти до таблиці та увійти у пунк меню SQL та вписати наступний запит:

INSERT INTO `univer`.`speciality` (`id`, `name`) VALUES ('1', 'Програмні системи');

INSERT INTO `univer`.`speciality` (`id`, `name`) VALUES ('2', 'Конструювання');

INSERT INTO `univer`.`speciality` (`id`, `name`) VALUES ('3', 'Автомобілі та двигуни');

INSERT INTO `univer`.`speciality` (`id`, `name`) VALUES ('4', 'Фінанси та кредит');

INSERT INTO `univer`.`speciality` (`id`, `name`) VALUES ('5', 'Радіо-техніка');

INSERT INTO `univer`.`speciality` (`id`, `name`) VALUES ('6', 'Бухгалтерский облік');

INSERT INTO `univer`.`speciality` (`id`, `name`) VALUES ('7', 'Автоматизація та налагодження програмних комплексів');

  1. Створити таблицю students. Для цього виконайте наступний SQL-код:

Перейти до БД univer та у пункті меню SQL записати запит для таблиці students

CREATE TABLE IF NOT EXISTS `students` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) DEFAULT NULL,

`faculty_id` int(10) DEFAULT NULL COMMENT 'id факультету',

`speciality_id` int(10) DEFAULT NULL COMMENT 'id спеціальності',

`course` int(11) DEFAULT NULL COMMENT 'курс, на якому навчається',

`group` int(11) DEFAULT NULL COMMENT 'група',

`birthday` date DEFAULT NULL COMMENT 'дата народження',

`paid` tinyint(1) NOT NULL COMMENT 'платна форма навчання',

`mrk1` float(24,2) DEFAULT NULL COMMENT 'середній бал за 1 курс',

`mrk2` float(24,2) DEFAULT NULL COMMENT 'середній баз за 2 курс',

`mrk3` float(24,2) DEFAULT NULL COMMENT 'середній бал за 3 курс',

`mrk4` float(24,2) DEFAULT NULL COMMENT 'середній бал за 4 курс',

`adress` varchar(120) DEFAULT NULL COMMENT 'адреса',

PRIMARY KEY (`id`),

KEY `st_fac` (`faculty_id`)

) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1;

  1. Заповнити її даними про 12-20 студентів. Використовувати SQL.

Пункти 17-20 виконувати лише з використанням SQL-запитів.

Перейти до таблиці та у пункті меню SQL записати запит для заповнення таблиці студентами

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('1', 'Середа','10','505100','3','1110','1994-05-23','1','3','4','5','5','Московська');

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('2', 'Родько','11','120007','1','1010','1996-07-13','1','3','3','3','3','Московська');

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('3', 'Абрамов','12','340077','4','1000','1992-09-21','0','4','4','5','5','Шевченка');

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('4', 'Руденко','13','505100','3','1110','1994-06-11','0','4','3','3','3','Проспект-м');

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('5', 'Калуга','14','110077','5','1033','1991-02-20','0','4','5','5','5','Шевченка');

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('6', 'Приходько','10','505100','3','1110','1995-04-12','1','4','4','4','4','Бобра');

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('7', 'Лукаш','15','330067','1','1100','1996-05-17','1','3','3','4','5','Лосося');

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('8', 'Даниленко','16','666000','3','1001','1994-04-21','1','3','3','4','4','Одинцова');

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('9', 'Булавочка','17','120011','4','1400','1992-09-21','1','3','4','3','3','Шевченка');

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('10', 'Сердючка','18','222222','5','1900','1991-02-22','0','4','4','4','5','Київська');

INSERT INTO`univer`.`students`(`id`,`name`,`faculty_id`,`speciality_id`,`course`,`group`,`birthday`,`paid`,`mrk1`,`mrk2`,`mrk3`,`mrk4`,`adress`) VALUES ('12', 'Потапенко','19','777077','4','1370','1992-09-21','0','4','4','5','5','Шевченка');

  1. Створити власну базу даних, дати базі ім'я таке ж, як ваше прізвище (у латинській транскрипції).

Щоб створити свою власну БД треба перейти до головного меню phpMyadmin та у пункті меню SQL записати такий запис:

create database sereda default

character set cp1251 collate

cp1251_general_ci

  1. У власній базі даних створити таблицю Склад (Sklad), що описує продукцію на складі солодощів. Таблиця має складатися з таких полів:

  1. порядковий номер товару (id);

  2. назва товару (name);

  3. штрих-код товару (до 20 цифр) (bar_code);

  4. одиниця виміру товару (unit);

  5. кількість товару (cnt);

  6. ціна товару за одиницю виміру (unit_price).

У своїй базі данних створити таблицю `sklad`

Для цього в БД знайти пункт меню SQL натиснути та записати запит:

CREATE TABLE IF NOT EXISTS `sklad` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) DEFAULT NULL,

`bar_code` int(20) DEFAULT NULL COMMENT 'штрих-код товару',

`unit` int(10) DEFAULT NULL COMMENT 'одиниця виміру товару',

`cnt` int(11) DEFAULT NULL COMMENT 'кількість товару',

`unit_price` int(11) DEFAULT NULL COMMENT 'ціна товару за одиницю виміру',

PRIMARY KEY (`id`),

KEY `st_cod` (`bar_code`)

) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1;

  1. Заповнити таблицю, створену в попередньому завданні, ввівши 5-10 найменувань товару.

Перейти до таблиці та натиснути на пунк меню SQL і записати запит для заповнення таблиці товарами, після чого натиснути 'ок'

INSERT INTO`sereda`.`sklad`(`id`,`name`,`bar_code`,`unit`,`cnt`,`unit_price`) VALUES ('1', 'Кетчуп','111111','022222','25','6');

INSERT INTO`sereda`.`sklad`(`id`,`name`,`bar_code`,`unit`,`cnt`,`unit_price`) VALUES ('2', 'Хліб','111000','021111','10','3');

INSERT INTO`sereda`.`sklad`(`id`,`name`,`bar_code`,`unit`,`cnt`,`unit_price`) VALUES ('3', 'Риба','100000','011122','30','15');

INSERT INTO`sereda`.`sklad`(`id`,`name`,`bar_code`,`unit`,`cnt`,`unit_price`) VALUES ('4', 'Сухарі','001111','033332','70','10');

INSERT INTO`sereda`.`sklad`(`id`,`name`,`bar_code`,`unit`,`cnt`,`unit_price`) VALUES ('5', 'Гумка','000000','000011','100','4');

  1. Створити таблицю Одиниці виміру (Units). Таблиця повинна складатися з двох полів: порядковий номер (id) та назва одиниці виміру (name).

Cтворити ще одну таблицю 'units', для цього в нашій БД натискаємо на SQL та створюємо такий запит:

CREATE TABLE IF NOT EXISTS `units` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) DEFAULT NULL,

PRIMARY KEY (`id`),

KEY `st_nam` (`name`)

) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1;

Примітка. В наступних завданнях, якщо запит неможливо виконати, через те, що в базі не вистачає інформації, або інформація не задовольняє умову запиту, потрібно додатинеобхідну інформацію в базу.