首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据存储在多行和序列化数据中

将数据存储在多行和序列化数据中
EN

Database Administration用户
提问于 2016-12-26 07:27:33
回答 1查看 1.1K关注 0票数 0

我目前正在设计一个数据库表,在这里我存储了学生为某个会话选择的课程列表。我目前的设计是将每门课程一排排地存储起来,学生每节课最多可以有30门课程。这意味着,该单一部门的300名学生仅在一个会话中就会消耗30*300 = 9000行。学校有50多个系,每个系每级至少有300名学生(5级),每节课上的最低课程可达30门。系统的设计方式是不删除存储的这些数据。

含义:

50 (系)* 300 (可能的学生)*5(等级)* 30 (课程行)= 2,250,000 (可能在一节课中消耗的行)。

序列化格式

是否最好将学生课程存储在仅使用一行保存的序列化格式中?

50 (系)* 300 (可能的学生)*5(等级)*1(课程行)= 75,000 (可能在一节中消耗的行)。

我计算了这个,我认为这是合理的,但我不知道这是否是一个错误的设计。

低点I认识到更新和删除查询将覆盖/删除课程列中的所有内容。

请提供有洞察力的帮助将不胜感激。

注意:我使用MySql作为我的数据库。

EN

回答 1

Database Administration用户

发布于 2016-12-26 18:08:19

2米行是“中型”。这不应该是您关心的问题;数据库是设计用来处理数百万甚至数十亿行的。但是,您需要有适当的索引,并包括最优的PRIMARY KEY

想想你所拥有的“实体”--部门、学生、课程、课程等等。少想一下“关系”--系中的课程;课程中的学生;等等。

1:许多都是由一个用于JOINing的表中的id处理到另一个表的。很多:很多是由一个包含两个it的额外表来处理的。1:1通常是不-不。

完成一些关于数据库设计的教程。一定要理解JOINs

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/159169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档