
首先char,int这些为字段数据类型,
char是指:使用指定长度的固定长度表示的字符串;比如char(20),则数据库会使用固定的20个字节来存储数据,不足20位的字符串在其后补空字符;
int:是整形
数据库作业
第一次
1、指明下列实体间联系的种类:
(1)教研室和教师(假设一个教师只属于一个教研室,一个教研室可有多名教师)
(2)商店和顾客;
(3)国家和首都。
2、指出下列关系模式的主码:
(1)考试情况(课程号,考试性质,考试日期,考试地点)。假设一门主课程在不同的日期可有多次考试,但在同一天只能考一次。多门不同的课程可以同时进行考试。
(2)教师授课(教师号,课程号,授课时数,学年,学期)。假设一名教师在同一学年和学期可以讲授多门课程,也可以在不同学年和学期多次讲授同一门课程,对每门课程的讲授都有一个授课时数。
(3)图书借阅(书号,读者号,借书日期,还书日期)。假设一个读者可以在不同的日期多次借阅同一本书,一个读者可以同时借阅多本不同的图书,一本书可以在不同时间借给不同的读者。但一个读者不能再同一天对同一本书借阅多次。 答:课程名、考试日期
答:课程号、学年、学期
答:书号、读者号、借书日期
3、数据库包含哪三级模式?试分别说明每一级模式的作用。
数据库系统包含的三级模式为:内模式、模式和外模式。外模式是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同数据库用户需求的数据视图,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是对数据库整体数据结构的子集或局部重构。模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。内模式是对整个数据库的底层表示,它描述了数据的存储结构。
第二次
1、 数据完整性的含义是什么?
答:数据的完整性是为了防止数据库中存在不符合应用语义的数据,为了维护数据的完整性,数据库管理系统提供了一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库数据之上的语义约束条件就是数据完整性约束条件。
2、 写出创建如下3张表的SQL 语句,要求在定义表的同时定义数据的完整性约束:
(1)“图书表”结构如下:
书号:统一字符编码定长类型,长度为6,主码;
书名:统一字符编码可变长类型,长度为30,非空;
第一作者:普通编码定长字符类型,长度为10,非空;
出版日期:小日期类型;
价格:定点小数,小数部分1位,整数部分3位;
(2)“书店表”结构如下:
书店编号:统一字符编码定长类型,长度为6,主码;
店名:统一字符编码可变长类型,长度为30,非空;
电话:普通编码定长字符类型,8位长,每一位的取值均是0~9的数字; 邮政编码:普通编码定长字符类型,6位长;
(3)“图书销售表”结构如下:
书号:统一字符编码定长类型,长度为6,非空;
书店编号:统一字符编码定长类型,长度为6,非空;
销售日期:小日期时间类型,非空;
销售数量:微整型,大于等于1;
主码为(书号,书店编号,销售日期);
其中“书号”为引用“图书表”的“书号”的外码;
“书店编号”为引用“书店表”的“书店编号”的外码;
CREATE TABLE 图书表 (
书号 nchar(6) primary key,
书名 nvarchar(30) not null,
第一作者 char(10) not null,
出版日期 smalldatetime,
价格 numeric(4,1))
CREATE TABLE 书店表 (
书店编号 nchar(6) primary key,
店名 nvarchar(30) not null,
电话 char(8) check (电话 like "[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"),
地址 varchar(40),
邮政编码 char(6))
CREATE TABLE 图书销售表 (
书号 nchar(6) not null,
书店编号 nchar(6) not null,
销售日期 smalldatetime not null,
销售数量 smallint check(销售数量>=1),
primary key(书号, 书店编号, 销售日期),
foreign key(书号) references 图书表(书号),
foreign key(书店编号) references 书店表(书店编号))
3、 为图书表添加“印刷数量”列,类型为整数,同时添加约束,要求此列的取值要大于等于1000。
答:ALTER TABLE 图书表
ADD 印刷数量 int check (印刷数量>=1000)
4、 删除书店表的“邮政编码”列。
答:ALTER TABLE 书店表
DROP COLUMN 邮政编码
5、 将图书销售表中的“邮政编码”列的数据类型改为整型。
答:ALTER TABLE 图书销售表
ALTER COLUMN 销售数量 int
第三次
利用第3章定义的student 、course 和sc 表结构实现如下 *** 作。
1、查询学生选课表中的全部数据。
2、查询计算机系的学生的姓名、年龄。
3、查询成绩在70~80分之间的学生的学号、课程号和成绩。
4、查询计算机系年龄在18-20之间且性别为“男”的学生的姓名、年龄。
5、查询课程号为“c01”的课程的最高的分数。
6、查询计算机系学生的最大年龄和最小年龄。
7、统计每个系的学生人数。
8、统计每门课程的选课人数和考试最高分。
9、统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。
10、查询总成绩超过200分的学生,要求列出学号、总成绩。
11、查询选修了“c02”号课程的学生的姓名和所在系。
12、查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩降序排列结果。 13、查询哪些学生没有选课,要求列出学号、姓名和所在系。
1 select from SC
2 select Sname,Sage from Student where Sdept = "计算机"
3 select Sno,Cno,Grade from SC where Grade >= 70 and Grade
4 select Sname,Sage from Student where Sage between 18 and 20 and Ssex = "男"
5 select top 1 Grade from SC where Cno = "C01"
6 select max(Sage),min(Sage) from Student
7 select Sdept,sum(Sno) from Student group by Sdept
8 select courseCname,sum(scSno),max(Grade) from SC
join studet on StudentSno = SCSno
join Course on CourseCno = SCCno
group by coursecname,max(grade)
9 select sum(Cno),avg(Grade) from SC
join Course on CourseCno = SCCno
join Student on StudentSno= SCSno
order by SCSno
10 Select sno,sum(grade) 总成绩from sc
Group by sno having sum(grade) > 200
11 select StudentSname,StudentSdept from Student
join Course on CourseCno = SCCno
join SC on SCSno = StudentSno
where SCCno = "C02"
12 select Studentsname,coursecno,scgrade from sc
join student on studentsno = scsno
join course on coursecno = sccno
where scgrade >= 80
order by scgrade desc
13 Select sname from student s left join sc on ssno = scsno
Where scsno is null
第四次
1、查询与VB 在同一学期开设的课程的课程名和开课学期。
2、 查询与李勇年龄相同的学生的姓名、所在系和年龄。
3、 用子查询实现如下查询:(1)查询选修了“c01”号课程的学生的姓名和所在系
(2)查询数学系成绩80分以上的学生的学号、姓名、课程号和成绩(3) 查询计算机系考试成绩最高的学生的姓名(4)查询数据结构考试成绩最高的学生的姓名、所在系、性别和成绩。
4、 查询没有选修VB 课程的学生的姓名和所在系。
5、 查询计算机系没有选课的学生的姓名和性别。
6、 删除考试成绩低于50分的学生的选课记录。
7、 删除没有人选的课程记录。
8、 删除计算机系VB 成绩不及格学生的VB 选课记录。
9、 将第2学期开设的所有课程的学分增加1分。
10、 将VB 课程的学分改为3分。
11、 将计算机系学生的年龄增加1岁。
12、 将信息系学生的“计算机文化学”课程的考试成绩加5分。
1Select c2Cname,c2Semester from Course c1 JOIN Course c2 on c1Semester = c2Semester Where c1cname = "VB" and c2Cname != "VB"
2 Select s2Sname,s2Sdept,s2Sage
From Student s1 JOIN Student s2 on s1Sage = s2Sage
Where s1Sname = "李勇" and s2Sname != "李勇"
3 ⑴ select sname,sdept from student where sno in(
select sno from sc where cno = "C01")
⑵ select sno,sname from student where sno in(
select sno from sc where grade > 80)
and sdept = "数学系"
⑶ select sname from student s join sc on ssno = scsno
where sdept = "计算机系" and grade = (
select max(grade) from sc join student s on ssno = scsno
where sdept = "计算机系")
⑷ select sname,sdept,ssex,grade from student s join sc on ssno = scsno
where ssno in (
select top 1 with ties sno
from sc join course c on ccno = sccno
where cname = "数据结构"
order by grade desc
4Select sname,sdept from student where sno not in (
Select sno from sc join course c on ccno = sccno
Where cname = "vb")
5Select sname,ssex from student where sdept = "计算机系"
And sno not in (select sno from sc )
6 Delete from sc where grade
7 Delete from course where cno not in(
Select cno from course)
8Delete from sc from sc join student s on ssno = scsno
Join course c on ccno = sccno
Where sdept = "计算机系" and cname = "VB"
And grade
9Update course set credit = credit + 2 where semester = 2
10Update course set credit = 3 where cname = "VB"
11Update student set sage = sage + 1 where sdept = "计算机系"
12Update SC set grade=grade+5
From course c join sc on ccno = sccno
Join student s on ssno = scsno
where sdept = "信息系" and cname = "计算机文化学"
第五次
1、 第一范式、第二范式和第三范式关系的定义分别是什么?
答:不包含非原子项属性的关系就是第一范式的关系;对于第一范式的关系,如果此关系中的每个非主属性都完全函数依赖于主键,则此关系属于第二范式;对于第二范式的关系,如果所有的非主属·性都不传递依赖于主键,则此关系就是第三范式的。
2、 设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学
分,成绩)设一个学生可以选多门课程,一门课程可以被多名学生选。一个学生有唯一的所在系,每门课程有唯一的课程名和学分。请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。
答:候选键为:(学号,课程号),它也是此关系模式的主键。由于存在函数依赖:
学号 → 姓名,课程号 → 课程名
因此,存在非主属性对主键的部分函数依赖关系,因此它不是第二范式的表。分解如下: 学生表(学号,姓名,所在系,性别),主键为“学号”,已属于第三范式。
课程表(课程号,课程名,学分),主键为“课程号”,已属于第三范式。
选课表(学号,课程号,成绩),主键为(学号,课程号),已属于第三范式
第六次
1、 设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一个班主任,一个系可以有多个班。请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。
答:候选键为:学号,它也是此关系模式的主键。
由于不存在非主键属性对主键的部分依赖关系,因此,此关系模式属于第二范式的,但由于存在如下函数依赖:
学号 → 班号, 班号 → 班主任, 因此,存在非主键属性对码的传递依赖关系,同样以及
学号 → 所在系,所在系 → 系主任,因此,此关系模式不是第三范式的。对其分解后的结果为: 学生基本表(学号,姓名,所在系,班号), 主键为“学号”,“班号”为引用班级表表的“班号”的外键,“所在系” 为引用系表表的“系名”的外键。
班级表(班号,班主任),主键为“班号”。
系表(系名,系主任),主键为“系名”。
2、 设有关系模式:教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数),其语义为:一门课程(有课程号决定)有确定的课程名和学分,每名教师(有教师号决定)有确定的教师名,每门课程可以有多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数。指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。 答:此关系模式的候选键为(课程号,授课教师号),它们也是主键。由于存在函数依赖:
课程号 → 课程名,授课教师号 → 教师名
因此,存在非主属性对主键的部分函数依赖关系,因此它不是第二范式的表。分解如下: 课程表(课程号,课程名,学分),主键为“课程号”,已属于第三范式。
教师表(教师号,教师名),主键为“教师号”,已属于第三范式。
授课表(课程号,授课教师号,授课时数),主键为(课程号,教师号),已属于第三范式。
--我来写个详细点的
--使用mmvtc数据库
USE [student]
GO
--首先判断数据库中有没有student这张表,有则删除
IF EXISTS (SELECT FROM [sysobjects] WHERE NAME = 'student')
DROP TABLE [student]
--创建student表
CREATE TABLE [student](
[Sno] INT IDENTITY(1,1), --设置为自增列,你也可以设置为其他类型和不设为标识列
[Sname] NVARCHAR(10) NOT NULL, --10个字符,不允许为空
[Sage] INT NULL , --可以为空
[Sclass] INT NOT NULL --用INT,是因为从你字面上看class为班级,很可能与其他表的主键建立关系,不允许为空
)
GO
--设置Sno为主键,其实就是添加主键约束
ALTER TABLE [student]
ADD CONSTRAINT PK_Sno PRIMARY KEY (Sno)
GO
--设置Sage默认值为18,其实就是添加默认约束
ALTER TABLE [student]
ADD CONSTRAINT DF_Sage DEFAULT (18) FOR [Sage]
GO
sql中增加记录用insert into 语句。 sql:insert into tablename( filname1,filename2) valuse(values1,values2); 解释:上面的语句就是在tablename表中插入一条记录,插入记录中filname1字段的值是values1,filname2字段的值是values2。
AD22 是指 Sage Accpac ERP 的 2013 版本。根据您的问题描述,我们猜测您可能想知道如何打开 Accpac ERP 的 AD22 数据库。以下是可能的解决方法:
1 安装 Sage Accpac ERP:如果尚未安装 Sage Accpac ERP 软件,则需要先安装该软件。在安装向导中,应该会要求您选择要安装的组件和数据库,可以选择安装 AD22 数据库。
2 配置 Sage Accpac ERP:在安装完成后,需要按照向导指示进行配置。在配置过程中,可以设置要用于 AD22 数据库的数据库服务器和数据库名称。这些设置应该能够找到 AD22 数据库并将其打开。
3 使用数据库客户端工具:如果您已经安装 Sage Accpac ERP 并且已经配置好 AD22 数据库,但是不知道如何打开数据库,可以考虑使用数据库客户端工具打开它。例如,可以使用 Microsoft SQL Server Management Studio 或其他 SQL 工具来连接到数据库服务器,然后打开 AD22 数据库。连接字符串应该是您在配置 Sage Accpac ERP 时所设定的。请注意,对于 Sage Accpac ERP,数据库客户端工具的使用可能会有所不同。
需要根据具体情况确定问题所在,并采取相应的解决方法。
一、填空题(每空1分,共20分)
1数据的完整性是指数据的正确性、有效性和______
2一个数据模型至少需要描述数据的静态特征、数据的动态特征和______三项内容。
3数据库系统的两级映象中的模式/内模式映象提供了数据的______独立性。
4关系代数是用______来表达查询要求的方式。
5关系数据库的标准语言是指______语言。
6在关系代数中传统的集合运算是二目运算,包括______、交、差、______四种运算。
7关系数据库中的基本对象是表、视图和______
8在关系模式R(U)中,如果Y函数依赖于X,但Y不完全函数依赖于X,则称Y______依赖于X
9关系模式由2NF转化为3NF是消除了非主属性对码的______
10授权编译程序和______一起组成数据库的安全性子系统。
11若所有事务均遵守______协议,则这些事务的所有交叉调度都是可串行化的。
12______是数据库恢复中采用的基本技术。
13互连网数据库是基于______的数据库。
14统一资源定位器URL通常由______、 和为>
以上就是关于要建立一个数据库表,是学生表Student由学号(sno)、姓名(sname)、性别(ssex)、年龄(sage)全部的内容,包括:要建立一个数据库表,是学生表Student由学号(sno)、姓名(sname)、性别(ssex)、年龄(sage)、数据库作业 数据库作业是什么、mmvtc数据库中创建数据表student,包含字段sno、sname、sage、sclass,设置sno为主键,sage默认值为18 asp等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)