资源描述:
《实验七 数据库的完整性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库原理实验学号:123012008xxx姓名:xxx班级(x)小班日期:2010年月日实验七数据库的完整性一、实验目的1.理解关系数据库中关于数据库完整性的概念2.掌握实体完整性的定义方法3.掌握参照完整性的定义方法4.掌握用户自定义完整性的方法二、实验环境(实验的软件、硬件环境)硬件:PC机软件:SQL2000三、实验说明请复习数据库完整性的相关知识点,完成如下实验内容。四、实验内容(1)重建orderDB数据库中的表,分别为每张表建立主键,外键。(2)各表的用户定义的完整性如下:Ø员工表:员工姓名,电话属性为notnull;员工编号构成
2、:年流水号,共8位,第一位为E,如E2008001,年份取雇佣日期的年份;性别:f表示女,m表示男。createtableemployee_o(enamevarchar(20)notnull,enovarchar(10)primarykeycheck(enolike'E[0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),hiredatedatetimedefaultgetdate(),esexchar(1)check(esexin('f','m'))default'f',edepartmentvarchar(20)not
3、null,ecareervarchar(20)notnull,esalarynumeric(8,2)notnull,constraintc1check(substring(eno,2,4)=year(hiredate))Ø)Øsubstring第二个参数是开始的位置,第三个参数是所计算个数Ø商品表:商品编号、商品名称、商品类别、建立日期设为not3数据库原理实验学号:123012008xxx姓名:xxx班级(x)小班日期:2010年月日null;商品编号构成:年流水号,共9位,第一位为P,如P20080001,年份取建立日期的年份createt
4、ableproduct_o(pnovarchar(10)primarykeycheck(pnolike'E[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),pnamevarchar(20)notnull,pclassvarchar(40)notnull,createdatedatetimenotnulldefaultgetdate(),constraintc2check(substring(pno,2,4)=year(createdate))Ø)Ø客户表:员工编号、姓名、性别、所属部门、职称、薪水设为notn
5、ull;客户号构成:年流水号,共9位,第一位为C,如C20080001,年份取建立日期的年份createtablecustomer_o(cnovarchar(10)primarykeycheck(cnolike'E[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),cnamevarchar(20)notnull,csexvarchar(1)check(csexin('f','m'))default'f',ccreatedatedatetimenotnulldefaultgetdate(),constraintc
6、3check(substring(cno,2,4)=year(ccreatedate))Ø)Ø订单主表:订单编号的构成:年月日流水号,共12位,如200708090001;订单编号、客户编号、员工编号、发票号码设为notnull;业务员必须是员工;订货日期和出货日期的默认值设为系统当前日期;订单金额默认值为0;发票号码建立unique约束。createtableordermaster_o(ordernovarchar(20)primarykeycheck(ordernolike'[0-9][0-9][0-9][0-9][0-9][0-9][0-
7、9][0-9][0-9][0-9][0-9][0-9]'),cnovarchar(10)notnull,enovarchar(10)notnull,invoicenovarchar(20)unique,podatedatetimedefaultgetdate(),deliverydatedatetimedefaultgetdate(),ordersumnumeric(10,0)default0,3数据库原理实验学号:123012008xxx姓名:xxx班级(x)小班日期:2010年月日foreignkey(eno)referencesemplo
8、yee_o(eno),foreignkey(cno)referencescustomer_o(cno),constraintc4check(subst