Tag: 数据库

如何为用户定义的字段devise数据库?

我的要求是: 需要能够dynamic添加任何数据types的用户定义字段 需要能够快速查询UDF 需要能够根据数据types对UDF进行计算 需要能够根据数据types对UDF进行sorting 其他信息: 我正在寻找性能 有几百万个Masterlogging可以附带UDF数据 上次检查时,我们目前的数据库中有超过5000万个UDFlogging 大多数情况下,UDF只附加在几千条主logging上,而不是全部 UDF不被连接或用作键。 他们只是用于查询或报告的数据 选项: 用StringValue1,StringValue2 … IntValue1,IntValue2 …等创build一个大表。我讨厌这个想法,但会考虑,如果有人可以告诉我,它比其他想法和原因好。 创build一个dynamic表格,根据需要添加新的列。 我也不喜欢这个想法,因为除非你为每一列编制索引,否则性能会很慢。 创build一个包含UDFName,UDFDataType和Value的表。 当一个新的UDF被添加时,生成一个视图,只拉取这些数据,并将其parsing成指定的types。 不符合parsing条件的项目返回NULL。 创build多个UDF表,每个数据types一个。 所以我们有UDFStrings,UDFDates等表。可能会做同样的#2和自动生成一个视图任何时候添加一个新的字段 XML数据types? 之前我没有和他们合作过,但是看过他们提到过。 不知道他们是否会给我我想要的结果,尤其是在performance方面。 别的东西?

关系表命名约定

我正在开始一个新项目,希望从一开始就让我的表和列名称。 例如,我总是在表名中使用复数,但最近学到的单数是正确的。 所以,如果我有一个“用户”表,然后我得到的产品,只有用户将有,如果表名为“user_product”或只是“产品”? 这是一对多的关系。 更进一步说,如果我有(出于某种原因)每个产品的几个产品描述,它会是“user_product_description”或“product_description”或只是“描述”? 当然,正确的外键设置..命名它只描述会有问题,因为我也可以有用户的描述或帐户描述或任何.. 那么如果我想要一个只有两列的纯关系表(多对多),那么这将是什么样子呢? “user_stuff”或者像“rel_user_stuff”? 如果是第一个,那么会区分这个,例如“user_product”? 任何帮助,高度赞赏,如果有某种forms的命名约定标准那里你们推荐,随意链接。 谢谢

问题每一个好的数据库/ SQL开发人员应该能够回答

我正在经历的问题每一个好的.Net开发人员应该能够回答 ,并且对这个问题的内容和方法印象深刻,所以本着同样的精神,我问这个问题的数据库/ SQL开发人员。 你认为一个好的数据库/ SQL程序员能够回应 什么问题 ?

正常forms – 第二与第三 – 是不同的组合键? 不平凡的依赖?

我已经看过这篇文章,但我不太了解所用的术语(非平凡的函数依赖,superkey) 从我读过的第二范式似乎涉及到复合键,而第三范式涉及到主键。 我不确定这是否正确。 所以第二个正常forms – 有一个复合键,表中的所有字段必须与两个复合键字段相关联。 如果某些东西不相关,那么它应该被重构到另一个表中。 第三范式 – 一切都必须依赖于主键 – 所以我猜测,在第三范式中只有一个键而不是第二范式可以有复合键? 任何意见赞赏。

致命错误:调用未定义函数mysqli_result()

有人可以告诉我为什么这不起作用,当我试图切换我的旧SQL到sqli: $query = "SELECT * FROM `product_category`"; $result = mysql_query($query, $connect) or die("could not perform query: " . mysql_error()); $num_rows = mysql_num_rows($result); for ($i=0; $i < $num_rows; $i++) { $ID = mysql_result($result,$i,"ID"); $name = mysql_result($result,$i,"name"); $description = mysql_result($result,$i,"description"); 至: $query = ("SELECT * FROM `product_category`"); $result = mysqli_query($connect, $query) or die("could not perform query"); $num_rows […]

实体关系模型和关系模型有什么区别?

我只能find以下两点区别: ER模型中的关系是明确定义的,而它们隐含在关系模型中。 关系模型需要一个中间表(通常称为“联结表”)来存放两个实现多对多关系的外键。 为什么我们使用关系模型,当我们有一个ER图?

如何删除MySQL表中的重复项

我给了一个客户端下面的查询删除重复的电话号码。 logging在MSSQL数据库中,但是现在他们也需要在MySQL上做这件事,并且他们报告说MySQL抱怨查询的格式。 我已经包含了一个testing表的设置与我的代码示例重复,但实际的删除查询是重要的。 我在无知和紧急的时候问这个,因为我还在忙着下载和安装MySQL,也许有人可以帮忙。 create table bkPhone ( phoneNo nvarchar(20), firstName nvarchar(20), lastName nvarchar(20) ) GO insert bkPhone values('0783313780','Brady','Kelly') insert bkPhone values('0845319792','Mark','Smith') insert bkPhone values('0834976958','Bill','Jones') insert bkPhone values('0845319792','Mark','Smith') insert bkPhone values('0828329792','Mickey','Mouse') insert bkPhone values('0834976958','Bill','Jones') alter table bkPhone add phoneId int identity delete from bkPhone where phoneId not in ( select min(phoneId) from bkPhone group by […]

Firebase查询 – 查找包含string的子项

我在Firebase查询中遇到了一些问题。 我想查询的对象,其中对象的孩子值包含一个特定的string。 到目前为止,我有这样的东西: Firebase *ref = [[Firebase alloc] initWithUrl:@"https://dinosaur-facts.firebaseio.com/dinosaurs"]; [[[[ref queryOrderedByKey] queryStartingAtValue:@"b"] queryEndingAtValue:@"b~"] observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) { NSLog(@"%@", snapshot.key); }]; 但是,这只给出具有“b”的起始值的对象。 我想要包含string“b”的对象。 我怎么做?

如何连接到MDF数据库文件?

我正在尝试第一次将C#应用程序连接到MDF数据库,我需要一些帮助。 我在Visual Studio 2010中创build了一个小的MDF数据库文件,然后创build了另一个项目并将该文件导入到项目本身中。 我不想通过代码连接到MDF文件。 这里我正在使用的代码: namespace DBtestApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } System.Data.SqlClient.SqlConnection con; private void Form1_Load(object sender, EventArgs e) { con = new System.Data.SqlClient.SqlConnection(); con.ConnectionString = "DataSource=.\\SQLEXPRESS; AttachDbFilename =SampleDatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; con.Open(); MessageBox.Show("Connection opened"); con.Close(); MessageBox.Show("Connection closed"); } } } 当我运行这个应用程序的时候,我在定义连接string的那一行得到了一个exception,并且这个exception在栈顶有这个消息: System.ArgumentException: Keyword not […]

是否有一个ANSI SQL替代MYSQL LIMIT关键字?

是否有一个ANSI SQL替代MYSQL LIMIT关键字? LIMIT关键字限制了SELECT返回的行数,例如: SELECT * FROM People WHERE Age > 18 LIMIT 2; 返回2行。 SELECT * FROM People WHERE Age > 18 LIMIT 10, 2; 在第一个10之后返回2行。