ImageVerifierCode 换一换
格式:DOCX , 页数:63 ,大小:1.55MB ,
资源ID:25744224      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25744224.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库设计完整流程图.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库设计完整流程图.docx

1、数据库设计完整流程图实验一 软件分析请从网站下载示例程序,分析软件的功能并列出,并从中抽象出实体,画出软件的E-R图并进行数据库逻辑设计,画出数据库逻辑设计表格。参考如下:一、功能说明1)系统登录控制:要求填写用户名及密码,并进行了3次连续错误后系统退出功能。2)部门编码设置:主要是用来设置部门的层级关系。3)部门信息设置:部分的基本信息,如地址、电话等。4)员工信息管理:管理企业内部员工的信息,还可以设置生日提醒。5)提醒设置功能:可以通过设置信息及接收用户及时间,当被设置的用户登录时显示给用户。6)今日提醒功能:根据提醒设置,显示相应信息。7)系统设置:修改使用软件的单位信息。8)密码修改

2、功能:修改用户的密码。二、E-R图首先是进行实体的抽象,通过系统登录功能及用户密码修改功能,我们可以抽象出“用户”实体,通过部门编码及部门信息管理功能,可以抽象出“部门”实体,通过员工信息管理可得到“员工”实体,通过提醒功能及今日提醒功能可以抽象出“提醒”实体,最后就是系统基本信息,可以得到“系统”实体。实体之间关系有E-R图提醒实体用户信息实体的E-R图部门信息实体的E-R图员工信息实体的E-R图系统信息实体的E-R图三、逻辑表格通过上面的E-R图,我们已经确立了实体,现在我们要进一步把实体及属性更完善,进行数据库的逻辑设计提醒信息字段名字段类型宽度可否为空默认值说明Warnid自动编号4主

3、索引emplyid整型4否0普通索引当为0时代表发给所有用户Wtype整型4不同的数值代表不同类型showdate日期型8显示日期msg字符型200显示的信息用户信息字段名字段类型宽度可否为空默认值说明uname字符型20否主索引,用户名upwd字符型20否0密码truename字符型8真实姓名部门信息字段名字段类型宽度可否为空默认值说明ID自动4主索引,编号TopID整型4上层编号DPName字符50单位名称DPAddr字符100单位地址DPPhone字符30单位电话DPPerson字符8单位联系人员工信息字段名字段类型宽度可否为空默认值说明ID自动4编号,主索引uname字符8姓名usex

4、字符2性别birthday日期8生日DPID整型4所属部门ISMsg逻辑1是否生日提醒上面的字符可以进行相应的增加或删减,关键在于想实现的功能。四、任务仔细分析软件本身,并可以进行相应改进,完成软件分析任务。把个人设计的软件也进行上述的过程,完成数据库概念设计及逻辑设计。实验二 创建项目及数据库一、创建项目1)在硬盘的相应目录下建立自己的项目文件夹,并在文件夹下建立data和doc两个文件夹分别用来存放数据文件及开发文档。2)打开VFP8.0,建立项目文件,命名为EPUser(可任意,为了后面方便表达)。二、创建数据库在项目管理器中新建一个数据库EPData,并保存在Data文件夹中。三、创建

5、表并设定索引1)在EPData数据库下创建新表warning。表设计器如下:2)在warnid上建立主索引,在emplyid上建立普通索引。3)依照上边的方法建立其他数据表。最终如下:四、建立表之间的关系1)选中Epdata数据库,单击修改打开数据库设计器2)把主表的主索引拖至从表的普通索引上建立关系五、任务a)完成企业员工管理软件的项目创建及数据库、数据库表的创建,并建立相应关系。b)完成自主设计的软件的数据库、数据库表的创建工作。实验三 数据可视化操作一、添加记录a)打开实验二创建的项目,并打开epdata数据库的设计器。b)双击Depart和employ表之间的关系线,打开关系设定窗口。

