Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП, АЛЕКСЕЙ КОВАЛЬЧУК, ОПК-313.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.49 Mб
Скачать

Додаток а

SQL-скрипт бази даних «Мобільний оператор»

# SQL Manager for MySQL 5.5.3.46984

# ---------------------------------------

# Host : localhost

# Port : 3306

# Database : project

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;

/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;

/*!40101 SET NAMES utf8 */;

SET FOREIGN_KEY_CHECKS=0;

CREATE DATABASE `project`

CHARACTER SET 'utf8'

COLLATE 'utf8_general_ci';

USE `project`;

#

# Структура для таблицы `abonent`:

#

CREATE TABLE `abonent` (

`id` INTEGER(11) NOT NULL AUTO_INCREMENT,

`balance` FLOAT(11,2) NOT NULL DEFAULT 0.00,

`nomer` INTEGER(13) NOT NULL,

`activation_time_tariff` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,

`tariff_id` INTEGER(11) NOT NULL DEFAULT -1,

PRIMARY KEY (`id`) USING BTREE

) ENGINE=InnoDB

AUTO_INCREMENT=12 CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'

;

#

# Структура для таблицы `history`:

#

CREATE TABLE `history` (

`id` INTEGER(11) NOT NULL AUTO_INCREMENT,

`abonent_id` INTEGER(11) NOT NULL,

`time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`abonent_to` INTEGER(11) NOT NULL,

`duration` INTEGER(11) NOT NULL,

PRIMARY KEY (`id`) USING BTREE,

KEY `abonent_id` (`abonent_id`) USING BTREE

) ENGINE=InnoDB

AUTO_INCREMENT=18 CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'

;

#

# Структура для таблицы `service`:

#

CREATE TABLE `service` (

`id` INTEGER(11) NOT NULL AUTO_INCREMENT,

`name` VARCHAR(100) COLLATE utf8_general_ci NOT NULL,

PRIMARY KEY (`id`) USING BTREE

) ENGINE=InnoDB

AUTO_INCREMENT=9 CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'

;

#

# Структура для таблицы `sms`:

#

CREATE TABLE `sms` (

`id` INTEGER(11) NOT NULL AUTO_INCREMENT,

`abonent_id` INTEGER(11) NOT NULL,

`text` TEXT COLLATE utf8_general_ci NOT NULL,

`abonent_to` INTEGER(11) NOT NULL,

`time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

PRIMARY KEY (`id`) USING BTREE

) ENGINE=InnoDB

AUTO_INCREMENT=2 CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'

;

#

# Структура для таблицы `tariff`:

#

CREATE TABLE `tariff` (

`id` INTEGER(11) NOT NULL AUTO_INCREMENT,

`price` FLOAT(11,2) NOT NULL,

`delay` INTEGER(11) NOT NULL,

`name` VARCHAR(100) COLLATE utf8_general_ci NOT NULL,

PRIMARY KEY (`id`) USING BTREE

) ENGINE=InnoDB

AUTO_INCREMENT=5 CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'

;

#

# Структура для таблицы `tariff_service`:

#

CREATE TABLE `tariff_service` (

`id` INTEGER(11) NOT NULL AUTO_INCREMENT,

`tariff_id` INTEGER(11) NOT NULL,

`service_id` INTEGER(11) NOT NULL,

`price` FLOAT(11,2) NOT NULL,

PRIMARY KEY (`id`) USING BTREE,

KEY `service_id` (`service_id`) USING BTREE

) ENGINE=InnoDB

AUTO_INCREMENT=10 CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'

;

#

# Определение для представления `abonent_last`:

#

CREATE ALGORITHM=UNDEFINED DEFINER='root'@'localhost' SQL SECURITY DEFINER VIEW `abonent_last`

AS

select

`abonent`.`id` AS `id`,

`abonent`.`balance` AS `balance`,

`history`.`abonent_to` AS `abonent_to`,

max(`history`.`time`) AS `last`

from

(`abonent`

join `history` on ((`history`.`abonent_id` = `abonent`.`id`)))

group by

`history`.`time`;

#

# Data for the `abonent` table (LIMIT 0,500)

#

INSERT INTO `abonent` (`id`, `balance`, `nomer`, `activation_time_tariff`, `tariff_id`) VALUES

(2,24.00,634455999,'2016-03-31 02:21:58',2),

(3,60.00,997744334,'2016-03-31 02:24:31',-1),

(4,-1.00,997746364,'2016-03-31 02:24:57',4),

(5,100.00,777777777,'2016-03-31 02:26:00',-1),

(6,1.00,2123213,'2016-04-11 19:21:26',1),

(10,0.00,213123,'2016-04-11 20:45:45',-1),

(11,0.00,0,'2016-04-21 20:56:22',-1);

COMMIT;

#

# Data for the `history` table (LIMIT 0,500)

#

INSERT INTO `history` (`id`, `abonent_id`, `time`, `abonent_to`, `duration`) VALUES

(3,2,'2016-03-31 02:26:29',3,60),

(4,3,'2016-03-31 02:27:40',5,120),

(5,5,'2016-03-31 02:27:48',2,10),

(6,4,'2016-03-31 02:27:55',2,30),

(7,3,'2016-04-11 17:41:14',2,123),

(8,1,'2016-04-11 17:41:27',4,456),

(9,1,'2016-04-11 17:42:18',3,456),

(10,2,'2016-04-11 17:42:18',4,456),

(11,4,'2016-04-11 17:42:18',1,456),

(12,3,'2016-04-11 17:42:18',3,456),

(13,2,'2016-04-11 17:42:18',2,456),

(14,3,'2016-04-11 17:42:18',1,456),

(15,1,'2016-04-11 17:42:18',3,456),

(16,2,'2016-04-11 17:42:18',2,456),

(17,4,'2016-04-11 17:42:18',3,456);

COMMIT;

#

# Data for the `service` table (LIMIT 0,500)

#

INSERT INTO `service` (`id`, `name`) VALUES

(4,'internet'),

(5,'sms'),

(6,'mms'),

(7,'звонки'),

(8,'internet 3G');

COMMIT;

#

# Data for the `sms` table (LIMIT 0,500)

#

INSERT INTO `sms` (`id`, `abonent_id`, `text`, `abonent_to`, `time`) VALUES

(1,0,'Благодарим вас за покупку сим-карты! Пополните себе счет: #123',2,'2016-04-11 19:47:58');

COMMIT;

#

# Data for the `tariff` table (LIMIT 0,500)

#

INSERT INTO `tariff` (`id`, `price`, `delay`, `name`) VALUES

(2,20.00,30,'Зашибись'),

(3,40.00,30,'Все, что нужно'),

(4,100.00,30,'Все включено');

COMMIT;

#

# Data for the `tariff_service` table (LIMIT 0,500)

#

INSERT INTO `tariff_service` (`id`, `tariff_id`, `service_id`, `price`) VALUES

(1,4,3,1.00),

(2,4,5,2.00),

(3,4,5,1.00),

(4,4,7,3.00),

(5,4,7,3.00),

(6,4,8,1.00),

(7,3,7,2.00),

(8,3,8,4.00),

(9,2,8,3.25);

COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;

/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;