我正在寻找一个在线的协作数据库架构设计师.应用程序专门针对MySQL,但通用数据库设计师也很好.它可以处理修订(变更历史)很重要.
这看起来很酷,我可以在服务器上托管它 - 但看起来它不会处理多用户:http: //ondras.zarovi.cz/sql/demo/
目前,我们正在谷歌文档/电子表格上进行大量的设计协作.有没有人使用谷歌电子表格进行架构设计有什么成功?即使只有一个用于绘制线条/连接的小工具,我也可能会给Google Docs一个机会.
我是rails/ruby的新手,我想知道如何仔细检查我的数据库架构是否在rails控制台中正确构建
在 rails c
ActiveRecord::Base.connection.tables 给了我输出
["schema_migrations", "users", "expense_pictures", "income_pictures", "income_texts", "expense_texts"]
Run Code Online (Sandbox Code Playgroud)
如何在控制台中检查我是否正确构建了以下架构?

从用户到IncomePictures和ExpensePictures是外键.IncomePictures to ExpensePictures也是其相应文本的外键
这是我的模特:
class ExpensePicture < ActiveRecord::Base
belongs_to :user
mount_uploader :image, ImageUploader
has_one :expense_text
end
class ExpenseText < ActiveRecord::Base
belongs_to :expense_pictures
end
class IncomePicture < ActiveRecord::Base
belongs_to :user
mount_uploader :image, ImageUploader
has_one :income_text
end
class IncomeText < ActiveRecord::Base
belongs_to :income_pictures
end
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:rememberable, :validatable
has_many :expense_pictures …Run Code Online (Sandbox Code Playgroud) [ 很多关于SO的讨论,但是几乎所有关于SQL的讨论都是如此,所以根据我的判断,我的问题很多都是N/A ]
我正在用react/ redux,firebase后端和AWS lambda必要的函数编写CRUD应用程序.
我的用户将有兴趣了解已更改的内容以及何时记录,但我正在努力寻找一种有效的方法.
我目前的计划是保持"记录更新"记录的集合与像场previousVal,changeDate和userMakingChange. Redux有一些很棒的中间件可以在客户端使这个相当简单.
img是我想到的数据库模式.Firebase强调非常扁平的数据结构,我希望修订历史按需加载,与用户/记录分开,因此中间表revision histories.
所以,我的问题:
我们有一个网站,其子域名如下:
每个域和子域都有不同的数据库,如下所示:
你有什么尝试?
目前,对于单点登录,我们已计划在主站点中重定向用户以进行注册.
子域中的订单处理从主DB获取UserID并存储在相应的子域的Orders表中.
出于报告目的,我们将UserID不存储FK constraint在Orders表中,因为我们有单独的数据库.
我在这里可以看到堆栈交换站点有单独的数据库,但它是否也有单独的用户表?
StackExchange Network配置文件是否存储在单独的数据库中?
我可以从这里看到每个站点的用户表都有StackExchange网络配置文件的AccountId.
一个例子:
我无法Accounts在数据愚蠢的任何地方看到表格,所以AccountId存储了吗?如何使用多个站点完成SSO AccountId?
我的问题:我们是否需要主数据库中的单个用户表,或者我们必须为子域的数据库创建单独的用户表,Link Main DB UserID而不是FK约束?哪个是购物网站的最佳设计?
任何帮助都会很棒.
什么是正确的语法或使用JDBC在DB2中创建模式的正确步骤是什么?
在运行时create schema test1或create schema test1 authorization db2admin作为db2admin,我一直都会得到DB2 SQL Error: SQLCODE=-552, SQLSTATE=42502, SQLERRMC=DB2ADMIN;CREATE SCHEMA, DRIVER=3.64.106
完全相同的命令可以使用DB2命令行工具正常工作.
这个问题显然是一个功课问题.我无法理解我的教授,也不知道他在大选期间所说的话.我需要逐步指示将下表归一化为1NF,然后是2NF,然后是3NF.

我感谢任何帮助和指导.
database database-design normalization relational-database database-schema
我正在使用地址做事,而成员子预设(公寓/公寓#)导致检索错过.我也担心subpremise是我唯一索引约束的一部分,因为它可以为null.
故障过滤器:
tableQuery.filter(c=> (c.longitude === r.longitude && c.latitude === r.latitude) ||
(c.streetNumber === r.streetNumber && c.route === r.route && c.subpremise === r.subpremise && c.neighborhoodId === r.neighborhoodId))
Run Code Online (Sandbox Code Playgroud)
成功过滤:(通过removung subpremise)
tableQuery.filter(c=> (c.longitude === r.longitude && c.latitude === r.latitude) ||
(c.streetNumber === r.streetNumber && c.route === r.route && c.neighborhoodId === r.neighborhoodId))
Run Code Online (Sandbox Code Playgroud)
如果还有其他一些我错过的因素,我已经将这些定义包括在下面了,希望它会被注意到.
case class Address(id:Option[Long],streetNumber:Short,route:String,subpremise:Option[String],neighborhoodId:Fk,latitude:Option[Double],longitude:Option[Double])
class Addresses(tag: Tag) extends Table[Address](tag, "addresses") with Logging {
def id = column[Long]("id", O.PrimaryKey, O.AutoInc)
def streetNumber = column[Short]("street_number")
def route = column[String]("route",O.NotNull)
def subpremise = …Run Code Online (Sandbox Code Playgroud) 为什么Laravel将整数列创建为INT(11)而将无符号整数列创建为INT(10)?
$table->integer('integer'); // INT(11)
$table->unsignedInteger('unsignedInteger'); // INT(10) unsigned
$table->integer('integer_then_unsigned')->unsigned(); // INT(10) unsigned
Run Code Online (Sandbox Code Playgroud)
由于无符号整数的最大值几乎可以是原来的两倍,不应该相反吗?
我正在使用以下方法ENUM在架构生成器中创建类型的数据库列:
$table->enum('status', array('new', 'active', 'disabled'));
Run Code Online (Sandbox Code Playgroud)
我想将它的默认值设置为active.
我试着这样做:
$table->enum('status', array('new', 'active', 'disabled'))->default('active');
Run Code Online (Sandbox Code Playgroud)
但是你可以猜测它没有设置它的默认值.我正在使用MySQL数据库,如果这很重要的话.
我想获取按其依赖顺序排序的表名。
例如:如果我有 table users,users_orders并且orders我想按以下顺序获取表名:(users或orders无关紧要), orders, users_orders.
如果有办法请帮忙。
database-schema ×10
database ×3
mysql ×3
laravel ×2
sql ×2
architecture ×1
db2 ×1
enums ×1
firebase ×1
foreign-keys ×1
google-docs ×1
jdbc ×1
laravel-4 ×1
optional ×1
ruby ×1
scala ×1
schema ×1
slick-2.0 ×1
sql-server ×1