数据库的设计文档,需要建表的sql语句。
1) account 账务账户
id number(9) PK 账务账户ID
login_name varchar2(20)not null用户自服务用户名
login_passwd varchar2(8) not null用户自服务密码
status char(1) not null 0:开通 1:暂停被冻结 2:删除真实的数据很少删除
create_date date not null 账务账户开通日期
pause_date date 账务账户被冻结日期
close_date date 账务账户停止删除日期
real_name varchar2(20) not null客户真实姓名
idcard char2(18) not null 身份证
birthdate date not null 生日
gender char(1) not null性别 f:女m:男
occupation varchar2(50) 职业
telephone varchar2(50) not nulll电话
email varchar2(50) 邮件
mailaddress varchar2(100) not null通信地址
zipcode char(6) not null邮政编码
qq vharchar2(15) qq号
2) service 业务类型基本信息及对应的资费
id number(10) pk
account_id number(9) not null FK关联account
cost_id number(4) not null FK关联cost
host varchar2(15) not null主机IP地址
os_username varchar2(8) not null 登录主机用户名
os_passwd varchar2(8) not null 登录主机密码
status char(1) not null业务账户状态 0:开通 1:暂停 2:删除(service状态和account状态有关系)
create_date date not null 业务账户开通日期
pause_date date 业务账户被冻结日期
close_date date 业务账户停止删除日期
3) cost 资费表
id number(4) PK
name varchar2(50) not null 资费名称
base_duration number(11) 包时长(小时):包几月的时间,包多少小时。为以后的包年的扩展,一般number都取11,java最大长度是10位。Interger.MAX_VALUE
base_cost number(7,2) 基费(元):相应包月的基本计费,含基本费用。
unit_cost number(7,2) 单位费用(元/分钟)每小时的费用,不包月的
descry varchar2(200) not null资费基本描述
cost_type char(1) not null资费类别 1:包月 2:套餐 3:计时
create_date date not null 创建日期
4) service_detail 所有用户在服务端的登录,登出信息
id number(11) PK
service_id number(10) FK not null关联service
client_host varchar2(15) not null 客户端IP
pid number(11) not null 进程ID
login_time date not null 登录时刻
logout_time date not null 退出时刻
duration number(20,9) not null登录时长 //不是主键唯一决定,为了统计的效率
host varchar2(15) not null 主机的IP地址
OS_username varchar2(8) not null 登录主机用户名
os_passwd varchar(8) not null 登录主机的密码
主要业务的操作:
1. 新建账务账户并开通业务账号:操作account,service表
2. 已有的账务账户增加业务账号:操作service表,查询account表
3. 系统采集并且记录日志信息: 操作service_detail,查询service表
4. 月底对某个账务账户进行结算:查询account表,查询service表查询业务,查询service_details登录的记录,操作cost表。
5. 添加一个资费的标准:操作service表