我的Rails应用程序有一个PostgreSQL数据库.在名为"public"的模式中,存储了主Rails模型表等.我创建了一个"discogs"模式,其中的表名称有时与"public"模式中的名称相同 - 这是其中一个原因.我正在使用模式来组织这个.
如何从我的应用程序中的"discogs"架构设置模型?我将使用太阳黑子让Solr为这些模型编制索引.我不确定你会怎么做.
postgresql ruby-on-rails schema-design models database-schema
我想在mongodb中为每个集合使用多个模式,如何使用它?
当我尝试运行它时,它给了我这个错误:
错误:
OverwriteModelError:
allUsers编译后无法覆盖模型.
OverwriteModelError:checkInOut编译后无法覆盖模型.
继承我的schema.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema
, ObjectId = Schema.ObjectId;
var checkInInfoSchema= new Schema({
name:String,
loginSerialId:Number
});
var loginUserSchema = new Schema({
sn : { type: Number, unique:true }
,uname: {type:String, unique:true}
,pass:String
});
var registerUserSchema = new Schema({
sn : { type: Number, unique:true }
, name: String //his/her name
,pass:String,
companyKey:{type:String},
uname:{type:String,unique:true}
});
var checkInOutSchema = new Schema({
uname: String
,companyKey:String
,task:String
,inTime:String
,outTime:String
,date:{type:String}
,serialId:{type:Number,unique:true} …Run Code Online (Sandbox Code Playgroud) 我正在升级我刚才创建的支付管理系统.它目前有一个表可以接受每种付款方式.它仅限于能够支付一件事,这个升级是为了缓解.我一直在问我应该如何设计它的建议,我有以下工作的基本想法:
我的目标是:不要过于缓慢,尽可能地自我记录,并在保持其他目标的同时最大限度地提高灵活性.
由于每个表中的重复列,我不太喜欢1.它反映了继承基类的支付类型类,该基类为所有支付类型提供功能... ORM反向?
我倾向于最多2,因为它就像当前的设计一样"类型安全"和自我记录.但是,与1一样,要添加新的付款方式,我需要添加一个新表.
我不喜欢3因为它的"浪费的空间",并且不能立即清楚哪些列用于哪种支付类型.文档可以减轻这种痛苦,但我公司的内部工具没有一种有效的方法来存储/查找技术文档.
我给出的4个论点是,它可以减少在添加新的付款方式时需要更改数据库,但是由于缺乏明确性,它甚至比3更糟.目前,更改数据库不是问题,但如果我们决定开始让客户保留自己的数据库,它可能会成为一个后勤噩梦.
所以,我当然有偏见.有没有人有更好的想法?您认为哪种设计最合适?我应该根据什么标准做出决定?
我在这里读到了关于5NF,EAV和6NF的讨论,以及需要一个目录来"自动"处理元数据和复杂的SQL.这是如何在实践中实施的?
PerformanceDBA在提到目录的6NF和EAV上写了几个答案,例如在以下问题中:
特别是多个固定表与灵活的抽象表,PerformanceDBA写的
"例如,对于6NF数据库与目录,我有一组特效,将[重新]产生执行所有根据需要选择SQL,我提供5NF为所有用户意见,所以他们不需要知道或了解的基础6NF结构.它们被驱逐出目录.因此变化很容易并且自动化.由于缺少目录,EAV类型手动完成."
sql database-design schema-design entity-attribute-value database-normalization
我理解需要具有参照完整性以限制条目中的特定值,或者可能在删除请求时阻止它们被删除.但是,我不清楚一个有效的用例,它会排除这种机制永远被使用.
我想这会涉及几个子问题:
思考?
sql database referential-integrity schema-design database-schema
由于它提供的速度和可扩展性,我正在启动一个我认为特别适合MongoDB的项目.
我目前感兴趣的模块是与实时聊天.如果我在传统的RDBMS中这样做,我会把它分成:
这个用例的目的,我想假设一次有5个通道活动,每个通道每秒最多处理5个消息.
需要快速的特定查询:
请记住MongoDB的文档限制是4mb,您将如何设计模式?你会是什么样的?有什么问题需要注意吗?
我正在设计一个多语言的电子商务网站.产品具有不同的属性.某些属性对于每种语言(如颜色)都不同,其他属性对于所有语言(如SKU)都是相同的.属性未预定义,例如汽车具有除浓缩咖啡机之外的其他属性.
我想设计数据库模式,以便:
我正在考虑使用这样的架构:
{
_id: ObjectID("5dd87bd8d77d094c458d2a33"),
multi-lingual-properties: ["name", "description"],
name: { en: "Super fast car",
nl: "Hele snelle auto"},
description: { en: "Buy this car",
nl: "Koop deze auto"},
price: 20000,
sku: "SFC106X",
categories: [ObjectID("4bd87bd8277d094c458d2a43")]
}
Run Code Online (Sandbox Code Playgroud)
是否有更好的替代方案?使用此架构时会遇到什么问题?
我来自一个MySQL背景,我正试图包裹我的头MongoDB.特别是,我正在努力概念化我应该如何建模n:n"Mongo方式"的关系.
对于这个例子,假设我们有两个collections:users和interests.我们需要能够在数据中表示或查询几件事:
在MySQL,我会创建一个users_interests索引用户ID 和兴趣ID的表.对于计数器,我会为每种评级类型设置单独的列,并且每次用户对兴趣进行评级/未评级时,都要完成一项事务以确保计数永远不会错误.
我试过阅读一些架构设计,但无济于事.
你能帮助失落的灵魂找到方向吗?
我有一个mongo对象,希望通过mongoose我的网络应用程序访问它.我定义的模式有一个Object存储用户ID和一个3级值(是,可能或不).
例如
"user_info": {
"<id_value_1>": "y",
"<id_value_2>": "n"
}
Run Code Online (Sandbox Code Playgroud)
id_value_*上面的s是用户会话id,所以是一长串随机字符.我怎样才能mongoose Schema为此创建一个?
会user_info: {String, String}工作吗?
我可以重组它,以便它user_info是一个对象数组{ "sessionid": "<value>", "value: "y"},这没关系,这是最好的选择吗?
我有一个 json 模式,将几何图形表示为点或多点。每个都是在“定义”中的模式中定义的:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://schema.my-site.org/geometry.json#",
"type": "object",
"oneOf": [
{
"allOf": [
{
"required": [
"type",
"coordinates"
]
},
{
"oneOf": [
{
"$ref": "#/definitions/Point"
},
{
"$ref": "#/definitions/MultiPoint"
}
]
}
]
}
],
"definitions": {
"Point": {
"title": "Point",
"type": "object",
"properties": {
"type": {
"enum": [
"Point"
]
},
"coordinates": {
"$ref": "#/definitions/position"
}
}
},
"MultiPoint": {
"title": "MultiPoint",
"type": "object",
"properties": {
"type": {
"enum": [
"MultiPoint"
]
},
"coordinates": {
"$ref": …Run Code Online (Sandbox Code Playgroud) schema-design ×10
mongodb ×5
sql ×3
mongoose ×2
node.js ×2
nosql ×2
database ×1
json ×1
jsonschema ×1
models ×1
mysql ×1
postgresql ×1
rabbitmq ×1
schema ×1