Вы находитесь на странице: 1из 11

Министерство образования и науки Российской Федерации

ФГАОУ ВО «УрФУ имени первого Президента России Б. Н. Ельцина»

Институт радиоэлектроники и информационных технологий – РТФ


Школа бакалавриата

ЛАБОРАТОРНАЯ РАБОТА
ПО БАЗАМ ДАННЫХ
Отчёт по лабораторной работе №1
Вариант №5

Преподаватель Парфенов Ю.П.

Студент группы РИ-380017 Третьяков. М. А

Номер зачётной книжки 09806921

Екатеринбург
2020
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ..............................................................................................................3
СОЗДАНИЕ БАЗЫ ДАННЫХ...............................................................................4
1.1 Первое создание БД....................................................................................4
1.2 Текст скрипта создания БД и таблицы.....................................................5
1.3 Системные представления.........................................................................8
КОНТРОЛЬНЫЕ ВОПРОСЫ................................................................................9
ЗАКЛЮЧЕНИЕ.....................................................................................................10

2
ВВЕДЕНИЕ

В данной лабораторной работе ставится цель получить первичные


навыки работы в Microsoft SQL Server Manager Studio.

3
СОЗДАНИЕ БАЗЫ ДАННЫХ

1.1 Первое создание БД

При первом создании базы данных вызывается диалоговое окно, в


котором можно ввести название базы данных, названия, размеры и группы
файлов для файлов базы данных.

4
При создании таблицы можно использовать экранную форму создания
таблицы, в которой можно указывать названия и типы столбцов таблицы.

1.2Текст скрипта создания БД и таблицы


1 USE [master] -- Использование базы данных master
2 GO
3
4 /****** Object: Database [db_Tretyakov_Maxim_Alekseevich] Script Date: 25.10.2020
22:53:46 ******/
5 CREATE DATABASE [db_Tretyakov_Maxim_Alekseevich] -- Создать базу данных
db_Tretyakov_Maxim_Alekseevich
6 CONTAINMENT = NONE -- Показывает, что бд будет не автономна
7 ON PRIMARY -- В файловой группе PRIMARY
8 ( NAME = N'db_Tretyakov_Maxim_Alekseevich', FILENAME = N'C:\Program Files\Microsoft
SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\db_Tretyakov_Maxim_Alekseevich.mdf' , SIZE
= 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ), -- Создаёт файл с указанным
инменем и минимальным размером
9 FILEGROUP [SECONDARY] -- В файловой группе SECONDARY
10 ( NAME = N'db_Tretyakov_Maxim_Alekseevich_secondary', FILENAME = N'C:\Program
Files\Microsoft SQL
Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\db_Tretyakov_Maxim_Alekseevich_secondary.ndf' ,
SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB ) -- Создаёт файл с
указанным инменем и минимальным размером
11 LOG ON -- запись логов
12 ( NAME = N'db_Tretyakov_Maxim_Alekseevich_log', FILENAME = N'C:\Program
Files\Microsoft SQL
Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\db_Tretyakov_Maxim_Alekseevich_log.ldf' , SIZE
= 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB ) -- Создаёт файл с указанным
инменем и минимальным размером
13 WITH CATALOG_COLLATION = DATABASE_DEFAULT -- в стандартном каталоге
14 GO
15
16 IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) -- если есть сервис поиска
FullTextSearch
17 begin
18 EXEC [db_Tretyakov_Maxim_Alekseevich].[dbo].[sp_fulltext_database] @action =
'enable'-- то включить её в самой бд
19 end
20 GO
21
22 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET ANSI_NULL_DEFAULT OFF --
выключить возможность null значения полей по умолчанию
23 GO
24
25 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET ANSI_NULLS OFF -- ставит
ANSI_NULLS выключенным
26 GO
5
27
28 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET ANSI_PADDING OFF -- ставит
ANSI_PADDING выключенным
29 GO
30
31 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET ANSI_WARNINGS OFF -- ставит
ANSI_WARNINGS выключенным
32 GO
33
34 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET ARITHABORT OFF -- ставит
ARITHABORT выключенным
35 GO
36
37 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET AUTO_CLOSE OFF -- ставит
AUTO_CLOSE выключенным
38 GO
39
40 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET AUTO_SHRINK OFF -- ставит
AUTO_SHRINK выключенным
41 GO
42
43 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET AUTO_UPDATE_STATISTICS ON --
ставит AUTO_UPDATE_STATISTICS включенным
44 GO
45
46 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET CURSOR_CLOSE_ON_COMMIT OFF --
ставит CURSOR_CLOSE_ON_COMMIT выключенным
47 GO
48
49 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET CURSOR_DEFAULT GLOBAL -- ставит
CURSOR_DEFAULT глобальным
50 GO
51
52 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET CONCAT_NULL_YIELDS_NULL OFF --
ставит CONCAT_NULL_YIELDS_NULL выключенным
53 GO
54
55 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET NUMERIC_ROUNDABORT OFF -- ставит
NUMERIC_ROUNDABORT выключенным
56 GO
57
58 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET QUOTED_IDENTIFIER OFF -- ставит
QUOTED_IDENTIFIER выключенным
59 GO
60
61 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET RECURSIVE_TRIGGERS OFF -- ставит
RECURSIVE_TRIGGERS выключенным
62 GO
63
64 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET DISABLE_BROKER -- выключает
брокера для бд
65 GO
66
67 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
-- ставит AUTO_UPDATE_STATISTICS_ASYNC выключенным
68 GO
69
70 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET DATE_CORRELATION_OPTIMIZATION OFF
-- ставит DATE_CORRELATION_OPTIMIZATION выключенным
71 GO
72
73 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET TRUSTWORTHY OFF -- ставит
TRUSTWORTHY выключенным
74 GO

