当前位置:首页 » 编程语言 » sql中的成绩表的基本属性
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql中的成绩表的基本属性

发布时间: 2023-03-31 06:19:33

sql中实体型,实体值,属性值,属性型 是什么意思

ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。

  1. ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entitymember)或者说实体对象(entityinstance),例如学生实体里包括张三、李四等,实体成员(entitymember)/实体实例(entityinstance)不需要出现在ER图中。

  2. ER图的属性(attribute)即数据对象所具有的属性,例如学生具有姓名、学号、年级等属性,用椭圆形表示,属性分为唯一属性(uniqueattribute)和非唯一属性,唯一属性指的是唯一可用来标识该实体实例或者成员的属性,用下划线表示,一般来讲实体都至少有一个唯一属性。

  3. ER图的关系(relationship)用来表现数据对象与数据对象之间的联系,例如学生的实体和成绩表的实体之间有一定的联系,每个学生都有自己的成绩表,这就是一种关系,关系用菱形来表示。

ER图中关联关系有三种:

  1. 1对1(1:1):1对1关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。

  2. 1对多(1:N):1对多关系是指实体集A与实体集B中至少有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。

  3. 多对多(M:N):多对多关系是指实体集A中的每一个实体与实体集B中至少有M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。

简单的例子

㈡ sql中成绩数据类型是什么啊

主要考虑成绩的范围和小数位数。
如果成绩没有小数,则用int.
例如成绩有一位小数,范围是0.0 - 100.0,可以用decimal(4,1)

㈢ sql命令日常

①学生表:Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept),Sno 为关键字。

②课程表:Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为: Course(Cno,Cname,C pno,Ccredit) Cno为关键字。

③成绩表:SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为: SG(Sno,Cno,Grade) (SNO,CNO) 为关键字。

用SQL语言实现下列功能:

1.建立学生表[Student],其中学号属性不能为空,并且其值是唯一的。

2.查考试成绩有不及格的学生世卜的学号。

3.将学号为05001学生的年龄改为22岁

4.计算枣和1号课程的学生平均成绩。

6.将一个新学生记录(学号:05020;姓名:丁莉;性别:女;年龄:17岁;所在系:计算机;)插入Student表中。

7.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。

8.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。

9.查询学习1号课程的学生最高分数、平均成绩。

10.查询与“丁莉”在同一个系学习的学生。

11.将计算机系全体学生的成绩置零。

12.删除学号为20180032的学生记录。

select * from Student
13.删除计算机系所有学生的成绩记录。

14、查询全体学生的详凳返盯细记录。

15、查询年龄在20至23岁之间的学生的姓名、系别、和年龄。

