AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-16592

Marco's questions

Martin Hope
Marco
Asked: 2019-02-27 12:13:23 +0800 CST

分组相关信息:另一个表 vs 同一个表

  • -1

我有一个表来存储视频信息,像这样:

-----------------
video
-----------------
video_id
title
description
duration
inserted_date
...

很多时候,我有彼此直接相关的视频。例如,我有多个 5 分钟小块的同一场音乐会的视频。我希望能够将这些视频分组并给它一个观看位置。

因此,当我查看该组的一个视频时,我可以轻松地向用户显示该组中的所有其他视频(按位置排序)。

我想出了这个模型,但由于我不是数据库建模专家,所以我想问什么是合适的模型

-----------------
video
-----------------
video_id
title
description
duration
inserted_date
video_group
position
... 

就我而言,一个视频只能属于一个组,一个组可以有多个视频。

mysql database-design
  • 1 个回答
  • 52 Views
Martin Hope
Marco
Asked: 2019-01-12 13:49:16 +0800 CST

根据 ID 获取相关列

  • 1

我有一个 am:n(多对多)关系表。基本上,如果我选择一个article_id,我想返回所有其他tag_id与所选 相同的文章article_id。

| article_id | tag_id |
|------------|--------|
| 1          | 2      |
| 1          | 11     |
| 2          | 5      |
| 4          | 6      |
| 4          | 11     |
| 12         | 9      |
| 14         | 9      |
| 14         | 15     |
| 14         | 17     |
| 18         | 1      |
| 20         | 8      |
| 41         | 13     |
| 49         | 9      |
| 50         | 12     |
| 60         | 18     |
| 75         | 9      |
| 75         | 10     |
| 75         | 11     |

所以,如果我选择article_id 75,我需要输出所有包含tag_id 9、10 和 11的文章

| article_id | tag_id |
|------------|--------|
| 1          | 11     |
| 4          | 11     |
| 12         | 9      |
| 14         | 9      |
| 49         | 9      |

我创建了以下查询,它看起来有效,但我想确认一下。有没有更好的办法?

SELECT aj2.article_id, aj2.tag_id
FROM article_tag_join aj
JOIN article_tag_join aj2 ON aj2.tag_id = aj.tag_id
WHERE aj.article_id = 75 AND aj2.article_id <> 75
mysql mysqli
  • 1 个回答
  • 14 Views
Martin Hope
Marco
Asked: 2019-01-01 12:09:43 +0800 CST

根据传递的 ID 获取父/子或父/兄弟姐妹

  • 1

这类似于我的表:

| id | parent_id | title        |
|----|-----------|--------------|
| 61 | NULL      | title of 61  |
| 62 | 61        | another title|
| 68 | 61        | more text    |
| 75 | 61        | testing 123  |

假设我选择 ID 61。我想要这个输出(父级的所有子级):

| id | title        |
|----|--------------|
| 62 | another title|
| 68 | more text    |
| 75 | testing 123  |

所以,我使用以下 mysql:

SELECT a2.id, a2.title
FROM article a
JOIN article a2 ON a2.parent_id = a.id
WHERE a.id = 61

...到目前为止,一切都很好...

假设我选择 ID 75,我想要这个输出(父母和兄弟姐妹):

| id | title        |
|----|--------------|
| 61 | title of 61  |
| 62 | another title|
| 68 | more text    |

所以,我使用这个查询:

SELECT a2.id, a2.title
FROM article a
JOIN article a2 ON COALESCE(a2.parent_id, a2.id) = a.parent_id
WHERE a.id = 75 AND a2.id != 75

有没有办法创建这两个查询的组合,所以无论我传递什么 ID,它都会正确输出......

注意:英语不是我的第一语言,如果不清楚请随时提问

mysql query
  • 1 个回答
  • 1258 Views
Martin Hope
Marco
Asked: 2014-03-26 10:35:45 +0800 CST

如何在表中使用键以使两列唯一

  • 0

我想创建一个处理照片的基本数据库。另外,我想向用户展示当天的照片。我创建了一个名为“照片”的表格和另一个表格“今天的照片”,就像这样