6
75
76 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET ALLOW_SNAPSHOT_ISOLATION OFF --
ставит ALLOW_SNAPSHOT_ISOLATION выключенным
77 GO
78
79 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET PARAMETERIZATION SIMPLE -- ставит
PARAMETERIZATION для едиственного
80 GO
81
82 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET READ_COMMITTED_SNAPSHOT OFF --
ставит READ_COMMITTED_SNAPSHOT выключенным
83 GO
84
85 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET HONOR_BROKER_PRIORITY OFF --
ставит HONOR_BROKER_PRIORITY выключенным
86 GO
87
88 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET RECOVERY FULL -- ставит RECOVERY
записывать всё
89 GO
90
91 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET MULTI_USER -- говорит, что бд
может использоваться несколькими пользователями
92 GO
93
94 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET PAGE_VERIFY CHECKSUM --
проверяет страницы посредством проверки хэше
95 GO
96
97 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET DB_CHAINING OFF -- ставит
DB_CHAINING выключенным
98 GO
99
100 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET FILESTREAM( NON_TRANSACTED_ACCESS
= OFF ) -- ставит NON_TRANSACTED_ACCESS выключенным
101 GO
102
103 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET TARGET_RECOVERY_TIME = 60 SECONDS
-- ставит время восстановления в 1 минуту
104 GO
105
106 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET DELAYED_DURABILITY = DISABLED --
ставит DELAYED_DURABILITY выключенным
107 GO
108
109 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET ACCELERATED_DATABASE_RECOVERY =
OFF -- ставит ACCELERATED_DATABASE_RECOVERY выключенным
110 GO
111
112 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET QUERY_STORE = OFF -- ставит
QUERY_STORE выключенным
113 GO
114
115 ALTER DATABASE [db_Tretyakov_Maxim_Alekseevich] SET READ_WRITE -- говорит что базу
данных читать и писать в неё
116 GO
117
118 USE [db_Tretyakov_Maxim_Alekseevich] -- использовать бд
db_Tretyakov_Maxim_Alekseevich
119 GO
120
121 /****** Object: Table [dbo].[FirstTable] Script Date: 25.10.2020 23:04:02 ******/
122 SET ANSI_NULLS ON -- даёт использовать значения null стандартными
123 GO

7
124
125 SET QUOTED_IDENTIFIER ON -- гвоорит использовать стандарт ISO, давая возможность
отделять идентификаторы посредством "" - двойных кавычек
126 GO
127
128 CREATE TABLE [dbo].[FirstTable](
129 [name] [nchar](10) NOT NULL,
130 [Id] [int] NOT NULL,
131 CONSTRAINT [PK_FirstTable] PRIMARY KEY CLUSTERED
132 (
133 [Id] ASC
134 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON
[PRIMARY]
135 ) ON [PRIMARY] -- создаёт таблицу FirstTable с полями name с типом текста длинной в
10 и Id с типом целочисленное, Id - первичный ключ, таблица создаётся в файловой
группе primary
136 GO

1.3Системные представления

Системные представления хранят в себе информацию о системной


информации, например, как названия колонок.

8
КОНТРОЛЬНЫЕ ВОПРОСЫ

1 Что собой представляет план исполнения запроса и как его можно


посмотреть?
План исполнения запроса – последовательное выполнение команд,
разделённых go.

2 Как узнать в каком файле хранятся системные таблицы и представления


пользовательской базы?
Посмотреть код создания или же настройки таблиц или же из таблицы
TABLE_CONSTRAINTS.TABLE_CONSTRAINTS.

3 Как посмотреть/изменить параметры конфигурации сервера, опции базы в


диалоге и операторами Transact-SQL?
Зайти в настройки через диалоговое окно и изменить из, либо выполнить
SQL запросы в направление нужной БД.

4 Как в диалоге добавить для данных базы новый файл или файловую
группу?
Зайти в настройки БД и добавить нужный файл, там же можно создать
новую файловую группу.

5 Что выполняет следующая инструкция ALTER DATABASE MyDB SET


SINGLE_USER WITH ROLLBACK IMMEDIATE? К чему может привести
попытка удаления базы без выполнения данной команды?
Команда переводит БД в режим использования одним пользователем,
если не перевести её в этот режим, то при удалении будет падать ошибка,
что БД кем-то используется.

6 К чему приводит попытка сделать копию файла данных средствами


операционной системы?
При включенной Microsoft SQL Server Manager Studio выдаётся ошибка
копирования, иначе данные скопируются, но только при подтверждении
администратором.
9
7 По каким событиям изменения, выполняемые в табличном редакторе
передаются в базу? Как изменения строки визуализируются в табличном
редакторе?
По событиям подтверждения изменений, выглядит как в обычных
графических текстовых редакторах.

10
ЗАКЛЮЧЕНИЕ

Вывод: изученные возможности программного обеспечения


Microsoft SQL Server Manager Studio сильно расширили мои возможности, и я
необходимые навыки для дальнейшей работы.

11