OCP考题解析_007:unique约束和索引

本文探讨了在数据库中创建unique constraint时如何自动创建或重用列上的索引,包括unique index的创建与删除规则,以及如何在删除约束时同时删除关联的索引。通过SQL语句实例展示自动索引创建过程,并提供删除约束时的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库在创建unique constraint的同时,强制创建或者重用列上的索引

① 如果之前列上没有索引,那么强制创建的索引是unique index;
此时,索引名和约束名是相同的,并且该索引不能删除,当删除unique constraint 时,unique index 会级联删除

② 如果列上已经存在索引,就重用之前的索引,并且不会改变索引的类型,当我们删除约束时,关联的索引不会级联删除
不过,MOS 提供了方法,就是在删除约束时,加上drop index,这样就能一次搞定:
alter table table_name drop constraint constraint_name drop index;

OCP 考题:

Q: 6 Examine the SQL statement that creates ORDERS table:

CREATE TABLE orders
(SER_NO NUMBER UNIQUE,
ORDER_ID NUMBER,
ORDER_DATE DATE NOT NULL,
STATUS VARCHAR2(10)
CHECK (status IN ('CREDIT', 'CASH')),
PROD_ID NUMBER
REFERENCES PRODUCTS(PRODUCT_ID),
ORD_TOTAL NUMBER,
PRIMARY KEY (order_id, order_date)); 

For which columns would an index be automatically created when you execute the above SQL statement?
(Choose two.)

A. SER_NO 
B. ORDER_ID 
C. STATUS 
D. PROD_ID 
E. ORD_TOTAL 
F. composite index on ORDER_ID and ORDER_DATE 

Answer: A, F


<6>[ 101.532908][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]+++pin:1, state:1. <6>[ 101.532908][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]+++pin:1, state:1. <6>[ 101.532908][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]+++pin:1, state:1. <6>[ 101.532920][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]flashlights_ocp8111 enter flash mode <6>[ 101.532920][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]flashlights_ocp8111 enter flash mode <6>[ 101.532920][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]flashlights_ocp8111 enter flash mode <6>[ 101.532920][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]flashlights_ocp8111 enter flash mode <3>[ 101.537951][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_enable: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_enable]flash enabled flag:1. <3>[ 101.537951][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_enable: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_enable]flash enabled flag:1. <3>[ 101.537951][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_enable: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_enable]flash enabled flag:1. <6>[ 101.619136][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_ioctl: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_ioctl]FLASH_IOC_SET_ONOFF(channel:0): 0 <6>[ 101.619136][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_ioctl: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_ioctl]FLASH_IOC_SET_ONOFF(channel:0): 0 <6>[ 101.619136][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_ioctl: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_ioctl]FLASH_IOC_SET_ONOFF(channel:0): 0 <3>[ 101.619163][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_disable: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_disable]Enter ocp8111_disable. <3>[ 101.619163][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_disable: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_disable]Enter ocp8111_disable. <3>[ 101.619163][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_disable: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_disable]Enter ocp8111_disable. <6>[ 101.619171][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]boardid_get = S98901AA1, TorchFlag = 0. <6>[ 101.619171][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]boardid_get = S98901AA1, TorchFlag = 0. <6>[ 101.619171][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]boardid_get = S98901AA1, TorchFlag = 0. <6>[ 101.619177][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]+++pin:1, state:0. <6>[ 101.619177][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]+++pin:1, state:0. <6>[ 101.619177][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashLight-ocp8111[ocp8111_pinctrl_set]+++pin:1, state:0. <6>[ 101.619187][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashlights_ocp8111 set PIN_MAIN GPIO LOW <6>[ 101.619187][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashlights_ocp8111 set PIN_MAIN GPIO LOW <6>[ 101.619187][T703362] 3ATHREAD: flashlights_ocp8111: ocp8111_pinctrl_set: [name:flashlights_ocp8111&]flashlights_ocp8111 set PIN_MAIN GPIO LOW 这些打印中,有哪一条说明闪光灯进行打闪,说一下
07-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值