当前位置:首页 > 学习方法 > 正文

创建一张成绩表和课程表。

MySQL问题,在一个学生信息系统中,分别创建学生表、课程表、成绩表,求大神解惑

你要建3个表呀,然后分别这下列名,旁边也有个null别选它就不会唯空,点击列名旁边的框框,再右建就可以设置主外键。

数据库中创建一个学生表

  • SQL语言创建数据库和学生表

  • 建立:

  • [sql]

  • create database zxl

  • create table 学生表

  • (

  • 学号 char(12) primary key,

  • 姓名 char(6) not null,

  • 性别 char(2) check(性别 IN ('男','女')),

  • 班级 char(15)

  • )

  • create table 成绩表

  • (

  • 学号 char(12)references 学生表(学号),

  • 课程号 char(2)references 课程表(课程号) ,

  • 成绩 int default(30),

  • primary key (学号,课程号)

  • )

  • create table 课程表

  • (

  • 课程号 char(2) primary key,

  • 课程名 char(20),

  • 学分 int check(学分>=1 and 学分<=5 )

  • )

  • 操作:

  • [sql]

  • insert into 学生表 values('201190609112','张xl','男','文专计1111')

  • insert into 学生表 values('201190609113','张**','女','文专计1111')

  • insert into 成绩表 values('201190609112','01',100)

  • insert into 成绩表 values('201190609112','02',99)

  • insert into 成绩表 values('201190609112','03',88)

  • insert into 课程表 values('01','数据库系统',3)

  • insert into 课程表 values('02','vb.net',4)

  • insert into 课程表 values('03','java',4)

  • select *from 成绩表

  • select 姓名,课程名,成绩

  • from 学生表,课程表,成绩表

  • where (学生表.学号=成绩表.学号 and 课程表.课程号=成绩表.课程号)

  • order by 成绩 desc

  • select avg(成绩) 平均分,max(成绩) 最高分,min(成绩) 最低分

  • from 成绩表

  • where 学号='201190609112

创建一个名为教学管理的数据库创建学生表要求定义主码

一、简答

1、DBA的职责是什么?

2、视图的作用有哪些?

3、数据库的完整性和安全性有什么区别?

4、SQL语言的特点是什么?

5、数据字典通常包括哪几部分?

6、什么是基本表,什么是视图,二者的区别和联系是什么?

7、DBMS的主要功能是什么?

8、什么是数据库备份和恢复?为什么要备份和恢复数据库?

9. 什么是事务?事务的作用?SQL中事务的语法结构是怎样的?

10、举出实体之间具有一对一、一对多、多对多的联系的例子。

11、 数据库的并发操作会带来哪些问题?如何解决?

12、什么是日志文件?简述日志文件恢复事务的过程(即:事务故障的恢复的过程)。

13、关系完整性约束规则有哪三类?

14、 数据库管理技术发展的三个阶段?

15、写出数据库的设计的五个阶段。

16、根据3NF的定义及规范化方法,对关系模式R(U,F) U={学号,姓名,所在系,系主 任,课程号,成绩} F= { 学号 → 姓名 , 学号 → 所在系,所在系 → 系主任(学号,课程 号) → 成绩} 进行分解,使其满足3NF。

17、 什么是事务?事务有哪些特征?

18、写出关系型数据库的第一、第二、第三范式的各自要求。

19、举三个例子分别说明二元联系的三种情况( 1:1、1:M、M:N ) 。

    运行sql文件出错
    解决办法:使用Notepad++打开文件,选择 格式->无BOM的UTF8格式编码

创建学生成绩表试图(学号,姓名,课程号,课程名,学分,成绩,教师姓名)。

视图:任何不适逻辑模型的一部分,但作为序关系对用户可见的关系就叫视图 所以你要建立表:学生选课信息表,课程表,(可能你的题目已经定义了表,那样子的话就按题目的要求做)利用表的关系连接起来就成了视图 create table 学生选课信息表 (学号,姓名,课程号,学分,成绩) create table 课程表 (课程号,课程名,教师姓名) 视图创建 create view 学生成绩表 as selcet 学号,姓名,课程号,课程名,学分,成绩,教师姓名 from 学生选课信息表,课程表 where 学生选课信息表.课程号=课程表.课程号

创建学生成绩表,怎样更好?

先说你的这个问题: “数据很大时,会影响查询时间,好像叫什么数据冗余” 从理论上来说确实是这样的。但是从实际来说,我们看到的效果都是一样的,现在的PC机处理能力都是相当强。如果你还在用286可能有一些区别。除非你在一张表中包括了全国学生的数据,那才叫“很大”。 然后是做表的问题: 要先看你做表是为了处理什么问题,还有数据量的大小。 如果只是某个班级的学生情况,可以就用一张表,把所有字段都包含在内。由于数据不多,这样更直观,使用也更方便。如果你需要的统计的情况很多(比如还要“出生日期”,家庭住址,等等等等),用两张表就够了,一个“学生基本情况”,一个“学生成绩”。两个表以学号建立关联。 如果是统

SQL创建学生表(Student)、课程表(Course)、班级表(Class)、选课表(XK),写对的我可以奖励QB

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) );
展开全文阅读