1Z0-051 QUESTION 35 Primary key和foreign key的用法

35. Which two statements are true regarding constraints? (Choose two.) 
A. A table can have only one primary key and one foreign key. 
B. A table can have only one primary key but multiple foreign keys. 
C. Only the primary key can be defined at the column and table levels. 
D. The foreign key and parent table primary key must have the same name. 

E. Both primary key and foreign key constraints can be defined at both column and table levels. 

答案:BE

解析:

A选项错误,同一个表里可以有一个primary key和多个foreign key;

B选项正确;

C选项错误,Primary key和foreign key都可在列级和表级定义;

D选项错误,foreign key和Primary key不一定要相同的名字;

E选项正确。

官方文档如下:

http://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CNCPT89290

primary key
The column or set of columns that uniquely identifies a row in a table. Only one primary key can be defined for each table.
primary key constraint
An integrity constraint that disallows duplicate values and nulls in a column or set of columns.

http://docs.oracle.com/cd/E11882_01/server.112/e40540/glossary.htm#CNCPT2047

foreign key

An integrity constraint that requires each value in a column or set of columns to match a value in the unique or primary key for a related table. Integrity constraints for foreign keys define actions dictating database behavior if referenced data is altered.



Date: 25/04/2025 22:45:07 */ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for answers -- ---------------------------- DROP TABLE IF EXISTS `answers`; CREATE TABLE `answers` ( `id` int NOT NULL AUTO_INCREMENT, `result_id` int NOT NULL, `question_id` int NOT NULL, `selected_option_id` int DEFAULT NULL, `text_answer` text COLLATE utf8mb4_unicode_ci, `score` float DEFAULT NULL, `created_at` datetime DEFAULT NULL, PRIMARY KEY (`id`), KEY `result_id` (`result_id`), KEY `question_id` (`question_id`), KEY `selected_option_id` (`selected_option_id`), CONSTRAINT `answers_ibfk_1` FOREIGN KEY (`result_id`) REFERENCES `results` (`id`), CONSTRAINT `answers_ibfk_2` FOREIGN KEY (`question_id`) REFERENCES `questions` (`id`), CONSTRAINT `answers_ibfk_3` FOREIGN KEY (`selected_option_id`) REFERENCES `options` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=125 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- ---------------------------- -- Records of answers -- ---------------------------- BEGIN; INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option_id`, `text_answer`, `score`, `created_at`) VALUES (1, 1, 1, 1, NULL, 0, '2025-04-25 21:47:26'); INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option_id`, `text_answer`, `score`, `created_at`) VALUES (2, 1, 2, 5, NULL, 0, '2025-04-25 21:47:26'); INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option_id`, `text_answer`, `score`, `created_at`) VALUES (3, 1, 3, 9, NULL, 0, '2025-04-25 21:47:26'); INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option_id`, `text_answer`, `score`, `created_at`) VALUES (4, 1, 4, 13, NULL, 0, '2025-04-25 21:47:26'); INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option_id`, `text_answer`, `score`, `created_at`) VALUES (5, 1, 5, 17, NULL, 0, '2025-04-25 21:47:26'); INSERT INTO `answers` (`id`, `result_id`, `question_id`, `selected_option
04-26
-- 1. 科室表 CREATE TABLE `keshi` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `keshi_name` varchar(200) DEFAULT NULL COMMENT '科室名称', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='科室'; -- 2. 医生表 CREATE TABLE `yisheng` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `yishengzhanghao` varchar(200) NOT NULL COMMENT '医生账号', `yishengxingming` varchar(200) NOT NULL COMMENT '医生姓名', `keshi_id` bigint(20) DEFAULT NULL COMMENT '科室id', PRIMARY KEY (`id`), FOREIGN KEY (`keshi_id`) REFERENCES `keshi`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='医生'; -- 3. 出诊医生表 CREATE TABLE `chuzhenyisheng` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `yisheng_id` bigint(20) NOT NULL COMMENT '医生id', `guahaofei` int(11) DEFAULT NULL COMMENT '挂号费', PRIMARY KEY (`id`), FOREIGN KEY (`yisheng_id`) REFERENCES `yisheng`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='出诊医生'; -- 4. 患者表 CREATE TABLE `huanzhe` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `huanzhezhanghao` varchar(200) NOT NULL COMMENT '患者账号', `huanzhexingming` varchar(200) NOT NULL COMMENT '患者姓名', `xingbie` varchar(200) DEFAULT NULL COMMENT '性别', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='患者'; -- 5. 挂号信息表 CREATE TABLE `guahaoxinxi` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `yuyuebianhao` varchar(200) DEFAULT NULL COMMENT '预约编号', `yisheng_id` bigint(20) DEFAULT NULL COMMENT '医生id', `huanzhe_id` bigint(20) DEFAULT NULL COMMENT '患者id', `sfsh` varchar(200) DEFAULT '待审核' COMMENT '是否审核', `ispay` varchar(200) DEFAULT '未支付' COMMENT '是否支付', PRIMARY KEY (`id`), FOREIGN KEY (`yisheng_id`) REFERENCES `yisheng`(`id`), FOREIGN KEY (`huanzhe_id`) REFERENCES `huanzhe`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='挂号信息'; -- 6. 药品信息表 CREATE TABLE `yaopinxinxi` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `yaopinmingcheng` varchar(200) NOT NULL COMMENT '药品名称', `danjia` float NOT NULL COMMENT '单价', `shuliang` int(11) DEFAULT NULL COMMENT '数量', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='药品信息'; -- 7. 处方开具表(关联表结构调整) CREATE TABLE `chufangkaiju` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键', `chufangbianhao` varchar(200) DEFAULT NULL COMMENT '处方编号', `huanzhe_id` bigint(20) DEFAULT NULL COMMENT '患者id', `yisheng_id` bigint(20) DEFAULT NULL COMMENT '医生id', `zongjine` float DEFAULT NULL COMMENT '总金额', `ispay` varchar(200) DEFAULT '未支付' COMMENT '是否支付', PRIMARY KEY (`id`), FOREIGN KEY (`huanzhe_id`) REFERENCES `huanzhe`(`id`), FOREIGN KEY (`yisheng_id`) REFERENCES `yisheng`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='处方开具'; -- 8. 处方药品关联表(新增,用于处理处方药品的多对多关系) CREATE TABLE `chufang_yaopin_guanjian` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `chufang_id` bigint(20) NOT NULL COMMENT '处方id', `yaopin_id` bigint(20) NOT NULL COMMENT '药品id', `shuliang` int(11) DEFAULT NULL COMMENT '数量', PRIMARY KEY (`id`), FOREIGN KEY (`chufang_id`) REFERENCES `chufangkaiju`(`id`), FOREIGN KEY (`yaopin_id`) REFERENCES `yaopinxinxi`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='处方药品关联'; -- 9. 问诊记录表 CREATE TABLE `wenzhenjilu` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `binglibianhao` varchar(200) DEFAULT NULL COMMENT '病历编号', `huanzhe_id` bigint(20) DEFAULT NULL COMMENT '患者id', `yisheng_id` bigint(20) DEFAULT NULL COMMENT '医生id', `zhenduanjieguo` longtext COMMENT '诊断结果', PRIMARY KEY (`id`), FOREIGN KEY (`huanzhe_id`) REFERENCES `huanzhe`(`id`), FOREIGN KEY (`yisheng_id`) REFERENCES `yisheng`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='问诊记录'; -- 10. 问诊留言表 CREATE TABLE `wenzhenliuyan` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `huanzhe_id` bigint(20) NOT NULL COMMENT '患者id', `yisheng_id` bigint(20) DEFAULT NULL COMMENT '医生id(回复时填写)', `question` text NOT NULL COMMENT '提问内容', `answer` text DEFAULT NULL COMMENT '回复内容', `status` varchar(10) DEFAULT '未回复' COMMENT '状态', PRIMARY KEY (`id`), FOREIGN KEY (`huanzhe_id`) REFERENCES `huanzhe`(`id`), FOREIGN KEY (`yisheng_id`) REFERENCES `yisheng`(`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='问诊留言'; -- 11. 医院公告表 CREATE TABLE `news` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `title` varchar(200) NOT NULL COMMENT '标题', `content` longtext NOT NULL COMMENT '内容', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='医院公告';生成总体e-r图
最新发布
06-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值