标签: multiple-tables

我应该使用平台还是规范化数据库?

我有一个我正在使用的Web应用程序,它使用MySQL数据库作为后端,我需要知道在我继续进行之前,对我的情况有什么好处.

简单地说,在这个应用程序中,用户将能够使用任何数字字段(他们决定)构建自己的表单,现在我将它全部存储在由外键链接的几个表中.我的一位朋友建议,为了保持"简单/快速",我应该将每个用户的表单转换为平面表,以便查询来自它们的数据保持快速(如果增长很大).

我是否应该将数据库标准化为使用外键(索引等)汇集到关系表中的所有内容,还是应该为用户创建的每个新表单构建平面表?

显然,创建平面表的一些好处是数据分离(安全性),并且会降低查询速度.但是,我会从中获得多少收益呢?我真的不想要10000个表,并且要丢弃,改变和添加所有的时间,但如果它会比我更好...我只需要一些输入.

谢谢

mysql sql normalization denormalization multiple-tables

15
推荐指数
2
解决办法
1万
查看次数

按另一个表选择每个行连接的最小值

我有下表:

           Table1                         Table2        
CardNo  ID   Record   Date          ID    Name      Dept    
1      101   8.00    11/7/2013      101   Danny     Green   
2      101   13.00   11/7/2013      102   Tanya     Red 
3      101   15.00   11/7/2013      103   Susan     Blue    
4      102   11.00   11/7/2013      104   Gordon    Blue    
5      103   12.00   11/7/2013                  
6      104   12.00   11/7/2013                  
7      104   18.00   11/7/2013                  
8      101    1.00   12/7/2013                  
9      101   10.00   12/7/2013                  
10     102    0.00   12/7/2013                  
11     102    1.00   12/7/2013                  
12     104    3.00   12/7/2013                  
13     104    4.00   12/7/2013  
Run Code Online (Sandbox Code Playgroud)

我希望结果是这样的:

Name    Dept    Record
Danny   Green …
Run Code Online (Sandbox Code Playgroud)

sql join group-by minimum multiple-tables

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

Postgres跨多个相关表格的全文搜索

这可能是一个非常简单的问题,所以提前道歉,但我对数据库的使用非常新.

我想让Postgres在多个连接表中运行全文搜索.想象一下像模型用户,具有相关模型UserProfile和UserInfo.搜索仅适用于用户,但包含来自UserProfile和UserInfo的信息.

我打算在搜索中使用杜松子酒索引.但是,我不清楚我是否需​​要在User表中使用单独的tsvector列来保存表中的聚合tsvector,并设置触发器以使其保持最新.或者,如果可以创建没有tsvector列的索引,只要任何相关表中的任何相关字段发生更改,它就会保持最新状态.此外,任何关于创建所有这些的命令的语法的提示也将非常受欢迎.

postgresql full-text-search multiple-tables tsvector

14
推荐指数
1
解决办法
4252
查看次数

MySQL:如何使用单个查询删除多个表?

我想轻松删除多个表而不在drop查询中实际列出表名,要删除的表有前缀'wp_'

mysql sql multiple-tables sql-delete

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

Scrapy:对数据库的多个返回/项目的建议

为了进一步详细说明这个问题的标题:我正在从电影网站上删除信息.我目前有一个MySQL填充了movie titles,movie urls等等的数据库.我现在urls要从数据库中取出它们并将它们设置为我start_urls的新数据库spider.每个url都是[插入abritrary电影]网页的链接,传达更多信息.我感兴趣的信息是:

  • 经销商(即福克斯)
  • 评级(即Pg-13)
  • 导向器
  • 流派(即喜剧)
  • 演员
  • 生产者/秒

其中,发行人,评级,导演和流派将从每个电影网页(一个评级,一个导演等)中与他们相关联.当然会有多个演员,并且取决于多个制片人(大片电影/大多数电影).这是我遇到问题的地方.我想建立一个pipeline' which puts each piece of info in an appropriatewithin myMySQL database. So, a table for director, a table for rating, etc. Each table will also have电影标题`.我可以这样说明问题本身:

我无法协调如何pipeline用适当的方法构建一个合适的spider.我不确定我是否可以从一个蜘蛛返回多个东西并将它们发送到不同的pipelines(创建不同的项来处理single属性,以及一个不同的项来处理'多个'属性)或是否使用相同的管道并以某种方式指定什么去哪里(不确定我是否只能在刮痧后返回一件事).我将展示我的代码,希望问题会变得更加清晰.*注意:它还没有完成 - 我只是想填写如何做到这一点的空白

