还是系统分析

ice_berg16 2004-07-08 02:16:26
一张合同表
包含公司信息,购买项目信息,项目可以不同,可以允许多个项目

---------------------------------------------------------------------
公司名称:XXX 合同金额:1400元
项目: 域名: www.XXX.com 注册时间:2004-02-02 截止时间:2005-02-02
www.YYY.com 注册时间:2004-02-02 截止时间:2005-02-02
虚拟主机: 商务1型 IP:202.10.25.32 ftp用户名:aaaaa 密码:23213
邮局: 企业1型 注册商:新浪 金额:100元
推广: 产品名称: 新浪快速登录
关键词: XX公司
注册时间: 2001-02-01
截止时间: 2002-02-01
----------------------------------------------------------------------
公司信息我已经另用一张表来做,关键是项目部分
如果分的话可能会有很多项目。每个项目的字段又不一样。
如放在合同表里,那么购买多个同一项目该怎么实现?
...全文
134 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2004-07-09
  • 打赏
  • 举报
回复
不知道,对asp只知皮毛了。
不过诸如“序列化”或“持续化”在大多数语言里都是有的。
自己写函数或控件也是可以的
ice_berg16 2004-07-09
  • 打赏
  • 举报
回复
这个问题懂了,不过想到一个问题,像ASP没有这种函数的该怎么处理?
xuzuning 2004-07-09
  • 打赏
  • 举报
回复
<pre>
就拿这个例子来说,如果用户买二个域名,不用单独做表,怎么实现将这些信息保存在合同这张表里。并且可以修改删除等功能。

<?php
$ar = array(
array(域名 => "www.XXX.com", 注册时间 => "2004-02-02", 截止时间 => "2005-02-02"),
array(域名 => "www.YYY.com", 注册时间 => "2004-02-02", 截止时间 => "2005-02-02")
);

//入库前
$str = serialize($ar);
/**
$str是这样的串
a:2:{i:0;a:3:{s:4:"域名";s:11:"www.XXX.com";s:8:"注册时间";s:10:"2004-02-02";s:8:"截止时间";s:10:"2005-02-02";}i:1;a:3:{s:4:"域名";s:11:"www.YYY.com";s:8:"注册时间";s:10:"2004-02-02";s:8:"截止时间";s:10:"2005-02-02";}}
**/

//读取后,假定保存于domain字段,读取的记录在$row中
//$ar = unserialize($row['domain']);

//显示时
foreach($ar as $i=>$row) {
echo "<p>";
foreach($row as $k=>$v)
echo "$k:$v<br>";
echo "</p>";
}

?>
qndt 2004-07-09
  • 打赏
  • 举报
回复
假如注册两个域名,保存时。aaa.com@bbb.net 用@或者其他的符号分隔开,不过怎么也没有另外建一张表的好。
pswdf 2004-07-09
  • 打赏
  • 举报
回复
建议分表,表多有什么嘛,三、四范式很常见嘛。
feixuehenshui 2004-07-08
  • 打赏
  • 举报
回复
应该不是很难的啊,你用什么设计数据库?
如果很大的话建议用POWERDESIGNER
ice_berg16 2004-07-08
  • 打赏
  • 举报
回复
就拿这个例子来说,如果用户买二个域名,不用单独做表,怎么实现将这些信息保存在合同这张表里。并且可以修改删除等功能。
52juanjuan 2004-07-08
  • 打赏
  • 举报
回复
怎么会麻烦呢?
楼主你可以把你认为麻烦的地方试着去实现一下,去想一下,其实就可以了.

比如说你所说的查询:我认为全部在一个表里面的话至少会有合同名称,合同id什么的,公司名称,注册时间,截止时间,等再加上一些其它的信息.查找时应该没有问题.

首先我认为你得首先确定要有那些必须的字段,那些可要不要的字段

然后再考虑冗余.
ice_berg16 2004-07-08
  • 打赏
  • 举报
回复
主要信息也就这么多了啊。
xuzuning 2004-07-08
  • 打赏
  • 举报
回复
恰恰你给出的是合同共有的部分,而这些是需要用独立字段保存的
ice_berg16 2004-07-08
  • 打赏
  • 举报
回复
但是查询的时候会麻烦啊
比如想进行组合查询:
公司名为:XX公司
注册时间:2002-06-04
截止时间为2004-06-04的所有合同

如果按你的意见可以用我给的例子写出简单示例代码
关键是二个域名部分不知道怎么处理,要是我肯定是要域名就得一张表了。。
liftblood 2004-07-08
  • 打赏
  • 举报
回复
up

xuzuning 2004-07-08
  • 打赏
  • 举报
回复
我还是那个意见
除各项目共有的可用单独外,其余用数组并序列化后保存

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