预览加载中,请您耐心等待几秒...
在线预览结束,喜欢就下载吧,查找使用更方便
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
深圳职业技术学院软件工程系015、03软件2004-2005学年度第一学期期末考试(必修)大型数据库(SQLSERVER)试卷B【开卷】——参考答案及评分标准——1.创建一个名字为person的数据库,其数据文件分别为5MB和7MB;日志文件为4MB。数据文件和日志文件的最大尺寸为20MB,文件增长量为1MB。【10分】createdatabasepersononprimary(Name=person_data1,Filename='c:\xk\shijuan\person_data1.mdf',Size=5MB,MaxSize=20MB,Filegrowth=1),(Name=person_data2,Filename='c:\xk\shijuan\person_data2.mdf',Size=7MB,MaxSize=20MB,Filegrowth=1)logon(Name=person_log,Filename='c:\xk\shijuan\person_log.mdf',Size=4MB,MaxSize=20MB,Filegrowth=1)GO2.按照附表给出表的定义,请在person数据库中创建奖励表。【5分】usepersongocreatetable奖励表(职工身份证号char(15)notnull,奖励时间datetimenotnull,奖励原因textnull,奖励内容textnull,批准单位char(3)null)go3.在职工个人信息表和奖励表上创建约束。它使得在向奖励表中录入数据时,能保证所输入的职工身份证号在个人基本信息表中是存在的。【10分】usepersongo--在职工个人信息表上创建主键约束altertable职工个人信息表addconstraintPK_perbasicPrimarykey(职工身份证号)go--在奖励表上创建外键约束altertable奖励表addconstraintFK_jiangchengForeignkey(职工身份证号)references职工个人信息表(职工身份证号)go4.在奖励表上创建一个非聚集的非惟一索引。该索引基于职工身份证号和奖励时间列创建。【5分】CreateindexIX_jiangchengon奖励表(职工身份证号,奖励时间)go5.创建一个视图myview。要求显示居住在‘郑州市’的职工信息,显示内容包括有职工身份证号、职工姓名、性别、年龄、参加工作时间、工作单位。【5分】CreateViewmyviewasselect职工身份证号,职工姓名,性别,'年龄'=datediff(yy,出生日期,getdate()),参加工作时间,工作单位from职工个人信息表where家庭住址like'%郑州市%'goselect*frommyview6.统计显示居住在‘郑州市’的职工总人数。【5分】select'居住在郑州市的职工人数'=count(职工身份证号)from职工个人信息表where家庭住址like'%郑州市%'go7.对在1985年获得奖励的职工均增加500元工资。【10分】update职工个人信息表set工资=工资+500from职工个人信息表,奖励表where职工个人信息表.职工身份证号=奖励表.职工身份证号andyear(奖励时间)='1985'go8.民族列只允许输入“汉族”、”回族”、“满族”、“苗族“、“壮族”5个值中的一个,不允许输入其它值。【10分】createrulerule_nationas@nationin('汉族','回族','满族','苗族','壮族')gosp_bindrulerule_nation,'职工个人信息表.民族'go9.给职工个人信息表创建一个级联修改触发器,当修改职工个人信息表的职工身份证号时,级联修改职工家属表、奖励表、个人简历表中的与修改的职工身份证号相等的那些职工身份证号。【10分】createtriggertri_update_zgon职工个人信息表afterupdateasifupdate(职工身份证号)beginif(selectcount(*)fromdeleted)=0/*或者frominserted表*/beginrollbacktranprint'抱歉,职工个人信息表中不存在所要修改的职工身份证号.'endelseif(selectcount(*)from职工个人信息表,insertedwhere职工个人信息表.职工身份证号=inserted.职工身份证号)>1beginrollb