标签: database-schema

如何为每种产品都有很多参数的多种产品设计产品表

我在桌面设计方面没有太多经验.我的目标是创建一个或多个满足以下要求的产品表:

  • 支持多种产品(电视,手机,PC,......).每种产品都有不同的参数集,例如:

    • 手机将有颜色,尺寸,重量,操作系统......

    • PC将有CPU,HDD,RAM ......

  • 参数集必须是动态的.您可以添加或编辑您喜欢的任何参数.

如果没有针对每种产品的单独表格,我如何满足这些要求?

database-design relational-database database-schema

127
推荐指数
3
解决办法
5万
查看次数

何时使用MyISAM和InnoDB?

MyISAM的设计理念是,您的数据库查询的次数远远超过其更新的数据,因此它可以执行非常快速的读取操作.如果您的读写(插入|更新)比率小于15%,则使用MyISAM更好.

InnoDB使用行级锁定,具有提交,回滚和崩溃恢复功能来保护用户数据.它支持事务和容错

以上MyISAM和InnobDB之间的差异是否正确?如果MYISAM和InnobDB有任何其他限制,请指导.我应该何时使用MyiSAM或何时使用Innodb?谢谢!

mysql database database-schema

126
推荐指数
2
解决办法
17万
查看次数

架构构建器laravel迁移在两列上唯一

如何在两列上设置唯一约束?

class MyModel extends Migration {
  public function up()
  {
    Schema::create('storage_trackers', function(Blueprint $table) {
      $table->increments('id');
      $table->string('mytext');
      $table->unsignedInteger('user_id');
      $table->engine = 'InnoDB';
      $table->unique('mytext', 'user_id');
    });
  }
}

MyMode::create(array('mytext' => 'test', 'user_id' => 1);
// this fails??
MyMode::create(array('mytext' => 'test', 'user_id' => 2);
Run Code Online (Sandbox Code Playgroud)

database-schema laravel-4

97
推荐指数
3
解决办法
6万
查看次数

如何在MySQL中存储数组?

我在MySQL中有两个表.表人员具有以下列:

id | name | fruits
Run Code Online (Sandbox Code Playgroud)

fruits列可以保存null或字符串数​​组(如'apple','orange','banana')或('strawberry')等.第二个表是Table Fruit并具有以下三列:

____________________________
fruit_name | color  | price
____________________________
apple      | red    | 2
____________________________
orange     | orange | 3
____________________________
...,...
Run Code Online (Sandbox Code Playgroud)

那么我应该如何设计fruits第一个表中的列,以便它可以保存从fruit_name第二个表中的列中获取值的字符串数组?由于MySQL中没有数组数据类型,我应该怎么做?

mysql database-schema

95
推荐指数
5
解决办法
27万
查看次数

PostgreSQL:你能在CREATE TABLE定义中创建一个索引吗?

我想在创建时为表中的某些列添加索引.是否有办法将它们添加到CREATE TABLE定义中,或者我是否必须在其后使用其他查询添加它们?

CREATE INDEX reply_user_id ON reply USING btree (user_id);
Run Code Online (Sandbox Code Playgroud)

postgresql database-schema database-indexes

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

mysqldump - 仅在没有自动增量的情况下导出结构

我有一个MySQL数据库,我试图找到一种方法只导出其结构,没有自动增量值.mysqldump --no-data几乎可以完成这项工作,但它保留了auto_increment值.有没有办法不使用PHPMyAdmin(我知道它可以做到)?

mysql export mysqldump auto-increment database-schema

79
推荐指数
2
解决办法
4万
查看次数

在Rails模型中使用多个PostgreSQL模式

我的Rails应用程序有一个PostgreSQL数据库.在名为"public"的模式中,存储了主Rails模型表等.我创建了一个"discogs"模式,其中的表名称有时与"public"模式中的名称相同 - 这是其中一个原因.我正在使用模式来组织这个.

如何从我的应用程序中的"discogs"架构设置模型?我将使用太阳黑子让Solr为这些模型编制索引.我不确定你会怎么做.

postgresql ruby-on-rails schema-design models database-schema

64
推荐指数
6
解决办法
2万
查看次数

Mysqldump:备份时为插入创建列名

如何指示mysqldump使用insert语句中的列名进行备份?
在我的情况下,我没有正常的备份与插入sql的结果

LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` 
INSERT INTO `users` VALUES (1
Run Code Online (Sandbox Code Playgroud)

结构体.

现在我继续从用户的架构中删除了一列.在此之后,当我运行备份sql时,我得到列号不匹配错误.

要解决此问题,我如何指示mysqldump也写入列名?我现在就是这样做的

mysqldump --host=${dbserver} --user=${dbusername} --password=${dbpassword} \
          --no-create-db --no-create-info --extended-insert --single-transaction \
          --compress tablename  
Run Code Online (Sandbox Code Playgroud)

在更广泛的层面上,管理这些架构更改的最佳做法是什么?

mysql mysqldump database-schema

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

如何在SQL Server中的所有数据库中查找所有表的列名

我想在所有数据库的所有表找到所有列名.有查询可以帮我吗?该数据库是Microsoft SQL Server 2000.

sql t-sql sql-server sql-server-2000 database-schema

62
推荐指数
4
解决办法
16万
查看次数

是否可以使用EF迁移更新生产数据库?

根据这篇博客文章,大多数使用EF迁移的公司都不会使用EF迁移更新生产数据库的数据库模式.相反,博客文章的作者建议使用Schema更新脚本作为部署过程的一部分.

我已经使用Schema更新脚本几年了,当它们工作时,我计划将来使用EF迁移,原因如下:

  • 部署更快,停机时间更短
  • 一个更简单的部署过程
  • 与使用T-SQL相比,现有数据的迁移更容易
  • 等待应用的更改的更易于理解的语法(DbMigration类具有干净的C#语法与传统环境中的clunky T-SQL迁移脚本).
  • 如果新软件版本的部署失败,则可以轻松快速地降级到旧数据库模式的路径

我可以想到的一个原因是,如果数据库模式只是由DBA而不是开发人员改变,那么禁止使用EF来迁移生产数据库.但是,我既是DBA又是开发人员,所以这在我的案例中并不重要.

那么,使用EF更新生产数据库有哪些风险?

编辑:我想补充一点,正如solomon8718已经建议的那样,我总是将生产数据库的新副本提取到我的登台服务器,并在将它们应用到生产服务器之前测试要在登台服务器上应用的EF迁移.对于生产系统的任何架构更新,IMO都是必不可少的,无论我是否使用EF迁移.

c# entity-framework database-schema ef-migrations

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