6、c)选择“referential integrity”选项,并选择插入规则,选择级连项,实现两表之间的“相对完整性”,确定退出窗体。d)在项目管理器中选择depart表,并选择“浏览”,打开浏览窗口,在“显示”菜单中选择“追加模式”,在表中添加两条数据,如下图,在这里我们可以看到“聊城大学”这个部门的topid为0而“教育传播技术学院”的topid为“聊城大学”的id,通过这种方式实现部门间的级别管理,这种方式在开发中经常使用。e)关闭depart表,再打开employ表,使用上述方式添加数据,当我们在Dpid中添加了一个depart表中未出现的ID值时,会出现如下错误,而输入的值为正确的,则

7、会被确认,从这里我们可以看到完整性检查的作用。f)建立一个与employ结构相同的表employ1,在表中添加一些数据。g)在打开employ表,选择“表”菜单中的追加记录,如下图,点击来源后面的浏览按钮,找到employ1表,并设置选项,选中除自动编号以外的所有字段,确定后,查看employ表中是否添加了employ1中的数据。二、修改记录打开一个添加了数据的表格,然后使用“显示”菜单中的“编辑”实现对数据的修改,不再演示,大家也可以设置表之间的关系,看一下更新规则的作用。三、删除记录a)打开一个有数据的表格,点击记录左侧的小矩形,这样记录便被逻辑删除b)进行物理删除,打开“表”菜单,选择彻

8、底删除,便可以实现“物理删除”四、任务在我们建立的表中添加适量数据,以方便后续操作。实验四 使用命令操作数据库一、数据库及表操作1)创建数据库:Create DataBase stumanage2)创建表:Create table classes(cid I AutoInc primarykey,classname c(20)Create Table student(stuid c(10) primary key,stuname c(10),sex c(2) check sex=男 or sex=女 error “此数据只能为男或女” default 男,classid I,foreign k

9、ey classid tag classid references classes)3)修改表结构:ALTER TABLE classes add teacher c(6)ALTER TABLE classes alter teacher c(8)ALTER TABLE classes rename teacher to managerALTER TABLE classes drop manager4)在当前工作期中打开要使用的表:USE classes或select classes5)插入数据:insert into classes(classname)values(2004级1班)inse

10、rt into classes(classname)values(2004级2班)insert into classes(classname)values(2004级3班)6)浏览数据:browse或display或list,会发现使用display时只显示第一条记录,这时需要使用范围语句 display all,大家可以使用条件语句看一下结果。7)查看当前记录各信息:? recno() &显示当前记录号? Bof() &查看记录指针是否在最前?Eof() &查看记录指针是否在最后skip -1 &使记录指针向前滚动一条? recno()?Bof()?Eof()goto top &使记录指针移

11、到顶端? recno()?Bof()?Eof()8)条件定位:locate for cid=2? recno()9)在学生表中插入数据:INSERT into student(stuid,stuname,sex,classid)values(20040101,zhang,男,1)INSERT into student(stuid,stuname,sex,classid)values(20040102,wang,女,2)10)修改学生数据:update student set classid=3 where stuid=2004010111)删除学生记录:DELETE FROM student

12、where stuid=20040101LIST12)恢复被逻辑删除的记录:RECALL all13)再执行上面的删除命令后使用Pack命令,把记录从磁盘彻底删除。14)执行查询:a)select * from studentb)select stuid,stuname from studentc)向学生表中多插入几条记录d)select distinct sex from studente)select sex as 性别 from studentf)select * from student where stuid=20040101g)select * from student where

13、 stuid in(20040101,20040102)h)SELECT * from student where stuname like w%i)SELECT * from student where stuname like w_j)SELECT * from student where stuname like _a%k)select count(*) as 学生总数 from studentl)SELECT A.*,B.classname from student A,classes B where A.classid=B.cidm)SELECT A.*,B.classname fr

14、om student A inner join classes B on A.classid=B.cidn)SELECT A.*,B.classname from student A right outer join classes B on A.classid=B.cido)SELECT * from student order by stuid descp)SELECT top 1 * from student order by stuid descq)Select count(*) as stucount,classid from student group by classidr)Se

