MySQL要求(1)对schooldb数据库course表“课程名”列上的前3个字符建立一个升序索引 I_kc。 (2)在class表的“院系”列和“年级”列上建立一个复合索引I_cx。(3)在student表的“姓名”列上创建一个唯一性索引。 (4)为course表(假设class表中主键未设定)创建主键索引,以提高表的检索速度。(5)创建score表带有“学号”“课程号”的联合主键,并在“成绩”列上创建普通 索引。 (6)删除course表上的主键。 2.分区 将course表的数据按“学分”进行KEY分区,共分为4个分区。
时间: 2024-02-24 15:56:33 浏览: 201
好的,针对您的问题,我会逐一回答:
1. 对schooldb数据库course表“课程名”列上的前3个字符建立一个升序索引 I_kc。
您可以使用以下SQL语句来创建该索引:
```
CREATE INDEX I_kc ON course(LEFT(课程名, 3));
```
2. 在class表的“院系”列和“年级”列上建立一个复合索引I_cx。
您可以使用以下SQL语句来创建该索引:
```
CREATE INDEX I_cx ON class(院系, 年级);
```
3. 在student表的“姓名”列上创建一个唯一性索引。
您可以使用以下SQL语句来创建该索引:
```
CREATE UNIQUE INDEX idx_student_name ON student(姓名);
```
4. 为course表(假设class表中主键未设定)创建主键索引,以提高表的检索速度。
您可以使用以下SQL语句来创建该索引:
```
ALTER TABLE course ADD PRIMARY KEY (课程号);
```
5. 创建score表带有“学号”“课程号”的联合主键,并在“成绩”列上创建普通索引。
您可以使用以下SQL语句来创建该索引:
```
ALTER TABLE score ADD PRIMARY KEY (学号, 课程号);
CREATE INDEX idx_score ON score(成绩);
```
6. 删除course表上的主键。
您可以使用以下SQL语句来删除该主键:
```
ALTER TABLE course DROP PRIMARY KEY;
```
2. 分区
将course表的数据按“学分”进行KEY分区,共分为4个分区,您可以使用以下SQL语句来实现:
```
ALTER TABLE course PARTITION BY KEY(学分) PARTITIONS 4;
```
阅读全文