赞
踩
下面操作的表在课本P79页
可以在视图的基础上再定义视图
什么是模式
一个关系数据库管理系统(DBMS)的实例中可以建立多个数据库,一个数据库中可以建立多个模式,一个模式下通常包括多个表、视图和索引等数据库对象
这里的模式,包括了外模式、模式、内模式
什么是索引
定义模式
删除模式
cascade和restrict必须二选一
create table <表名> (<列名><数据类型>[列级完整性约束条件]
[,<列名><数据类型>[列级完整性约束条件]]
…
[,<表级完整性约束条件>]);
建立表的同时还可以定义与该表有关的完整性约束条件
如果完整性约束条件涉及该表的多个属性列,则必须定义在表级上,否则既可以定义在表级或者是列级
关系模型中域的概念,每个属性来自于一个域,它的取值必须是域中的值。
在SQL中域的概念由数据类型来实现。定义表的各种属性时需要指明其数据类型及长度。
书本P85
alter table <表名>
add 增加新列、新的列级/表级完整性约束
drop column 删除表中的列
drop constraint 删除指定的完整性约束
alter column 修改原有的列定义(列名、数据类型)
索引是为了加快查询的速度
索引的建立、修改、删除
is不能用=替代
聚合函数只能用于select子句和group by中的having子句
其他操作
关系代数中用除法
关键词:所有
课本P109
例子:查找选修了所有课程的学生姓名
步骤(这里student为表A,sc为表B,course为表C,表在表P79)
STEP1:先取 Student 表中的第一个元组,得到其 Sno 列的值。
STEP2:再取 Course 表中的第一个元组,得到其 Cno 列的值。
STEP3:根据 Sno 与 Cno 的值,遍历 SC 表中的所有记录(也就是选课记录)。若对于某个 Sno 和 Cno 的值来说,在 SC 表中找不到相应的记录,则说明该 Sno 对应的学生没有选修该 Cno 对应的课程。
STEP4:对于某个学生来说,若在遍历 Course 表中所有记录(也就是所有课程)后,仍找不到任何一门他/她没有选修的课程,就说明此学生选修了全部的课程。
STEP5:将此学生放入结果元组集合中。
STEP6:回到 STEP1,取 Student 中的下一个元组。
STEP7:将所有结果元组集合显示。
这题比书本上的例题要难一点,多了一个exist嵌套,结合课本上P109例题更好理解
insert
Into <表名>[属性列,属性列…]
values(<常量>…)
可插入子查询结果
insert
Into <表名>[属性列,属性列…]
子查询
update <表名>
set <列名> = <表达式>
[where子句]
视图是一种虚表,它真正的数据存在基本表上
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。