《数据厍设计与开发》讲义 1.3.2.1S哑L模式的创建和删除 在SQL中还有一个“目录”概念。目录是SQL环 境中所有模式的集合。包含数据库中定义的对 象的信息的表,由系统维护。 ORACLE叫数据字 典,DB2UDB叫目录表, INFORMIX叫系统目录 目录表在建立数据库时建立,用户不能更新, 但DBA可以用 select获取这些信息。 ·当一个SQL模式及其所属的基本表、视图等元 素都不需要时,可以用DROP语句撤消这个SQl 模式。DROP语句的句法如下: DROP SCHEMA<模式名>[ CASCADE| RESTRICT] 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.3.2.1 SQL模式的创建和删除 • 在SQL中还有一个“目录”概念。目录是SQL环 境中所有模式的集合。包含数据库中定义的对 象的信息的表,由系统维护。ORACLE叫数据字 典,DB2 UDB叫目录表,INFORMIX叫系统目录。 目录表在建立数据库时建立,用户不能更新, 但DBA可以用select获取这些信息。 • 当一个SQL模式及其所属的基本表、视图等元 素都不需要时,可以用DROP语句撤消这个SQL 模式。DROP语句的句法如下: DROP SCHEMA <模式名> [CASCADE|RESTRICT]
《数据厍设计与开发》讲义 1.3.2.2SQL提供的基本数据类型 SOL-99 ORACLE INFORMIX|DB2UDB说明 C char(n) char(n) char(n) char(n) 定长字符型 char n<=4000 n<=32767n<=254 array n+1 varchar(n) varsha(n) varchar(n)| varchar(mn)变长字符型 char varchar 2(n) arrayn+1l numeric(pd) numeric(pd) numeric(pd) numerIc(p.d)定点数,由p位数 decimal(p, d) decimal(p, d) decimal(p, d) decimal(p, d)|小数点)小数点后无 number(p, d) 面有d位数字 smallint smallint smallint smallint 短整数 short int Integer Integer nteger integer 长整数 int long int real rea rea rea 浮点数 float double double double double 取决于机器精 precision precIsion, precision precision 度的双精度浮| double number float float double float, I点数 float(n) float(n) float(n) 至少为n位精度 电次学软优笔 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.3.2.2 SQL提供的基本数据类型 SQL-99 ORACLE INFORMIX DB2 UDB 说明 C char(n) char(n) n<=4000 char(n) n<=32767 char(n) n<=254 定长字符型 char array[n+1] varchar(n) varchar(n) varchar2(n) varchar(n) varchar(n) 变长字符型 char array[n+1] numeric(p,d) decimal(p,d) numeric(p,d) decimal(p,d) number(p,d) numeric(p,d) decimal(p,d) numeric(p,d) decimal(p,d) 定点数,由p位数 字(不包括符号、 小数点) 小数点后 面有d位数字 无 smallint smallint smallint smallint 短整数 short int integer integer integer integer 长整数 int,long int real real real real 浮点数 float double precision, float, float(n) double precision, number,float float(n) double precision, float double precision, double,float, float(n) 取决于机器精 度的双精度浮 点数 至少为n位精度 double
《数据厍设计与开发》讲义 1.3.2.3定义、删除与修改基本表 建立数据库最重要的一步就是定义一些基本表。SQL语 言使用 CREATE TABLE语句定义基本表,一般格式如下 CREATE TABLE<表名 (<列名〉<数据类型[列级完整性约束条件] [,<列名〉数据类型>[列级完整性约束条件] [,<表级完整性约束条件〉]); FF CREATE TABLE Student (Sno CHAR (5) PRIMARY KEY Sname CHAR (8) NOT NULL Sage Small int CHECK(Sage BETWEEN 17 AND 22) Ssex char(2) CHECK( Ssex In(男’,′女)), Sdept char(20) DEFAULT(软件学院’)) 创建学生表:Sno为主键(非空唯一), Sname非空,Sage在17到20之 间取值,Ssex只能取‘男’或‘女’, Sdept默认值为‘软件学院’ 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.3.2.3 定义、删除与修改基本表 • 建立数据库最重要的一步就是定义一些基本表。SQL语 言使用CREATE TABLE语句定义基本表,一般格式如下: CREATE TABLE <表名> (<列名><数据类型>[列级完整性约束条件] [,<列名><数据类型>[列级完整性约束条件]]… [,<表级完整性约束条件>]); • 例:CREATE TABLE Student (Sno CHAR(5) PRIMARY KEY, Sname CHAR(8) NOT NULL, Sage SMALLINT CHECK(Sage BETWEEN 17 AND 22), Ssex CHAR(2) CHECK(Ssex IN(’男’ , ’女’)), Sdept CHAR(20) DEFAULT(‘软件学院’)); 创建学生表:Sno为主键(非空唯一),Sname非空,Sage在17到20之 间取值,Ssex只能取‘男’或‘女’,Sdept默认值为‘软件学院’
《数据厍设计与开发》讲义 1.3.2.3定义、删除与修改基本表 ·实际使用时要有用户ID和密码,进入交互式环 境,才能完成数据库操作。 ·修改基本表 ALTER TABLE<表名> [AD<新列名〉<数据类型冮[完整性约束] [DROP<完整性约束名> LMODIFY列名入数据类型冫; 其中〈表名>是要修改的基本表,ADD子句用于 增加新列和新的完整性约束条件,DROP子句用 于删除指定的完整性约束条件, MODIPY子句用 于修改原有的列定义,包括修改列名和数据类 型 北京邮电次学软优貌 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.3.2.3 定义、删除与修改基本表 • 实际使用时要有用户ID和密码,进入交互式环 境,才能完成数据库操作。 • 修改基本表 ALTER TABLE<表名> [ADD<新列名><数据类型>[完整性约束]] [DROP<完整性约束名>] [MODIFY<列名><数据类型>]; 其中<表名>是要修改的基本表,ADD子句用于 增加新列和新的完整性约束条件,DROP子句用 于删除指定的完整性约束条件,MODIPY子句用 于修改原有的列定义,包括修改列名和数据类 型
《数据厍设计与开发》讲义 1.3.2.3定义、删除与修改基本表 ·删除基本表 DROP TABLE<表名 基本表一旦删除,表中的数据、此表上 建立的索引和视图都将自动被删除掉。 因此执行删除基本表的操作一定要格外 注意:有的系统,如 Oracle,删除基本 表后建立在此表上的视图定义仍然保留 在数据字典中。但是,当用户引用时就 报错。 家邮电大学物你学院 部明80080
北京邮电大学软件学院 郭文明 2003.06 《数据库设计与开发》讲义 1.3.2.3 定义、删除与修改基本表 • 删除基本表 DROP TABLE <表名> 基本表一旦删除,表中的数据、此表上 建立的索引和视图都将自动被删除掉。 因此执行删除基本表的操作一定要格外 小心。 • 注意:有的系统,如Oracle,删除基本 表后建立在此表上的视图定义仍然保留 在数据字典中。但是,当用户引用时就 报错