关于反映这三张表中数据之间的联系,提供三方面信息以供参考:
1、表关系分析:学生表与课程表是多对多的关系,建立一张关联表也就是选课表来将学生表与程表产生关联。
2、数据库表分析:学生表包括学生相关信息,课程表包括课程相关信息,选课表放其他两张表的各一个字段(可以维护唯一性,比如说主键)。
3、实体分析:包含学生和课程两个实体,在每个实体中加入另外一个实体的集合。
--学生信息(学号,姓名,性别,籍贯,班级编号)和成绩表(学号,课程编号,成绩,是否重修
--学生信息表中学号为主键,其他信息都不允许为空
--通过学号与成绩表形成一个一对多的关系,成绩表中的成绩的默认值为0,但必须在0~100之间。
CREATE TABLE 学生信息
(
学号 INT IDENTITY
NOT NULL
PRIMARY KEY ,
姓名 VARCHAR(50) NOT NULL ,
性别 BIT NOT NULL
DEFAULT (0) ,
籍贯 VARCHAR(50) NOT NULL ,
班级编号 INT NOT NULL
);
CREATE TABLE 成绩
(
学号 INT NOT NULL
FOREIGN KEY REFERENCES 学生信息 (学号) ,
课程编号 INT NOT NULL ,
成绩 INT NOT NULL
DEFAULT (0) ,
是否重修 BIT NOT NULL
DEFAULT (0)
);
ALTER TABLE 成绩 ADD CONSTRAINT ck_成绩 CHECK(100 >= 成绩 AND 成绩>=0);
SELECT FROM 学生信息;
SELECT FROM 成绩;
您好,这样的:
首先在SQL中利用企业管理器或向导建立一个数据库,命名为学生管理系统,
启动SQL Sever服务,运行企业管理器,单击要创建数据库的服务器左边的加号图标,展开树形目录,在“数据库”节点上右击鼠标,在d出的快捷菜单中选则“新建数据库”命令,然后按照提示一步步建立数据库,不再详细叙述。
假设学生管理系统下有三个表,分别为学生表、课程表、修课表,表的结构分别如下:
学生表(student) (
学号(sno) 普通编码定长字符类型,长度7,主码,
姓名(sname) 普通编码定长字符类型,长度8,非空,
性别(ssex) 统一编码定长字符类型,长度1,
年龄(sage) 微整型,
所在系(sdept) 统一编码可变长字符类型,长度20
)
课程表(course) (
课程号(cno) 普通编码定长字符类型,长度6,主码,
课程名(cname) 统一编码定长字符类型,长度10,非空,
学分(credit) 小整型,
学期(semester) 小整型
)
修课表(sc)(
学号(sno) 普通编码定长字符类型,长度7,主码,外码
课程号(cno) 普通编码定长字符类型,长度6,主码,外码
成绩(grade) 小整型,
修课类别(type)普通编码定长字符类型,长度4
)
则创建表的语句分别为:
create table Student(
Sno char(7) primary key,
Sname char(8) not null,
Ssex nchar(1),
Sage tinyint,
Sdept nvarchar(20)
)
create table Course(
Cno char(6) primary key,
Cname nchar(10) not null,
Credit smallint,
Semester smallint
)
create table SC(
Sno char(7),
Cno char(6),
Grade smallint,
Type char(4),
primary key(Sno,Cno),
Foreign key(Sno) References Student (Sno),
Foreign key(Cno) References Course (Cno)
)
各表的结构大体如此,如有变化可自行修改。 以上数据库和表就基本建立好了,然后就可以通过数据导入或SQL语句等向数据库中添加学生的各项具体数据了。
您好,这样的:
首先在SQL中利用企业管理器或向导建立一个数据库,命名为学生管理系统,
启动SQL Sever服务,运行企业管理器,单击要创建数据库的服务器左边的加号图标,展开树形目录,在“数据库”节点上右击鼠标,在d出的快捷菜单中选则“新建数据库”命令,然后按照提示一步步建立数据库,不再详细叙述。
假设学生管理系统下有三个表,分别为学生表、课程表、修课表,表的结构分别如下:
学生表(student) (
学号(sno) 普通编码定长字符类型,长度7,主码,
姓名(sname) 普通编码定长字符类型,长度8,非空,
性别(ssex) 统一编码定长字符类型,长度1,
年龄(sage) 微整型,
所在系(sdept) 统一编码可变长字符类型,长度20
)
课程表(course) (
课程号(cno) 普通编码定长字符类型,长度6,主码,
课程名(cname) 统一编码定长字符类型,长度10,非空,
学分(credit) 小整型,
学期(semester) 小整型
)
修课表(sc)(
学号(sno) 普通编码定长字符类型,长度7,主码,外码
课程号(cno) 普通编码定长字符类型,长度6,主码,外码
成绩(grade) 小整型,
修课类别(type)普通编码定长字符类型,长度4
)
则创建表的语句分别为:
create table Student(
Sno char(7) primary key,
Sname char(8) not null,
Ssex nchar(1),
Sage tinyint,
Sdept nvarchar(20)
)
create table Course(
Cno char(6) primary key,
Cname nchar(10) not null,
Credit smallint,
Semester smallint
)
create table SC(
Sno char(7),
Cno char(6),
Grade smallint,
Type char(4),
primary key(Sno,Cno),
Foreign key(Sno) References Student (Sno),
Foreign key(Cno) References Course (Cno)
)
各表的结构大体如此,如有变化可自行修改。 以上数据库和表就基本建立好了,然后就可以通过数据导入或SQL语句等向数据库中添加学生的各项具体数据了。
CREATE TABLE `sutdent` (
`XH` char(7) NOT NULL,
`XM` char(8) NOT NULL,
`XB` char(2) NOT NULL default '男',
`NL` int(3) NOT NULL,
`CJ` decimal(3,1) NOT NULL,
`ZP` image,
`RQ` datetime default NULL,
PRIMARY KEY (`XH`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312
你没有注明用的是哪个数据库,我电脑里只有MYSQL数据库,MYSQL数据库就是这个样子,年龄的检查约束自己加上,我记不清楚了。
update studentdbf set 数学成绩 = (数学成绩+10) where (数学成绩>49 and 数学成绩<60)
select count() from studentdbf where (数学成绩>49 and 数学成绩<60)
以上就是关于教学管理”数据库中有学生表、课程表和选课表,如何创建数据库反应三张表之间的联系全部的内容,包括:教学管理”数据库中有学生表、课程表和选课表,如何创建数据库反应三张表之间的联系、使用Transact—SQL语言创建教学管理数据库,创建两个表学生信息的步骤是什么、学生成绩管理系统应建立哪些数据表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)