数据定义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL的数据定义功能
主要包括:表的定义、表结构的修改、删除表、视图的定义、删除视图
一. 表的定义
1.含义:建一个数据库表(或自由表),并定义该表的字段信息, 有效性规则, 索引, 关联等信息。
2.命令格式及短语功能:
create table/dbf <表名> [长表名] [free](字段名1 <字段类型> [(字段宽度[,小数位])]
为当前打开的数据库创建一个数据库表,可以定义长表名,定义字段名、字段类型、宽度、小数位
也可以定义一个自由表
[null / not null]
定义该字段是否可以是空值null
[check <条件> [error <错误信息>]]
定义该字段的字段有效性规则(即域约束规则或域完整性)及违返规则的出错信息
[default [默认值]]
定义该字段的默认值
[primary key / unique]
定义该字段为主索引或侯选索引(即主体完整性)
[references <关联表> [tag <关联表的主索引名/ 关联表的侯选索引名>]]
定义该字段为普通索引,并与另一个表的主索引或侯选索引建立关联(该表为子表)
[, 字段名2 ......]
按照同样方法,定义其它字段
[, primary key <主索引关键字> [ tag <索引名>] ]
依据指定字段或表达式建立一个主索引,并定义索引名(一个表只能含有一个主索引)
[, unique <侯选索引关键字> [tag <索引名>]]
依据指定字段或表达式建立一个或多个侯选索引,并定义索引名(一个表可以含有多个侯选索引)
[, foreign key <普通索引关键字> tag <索引名> references <关联表> [tag <主索引名/侯选索引名>]]
依据指定字段或表达式建立一个普通索引,并定义索引名,且与另一个表的主索引或侯选索引建立关联
[, check <条件> [error <错误信息>]] )
定义该表的记录有效性规则及违反规则的出错信息
注意:
1.此命令默认建立数据库表,建立数据库表之前,应打开或建立一个数据库
2.建立自由表时,其中的很多选项不能使用
3.与另一个表建关联,该表为子表,另一个为父表
4.建关联时,用子表的普通索引关键字与父表的主索引关键字或侯选索引关键字建立
练习:用SQL命令完成
1. 建立一个自由表ab,字段:zz(字符,1位) ,mm(数值,5,1),yy(逻辑) 并定义zz字段为侯选关键字。
2.用VF命令建立一个数据库,名称为“学校人事管理”
3.在该数据库中建立一个“部门”表,含有字段:部门号 c(4) ,部门名c(10), 并定义部门号为主索引
4.在该数据库中建立一个“教师”表,含有字段:职工号 c( 3) 为主索引, 姓名 c(6)为侯选索引, 部门号c(4)为普通索引并与“部门”表的部门号字段建立关联, 工作日期 d 可以有null值, 党员 L, 工资 n(7,2),
5.在该数据库中建立一个“班级”表,定义长表名为“班级管理”含有字段
:班号 c(4),班名 c(6),班主任 c(3), 人数 I, 是否委培 L, 日期 d ,平均成绩 n (5,1), 备注 m, 并定义班号为主索引关键字,班名为侯选索引关键字,人数字段的约束规则是 “人数>0”, 出错信息是“人数不能为负数”, 日期字段的默认值是2010年9月1日,并用"班主任"字段与“教师”表的 "姓名" 字段建立关联, 定义该表记录有效性规则是“只能输入平均成绩大于300分的委培生”
二. 表的删除
命令格式: drop table <表名>
功能:删除指定的一个表文件
注意:
若删除的是一个数据库表,则应在打开数据库的情况下删除表,这样既从磁盘上删除了表文件,也从当前数据库中将表文件的相关信息删除。若没有打开相应数据库,则只从磁盘上删除了表文件,而没有删除数据库中相关表的信息,以后再使用数据库时会出错。
三. 表结构的修改
含义:修改已有数据库表(或自由表)的结构,包括修改、增加、删除字段信息,字段有效性规则,索引,关联等信息。
命令格式:
格式1:修改字段类型,宽度,字段有效性,索引,关联,增加字段并定义字段名,类型,宽度,字段有效性,索引,关联
Alter table 表名 add / alter [ column ] <字段名> <字段类型> [ (字段宽度[, [小数位] ) ]
修改或增加表的一个字段,但不能修改字段名
[null / not null ]
修改或增加
[check <条件> [error <错误信息>]] [default [默认值]]
[ primary key / unique]
[references <关联表> [tag <关联表的主索引名/ 关联表的侯选索引名>]]