数据库建表,一个老师带一门课却可以有几个班,那么学生选课表和教师授课表应该怎么建

数据库建表,一个老师带一门课却可以有几个班,那么学生选课表和教师授课表应该怎么建,第1张

这个简单啊,是你想的太复杂。

唯一性的字段就是某班的某某课。我想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中怎样为字段创建查阅列表啊, 例如将“教师”表中“职称”字段创建查阅列表,谢谢了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10192702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存