Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бд_лр3_соц сеть.docx
Скачиваний:
3
Добавлен:
18.01.2022
Размер:
189.33 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА 44 (Кафедра вычислительных систем и сетей)

ОЦЕНКА ПРЕПОДАВАТЕЛЬ

Старший преподаватель

подпись, дата

А.В. Аксенов

должность, уч. степень, звание

инициалы, фамилия

ЛАБОРАТОРНАЯ РАБОТА №3

СОЗДАНИЕ БАЗЫ ДАННЫХ В СУБД В SQLITE

по дисциплине: Базы данных

РАБОТУ ВЫПОЛНИЛА

СТУДЕНТКА ГР. № .

номер группы подпись, дата инициалы, фамилия

Санкт-Петербург 2021

  1. Цель работы

  2. Постановка задачи

Реализовать схему данных, полученную в ЛР1, в виде скрипта SQL в СУБД SQLite. База данных должна содержать ограничения целостности, указанные в ЛР2.

  1. Задание Вариант № 15 “ Онлайн справочник по фильмам ”

Индивидуальное задание отсутствует.

Диаграмма базы данных полученная в ЛР1:

Sql Команды для создания таблиц и sql команды для добавления данных:

PRAGMA foreign_keys = on;

DROP TABLE IF EXISTS Дружба;

DROP TABLE IF EXISTS "Сообщение на стене";

DROP TABLE IF EXISTS ПБ;

DROP TABLE IF EXISTS Образование;

DROP TABLE IF EXISTS Кафедра;

DROP TABLE IF EXISTS Факультет;

DROP TABLE IF EXISTS ВУЗ;

DROP TABLE IF EXISTS "Личное сообщение";

DROP TABLE IF EXISTS Беседа;

DROP TABLE IF EXISTS "Сообщение в беседе";

DROP TABLE IF EXISTS "Сообщение на стене";

DROP TABLE IF EXISTS Пользователь;

--BEGIN TRANSACTION;

-- Таблица: Пользователь

CREATE TABLE Пользователь (

ФИО VARCHAR (120) NOT NULL,

"Статус в сети" VARCHAR (7),

ID VARCHAR (10) PRIMARY KEY);

INSERT INTO Пользователь (ФИО, "Статус в сети", ID)

VALUES ('Душников А П', 'offline', '131');

INSERT INTO Пользователь (ФИО, "Статус в сети", ID)

VALUES ('Закусочкин В Р ', 'online', '130');

INSERT INTO Пользователь (ФИО, "Статус в сети", ID)

VALUES ('Икорова Л З', 'offline', '129');

INSERT INTO Пользователь (ФИО, "Статус в сети", ID)

VALUES ('Селёдкин Д У', 'online', '128');

INSERT INTO Пользователь (ФИО, "Статус в сети", ID)

VALUES ('Огурчикова В Ф', 'online', '127');

INSERT INTO Пользователь (ФИО, "Статус в сети", ID)

VALUES ('Хлебушев С Ч', 'offline', '126');

INSERT INTO Пользователь (ФИО, "Статус в сети", ID)

VALUES ('Рюмкин Е П', 'online', '125');

INSERT INTO Пользователь (ФИО, "Статус в сети", ID)

VALUES ('Стопочкина Е К', 'offline', '124');

INSERT INTO Пользователь (ФИО, "Статус в сети", ID)

VALUES ('Водочкин А В', 'offline', '123');

-- Таблица: Сообщение в беседе

CREATE TABLE "Сообщение в беседе" (

"ID сообщения" VARCHAR (50) PRIMARY KEY,

Текст TEXT (1000) NOT NULL,

"Дата отправки" DATE,

Отправитель VARCHAR (10) REFERENCES Пользователь (ID) UNIQUE NOT NULL);

INSERT INTO "Сообщение в беседе" ("ID сообщения", Текст, "Дата отправки", Отправитель)

VALUES ('04', 'elfbawtb3ht;', '01.01.2021', '128');

