Questions tagged «database»

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

6
检查对象是否存在
我需要检查是否Model.objects.filter(...)打开了任何东西,但不需要插入任何东西。到目前为止,我的代码是: user_pass = log_in(request.POST) # form class if user_pass.is_valid(): cleaned_info = user_pass.cleaned_data user_object = User.objects.filter(email = cleaned_info['username'])

3
Rails中列名的别名
在我的数据库中有列名,例如“ delete”或“ listen-control”等。这些不能更改,因此我想为名称加上别名,以避免我的应用程序出现问题。 我找到了以下代码,但是它已经过时了(2005年8月5日),不适用于Rails 3: module Legacy def self.append_features(base) super base.extend(ClassMethods) end module ClassMethods def alias_column(options) options.each do |new_name, old_name| self.send(:define_method, new_name) { self.send(old_name) } self.send(:define_method, "#{new_name}=") { |value| self.send("#{old_name}=", value) } end end end end ActiveRecord::Base.class_eval do include Legacy end 如何别名列名?可能吗?

4
用例:InfluxDB与Prometheus [关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 4年前关闭。 改善这个问题 在Prometheus网页之后,Prometheus和InfluxDB之间的一个主要区别是用例:虽然Prometheus存储时间序列,但只有InfluxDB更好地适合于存储单个事件。由于在InfluxDB的存储引擎上做了一些重要的工作,所以我想知道这是否仍然正确。 我想建立一个时间序列数据库,除了推/推模型(可能会有性能上的差异)之外,我看不出将两个项目分开的大事。有人可以解释用例的区别吗?


3
如何禁用EF代码优先的链接表的级联删除?
我想使用实体框架代码优先的链接表禁用级联删除。例如,如果许多用户具有许多角色,而我尝试删除一个角色,则除非当前没有与该角色相关联的用户,否则我希望该删除被阻止。我已经删除了我的级联删除约定OnModelCreating: protected override void OnModelCreating(DbModelBuilder modelBuilder) { ... modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>(); 然后,我设置了用户角色链接表: modelBuilder.Entity<User>() .HasMany(usr => usr.Roles) .WithMany(role => role.Users) .Map(m => { m.ToTable("UsersRoles"); m.MapLeftKey("UserId"); m.MapRightKey("RoleId"); }); 但是,当EF创建数据库时,它会为外键关系创建一个删除级联,例如。 ALTER TABLE [dbo].[UsersRoles] WITH CHECK ADD CONSTRAINT [FK_dbo.UsersRoles_dbo.User_UserId] FOREIGN KEY([UserId]) REFERENCES [dbo].[User] ([UserId]) ON DELETE CASCADE GO ALTER TABLE [dbo].[UsersRoles] WITH CHECK ADD CONSTRAINT [FK_dbo.UsersRoles_dbo.Role_RoleId] …

3
MongoDB规范化,外键和联接
在我深入研究MongoDB几天之前,我想我会问一个非常基本的问题,即是否应该完全研究它。我基本上没有使用nosql的经验。 我确实阅读了一些有关文档数据库的好处,并且我认为对于这个新应用程序,它们将非常有用。对许多类型的对象(很多M-M关系)和子类进行收藏,评论等总是很麻烦-处理起来很麻烦。 我也有一个结构,很难用SQL定义,因为它是非常嵌套的,并且可以比15个不同的表更好地转换为文档。 但是我对一些事情感到困惑。 是否希望保持数据库正常化?我真的不想更新多个记录。人们还在用这种方式来处理MongoDB中的数据库设计吗? 当用户收藏一本书并且此选择仍存储在用户文档中但又删除该书时,会发生什么情况?没有外键如何分离关系?我自己负责删除所有链接吗? 如果用户偏爱一本已不存在的书并查询(某种连接),该怎么办?我必须在这里做任何容错吗?

8
相较于标准Guid,Sequential Guid在性能上有哪些改进?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 8个月前关闭。 改善这个问题 有人曾在用作数据库内的主键时测量过顺序向导与标准向导的性能吗? 我认为不需要唯一键是可猜测的,从Web UI或其他部分传递它们本身似乎是一种不好的做法,并且如果您有安全方面的顾虑,我看不到如何使用guid可以改善事情(如果是这样的话,请使用使用框架的适当加密函数的真实随机数生成器)。 我的方法涵盖了其他项目,可以从代码生成顺序的guid,而无需DB访问(即使仅对于Windows),并且在时间和空间上是唯一的。 是的,提出这个问题的目的是为了回答那些选择了Guid进行PK的人们一种改善数据库使用率的方法(在我的情况下,这使客户能够承受更大的工作量而不必更换服务器)。 看来,安全性问题很多,在这种情况下,请不要使用Sequential Guid,或者最好不要将标准Guid用于PK,这些PK从UI来回传递,而sequential guid用于其他所有操作。与往常一样,没有绝对的真理,我也编辑了主要答案以反映这一点。

12
MySQL存储过程使用或不使用它们
我们正处于一个新项目的开始,我们真的想知道是否应该在MySQL中使用存储过程。 我们将仅使用存储过程来插入和更新业务模型实体。有几个表代表模型实体,我们将在那些存储过程的插入/更新中对其进行抽象。 另一方面,我们可以从Model层调用插入和更新,但是不能在MySQL中而是在PHP中。 根据您的经验,哪个是最佳选择?两种方法的优点和缺点。就高性能而言,哪一个最快? PS:这是一个大多数阅读的Web项目,而高性能是最重要的要求。

1
MATCH AGAINST还是LIKE哪个SQL查询更好?
要在数据库中搜索在任何列“ foo_desc”和“ bar_desc”中同时具有关键字“ foo”和“ bar”的行,我将执行以下操作: SELECT * FROM t1 WHERE MATCH (t1.foo_desc, t2.bar_desc) AGAINST ('+foo* +bar*' IN BOOLEAN MODE) 要么 SELECT * FROM t1 WHERE (CONCAT(t1.foo_desc, t2.bar_desc) LIKE '%foo%') AND (CONCAT(t1.foo_desc, t2.bar_desc) LIKE '%bar%') 我希望最后一个查询的缺点是性能。 好处是,LIKE查询找到了“ MATGA AGAINST”找不到的“ xxfoo”。 哪一个是首选,还是有更好的解决方案?
67 sql  mysql  database  search 

3
IllegalArgumentException:索引1处的绑定值为null
有人知道这意味着什么吗? 12-31 20:55:45.861: ERROR/AndroidRuntime(12478): Caused by: java.lang.IllegalArgumentException: the bind value at index 1 is null 12-31 20:55:45.861: ERROR/AndroidRuntime(12478): at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:234) 12-31 20:55:45.861: ERROR/AndroidRuntime(12478): at android.database.sqlite.SQLiteQuery.bindString(SQLiteQuery.java:182) 12-31 20:55:45.861: ERROR/AndroidRuntime(12478): at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:48) 12-31 20:55:45.861: ERROR/AndroidRuntime(12478): at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345) 12-31 20:55:45.861: ERROR/AndroidRuntime(12478): at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:330) 12-31 20:55:45.861: ERROR/AndroidRuntime(12478): at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:280) 12-31 20:55:45.861: ERROR/AndroidRuntime(12478): at net.lp.collectionista.providers.ProductContentProvider.query(ProductContentProvider.java:350) …