蜘蛛:

  class ActorSpider(BaseSpider):
  import sys; sys.path.append("/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages")
  import MySQLdb
  db = MySQLdb.connect(db = 'testdb', user='testuser', …
Run Code Online (Sandbox Code Playgroud)

pipeline multiple-tables scrapy

10
推荐指数
1
解决办法
3996
查看次数

如何根据条件从另一个表更新表中的列?

我有两张桌子

  1. 它包含的学生表(Student_id,school_code,name,year,...)
  2. 它包含的学校表(school_id,School_code,School_name,year etc .....)

我想根据学校代码和年份使用学校代码表中的school_id列更新学生表中的school_code列.我有五年的数据.所以school_id每年都有所不同.

我的疑问是

UPDATE Master.Student
   SET school_code=( select school_id from Master.school as sc
  JOIN master.student as st
    ON st.school_code=sc.school_code
 WHERE sc.year=x)
 WHERE st.year=x;
Run Code Online (Sandbox Code Playgroud)

但它没有更新.我收到了错误subquery returns more than one value.

sql-server subquery multiple-tables sql-update

9
推荐指数
1
解决办法
4万
查看次数

具有WHERE子句的多表联接

我正在使用Mysql,我很难尝试从SELECT查询中获取结果.我有3张桌子.第一个表部分,第二个表部分成员和第三个表部分成员状态(此表中的数据是静态的).

select * from Sections;

| section_id | title  | description | section_ownerid |
-------------------------------------------------------
| 1          | title1 | desc1       | 100             |
| 2          | title2 | desc2       | 100             |
| 3          | title3 | desc3       | 100             |
| 4          | title4 | desc4       | 100             |
| 5          | title5 | desc5       | 100             |
| 6          | title6 | desc6       | 100             |
Run Code Online (Sandbox Code Playgroud)

select * from SectionMembers;

| SectionMembers_id | section_id  | status_code | …
Run Code Online (Sandbox Code Playgroud)

mysql database multiple-tables where

9
推荐指数
1
解决办法
5万
查看次数

如何使用ActiveRecord将一个表中的两列指向另一个表中的同一列?

我冒着手掌到额头的风险,但我无法弄清楚如何使用Rails的ActiveRecord糖来做到这一点.

我有一个tickets表有两列(submitter_idassignee_id),每列应该从users表中引用不同的用户(特别是表中的idusers).我希望能够做类似的事情ticket.submitter.nameticket.assignee.email使用ActiveRecord的关联.提交者和受让人只是不同关联名称下的用户对象.

我发现的唯一与我正在做的事情接近的是使用多态关联,但最后我很确定它并不是我真正需要的.我不会有多种类型,提交者和受让人都是用户,很可能是两个不同的用户.

任何帮助都会很棒.谢谢!

ruby activerecord ruby-on-rails associations multiple-tables

8
推荐指数
2
解决办法
2561
查看次数

ASP.NET MVC 3多个模型到单个表单

我正在学习ASP.NET MVC 3并尝试使用单个表单创建一个View,该表单由多个由外键链接在一起的模型组成.最终目标是将单个表单插入到所有数据库表中.

问题是我无法弄清楚为什么当我右键单击创建视图时,表单不会在cshtml文件中自动生成.自动生成的代码有很多帮助,因为我有许多链接在一起的表,以及我必须验证和插入的许多字段.如果无法自动生成表单,那么最有效/优雅的方法是什么?

这是我所拥有的简化.

模型:

class Customer
{
    [Key]
    public UInt64 CustomerId { get; set; }

    [Required(ErrorMessage = "Name is required.")]
    [Display(Name = "Customer Name")]
    [MaxLength(50)]
    public string FullName { get; set; }
}

class CustomerAdditionalDetails1
{
    [ForeignKey("Customer")]
    public UInt64 CustomerId { get; set; }

    [Required(ErrorMessage = "This info is required.")]
    [Display(Name = "Customer Information")]
    [MaxLength(50)]
    public string SomeInfo { get; set; }
}

class CustomerAdditionalDetails2
{  // same foreign key as CustomerAddtionalDetails1, but with different properties
}

class …
Run Code Online (Sandbox Code Playgroud)

forms asp.net-mvc multiple-tables asp.net-mvc-3

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

MySQL选择DATETIME类似于分钟

我必须相对于两个表之间的相同时间来扼杀结果,但是时间戳因为它们的记录方式而有所不同.我想获得类似于示例1的结果,但我只获得带星号的值,如示例2所示.从比较中删除secods或选择与最接近的DATETIME值对应的值的最佳方法是什么?

目前我正在使用此查询:

SELECT Table1.TimeSTamp1, Table1.Param1, Table2.TimeStamp2, Table2.Param2 
    FROM Table1, Table2 
    WHERE ... conditions for the other parameters of Table1 and Table2... 
    AND Table1.TimeSTamp1 = Table2.TimeStamp2
Run Code Online (Sandbox Code Playgroud)

我们热烈欢迎任何有关最佳做法的建议.


例1

TimeStamp1          ¦   Param1  ¦   TimeStamp2          ¦   Param2
2011-01-01 00:00:35 ¦   1       ¦   2011-01-01 00:00:35 ¦   a       *
2011-01-01 00:01:35 ¦   2       ¦   2011-01-01 00:01:35 ¦   b
2011-01-01 00:02:37 ¦   3       ¦   2011-01-01 00:02:35 ¦   c
2011-01-01 00:03:31 ¦   4       ¦   2011-01-01 00:03:35 ¦   d
2011-01-01 00:04:32 ¦   5       ¦ …
Run Code Online (Sandbox Code Playgroud)

mysql datetime multiple-tables

8
推荐指数
1
解决办法
7831
查看次数