Построение таблиц базы данных
На предыдущем этапе мы построили схему базы данных, воспользовавшись общими правилами перехода к реляционной модели данных. Она является корректной, поскольку в ней отсутствуют нежелательные отношения. Ставится вопрос, а какую же СУБД использовать? Выбор остановим на реляционной СУБД MS SQL Server.
Microsoft SQL Server – система управления реляционными базами данных, разработанная корпорацией Microsoft, основной используемый язык запросов – Transact-SQL, создан совместно Microsoft и Sybase, который является реализацией стандарта ANSI/ISO (American National Standards Institute/International Organization for Standardization) по структурированному языку запросов SQL с расширениями.
Язык SQL был первоначально разработан компанией IBM, а в настоящее время поддерживается большинством коммерческих СУБД, представленных на рынке, и является официальным стандартом языка для работы с реляционными базами данных. Само, название SQL, является аббревиатурой, образованной от Structured Query Language (язык структурированных запросов).
Итак, нужно решить вопрос о назначении типа данных для каждого атрибута каждой сущности, размера данных, присвоении свойств уникальности и обязательности поля, назначении ключевых полей.
Далее представлены все таблицы, в режиме Design (Конструктор).

Рисунок 6/1 – Таблица tb_worker

Рисунок 6/2 – Таблица tb_uchastok

Рисунок 6/3 – Таблица tb_podrazdeleniye

Рисунок 6/4 – Таблица tb_dvizeniye

Рисунок 6/5 – Таблица tb_occupation

Рисунок 6/6 – Таблица tb_pas_department

Рисунок 6/7 – Таблица tb_passport

Рисунок 6/8 – Таблица tb_prikaz
Итак, мы привели основные таблицы с приведением типов полей. Ключевые поля имеют тип int, и в параметрах имеют свойство IdentitySpecification=’Yes’, что позволяет СУБД, автоматически, по мере добавления записей в таблицу, наращивать идентификатор.
Заполнение таблиц
Работники:

Рисунок 7/1 – Заполнение таблицы tb_worker
Таблица, в которой содержится список паспортных столов:

Рисунок 7/2 – Заполнение таблицы tb_pas_department
Паспортные данные работников:

Рисунок 7/3 – Заполнение таблицы tb_passport
Страны, области, города, районы:




Рисунок 7/4 – Заполнение таблиц: «tb_country, tb_region, tb_city, tb_district»
Список подразделений и участков:

Рисунок 7/5 – Заполнение таблицы «tb_podrazdeleniye»

Рисунок 7/6 – Заполнение таблицы «tb_uchastok»
Согласно Законодательной базе Украины, указание национальности в анкете работники не является обязательным условием, но, тем не менее, была создана таблица, в которой хранится список национальностей, на случай модификации законов:


Рисунок 7/7 – Заполнение таблиц: «tb_nationality, tb_gender»
Список профессий:

Рисунок 7/7 – Заполнение таблицы «tb_occupation»
Признаки карьерного движения:

Рисунок 7/8 – Заполнение таблицы «tb_priznak»
Журнал карьерного движения:

Рисунок 7/9 – Заполнение таблицы «tb_dvizeniye»
Список приказов, которые сопровождают любое карьерное движение работника:

Рисунок 7/10 – Заполнение таблицы «tb_prikaz»
Создание запросов
Для создания и тестирования запросов, была выбрана среда разработки MS WebMatrix, которая позволяет создавать веб-приложения с помощью технологии ASP.NET, которая является составной частью платформы Microsoft .NET.
.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является исполняющая среда Common Language Runtime (CLR), способная выполнять как обычные программы, так и серверные веб-приложения. .NET Framework поддерживает создание программ, написанных на разных языках программирования.
Рассмотрим примеры с комбинацией языков C# и HTML.
Запрос №1.Выведем на экран список профессий, с названием подразделения к которому они относятся, и ставкой/должностным окладом на том или ином участке. Код приведен в Листинге 1. Результатом будет таблица вида:

Запрос №2. Выведем на экран основные данные о работниках предприятия. Код представлен в Листинге 2. Результатом работы запроса будет:

Запрос №3. В данном запросе выведем полную информацию о работнике «Пронякин Дмитрий Богданович», нам известен его табельный номер «8508». Нас интересует базовая информация, указанная в анкете, должность, карьерные движения:

