我有一些想法,有些是我随着时间的推移积累的,但我真的想知道在建模数据库时是什么让事情顺利进行:
在创建数据库结构时,要遵循哪些好的指导方针或确定数据库应该规范化的好方法?您是否应该创建一个未规范化的数据库并在项目进展时将其拆分?您是否应该将其完全标准化并根据性能需要组合表格?
我正在构建一个需要大量搜索查询的移动服务.
该服务基于MySQL数据系统,搜索查询不足以提供快速搜索服务.
因此,我决定使用倒排索引系统:
index Documents
1 a, b, c, d, e, f, g, h
2 c, k, i, j, k
Run Code Online (Sandbox Code Playgroud)
这是倒立索引系统的简单结构.
我假设一行会有超过一千个文件.
我不确定我应该在"文档"专栏中使用哪种类型和长度?
我现在选择了VARCHAR(100000).是否可以设置长度如9999999?
我认为不是维护一个包含我网络上所有用户关系列表的friendRelations表,最好为网络上的每个用户创建一个单独的Relations表,其中包含用户选择遵循的所有人和组的profileID.这种方式的撤退会更快......任何建议都会非常感激...... !!
我有一张桌子:
Person 列:
pID(PK)
FName
LName
plID(FK)
Run Code Online (Sandbox Code Playgroud)
另一张桌子Place:
plID(PK)
plCity
plState
plZip
Run Code Online (Sandbox Code Playgroud)
是不是更好,只是Person做了像:
pID(PK)
FName
LName
City
State
Zip
Run Code Online (Sandbox Code Playgroud)
例如:
John Doe New York, NY 00000
Jane Doe New York, NY 00000
Jim Doe New York, NY 00000
Run Code Online (Sandbox Code Playgroud)