资源描述:
《实验二 数据定义实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二数据定义一、实验目的1、掌握使用SQL语句创建和删除数据库;2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构;3、掌握索引的创建和删除方法。二、预备知识1、数据库的建立与删除可以使用SQL语句建立数据库,语句格式为:CREATEDATABASE<数据库名>其中CREATEDATABASE为关键字,<数据库名>为用户创建的数据库的名称,由用户自定。使用DROPDATABASE语句可以删除数据库,语句格式为:DROPDATABASE<数据库名>其中DROPDATABASE
2、为关键字,<数据库名>为要删除的数据库的名称。当数据库被删除时,数据库中的所有数据对象也一起被删除掉。2、数据表的创建与删除使用CreateTable语句创建数据表,语句格式为:CREATETABLE<表名>(<列名><数据类型>[列级完整性约束条件][,<列名><数据类型>[列级完整性约束条件]]…[,<表级完整性约束条件>]);其中CREATETABLE为关键字,<表名>为数据表的名称,由用户确定,<列名>为组成这个表的属性列的名称,由用户确定,<数据类型>为属性列的取值的类型,由用户在具体的
3、DBMS所提供的数据类型中选择。使用DropTable语句删除数据表,语句格式为:DROPTABLE<表名>注意:删除一个表,表的定义以及表中的所有数据,以及该表的索引、约束、触发器等将自动删除,并且与表相关联的规则和默认对象也将失去与它的关联关系。3、修改基本表使用ALTERTABLE语句修改已建立好的基本表,该语句可以实现添加、修改、删除基本表中的属性列、约束等操作,下面分别给出语句格式及说明:(1)添加操作在ALTERTABLE语句中使用ADD子句添加新列和新的完整性约束,添加新列的语句格式
4、如下:ALTERTABLE<表名>ADD<新列名><数据类型>添加新的完整性约束语句格式如下:ALTERTABLE<表名>ADD<完整性约束规则>(2)修改操作在ALTERTABLE语句中使用ALTERCOLUMN子句修改原有列的定义,语句格式如下:ALTERTABLE<表名>ALTERCOLUMN<列名><数据类型>(3)删除操作在ALTERTABLE语句中使用DROP子句删除已有的列和完整性约束条件,删除列的语句格式如下:ALTERTABLE<表名>DROPCOLUMN<列名>删除完整性约束条
5、件的语句格式为:ALTERTABLE<表名>DROP<约束名称>关于ALTERTABLE语句更详细的语法格式请参照“联机丛书”,下面通过实例给出ALTERTABLE语句的具体用法,如下:操作类型实例添加添加新列AltertablesaddSidchar(20)添加新的完整性约束Altertablesaddunique(sid)修改修改原有列的定义AltertablesaltercolumnSidchar(30)删除删除已有完整性约束Altertablesdropuq_sid删除已有列Alterta
6、blesdropcolumnSid4、索引的创建与删除使用CREATEINDEX语句创建索引,语句格式为:CREATE[UNIQUE][CLUSTERED
7、NONCLUSTERED]INDEX<索引名称>ON<表名>(列名[ASC
8、DESC][,...n])其中UNIQUE、CLUSTERED、NONCLUSTERED指出所建索引的类型,分别为唯一性索引、聚集索引和非聚集索引。注意:不能在数据类型为text、ntext和image的列上建立索引。使用DROPINDEX语句删除索引,语句格式为:DR
9、OPINDEX<表名.索引名>注意:DropIndex语句能够删除CreateIndex语句所建立的索引,但是它不能删除SQLSever为PrimaryKey或Unique约束所建立的索引,这些索引只能通过删除约束或表的方法来删除。三、实验内容(一)数据库的建立使用CREATEDATABASE语句创建名为“gongcheng”的数据库。(二)数据表操作1.建立数据表在创建的“gongcheng”数据库中使用SQL语句建立4个关系(可参考课本P74习题5),如下:供应商表S(Sno,Sname,St
10、atus,Ctiy)零件表P(Pno,Pname,Color,Weight)工程项目表J(Jno,Jname,City)供应情况表SPJ(Sno,Pno,Jno,QTY)要求:(1)创建每个关系的主键,有外键的创建外键。(2)S表中的Sname属性列的取值唯一(3)P表中weight属性列的取值范围在1-50之间S、P、J、SPJ表的创建分别如下图所示:(4)J表中的Jname取值不能为空并且是唯一的(5)SPJ表中QTY属性列的数据类型必须为int2.修改表的结构用SQL语句完成