
Практика 19 вариант / Практика 2
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ
Ордена Трудового Красного Знамени
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра Сетевых информационных технологий и сервисов (СИТиС)
Задача №2
по дисциплине
«Принципы построения систем управления базами данных и знаний»
Москва, 2024
Оглавление
1 Условие задачи 1.1 3
2 Ход выполнения задания 1.1 4
3 Условие задачи 1.2 6
4 Ход выполнения задания 1.2 7
1 Условие задачи 1.1
Имеется запись: отношение Работник, включающая в себя четыре поля:
Имя – 30-байтовая строка символов;
Адрес – символьная строка типа VARCHAR(255), представляемая массивом из 256 байтов в соответствии с одной из схем.
Пол – единственный байт, содержащий код одного из двух допустимых символов - «М» или «Ж»
Дата рождения величина типа DATE (3-байтовое представление значений дат SQL)
Должность – символьная строка типа VARCHAR(100), представляемая массивом из 101 байтов в соответствии с одной из схем.
Время и дата трудоустройства – величина типа DATETIME (8-байтовое представление значений дат SQL)
Название отдела – символьная строка типа CHAR(150), представляемая массивом из 150 байтов в соответствии с одной из схем.
Зарплата – NUMERIC(10,2), тип который будет занимать 12 байт.
Дополнить запись для отношения Работник заголовком длиной в n байт. Длина заголовка составляет три поля: хранение указателя 4 байта, задаёт величину смещения в области файла базы данных, где представлена информация о схеме отношения. Длина записи – остаток от суммы длин указателя и времени вставки, определяющую момент времени вставки или обновления кортежа 4 байта.
2 Ход выполнения задания 1.1
Исходные данные для задачи:
Вариант |
Заголовок |
19 |
18 |
Заголовок имеет длину 18 байт:
первые 6 байт (0-5) – указатель на схему
вторые 6 байт (6-11) – данные о длине записи
третьи 6 байт (12-17) – данные о времени изменения
Поле «Адрес» имеет длину 256 байт и начинается с 18 байта и заканчивается на 273 байте.
Поле «Пол» имеет длину 1 байт начинается с 274 байта и на нем заканчивается.
Поле «Время и дата трудоустройства» имеет длину 8 байт и начинается с 275 байта и заканчивается на 282 байте.
Поле «Зарплата» имеет длину 12 байт и начинается с 283 байта и заканчивается на 294 байте, новое поле начинается с 295 байта.
Общая длина записи: 18 + 256 + 1 + 8 + 12 = 295 байт
Схема хранения записи представлена на рисунке 1.
Рисунок 1 – Структура записи с 295 байтами
3 Условие задачи 1.2
Для указанных полей произвести конструирование записей постоянной длины. При решении задачи принять во внимание что каждая запись смещена на ту же величину что и поля в этой записи. Величина смещения равна n. Запись представить в виде графика, на котором должны быть отображены имена полей, номера байт, с которых начинаются поля. Определить общую длину записи.
Запись: отношение Работник включает в себя четыре поля:
Имя 30-байтовая строка символов;
Адрес - символьная строка типа VARCHAR(255), представляемая массивом из 256 байтов в соответствии с одной из схем.
Пол - единственный байт, содержащий код одного из двух допустимых символов - «М» или «Ж».
Дата рождения - величина типа DATE (3-байтовое представление значений SQL)
Должность - символьная строка типа VARCHAR(100), представляемая массивом из 101 байтов в соответствии с одной из схем.
Время дата и трудоустройства - величина типа DATETIME (8-байтовое представление значений дат SQL).
Название отдела - символьная строка типа CHAR(150), представляемая массивом из 150 байтов в соответствии с одной из схем.
Зарплата - NUMERIC(10,2), тип, который будет занимать 12 байт.
4 Ход выполнения задания 1.2
Исходные данные для задачи:
Вариант |
Заголовок |
19 |
18 |
Дополнить структуру записи для отношения Работник заголовком длиной в 18 байт. Поднимаем вверх до ближайшего числа, которое будет кратно 4 (до 24). Для записи дополнительной информации 24 байта следует разбить на 3 равные части, по 8 байт для хранения каждой порции:
первые 8 байт (0-7) – указатель на схему
вторые 8 байт (8-15) – данные о дине записи
третьи 8 байт (16-23) - данные о времени записи
Поле «Адрес» имеет длину 256 байт, что кратно 4, значит ничего не меняем. Начинается поле с 24 байта и заканчивается на 279 байте.
Поле «Пол» имеет длину 1 байт, увеличиваем длину поля до кратности 4 (на 3 байта), теперь поле начинается с 280 байта и заканчивается на 283 байте.
Поле «Время и дата трудоустройства» имеет длину 8 байт, что кратно 4, значит ничего не меняем. Начинается поле с 284 байта и заканчивается на 291 байте.
Поле «Зарплата» имеет длину 12 байт, что кратно 4, значит ничего не меняем. Начинается поле с 292 байта и заканчивается на 303 байте, новое поле начинается с 304 байта.
Общая длина записи: 24 + 256 + 4 + 8 + 12 = 304 байта
Схема хранения записи представлена на рисунке 2.
Рисунок 2 – Структура записи с 304 байтами