SQL server 2005数据库如何建表:某教学管理系统涉及教员、学生、课程、教室四个实体

SQL server 2005数据库如何建表:某教学管理系统涉及教员、学生、课程、教室四个实体,第1张

晕,一看就知道你是初学者,这是最简单的主外键关联:

1、一个教员可讲授多门课程,一门课程只能被一个教员讲授:课程表中加一个教员ID的外键用来指向教员表中主键ID

2、一个学生选修多门课程,每门课程有多个学生选修,学生学习有成绩:这是多对多的关系,创建一个关联表用来关联学生表和课程表,有两个外键一个是学生ID,一个是课程ID,然后一个成绩的字段即可。

3、一门课只在一个教室上,一个教室可上多门课:课程表中添加一个教室ID的外键指向教室表的主键ID。

因此需要以下表:

教员表:主键ID、职工号、姓名、年龄、职称

学生表:主键ID、学号、姓名、年龄、性别

课程表:主键ID、课程号、课程名、课时数、教员ID(外键ID)、教室ID

学生、教程关联表:主键ID、学生ID、课程ID、成绩

教室表:主键ID、教室编号、地址、容量

建立的具体步骤如下:

第一条语句在Student表根据学号升序建立索引Stusno;第二条语句在Course表根据课程号升序建立索引Coucno;第三条语句在SC表先根据学号升序排列,(选课表一个学生可能选了多个课程)在学号相同的情况下,课程号降序排列,建立索引。

这时一个完整的数据表就建立好了,可以在数据表离输入和查询,筛选数据。

学生表:学生ID(主键) 学生姓名 性别 。。。。

课程表:课程ID(主键) 课程名称 。。。

选课表:学生ID(外键关联学生表的学生ID)选课ID(关联课程表课程ID)。。。

假如已有学生表和课程表的话,再加一个选课表就可以了。选课表与学生表,课程表都是1对N的关系,这样学生表和课程表就可以是N对N的关系了。\x0d\学生表-----studentid-----选课表-----courseid-----课程表\x0d\Create table StudentCourse (\x0d\id int Indentity(1,1) not null,\x0d\StudentId varchar(10) not null,\x0d\CourseId varchar(10) not null,\x0d\Score int\x0d\)\x0d\然后依次用insert to 插入数据\x0d\至于楼主的那些要求都是数据上的问题,自行控制吧

进入mysql的命令窗口,敲命令:

create

database

数据库名;

use

数据库名;

create

table

表名(id

int(4)

not

null

primary

key

auot_increment;

字段名

数据类型;)

1,从学生SELECT DISTINCT Sdept;

2,SELECT COUNT(DISTINCT Cpno)

课程

WHERE CNAME ='英语';

3,CREATE TABLE Student2

(SNO CHAR(9)PRIMARY KEY,

SNAME CHAR(20)UNIQUE,

Ssex CHAR(2),

Sbirthday SMALLINT,

Sdept CHAR(20)

);

以上就是关于SQL server 2005数据库如何建表:某教学管理系统涉及教员、学生、课程、教室四个实体全部的内容,包括:SQL server 2005数据库如何建表:某教学管理系统涉及教员、学生、课程、教室四个实体、数据库创建selectcourse、数据库中建立学生表课程表选课表及其联系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/sjk/10094131.html

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

发表评论

登录后才能评论

评论列表(0条)

保存