CREATE TABLE `photo` (
`photo_id` SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
`title` VARCHAR(100) NOT NULL,
`caption` VARCHAR(255) NOT NULL,
`filename` CHAR(29) NOT NULL,
PRIMARY KEY (`photo_id`)
)

CREATE TABLE `photooftheday` (
`photo_id` SMALLINT(5) UNSIGNED NOT NULL,
`date` DATE NOT NULL
)

我没有为表photooftheday添加自动增量列,因为我认为没有必要(也许我错了)。

我的问题是关于表格“今日照片”。我不知道如何处理密钥,所以每天都包含一张在另一天尚未选择的照片。在这种情况下,我对主键、唯一键、键、外键、列索引感到困惑……

此外,如果有帮助,我选择当天照片的查询将使用日期列,例如:

$todays_date = date('Y-m-d');

$q = "SELECT p.photo_id, p.title, p.caption, p.filename
FROM photooftheday pd
JOIN photo p ON pd.photo_id = p.photo_id
WHERE DATE(pd.date) = '$todays_date'";

我如何处理表 photooftheday 中的列,以便对其进行优化?

谢谢

mysql
  • 2 个回答
  • 113 Views
Martin Hope
Marco
Asked: 2013-08-28 19:36:14 +0800 CST

如何着手建模关系的主要对象?

  • 2

我正在使用 MySQL 和 MyISAM 表。

我有一堆我想组合在一起的对象

  • 1 个对象属于 1 个且仅属于 1 个组
  • 1组可以有很多对象
  • 1 组有 1 个必需的主要对象,我将手动选择

到目前为止,我已经建立了一个我认为是正确的模型。

但我不知道如何对组中的主要对象进行建模。什么是完美的解决方案?

group_object
----------------
group_object_id (PRIMARY KEY)
name

object
----------------
object_id (PRIMARY KEY)
group_object_id (FOREIGN KEY)
name

更新了我的问题.. 看到粗体

mysql database-design
  • 1 个回答
  • 130 Views
Martin Hope
Marco
Asked: 2012-12-29 23:30:44 +0800 CST

处理音乐发行图稿的模型

  • 3

我正在为一位艺术家设计一个 FAN 网页,更具体地说,是唱片部分。唱片包括整个艺术家 CD、黑胶唱片、8 轨、盒式磁带等。到目前为止,我已经制作了一些相当不错的东西,但是当需要处理发行版的所有艺术作品时,我陷入了困境,而不仅仅是封面。让我解释:

我的模型只处理封面。逻辑如下:

一个版本包含 1 个封面,而 1 个封面可以在多个版本中使用(对于一个版本的封面与主要版本几乎相同的版本来说,这种情况经常发生。)

为此,我建立了 2 个表:release和cover

release (release_id, title, cover_id,...)
cover (cover_id, filename, width, height,...)

在我决定为发布添加更多艺术品之前,该模型一直运行良好。从那以后,我被困住了,无法让自己的头脑清晰地思考。

这是我正在尝试做的事情:

我正在尝试向发行版添加更多艺术品,例如封底、镶嵌、a 面、b 面、小册子页面等。艺术品需要按特定顺序排列(先是封面,然后是封底,等等) .

我正在努力实现这一目标。我应该保留一对多模型并为其余的艺术品添加一张桌子吗?我是否应该将所有图像混合在一张表中(我们称之为艺术品)?如果是,我该如何处理封面以便每个版本只有 1 个封面。封面是否应该保持 1:m 的关系,因为艺术作品的其余部分最终可能会成为 1:1 的关系?如果所有图片都应该放在一张表中,那么如何定位图片以及如何使封面和发行版的主封面独一无二?如此多的问题导致我建立了如此多的模型,以至于在这一点上我完全迷路了!

这是基础知识:

  • 一位艺术家唱片(CD、盒式磁带、8 轨、单曲、黑胶唱片等...)
  • 有些发行版有多达 12 个版本,很多时候主要版本的封面与版本的封面相同。
  • 我需要将一件艺术品作为发行版的主要艺术品(大多数时候最终会成为封面)
  • 我需要按特定顺序显示所有艺术品......(封面总是第一个显示)

你会如何处理这个问题?

mysql database-design
  • 1 个回答
  • 69 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve