作者: nature023@qq.co
查看: 1951|回复: 1
打印 上一主题 下一主题

[求助] C# 数据表结构设计

[复制链接]
跳转到指定楼层
楼主
查看: 1951|回复: 1
         用C#编程时,我有一个学生实验成绩表要呈现,表格呈现形式如下,其中的实验名称,例如光学实验、声学实验.......作为列名,但这些列名不是程序设计阶段就已知的,是由用户在软件使用过程中动态添加的。即,该表,列的数量不定,列名不定。




我想,程序在数据库设计时,可以采取两种思路:


法1.动态建立成绩表,在数据库中直接存储上表的结构,最终界面的呈现形式与数据库表的存储形式一直。根据用户数据的实验项目名称,动态的在数据库中建立相应字段的成绩表,但缺点是,数据库的字段一旦动态变化,C#操作数据库的一些命令该如何动态变化?例如插入操作时,字段数量和字段名称都为变量。


法2.数据库表格设计时,设计两个表格,一个是学生成绩表,一个是实验项目表,将实验项目名称(如“光学实验”),变为行的一条记录。








这样一来,最后在C#呈现时的内容,就不是数据库中某个表格的直接呈现,需要联合查询。缺点是,学生人数较多时,对每个学生都要去查一遍成绩表,效率很低,会很慢。


由于基础薄弱,可能还有没考虑到的地方,不知道遇到类似问题,如何解决?请高手指点。

111.jpg (22.86 KB, 下载次数: 32)

实验成绩表

实验成绩表

222.jpg (36.08 KB, 下载次数: 29)

法2

法2
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播
回复 论坛版权

使用道具 举报

沙发
乔克斯 发表于 2015-8-22 14:39:38 | 只看该作者
是要分表的。。写成存储过程调用即可。这点效率sqlserver还是应付的来的。
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-12-23 00:03, Processed in 0.716094 second(s), 32 queries , Gzip On.

快速回复 返回顶部 返回列表