SQL的数据定义

在知识链中的地位:

这里的这些概念,离实际应用的距离很远,例如知道建表,但在实际应用时,你需要根据具体的业务需求、技术要求下去建表,对系统的熟悉,对业务技术的具体要求,设计这才是重要的,这才是难点,简单的建表语句只是最后的皮毛。所以没有必要在这里花太多的时间精力,把主要精力放到具体的实践活动中。

再说删除列,这在DB2中是没有的功能,数据类型的话,具体的DBMS有很多自己定义的类型,这需要在具体的运用中根据实际情况定。


与前后知识的关联:

完整性约束主要有三种:主键子句(primary  key),外键子句(foreign key),检查子句(check)。

这里与关系模型的三类完整性规则是一一对应的,分别是实体完整性规则,参照完整性规则,用户自定义的完整性规则;是更好地与现实世界保持一致。


这其实是在前面创建关系模型理论是就提到了,这里实际表达。是反应现实世界数据约束的,是关系模型的一个重要的方面。知识点就应该要这样前后联系,这样就会站在不同的角度,以更高的眼光看待一件事,会看得更远更透更深刻,这样也会达到更高的境界。


cascade 级联式

restrict  约束式

1、sql模式的创建和撤销

其实就是数据库的创建和撤销。

cascade(级联)方式:执行“Drop”语句时,把SQL模式及其下属的基本表、视图、索引等元素都撤销。

restrict  (约束)方式:只有当SQL模式好没有任何下属元素时,才能撤销。


2、基本数据类型

这里可以用户自定义数据类型。

例如:create domain  aa char(8);


3、基本表的创建、修改和撤销

3.1 create table 基本表名

(列名  类型,

完整性约束,

....)

完整性约束主要有三种:主键子句(primary  key),外键子句(foreign key),检查子句(check)。

这里与关系模型的三类完整性规则是一一对应的,分别是实体完整性规则,参照完整性规则,用户自定义的完整性规则;是更好地与现实世界保持一致。

create table sc(

S#  char(4),

C#  char(4),

grade  smallint,

primary key(S#,C#),

foreign key(S#) references S(s#),

foreign key(c#)  references C(c#),

check (grade between 0 and 100)

);

3.2 基本表结构的修改:

增加列:alter table  基本表名   add  列名   类型

删除列:alter table  基本表名   drop  列名  [cascade|restrict]

cascade表示在基本表中删除某列时,所有引用到该列的视图和约束都被删除;restrict表示在没有视图和约束引用该属性时,才能在基本表中删除该列,否则拒绝删除。

修改原有列的类型、宽度:

alter  table  S  modify s#  char(6)

3.3  基本表的撤销:drop  table  基本表名   [cascade|restrict]


4、索引的创建、撤销

4.1 创建

create index a on S(s#)

表示对基本表S的列s#建立索引,索引键名为a;

一个索引键对应多个列:

create unique index aa on SC(s# ASC,c# DESC);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值