Загрузка данных


-- ============================================
-- 1. Справочник: Специальность
-- ============================================
CREATE TABLE Специальность (
    id_специальности INT PRIMARY KEY IDENTITY(1,1),
    название NVARCHAR(100) NOT NULL
);

-- ============================================
-- 2. Справочник: Категория (врача)
-- ============================================
CREATE TABLE Категория (
    id_категории INT PRIMARY KEY IDENTITY(1,1),
    название NVARCHAR(100) NOT NULL
);

-- ============================================
-- 3. Справочник: Кабинет
-- ============================================
CREATE TABLE Кабинет (
    id_кабинета INT PRIMARY KEY IDENTITY(1,1),
    номер_кабинета NVARCHAR(20) NOT NULL,
    этаж INT
);

-- ============================================
-- 4. Справочник: Участок
-- ============================================
CREATE TABLE Участок (
    id_участка INT PRIMARY KEY IDENTITY(1,1),
    номер_участка NVARCHAR(20) NOT NULL,
    описание NVARCHAR(255)
);

-- ============================================
-- 5. Справочник: День недели
-- ============================================
CREATE TABLE День_недели (
    id_дня INT PRIMARY KEY IDENTITY(1,1),
    название NVARCHAR(20) NOT NULL
);

-- ============================================
-- 6. Основная таблица: Врач
-- ============================================
CREATE TABLE Врач (
    id_врача INT PRIMARY KEY IDENTITY(1,1),
    Фамилия NVARCHAR(50) NOT NULL,
    Имя NVARCHAR(50) NOT NULL,
    Отчество NVARCHAR(50),
    Домашний_телефон NVARCHAR(20),
    Дата_приема_на_работу DATE,
    
    -- Внешние ключи
    Код_специальности INT,
    Код_категории INT,
    Код_кабинета INT,
    Код_участка INT,
    
    -- Ограничения внешних ключей
    CONSTRAINT FK_Врач_Специальность 
        FOREIGN KEY (Код_специальности) REFERENCES Специальность(id_специальности),
    CONSTRAINT FK_Врач_Категория 
        FOREIGN KEY (Код_категории) REFERENCES Категория(id_категории),
    CONSTRAINT FK_Врач_Кабинет 
        FOREIGN KEY (Код_кабинета) REFERENCES Кабинет(id_кабинета),
    CONSTRAINT FK_Врач_Участок 
        FOREIGN KEY (Код_участка) REFERENCES Участок(id_участка)
);

-- ============================================
-- 7. Основная таблица: Расписание приема
-- ============================================
CREATE TABLE Расписание_приема (
    id_записи INT PRIMARY KEY IDENTITY(1,1),
    
    -- Внешние ключи
    Код_врача INT NOT NULL,
    Код_дня INT NOT NULL,
    
    Время_начала TIME NOT NULL,
    Время_окончания TIME NOT NULL,
    
    -- Ограничения внешних ключей
    CONSTRAINT FK_Расписание_Врач 
        FOREIGN KEY (Код_врача) REFERENCES Врач(id_врача),
    CONSTRAINT FK_Расписание_День 
        FOREIGN KEY (Код_дня) REFERENCES День_недели(id_дня)
);