15、lect * from student into cursor test15)删除表:drop table studentdrop table classes16)删除数据库:CLOSE ALLDELETE DATABASE stumanage二、任务使用上面的命令在员工管理数据库表的添加一些记录实验五 表单设计一、表单分析根据实验一中的项目功能分析,我们需要创建以下几个表单。1)部分信息管理表单:实现对部分信息的添加、修改、删除等管理2)员工信息管理表单:实现对员工信息的添加、修改、删除等管理3)管理员管理表单:实现对管理员的添加、删除等管理4)当前用户密码修改表单:修改当前用户的密码和真实

16、姓名5)信息提示表单:当启动软件时显示提示信息6)提示信息设置表单:设置提示信息7)登录表单8)系统设置表单9)关于表单二、使用向导创建表单1)打开员工管理项目,这里需要注意的是,VFP软件有可能对中文目录支持不太好,如果出现类似问题,请把项目放在一个英文目录中。2)在项目管理器中选择文档(documents),选择表单,并新建。3)选择使用向导,这里有两项,一项是表单向导,另一个是一对多表单向导,可以看出我们也可以使用向导产生基于两个表的表单。4)选择使用到的表字段,这里实现管理员管理的表单,所以选择Manager表中的所有字段。5)选择表单样式,使用默认即可。6)选择排序字段,这里也可以不

17、选择。7)最后一步,设置表单标题并设置保存,在项目文件夹下建立forms文件夹,并把表单保存在内。8)最终效果如下:9)在我们的创建的数据库中,部门表与员工表之间存在一对多关系,使用向导自己建立一个一对多的表单。三、使用表单设计器修改表单使用向导生成的表单有时不能满足我们的需要,这时,我们需要使用表单设计器来完善表单的设计。下面我们来修改一下上面的表单。1)选择我们刚才创建的表单,进行修改2)下面是表单设计器,同时会打开表单控件面板和属性面板3)选择表格控件,并在表单中单击,把控件添加到表单中。4)使用表格生成器来使表格与数据表之间绑定。5)选择显示的字段。6)设置显示样式7)修改表格字段显示

18、的标题。8)点击OK完成修改,关闭设计器并保存修改,使用项目管理器运行表单查看最终效果。9)对于由向导生成的控件,可以通过属性面板进行修改,如改变标题显示(caption)。10)通过上述方式,多加测试,掌握表单设计的基本方法。四、完成其他表单1)部门信息管理:这里要用到一个Activex控件,方法是,打开“工具”菜单,选项中选择控件面板,找到如下图的控件:后从控件面板中选择如下:就可以看到我们选择的组件,拖放到表单中就可以了。2)员工信息管理3)登录表单4)管理员管理表单5)用户密码修改表单6)提示信息管理表单7)提示信息添加表单,这里用了一个时间控件,如TreeView控件一样,自行添加进

19、来即可。8)提示信息显示表单实验六 编写代码本实验分三次完成,主要实现程序的所有代码,了解程序开发过程及代码开发技巧。一、创建系统主程序主程序是所编写程序的入口,主要设置运行环境、定义变量、常量,然后调用其他表单,本程序文件保存为main.prg。CLEARCLEAR ALL*把系统菜单隐藏掉SET SYSMENU off*程序运行时不允许使用ESC键退出SET ESCAPE OFF*关闭命令显示SET TALK OFF*覆盖时不要确认SET SAFETY OFF*设置时间格式,使用四位显示年代SET CENTURY onSET DATE YMD*定义一个公共变量,保存当前用户信息PUBLIC

20、 curuser*调用登录表单DO FORM formslogin*进入事务处理,当执行clean events时结束READ events*当结束循环时执行退出quit二、编写登录表单的代码打开实验五中已经制作的Login表单,修改控件相应属性。控件属性值组合框NameunameRowsourcemanager.unameRowsourcetype6-fieldsStyle2-dropdown list文本框NameUpwdPasswordchar*表单AutocenterTrueBorderstyle2-固定对话框ClosbleFCaption用户登录controlboxFMaxButto

