标签: database-schema

实施有效的"未读评论"计数器系统

我正在尝试为以下问题找到最佳解决方案:需要设计一个数据库(基于postgres),其中包含触发器和计数器系统,这将形成一个有效查询,更新和存储信息的系统. '页面上显示的每篇文章(或博客条目,或类似的)中有多少未读评论.

无论是在查询,还是存储或更新部分,每个解决方案都有一些严重的缺点.即它需要太多的存储空间,或者太多的更新,或太多的数据库查询.

你的经历怎么样?也许这种问题已经形成了一个很好的解决方案?

sql database database-design database-schema

9
推荐指数
1
解决办法
1015
查看次数

如何在DataBase Schema中支持多语言方法?

我希望我的数据库支持其表中所有文本值的多语言.

那么这样做的最佳方法是什么?

EDIT1 ::

例如

我有这个"人"表:

ID int
FirstName  nvarchar(20)
LastName   nvarchar(20)
Notes      nvarchar(max)
BirthDate  date
...........
Run Code Online (Sandbox Code Playgroud)

所以,如果我希望我的程序支持新语言"让我说法语".

我应该在每次添加新语言时添加新列吗?所以我的"人"表看起来像这样

ID int
FirstName_en  nvarchar(20)
FirstName_fr  nvarchar(20)
LastName_en   nvarchar(20)
LastName_fr   nvarchar(20)
Notes_en      nvarchar(max)
Notes_fr      nvarchar(max)
BirthDate     date
...........
Run Code Online (Sandbox Code Playgroud)

或者我应该为语言添加2个新表,为"Person_Languages"值添加其他表?

所以这看起来像:" 语言 "表:

ID           int
Lang-symbol  nvarchar(4)
Run Code Online (Sandbox Code Playgroud)

" "表:

ID         int
BirthDate  Date
Run Code Online (Sandbox Code Playgroud)

最后是" Person_Translation "表:

LangID        int
PersonID      int
Translation   nvarchar(max)
Run Code Online (Sandbox Code Playgroud)

还是有更好的东西?

.

database globalization database-design localization database-schema

9
推荐指数
1
解决办法
3460
查看次数

为什么使用数据库视图?

在db design right方法中使用"view"还是应该处理代码端?有什么优点或缺点?

database-design view advantage-database-server database-schema

9
推荐指数
2
解决办法
4883
查看次数

Hibernate:发现:float,expected:double precision

我有一个问题,Oracle Float双精度数据类型映射到Java双数据类型.使用Java Double数据类型时,hibernate架构验证程序似乎失败.

org.hibernate.HibernateException: Wrong column type in DB.TABLE for column amount. Found: float, expected: double precision
Run Code Online (Sandbox Code Playgroud)

避免这种情况的唯一方法是禁用模式验证,并希望模式与即将运行的应用程序保持同步.它必须在投入生产之前修复.

应用程序的环境:
- Grails 1.2.1
- Hibernate-core 3.3.1.GA
- Oracle 10g

validation grails hibernate database-schema

9
推荐指数
3
解决办法
2万
查看次数

NHibernate SchemaUpdate再次添加现有的外键?

我正在使用SchemaUpdatehbms与现有数据库同步.数据库最近基于hbms并且完全是最新的.但是SchemaUpdate再次生成所有外键约束.

例如假设你有StudentTeacher.与名称Student有关联.是一个外键来.假设数据库是最新的并且当前是holde ,以及它们的外键关系.所以并且是等价的.知道不能做任何事情,但是当我看到它生成的脚本时,它会再次重新生成该外键.TeacherArtTeacherArtTeacherStudentTeacherStudentTeacherHBMDatabaseSchemaUpdate

为什么会这样?有什么办法可以避免吗?

nhibernate schema database-schema

9
推荐指数
1
解决办法
641
查看次数

使用一个查询获取数据库架构?

基本上我想从当前连接的数据库获取表名和每个表的字段名,没有别的.

这可能吗?

