作者wa120 (哇120)
看板Programming
标题Re: [问题] 怎麽写一个资料库?
时间Thu Feb 11 05:09:23 2010
※ 引述《yeagen (天使)》之铭言:
: 大家好
: 想请问,该怎麽写出一个简单的资料库
: 网路上有没有什麽资料,还是关键字,可以让我找到相关资讯的
教你一个简单版的
1. 要会用fopen 并且写入资料要用wb
2. 要会用struct跟malloc开动态结构阵列
将每一笔资料 都放在struct定义的动态结构阵列
EX:
struct bucket
{
int PK;
String Name;
...
};
1.用for回圈开struct阵列几笔资料就开几个
2.用for回圈将读取到的资料放入struct里面
3.用for回圈将struct资料依照型别存入fopen内的档案
建议这三个流程要写3个for回圈分开,开发上会容易的多
在struct的{....}内的变数集合叫metadata, 那些变数的型别叫data schema
之後在读取那个资料库档案都要依照那个struct的格式读取
做到这样就已经够为一个简易的储存资料了
要做到新增、简易查询、修改 还ok
光这样其实就有很多活的功能要设计了,像是data schema写成活的,
例如说主键只需要3bits那就要这样写int PK:3; (希望我没记错)
以及matadata写成活的EX: 自由的可以扩充栏位 (struct内容)
以暂存器的角度来看data structure其实没有什麽是不可以办到的。
做XML简易版的就更简单了,自定义的标签,也不需要struct
完完全全都是字串处理,这样就够了,
但是实际上,XML读起来是建在一颗Tree里面
DBMS的书里面,说真的,不用程式设计的观点来看其实很难融会贯通的...
只有在背一些莫名其妙的规则..然後不知道背後的涵意
然後很多的功能,像是丛集式index,span bucket等的 用嘴巴说都比较容易= =
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.133.9.148
1F:推 yeagen:谢谢你~~如果要上google查相关资料 219.84.15.178 02/11 05:23
2F:→ yeagen:就是您说的这些流程 219.84.15.178 02/11 05:24
3F:→ yeagen:要下什麽关键字呢? 219.84.15.178 02/11 05:24
4F:→ wa120:以前我老师跟我说,去抓mysql的程式码XD 140.133.9.148 02/11 08:32
5F:→ Foremanytz:database system concepts 111.255.11.57 02/11 08:32
6F:推 annheilong:我觉得...去学学mysql之後 大概就会写120.126.194.175 02/11 13:21
7F:→ annheilong:了 你要先知道资料库怎麽使用吧?120.126.194.175 02/11 13:22
8F:→ clliu168:会 mysql 跟写资料库是两回事. 有些资料114.137.228.241 02/11 17:34
9F:→ clliu168:库课程的最後 project 就是写一个小型的114.137.228.241 02/11 17:34
10F:→ clliu168:资料库. 这篇其实给了很不错的方向了,应114.137.228.241 02/11 17:35
11F:→ clliu168:该想一下就可以写出一个基本的小 DB114.137.228.241 02/11 17:35
12F:→ clliu168:至於去 trace mysql code? 你去看看里面114.137.228.241 02/11 17:36
13F:→ clliu168:的 code, 应该就会放弃了. 如果只是一个114.137.228.241 02/11 17:36
14F:→ clliu168:作业,上面这个已经够了114.137.228.241 02/11 17:36
15F:推 annheilong:恩..我的意思是说看mysql的功能 61.228.134.85 02/12 09:44
16F:→ annheilong:自己做出一个有类似功能的"简易资料库" 61.228.134.85 02/12 09:45
17F:→ wa120:老实讲 这也是我刚学资料库DBMS的疑惑218.175.103.190 02/12 17:33
18F:→ wa120:但是随着经验的累积 就大概知道该怎麽做...218.175.103.190 02/12 17:33
19F:→ wa120:你先以XML的资料库关键字会比较好找218.175.103.190 02/12 17:34
20F:→ wa120:因为它只是一个DOM的解析器 然後再做一个架218.175.103.190 02/12 17:35
21F:→ wa120:构 而且 现在非常多的东西都是用XML218.175.103.190 02/12 17:36
22F:→ wa120:所以找到的资料会非常丰富 实作的部份又比218.175.103.190 02/12 17:37
23F:→ wa120:较容易218.175.103.190 02/12 17:37