从今天开始,我们将模拟开发一个网上理财的站点,希望大家能通过这个站点的模拟开发学习到网络PHP、MySQL编程的一般概念。
在进行开发之前,我们首先必须明确我们开发出来的这个作品应该能完成一个什么样的功能。这也就是这次开发的业务需求。
对于我们这个网站来说,最核心的功能应该是能够提供给用户一个个人资产的账册。并能用说它全面记录管理收支、银行账户,帮助用户制订理财计划和预算。
另外我们希望用户能够通过我们的站点交流个人理财的经验,并免费获取理财信息和专家的个性化服务。
其实对于一般的开发过程来说,在这时,我们必须考虑我们使用什么样的编程语言和什么样的开发工具,而在我们这一次模拟开发的过程中,我们就把这个过程忽略,而决定使用PHP及MySQL来开发我们的这个站点。而开发工具我们就选谁都能找到的记事本和IE。
下面一步,是数据库的设计,我们一般希望对数据库的设计能一步到位,应尽量避免在进入具体编程之后,再对数据库的结构进行增减和修改。
在我们数据库中共包括以下九个数据表:
一、my_user(用户登记表)
CREATE TABLE my_user(
user char(12) not null,/*用户号*/
password varchar(12) not null,/*密码*/
name varchar(12) not null,/*姓名*/
email varchar(30) not null,/*E_mail地址*/
question_password varchar(40) not null,/*密码提示问题*/
answer_password varchar(40) not null,/*密码提示问题答案*/
PRIMARY KEY (user))
|
二、account_type(帐户类型编码表)
CREATE TABLE account_type (
code bigint DEFAULT '0' NOT NULL auto_increment,/*编码*/
name varchar(40) NOT NULL,/*名称*/
PRIMARY KEY (code))
|
三、in_ex_type(收支项目编码表)
CREATE TABLE in_ex_type (
code bigint DEFAULT '0' NOT NULL auto_increment,/*编码*/
name varchar(40) NOT NULL,/*名称*/
user char(12) NOT NULL,/*用户*/
type tinyint NOT NULL,/*收支类型0-支出;1-收入*/
PRIMARY KEY (code))
|
四、in_ex_condition(收支情况表)
CREATE TABLE in_ex_condition (
code bigint DEFAULT '0' NOT NULL auto_increment,/*编码*/
in_ex_type bigint NOT NULL,/*收支项目*/
user char(12) NOT NULL,/*用户*/
account bigint NOT NULL,/所属帐户*/
date date NOT NULL,/*发生日期*/
money decimal(15,2) NOT NULL,/*金额*/
balance decimal(15,2) NOT NULL,/*余额*/
PRIMARY KEY (code))
|
五、in_ex_budget(收支预算表)
CREATE TABLE in_ex_budget (
id bigint DEFAULT '0' NOT NULL auto_increment,/*编码*/
in_ex_type bigint NOT NULL,/*收支项目*/
money decimal(15,2) NOT NULL,/*金额*/
year_month char(6) NOT NULL,/*所属月份*/
user char(12) NOT NULL,/*用户*/
type tinyint NOT NULL,/*收支类型0-支出;1-收入*/
PRIMARY KEY (id))
|
六、article_area(文章及论坛所属区域)
CREATE TABLE in_ex_type (
code bigint DEFAULT '0' NOT NULL auto_increment,/*编码*/
name varchar(40) NOT NULL,/*名称*/
type tinyint NOT NULL,/*区域类型0-文章;1-论坛*/
emcee char(12) NULL,/*版主*/
PRIMARY KEY (code))
|
七、article(文章及论坛发言表)
CREATE TABLE article (
id bigint DEFAULT '0' NOT NULL auto_increment,/*编码*/
user char(12) NOT NULL,/*发言人*/
type tinyint NOT NULL,/*类型0-回贴1-主贴*/
area tinyint NOT NULL,/*文章所属区域*/
click_count NOT NULL,/*点击数*/
theme varchar(50) NULL,/*主题*/
content blob NOT NULL,/*内容*/
icon tinyint NOT NULL,/*表情图标*/
time_open datetime not NULL,/*开贴时间*/
time_close datetime not NULL,/*最后回复时间*/
answer_count int not null,/*回复数*/
answer_name varchar(12) not null,/*最后回复人*/
main_id bigint null,/*回帖的主帖*/
PRIMARY KEY (id))
|
八、my_visiter(计数器表)
CREATE TABLE my_visiter(
visiter bigint not null)
|
九、on_line_user(在线用户表)
CREATE TABLE on_line_user(
user char(12) not null,/*用户号*/
time datetime not null,/*最后在线时间*/
PRIMARY KEY (user))
|
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:
J2EE中的设计模式
下一篇:
编写关于SendMaild的CGI
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】