这个简单啊,是你想的太复杂。
唯一性的字段就是某班的某某课。我想A班的高数课不会是多个老师上吧。
例如:A1 是A班的1课程
A2 是A班的2课程
B1是B班的1课程
这里A 你可以换成01 然后 就可以是 0101 A班1课程,这样撒。
老师和学生都去选对应的课
在MySQL数据库中,学生、教师、课程、成绩、班级和班长之间可以建立如下表:
学生表(student)
字段名
类型
描述
id int 学生ID
name varchar 学生姓名
class_id int 班级ID
leader tinyint 是否为班长
该表中的class_id字段与班级表的id字段关联,leader字段表示该学生是否为班长。
教师表(teacher)
字段名
类型
描述
id int 教师ID
name varchar 教师姓名
课程表(course)
字段名
类型
描述
id int 课程ID
name varchar 课程名称
teacher_id int 授课教师ID
该表中的teacher_id字段与教师表的id字段关联。
成绩表(score)
字段名
类型
描述
id int 成绩ID
student_id int 学生ID
course_id int 课程ID
score decimal 成绩
该表中的studentid字段与学生表的id字段关联,courseid字段与课程表的id字段关联,score字段表示该学生在该课程中的成绩。
班级表(class)
字段名
类型
描述
id int 班级ID
name varchar 班级名称
班长表(leader)
字段名
类型
描述
id int 班长ID
student_id int 学生ID
该表中的student_id字段与学生表的id字段关联。
在上述表中,学生表、课程表、成绩表和班级表之间存在外键关系,分别为:
学生表的class_id字段与班级表的id字段关联;
课程表的teacher_id字段与教师表的id字段关联;
成绩表的studentid字段与学生表的id字段关联,courseid字段与课程表的id字段关联。
以access2013为示例,可以在“教师”表的设计视图下,在“职称”字段的数据类型中,点选“查阅向导”,创建查阅字段,就可以创建查阅列表了。
步骤如下:
1、以access2013为示例,打开access2013。
2、创建一个教职员数据库。
3、点击左侧上方,百叶窗开关按钮。
4、在“教职员表”上右键,点选“设计视图”。
5、点击“教职员类型”的“数据类型”下拉菜单,点选“查询向导”。
6、选择“自行键入所需的值”。
7、输入“助教”、“教授”等职称类型。
8、完成后,保存修改。
9、打开”教职员列表“,点击“教职员类型“。
10、可以看到,查阅列表创建成功。
刚用powerdesigner做了一个不是很完整,如有帮助最好
/==============================================================/
/ DBMS name: Microsoft SQL Server 2005 /
/ Created on: 2008-5-16 21:05:41 /
/==============================================================/
if exists (select 1
from syssysreferences r join syssysobjects o on (oid = rconstid and otype = 'F')
where rfkeyid = object_id('Class_Time_Map') and oname = 'FK_CLASS_TI_REFERENCE_上课时段')
alter table Class_Time_Map
drop constraint FK_CLASS_TI_REFERENCE_上课时段
go
if exists (select 1
from syssysreferences r join syssysobjects o on (oid = rconstid and otype = 'F')
where rfkeyid = object_id('Class_Time_Map') and oname = 'FK_CLASS_TI_REFERENCE_班级')
alter table Class_Time_Map
drop constraint FK_CLASS_TI_REFERENCE_班级
go
if exists (select 1
from syssysreferences r join syssysobjects o on (oid = rconstid and otype = 'F')
where rfkeyid = object_id('Room_Time_Map') and oname = 'FK_ROOM_TIM_REFERENCE_上课时段')
alter table Room_Time_Map
drop constraint FK_ROOM_TIM_REFERENCE_上课时段
go
if exists (select 1
from syssysreferences r join syssysobjects o on (oid = rconstid and otype = 'F')
where rfkeyid = object_id('Room_Time_Map') and oname = 'FK_ROOM_TIM_REFERENCE_教室表')
alter table Room_Time_Map
drop constraint FK_ROOM_TIM_REFERENCE_教室表
go
if exists (select 1
from syssysreferences r join syssysobjects o on (oid = rconstid and otype = 'F')
where rfkeyid = object_id('Teacher_Time_Map') and oname = 'FK_TEACHER__REFERENCE_教师')
alter table Teacher_Time_Map
drop constraint FK_TEACHER__REFERENCE_教师
go
if exists (select 1
from syssysreferences r join syssysobjects o on (oid = rconstid and otype = 'F')
where rfkeyid = object_id('Teacher_Time_Map') and oname = 'FK_TEACHER__REFERENCE_上课时段')
alter table Teacher_Time_Map
drop constraint FK_TEACHER__REFERENCE_上课时段
go
if exists (select 1
from syssysreferences r join syssysobjects o on (oid = rconstid and otype = 'F')
where rfkeyid = object_id('教师课程对应表') and oname = 'FK_教师课程对应表_REFERENCE_教师')
alter table 教师课程对应表
drop constraint FK_教师课程对应表_REFERENCE_教师
go
if exists (select 1
from syssysreferences r join syssysobjects o on (oid = rconstid and otype = 'F')
where rfkeyid = object_id('教师课程对应表') and oname = 'FK_教师课程对应表_REFERENCE_课程')
alter table 教师课程对应表
drop constraint FK_教师课程对应表_REFERENCE_课程
go
if exists (select 1
from syssysreferences r join syssysobjects o on (oid = rconstid and otype = 'F')
where rfkeyid = object_id('班级课程对应表') and oname = 'FK_班级课程对应表_REFERENCE_课程')
alter table 班级课程对应表
drop constraint FK_班级课程对应表_REFERENCE_课程
go
if exists (select 1
from syssysreferences r join syssysobjects o on (oid = rconstid and otype = 'F')
where rfkeyid = object_id('班级课程对应表') and oname = 'FK_班级课程对应表_REFERENCE_班级')
alter table 班级课程对应表
drop constraint FK_班级课程对应表_REFERENCE_班级
go
if exists (select 1
from sysobjects
where id = object_id('Class_Time_Map')
and type = 'U')
drop table Class_Time_Map
go
if exists (select 1
from sysobjects
where id = object_id('Room_Time_Map')
and type = 'U')
drop table Room_Time_Map
go
if exists (select 1
from sysobjects
where id = object_id('Teacher_Time_Map')
and type = 'U')
drop table Teacher_Time_Map
go
if exists (select 1
from sysobjects
where id = object_id('上课时段')
and type = 'U')
drop table 上课时段
go
if exists (select 1
from sysobjects
where id = object_id('教室表')
and type = 'U')
drop table 教室表
go
if exists (select 1
from sysobjects
where id = object_id('教师')
and type = 'U')
drop table 教师
go
if exists (select 1
from sysobjects
where id = object_id('教师课程对应表')
and type = 'U')
drop table 教师课程对应表
go
if exists (select 1
from sysobjects
where id = object_id('班级')
and type = 'U')
drop table 班级
go
if exists (select 1
from sysobjects
where id = object_id('班级课程对应表')
and type = 'U')
drop table 班级课程对应表
go
if exists (select 1
from sysobjects
where id = object_id('课程')
and type = 'U')
drop table 课程
go
/==============================================================/
/ Table: Class_Time_Map /
/==============================================================/
create table Class_Time_Map (
TimeID int not null,
班级ID int not null,
constraint PK_CLASS_TIME_MAP primary key (TimeID, 班级ID)
)
go
/==============================================================/
/ Table: Room_Time_Map /
/==============================================================/
create table Room_Time_Map (
教室ID int not null,
TimeID int not null,
constraint PK_ROOM_TIME_MAP primary key (教室ID, TimeID)
)
go
/==============================================================/
/ Table: Teacher_Time_Map /
/==============================================================/
create table Teacher_Time_Map (
教师ID int not null,
TimeID int not null,
constraint PK_TEACHER_TIME_MAP primary key (教师ID, TimeID)
)
go
/==============================================================/
/ Table: 上课时段 /
/==============================================================/
create table 上课时段 (
TimeID int not null,
Day int null,
Time int null,
constraint PK_上课时段 primary key (TimeID)
)
go
/==============================================================/
/ Table: 教室表 /
/==============================================================/
create table 教室表 (
教室ID int not null,
constraint PK_教室表 primary key (教室ID)
)
go
/==============================================================/
/ Table: 教师 /
/==============================================================/
create table 教师 (
教师ID int not null,
教师姓名 char (10) null,
constraint PK_教师 primary key (教师ID)
)
go
/==============================================================/
/ Table: 教师课程对应表 /
/==============================================================/
create table 教师课程对应表 (
教师ID int not null,
课程ID int not null,
constraint PK_教师课程对应表 primary key (教师ID, 课程ID)
)
go
/==============================================================/
/ Table: 班级 /
/==============================================================/
create table 班级 (
班级ID int not null,
专业 varchar(20) null,
constraint PK_班级 primary key (班级ID)
)
go
/==============================================================/
/ Table: 班级课程对应表 /
/==============================================================/
create table 班级课程对应表 (
课程ID int not null,
班级ID int not null,
constraint PK_班级课程对应表 primary key (课程ID, 班级ID)
)
go
/==============================================================/
/ Table: 课程 /
/==============================================================/
create table 课程 (
课程ID int not null,
课程名 varchar(Max) null,
Column_3 varchar(20) null,
constraint PK_课程 primary key (课程ID)
)
go
alter table Class_Time_Map
add constraint FK_CLASS_TI_REFERENCE_上课时段 foreign key (TimeID)
references 上课时段 (TimeID)
go
alter table Class_Time_Map
add constraint FK_CLASS_TI_REFERENCE_班级 foreign key (班级ID)
references 班级 (班级ID)
go
alter table Room_Time_Map
add constraint FK_ROOM_TIM_REFERENCE_上课时段 foreign key (TimeID)
references 上课时段 (TimeID)
go
alter table Room_Time_Map
add constraint FK_ROOM_TIM_REFERENCE_教室表 foreign key (教室ID)
references 教室表 (教室ID)
go
alter table Teacher_Time_Map
add constraint FK_TEACHER__REFERENCE_教师 foreign key (教师ID)
references 教师 (教师ID)
go
alter table Teacher_Time_Map
add constraint FK_TEACHER__REFERENCE_上课时段 foreign key (TimeID)
references 上课时段 (TimeID)
go
alter table 教师课程对应表
add constraint FK_教师课程对应表_REFERENCE_教师 foreign key (教师ID)
references 教师 (教师ID)
go
alter table 教师课程对应表
add constraint FK_教师课程对应表_REFERENCE_课程 foreign key (课程ID)
references 课程 (课程ID)
go
alter table 班级课程对应表
add constraint FK_班级课程对应表_REFERENCE_课程 foreign key (课程ID)
references 课程 (课程ID)
go
alter table 班级课程对应表
add constraint FK_班级课程对应表_REFERENCE_班级 foreign key (班级ID)
references 班级 (班级ID)
go
截个图看看
access 分为设计视图 和 数据视图。
设计视图 用来设计你的表结构的,只有三行,分别是:字段名,字段类型,描述。 就好像我们自己画个表格,表格的表头。
数据视图 用来查看保存的数据,行数表示 记录数量。
以上就是关于数据库建表,一个老师带一门课却可以有几个班,那么学生选课表和教师授课表应该怎么建全部的内容,包括:数据库建表,一个老师带一门课却可以有几个班,那么学生选课表和教师授课表应该怎么建、MySQL数据库中学生,教师,课程,成绩,班级和班长之间应该怎么建表哪些表之间有外键、在access中怎样为字段创建查阅列表啊, 例如将“教师”表中“职称”字段创建查阅列表,谢谢了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)