16.student分页查询,每页10条( https://www.cnblogs.com/jhxxb/p/10670661.html )

㈣ sql server中的成绩字段的数据类型一般是什么

  1. bit 整型
    bit数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或False 、On 或Off。
    注意:很省空间的一种数据类型,如果能够满足需求应该尽量多用。

  2. tinyint 整型
    tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。这种数据类型在数据库中占用1 个字节.。
    注意:如果bit类型太单调不能满足您的需求,您可以考虑用tinyint类型,因判或为这个类型相对也是比较安全的,不接受掘并伍恶意脚本内容的嵌入。

  3. smallint 整型
    smallint 数据类型可以存储从- 2的15次幂(-32768)到2的15次幂(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用蔽扒2 字节空间.
    注意:如果tinyint类型太单调不能满足您的需求,您可以考虑用smallint类型,因为这个类型相对也是比较安全的,不接受恶意脚本内容的嵌入。

  4. int 整型
    int 数据类型可以存储从- 2的31次幂(-2147483648)到2的31次幂 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节。

  5. 注意:如果smallint也不能够满足您的需求,您可以考虑用长度更大的int类型。
    decimal 精确数值型 。
    decimal 数据类型能用来存储从-10的38次幂-1到10的38次幂-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数。

  6. numeric 精确数值型
    numeric数据类型与decimal 相似。

  7. smallmoney 货币型
    smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一。

  8. money 货币型
    money数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一 。

㈤ 帮我写个SQL答案

看不下去了,决定帮你了!
1、SQL Server 2000是一种关系型的数据库管理系统
//正确
2、数据库,数据库管理员,数据库管理系统的对应英文缩写
//数据库DB、数据库管理员DBA、数据库管理系统DBMS
3、什么是第一范式,第二范式,第三范式的含义
//构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。
//所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。
//第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如
员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。这个惟一属性列被称为主关键字或主键、主码。
第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。
//第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。

4、在E-R图对信息模型的描述中,矩形框表示什么,椭圆表示什么??
//矩形表示实体性,矩形框内写明实体名。
//椭圆表示属性,用无向边将其与相应的实体性连接起来。
5、触发器,视图,存储过程的功能和含义
//触发器是一种特殊类型的存储过程,当使用下面的一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效:UPDATE、INSERT 或 DELETE。触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。例如,可以控制是否允许基于顾客的当前帐户状态插入定单。
//视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。
//存储过程(Stored Procere)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。存储过程的能力大大增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的 运算。可保证数据的安全性和完整性。可以降低网络的通信量。

6、数据库的含义,数据库中包括主数据文件,次要数据文件,日志文件,三者的含义。
//数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。
//主要数据文件由主文件组中的初始数据文件组成。文件组是经过命名的数据文件集合。包含所有数据库系统表,以及没有赋给自定义文件组的对象和数据。主要数据文件是数据库的起始点,它指向数据库中的其他文件。每一个数据库都有一个主要数据文件和一个主文件组,主要数据文件的扩展名是.mdf 。
//一些数据库可能因为太大而需要很多次要数据文件,也可能在多个独立的磁盘驱动器上使用次要数据文件,以把数据分布在多个磁盘上。次要数据文件可以放在主文件组中,也可以放在自定义文件组中。次要数据文件的扩展名是.ndf 。
//在数据库中用事务日志文件记录数据的修改操作,其中的每条日志记录或者记录所执行的逻辑操作,或者记录已修改数据的前像和后像。前像是操作执行前的数据复本;后像是操作执行后的数据复本。

7、删除数据库,创建数据库的命令,创建表的命令,创建视图
//删除数据库: drop database 数据库名
//创建数据库:create database 数据库名
//创建表: create table <表名>(<列名><数据类型>[列级完整性约束条件]
[,<列名><数据类型>[列级完整性约束条件]]
[,<表级完整性约束条件>]);
//创建视图:create view <视图名>[(<列名>[,<列名>]...)]
as <子查询>
[with check option];
8、SQL中两个范例数据库是是什么?
//pubs和northwind
9、参照完整性规则是什么含义。
//参照完整性属于表间规则。对于永久关系的相关表,在更新、插入或删除记录时,如果只改其一不改其二,就会影响数据的完整性:例如修改父表中关键字值后,子表关键字值未做相应改变;删除父表的某记录后,子表的相应记录未删除,致使这些记录称为孤立记录;对于子表插入的记录,父表中没有相应关键字值的记录;等等。对于这些设计表间数据的完整性,统称为参照完整性。
10、数据库的发展过程,哪三个阶段。
//人工管理阶段、文件系统阶段、数据库系统阶段。
11、SQL中的含义 SELECT
//SELECT 将从零个或更多表中返回记录行。
FROM //指定基本表或视图
WHERE 表示筛选条件
GROUP BY 分组,见到“每”,“各”就要分组
HAVING 分组后的筛选条件
ORDER BY 排序,ASC是升序,DESC是降序
12、有表结构 学生(学号,姓名)
检索课程名以“王”字开头的所有信息
SELECT * FROM 课程表
where 姓名 like “王%”
GO
设置默认值的关键字为: default,设置主键的关键字是primary key。
1、有一个学生成绩数据库(库名XSCJ),数据库中包括三个表:
学生情况表(表名XS)由七个属性组成,可记为:
XS(学号、姓名、专业名、性别、出生时间、总学分、备注) 其中学号为主键。
课程表(表名KC)由五个属性组成,可记为:
KC(课程号、课程名、开课学期、学时、总分) 其中课程号为主键。
学生成绩表(表名CJ)由四个属性组成,可记为:
CJ(学号、课程号、成绩、总分)其中学号、课程号为主键。
完成下列操作:
( 1 )在XS表中查询出所有学生年龄在18~20之间的学生信息,要求输出字段为学生的学号、姓名、性别、年龄。
select 学号,姓名,性别,年龄
from XS
where 年龄 between 18 and 20;
( 2 )在XS表中查询出不在1983年出生的所有学生情况。
select * from XS
where 出生时间 !=1983;
(3)在XS表中查询专业名为“艺术” 或“网络”或“文秘”的所有学生情况,并按学生的学号降序排列。
select * from XS
where 专业名 in ('艺术','网络','文秘')
order by 学号 desc;
(4)在XS表中查找出姓“张”的所有学生信息,并按学号升序排列。
select * from XS
where 姓名 like '张%'
order by 学号 asc;
(5)在CJ表中查询成绩大于80分的所有学生信息。
select * from CJ
where 成绩>80;
(6)在KC表中查询学时小于6的所有信息。
select * from KC
where 学时<6;
(7)在XS表中查询所有性别为“女”的学生信息
select * from XS
where 性别='女';

㈥ 求SQL Server高手

1.select MAX(Grade) as 最或春世高分数, AVG(Grade) as 平均分衫肢数 from SG where Sno=1
2.select * from student where Sname like '赵%' and Sdept='计算机系'andSage='森脊女'
3.insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('05020','丁莉',17,'计算机系')
4.delete from SG where Sno=(select Sno from Student where Sdept='计算机系')

㈦ 解答 SQL 数据库 学生表 成绩表

(3) crate table score
(cid int,
Sid int,
Cname char(30),
Score_1 int,
Score_2 int,
Score_3 int,
)
这个有问题吧,一个课程编号只对应一个课程名称,一个学生的课程只有一个成绩,怎么你这里有三个成绩的。你可以把cid,sid同时在这个表设置成主键,这样cid和sid就可以唯一标示一个学生的一门课程的成绩了。

㈧ 查询每个学生的各科成绩sql语句

1、查询每个学生的各科成绩sql语句:

select a.studentid,a.name,a.sex,v1.score as '语文',v2.score as '数学', v3.score as '英语',v4.score

as ‘哲学’, (v1.score+v2.score+v3.score+v4.score)/4 as ‘平均成绩’ from Stuednt a
left join

(select studentid,score from grade where cid=(select cid from course where cname='语文'))as v1

on a.studentid=v1.studentid

left join

(select studentid,score from grade where cid=(select cid from course where cname='数学'))as v2

on a.studentid=v2.studentid

left join

(select studentid,score from grade where cid=(select cid from course where cname='英语'))as v3

on a.studentid=v3.studentid

left join

(select studentid,score from grade where cid=(select cid from course where cname='哲学'))as v4

on a.studentid=v4.studentid

order by a.studentid

2、sql数据库介绍:

(1)SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出"做什么"的命令,"怎么做"是不用使用者考虑的。

(2)SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。

(3)SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。

(4)在SQL中,关系模式(模式)称为"基本表"(base table);存储模式(内模式)称为"存储文件"(stored file);子模式(外模式)称为"视图"(view);元组称为"行"(row);属性称为"列"(column)。

㈨ SQL试题求解

1
IF OBJECT_ID('学生表')IS NOT NULL
DROP TABLE 学生表
GO
create table 学生表 --建立学生表.
(
学号 int not null , --学号,姓名,年龄,性别,家庭住址,联系电话
姓名 varchar(10) not null, --姓名
性别 varchar(2)
年龄 int,
联系电话 varchar(10),
家庭住址 varchar(50),
联系电话 varchar(20),
check (性别 ='男' OR 性别='女'),
)

1.1
delete 学生表
insert 学生表 (学号,姓名,年龄,性别,联系电话,学历)
values(1,"A",22,"男","123456","小学")
insert 学生表 (学号,姓名,年龄,性别,联系电话,学历)
values(2,"B",21,"男","119","中学")
insert 学生表 (学号,姓名,年龄,性别,联系电话,学历)
values(3,"C",23,"男","110","高中")
insert 学生表 (学号,姓名,年龄,性别,联系电话,学历)
values(4,"D",18,"女","114","大学")

1.2
update 学生表
set 学历='大专'
where 联系电话 like '11%'
go

1.3
delet 学生表
where 性别='女',姓名 like 'B%'
go

1.4
select 姓名,学号
from 学生表
where 学历='大专',年龄<22
go

1.5
select 姓名,性别
from 学生表
order by 年龄 desc
go

2.1
use stu
IF OBJECT_ID('Student')IS NOT NULL
DROP TABLE Student
GO
create table Student --建立学生表.
(
学号 int not null ,
姓名 varchar(10) not null, --姓名
性别 varchar(2)
年龄 int,
所在系 varchar(10),
check (性别 ='男' OR 性别='女'),
)

2.2
use stu
select 学生表.学号
from Student As 学生表,SG As 成绩表
where 学生表.学号=成绩表.学号,成绩表.成绩<60
go

2.3
use stu
select 姓名,性别,年龄
from Student
where 所在系='计算机系',性别='男',姓名 like '张%'
go

2.4
use stu
insert Student (学号,姓名,年龄,性别,所在系)
values(05020,"高平",19,"女","积极管理系")
go

4.1
删除student表中学号为2004009的学生的信息

4.2
在stu数据库的student表中创建列名为姓名,家庭住址的视图student_view

4.3
查询stu数据库的student表中前9条信息

4.4
在stu数据库的student表中创建查询学号,姓名,家庭住址的存储过程student_pro

4.5
在stu数据库的student表中创建带输入参数的存储过程

4.6
查询Sg表中课程号为06的平均成绩

㈩ SQL里如何把查询得到的内容作为属性名

这个玩意儿太难了,我整整弄了一个下午,而且还查了不少材料,现在基本完成楼主你要的功能了,表结构是参照楼主来的,升码宴改改字段名就能用模判。先把代码都拷过去,跑一下,就知道效果了。

if exists(select * from sysobjects where name='xs')
drop table xs
create table xs
(
id char(5) primary key not null,
xm varchar(10) not null
)
insert into xs values ('10001','张三')
insert into xs values ('10002','李四')
insert into xs values ('10003','一五')
insert into xs values ('10004','田七')

if exists (select * from sysobjects where name='km') drop table km
create table km
(
id char(3) primary key not null,
mc varchar(20) not null
)
go

insert into km values ('101','java')
insert into km values ('102','C#')
insert into km values ('103','sql')
insert into km values ('104','html')
insert into km values ('105','xml')

if exists (select * from sysobjects where name='cj') drop table cj
create table cj
(
xhid char(5) references xs(id) not null,
kmid char(3) references km(id) not null,
cj float
)
go
insert into cj values ('10001','101',89)
insert into cj values ('10002','101',95)
insert into cj values ('10003','101',80.5)
insert into cj values ('10001','103',90)
insert into cj values ('10003','102',66)
insert into cj values ('10003','103',75)
insert into cj values ('10003','104',50)
insert into cj values ('10002','102',72)
insert into cj values ('10002','103',78)
insert into cj values ('10001','104',100)
insert into cj values ('10004','105',99)

--select * from xs
--select * from km
--select * from cj

--创建一个联接表临时表
if exists(select * from sysobjects where name='temp1')
drop table temp1
go
select c.xhid,a.xm,b.mc,c.cj into temp1 from xs a,km b,cj c where a.id=c.xhid and b.id=c.kmid
select * from temp1
----根据科目表创建一个新科目的表,新增字段id并递增,便于根据科目循环吵银控制,前提是科目表中编号与成绩表中的科目编号主外键联
if exists(select * from sysobjects where name='temp2')
drop table temp2
go
select mc ,num=identity(int, 1,1) into temp2 from km group by mc

declare @sql varchar(8000),@t varchar(20), @n int
select @sql='', @n=max(num) from temp2
while @n>0
begin
select @t=mc from temp2 where num=@n
set @sql=',sum(case mc when '''+ @t + ''' then cj else '' '' end ) as '+ @t + @sql
set @n = @n - 1
end
set @sql = 'select xhid,xm' + @sql + ' from temp1 group by xhid,xm order by xhid'
exec(@sql)
--删除临时表
drop table temp1,temp2

兄弟,我不容易啊,好四五个小时啊,头都大了,这么辛苦,没别的,给分啊 ^_^