INSERT INTO "Сообщение в беседе" ("ID сообщения", Текст, "Дата отправки", Отправитель)

VALUES ('03', 'bjelii0)jhrnnii3enu', '01.01.2021', '129');

INSERT INTO "Сообщение в беседе" ("ID сообщения", Текст, "Дата отправки", Отправитель)

VALUES ('02', 'ghk;jhrg;ghi4whgiiioenj', '01.01.2021', '130');

INSERT INTO "Сообщение в беседе" ("ID сообщения", Текст, "Дата отправки", Отправитель)

VALUES ('01', 'ew;o3!', '01.01.2021', '131');

-- Таблица: Беседа

CREATE TABLE Беседа (

"Название беседы" TEXT (30) NOT NULL,

"ID сообщения" VARCHAR (50) REFERENCES "Сообщение в беседе" ("ID сообщения"),

"Дата создания" DATE NOT NULL,

"ID беседы" VARCHAR (20) PRIMARY KEY);

INSERT INTO Беседа (

"Название беседы", "ID сообщения", "Дата создания", "ID беседы")

VALUES ('Пупа', '02', '01.01.2022', '9992');

INSERT INTO Беседа ("Название беседы", "ID сообщения", "Дата создания", "ID беседы")

VALUES ('Лупа', '03', '01.01.2022', '888');

-- Таблица: Личное сообщение

CREATE TABLE "Личное сообщение" (

"ID сообщения" VARCHAR (50) PRIMARY KEY,

Отправитель VARCHAR (10) REFERENCES Пользователь (ID) NOT NULL,

Получатель VARCHAR (10) REFERENCES "Пользователь 1" (ID) NOT NULL,

Текст TEXT (1000) NOT NULL,

Дата DATE NOT NULL);

-- Таблица: ВУЗ

CREATE TABLE ВУЗ (

Название TEXT (200)

PRIMARY KEY NOT NULL,

"Год основания" TEXT (4));

INSERT INTO ВУЗ (Название, "Год основания") VALUES ('ШПЕК', '1995');

INSERT INTO ВУЗ (Название, "Год основания") VALUES ('РАБ', '1993');

INSERT INTO ВУЗ (Название, "Год основания") VALUES ('ПЕК', '1992');

INSERT INTO ВУЗ (Название, "Год основания") VALUES ('ПУК', '1991');

-- Таблица: Факультет

CREATE TABLE Факультет (

Название TEXT (200) PRIMARY KEY NOT NULL);

INSERT INTO Факультет (Название) VALUES ('Бесполезных знаний и умений');

INSERT INTO Факультет (Название) VALUES ('Собирательных причастий');

INSERT INTO Факультет (Название) VALUES ('Экономики Занзибара');

INSERT INTO Факультет (Название) VALUES ('Изучения беспорядков в посёлках');

INSERT INTO Факультет (Название) VALUES ('Вторичных федеральный должностей');

INSERT INTO Факультет (Название) VALUES ('Религии вселенной Властелина Колей');

INSERT INTO Факультет (Название) VALUES ('Уважаемых людей');

INSERT INTO Факультет (Название) VALUES ('Перманентных лодырей');

INSERT INTO Факультет (Название) VALUES ('Программирования культурного кода a la russe');

-- Таблица: Кафедра

CREATE TABLE Кафедра (

Название TEXT (200),

Номер TEXT (4) PRIMARY KEY NOT NULL,

"Название факультета" TEXT (200),

"Название ВУЗа" TEXT (200) REFERENCES ВУЗ (Название) ON UPDATE NO ACTION, FOREIGN KEY("Название факультета") REFERENCES Факультет (Название));

INSERT INTO Кафедра (Название, Номер, "Название факультета", "Название ВУЗа")

VALUES ('Высоких технологий и мгновенной ответственности за базар', '10', 'Бесполезных знаний и умений', 'ШПЕК');

INSERT INTO Кафедра (Название, Номер, "Название факультета", "Название ВУЗа")

