- •Створення структури розподіленої бази даних
- •Постановка задачи
- •Создание таблиц базы данных
- •Физическая модель данных
- •Изменение таблиц базы данных
- •Диаграмма базы данных
- •Удаление таблиц базы данных
- •Занесение информации в таблицы базы данных
- •Обновление информации в таблицах базы данных
- •Удаление информации из таблиц базы данных
Изменение таблиц базы данных
Установка огр аничений и внешних ключей
USE [Tester]
ALTER TABLE [dbo].[Account] WITH CHECK ADD CONSTRAINT [FK_Account_Type] FOREIGN KEY([Account_Type])
REFERENCES [dbo].[Type] ([Id])
ALTER TABLE [dbo].[Account] CHECK CONSTRAINT [FK_Account_Type]
ALTER TABLE [dbo].[Question] WITH CHECK ADD CONSTRAINT [UN_Question_Id_Test] FOREIGN KEY([Id_Test])
REFERENCES [dbo].[TestCase] ([Id])
ALTER TABLE [dbo].[Question] CHECK CONSTRAINT [UN_Question_Id_Test]
ALTER TABLE [dbo].[Session] WITH CHECK ADD CONSTRAINT [FK_Session_Account] FOREIGN KEY([Id_Account])
REFERENCES [dbo].[Account] ([Id])
ALTER TABLE [dbo].[Session] CHECK CONSTRAINT [FK_Session_Account]
ALTER TABLE [dbo].[Session] WITH CHECK ADD CONSTRAINT [FK_Session_TestCase] FOREIGN KEY([Id_Test])
REFERENCES [dbo].[TestCase] ([Id])
ALTER TABLE [dbo].[Session] CHECK CONSTRAINT [FK_Session_TestCase]
ALTER TABLE [dbo].[TestCase] WITH CHECK ADD CONSTRAINT [FK_TestCase_Id_Creator] FOREIGN KEY([Id_Creator])
REFERENCES [dbo].[Account] ([Id])
ALTER TABLE [dbo].[TestCase] CHECK CONSTRAINT [FK_TestCase_Id_Creator]
ALTER TABLE [dbo].[TestCase] WITH CHECK ADD CONSTRAINT [CK_TestCase_QuestionAmount] CHECK (([Questions_Amount]<(80) AND [Questions_Amount]>(0)))
ALTER TABLE [dbo].[TestCase] CHECK CONSTRAINT [CK_TestCase_QuestionAmount]
Скрипт добавления нового столбца в таблицу Account
USE [Tester]
ALTER TABLE [dbo].[Account]
ADD passwd nvarchar(100) not null default '';
Дизайн отношения Account перед модификацией
Дизайн отношения Account после модификации
Диаграмма базы данных
Диаграмма базы данных Tester
Удаление таблиц базы данных
Удаление таблиц Question и Session
USE [Tester]
DROP TABLE [dbo].[Question]
DROP TABLE [dbo].[Session]
Восстановление дизайна таблиц производим при помощи скриптов вначале отчета.
Занесение информации в таблицы базы данных
Скрипт занесения информации во все таблицы
USE [Tester]
INSERT INTO [dbo].[Type]([Name],[Description],[Rights])
VALUES
('Teacher','Can create and modify his own test cases',3),
('Student','Can only pass tests',1),
('Banned','Can''t do anything',0),
('Admin','Can delete, modify and create everything',7)
INSERT INTO [dbo].[Account]
([Nick_Name],[Full_Name],[Account_Type],[Notes])
VALUES
('petro','Василий Петрович',2,'Учитель Географии'),
('danger','Плохов Взлом',6,'Пользователь-нарушитель '),
('student','Игорь',5,'Хороший студент'),
('a.shostack','Анатолий Василиевич',2,'Преподаватель ОБД'),
('root','Вася',7,'Администратор')
Set DateFormat YMD
INSERT INTO [dbo].[TestCase]
([Name],[Description],[Id_Creator],[Creation_Date],[Time_To_Answer],[Questions_Amount])
VALUES
('География','Вопросы по курсу 5-го класса',3,'2014-02-10','00:09:00',3),
('ОБД-1','Общие вопросы по курсу ОБД',13,'2013-12-21','00:06:00',2)
INSERT INTO [dbo].[Question]
([Name],[Answers],[Right_Answers],[Id_Test])
VALUES
('Как называется четвертая по счету планета?','Земля//Венера//Марс//Юпитер','s//2',2),
('Какие спутники относятся к Марсу?','Фобос//Деймос//Каллисто//Леда//Лиситея','m//0//1',2),
('Виды БД:','Иерархическая//Объектно-Ориентированная//Реляционная//Сетевая//Эпителиальная//Соединительная//Нервная//Мышечная','m//0//1//2//3',3),
('Что такое БД?','Это совокупность данных, хранимых в соответствии со схемой данных, манипулирование которыми выполняют в соответствии с правилами средств моделирования данных.//Это мировоззренческая позиция, выражающаяся в отрицании осмысленности человеческого существования, значимости общепринятых нравственных и культурных ценностей, непризнании любых авторитетов//Это принятые в обществе представления о хорошем и плохом, правильном и неправильном, добре и зле, а также совокупность норм поведения, вытекающих из этих представлений.','s//0',3),
('Вы любите БД?','Да :)//Нет (но вы не правы)','s//0',3)
INSERT INTO [dbo].[Session]
([Id_Account],[Id_Test],[Passed_Questions],[Answers],[Start_Time])
VALUES
(11,3,'3//4','0|1|2|3|4//0','2014-02-16 21:46:15.000')
