1数据库技术与应用北京邮电大学计算机学院肖达xiaoda99@gmail.com2DatabaseTechnologyandItsApplication第三章关系数据库标准语言SQLSQL概述数据查询数据定义数据更新视图3DatabaseTechnologyandItsApplication数据定义表3.2SQL的数据定义语句操作方式操作对象创建删除修改模式CREATESCHEMADROPSCHEMA表CREATETABLEDROPTABLEALTERTABLE视图CREATEVIEWDROPVIEW索引CREATEINDEXDROPINDEXSQL的数据定义功能:模式定义、表定义、视图和索引的定义4DatabaseTechnologyandItsApplication定义模式(续)[例1]定义一个学生-课程模式S-TCREATESCHEMAS-TAUTHORIZATIONWANG;为用户WANG定义了一个模式S-T[例2]CREATESCHEMAAUTHORIZATIONWANG;<模式名>隐含为用户名WANG如果没有指定<模式名>,那么<模式名>隐含为<用户名>5DatabaseTechnologyandItsApplication定义模式(续)定义模式实际上定义了一个命名空间在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。在CREATESCHEMA中可以接受CREATETABLE,CREATEVIEW和GRANT子句。CREATESCHEMA<模式名>AUTHORIZATION<用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>]6DatabaseTechnologyandItsApplication定义模式(续)[例3]CREATESCHEMATESTAUTHORIZATIONZHANGCREATETABLETAB1(COL1SMALLINT,COL2INT,COL3CHAR(20),COL4NUMERIC(10,3),COL5DECIMAL(5,2));为用户ZHANG创建了一个模式TEST,并在其中定义了一个表TAB1。7DatabaseTechnologyandItsApplication二、删除模式DROPSCHEMA<模式名>CASCADE(级联)删除模式的同时把该模式中所有的数据库对象全部删除RESTRICT(限制)如果该模式中定义了下属的数据库对象(如表、视图等),则拒绝该删除语句的执行。当该模式中没有任何下属的对象时才能执行。[例4]DROPSCHEMAZHANGCASCADE;删除模式ZHANG同时该模式中定义的表TAB1也被删除8DatabaseTechnologyandItsApplication数据定义模式的定义与删除基本表的定义、删除与修改索引的建立与删除9DatabaseTechnologyandItsApplication基本表的定义、删除与修改一、定义基本表CREATETABLE<表名>(<列名><数据类型>[<列级完整性约束条件>][,<列名><数据类型>[<列级完整性约束条件>]]…[,<表级完整性约束条件>]);如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。10DatabaseTechnologyandItsApplication...