21、nFMinButtonFNameFrmloginShowwindow作为顶层表单Windowtyp模式选中表单,从属性面板中找到init事件,添加如下代码:*定义一个公共变量来保存登录次数PUBLIC logincountlogincount=0双击登录按钮,打开按钮的click事件:IF ALLTRIM(thisform.uname.Value)= then MESSAGEBOX(没有选择用户名!)ELSE LOCATE FOR uname=ALLTRIM(thisform.uname.value) IF ALLTRIM(thisform.upwd.Value)=ALLTRIM(upwd)

22、then curuser=thisform.uname.value thisform.Release DO FORM formsmain return ELSE logincount=logincount+1 IF logincount常规选项”选中“顶层表单”,设计表单时要注意的问题是,需要生成,而且每一次改动后都需要生成,否则使用的菜单是未生成前的菜单。“菜单生成菜单”:好了,下面我们把菜单加入到主表单中去。打开主表单,添加“init”事件:DO menumain.mpr WITH this*这里的菜单地址,请根据自己的保存位置确定。这里保存到menu文件件下了。可以运行主表单看一下效果了

23、。下面制作工具栏,选择“类”选项卡,新建类:从ToolBar类继承制作自己的工具栏,添加按钮,图片资源可以从FTP得到。设置Showwindow属性值为“在顶层表单中”。因为工具栏是与表单一级的对象,所以表单中不能容纳工具栏,所以需要建立一个表单集来放置表单与工具栏,打开主表单,使用“表单”菜单中的“新建表单集”建立表单集对象,这时我们使用代码的方式把工具栏加入到主表单中去,设置表单集的init事件。PUBLIC isCreateToolbarisCreateToolbar=0再在Activate事件中添加如下代码:IF isCreateToolbar=0 isCreateToolbar=1

24、*加载类 SET CLASSLIB TO libmyclass *使用类创建对象 this.AddObject(tool1,mytoolbar) this.tool1.show *把工具栏停放在表单的上部 this.tool1.dock(0)endif这时运行主表单,效果如下:四、编写管理员管理代码控件属性值表格NamegmanagerEnabledFalseRecordsourceManager表单BufferMode1Caption操作员管理NamefrmmanagerShowwindow在顶层表单中打开表单的数据环境,选择manager表。设置其属性。buffermodeOveride:

25、2,Exlusive:True添加按钮的click事件:thisform.gManager.Enabled= .T.APPEND BLANKGO bottomthisform.gManager.coLUMN1.text1.SetFocusthisform.Refresh修改按钮的click事件:thisform.gManager.Enabled=.t.保存按钮的click事件:YN=MESSAGEBOX(确定保存,4+32,企业员工管理系统)IF YN=6 then IF TABLEUPDATE(.f.)=.f. then MESSAGEBOX(保存出错) ELSE thisform.Refr

26、esh ENDIFENDIFthisform.gmanager.Enabled=.f.取消按钮的click事件:IF MESSAGEBOX(确认取消,4+32, 企业员工管理系统)=6 then TABLEREVERT(.f.)ENDIFthisform.gmanager.Enabled=.f.thisform.Refresh删除按钮的click事件:IF MESSAGEBOX(确定删除,32+4, 企业员工管理系统)=6 then SELECT manager DELETE thisform.gmanager.RecordSource=null PACK thisform.gmanager.RecordSource=manager IF EOF() SKIP -1 ELSE IF BOF() SKIP ENDIF ENDIF thisform.Refreshendif五、提示信息添加代码控件属性值Date and timer pickerNamemsgdate文本域namemsgcontent保存按钮click事件:SET DATE YMDSET CENTURY onmdate=TTOD(thisform.msgdate._value)mcontent=ALLTRIM(thisform.msgcontent.Value)IF EMPTY(mdate) .and. EMP

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1