10
万维网的最大站点在哪些数据库上运行?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 7年前关闭。 改善这个问题 该问题旨在作为主要网站使用的数据库及其配置的列表,对于任何想将其网站扩展到Twitter,Facebook甚至Google规模的人来说,都是一个很好的参考。 请尽量减少您的回答,并确保引用使用的任何资料。 编辑: 另外,请同时加粗网站名称和数据库,以方便扫描。

10
对每个客户端使用单个数据库有什么优势?
在针对多个客户端设计的以数据库为中心的应用程序中,我一直认为将单个数据库用于所有客户端是“更好”的选择-将记录与正确的索引和键相关联。在听Stack Overflow播客时,我听到Joel提到FogBugz每个客户端使用一个数据库(因此,如果有1000个客户端,则将有1000个数据库)。使用这种架构的优势是什么? 我知道对于某些项目,客户需要直接访问其所有数据-在这样的应用程序中,很明显每个客户都需要自己的数据库。但是,对于不需要客户端直接访问数据库的项目,每个客户端使用一个数据库有什么好处?从灵活性的角度来看,使用具有单个表副本的单个数据库要简单得多。添加新功能更容易,创建报表也更容易,管理也更容易。 在听到Joel(经验丰富的开发人员)提到他的软件使用不同的方法之前,我对“为所有客户提供一个数据库”方法非常有信心,并且我对他的决定有些困惑... 我听说人们援引数据库速度慢,但记录数量众多,但是任何具有某些优点的关系数据库都不会出现此问题-特别是如果使用正确的索引和键。 任何输入,不胜感激!

3
什么是MYSQL分区?
我已经阅读了文档(http://dev.mysql.com/doc/refman/5.1/en/partitioning.html),但是我想用您自己的话说它是什么以及为什么使用它。 它主要用于多台服务器,因此不会拖拽一台服务器吗? 因此,部分数据将在server1上,而部分数据将在server2上。服务器3将“指向”服务器1或服务器2 ...这是如何工作的? 如果MYSQL文档的目的是将其散布在服务器之间,为什么它会集中在同一服务器内进行分区?

5
在Doctrine 2中指定小数字段类型时,小数位数和精度是什么意思?
我正在为我的Symfony2应用程序创建一个小数字段以在Doctrine2中保存财务数据。 当前,它看起来像这样: /** * @ORM\Column(type="decimal") */ protected $rate; 当我输入一个值并将所述值持久保存到数据库时,将其四舍五入为整数。我猜想我需要为该字段设置精度和比例类型,但是我需要有人确切解释它们的作用? 该Doctrine2文档说: precision:十进制(精确数字)列的精度(仅适用于十进制列) scale:小数(精确数字)列的小数位数(仅适用于小数列) 但这并不能告诉我很多。 我猜精度是要舍入的小数位数,因此我假设应该为2,但是小数位数是多少?规模是重要数字吗? 我的现场声明应该是这样吗?:- /** * @ORM\Column(type="decimal", precision=2, scale=4) */ protected $rate;

3
Net Core 3.0中没有UseDatabaseErrorPage()扩展方法
我已经创建了Net Core 3.0应用程序,下面的代码现在无法在2.2中工作。 app.UseDatabaseErrorPage(); 看起来DatabaseErrorPageExtensions在Microsoft.AspNetCore.Builder名称空间中不存在3.0类。我缺少一些依赖吗?我添加了带有工具和设计的EntityFrameworkCore NuGet。 新增中 using Microsoft.AspNetCore.Builder; 没有帮助。

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.