繁体   English   中英

如何将动态数据添加到数据库表中?

[英]How do I add dynamic data to a database table?

我正在尝试为健身房锻炼计划创建一个数据库。 这将有每个成员的锻炼计划,其中包括多个练习。

我的问题是:假设一个成员可能有 5 个练习,另一个成员 3 个,另一个 6 个,等等,我如何将其存储在数据库中?

我的思考过程一直围绕着在表格中硬编码一组练习,并给出它们是 null 的可能性(例如 10 个练习,但如果你只使用 5 个练习,其他所有内容都可以一无所有地存储)。 但这感觉不太正确。

我为此使用 MySQL。

就像@Sami 指出的那样,您将使用所谓的relational database

下面是一个简单的数据库结构,可以帮助您入门。

成员表

表名:tbl_members

表结构:

| member_id |member_name|member_contact|

练习或日程表

表名:tbl_member_schedule

表结构:

| schedule_id | member_id |assigned_date|时间表

在 tbl_member_schedule 中,您可以将整个时间表存储为 JSON 结构,或者您可以进一步规范化。 由于这是一个示例,我将整个计划以 JSON 格式存储在计划字段内。

现在,当您要检索特定成员(成员 ID:1)的日程安排时,您可以按如下方式查询数据库:

select 
    tbl_members.member_id, tbl_members.member_name, 
    tbl_member_schedule.Schedule
from 
    tbl_members join
    tbl_member_schedule on tbl_members.member_id = tbl_member_schedule.member_id
where 
    tbl_members.member_id = 1;

因此,您的日程安排的 JSON 结构可能是

{ 
    day1: [
        {exerciseName: 'dumbbell curls', reps: '8 x 4'}, 
        {exerciseName: 'leg extension', reps: '8 x 3'}
    ],
    day2: [
        {exerciseName: 'dumbbell curls', reps: '8 x 4'}, 
        {exerciseName: 'leg extension', reps: '8 x 3'}
    ]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM