我有一个库,我想将它从旧系统迁移到新的优化系统.
旧库是使用MS Access(mdb文件)构建的,其中每本书本身就是一个文件.每本书由两个表组成,一个用于章节标题,第二个用于内容.还有一个mdb文件,其中包含所有书籍名称,每本书的页码,作者姓名和其他常规信息.
新的系统数据库引擎是MySQL,因此我有三种(可能)存储书籍的可能性:1-将所有书籍章节标题存储在一个表格中,将所有书籍内容存储在另一个巨大的表格中.2-将所有书籍章节标题存储在一个表格中,将每本书籍的内容存储在本书的表格中.(所以,如果我有5本书,我将获得1个章节标题和5个内容).3-将它们存储为旧系统的设计,每本书有两个表,一个用于章节标题,第二个用于它的内容.
我不喜欢使用多个数据库,一个数据库可以完美地完成作为wordpress.com托管的博客(yap,他们有庞大的数据库,当然他们使用其他技术,但我说的是数据库系统架构) .
该图书馆藏书超过500本,而且这个数字正在增加.
你怎么看?
以上都不是.您没有必要将章节标题与章节内容分开.但是你需要一个表格来自己的书籍.这是一个建议的表结构:
CREATE TABLE books ( book_id SERIAL PRIMARY KEY, title VARCHAR(100) NOT NULL, published DATE NOT NULL, isbn VARCHAR(16) NOT NULL -- etc. ); CREATE TABLE chapters ( book_id BIGINT UNSIGNED NOT NULL, chapter_id SERIAL, chapter_num VARCHAR(10) NOT NULL, -- varchar to allow chapter "VII." title VARCHAR(100) NOT NULL, content MEDIUMTEXT, PRIMARY KEY (book_id, chapter_id), FOREIGN KEY (book_id) REFERENCES books(book_id) );
对于像MySQL这样的数据库,章节表中的几千行是微不足道的.