资源描述:
《orac实验4表管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验四表管理l实验目的1.掌握oracle数据库常用数据类型。2.掌握表的创建。3.掌握数据完整性约束与表管理常用操作。l实验环境Oracle10gl实验内容1.基本关系表的创建练习1:创建一个名为product(产品)的普通表存放于本地表空间users。SQL>connscott/tiger@orcl已连接。SQL>droptablescott.productcascadeconstraints;表已删除。SQL>createtablescott.product2(pcodenumber(8),3pnamevarchar2(30),4pdescvarchar2(10
2、0),5ppricenumber(6,2))6tablespaceusers;表已创建。练习2:通过子查询创建表。SQL>droptableemp_bakcascadeconstraints;表已删除。SQL>createtableemp_bakasselect*fromemp;表已创建。SQL>select*fromemp_bak;2.指定表的存储参数SQL>connsys/syspwd@orclassysdba已连接。SQL>droptablespacets_stockincludingcontentsanddatafiles;6表空间已删除。SQL>create
3、tablespacets_stock2datafile'%oracle_base%oradatats_stock.dbf'size100Mreuse3uniformsize128K4;表空间已创建。SQL>alteruserscottquotaunlimitedonts_stock;用户已更改。SQL>connscott/tiger@orcl已连接。SQL>createtablescott.supplier2(scodenumber(8),3snamevarchar2(25),4contactvarchar2(15),5phonevarchar2(15),6fax
4、varchar2(15))7storage(8initial100k9next100k10pctincrease011minextents112maxextents8)13tablespacets_stock;表已创建。如果要对表的其他相关参数进行修改,可以使用altertable,示例如下:SQL>altertablescott.supplier2pctfree203pctused504initrans65maxtrans20;表已更改。3.完整性约束练习3:下面的代码定义了三个表,student、course、score并定义了相关完整性约束。CONNscott/
5、tiger@orclDROPTABLEstudentCASCADECONSTRAINTS;CREATETABLEstudent(snoVARCHAR2(10),nameVARCHAR2(20)NOTNULL,sexVARCHAR2(2),ageNUMBER(2),6classVARCHAR2(7)NOTNULL,CONSTRAINTstu_pk_snoPRIMARYKEY(sno),CONSTRAINTstu_unique_nameUNIQUE(name),CONSTRAINTstu_check_sexCHECK(sexIN('男','女')),CONSTRAINTs
6、tu_check_ageCHECK(ageBETWEEN16AND20));DROPTABLEcourseCASCADECONSTRAINTS;CREATETABLEcourse(cnoVARCHAR2(4),cnameVARCHAR2(16)NOTNULL,remarkVARCHAR2(200)DEFAULT'专业课',CONSTRAINTcourse_pk_snoPRIMARYKEY(cno));DROPTABLEscore;CREATETABLEscore(snoVARCHAR2(5),cnoVARCHAR2(4),scoreNUMBER(5,2),CONSTR
7、AINTscore_fk_snoFOREIGNKEY(sno)REFERENCESstudent(sno)ONDELETECASCADE,CONSTRAINTscore_fk_cnoFOREIGNKEY(cno)REFERENCEScourse(cno)ONDELETECASCADE,CONSTRAINTscore_pk_sno_cnoPRIMARYKEY(sno,cno));INSERTINTOstudentVALUES('01080','张三','男',19,'01-01');INSERTINTOcourse(cno,cname)VALUES('