当前位置:首页 > 出勤打卡管理系统说明书
| Lgday | int(2) | YES | | NULL | | | Lhday | int(1) | YES | | NULL | | | Lqday | int(3) | YES | | NULL | | +-------+----------+------+-----+---------+-------+ 请假表的结构:
mysql> desc qingjia;
+-------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+----------+------+-----+---------+-------+ | Eno | char(10) | NO | MUL | NULL | | | Edate | date | YES | | NULL | | | Eleibie | char(4) | YES | | NULL | | | Ehours | int(3) | YES | | NULL | | | Majorhour | int(3) | YES | | NULL | | | Xiaojiadate | date | YES | | NULL | | +-------------+----------+------+-----+---------+-------+ 6 rows in set (0.02 sec) 各部门上班日期时间表的结构: mysql> desc timetable;
+----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+----------+------+-----+---------+-------+ | dkdate | date | YES | | NULL | | | xtshibie | char(10) | YES | | NULL | | | gongzuo | char(10) | YES | | NULL | | +----------+----------+------+-----+---------+-------+ 员工信息视图的结构: mysql> desc yg;
+----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+----------+------+-----+---------+-------+ | Eno | char(10) | NO | | NULL | | | Ename | char(10) | NO | | NULL | | | Esection | char(20) | YES | | NULL | | | Eleibie | char(4) | YES | | NULL | | | Edate | date | YES | | NULL | | | Ehours | int(3) | YES | | NULL | | | Ccqday | int(3) | YES | | NULL | | | Ccdday | int(2) | YES | | NULL | | | Czt | int(2) | YES | | NULL | | +----------+----------+------+-----+---------+-------+ 9 rows in set (0.03 sec)
13
插入员工信息:
insert into Employee values('1001','江雨薇','女',30,'副部长', '人事部') , ('1002','郝思嘉','女',39,'部长','营销部'),('1003','薛婧','女',40,'部长','业务部'),('1004','陈露','女',46,'副部长','业务部'),('1006','尹南','男',43,'副部长','业务部'),('1007','林晓彤','女',28,'秘书','业务部'),??;
说明:以上红色部分可以在成品的文本框中输入,查寻操作可在文本框或输入框中输入所查信息及条件,其他操作与此相仿,本说明书代码只作为说明事例。 查寻员工信息:
mysql> select * from Employee;
+------+--------+------+------+--------+----------+ | Eno | Ename | Esex | Eage | Epost | Esection | +------+--------+------+------+--------+----------+ | 1001 | 江雨薇 | 女 | 30 | 副部长 | 人事部 | | 1002 | 郝思嘉 | 女 | 39 | 部长 | 营销部 | | 1003 | 薛婧 | 女 | 40 | 部长 | 业务部 | | 1004 | 陈露 | 女 | 46 | 副部长 | 业务部 | | 1006 | 尹南 | 男 | 43 | 副部长 | 业务部 | | 1007 | 林晓彤 | 女 | 28 | 秘书 | 业务部 | 创建员工信息视图:
create view YG(Eno,Ename,Esection,Eleibie,Edate,Ehours,Ccqday,Ccdday,Czt) as select
Employee.Eno,Employee.Ename,Esection,Eleibie,Edate,Ehours,Ccqday,Ccdday,Czt from Employee,Qingjia,CQ where Employee.Eno=CQ.Eno and Employee.Eno=Qingjia.Eno;
从视图中查寻员工的信息:
mysql> select * from yg;
+------+--------+----------+---------+------------+--------+--------+--------+------+ | Eno | Ename | Esection | Eleibie | Edate | Ehours | Ccqday | Ccdday | Czt | +------+--------+----------+---------+------------+--------+--------+--------+------+ | 1006 | 尹南 | 业务部 | 婚假 | 2005-09-02 | 24 | 22 | 1 | 2 | | 1004 | 陈露 | 业务部 | 事假 | 2005-09-04 | 72 | 24 | 1 | 2 | | 1001 | 江雨薇 | 人事部 | 事假 | 2005-09-02 | 11 | 22 | 1 | 2 |
修改请假信息:
insert into Qingjia(Eno,Edate,Eleibie,Ehours,Majorhour,Xiaojiadate) values('1001','2005.0902','事假',11,1,'20050904'); 查寻请假信息:
mysql> select * from qingjia;
+------+------------+---------+--------+-----------+-------------+ | Eno | Edate | Eleibie | Ehours | Majorhour | Xiaojiadate | +------+------------+---------+--------+-----------+-------------+ | 1001 | 2005-09-02 | 事假 | 11 | 1 | 2005-09-04 | | 1006 | 2005-09-02 | 婚假 | 24 | 3 | 2005-09-06 | | 1004 | 2005-09-04 | 事假 | 72 | 0 | 2005-09-07 | 查寻出勤信息:
14
mysql> select * from cq;
+------+--------+--------+--------+------+--------+ | Eno | Ename | Ccqday | Ccdday | Czt | Chours | +------+--------+--------+--------+------+--------+ | 1001 | 江雨薇 | 22 | 1 | 2 | 6 | | 1002 | 郝思嘉 | 22 | 1 | 2 | 9 | | 1003 | 薛婧 | 23 | 1 | 1 | 7 | | 1004 | 陈露 | 24 | 1 | 2 | 6 | | 1006 | 尹南 | 22 | 1 | 2 | 6 | | 1007 | 林晓彤 | 22 | 1 | 2 | 6 |
对员工表的修改操作:
为了得到员工的工龄,我们需要向员工表中插入一个员工参加工作年份的字段Eentrance, Alter table employee add eentrance date;
我们查寻一下表中信可知,表中员工的工作年份为空。
+-----------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+----------+------+-----+---------+-------+ | Eno | char(10) | NO | PRI | NULL | | | Ename | char(10) | NO | | NULL | | | Esex | char(2) | YES | | NULL | | | Eage | int(11) | YES | | NULL | | | Epost | char(20) | YES | | NULL | | | Esection | char(20) | YES | | NULL | | | eentrance | date | YES | | NULL | | +-----------+----------+------+-----+---------+-------+ 接下来我们要修改员工参加工作的年份:
Update employee set eentrance=19890906 where eno in(1001,1002); 通过查寻,我们可以看到如下信息: mysql> select * from employee;
+------+--------+------+------+--------+----------+------------+ | Eno | Ename | Esex | Eage | Epost | Esection | eentrance | +------+--------+------+------+--------+----------+------------+ | 1001 | 江雨薇 | 女 | 30 | 副部长 | 人事部 | 1989-09-06 | | 1002 | 郝思嘉 | 女 | 39 | 部长 | 营销部 | 1989-09-06 | | 1003 | 薛婧 | 女 | 40 | 部长 | 业务部 | 1990-06-01 | | 1004 | 陈露 | 女 | 46 | 副部长 | 业务部 | 1990-06-01 | 接下来可以查寻员工的工龄:
mysql> select eno,ename,20091231-eentrance from employee; +------+--------+--------------------+ | eno | ename | 20091231-eentrance | +------+--------+--------------------+ | 1001 | 江雨薇 | 200325 | | 1002 | 郝思嘉 | 200325 |
15
| 1003 | 薛婧 | 190630 | | 1004 | 陈露 | 190630 |
表中红色标注的为员工的工作年数,即员工的工龄。 删除员工请假信息:
delete from qingjia where Eno='1001';
可以看到请假表中的信息被修改了 mysql> select * from qingjia;
+------+------------+---------+--------+-----------+-------------+ | Eno | Edate | Eleibie | Ehours | Majorhour | Xiaojiadate | +------+------------+---------+--------+-----------+-------------+ | 1006 | 2005-09-02 | 婚假 | 24 | 3 | 2005-09-06 | | 1004 | 2005-09-04 | 事假 | 72 | 0 | 2005-09-07 | +------+------------+---------+--------+-----------+-------------+ 数据的备份:
数据备份的方法有多种,我们可以通过以下方式来实现数据的备份操作: 数据的导出/导入:
首先我们要创建一个结构与欲备份的表一样的表:
create table Employeetable(Eno char(10) not null primary key,Ename char(10) not null,Esex char(2),Eage int,Epost char(20),Esection char(20),eentrance date); 接下来就可以把employee表导出到employeetable表中: insert into Employeetable select * from employee; 通过查寻可知,它与原表完全一样: mysql> select * from employeetable;
+------+--------+------+------+--------+----------+------------+ | Eno | Ename | Esex | Eage | Epost | Esection | eentrance | +------+--------+------+------+--------+----------+------------+ | 1001 | 江雨薇 | 女 | 30 | 副部长 | 人事部 | 1989-09-06 | | 1002 | 郝思嘉 | 女 | 39 | 部长 | 营销部 | 1989-09-06 | | 1003 | 薛婧 | 女 | 40 | 部长 | 业务部 | 1990-06-01 | | 1004 | 陈露 | 女 | 46 | 副部长 | 业务部 | 1990-06-01 | 为了达到备份某表的目的,我们也可以使用以下语句: select * into outfile 'employee.txt' from employee; 数据备份:
backup database 数据库名 to disk='备份地址'
上面的语句是备份数据库,我们还可以通过Backup table语句备份表: 有了数据的备份,我们就可以使之恢复: 数据恢复:
restore database 数据库名 from disk='完全备份路径+备份名' 另附用VF 做的登录按钮命令(未实现限次输入密码): use
use d:\\我的文档\\f\%user.dbf
if len(thisform.text1.value)<>0 and len(thisform.text2.value)<>0 locate for 用户名=alltrim(thisform.text1.value)
16
if !found()
=messagebox(\请确认后重新登录\用户名非法\thisform.text1.value=\thisform.text2.value=\else
locate for 密码=alltrim(thisform.text2.value) and 用户名=alltrim(thisform.text1.value)
if !found()
=messagebox(\请重新输入密码\密码错误\thisform.text2.value=\else
do form d:\\我的文档\\f\\表单2.scx thisform.text1.value=\thisform.text2.value=\thisform.release endif endif else
=messagebox(\用户名或密码不能为空\警告\thisform.text1.value=\thisform.text2.value=\endif
thisform.refresh
心得体会
首先感谢周老师给了我们一个动手实践的机会,让我们有了一个共同学习,增长见识、开拓视野的机会。“与其临渊羡鱼,不如退而结网”,这次数据库设计给我们的最大印象就是如果我们有了兴趣,就动手去做,困难在大家的勇气和毅力面前是抬不起头的。
虽然我们做的这个系统有很多不完善的地方,但这毕竟是我们六人小组近一个月努力的结果。在系统的设计过程中,我们遇到了不少的困难,但困难并没有阻止我们前进的步伐,在大家的一致努力下,我们克服了不少困难,最终完成了这个作品。
古语说的好,学无止境,通过这次合作,我们充分认识到了自己的不足,有许多基础的东西都没有真正的理解和掌握。这也给了我们一警示,在今后的学习过程中,我们会脚踏实地,一步一个脚印的学习科技文化知识。我们会一改眼高手低、只求一知半解的坏习惯。
很高兴我们能有这么一次合作学习的机会,它带给我们的不止是欢乐,还有许多无法用言语表达的东西,我们能够说的只有:真的,真心地谢谢您,周老师!
17
共分享92篇相关文档