3.03 SQL的数据描述语言 Table:关系(Relation)又称Table。 ● Base Table.(基表)其值显式存于数据库中,即 DBMS将为基表建立物理文件。 一 View(视图)一般是一种用户视图: 1.是一种虚表,它是从基表经关系运算定义出来的 2.DBMS不为其建立物理文件,但其值可以根据定 义导出,但表不显式存储在数据库中。 3.视图基本与基表一样可参加查询操作
3.03 SQL的数据描述语言 ⚫ Table:关系(Relation)又称Table。 ⚫ Base Table.(基表)其值显式存于数据库中,即 DBMS 将为基表建立物理文件。 一 View(视图)一般是一种用户视图: 1.是一种虚表,它是从基表经关系运算定义出来的。 2 .DBMS不为其建立物理文件,但其值可以根据定 义导出,但表不显式存储在数据库中。 3. 视图基本与基表一样可参加查询操作
。三级数据库及视图的作用与限制 ●三级数据库,用户级,DBA(Data Base Administrator)级,物理级。 ●User View..产生式及产生原因 1.用户需要一个简单视图 2.有利于安全 3.有利于数据存储独立性,如基表模 式修改后,可以定义适当视图,使用户视 图不变,从而不影响应用程序执行。 对视图
⚫ 三级数据库及视图的作用与限制 ⚫ 三级数据库,用户级,DBA(Data Base Administrator)级,物理级。 ⚫ User View.产生式及产生原因 1. 用户需要一个简单视图 2. 有利于安全 3. 有利于数据存储独立性,如基表模 式修改后,可以定义适当视图,使用户视 图不变,从而不影响应用程序执行。 对视图
二各厂家的SQL,基于同一企业不同版SQL, 支持数据类型均略有差异。 般支持: 整形 INT 32位 短整数 SMALL INT 16位 十进制数 DEC (m,n) m总十进制位数(不包 括小数点)n小数点后的 十进制位数 浮点数 FLOAT 双精度64位
二 各厂家的SQL,基于同一企业不同版SQL, 支持数据类型均略有差异。 一般支持: 整形 INT 32 位 短整数 SMALL INT 16 位 十进制数 DEC(m,n) m总十进制位数 (不包 括小数点) n小数点后的 十进制位数 浮点数 FLOAT 双精度 64位
定长字符串 CHAR (n) 按固定长n存,不够n个补空格, 超过报错 变长字符串 VARCHAR (n) 按实际长存,但不准超过n, 否则报错 位串 BIT (n) 二进制位串长为n, 日期 DATE 格式yyyy mm dd,范围yyyy 0001至9999;mm,01至12: dd,01至31 时间 TIME 格式:hhmmss 时标 TIMESTAMP 格式:yyyymmddhhmmssnnnnnn
定长字符串 CHAR(n) 按固定长n存,不够n个补空格, 超过报错 变长字符串 VARCHAR(n) 按实际长存,但不准超过n, 否则报错 位串 BIT(n) 二进制位串长为n, 日期 DATE 格式yyyy mm dd ,范围 yyyy 0001至 9999 ;mm,01至12; dd,01至 31 时间 TIME 格式:hhmmss 时标 TIMESTAMP 格式:yyyymmddhhmmssnnnnnn
。三基表模式的定义: CREATE TABLE STUDENT (SNO CHAR (6)NOTNULL, SNAME VARCHAR (8)NOTNULL, SEX VARCHAR (2)NOTNULL, BDATE I DATE NOTNULL, HEIGHT DEC (5,2) DEFAUT 000.00 PRIMARY KEY (S#));
⚫ 三 基表模式的定义: CREATE TABLE STUDENT (SNO CHAR(6)NOTNULL, SNAME VARCHAR(8)NOTNULL, SEX VARCHAR(2)NOTNULL, BDATE DATE NOTNULL, HEIGHT DEC(5,2) DEFAUT 000.00 ⚫ PRIMARY KEY(S#));
定义一个关系的基本结构: CREATE TABLE表名 (列名 类型, PRIMARY KEY(列名表)) 1 CREATE TABLE是定义关系的保留字,其后跟定 义的关系名。 2括号内定义各列列名及类型。 3最后定义主关键字:PRIMARY KEY列名表(选项) ●NO TNULL保留字,该列的分量值不准空缺. DEFAUT保留字,指明该列值空缺填值
⚫ 定义一个关系的基本结构: CREATE TABLE 表名 (列名 类型, . . . PRIMARY KEY(列名表)) 1 CREATE TABLE 是定义关系的保留字,其后跟定 义的关系名。 2 括号内定义各列列名及类型。 3 最后定义主关键字:PRIMARY KEY 列名表(选项)。 ⚫ NO TNULL 保留字,该列的分量值不准空缺. ⚫ DEFAUT 保留字,指明该列值空缺填值
CREATE TABLE COURS (CNO CHAR(6) NOT NULL, LHOUR SMALLINT NOT NULL, CREDIT DEC(1,0) NOT NULL. SEMESTER CHAR(2)NOT NULL, PRIMARY KEY(CNO));
⚫ CREATE TABLE COURS (CNO CHAR(6) NOT NULL, LHOUR SMALLINT NOT NULL, CREDIT DEC(1,0) NOT NULL, SEMESTER CHAR(2) NOT NULL, PRIMARY KEY(CNO));
CREATE TABLE SC (SNO CHAR (6) NOT NULL, CNO CHAR(6) NOT NULL. GRADE DEC(4,1) DEFAULT NULL, PRIMARY (SNO,CNO), FOREIGE KEY(SNO) REFERENCES STUDENT ON DELETE CASCADE, FOREIGN KEY(CNO) REFERENCES COURSE ON DELETE RESTRICT);
CREATE TABLE SC (SNO CHAR(6) NOT NULL, CNO CHAR(6) NOT NULL, GRADE DEC(4,1) DEFAULT NULL, PRIMARY (SNO,CNO), FOREIGE KEY(SNO) REFERENCES STUDENT ON DELETE CASCADE, FOREIGN KEY(CNO) REFERENCES COURSE ON DELETE RESTRICT);
定义了三个关系: STUDENT SNO SNAME SEX BDATE HEIGHT CHAR(7) VARCHAR(8) CHAR(2) DATE DEC(5,2) COURSE CNO LHOUR CREDIT SEMESTER CHAR(6) SMALLINT DEC(1,0) CHAR(2) SC SNO CNO GRADE CHAR(7) CHAR(6) DEC(4,1)
⚫ 定义了三个关系: ⚫ STUDENT ⚫ ⚫ CHAR(7) VARCHAR(8) CHAR(2) DATE DEC(5,2) ⚫ COURSE ⚫ CHAR(6) SMALLINT DEC(1,0) CHAR(2) ⚫ SC ⚫ ⚫ CHAR(7) CHAR(6) DEC(4,1) SNO SNAME SEX BDATE HEIGHT CNO LHOUR CREDIT SEMESTER SNO CNO GRADE
FOREIGE KEY(列表名)定义外键(外来关键字), 有两个必选子句: 1子句REFERENCES(表名)说明主表名,即外来关 键字是引自那个关系的主关键字 2 ON DELETE删除时引用完整性约束: 1)缺省值为RESTRICT,被基表引用的主键,在主 表中不准删除 2)CASCADE被引用主关键字(值)被删,引用 表中引用此键的所有行连带删除 3)SET NULL. ● CHECK(条件)选项:说明-列值应满足的约束 件,如年龄不为负,工龄不大于年龄等
⚫ FOREIGE KEY (列表名)定义外键(外来关键字), 有两个必选子句: 1 子句REFERENCES(表名) 说明主表名,即外来关 键字是引自那个关系的主关键字. 2 ON DELETE 删除时引用完整性约束: 1)缺省值为RESTRICT,被基表引用的主键,在主 表中不准删除. 2)CASCADE 被引用主关键字(值)被删,引用 表中引用此键的所有行连带删除. 3)SET NULL. ⚫ CHECK(条件)选项:说明-列值应满足的约束条 件,如年龄不为负,工龄不大于年龄等