我知道这SHOW TABLES FROM my_database会得到你的表名,并SHOW COLUMNS FROM my_table会得到你的字段,但这至少是[1 x#表]查询,我得到更多我想要的信息:)

php mysql sql database database-schema

9
推荐指数
1
解决办法
1万
查看次数

家谱关系映射为什么基于家庭

我正在开发一种基因组学应用程序,目前正处于建立个体间关系的阶段.

根据我的研究,我注意到大多数关系的映射都是基于家庭(父亲和母亲),因此我想在盲目地采用它之前理解这背后的根本原因.

由于我的项目是父权制,我认为只要一个人加上父亲,就会创造一个新的家庭

database-design genealogy database-schema

9
推荐指数
1
解决办法
6389
查看次数

Reddit中使用的Cassandra数据库模式是什么?

Reddit目前正在将其数据库从PosgreSQL迁移到Apache Cassandra.有人知道Reddit在Cassandra中使用了什么数据库模式吗?

reddit cassandra database-schema

9
推荐指数
1
解决办法
2881
查看次数

在postgresql中使用模式

我使用postgresql开发了一个应用程序,它运行良好.

现在我需要创建同一个应用程序的多个实例,但我只有一个数据库.所以我正在考虑使用模式,以便我可以将每个实例表分组到不同的模式中.

现在,我不想重写我的所有函数和脚本,因此我想知道我是否可以使用一些指令来指示数据库对特定模式进行操作.只是为了让它更清楚,你知道用c ++做什么吗?

using namespace std;
Run Code Online (Sandbox Code Playgroud)

这样你可以用cout而不是std::cout?如果可能的话,我想使用类似的东西.

postgresql database-schema

9
推荐指数
1
解决办法
1万
查看次数

数据库结构涉及动态字段

我正在研究一个项目.它主要用于学习目的,我发现实际上尝试复杂的项目是掌握基础知识后学习语言的最佳方式.数据库设计不是一个强项,我开始阅读它,但它的早期和我仍在学习.

这是我的alpha模式,即时通讯我只是想记下我能想到的一切,看看是否有任何问题跳出来. http://diagrams.seaquail.net/Diagram.aspx?ID=10094#

我想提出的一些问题需要反馈:

注意区域的核心属性,例如,简单地说,区域是厨房,卧室,花园,浴室和客厅.对于可能是主页,联系页面,about_us,启动画面的其他客户.它可能是2个区域,可能是100个,没有必要限制它.

我为默认值创建了单独的表,每个表都链接到一个bug.后来我来到了自定义字段的问题,如果有人想例如标记错误适用的主题,我们没有说,有可能是一个100其他的事情,所以我想坚持到一组核心属性和自定义字段给人灵活性.

然而,当我到自定义字段时,我知道我有一个问题,我不能为每个自定义字段创建一个表,所以我改为使用2个表.自定义字段和custom_field_values.这个想法是包含默认值的每个字段都将存储在此表中,并且每个字段都将链接到值表,这将只有这样的东西

custom_fields table
id            project_id        name
01            1                 area(default)
12            2                 rooms(custom)
13            4                 website(custom)

custom_field_values table
id            area           project_id    sort_number
667           area1          1             1
668           area2          1             2
669           area3          1             3
670           area4          1             4
671           bedroom        2             1
672           bathroom       2             2
673           garden         2             3
674           livingroom     2             4
675           homepage       4             1
676           about_us       4             2
677           contact        4             3
678           splash page    4             4
Run Code Online (Sandbox Code Playgroud)

这看起来像处理这样的动态字段的有效方式还是有其他替代方案?

默认值将是硬编码的,因此您可以使用它们或替换为您自己的默认值,或者我可以创建另一个表以允许用户编辑将链接到其项目的默认名称.任何反馈都是受欢迎的,如果计划中存在一些非常明显的问题,请随意批评.

mysql database-design relational-database database-schema entity-attribute-value

9
推荐指数
1
解决办法
1万
查看次数