带有Excel导出问题的Access数据库设计(多级)
您好,我目前正在从事一个项目,该项目包含每个月的个人信息,我想建立一个或两个表来包含这些信息(我不想为每个月创建一个表)。一个简单的例子是: 一月 学生a 学生乙 二月 学生a带有Excel导出问题的Access数据库设计(多级),excel,ms-access,database-design,Excel,Ms Access,Database Design,您好,我目前正在从事一个项目,该项目包含每个月的个人信息,我想建立一个或两个表来包含这些信息(我不想为每个月创建一个表)。一个简单的例子是: 一月 学生a 学生乙 二月 学生a 学生b 学生丙 我所做的只是将数据以上述形式导出到excel中,权重、高度列是固定的,但我希望按月份对数据进行聚类,以便数据组织更清晰 请问如何设计数据库以满足上述要求?谢谢 以下是存储信息所需的表格: students id unsigned int(P) name
学生b
学生丙 我所做的只是将数据以上述形式导出到excel中,权重、高度列是固定的,但我希望按月份对数据进行聚类,以便数据组织更清晰
请问如何设计数据库以满足上述要求?谢谢 以下是存储信息所需的表格:
students
id unsigned int(P)
name varchar(50)
+----+------+
| id | name |
+----+------+
| 1 | John |
| 2 | Mary |
| 3 | Tina |
| .. | .... |
+----+------+
SELECT name, height, weight, year, month
FROM students s
LEFT JOIN measurements m ON s.id = m.student_id
ORDER BY year, month, name
在测量
表中,主键由学生id
、年份
和月份
组成。student\u id
也是students
表的外键
measurements
student_id unsigned int(F students.id)-\
year unsigned int ----------------(P)
month unsigned int ---------------/
height unsigned int
weight unsigned int
+------------+------+-------+--------+--------+
| student_id | year | month | height | weight |
+------------+------+-------+--------+--------+
| 1 | 2013 | 11 | 70 | 200 |
| 2 | 2013 | 11 | 65 | 130 |
| 1 | 2013 | 12 | 70 | 192 |
| 2 | 2013 | 12 | 65 | 126 |
| 3 | 2013 | 12 | 68 | 140 |
| .......... | .... | ..... | ...... | ...... |
+------------+------+-------+--------+--------+
然后是提取信息的查询:
students
id unsigned int(P)
name varchar(50)
+----+------+
| id | name |
+----+------+
| 1 | John |
| 2 | Mary |
| 3 | Tina |
| .. | .... |
+----+------+
SELECT name, height, weight, year, month
FROM students s
LEFT JOIN measurements m ON s.id = m.student_id
ORDER BY year, month, name
这将给你:
+------+--------+--------+------+-------+
| name | height | weight | year | month |
+------+--------+--------+------+-------+
| John | 70 | 200 | 2013 | 11 |
| Mary | 65 | 130 | 2013 | 11 |
| John | 70 | 192 | 2013 | 12 |
| Mary | 65 | 126 | 2013 | 12 |
| Tina | 68 | 140 | 2013 | 12 |
+------+--------+--------+------+-------+
这是您想要的数据,按您想要的方式排序。数据的任何进一步格式化取决于您的应用程序