VFP项目和数据库练习

上传人:hao****021 文档编号:121623197 上传时间:2022-07-19 格式:DOC 页数:9 大小:43.01KB
返回 下载 相关 举报
VFP项目和数据库练习_第1页
第1页 / 共9页
VFP项目和数据库练习_第2页
第2页 / 共9页
VFP项目和数据库练习_第3页
第3页 / 共9页
点击查看更多>>
资源描述
练习一:项目、数据库和表操作一、打开DATA文件夹中的项目文件TEST, 在该项目中已有一数据库SJK。1按如下要求修改SJK中学生(XS)表的结构:(1)将学号(xh)字段宽度设置为10。(2)设置xh字段的有效性规则:学号的有效宽度只能是6位或8位或10位。(3)设置xh字段的字段注释:该字段是学生表的主关键字,不允许重复。(4)创建一个候选索引bhxh,要求先按班级编号(bjbh)字段升序排序,班级编号相同的再按xh字段升序排序。(5)为jg字段设置默认值:“江苏”。(6)设置XS表注释:学生基本信息。2把TEST项目中的图片文件015.jpg的包含状态设置为“排除”。3修改XS表中所有记录的xh字段值,用班级编号(bjbh)中的第3至4位插入到学号中的第2与第3位之间。例如:学号为“990501”,班级编号为“990404051”,则替换后的学号就是“99040501”。4为xs表设置删除触发器:只有学号开头两位是“95”至“99”的记录允许删除,否则不允许删除。5SJK中XS表已存在主索引xsxh,索引表达式为xh,学生成绩(CJ)表已存在普通索引cjxh,索引表达式为xh。以XS表为主表,CJ表为子表按xh建立永久关系,并设置XS表和CJ表之间的参照完整性:删除限制。答案:1按如下要求修改SJK中学生(XS)表的结构:(1)将学号(xh)字段宽度设置为10;(2)设置xh字段的有效性规则:len(alltrim(xh)=6 or len(alltrim(xh)=8 or len(alltrim(xh)=10(3)设置xh字段的字段注释:该字段是学生表的主关键字,不允许重复;(4)创建索引:候选索引索引表达式:bhxh:bjbh+xh(5)为jg字段设置默认值:“江苏”。(6)设置XS表注释:学生基本信息。2把TEST项目中的图片文件015.jpg的包含状态设置为“排除”。3修改XS表中所有记录的xh字段值UPDATE XS SET XH=LEFT(XH,2)+SUBSTR(BJBH,3,2)+SUBSTR(XH,3)4为xs表设置删除触发器:LEFT(XH,2)=95 AND LEFT(XH,2)=XF2修改KC表中所有记录的课时数(kss)和学分(xf)字段的值UPDATE KC SET KSS=KSS+IIF(bxk,1,0), XF=XF+IIF(bxk,1,0)3向KC表中增加一条记录4设置KC表的删除触发器:NOT KC_DEL_TRI( ) 5以KC表为主表,CJ表为子表按kcdh建立永久关系设置它们之间的参照完整性:更新级联。三、 打开DATA文件夹中的项目文件TEST, 在该项目中已有一数据库SJK。1按如下要求修改SJK中课程(KC)表的结构:(1)设置必修课(bxk)字段的标题:是否必修课。(2)设置课程代号(kcdh)字段的输入掩码:课程代号只能是两位数字字符。(3)设置学分(xf)字段的显示类为微调控件。(4)增加一个备注型字段,字段名为“课程简介”。(5)为KC表创建记录级有效性规则:课时数(kss)不能少于学分(xf)。2已知数据库SJK的存储过程中有一自定义函数Ltoc( ),功能是将逻辑型数据转换为汉字字符“是”与“否”,例如Ltoc( .T.)的返回值为“是”。利用该函数为KC表创建一个普通索引bxkxf,要求将所有必修课记录排在前,非必修课记录排在后,同类型课程中再按学分(xf)字段排序。3. 修改KC表中所有记录的课时数(kss)和学分(xf)字段的值,修改方法是:所有非必修课(bxk字段的值为.F.)的课时数和学分均减1。4向KC表中增加一条空记录,并输入kcdh字段内容为“27”。5已知数据库SJK的存储过程中有一自定义函数kc_del_tri(),该函数的功能是:对于打开的KC表,如果当前记录在成绩表(CJ)或任课表(RK)中有相关记录,则返回.T.,否则返回.F.。设置KC表的删除触发器,要求如果KC表的当前记录在成绩表或任课表中有相关记录,则禁止删除。6已知KC表已存在主索引kcdh,索引表达式为kcdh,成绩(CJ)表已存在普通索引cjkcdh,索引表达式为kcdh。以KC表为主表,CJ表为子表按kcdh建立永久关系,并设置它们之间的参照完整性:更新级联。答案:1按如下要求修改SJK中课程(KC)表的结构:(1)设置bxk字段的标题:是否必修课(2)设置课程代号(kcdh)字段的输入掩码:99(3)设置学分(xf)字段的显示类为微调控件;(4)增加一个备注型字段,字段名为“课程简介”;(5)为KC表创建记录级有效性规则:kss=xf2已知数据库SJK的存储过程中有一自定义函数:Ltoc(bxk)+str(xf),降序3. 修改KC表中所有记录的课时数(kss)和学分(xf)字段的值方法一:UPDATE KC SET KSS=KSS+IIF(BXK,0,-1) , XF=XF+IIF(BXK,0,-1)方法二:REPLACE ALL kc.kss WITH Kc.kss+1,XF WITH XF+1 FOR !Kc.bxk4向KC表中增加一条记录方法一:INSERT INTO KC(KCDH) VALUES (“”)方法二:APPEND BLANK5设置KC表的删除触发器:NOT KC_DEL_TRI( )6以KC表为主表,CJ表为子表按kcdh建立永久关系设置它们之间的参照完整性:更新级联。四、打开DATA文件夹中的项目文件TEST,在该项目中已有一数据库SJK。1按如下要求修改SJK中工资(GZ)表的结构:(1)为岗位津贴(gwjt)字段设置标题:岗位津贴。(2)设置工号(gh)字段的输入掩码:工号以1个任意英文字母开头,后跟4位数字。(3)增加一个逻辑型字段,其字段名为yhdf。(4)创建一个普通索引jbgw,要求按基本工资(jbgz)字段与岗位津贴(gwjt)的和降序排序。(5)为GZ表设置注释信息:“职工工资表”。2把A:B0001.GIF文件添加到TEST项目中的适当位置,并将包含状态设置为“排除”。3计算GZ表中所有教师的住房公积(zfgj),计算方法是:住房公积是基本工资(jbgz)的8%。4设置GZ表的记录有效性规则:住房公积(zfgj)字段的值必须为基本工资(jbgz)字段的8%。5设GZ表的更新权限由一个全局的逻辑变量ispassed控制,当ispassed的值为 .T. 时允许更新,设置GZ表的更新触发器。6SJK中教师(JS)表已存在主索引jsgh,索引表达式为gh,GZ表已存在普通索引gzgh,索引表达式为gh。以JS表为主表,GZ表为子表按gh建立“一对一”的永久关系,并设置JS表和GZ表之间的参照完整性:更新级联。答案:1按如下要求修改SJK中工资(GZ)表的结构:(1)为gwjt字段设置标题:岗位津贴(2)设置工号(gh)字段的输入掩码:X9999(3)增加一个逻辑型字段yhdf(4)创建一个普通索引jb_gw: jbgz+gwjt ,降序(5)为GZ表设置长表名:职工工资表2把A:B0001.GIF文件添加到TEST项目中位置:其他文件,设置“排除”3UPDATE GZ SET ZFGJ=JBGZ*0.084设置GZ表的记录有效性规则: zfgj=jbgz*0.085设GZ表的更新权限由一个全局的逻辑变量ispassed控制,当ispassed的值为 .T. 时允许更新,设置GZ表的更新触发器:ispassed=.T.6以JS表为主表,GZ表为子表按gh建立“一对一”的永久关系设置JS表和GZ表之间的参照完整性:更新级联五、打开DATA文件夹中的项目文件TEST, 在该项目中已有一数据库SJK。1按如下要求修改SJK中工资(GZ)表的结构:(1)为应发工资(yfgz)字段设置标题:应发工资。(2)设置工号(gh)字段的输入掩码:工号以1个任意英文字母开头,后跟4位数字。(3)增加一个逻辑型字段,其字段名为yhdf。(4)创建一个普通索引jbgwzh,要求按基本工资(jbgz)、岗位津贴(gwjt)和综合津贴(zhjt)三个字段的和降序排序。(5)为GZ表添加注释:职工工资表。2把B0001.GIF文件添加到TEST项目中的适当位置,并将包含状态设置为“排除”。3计算GZ表中所有教师的应发工资(yfgz),应发工资是基本工资(jbgz)、岗位津贴(gwjt)和综合津贴 (zhjt)三个字段值的和。4设置GZ表的记录有效性规则:应发工资(yfgz)字段的值必须不超过基本工资(jbgz)、岗位津贴(gwjt)和综合津贴(zhjt)三个字段值的和。5设GZ表的更新权限由一个全局的字符变量UserName(表示用户名)控制,只有当UserName的值为“Admin”时允许更新,根据此要求设置GZ表的更新触发器。6SJK中教师(JS)表已存在主索引jsgh,索引表达式为gh,GZ表已存在普通索引gzgh,索引表达式为gh。以JS表为主表,GZ表为子表按gh建立“一对一”的永久关系,并设置JS表和GZ表之间的参照完整性:更新级联。答案:1按如下要求修改SJK中工资(GZ)表的结构:(1)为yfgz字段设置标题:应发工资(2)设置工号(gh)字段的输入掩码:X9999(3)增加一个逻辑型字段,其字段名为yhdf(4)创建一个普通索引jbgwzh, jbgz+gwjt+zhjt,降序(5)为GZ表添加注释:职工工资表2把B0001.GIF文件添加到TEST项目中的位置:自由表,设置为“排除”3计算GZ表中所有教师的应发工资(yfgz)UPDATE GZ SET yfgz=jbgz+gwjt+zhjt4设置GZ表的记录有效性规则:yfgz=jbgz+gwjt+zhjt5设置GZ表的更新触发器:UserName=Admin6以JS表为主表,GZ表为子表按gh建立“一对一”的永久关系设置JS表和GZ表之间的参照完整性:更新级联六、打开DATA文件夹中的项目文件TEST, 在该项目中已有一数据库SJK。1按如下要求修改SJK中教师(JS)表的结构:(1)设置zcdh字段的有关属性,使得JS表在浏览窗口中,zcdh列的列表头显示为:职称代号。(2)设置工号(gh)字段的有关属性,使gh字段的首字母以大写形式显示。(3)将性别(xb)字段的显示类设置为“A:CLASSLIB.VCX”类库中的opt_xb类。(4)设置简历(jl)字段允许输入空值NULL。(5)创建一个普通索引,索引名gh4,要求按gh字段的后4位数字升序排序。2把软盘根目录中的件XS.TXT添加到TEST项目中的适当位置,并将文件设置为“排除”状态。3向JS表中增加一条工号(gh)为“B0007”、出生日期(csrq)为“1978年2月1日”的记录。4在JS表中增加一整型字段series,并对每个记录填入该字段的值,数值是由每个记录的记录号的平方与工号(gh)字段首字母的ASCII码的3次方的和计算得到的。5为JS表设置插入触发器:不允许插入工号首字母为P以及P以后的字母(即PZ)。6已知JS表已存在主索引jsgh,索引表达式为gh,RK表已存在普通索引rkgh,索引表达式为gh。以JS表为主表、RK表为子表按gh建立永久关系,并设置JS表和RK表之间的参照完整性:更新限制。答案:打开软盘根目录下的项目文件TEST, 在该项目中已有一数据库SJK。1按如下要求修改SJK中教师(JS)表的结构:(1)zcdh字段的caption=职称代号(2)gh字段Format=!(3)设置xb的显示类为“A:CLASSLIB.VCX”类库中的opt_xb类(4)设置jl字段允许输入空值(5)创建一个普通索引gh4:substr(2,4)2 xs.txt添加到TEST项目中的位置:“其他/文本文件”,设置为“排除”状态3向JS表中增加一条记录INSERT INTO JS(gh,csrq) VALUES(B0007,1987-02-01)4在JS表中增加一整型字段series并对每个记录填入该字段的值,数值是由每个记录的记录号的平方与工号(gh)字段首字母的ASCII码的3次方的和计算得到的。update js set series=recno()2+asc(gh)35为JS表设置插入触发器:LEFT(GH,1)=102 xs.txt添加到TEST项目中的位置:“其他/文本文件”,设置为“排除”状态3向JS表中增加一条记录4修改JS表各个教师的简历(jl)字段:UPDATE JS SET JL=gh+xm+xb5为JS表设置插入触发器:LEFT(GH,1)506以XIM表为主表,XS表为子表按xdh建立永久关系设置XIM表和XS表之间的参照完整性:更新限制九、打开DATA文件夹中的项目文件TEST, 在该项目中已有一数据库SJK。1按如下要求修改SJK中成绩(CJ)表的结构:(1)将课程代号(kcdh)字段的标题设置为“课程代号”。(2)设置课程代号(kcdh)字段的有效性(验证)规则:课程代号不能为空字符串。(3)假如成绩满分为120分,且要精确到0.5分,根据要求修改成绩(cj)字段的宽度及小数位数。(4)增加一个日期型字段,字段名为ksrq。(5)创建普通索引xhcj,要求先按学号(xh)字段排序,学号相同的按成绩(cj)字段排序。2为JS表中姓名(xm)是“汪 杨”的记录写入简历(jl),内容为“1985年调入”。3为CJ表设置更新触发器:学号(xh)以字符“0”开头的允许更新,否则不允许。4把软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表。5修改GZB表中所有记录的综合津贴(zhjt)字段的值,修改方法为:所有的女教师统一增加150元,男教师增加50元。6SJK中XIM表已存在主索引xdh,索引表达式为xdh,JS表已存在普通索引xdh,索引表达式为xdh。以XIM表为主表,JS表为子表按xdh建立永久关系,并设置XIM表和JS表之间的参照完整性:更新级联。答案:1按如下要求修改SJK中成绩(CJ)表的结构:(1)将课程代号(kcdh)字段的标题设置为“课程代号”(2)设置kcdh字段的有效性(验证)规则:not empty(kcdh)(3)修改成绩(cj)字段的宽度:5;小数位数:1(4)增加一个日期型字段,字段名为ksrq(5)创建一个普通索引xhcj:xh+str(cj)2为JS表中姓名(xm)是“汪 杨”的记录写入简历(jl),内容为“1985年调入”3为CJ表设置更新触发器:left(xh,1)=04把软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表5修改GZB表中所有记录的综合津贴(zhjt)字段的值,修改方法为:所有的女教师统一增加150元,男教师增加50元。update gzb set zhjt=zhjt+iif(xb=男,50,150)6以XIM表为主表,JS表为子表按xdh建立永久关系设置XIM表和JS表之间的参照完整性:更新级联
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 机械制造 > 电气技术


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!