VALUES ('Низких технологий и посредственных решений', '11', 'Собирательных причастий', 'ШПЕК');

INSERT INTO Кафедра (Название, Номер, "Название факультета", "Название ВУЗа")

VALUES ('Экономических резолюций Исландии в 1921 году', '20', 'Экономики Занзибара', 'РАБ');

INSERT INTO Кафедра (Название, Номер, "Название факультета", "Название ВУЗа")

VALUES ('Постоянных притязаний ларьков и РОсАла', '22', 'Изучения беспорядков в посёлках', 'РАБ');

INSERT INTO Кафедра (Название, Номер, "Название факультета", "Название ВУЗа")

VALUES ('Инноватики пещерных людей', '44', 'Перманентных лодырей', 'ПУК');

INSERT INTO Кафедра (Название, Номер, "Название факультета", "Название ВУЗа")

VALUES ('Кулинарный гид ВВП', '40', 'Программирования культурного кода a la russe', 'ПУК');

INSERT INTO Кафедра (Название, Номер, "Название факультета", "Название ВУЗа")

VALUES ('Аперетивы Аптекарей с Лубянки', '33', 'Уважаемых людей', 'ПЕК');

INSERT INTO Кафедра (Название, Номер, "Название факультета", "Название ВУЗа")

VALUES ('Трагедия первого мира через призму Лебедя Рака и Щуки', '30', 'Религии вселенной Властелина Колей', 'ПЕК');

-- Таблица: Образование

CREATE TABLE Образование (

"ID пользоватля" VARCHAR (10) REFERENCES Пользователь (ID),

"Год окончания" TEXT (4) NOT NULL,

"Номер кафедры" TEXT (4) REFERENCES Кафедра (Номер),

"Название факультета" TEXT (200) REFERENCES Факультет (Название),

"Название ВУЗа" TEXT (200) REFERENCES ВУЗ (Название) NOT NULL, ID TEXT (10) PRIMARY KEY);

INSERT INTO Образование ("ID пользоватля", "Год окончания", "Номер кафедры", "Название факультета", "Название ВУЗа", ID)

VALUES ('130', '2020', '44', 'Перманентных лодырей', 'ПУК', '11110');

INSERT INTO Образование ("ID пользоватля", "Год окончания", "Номер кафедры", "Название факультета", "Название ВУЗа", ID)

VALUES ('129', '2011', '40', 'Уважаемых людей', 'ПУК', '1111');

INSERT INTO Образование ("ID пользоватля", "Год окончания", "Номер кафедры", "Название факультета", "Название ВУЗа", ID)

VALUES ('128', '2009', '33', 'Религии вселенной Властелина Колей', 'ПЕК', '1110');

INSERT INTO Образование ("ID пользоватля", "Год окончания", "Номер кафедры", "Название факультета", "Название ВУЗа", ID)

VALUES ('127', '2012', '30', 'Вторичных федеральный должностей', 'ПЕК', '1101');

INSERT INTO Образование ("ID пользоватля", "Год окончания", "Номер кафедры", "Название факультета", "Название ВУЗа", ID)

VALUES ('126', '2020', '22', 'Изучения беспорядков в посёлках', 'РАБ', '1100');

INSERT INTO Образование ("ID пользоватля", "Год окончания", "Номер кафедры", "Название факультета", "Название ВУЗа", ID)

VALUES ('125', '2012', '20', 'Экономики Занзибара', 'РАБ', '1010');

INSERT INTO Образование ("ID пользоватля", "Год окончания", "Номер кафедры", "Название факультета", "Название ВУЗа", ID)

VALUES ('124', '2009', '11', 'Собирательных причастий', 'ШПЕК', '1001');

INSERT INTO Образование ("ID пользоватля", "Год окончания", "Номер кафедры", "Название факультета", "Название ВУЗа", ID)

VALUES ('123', '2010', '10', 'Бесполезных знаний и умений', 'ШПЕК', '1000');

INSERT INTO Образование ("ID пользоватля", "Год окончания", "Номер кафедры", "Название факультета", "Название ВУЗа", ID)

