Questions tagged «database»

数据库是有组织的数据集合。它是模式,表,查询,报告,视图和其他对象的集合。数据通常以支持需要信息的流程的方式来组织,以对现实的各个方面进行建模。如果对设计数据库有疑问,请使用此标记。如果它与特定的数据库管理系统(例如MySQL)有关,请改用该标记。


6
如何使用迁移重命名laravel中的列?
我有下面提到的列: public function up() { Schema::create('stnk', function(Blueprint $table) { $table->increments('id'); $table->string('no_reg', 50)->unique(); $table->string('no_bpkb', 50)->unique(); $table->string('nama_pemilik', 100); $table->string('alamat'); $table->string('merk', 50); $table->string('tipe', 50); $table->string('jenis', 50); $table->smallInteger('tahun_pembuatan'); $table->smallInteger('tahun_registrasi'); $table->smallInteger('isi_silinder'); $table->string('no_rangka', 50); $table->string('no_mesin', 50); $table->string('warna', 50); $table->string('bahan_bakar', 50); $table->string('warna_tnkb', 50); $table->string('kode_lokasi', 50); $table->date('berlaku_sampai'); $table->timestamps(); $table->index('created_at'); $table->index('updated_at'); }); } 我已经将播种机做成stnk表 现在我想重命名id为id_stnk。 我在“ composer”中添加了“ doctrine / …

14
使用Rails,如何将主键设置为非整数类型的列?
我正在使用Rails迁移来管理数据库模式,并且正在创建一个简单的表,在该表中我想使用非整数值作为主键(特别是字符串)。为了简化我的问题,我们假设有一个表employees,其中的员工由字母数字字符串标识,例如"134SNW"。 我试过在这样的迁移中创建表: create_table :employees, {:primary_key => :emp_id} do |t| t.string :emp_id t.string :first_name t.string :last_name end 这给了我什么,似乎它完全忽略了该行t.string :emp_id,并使其成为整数列。还有其他方法可以让rails为我生成PRIMARY_KEY约束(我正在使用PostgreSQL),而不必在execute调用中编写SQL吗? 注意:我知道最好不要将字符串列用作主键,所以请不要回答只是说要添加一个整数主键。我仍然可以添加一个,但是这个问题仍然有效。

2
H2或HSQLDB哪个更好?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 HSQLDB 2.0即将发布。我不知道它是否会胜过H2,因为据我所知,大多数用户都喜欢H2而不是HSQLDB。我对HSQLDB 2.0的MVCC支持感兴趣。我了解到H2上的MVCC仍处于实验阶段。关于支持/文档​​,并发性和性能,两者之间哪个更好?

