Образовательная автономная некоммерческая организация высшего образования «МОСКОВСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ» ОТЧЕТ о прохождении производственной практики по профессиональному модулю ПМ.05 Соадминистрирование и автоматизация баз данных и серверов __________________ шифр и номер группы ________________ _____________ (Ф.И.О.) Содержание: 1. Организационный этап (инструктаж по проведению практики) 2. Подготовительный этап (изучение организационной структуры объекта практики и особенностей деятельности выбранного банковского учреждения) 3. Исследовательский этап (сбор информации об объекте практики и анализ содержания источников информации по практике) 4. Проектный этап (экспериментально-практическая работа) 5. Аналитический этап (обработка и анализ полученной информации об объекте практики, предложения и рекомендации) Отчетный этап (заполненные формы отчетности, документы, схемы, графики и прочее) Структура отчета: Введение 1. Характеристика базы практики, роль и место подразделения, в котором работал практикант в общей структуре организации, объем выполняемых подразделением работ и услуг в общем объеме операций и т.д. 2. Основная часть Выполняется в соответствии с индивидуальным планом работы по соответствующему профессиональному модулю. 3. Заключение Выводы и предложения. Необходимо разработать конкретные предложения по усовершенствованию организации работы базы практики в рамках соответствующего профессионального модуля, что, по сути, становится итогом пройденной практики. При этом сравниваются результаты теоретического обучения с наблюдениями и выводами по работе в конкретной организации. 4. Приложения Документальное подтверждение отдельных разделов, положений отчета (заполненные формы отчетности, документы, схемы, графики и прочее). 5. Литература Законодательная база, №№ инструкций, приказов, распоряжений, учебные пособия, учебники и другая литература. Дата: _____________ _________________________________ (Подпись, инициалы студента) 1. Описание предметной области В качестве предметной области рассматривается модель «Деятельности строительного магазина ООО «Крада», занимающейся коммерческим строительством. Клиенты, физические и юридические лица, заинтересованные в строительстве нужных им объектов, обращаются в строительную компанию. Можно сделать вывод, что компания просто получает заказы и выполняет свою работу. Сама работа строительной компании предполагает собой: подтверждение заявки, заказа, составление соглашения для строительных работ, и наконец, сами работы. Из всего данного следует, что для разбора функциональной деятельности фирмы нужно тщательно изучить все стороны течения работы организации. Ход деятельности фирмы можно описать так: клиенты обращаются в строительную фирму с целью строительства необходимого им объекта. Объектом может являться как дома (многоквартирные и частные), так и бани, гаражи и т.д. Для всех типов строений требуются разнородные материалы в всевозможных количествах в соответствии с их планом и сметой. На разных шагах постройки сооружения трудятся различные бригады. Производственная бригада — тип первичного структурного подразделения в производственных организациях промышленности, строительства, аграрного хозяйства и т. Бригада представляет собой беспрерывный или временный коллектив рабочих, исполняющих общее производственное задание и несущих общую ответственность за результаты своего труда. Члены бригады могут иметь как одинаковую, так и всевозможные профессии. Составляя график работ, фирма модифицирует состав бригад. трудящиеся могут определяться в различные бригады. Один и тот же работник может обладать порядком специальностей, следовательно его могут подключать попеременно в разные бригады. Численность бригады обусловлена габаритами сооружения и предъявляемых к нему требований. Другими словами, бригады составляются, исходя из запросов определенного здания. Кроме того, для каждой бригады, функционирующей на строительстве определенного здания, назначается бригадир. Работник может являться бригадиром в одной бригаде и затем трудиться в других бригадах простым рабочим. База данных должна включать график работ по каждому зданию, сведения про то, кто из трудящихся фирмы в какую бригаду назначен на разных зданиях и какие материалы и в каких количествах применяют при возведении различных зданий. 2. Концептуальное (инфологическое) проектирование Инфологическая модель применяется на втором этапе проектирования, то есть после моделирования. Представим предметную область как взаимодействие нескольких сущностей. Для более понятного взаимодействия между собой разделим их условно на несколько групп. Первая группа описывает рабочих, выполняющих строительные работы. Состоит из сущностей «Бригада», «Состав бригады», «Список рабочих», Специальности рабочих», «Специальности». Вторая группа описывает материалы, используемые для выполнения строительных работ. Состоит из сущностей «Материалы» и «Используемые материалы». Третья группа описывает объекты строительства и состоит из сущностей «Объекты» и «Типы объектов строительства». И ещё одна сущность находится отдельно от остальных групп – сущность «График работы». Каждая сущность, с точки зрения решаемой задачи, должна быть представлена группой свойств (атрибутов), позволяющих охарактеризовать тот или иной объект (сущность). Сущность «Список_рабочих», с точки зрения решаемой задачи, должна быть представлена группой свойств, позволяющих охарактеризовать человека в рамках каждого отдельно рабочего: Код_рабочего; Фамилия; Имя; Отчество; Сущность «Специальности» описывает все доступные рабочие специальности и состоит всего из двух атрибутов «Код_специальности» и «Наименование». Для того, чтобы объединить сущности «Список_рабочих» и «Специальности» создадим ещё одну сущность «Специальности_рабочих», связывающая их по ключевым атрибутам «Код_рабочего» и «Код_специальности». За выполнение определённой строительной работы отвечает сущность «Бригады», которая состоит с следующих атрибутов: «Код_бригады», «Название» и «Бригадир». «Список_рабочих» и Для «Бригады» того, чтобы создадим объединить сущности ещё сущность одну «Состав_бригады», связывающая их по атрибутам «Код_рабочего» и «Код_бригады». Так же для каждой бригады необходимо будет назначить своего бригадира. Для этого связываем сущности «Бригада» и «Список_рабочих». Перейдем к следующей группе наших сущностей, связанной с производственными материалами. Сущность «Материли» содержит информацию о всех материал находящихся во владении фирмы со следующими атрибутами: «Код_материала», «Наименование», «Ед_изм». Сущность «Использование_материалов» содержит информацию о всех материал используемых при выполнении строительных работ фирмы и содержит такие атрибуты как: «№_пп», «Код_объекта», «Код_бригады», «Код_материала», «Количество», «Дата». Свяжем сущности «Материал» и «Использование_материалов» по атрибуту «Код_материала». А по атрибуту «Код_бригады» свяжем с сущностью «Бригады». Для группы сущностей объектов строительства так же назначим соответствующие атрибуты. Для сущности «Типы_объектов_строительства» назначим всего два свойства «Код_объекта» и «Наименование_типа». Для сущности «Объекты» атрибутами будут являться: «Код_объекта», «Название», «Адрес» и «Код_типа». По последнему свяжем данную сущность с «Типы_объектов_строительства». А по ключевому полю «Код_объекта» свяжем с сущностью «Использование_материалов». Для фиксации каждого использованного материла с определённым объектом строительства. Для последней сущности «График_работы» создадим атрибуты: «№_пп», «Код_объекта», «Описание работ», «Код_бригады», «Дата_начала_работ», «Дата_окончания_работ». И свяжем с сущностями «Бригады» и «Объекты» по их ключевым полям. В результате получим готовую концептуальную модель построенную на основе модели «сущность-связь». 3. Структура таблиц Для хранения данных в выбранной СУБД используются таблицы. В них хранится вся информация о предметной области. Базы данных включают несколько взаимосвязанных таблиц. Объекты, которые были описаны при построении инфологической модели предметной области, в базе данных являются таблицами. Для создания эффективной базы данных важно правильно определить структуру таблиц, то есть состав полей. На этом этапе нужно руководствоваться следующими соображениями: информация в таблицах не должна дублироваться; желательно, чтобы каждая таблица содержала информацию только на одну тему; не рекомендуется включать в таблицу данные, которые получаются в результате вычислений; информацию об объекте желательно разбивать на минимальные единицы. Рассмотрим более подробно каждую из сущностей и атрибуты, которые они должны содержать. Так же опишем непосредственно типы данных, которые должны браться для каждого из атрибутов в практической реализации базы данных (табл. 1-10). Причём типы данных могут иметь несколько иные названия в определённых, отдельно взятых СУБД. Таблица 1 Атрибуты сущности «Бригада» Название атрибута Код_бригады Название Бригадир Тип Размер поля Числовой Длинное целое Текстовый 40 Числовой Длинное целое атрибута Таблица 2 Атрибуты сущности «График_работы» Название атрибута №_пп Код_объекта Тип Размер поля Числовой Длинное целое Текстовый 120 Описание_работ Числовой Длинное целое Код_бригады Числовой Длинное целое Дата_начала_работ Дата/время Краткий формат Дата_окончания_р Дата/время абот атрибута даты Краткий формат даты Таблица 3 Атрибуты сущности «Использование_материалов» Название атрибута №_пп Код_объекта Тип Размер поля Числовой Длинное целое Числовой Длинное целое Код_бригады Числовой Длинное целое Код_материала Числовой Длинное целое Количество Числовой Длинное целое Дата Дата/время Краткий формат атрибута даты Таблица 4 Атрибуты сущности «Материалы» Название атрибута Код_материала Наименование Ед_изм Тип Размер поля Числовой Длинное целое Текстовый 60 Текстовый 20 атрибута Таблица 5 Атрибуты сущности «Объекты» Название атрибута Код_объекта Название Тип Размер поля Числовой Длинное целое Текстовый 40 Адрес Текстовый 60 Код_типа Числовой Длинное целое атрибута Таблица 6 Атрибуты сущности «Состав_бригады» Название атрибута Тип Размер поля атрибута Код_рабочего Числовой Длинное целое Код_бригады Числовой Длинное целое Таблица 7 Атрибуты сущности «Специальности» Название атрибута Код_специальност и Наименование Тип атрибута Размер поля Числовой Длинное целое Текстовый 50 Таблица 8 Атрибуты сущности «Специальности_рабочих» Название атрибута Код_рабочего Код_специальност и Тип атрибута Размер поля Числовой Длинное целое Числовой Длинное целое Таблица 9 Атрибуты сущности «Список__рабочих» Название атрибута Код_рабочего Фамилия Тип Размер поля Числовой Длинное целое Текстовый 30 Имя Текстовый 30 Отчество Текстовый 30 Телефон Числовой Длинное целое атрибута Таблица 10 Атрибуты сущности «Типы_обхъектов_строительства» Название атрибута Код_типа Наименование_тип а Тип атрибута Размер поля Числовой Длинное целое Текстовый 30 4.Логическое (даталогическое) проектирование Следующий этап проектирования – построение даталогической модели. В рассматриваемом случае задача этого этапа – преобразование ERдиаграммы в реляционную схему. Реляционный подход, в основе которого лежит принцип разделения и связей, обеспечивает, с одной стороны, независимость данных, а с другой – более простые способы хранения и обновления. Перед тем как приступить к самому проектированию, необходимо сначала создать рабочую область в ERwin data modeler. В окне Create Model выбираем тип модели Logical/Physical для того, чтобы была возможность перенести нашу спроектированную базу данных в СУБД. Для выбора СУБД в области Target Datebase укажем SQL Server версии 2000/2005 года и нажмём кнопку ОК (рис. 9). Рис.9. Создание рабочей области в ERwin data modeler Первые шаги преобразования состоят в превращении каждой сущности в отношение (таблицу). Связь типа 1:М, которую называют «сущностьсвязь», тоже превращается в отдельное отношение. Каждое свойство становиться атрибутом – столбцом соответствующей таблицы. Для добавления таблицы в рабочую область проектирования нужно нажать правой кнопкой мыши по элементу Tables в объектах модели и выбрать пункт New (рис. 10). Рис.10. Создание новой таблице После этого в рабочей области проектирования добавиться новый объект, который необходимо настроить. Для этого выбираем из контекстного меню объекта Columns в котором будет происходить настройка полей. В открывшемся окне поменяем название таблицы на «Список_рабочих», а в область Colomn добавим новые поля: Код_рабочих, Фамилия, Имя, Отчество, Телефон. Поле Код_рабочих сделаем первичным ключом, поставив галочку на свойстве Primary key. У полей Фамилия, Имя и Отчество назначим тип данных String, а у полей Код_рабочего и Телефон – Number и нажмём кнопку ОК (рис. 11). Рис.11. Настройка полей таблицы После реализации этих шагов создадим оставшиеся таблицы и в результате будет получена реляционная схема (рис. 12), где представлены таблицы «Специальности», «Специальности_рабочих», «Список_рабочих», «Состав_бригады», «Бригады», «Материалы», «Использование_материалов», «Типы_объектов_строительства», «Объекты», «График_работы». Рис.12. Реляционная схема после первого этапа преобразования Связь «один ко многим» должна содержать уникальные идентификаторы сущностей – уникальные связи. Для ликвидации избыточности и потенциальной противоречивости данных в таблицах присутствует столбец уникального идентификатора, содержимое которого будет однозначно идентифицировать каждую строку таблицы. Рассмотрим данную связь на примере. В таблице «Материал» присутствует столбец «Код_материала», содержимое которого будет однозначно идентифицировать каждую строку таблицы. Создадим связь с таблицей «Использование материалов» и её полем «Код_материала». Для добавления связи между объектами рабочей области проектирования нужно нажать правой кнопкой мыши по элементу Relationship в объектах модели и выбрать пункт New. В открывшемся окне редактора связей выберем в качестве родителя таблицу «Материалы», а в качестве наследователя таблицу «Использование_материалов». Тип связи установим, как Non-Identifing (рис. 13). Рис.13. Создание связи между таблицами Теперь столбец «Код_материала» добавлен в таблицу «Использование_материалов» с отметкой FK, что означает связь по данному пулю с таблицей «Материал». В таблицу «Объекты» добавлен столбец «Код_типа» из таблицы «Типы_объектов_строительства», идентифицировать каждую «Специальности_рабочих» который будет строку таблицы. добавлены столбцы А однозначно в таблицу «Код_рабочего» и «Код_специальности» из таблиц «Список_рабочих» и «Специальности» соответственно, содержимое которых так же будет однозначно идентифицировать каждую строку таблицы. В таблицу «Состав бригады» добавлены столбцы «Код_рабочего» и «Код_бригады» из таблиц «Список_рабочих» и «Бригады» соответственно, содержимое которых так же будет однозначно идентифицировать каждую строку таблицы. Из таблицы «Список_рабочих» добавим поле «Код_рабочего» в таблицу «Бригады» и назовем его «Бригадир», который будет являться уникальным для каждой рабой бригады. Аналогично создадим оставшиеся связи по уникальному идентификатору и получим готовую реляционную схему со связями (рис. 14). Рис.14. Реляционная схема со связями После проектирования схемы нам необходимо на её основе создать SQL-скрипт для использования его в проектировании СУБД. В AllFusion ErWin Data Modeler существует различные способы, упрощающие и автоматизирующие создание базы данных. Воспользуемся одним с простейших способов получения текстового файла SQL скриптов, которые можно использовать при создании БД. Перейдём в режим физической модели и на вкладке Tools при наведении на Forward Engineer выберем пункт Schema Generation. В открывшемся окне можно увидеть сгенерированный код, нажав на кнопку Preview (рис. 15). Рис.15. Сгенерированный SQL скрипт Для сохранения скрипта нажмём на кнопку Report и в открывшемся окне можно выбрать путь сохранения файла и его наименование (рис. 16). Рис.16. Сохранение SQL скрипта 6. Проектирование физической модели данных Физическая модель – это привязка логической модели к конкретной среде хранения и методам хранения данных. В соответствии с данными инфологической и даталогической моделями уже можно приступать к непосредственному созданию реальной базы данных в оболочке Microsoft SQL Server Management Studio. Так как у нас уже есть готовый скрипт для создания нашей базы данных, то нам необходимо его запустить. Для этого мы открываем готовый скрипт и запускаем его как запрос. После этого в нашей созданной базе данных автоматически появиться таблицы с первичными ключами и связи между ними. Все таблицы созданы в соответствии с реляционной схемой данных. На примере таблицы «Бригада» можно увидеть её полученную структуру с помощью SQL запроса (рис. 17). Рис.17. Создание таблицы «Бригады» На примере таблиц «Материалы» и «Использованные_материалы» можно увидеть связь между ними в SQL запросе (рис. 18). Связи других таблиц представлены в Приложении 1. Рис.18. Создание связи между таблиц В результате созданных таблиц со связями создадим диаграмму нашей базы данных (рис. 19). Рис.19. Диаграмма базы данных «Строительная фирма» 6. Организация ввода и корректировки данных База данных состоит из взаимозависимых таблиц, которые наполняются записями. Ведение базы данных предполагает под собой возможность управления записями: их добавление, изменение, удаление. Реализация данных возможностей возлагается на СУБД. Есть несколько возможностей реализации управления базой данных. Например, любое из указанных действий возможно реализовать: 1) На примере таблицы «Материалы» введём несколько новых записей с помощью SQL-кода (рис. 20). Рис.20. Добавление новых записей в таблицу «Материалы» 2) Ввод данных можно осуществить с помощью режима изменения строк в таблице (рис. 21). Рис.21. Заполненная таблица «Материалы» Выводы В ходе работы было выполнено индивидуальное задание: выполнен анализ предприятия; выполнен анализ предметной области; обоснован выбранный и разработанный проект БД; построена инфологическая модель; построена реляционная модель; была создана БД, отвечающая основным требованиям, обозначенным в разделе проектирования определенна технология и выбрана среда программирования; разработан программный код БД; проведены ограничения безопасности БД по определенному сценарию; В задачи разрабатываемого приложения входило проектирование, разработка базы данных строительной фирмы и ее реализация, используя case-средство CA ERwin Data Modeler и оболочку SQL Server Management Studio. В конечном итоге выполнения работы она была выполнена. Список используемых источников Основная литература: 1. Романенко М.Г. Системы электронного документооборота : учебное пособие (лабораторный практикум) / составители М. Г. Романенко. — Ставрополь : Северо-Кавказский федеральный университет, 2019. — 109 c. — Текст : электронный // Электронно-библиотечная система IPR BOOKS : [сайт]. — URL: https://www.iprbookshop.ru/92745.html 2. Сизова, О. В. Управление электронным предприятием : учебное пособие / О. В. Сизова, О. П. Смирнова. — Саратов : Ай Пи Ар Медиа, 2019. — 143 c. — ISBN 978-5-4497-0209-8. — Текст : электронный // Электроннобиблиотечная система IPR BOOKS : [сайт]. — URL: https://www.iprbookshop.ru/83659.html 3. Степанова, Е. Н. Система электронного документооборота (облачное решение) : учебное пособие / Е. Н. Степанова. — Москва : Ай Пи Ар Медиа, 2021. — 182 c. — ISBN 978-5-4497-0767-3. — Текст : электронный // Электронно-библиотечная система IPR BOOKS : [сайт]. — URL: https://www.iprbookshop.ru/101357.html Дополнительная литература: 4. Гладкий, А. А. Компьютер для индивидуального предпринимателя. Как вести учет быстро, легко и безошибочно : практическое пособие : [16+] / А. А. Гладкий. – Москва ; Берлин : Директ-Медиа, 2020. – 217 с. : ил. – Режим доступа: по подписке. – URL: https://biblioclub.ru/index.php?page=book&id=577163 5. Яковенко В.С. Учет в торговле : учебное пособие / В. С. Яковенко, Е. И. Костюкова, М. Н. Татаринова, О. В. Ельчанинова ; под редакцией В. С. Яковенко. — Ставрополь : Секвойя, 2019. — 81 c. — Текст : электронный // Электронно-библиотечная система IPR BOOKS : [сайт]. — URL: https://www.iprbookshop.ru/109413.html Программный код базы данных SQL-код создания таблиц и связей базы данных USE [Construction_firm] GO CREATE TABLE Бригады ( Код_бригады integer NOT NULL , Название varchar(40) NULL , Бригадир integer NULL ) go ALTER TABLE Бригады ADD CONSTRAINT go XPKБригады PRIMARY KEY NONCLUSTERED (Код_бригады ASC) CREATE TABLE График_работы ( N_пп integer NOT NULL , Код_объекта integer NULL , Описание_работ varchar(120) NULL , Код_бригады integer NULL , Дата_начала_работ datetime NULL , Дата_окончания_работ datetime NULL ) go ALTER TABLE График_работы ADD CONSTRAINT XPKГрафик_работы PRIMARY KEY go NONCLUSTERED (N_пп ASC) CREATE TABLE Использование_материалов ( N_пп integer NOT NULL , Код_объекта integer NULL , Код_бригады integer NULL , Код_материала integer NULL , Количество integer NULL , Дата datetime NULL ) go ALTER TABLE Использование_материалов ADD CONSTRAINT XPKИспользование_материалов PRIMARY KEY go CREATE TABLE Материалы ( Код_материала integer NOT NULL , Наименование varchar(60) NULL , Ед_изм varchar(20) NULL ) go ALTER TABLE Материалы NONCLUSTERED (N_пп ASC) ADD CONSTRAINT XPKМатериалы PRIMARY KEY NONCLUSTERED (Код_материала ASC) go CREATE TABLE Объекты ( Код_объекта integer NOT NULL , Название varchar(40) NULL , Адрес varchar(60) NULL , Код_типа integer NULL ) go ALTER TABLE Объекты ADD CONSTRAINT go XPKОбъекты PRIMARY KEY NONCLUSTERED (Код_объекта ASC) CREATE TABLE Состав_бригады ( Код_рабочего integer NOT NULL , Код_бригады integer NOT NULL ) go ALTER TABLE Состав_бригады ADD CONSTRAINT XPKСостав_бригады PRIMARY KEY ASC,Код_бригады ASC) go NONCLUSTERED (Код_рабочего CREATE TABLE Специальности ( Код_специальности integer NOT NULL , Наименование varchar(50) NULL ) go ALTER TABLE Специальности ADD CONSTRAINT XPKСпециальности PRIMARY KEY ASC) go NONCLUSTERED (Код_специальности CREATE TABLE Специальности_рабочих ( Код_рабочего integer NOT NULL , Код_специальности integer NOT NULL ) go ALTER TABLE Специальности_рабочих ADD CONSTRAINT XPKСпециальности_рабочих PRIMARY KEY ASC,Код_специальности ASC) go CREATE TABLE Список__рабочих ( Код_рабочего integer NOT NULL , Фамилия varchar(30) NULL , NONCLUSTERED (Код_рабочего Имя varchar(30) NULL , Отчество varchar(30) NULL , Телефон integer NULL ) go ALTER TABLE Список__рабочих ADD CONSTRAINT XPKСписок__рабочих PRIMARY KEY go NONCLUSTERED (Код_рабочего ASC) CREATE TABLE Типы_обхъектов_строительства ( Код_типа integer NOT NULL , Наименование_типа varchar(30) NULL ) go ALTER TABLE Типы_обхъектов_строительства ADD CONSTRAINT XPKТипы_обхъектов_строительства PRIMARY KEY (Код_типа ASC) go NONCLUSTERED ALTER TABLE Бригады ADD CONSTRAINT R_24 FOREIGN KEY (Бригадир) REFERENCES Список__рабочих(Код_рабочего) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE График_работы ADD CONSTRAINT R_16 FOREIGN KEY (Код_объекта) REFERENCES Объекты(Код_объекта) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE График_работы ADD CONSTRAINT R_17 FOREIGN KEY (Код_бригады) REFERENCES Бригады(Код_бригады) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE Использование_материалов ADD CONSTRAINT R_13 FOREIGN KEY (Код_объекта) REFERENCES Объекты(Код_объекта) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE Использование_материалов ADD CONSTRAINT R_14 FOREIGN KEY (Код_бригады) REFERENCES Бригады(Код_бригады) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE Использование_материалов ADD CONSTRAINT R_15 FOREIGN KEY (Код_материала) REFERENCES Материалы(Код_материала) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE Объекты ADD CONSTRAINT R_18 FOREIGN KEY (Код_типа) REFERENCES Типы_обхъектов_строительства(Код_типа) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE Состав_бригады ADD CONSTRAINT R_19 FOREIGN KEY (Код_рабочего) REFERENCES Список__рабочих(Код_рабочего) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE Состав_бригады ADD CONSTRAINT R_20 FOREIGN KEY (Код_бригады) REFERENCES Бригады(Код_бригады) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE Специальности_рабочих ADD CONSTRAINT R_21 FOREIGN KEY (Код_рабочего) REFERENCES Список__рабочих(Код_рабочего) ON DELETE NO ACTION ON UPDATE NO ACTION go ALTER TABLE Специальности_рабочих ADD CONSTRAINT R_22 FOREIGN KEY (Код_специальности) REFERENCES Специальности(Код_специальности) ON DELETE NO ACTION ON UPDATE NO ACTION go SQL-код заполнения таблиц данными USE [Construction_firm] GO INSERT INTO [dbo].[Материалы] (Код_материала, Наименование, Ед_изм ) VALUES ('1','Штукатурка цементная Weber.Vetonit TT30','кг'), ('2','Наливной пол Bergauf Boden Street','кг'), ('3','Клей для мозаики и камня Weber.Vetonit','кг'), ('4','Саморез кровельный 4,8*29 мм','шт'), ('5','Шуруп по дереву, универсальный 4*45','шт'), ('6','Дюбель-гриб 10*200 мм','шт'), ('7','Сетка кладочная, 1*2 м','шт'), ('8','Экструзионный пенополистирол','шт'), ('9','Гидроизоляция Weber.Tec 822, серая','кг'), ('10','Жидкие гвозди Kraftool KN-915','мл'), ('11','Пена монтажная профессиональная','мл'), ('12','Герметик силиконовый Kudo, санитарный','мл'), ('13','Кирпич керамический полнотелый','шт'), ('14','Краска Dulux Bindo 3 Professional BW','литр'), ('15','Лак паркетный глянцевый Престиж','литр'); GO INSERT INTO [dbo].[Типы_обхъектов_строительства] (Код_типа, Наименование_типа ) VALUES ('1','Многоквартирный дом'), ('2','Коттедж'), ('3','Индивидуальный жилой дом'), ('4','Гараж'), ('5','Некапитальное сооружение'); GO INSERT INTO [dbo].[Объекты] (Код_объекта, Название, Адрес, Код_типа ) VALUES ('1','СНТ "Надежда"','24-й проезд, 1889','3'), ('2','ЖК "Новинки"','ул. Дорожная, 9, кв.73','1'), ('3','СНТ "Новые зори"','13 проезд, 625','3'), ('4','Коттеджный посёлок "Лесной родник"','ул. Приозёрная, 16','2'), ('5','СНТ "Надежда"','22-й проезд, 1723','3'), ('6','ГСК №26','ул. Сазанова, 13 к4','4'), ('7','Коттеджный посёлок "Ромашково"','ул. Гоголя, 22','2'); GO INSERT INTO [dbo].[Специальности] (Код_специальности, Наименование ) VALUES ('1','Инженер-строитель'), ('2','Каменщик'), ('3','Маляр-штукатур'), ('4','Отделочник'), ('5','Бетонщик'); GO INSERT INTO [dbo].[Список__рабочих] (Код_рабочего, Фамилия, Имя, Отчество, Телефон ) VALUES ('1','Свистунов','Андрей','Михайлович','89367618'), ('2','Меньшиков','Антон','Васильевич','89951564'), ('3','Романов','Кирилл','Алексеевич','89073445'), ('4','Волков','Артур','Александрович','89706487'), ('5','Королёв','Сергей','Владимирович','89010644'), ('6','Овчинников','Никита','Евгеньевич','89950884'), ('7','Фролова','Анна','Витальевна','89046870'), ('8','Горохов','Александр','Артёмович','89603694'), ('9','Верещагин','Александр','Андреевич','89073788'), ('10','Лавров','Аркадий','Владимирович','89735893'); GO INSERT INTO [dbo].[Специальности_рабочих] (Код_рабочего, Код_специальности) VALUES ('1','5'), ('2','1'), ('3','3'), ('4','4'), ('5','2'), ('6','1'), ('7','3'), ('8','4'), ('9','5'), ('10','2'); GO INSERT INTO [dbo].[Бригады] (Код_бригады, Бригадир, Название) VALUES ('1','2','Основная бригда'), ('2','6','Бригада специальных назначений'); GO INSERT INTO [dbo].[Состав_бригады] (Код_рабочего, Код_бригады) VALUES ('1','1'), ('2','1'), ('3','1'), ('4','1'), ('5','1'), ('6','2'), ('7','2'), ('8','2'), ('9','2'), ('10','2'); GO INSERT INTO [dbo].[График_работы] (N_пп, Код_бригады, Код_объекта, Описание_работ, Дата_начала_работ, Дата_окончания_работ) VALUES ('1','1','7','Кладка камня','14.11.2021','05.12.2021'), ('2','1','2','Внутренние отделочные работы','04.12.2021','26.12.2021'), ('3','2','5','Установка ограждения','15.11.2021','24.12.2021'), ('4','1','3','Внутренние отделочные работы','28.12.2021','24.01.2022'), ('5','1','1','Установка ограждения','25.01.2022','27.02.2022'), ('6','2','6','Внутренние отделочные работы','25.12.2021','16.01.2022'), ('7','2','4','Кладка камня','17.01.2022','16.02.2022'); GO INSERT INTO [dbo].[Использование_материалов] (N_пп, Код_объекта, Код_бригады, Код_материала, Количество, Дата) VALUES ('1','7','1','7','15','14.11.2021'), ('2','2','1','14','5','04.12.2021'), ('3','5','2','13','200','15.11.2021'), ('4','3','1','3','3','28.12.2021'), ('5','1','1','13','120','25.01.2022'), ('6','6','2','15','6','25.12.2021'), ('7','4','2','7','8','17.01.2022'); GO