-- phpMyAdmin SQL Dump -- version 5.2.2 -- https://www.phpmyadmin.net/ -- -- 호스트: localhost -- 생성 시간: 26-06-22 18:35 -- 서버 버전: 10.11.11-MariaDB -- PHP 버전: 8.2.28 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- 데이터베이스: `carbon_cutting_mc_db` -- -- -------------------------------------------------------- -- -- 테이블 구조 `contacts` -- CREATE TABLE `contacts` ( `id` int(11) NOT NULL, `customer_id` int(11) NOT NULL, `name` varchar(100) NOT NULL, `email` varchar(255) DEFAULT NULL, `phone_number` varchar(50) DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT current_timestamp(), `position` varchar(255) DEFAULT '', `work_location` varchar(255) DEFAULT '', `is_deleted` tinyint(1) DEFAULT 0 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- 테이블 구조 `control_target` -- CREATE TABLE `control_target` ( `equipment_id` int(11) NOT NULL, `operation_mode_target` varchar(20) DEFAULT NULL COMMENT 'Target mode (auto, manual)', `operation_command_target` varchar(20) DEFAULT NULL COMMENT 'Target command (start, stop, reset)', `line_heaters_target` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Target for 20 heaters. e.g., {"heater_1": 1, "heater_2": 0}' CHECK (json_valid(`line_heaters_target`)), `line_feeders_target` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Target for 10 feeder motors. e.g., {"line_1": 1} (0:STOP, 1:FWD,2:REV)' CHECK (json_valid(`line_feeders_target`)), `utility_target` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Target for pumps and fans. e.g., {"pumps": {"pump_1": 1}, "fans":{"fan_1": 1}}' CHECK (json_valid(`utility_target`)), `transfer_roller_target` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Target for transfer roller. e.g., {"speed": 120.5, "direction":1, "enabled": 1}' CHECK (json_valid(`transfer_roller_target`)), `cutting_motor_target` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Target for cutting motor. e.g., {"speed": 300.0, "direction": 0,"enabled": 1}' CHECK (json_valid(`cutting_motor_target`)), `system_outputs_target` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Target for buzzer, tower light. e.g., {"buzzer": 0, "tower_red":1}' CHECK (json_valid(`system_outputs_target`)), `spare_digital_outputs_target` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Target for spare digital outputs. e.g., {"R21": 1, "R24":0}' CHECK (json_valid(`spare_digital_outputs_target`)), `spare_pwm_outputs_target` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Target for spare PWM outputs. e.g., {"D10": 128, "D11": 255}' CHECK (json_valid(`spare_pwm_outputs_target`)), `last_updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Target control states set by users or apps.'; -- -------------------------------------------------------- -- -- 테이블 구조 `customers` -- CREATE TABLE `customers` ( `id` int(11) NOT NULL, `name_kr` varchar(255) NOT NULL, `name_en` varchar(255) DEFAULT NULL, `business_registration_number` varchar(50) DEFAULT NULL, `contact_number` varchar(50) DEFAULT NULL, `address` varchar(255) DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- 테이블 구조 `equipment` -- CREATE TABLE `equipment` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `yarn_bobbin_count` int(11) DEFAULT NULL, `dryer_type` varchar(255) DEFAULT NULL, `power_consumption` double DEFAULT NULL, `max_cutting_speed` int(11) DEFAULT NULL, `max_feed_speed` int(11) DEFAULT NULL, `status` varchar(50) NOT NULL DEFAULT 'available' COMMENT '장비의 현재 상태 (available, maintenance, broken)' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- 테이블 구조 `inventory` -- CREATE TABLE `inventory` ( `id` int(11) NOT NULL, `material_id` int(11) DEFAULT NULL COMMENT 'material_properties 테이블 ID', `item_name` varchar(255) NOT NULL, `item_number` varchar(255) NOT NULL, `supplier` varchar(255) NOT NULL, `supplier_id` int(11) DEFAULT NULL, `receipt_date` date NOT NULL, `receipt_quantity` int(11) NOT NULL, `usage_quantity` int(11) NOT NULL, `stock` int(11) NOT NULL, `unit_cost` decimal(10,2) DEFAULT NULL COMMENT '입고 시점의 단위당 원가 (원/kg)', `remarks` text DEFAULT NULL, `is_depleted` tinyint(1) DEFAULT 0 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- 테이블 구조 `machine_status` -- CREATE TABLE `machine_status` ( `equipment_id` int(11) NOT NULL COMMENT '설비 마스터 ID', `device_state` varchar(20) DEFAULT 'OFFLINE' COMMENT 'ONLINE / OFFLINE 상태', `m_read_raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'M영역 읽기비트 전체 상태 JSON {bit_id: value}', `m_write_raw` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'M영역 쓰기제어비트 전체 상태 JSON {bit_id: value}', `d_read_g0` bigint(20) DEFAULT 0 COMMENT 'D영역 읽기 그룹0: 컷팅속도', `d_read_g1` double DEFAULT 0 COMMENT 'D영역 읽기 그룹1: 이송속도', `d_read_g2` double DEFAULT 0 COMMENT 'D영역 읽기 그룹2: 챔버온도', `d_read_g3` double DEFAULT 0 COMMENT 'D영역 읽기 그룹3', `d_read_g4` double DEFAULT 0 COMMENT 'D영역 읽기 그룹4', `d_read_g5` bigint(20) DEFAULT 0 COMMENT 'D영역 읽기 그룹5', `d_read_g6` double DEFAULT 0 COMMENT 'D영역 읽기 그룹6', `d_read_g7` double DEFAULT 0 COMMENT 'D영역 읽기 그룹7', `d_read_g8` double DEFAULT 0 COMMENT 'D영역 읽기 그룹8', `d_read_g9` double DEFAULT 0 COMMENT 'D영역 읽기 그룹9', `d_write_g0` bigint(20) DEFAULT 0 COMMENT 'D영역 쓰기 제어 설정 그룹0: 컷팅 타겟 속도', `d_write_g1` bigint(20) DEFAULT 0 COMMENT 'D영역 쓰기 제어 설정 그룹1: 이송 타겟 속도', `d_write_g2` bigint(20) DEFAULT 0 COMMENT 'D영역 쓰기 제어 설정 그룹2', `d_write_g3` bigint(20) DEFAULT 0 COMMENT 'D영역 쓰기 제어 설정 그룹3', `timestamp` bigint(20) NOT NULL DEFAULT 0 COMMENT '게이트웨이 전송 타임스탬프 (ms)', `last_updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT '서버 최종 수신 시간' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='각 설비의 14개 워드 및 M분리 최신 상태 저장 테이블'; -- -------------------------------------------------------- -- -- 테이블 구조 `material_properties` -- CREATE TABLE `material_properties` ( `id` int(11) NOT NULL, `material_code` varchar(100) DEFAULT NULL COMMENT '자재 관리 코드', `material_name` varchar(255) NOT NULL COMMENT '자재명', `material_type` varchar(50) NOT NULL COMMENT '자재 타입 (Yarn, Bond 등)', `density` decimal(10,5) DEFAULT NULL COMMENT '비중 또는 밀도 (g/cm³)', `remarks` text DEFAULT NULL COMMENT '비고', `created_at` timestamp NOT NULL DEFAULT current_timestamp(), `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='원자재 물성 마스터 테이블'; -- -------------------------------------------------------- -- -- 테이블 구조 `plan_assignments` -- CREATE TABLE `plan_assignments` ( `assignment_id` int(11) NOT NULL, `plan_id` int(11) NOT NULL, `equipment_id` int(11) NOT NULL, `start_date` date NOT NULL, `end_date` date NOT NULL, `works_on_saturday` tinyint(1) NOT NULL DEFAULT 1 COMMENT '토요일 작업 여부 (1: 작업, 0: 휴무)', `works_on_sunday` tinyint(1) NOT NULL DEFAULT 0 COMMENT '일요일 작업 여부 (1: 작업, 0: 휴무)' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- 테이블 구조 `production_plans` -- CREATE TABLE `production_plans` ( `plan_id` int(11) NOT NULL, `plan_name` varchar(255) NOT NULL COMMENT 'Plan name (Customer + Yarn + Bond + Quantity)', `customer_name` varchar(255) NOT NULL COMMENT 'Snapshot of customer name', `customer_id` int(11) DEFAULT NULL COMMENT 'FK to customers table', `yarn_name` varchar(255) NOT NULL COMMENT 'Snapshot of yarn name', `yarn_inventory_id` int(11) DEFAULT NULL COMMENT 'FK to inventory table for yarn', `bond_name` varchar(255) NOT NULL COMMENT 'Snapshot of bond name', `bond_inventory_id` int(11) DEFAULT NULL COMMENT 'FK to inventory table for bond', `requested_quantity_kg` decimal(10,2) NOT NULL COMMENT 'Requested production quantity in kg', `start_date` date NOT NULL COMMENT 'Planned start date', `end_date` date NOT NULL COMMENT 'Calculated end date', `production_days` int(11) NOT NULL COMMENT 'Calculated number of days for production', `status` varchar(50) NOT NULL DEFAULT 'Planned' COMMENT 'Status of the plan (e.g., Planned, In Progress, Completed, Cancelled)', `yarn_diameter` float DEFAULT NULL COMMENT 'Yarn Diameter (μm)', `yarn_k` int(11) DEFAULT NULL COMMENT 'Yarn K (number of strands)', `ports` int(11) DEFAULT NULL COMMENT 'Number of ports used', `cycle_time` float DEFAULT NULL COMMENT 'Cycle Time (Hz)', `cut_length` float DEFAULT NULL COMMENT 'Cut Length (mm)', `work_hours_day` int(11) DEFAULT NULL COMMENT 'Work hours per day', `num_machines` int(11) DEFAULT NULL COMMENT 'Number of machines assigned', `created_at` timestamp NOT NULL DEFAULT current_timestamp(), `hourly_net_cost_per_machine` decimal(15,2) DEFAULT NULL COMMENT '설비 1대당 시간당 순가공비', `hourly_profit_per_machine` decimal(15,2) DEFAULT NULL COMMENT '설비 1대당 시간당 이윤', `plan_total_material_cost` decimal(15,2) DEFAULT NULL COMMENT '계획에 필요한 총 원자재 비용', `plan_net_processing_cost` decimal(15,2) DEFAULT NULL COMMENT '계획 전체의 총 순가공비', `plan_company_margin` decimal(15,2) DEFAULT NULL COMMENT '계획 전체의 총 기업 마진', `plan_processing_fee` decimal(15,2) DEFAULT NULL COMMENT '계획 전체의 총 가공비', `plan_yarn_cost` decimal(15,2) DEFAULT NULL COMMENT '계획 전체의 원사 매입비', `plan_bond_cost` decimal(15,2) DEFAULT NULL COMMENT '계획 전체의 본드 매입비', `plan_estimated_sales` decimal(15,2) DEFAULT NULL COMMENT '계획 전체의 예상 매출액', `work_days_month` int(11) DEFAULT NULL COMMENT '분석에 사용된 월 작업일' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- 테이블 구조 `purchase_activities` -- CREATE TABLE `purchase_activities` ( `id` int(11) NOT NULL, `supplier_id` int(11) NOT NULL, `contact_id` int(11) DEFAULT NULL, `activity_type` varchar(100) NOT NULL, `activity_date` date NOT NULL, `memo` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- 테이블 구조 `sales_activities` -- CREATE TABLE `sales_activities` ( `id` int(11) NOT NULL, `customer_id` int(11) NOT NULL, `contact_id` int(11) DEFAULT NULL, `activity_date` date NOT NULL, `activity_type` varchar(100) DEFAULT NULL, `memo` text DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- 테이블 구조 `settings` -- CREATE TABLE `settings` ( `id` int(11) NOT NULL, `setting_group` varchar(100) NOT NULL COMMENT '설정 그룹 (예: analysis, general)', `setting_key` varchar(100) NOT NULL COMMENT '설정 키 (예: labor_cost)', `setting_value` text DEFAULT NULL COMMENT '설정 값', `setting_type` varchar(50) DEFAULT 'string' COMMENT '값의 타입 힌트 (string, integer, decimal, json)', `description` text DEFAULT NULL COMMENT '설정에 대한 설명', `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='앱 전체 설정 관리 테이블'; -- -------------------------------------------------------- -- -- 테이블 구조 `suppliers` -- CREATE TABLE `suppliers` ( `id` int(11) NOT NULL, `name_kr` varchar(255) NOT NULL, `name_en` varchar(255) DEFAULT NULL, `business_registration_number` varchar(20) DEFAULT NULL, `contact_number` varchar(20) DEFAULT NULL, `address` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT current_timestamp(), `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -------------------------------------------------------- -- -- 테이블 구조 `supplier_contacts` -- CREATE TABLE `supplier_contacts` ( `id` int(11) NOT NULL, `supplier_id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `email` varchar(255) DEFAULT NULL, `phone_number` varchar(20) DEFAULT NULL, `position` varchar(100) DEFAULT NULL, `work_location` varchar(255) DEFAULT NULL, `is_deleted` tinyint(1) DEFAULT 0, `created_at` timestamp NULL DEFAULT current_timestamp(), `updated_at` timestamp NULL DEFAULT current_timestamp() ON UPDATE current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- -- 덤프된 테이블의 인덱스 -- -- -- 테이블의 인덱스 `contacts` -- ALTER TABLE `contacts` ADD PRIMARY KEY (`id`), ADD KEY `company_id` (`customer_id`); -- -- 테이블의 인덱스 `control_target` -- ALTER TABLE `control_target` ADD PRIMARY KEY (`equipment_id`); -- -- 테이블의 인덱스 `customers` -- ALTER TABLE `customers` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `business_registration_number` (`business_registration_number`); -- -- 테이블의 인덱스 `equipment` -- ALTER TABLE `equipment` ADD PRIMARY KEY (`id`); -- -- 테이블의 인덱스 `inventory` -- ALTER TABLE `inventory` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `item_number` (`item_number`), ADD KEY `fk_inventory_material_properties` (`material_id`), ADD KEY `fk_inventory_supplier` (`supplier_id`); -- -- 테이블의 인덱스 `machine_status` -- ALTER TABLE `machine_status` ADD PRIMARY KEY (`equipment_id`); -- -- 테이블의 인덱스 `material_properties` -- ALTER TABLE `material_properties` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `material_name` (`material_name`); -- -- 테이블의 인덱스 `plan_assignments` -- ALTER TABLE `plan_assignments` ADD PRIMARY KEY (`assignment_id`), ADD KEY `plan_id` (`plan_id`), ADD KEY `equipment_id` (`equipment_id`); -- -- 테이블의 인덱스 `production_plans` -- ALTER TABLE `production_plans` ADD PRIMARY KEY (`plan_id`), ADD KEY `fk_plan_customer` (`customer_id`), ADD KEY `fk_plan_yarn_inventory` (`yarn_inventory_id`), ADD KEY `fk_plan_bond_inventory` (`bond_inventory_id`); -- -- 테이블의 인덱스 `purchase_activities` -- ALTER TABLE `purchase_activities` ADD PRIMARY KEY (`id`), ADD KEY `supplier_id` (`supplier_id`), ADD KEY `contact_id` (`contact_id`); -- -- 테이블의 인덱스 `sales_activities` -- ALTER TABLE `sales_activities` ADD PRIMARY KEY (`id`), ADD KEY `company_id` (`customer_id`), ADD KEY `contact_id` (`contact_id`); -- -- 테이블의 인덱스 `settings` -- ALTER TABLE `settings` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `unique_group_key` (`setting_group`,`setting_key`); -- -- 테이블의 인덱스 `suppliers` -- ALTER TABLE `suppliers` ADD PRIMARY KEY (`id`); -- -- 테이블의 인덱스 `supplier_contacts` -- ALTER TABLE `supplier_contacts` ADD PRIMARY KEY (`id`), ADD KEY `supplier_id` (`supplier_id`); -- -- 덤프된 테이블의 AUTO_INCREMENT -- -- -- 테이블의 AUTO_INCREMENT `contacts` -- ALTER TABLE `contacts` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `customers` -- ALTER TABLE `customers` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `equipment` -- ALTER TABLE `equipment` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `inventory` -- ALTER TABLE `inventory` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `material_properties` -- ALTER TABLE `material_properties` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `plan_assignments` -- ALTER TABLE `plan_assignments` MODIFY `assignment_id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `production_plans` -- ALTER TABLE `production_plans` MODIFY `plan_id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `purchase_activities` -- ALTER TABLE `purchase_activities` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `sales_activities` -- ALTER TABLE `sales_activities` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `settings` -- ALTER TABLE `settings` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `suppliers` -- ALTER TABLE `suppliers` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- 테이블의 AUTO_INCREMENT `supplier_contacts` -- ALTER TABLE `supplier_contacts` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; -- -- 덤프된 테이블의 제약사항 -- -- -- 테이블의 제약사항 `contacts` -- ALTER TABLE `contacts` ADD CONSTRAINT `contacts_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE; -- -- 테이블의 제약사항 `control_target` -- ALTER TABLE `control_target` ADD CONSTRAINT `fk_control_target_equipment` FOREIGN KEY (`equipment_id`) REFERENCES `equipment` (`id`) ON DELETE CASCADE; -- -- 테이블의 제약사항 `inventory` -- ALTER TABLE `inventory` ADD CONSTRAINT `fk_inventory_material_properties` FOREIGN KEY (`material_id`) REFERENCES `material_properties` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, ADD CONSTRAINT `fk_inventory_supplier` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`id`); -- -- 테이블의 제약사항 `machine_status` -- ALTER TABLE `machine_status` ADD CONSTRAINT `fk_machine_status_equipment` FOREIGN KEY (`equipment_id`) REFERENCES `equipment` (`id`) ON DELETE CASCADE; -- -- 테이블의 제약사항 `plan_assignments` -- ALTER TABLE `plan_assignments` ADD CONSTRAINT `fk_assignment_equipment` FOREIGN KEY (`equipment_id`) REFERENCES `equipment` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `fk_assignment_plan` FOREIGN KEY (`plan_id`) REFERENCES `production_plans` (`plan_id`) ON DELETE CASCADE; -- -- 테이블의 제약사항 `production_plans` -- ALTER TABLE `production_plans` ADD CONSTRAINT `fk_plan_bond_inventory` FOREIGN KEY (`bond_inventory_id`) REFERENCES `inventory` (`id`) ON DELETE SET NULL, ADD CONSTRAINT `fk_plan_customer` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE SET NULL, ADD CONSTRAINT `fk_plan_yarn_inventory` FOREIGN KEY (`yarn_inventory_id`) REFERENCES `inventory` (`id`) ON DELETE SET NULL; -- -- 테이블의 제약사항 `purchase_activities` -- ALTER TABLE `purchase_activities` ADD CONSTRAINT `purchase_activities_ibfk_1` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `purchase_activities_ibfk_2` FOREIGN KEY (`contact_id`) REFERENCES `supplier_contacts` (`id`) ON DELETE SET NULL; -- -- 테이블의 제약사항 `sales_activities` -- ALTER TABLE `sales_activities` ADD CONSTRAINT `sa_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `sa_ibfk_2` FOREIGN KEY (`contact_id`) REFERENCES `contacts` (`id`) ON DELETE SET NULL; -- -- 테이블의 제약사항 `supplier_contacts` -- ALTER TABLE `supplier_contacts` ADD CONSTRAINT `supplier_contacts_ibfk_1` FOREIGN KEY (`supplier_id`) REFERENCES `suppliers` (`id`) ON DELETE CASCADE; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;