3
编写成就系统的最佳方法
我正在考虑设计一种在我的网站上使用的成就系统的最佳方法。数据库结构可以以最佳方式找到,以告知缺少的3个或更多连续记录,并且该线程实际上是从开发人员处获得想法的扩展。 我在这个网站上经常谈论徽章/成就系统时遇到的问题就是-都是谈论而没有代码。实际的代码实现示例在哪里? 我在这里提出一种设计,希望人们可以做出贡献,并希望为编码可扩展成就系统创建一个好的设计。我并不是说这是最好的,远非如此,但这是一个可能的起点。 请随时贡献您的想法。 我的系统设计思路 似乎普遍的共识是创建一个“基于事件的系统”-每当发生已知事件(如创建,删除帖子等)时,它都会像这样调用事件类。 $event->trigger('POST_CREATED', array('id' => 8)); 然后,事件类找出此事件正在“侦听”哪些标志,然后找到requires该文件,并创建该类的实例,如下所示: require '/badges/' . $file; $badge = new $class; 然后,它将调用默认事件,以传递调用时接收到的数据trigger。 $badge->default_event($data); 徽章 这才是真正的魔术发生的地方。每个徽章都有自己的查询/逻辑,以确定是否应授予徽章。每个徽章的格式如下: class Badge_Name extends Badge { const _BADGE_500 = 'POST_500'; const _BADGE_300 = 'POST_300'; const _BADGE_100 = 'POST_100'; function get_user_post_count() { $escaped_user_id = mysql_real_escape_string($this->user_id); $r = mysql_query("SELECT COUNT(*) …

6
如何连接到MySQL数据库?
我是C#编程的新手,但希望能够访问MySQL数据库(没有用于MS SQL的资金) 但是我有一个问题。我知道您必须具有“ MySQL连接器/ NET”和“ MySQL for Visual Studio”才能开发C#应用程序,但是安装该应用程序的人还需要它们吗?(是否可以随程序释放连接器DLL?) 谢谢 编辑:最终用户还是只是连接器都需要它们?他们还有什么需要的吗?

4
微服务:如何处理外键关系
微服务架构建议每个服务应处理自己的数据。因此,任何依赖于其他服务(服务B)拥有的数据的服务(服务A)都不应通过直接DB调用而是通过第二个服务(服务B)提供的api访问此类数据。 因此,微服务最佳实践对检查外键约束有何建议? 示例:我正在开发产品的交付功能(微服务1),并且某些产品只能交付到产品表中提到的某些位置,只有产品微服务(微服务2)可以访问该表。 我如何确保微服务1(即送货功能)不会将订单送到未服务的地点。我有这个问题,因为交付功能无法直接访问产品数据库,因此在将交付订单放入交付数据库中时,在数据库级别没有适用的约束(无法检查产品数据库中是否存在外键匹配项)或表格)。


13
如何存储73亿行市场数据(已优化读取)?
我有一个自1998年以来的1000分钟股票的1分钟数据集,总行数左右(2012-1998)*(365*24*60)*1000 = 7.3 Billion。 我大部分时间(99.9%)仅执行读取请求。 在数据库中存储此数据的最佳方法是什么? 1个有7.3B行的大表? 1000张表(每个股票代号一个),每个表有730万行? 对数据库引擎有什么建议吗?(我打算使用Amazon RDS的MySQL) 我不习惯处理这么大的数据集,因此这是我学习的绝佳机会。非常感谢您的帮助和建议。 编辑: 这是一个示例行: 'XX',20041208,938,43.7444,43.7541,43.735,43.7444,35116.7,1,0,0 第1列是股票代码,第2列是日期,第3列是分钟,其余分别是开-高-低-收盘价,交易量和3个整数列。 大多数查询将类似于“给我2012年4月12日12:15至2012年4月13日12:52之间的AAPL价格” 关于硬件:我计划使用Amazon RDS,因此在此方面我很灵活
84 database 




6
在数据库中存储工作时间
我目前正在尝试找出将业务运营时间存储在数据库中的最佳方法。 例如: 商家A有以下营业时间 星期一:9am-5pm 星期二:上午9点至下午5点 星期三:上午9点至下午5点 星期四:上午9点至下午5点 星期五:上午9点至下午5点 星期六:上午9点至中午12点 周日:休息 目前,我有一个类似于以下内容的数据模型 CREATE TABLE "business_hours" ( "id" integer NOT NULL PRIMARY KEY, "day" varchar(16) NOT NULL, "open_time" time, "close_time" time ) 其中“天”仅限于代码中一周中7天的选择(通过ORM)。为了测试企业是否在某一天关门,它会检查open_time和close_time是否为NULL。它通过中间表(多对多关系)与业务相关。 有没有人对此数据库方案有任何建议?对我来说似乎有些不对劲。


9
参数真的足以阻止Sql注入吗?
我一直在向我的同事和SO讲这件事,说明在SQL查询中,尤其是.NET应用程序中使用参数的好处。我什至甚至承诺它们可以抵抗SQL注入攻击。 但是我开始怀疑这是否是真的。是否有任何已知的SQL注入攻击都可以针对参数化查询成功执行?例如,您是否可以发送导致服务器上的缓冲区溢出的字符串? 当然,要确保Web应用程序安全是需要考虑的其他事项(例如,清理用户输入和所有其他内容),但是现在我正在考虑SQL注入。我对MsSQL 2005和2008的攻击特别感兴趣,因为它们是我的主要数据库,但是所有数据库都很有趣。 编辑:澄清我的意思是参数和参数化的查询。通过使用参数,我的意思是使用“变量”而不是在字符串中构建sql查询。 因此,不要这样做: SELECT * FROM Table WHERE Name = 'a name' 我们这样做: SELECT * FROM Table WHERE Name = @Name 然后在查询/命令对象上设置@Name参数的值。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.