标题:[讨论]我要做个新的数据库格式,与大家交流一下!
取消只看楼主
houyunqing
Rank: 1
等 级:新手上路
帖 子:476
专家分:0
注 册:2005-4-1
 问题点数:0 回复次数:3 
[讨论]我要做个新的数据库格式,与大家交流一下!
我最近在做一个数据库系统,我现在正在做它的规划,它的规模确实很大哦!

我想到的内容大致如下:
 
⑴可以存放的类型:(每个列只支持一个类型)
      字符串、数字、byte([])、Image、索引
      也就是说,在一个表中,可以有不同的类型存在,但是一个列只存放一种类型。

⑵使用方面:
      我要把对这个数据库进行操作的所有内容封装成组件(从文件载入、从byte[]载入、从
   Stream载入等一些关于数据库应该有的基本的操作)。
      另外,我还会把它的网络查询的客户和服务端做好,把它们也封成组件。
      还有,我会做一个类似于SQL语言的字符串查询系统。
      最后,我想一个数据库编辑器也是必不可少的。

说到这儿,其实我的目的也很简单:想要大家多给我一些建议,帮帮我,我想将这个东西做好些~

QQ:362938909
E-Mail:houyunqing@
搜索更多相关主题的帖子: 数据库 网络 格式 byte 类型 
2005-06-08 16:52
houyunqing
Rank: 1
等 级:新手上路
帖 子:476
专家分:0
注 册:2005-4-1
得分:0 
帮忙帮忙帮忙,提点意见阿!!!

看贴拜托回复啦~~(万分感谢阿!)

寻求挑战,追求完美 Oh,my god!
2005-06-13 21:43
houyunqing
Rank: 1
等 级:新手上路
帖 子:476
专家分:0
注 册:2005-4-1
得分:0 
帮忙帮忙帮忙啊!

寻求挑战,追求完美 Oh,my god!
2005-06-15 21:49
houyunqing
Rank: 1
等 级:新手上路
帖 子:476
专家分:0
注 册:2005-4-1
得分:0 

核心存取(Indexer)部分还没有开始写,但是半成品大家如果有兴趣可以读一读 using System; using System.Drawing; using System.Collections;

namespace mdb_t { public class AddItemEventArgs:EventArgs { public AddItemEventArgs(int han) { hang = han; } private int hang; public int Addnum{get{return hang;}} } public class RemoveItemEventArgs:EventArgs { public RemoveItemEventArgs(int han) { hang = han; } private int hang; public int Movenum{get{return hang;}} } public class SetItemEventArgs:EventArgs { public SetItemEventArgs(int han,int lies,object Value) { hang = han; lie = lies; valu = Value; } private int lie; public int Lienum{get{return lie;}} private int hang; public int Hangnum{get{return hang;}} private object valu; public object val_object{get{return valu;}}

} public class Collecter { public delegate void Delegate_AddItem(object sender,AddItemEventArgs e);//AddItem的delegate public event Delegate_AddItem OnItemAdd = null;//AddItem的Event

public delegate void Delegate_ReMoveItem(object sender,RemoveItemEventArgs e);//RemoveItem的delegate public event Delegate_ReMoveItem OnItemRemove = null;//RemoveItem的Event

public delegate void Delegate_SetItem(object sender,SetItemEventArgs e);//设置Item的delegate public event Delegate_SetItem OnItemSet = null;//设置item的event

public Collecter() { } protected virtual bool AddItem(int hang)//这个方法用来增加行 { this.OnItemAdd(this,new AddItemEventArgs(hang));//发出AddItem的事件 return true; } protected virtual bool RemoveItem(int hang)//这个方法用来删除行 { this.OnItemRemove(this,new RemoveItemEventArgs(hang));//发出RemoveItem的事件 return true; }

} public enum LieType { str = 0, num = 1, bytes = 2, image = 3, } public class Lie { public Lie(LieType l,Collecter c) { this._lType=l; c.OnItemAdd+=new mdb_t.Collecter.Delegate_AddItem(c_OnItemAdd); c.OnItemRemove+=new mdb_t.Collecter.Delegate_ReMoveItem(c_OnItemRemove); c.OnItemSet+=new mdb_t.Collecter.Delegate_SetItem(c_OnItemSet); } LieType _lType; public LieType LieType { get{return this._lType;} } private ArrayList items = new ArrayList();

private void c_OnItemAdd(object sender, AddItemEventArgs e) { items.Insert(e.Addnum,getobject()); } private void c_OnItemRemove(object sender, RemoveItemEventArgs e) { this.items.Remove(items[e.Movenum]); }

private void c_OnItemSet(object sender, SetItemEventArgs e) { } private object getobject() { if(_lType == LieType.str) return ""; else if(_lType == LieType.num) return 0; else if(_lType == LieType.bytes) return (byte)0; else if(_lType == LieType.image) return null; else return null;

}

public static bool operator==(Lie l,object ob)//判断object是否符合这个列的类型 { if(l.LieType==LieType.str&ob is string) return true; else if(l.LieType==LieType.num&ob is double) return true; else if(l.LieType==LieType.bytes&ob is byte[]) return true; else if(l.LieType==LieType.image&ob is Image) return true; else return false; } public static bool operator!=(Lie l,object ob)//判断object是否不符合这个列的类型 { if(l.LieType==LieType.str&ob is string) return false; else if(l.LieType==LieType.num&ob is double) return false; else if(l.LieType==LieType.bytes&ob is byte[]) return false; else if(l.LieType==LieType.image&ob is Image) return false; else return true;

} } }


寻求挑战,追求完美 Oh,my god!
2005-06-17 17:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-20398-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.181385 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved