【发布时间】:2021-07-06 14:56:37
【问题描述】:
这些书籍是学术性的,没有指定如何处理外键。对于大学作业,我正在为牙科诊所构建 SQL 数据库。
如果我必须创建外键,我是否需要为每张桌子创建一个外键,或者是否可以让牙科专家转诊没有外键。
我在牙科诊所数据库中有 5 个表。 约会PK(主键)app_id 患者 PK pat_id 支付PK pay_id 治疗PKtreat_id 推荐PK ref_id
-- Constraints for table `appointment`
--
ALTER TABLE `appointment`
ADD CONSTRAINT `patient` FOREIGN KEY (`pat_id`) REFERENCES `patient` (`pat_id`),
ADD CONSTRAINT `pay_id` FOREIGN KEY (`pay_id`) REFERENCES `payment` (`pay_id`);
--
-- Constraints for table `patient`
--
ALTER TABLE `patient`
ADD CONSTRAINT `appointment` FOREIGN KEY (`app_id`) REFERENCES `appointment` (`app_id`),
ADD CONSTRAINT `ref` FOREIGN KEY (`ref_id`) REFERENCES `referral` (`ref_id`),
ADD CONSTRAINT `treat` FOREIGN KEY (`treat_id`) REFERENCES `treatment` (`treat_id`);
--
-- Constraints for table `payment`
--
ALTER TABLE `payment`
ADD CONSTRAINT `app` FOREIGN KEY (`app_id`) REFERENCES `appointment` (`app_id`),
ADD CONSTRAINT `pat` FOREIGN KEY (`pat_id`) REFERENCES `patient` (`pat_id`);
COMMIT;
【问题讨论】:
-
你的问题完全令人困惑......我建议editing 它,包括示例 DDL 并指出究竟是什么不起作用或你认为它有什么问题。
-
我修改了问题。进行约束时,我需要先将其删除,然后再删除外键,并且表
Patient和表appointment中有 3 个外键,但由于完整性约束,无法在其他表中进行 FK。我对外键应该做什么或它的目的有零了解。我应该说实话。
标签: sql database phpmyadmin xampp rdbms