创建一张成绩表和课程表。
- 学习方法
- 2023-05-16 17:45:40
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) );上一篇
求求了,初三上学期的,要带解析
下一篇
返回列表