当前位置:  开发笔记 > 后端 > 正文

图书馆数据库系统设计

如何解决《图书馆数据库系统设计》经验,为你挑选了1个好方法。

我有一个库,我想将它从旧系统迁移到新的优化系统.

旧库是使用MS Access(mdb文件)构建的,其中每本书本身就是一个文件.每本书由两个表组成,一个用于章节标题,第二个用于内容.还有一个mdb文件,其中包含所有书籍名称,每本书的页码,作者姓名和其他常规信息.

新的系统数据库引擎是MySQL,因此我有三种(可能)存储书籍的可能性:1-将所有书籍章节标题存储在一个表格中,将所有书籍内容存储在另一个巨大的表格中.2-将所有书籍章节标题存储在一个表格中,将每本书籍的内容存储在本书的表格中.(所以,如果我有5本书,我将获得1个章节标题和5个内容).3-将它们存储为旧系统的设计,每本书有两个表,一个用于章节标题,第二个用于它的内容.

我不喜欢使用多个数据库,一个数据库可以完美地完成作为wordpress.com托管的博客(yap,他们有庞大的数据库,当然他们使用其他技术,但我说的是数据库系统架构) .

该图书馆藏书超过500本,而且这个数字正在增加.

你怎么看?



1> Bill Karwin..:

以上都不是.您没有必要将章节标题与章节内容分开.但是你需要一个表格来自己的书籍.这是一个建议的表结构:

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这样的数据库,章节表中的几千行是微不足道的.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有