VALUES ('131', '2012', '40', 'Программирования культурного кода a la russe', 'ПЕК', '11101');

-- Таблица: ПБ

CREATE TABLE ПБ ("ID пользователя" VARCHAR (10) REFERENCES Пользователь (ID),

"ID беседы" VARCHAR (20) REFERENCES Беседа ("ID беседы"));

INSERT INTO ПБ ("ID пользователя", "ID беседы")

VALUES (

'124',

'9992');

INSERT INTO ПБ ("ID пользователя", "ID беседы")

VALUES (

'125',

'9992');

INSERT INTO ПБ ("ID пользователя", "ID беседы")

VALUES (

'126',

'9992');

INSERT INTO ПБ ("ID пользователя", "ID беседы")

VALUES (

'127',

'9992');

INSERT INTO ПБ ("ID пользователя", "ID беседы")

VALUES (

'128',

'9992');

INSERT INTO ПБ ("ID пользователя", "ID беседы")

VALUES (

'129',

'9992');

INSERT INTO ПБ ("ID пользователя", "ID беседы")

VALUES (

'130',

'9992');

INSERT INTO ПБ ("ID пользователя", "ID беседы")

VALUES (

'131',

'9992');

-- Таблица: Сообщение на стене

CREATE TABLE "Сообщение на стене" (

Текст TEXT (1000) NOT NULL,

"Дата " DATE NOT NULL,

"ID сообщения на стене" VARCHAR (50) PRIMARY KEY NOT NULL,

Отправитель VARCHAR (10) REFERENCES Пользователь (ID),

Получатель VARCHAR (10) REFERENCES Пользователь (ID) NOT NULL);

INSERT INTO "Сообщение на стене" (Текст, "Дата ", "ID сообщения на стене", Отправитель, Получатель)

VALUES ('Что вообще происходит?', '01.01.2021', '011', '130', '128');

INSERT INTO "Сообщение на стене" (Текст, "Дата ", "ID сообщения на стене", Отправитель, Получатель)

VALUES ('Тебя тоже с новым годом!', '31.12.2021', '013', '125', '126');

INSERT INTO "Сообщение на стене" (Текст, "Дата ", "ID сообщения на стене", Отправитель, Получатель)

VALUES ('С новым годом!', '31.12.2021', '012', '126', '125');

INSERT INTO "Сообщение на стене" (Текст, "Дата ", "ID сообщения на стене", Отправитель, Получатель)

VALUES ('Иаруктдплолщщутиинощщ оцоыщотоооу', '10.01.2021', '014', '124', '131');

-- Таблица: Дружба

CREATE TABLE Дружба (

"ID пользователя 1" INTEGER

REFERENCES Пользователь (ID) NOT NULL,

"ID пользователя2" INTEGER

REFERENCES Пользователь (ID),Статус VARCHAR (2));

INSERT INTO Дружба ("ID пользователя 1", "ID пользователя2", Статус)

VALUES (131, 130, '2');

INSERT INTO Дружба ("ID пользователя 1", "ID пользователя2", Статус)

VALUES (127, 131, '0');

INSERT INTO Дружба ("ID пользователя 1", "ID пользователя2", Статус)

VALUES (123, 131, '1');

INSERT INTO Дружба ("ID пользователя 1", "ID пользователя2", Статус)

VALUES (125, 126, '2');

INSERT INTO Дружба ("ID пользователя 1", "ID пользователя2", Статус)

VALUES (129, 128, '1');

INSERT INTO Дружба ("ID пользователя 1", "ID пользователя2", Статус)

VALUES (128, 127, '2');

INSERT INTO Дружба ("ID пользователя 1", "ID пользователя2", Статус)

VALUES (131, 128, '2');

--COMMIT TRANSACTION;

Вывод: ходе лабораторной работы ознакомилась с методами создания базы данных, а так же заполнения ее различными значениями посредством SQL запросов

Соседние файлы в предмете Базы данных