教学管理”数据库中有学生表、课程表和选课表,如何创建数据库反应三张表之间的联系

教学管理”数据库中有学生表、课程表和选课表,如何创建数据库反应三张表之间的联系,第1张

关于反映这三张表中数据之间的联系,提供三方面信息以供参考:

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语言创建教学管理数据库,创建两个表学生信息的步骤是什么、学生成绩管理系统应建立哪些数据表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存