数据库设计完整流程图
- 格式:doc
- 大小:1.85 MB
- 文档页数:57
目录实验一软件分析 (3)一、功能说明 (3)二、E-R图 (3)三、逻辑表格 (5)四、任务 (6)实验二创建项目及数据库 (6)一、创建项目 (6)二、创建数据库 (6)三、创建表并设定索引 (6)四、建立表之间的关系 (8)五、任务 (9)实验三数据可视化操作 (9)一、添加记录 (9)二、修改记录 (12)三、删除记录 (12)四、任务 (12)实验四使用命令操作数据库 (12)一、数据库及表操作 (12)二、任务 (15)实验五表单设计 (15)一、表单分析 (15)二、使用向导创建表单 (16)三、使用表单设计器修改表单 (19)四、完成其他表单 (23)实验六编写代码 (28)一、创建系统主程序 (28)二、编写登录表单的代码 (29)三、编写主表单程序代码 (30)四、编写管理员管理代码 (34)五、提示信息添加代码 (36)六、编写管理信息代码 (37)七、今日提醒代码编写 (39)八、编写部门管理代码 (41)九、员工管理代码编写 (45)十、使菜单和工具栏与表单关联 (45)十一、任务 (46)实验七设计报表 (46)一、为报表准备数据 (46)二、设计报表 (47)三、操作注意 (51)四、运行表单 (51)五、任务 (51)实验八编译发布 (52)一、软件的编译 (52)二、制作安装盘 (52)三、任务 (56)实验九分析及优化 (56)实验一软件分析请从网站下载示例程序,分析软件的功能并列出,并从中抽象出实体,画出软件的E-R 图并进行数据库逻辑设计,画出数据库逻辑设计表格。
参考如下:一、功能说明1)系统登录控制:要求填写用户名及密码,并进行了3次连续错误后系统退出功能。
2)部门编码设置:主要是用来设置部门的层级关系。
3)部门信息设置:部分的基本信息,如地址、电话等。
4)员工信息管理:管理企业内部员工的信息,还可以设置生日提醒。
5)提醒设置功能:可以通过设置信息及接收用户及时间,当被设置的用户登录时显示给用户。
6)今日提醒功能:根据提醒设置,显示相应信息。
7)系统设置:修改使用软件的单位信息。
8)密码修改功能:修改用户的密码。
二、E-R图首先是进行实体的抽象,通过系统登录功能及用户密码修改功能,我们可以抽象出“用户”实体,通过部门编码及部门信息管理功能,可以抽象出“部门”实体,通过员工信息管理可得到“员工”实体,通过提醒功能及今日提醒功能可以抽象出“提醒”实体,最后就是系统基本信息,可以得到“系统”实体。
实体之间关系有E-R图提醒实体用户信息实体的E-R图部门信息实体的E-R图员工信息实体的E-R图系统信息实体的E-R图三、逻辑表格通过上面的E-R图,我们已经确立了实体,现在我们要进一步把实体及属性更完善,进行数据库的逻辑设计提醒信息用户信息部门信息员工信息birthday 日期8 生日DPID 整型 4 所属部门ISMsg 逻辑 1 是否生日提醒上面的字符可以进行相应的增加或删减,关键在于想实现的功能。
四、任务仔细分析软件本身,并可以进行相应改进,完成软件分析任务。
把个人设计的软件也进行上述的过程,完成数据库概念设计及逻辑设计。
实验二创建项目及数据库一、创建项目1)在硬盘的相应目录下建立自己的项目文件夹,并在文件夹下建立data和doc两个文件夹分别用来存放数据文件及开发文档。
2)打开VFP8.0,建立项目文件,命名为EPUser(可任意,为了后面方便表达)。
二、创建数据库在项目管理器中新建一个数据库EPData,并保存在Data文件夹中。
三、创建表并设定索引1)在EPData数据库下创建新表warning。
表设计器如下:2)在warnid上建立主索引,在emplyid上建立普通索引。
3)依照上边的方法建立其他数据表。
最终如下:四、建立表之间的关系1)选中Epdata数据库,单击修改打开数据库设计器2)把主表的主索引拖至从表的普通索引上建立关系五、任务a)完成企业员工管理软件的项目创建及数据库、数据库表的创建,并建立相应关系。
b)完成自主设计的软件的数据库、数据库表的创建工作。
实验三数据可视化操作一、添加记录a)打开实验二创建的项目,并打开epdata数据库的设计器。
b)双击Depart和employ表之间的关系线,打开关系设定窗口。
c)选择“referential integrity”选项,并选择插入规则,选择级连项,实现两表之间的“相对完整性”,确定退出窗体。
d)在项目管理器中选择depart表,并选择“浏览”,打开浏览窗口,在“显示”菜单中选择“追加模式”,在表中添加两条数据,如下图,在这里我们可以看到“聊城大学”这个部门的topid为0而“教育传播技术学院”的topid为“聊城大学”的id,通过这种方式实现部门间的级别管理,这种方式在开发中经常使用。
e)关闭depart表,再打开employ表,使用上述方式添加数据,当我们在Dpid中添加了一个depart表中未出现的ID值时,会出现如下错误,而输入的值为正确的,则会被确认,从这里我们可以看到完整性检查的作用。
f)建立一个与employ结构相同的表employ1,在表中添加一些数据。
g)在打开employ表,选择“表”菜单中的追加记录,如下图,点击来源后面的浏览按钮,找到employ1表,并设置选项,选中除自动编号以外的所有字段,确定后,查看employ表中是否添加了employ1中的数据。
二、修改记录打开一个添加了数据的表格,然后使用“显示”菜单中的“编辑”实现对数据的修改,不再演示,大家也可以设置表之间的关系,看一下更新规则的作用。
三、删除记录a)打开一个有数据的表格,点击记录左侧的小矩形,这样记录便被逻辑删除b)进行物理删除,打开“表”菜单,选择彻底删除,便可以实现“物理删除”四、任务在我们建立的表中添加适量数据,以方便后续操作。
实验四使用命令操作数据库一、数据库及表操作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 key 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班’)insert 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 &&使记录指针移到顶端recno()Bof()Eof()8)条件定位:locate for cid=2recno()9)在学生表中插入数据:INSERT intostudent(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=’20040101’11)删除学生记录:DELETE FROM student where stuid='20040101'LIST12)恢复被逻辑删除的记录: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=’20040101’g)select * from student where 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.cid m)SELECT A.*,B.classname from student A inner join classes B onA.classid=B.cidn)SELECT A.*,B.classname from student A right outer join classes B onA.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)Select * from student into cursor test15)删除表:drop table studentdrop table classes16)删除数据库:CLOSE ALLDELETE DATABASE stumanage二、任务使用上面的命令在员工管理数据库表的添加一些记录实验五表单设计一、表单分析根据实验一中的项目功能分析,我们需要创建以下几个表单。