我有一个表my_tables,它在几个表中被引用为外键。
我想选择my_table其他表中未引用的所有行。
AFAIK,应该可以以通用方式(带有一些内省魔法)来做到这一点。
我有一个 HR 软件,HR 部门的一名员工在该软件上每年运行大约两次长时间且复杂的分析和计算。因此,它tempdb正在增长到 500GB 甚至更多。
什么是好的磁盘大小调整解决方案?因为今年剩下的时间tempdb没有那么大。
细节
tempdb和数据库在同一个分区上D:,日志文件在不同的分区上E: 使用 Microsoft SQL Server,有没有办法备份生产数据库的子集?我只想要数据库结构,以及几个选定表的极少量交易数据。
我想用这个备份文件来刷新开发数据库。
对于 Oracle,我看到这是使用此 Powershell 脚本实现的:
userid="/ as sysdba"
compression=all
directory=TEST_DIR
flashback_time=systimestamp
dumpfile=XX.dmp
logfile=xx.log
schemas=XXXXX
query=SCHEMA.TABLE:"where <condition>
exclude=TABLE:"IN (x)"
Run Code Online (Sandbox Code Playgroud) 如果两个表具有相同的架构,但一个是“正常”的,另一个是内存优化的,如果我研究索引应该如何用于“正常”,我可以对内存优化表进行直接推断吗?
找不到任何结论性的东西,所以我非常感谢链接、主题等。
这是情况:
但是我找不到“ utf8_bin vs utf8_general_cs ”的帖子。那么,它们是一样的吗?如果不是,它们之间有什么区别?
注意:我已经检查过utf8_general_cs在默认 MySQL 中不可用。我可以知道为什么吗?
我的数据库老师要求我们使用 MySQL 作为数据库管理系统编写 Facebook 的克隆,所以我试图在相应的数据库中表示朋友关系。
到目前为止,我已经通过到处搜索构建了以下表格:
CREATE TABLE Users (
UserID INT UNSIGNED NOT NULL AUTO_INCREMENT,
Nome VARCHAR (20) NOT NULL,
Sobrenome VARCHAR (20) NOT NULL,
Foto LONGBLOB,
Cidade VARCHAR (180),
PRIMARY KEY (UserID)
);
CREATE TABLE Friends (
UserID INT UNSIGNED NOT NULL,
FriendID INT UNSIGNED NOT NULL,
PRIMARY KEY (UserID, FriendID),
CONSTRAINT FK_UserID
FOREIGN KEY UserID REFERENCES Users (UserID),
CONSTRAINT FK_FriendID
FOREIGN KEY FriendID REFERENCES Users (UserID)
);
Run Code Online (Sandbox Code Playgroud)
我将Friends表描述为使用UserID(声明为Users表主键)的自关系。
除了一些基本的#1064 错误,我正在处理:是否可以为这种关系添加一个阻止好友选项?例如,如果我不想再与某人交谈,我只是阻止他们。
我目前正在对应用程序进行一些高级规划。bcp 导入完成后,我将使用数据库邮件发送电子邮件。
我希望电子邮件为收件人提供选项或过滤器。他们的选择将决定启动哪些特定的 SQL 脚本。
例如:
来自:database@mail.com
至:henry@mail.com
导入已完成,您想:
Run Code Online (Sandbox Code Playgroud)+------------+---------+ | Update | Find | +------------+---------+
我的直觉是我可以选择 mailto 链接,以填充回复电子邮件的正文。但是我一直无法找到有关在收到电子邮件时触发警报的任何资源。事实上,我在下面找到的图表告诉我,您实际上无法回复数据库邮件:
有没有人做过这样的项目?
如果我想用一个术语来指代度量/指标和维度,什么是行业公认的好的表达方式?
指标也常用于 UI 中,例如Google Analytics或Tableau。
我的问题的上下文是针对 UI 的。如果存在,我想对它们进行分组,并使用行业公认的名称来引用它们。
database-design terminology application-design dimensional-modeling
我有一个简单的一级父子关系表,包含以下列:
ID_Asset| Parent_ID_Asset | ProductTitle
Run Code Online (Sandbox Code Playgroud)
我需要按父级后跟子级分组的输出,并按父级和子级名称排序。我在小提琴中的尝试。父母必须是第一位的。
详情请看这里:https : //rextester.com/PPCHG20007
CREATE TABLE [dbo].[Test](
[ID_Asset] [int] NOT NULL,
[Parent_ID_Asset] [int] NULL,
[ProductTitle] [nvarchar](150) NOT NULL
) ON [PRIMARY]
GO
INSERT [dbo].[Test] ([ID_Asset], [Parent_ID_Asset], [ProductTitle]) VALUES (2, NULL, N'Live Maps Unity')
INSERT [dbo].[Test] ([ID_Asset], [Parent_ID_Asset], [ProductTitle]) VALUES (3, NULL, N'mShare')
INSERT [dbo].[Test] ([ID_Asset], [Parent_ID_Asset], [ProductTitle]) VALUES (4, NULL, N'Nessus Professional')
INSERT [dbo].[Test] ([ID_Asset], [Parent_ID_Asset], [ProductTitle]) VALUES (5, NULL, N'Enterprise Server')
INSERT [dbo].[Test] ([ID_Asset], [Parent_ID_Asset], [ProductTitle]) VALUES (6, NULL, N'PhantomPDF')
INSERT …Run Code Online (Sandbox Code Playgroud) 我有一个Person表,其中有一created_by列引用了表本身的主 ID。因此,可能是一名员工将另一名员工添加到数据库中。它工作正常。
但People也可以自己添加(注册)。所以created_by列中的值应该是该列的自动递增值id。但该值显然在插入之后才可用。
所以我可以(a)使引用不检查值,(b)在开头添加一个默认值或(c)使列可以为空。所有的选择对我来说都不好。
MySQL的方言是这样的:
SET FOREIGN_KEY_CHECKS = 0;
INSERT INTO EMPLOYEE VALUES('12345','67890'),('67890','12345');
SET FOREIGN_KEY_CHECKS = 1;
Run Code Online (Sandbox Code Playgroud)
...但我找不到 SQL Server 的 T-SQL 类似的东西。
sql-server ×6
mysql ×2
t-sql ×2
backup ×1
collation ×1
dump ×1
foreign-key ×1
index-tuning ×1
metadata ×1
order-by ×1
postgresql ×1
schema ×1
select ×1
tempdb ×1
terminology ×1
utf-8 ×1