计算机数据库基础知识填空题,数据库练习题(基础)

本文提供了关于创建、修改和查询数据库表的实例,包括创建学生、课程和选课表,以及如何进行表结构调整、数据查询、多表查询等操作。涉及外键、添加和删除列、重命名列以及各种查询语句,如SELECT、JOIN、子查询等。
摘要由CSDN通过智能技术生成

一、基本表的定义与删除

T1.

用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1-3所示。

表1-1 Student表结构

列名

说明

数据类型

约束

Sno

学号

字符串

长度为7,主码

Sname

姓名

字符串

长度为10,非空

Ssex

性别

字符串

长度为2,取‘男’或‘女’

Sage

年龄

整数

取值15~45

Sdept

所在系

字符串

长度为20 默认为‘计算机系’

create table Student(

Sno varchar(7) primary key,

Sname varchar(10) not null,

Ssex varchar(2) check(Ssex='男' or Ssex='女'),

Sage int check(Sage>=15 and Sage <=45),

Sdept varchar(20) default('计算机系'));

表1-2Course表结构

列名

说明

数据类型

约束

Cno

课程号

字符串

长度为10,主码

Cname

课程名

字符串

长度为20,非空

Ccredit

学分

整数

取值大于0

Semster

学期

整数

取值大于0

Cperiod

学时

整数

取值大于0

create table Course(

Cno varchar(10) primary key,

Cname varchar(20) not null,

Ccredit int check(Ccredit>0),

Semster int check(Semster >0),

Cperiodint check(Cperiod>0)

);

表1-3 SC表结构

表1-2Course表结构

列名

说明

数据类型

约束

Sno

学号

字符串

长度为7,主码,参照Student的外码

Cno

课程名

字符串

长度为10,主码,参照Course

Grade

成绩

整数

取值0~100

create table SC(

Sno varchar(7),

Cno varchar(10),

Grade int check(Grade >=0 and Grade <=100),

primary key(Sno,Cno),

foreign key (Sno) references Student(Sno),

foreign key (Cno) references Course(Cno));

PS:

外码(键): 一个关系模式(r1)可能在它的属性中包含另一个关系模式(r2)的主码,这个属性在r1上称作参照r2的外码。关系r1称为外码依赖的参照关系,关系r2称为外码的被参照关系。FK一定来自另一个表的PK,FK是PK的子集。

如果外键或者主键要求命名,请使用以下语法

constraint pk_Student_Sno primary key (Sno)

constraint fk_Student_Sno foreign key (Sno) references Student(Sno)//SC表,参照表后边的属性可以省略

已有表,添加外键

alter table SC

add constraint fk_Student_Sno

foreign key (Sno)

references Student(Sno);

二、修改表结构

T2.

为SC表添加“选课类别”列,此列的定义为XKLB char(4)

alter table SC add XKLB char(4);

T3.

将新添加的XKLB的类型修改为char(6)

alter table SC alter column XKLB char(6);

T4.

删除Course表的Cperiod列

alter table Course drop column Cperiod;

T5.

重命名Student表的Ssex列为sex

EXEC sp_rename 'Student.Ssex','sex';

三、数据查询功能

表3-1 Student表数据

Sno

Sname

Ssex

Sage

Sdept

9512101

李勇

19

计算机系

9512102

刘晨

20

计算机系

9512103

王敏

女</

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库的选择填空练习通常涉及检验对数据库基础知识的理解,包括但不限于以下几个方面: 1. **数据库类型**:SQL(结构化查询语言)数据库、NoSQL(非关系型)数据库如MongoDB、键值存储系统Redis等。 2. **数据模型**:关系模型(如ER图、字段和关联)、文档模型(如JSON或XML格式)、图形数据库(节点和边的关系)。 3. **ACID原则**:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),理解如何在不同数据库保证这些特性。 4. **索引**:B树、哈希索引、全文索引,以及何时创建索引来优化查询性能。 5. **事务处理**:两阶段提交、乐观锁和悲观锁的工作原理。 6. **数据库设计**:范式理论(第一范式到第五范式),规范化的目的和注意事项。 7. **SQL基础**:SELECT, INSERT, UPDATE, DELETE语句,JOIN操作,视图和存储过程。 8. **连接器选项**:MySQL的InnoDB与MyISAM,PostgreSQL的MVCC(多版本并发控制)。 9. **缓存技术**:例如Redis的LRU(最近最少使用)缓存策略,以及数据库自身的缓存机制。 10. **分片和集群**:水平扩展(Sharding)和垂直扩展(Scaling Up),数据库的高可用性和容错性设置。 如果你提供具体的问题或知识点,我可以帮助你创建一道选择题。举个例子: 题目:哪种类型的数据库最适合处理大量半结构化数据,并支持快速的读写操作? A) SQL关系型数据库 B) MongoDB文档数据库 C) Oracle RAC集群 D) InnoDB存储引擎
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值